@dylanpiercey/work 0.0.22 → 0.0.23

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 (155) hide show
  1. package/dist/index.mjs +596 -522
  2. package/dist/public/assets/{_CbS76xPa.js → _0vMHm-vn.js} +2 -2
  3. package/dist/public/assets/{_CbS76xPa.js.map → _0vMHm-vn.js.map} +1 -1
  4. package/dist/public/assets/{_B22N0jOE2.js → _3kCHjcbq2.js} +2 -2
  5. package/dist/public/assets/{_B22N0jOE2.js.map → _3kCHjcbq2.js.map} +1 -1
  6. package/dist/public/assets/{_Du6sWmX1.js → _8A9cS7sg.js} +2 -2
  7. package/dist/public/assets/{_Du6sWmX1.js.map → _8A9cS7sg.js.map} +1 -1
  8. package/dist/public/assets/{_BURv1zn0.js → _B9Irhi-K.js} +2 -2
  9. package/dist/public/assets/{_BURv1zn0.js.map → _B9Irhi-K.js.map} +1 -1
  10. package/dist/public/assets/{_BdVPUTjx2.js → _BBMJRHpW2.js} +2 -2
  11. package/dist/public/assets/{_BdVPUTjx2.js.map → _BBMJRHpW2.js.map} +1 -1
  12. package/dist/public/assets/{_DTvuMul1.js → _BDH5DRhl.js} +2 -2
  13. package/dist/public/assets/{_DTvuMul1.js.map → _BDH5DRhl.js.map} +1 -1
  14. package/dist/public/assets/{_mHazeEK3.js → _BETbcidE.js} +2 -2
  15. package/dist/public/assets/{_mHazeEK3.js.map → _BETbcidE.js.map} +1 -1
  16. package/dist/public/assets/{_TmenAuHp.js → _BFlxNucX.js} +2 -2
  17. package/dist/public/assets/{_TmenAuHp.js.map → _BFlxNucX.js.map} +1 -1
  18. package/dist/public/assets/{_KgHefAOC.js → _BIa4GhFA.js} +2 -2
  19. package/dist/public/assets/{_KgHefAOC.js.map → _BIa4GhFA.js.map} +1 -1
  20. package/dist/public/assets/{_CkNgOJS_2.js → _BKl_tugb2.js} +2 -2
  21. package/dist/public/assets/{_CkNgOJS_2.js.map → _BKl_tugb2.js.map} +1 -1
  22. package/dist/public/assets/{_XaQkxl5y.js → _BNAm8vGo.js} +2 -2
  23. package/dist/public/assets/{_XaQkxl5y.js.map → _BNAm8vGo.js.map} +1 -1
  24. package/dist/public/assets/{_BpZ3p5fk.js → _BOk-H2vI.js} +2 -2
  25. package/dist/public/assets/{_BpZ3p5fk.js.map → _BOk-H2vI.js.map} +1 -1
  26. package/dist/public/assets/{_B70XmXCb.js → _BUJEC41U.js} +2 -2
  27. package/dist/public/assets/{_B70XmXCb.js.map → _BUJEC41U.js.map} +1 -1
  28. package/dist/public/assets/{_B6O2FrRn.js → _BVd4uTiE.js} +2 -2
  29. package/dist/public/assets/{_B6O2FrRn.js.map → _BVd4uTiE.js.map} +1 -1
  30. package/dist/public/assets/{_CLf30P17.js → _BZXlp_i6.js} +2 -2
  31. package/dist/public/assets/{_CLf30P17.js.map → _BZXlp_i6.js.map} +1 -1
  32. package/dist/public/assets/{_yYAbok8d2.js → _BZi1ECCN2.js} +2 -2
  33. package/dist/public/assets/{_yYAbok8d2.js.map → _BZi1ECCN2.js.map} +1 -1
  34. package/dist/public/assets/{_BnlyQRjI.js → _BdquJqIK.js} +2 -2
  35. package/dist/public/assets/{_BnlyQRjI.js.map → _BdquJqIK.js.map} +1 -1
  36. package/dist/public/assets/{_DiJdY7gQ.js → _BuDEoDsw.js} +2 -2
  37. package/dist/public/assets/{_DiJdY7gQ.js.map → _BuDEoDsw.js.map} +1 -1
  38. package/dist/public/assets/{_BX5xyzBY2.js → _BwcmCe3s2.js} +2 -2
  39. package/dist/public/assets/{_BX5xyzBY2.js.map → _BwcmCe3s2.js.map} +1 -1
  40. package/dist/public/assets/{_DMiuUq_D.js → _BxtE0n7j.js} +2 -2
  41. package/dist/public/assets/{_DMiuUq_D.js.map → _BxtE0n7j.js.map} +1 -1
  42. package/dist/public/assets/{_CpGG57tS.js → _C0Mb2VcL.js} +2 -2
  43. package/dist/public/assets/{_CpGG57tS.js.map → _C0Mb2VcL.js.map} +1 -1
  44. package/dist/public/assets/{_C_PnVjpe2.js → _CEIEA3ep2.js} +2 -2
  45. package/dist/public/assets/{_C_PnVjpe2.js.map → _CEIEA3ep2.js.map} +1 -1
  46. package/dist/public/assets/{_xOqgIxv42.js → _COfQsLkO2.js} +2 -2
  47. package/dist/public/assets/{_xOqgIxv42.js.map → _COfQsLkO2.js.map} +1 -1
  48. package/dist/public/assets/{_ByQEUmce.js → _CQAlIUsH.js} +2 -2
  49. package/dist/public/assets/{_ByQEUmce.js.map → _CQAlIUsH.js.map} +1 -1
  50. package/dist/public/assets/{_BHjp4Wp62.js → _CYYkpc6O2.js} +2 -2
  51. package/dist/public/assets/{_BHjp4Wp62.js.map → _CYYkpc6O2.js.map} +1 -1
  52. package/dist/public/assets/{_CK4WVIux2.js → _Ca-yxP452.js} +2 -2
  53. package/dist/public/assets/{_CK4WVIux2.js.map → _Ca-yxP452.js.map} +1 -1
  54. package/dist/public/assets/{_SsIq7tI_.js → _Ck3cW4fo.js} +2 -2
  55. package/dist/public/assets/{_SsIq7tI_.js.map → _Ck3cW4fo.js.map} +1 -1
  56. package/dist/public/assets/{_DQGram-O2.js → _Cl4Juxka2.js} +2 -2
  57. package/dist/public/assets/{_DQGram-O2.js.map → _Cl4Juxka2.js.map} +1 -1
  58. package/dist/public/assets/{_sILr7p5e.js → _CpKSyXc-.js} +2 -2
  59. package/dist/public/assets/{_sILr7p5e.js.map → _CpKSyXc-.js.map} +1 -1
  60. package/dist/public/assets/{_BlN6B4lX.js → _CryOUQWa.js} +2 -2
  61. package/dist/public/assets/{_BlN6B4lX.js.map → _CryOUQWa.js.map} +1 -1
  62. package/dist/public/assets/{_BqBvsjYd.js → _CvFGNDic.js} +2 -2
  63. package/dist/public/assets/{_BqBvsjYd.js.map → _CvFGNDic.js.map} +1 -1
  64. package/dist/public/assets/{_CJBKn-UB.js → _D68sBB9M.js} +2 -2
  65. package/dist/public/assets/{_CJBKn-UB.js.map → _D68sBB9M.js.map} +1 -1
  66. package/dist/public/assets/{_DPgBCY_32.js → _D7G7VxOT2.js} +2 -2
  67. package/dist/public/assets/{_DPgBCY_32.js.map → _D7G7VxOT2.js.map} +1 -1
  68. package/dist/public/assets/{_5l_SLhQO.js → _DDkTpbnp.js} +2 -2
  69. package/dist/public/assets/{_5l_SLhQO.js.map → _DDkTpbnp.js.map} +1 -1
  70. package/dist/public/assets/{_CGPzzHpX2.js → _DFGsDSnY2.js} +2 -2
  71. package/dist/public/assets/{_CGPzzHpX2.js.map → _DFGsDSnY2.js.map} +1 -1
  72. package/dist/public/assets/{_Bu7qESl9.js → _DIRjHwSF.js} +2 -2
  73. package/dist/public/assets/{_Bu7qESl9.js.map → _DIRjHwSF.js.map} +1 -1
  74. package/dist/public/assets/{_C9f7zuCK.js → _DM9HoTb6.js} +2 -2
  75. package/dist/public/assets/{_C9f7zuCK.js.map → _DM9HoTb6.js.map} +1 -1
  76. package/dist/public/assets/{_CxzK5dOR.js → _DMsB9L9v.js} +2 -2
  77. package/dist/public/assets/{_CxzK5dOR.js.map → _DMsB9L9v.js.map} +1 -1
  78. package/dist/public/assets/{_CC8qBXCN.js → _DPCPAr2n.js} +2 -2
  79. package/dist/public/assets/{_CC8qBXCN.js.map → _DPCPAr2n.js.map} +1 -1
  80. package/dist/public/assets/{_BzxnfKym2.js → _DPzN_k3h2.js} +2 -2
  81. package/dist/public/assets/{_BzxnfKym2.js.map → _DPzN_k3h2.js.map} +1 -1
  82. package/dist/public/assets/{_Dw_lnT1k2.js → _DSVLtY7p2.js} +2 -2
  83. package/dist/public/assets/{_Dw_lnT1k2.js.map → _DSVLtY7p2.js.map} +1 -1
  84. package/dist/public/assets/{_DFjCyuxr2.js → _DXaWF80G2.js} +2 -2
  85. package/dist/public/assets/{_DFjCyuxr2.js.map → _DXaWF80G2.js.map} +1 -1
  86. package/dist/public/assets/{_ERq15mXY.js → _DZDs2rZG.js} +2 -2
  87. package/dist/public/assets/{_ERq15mXY.js.map → _DZDs2rZG.js.map} +1 -1
  88. package/dist/public/assets/{_DR_zCeOi.js → _DbjjwNMJ.js} +2 -2
  89. package/dist/public/assets/{_DR_zCeOi.js.map → _DbjjwNMJ.js.map} +1 -1
  90. package/dist/public/assets/{_D-GxVvEg.js → _Dg6disZS.js} +2 -2
  91. package/dist/public/assets/{_D-GxVvEg.js.map → _Dg6disZS.js.map} +1 -1
  92. package/dist/public/assets/{_Bs98qN5-2.js → _Di-YLGzT2.js} +2 -2
  93. package/dist/public/assets/{_Bs98qN5-2.js.map → _Di-YLGzT2.js.map} +1 -1
  94. package/dist/public/assets/{_BNFIxlJR.js → _DvHrD9Fu.js} +2 -2
  95. package/dist/public/assets/{_BNFIxlJR.js.map → _DvHrD9Fu.js.map} +1 -1
  96. package/dist/public/assets/{_FJ3epuTO.js → _EbANNtLE.js} +2 -2
  97. package/dist/public/assets/{_FJ3epuTO.js.map → _EbANNtLE.js.map} +1 -1
  98. package/dist/public/assets/{_Jso7DEzq.js → _EcnhZ-Zb.js} +2 -2
  99. package/dist/public/assets/{_Jso7DEzq.js.map → _EcnhZ-Zb.js.map} +1 -1
  100. package/dist/public/assets/{_XlH801Qf.js → _EvlrXhbk.js} +2 -2
  101. package/dist/public/assets/{_XlH801Qf.js.map → _EvlrXhbk.js.map} +1 -1
  102. package/dist/public/assets/{_CBoYeeXx.js → _Fj4bovY5.js} +2 -2
  103. package/dist/public/assets/{_CBoYeeXx.js.map → _Fj4bovY5.js.map} +1 -1
  104. package/dist/public/assets/{_BnZ5hdB-.js → _H3THB0QM.js} +2 -2
  105. package/dist/public/assets/{_BnZ5hdB-.js.map → _H3THB0QM.js.map} +1 -1
  106. package/dist/public/assets/{_DmQQt4hu.js → _N0sGQTbG.js} +2 -2
  107. package/dist/public/assets/{_DmQQt4hu.js.map → _N0sGQTbG.js.map} +1 -1
  108. package/dist/public/assets/{_unB9bj15.js → _R8c16EMU.js} +2 -2
  109. package/dist/public/assets/{_unB9bj15.js.map → _R8c16EMU.js.map} +1 -1
  110. package/dist/public/assets/{_GbGk7W6w2.js → _RnK9hNYz2.js} +2 -2
  111. package/dist/public/assets/{_GbGk7W6w2.js.map → _RnK9hNYz2.js.map} +1 -1
  112. package/dist/public/assets/{_Dy_gFnsG.js → _TU1mBzaU.js} +2 -2
  113. package/dist/public/assets/{_Dy_gFnsG.js.map → _TU1mBzaU.js.map} +1 -1
  114. package/dist/public/assets/{_DGx7YAZr2.js → _UPKxbAis2.js} +2 -2
  115. package/dist/public/assets/{_DGx7YAZr2.js.map → _UPKxbAis2.js.map} +1 -1
  116. package/dist/public/assets/{_Bq8AEuDG.js → _W6bV3Bg-.js} +2 -2
  117. package/dist/public/assets/{_Bq8AEuDG.js.map → _W6bV3Bg-.js.map} +1 -1
  118. package/dist/public/assets/{_CboThNtr.js → _X-KO8p5S.js} +2 -2
  119. package/dist/public/assets/{_CboThNtr.js.map → _X-KO8p5S.js.map} +1 -1
  120. package/dist/public/assets/{_DXLq4GO62.js → _ZKXMh2Tt2.js} +2 -2
  121. package/dist/public/assets/{_DXLq4GO62.js.map → _ZKXMh2Tt2.js.map} +1 -1
  122. package/dist/public/assets/{_BgMhxgll2.js → __Jb3rACh2.js} +2 -2
  123. package/dist/public/assets/{_BgMhxgll2.js.map → __Jb3rACh2.js.map} +1 -1
  124. package/dist/public/assets/{_Ba-VBf2z.js → _bsvRRwZw.js} +2 -2
  125. package/dist/public/assets/{_Ba-VBf2z.js.map → _bsvRRwZw.js.map} +1 -1
  126. package/dist/public/assets/{_DHjLNDCN2.js → _f7tCreYA2.js} +2 -2
  127. package/dist/public/assets/{_DHjLNDCN2.js.map → _f7tCreYA2.js.map} +1 -1
  128. package/dist/public/assets/{_CHO-fcR6.js → _gmz8tY8_.js} +2 -2
  129. package/dist/public/assets/{_CHO-fcR6.js.map → _gmz8tY8_.js.map} +1 -1
  130. package/dist/public/assets/{_Bu8da51m.js → _hISQM_VO.js} +2 -2
  131. package/dist/public/assets/{_Bu8da51m.js.map → _hISQM_VO.js.map} +1 -1
  132. package/dist/public/assets/{_pNAnwKme2.js → _iBei63n02.js} +2 -2
  133. package/dist/public/assets/{_pNAnwKme2.js.map → _iBei63n02.js.map} +1 -1
  134. package/dist/public/assets/{_DPXMcFb-.js → _iGURufnd.js} +2 -2
  135. package/dist/public/assets/{_DPXMcFb-.js.map → _iGURufnd.js.map} +1 -1
  136. package/dist/public/assets/{_Bg1unGUo2.js → _l3il9fbj2.js} +2 -2
  137. package/dist/public/assets/{_Bg1unGUo2.js.map → _l3il9fbj2.js.map} +1 -1
  138. package/dist/public/assets/{_BIU5EmFO.js → _neTzmpuG.js} +2 -2
  139. package/dist/public/assets/{_BIU5EmFO.js.map → _neTzmpuG.js.map} +1 -1
  140. package/dist/public/assets/{_CzHeRzBF2.js → _nqYjkgOI2.js} +2 -2
  141. package/dist/public/assets/{_CzHeRzBF2.js.map → _nqYjkgOI2.js.map} +1 -1
  142. package/dist/public/assets/{_D2-cyutB.js → _pLH8IrZs.js} +2 -2
  143. package/dist/public/assets/{_D2-cyutB.js.map → _pLH8IrZs.js.map} +1 -1
  144. package/dist/public/assets/{_DnNvPxgR.js → _tpLKr6cN.js} +2 -2
  145. package/dist/public/assets/{_DnNvPxgR.js.map → _tpLKr6cN.js.map} +1 -1
  146. package/dist/public/assets/{_k-HR2JJy.js → _uw9JGYrH.js} +2 -2
  147. package/dist/public/assets/{_k-HR2JJy.js.map → _uw9JGYrH.js.map} +1 -1
  148. package/dist/public/assets/{_D49qceqY.js → _zSpkIZIf.js} +2 -2
  149. package/dist/public/assets/{_D49qceqY.js.map → _zSpkIZIf.js.map} +1 -1
  150. package/dist/public/assets/index-D2S6Vhpc.css +1 -0
  151. package/dist/public/assets/{index-LnMHViqj.js → index-KetIC6bX.js} +63 -63
  152. package/dist/public/assets/index-KetIC6bX.js.map +1 -0
  153. package/package.json +1 -1
  154. package/dist/public/assets/index-BxVK_c-q.css +0 -1
  155. package/dist/public/assets/index-LnMHViqj.js.map +0 -1
package/dist/index.mjs CHANGED
@@ -3359,7 +3359,7 @@ function coalesce(fn) {
3359
3359
  }
3360
3360
  //#endregion
3361
3361
  //#region src/tags/toast.marko
3362
- var toast_default = _template("p", (input) => {
3362
+ var toast_default = _template("q", (input) => {
3363
3363
  const $scope0_reason = _scope_reason(), $sg__input_title = _serialize_guard($scope0_reason, 4), $sg__input_title__OR__input_content__OR__input_action__OR__input_onDismiss = _serialize_guard($scope0_reason, 2), $sg__input_content = _serialize_guard($scope0_reason, 5), $sg__input_action = _serialize_guard($scope0_reason, 6), $sg__input_action__OR__input_onDismiss = _serialize_guard($scope0_reason, 1), $sg__input_onDismiss = _serialize_guard($scope0_reason, 7), $si__input_title = _serialize_if($scope0_reason, 4), $si__input_content = _serialize_if($scope0_reason, 5), $si__input_action__OR__input_onDismiss = _serialize_if($scope0_reason, 1), $si__input_action_content = _serialize_if($scope0_reason, 8);
3364
3364
  const $scope0_id = _scope_id();
3365
3365
  const $input_action_content__closures = /* @__PURE__ */ new Set();
@@ -3405,7 +3405,7 @@ var toast_default = _template("p", (input) => {
3405
3405
  if (input.onDismiss) {
3406
3406
  const $scope5_id = _scope_id();
3407
3407
  _html(`<button class="icon-btn toast-dismiss" title=Dismiss>×</button>${_el_resume($scope5_id, "a")}`);
3408
- _script($scope5_id, "p0");
3408
+ _script($scope5_id, "q0");
3409
3409
  writeScope($scope5_id, { _: _scope_with_id($scope3_id) });
3410
3410
  return 0;
3411
3411
  }
@@ -3416,7 +3416,7 @@ var toast_default = _template("p", (input) => {
3416
3416
  }
3417
3417
  }, $scope0_id, "d", $sg__input_action__OR__input_onDismiss, $sg__input_action__OR__input_onDismiss, $sg__input_title__OR__input_content__OR__input_action__OR__input_onDismiss, 0, 1);
3418
3418
  _html(`</div>${_el_resume($scope0_id, "a", _serialize_guard($scope0_reason, 0))}`);
3419
- _script($scope0_id, "p1");
3419
+ _script($scope0_id, "q1");
3420
3420
  writeScope($scope0_id, {
3421
3421
  i: $si__input_title && input.title,
3422
3422
  j: $si__input_content && input.content,
@@ -3431,7 +3431,7 @@ var toast_default = _template("p", (input) => {
3431
3431
  });
3432
3432
  //#endregion
3433
3433
  //#region src/tags/icons/icon-base.marko
3434
- var icon_base_default = _template("u", (input) => {
3434
+ var icon_base_default = _template("v", (input) => {
3435
3435
  const $scope0_reason = _scope_reason();
3436
3436
  const $scope0_id = _scope_id();
3437
3437
  const size = input.size ?? 15;
@@ -3440,7 +3440,7 @@ var icon_base_default = _template("u", (input) => {
3440
3440
  });
3441
3441
  //#endregion
3442
3442
  //#region src/tags/icons/icon-diff.marko
3443
- var icon_diff_default = _template("x", (input) => {
3443
+ var icon_diff_default = _template("y", (input) => {
3444
3444
  const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
3445
3445
  const $scope0_id = _scope_id();
3446
3446
  _set_serialize_reason({
@@ -3457,7 +3457,7 @@ var icon_diff_default = _template("x", (input) => {
3457
3457
  });
3458
3458
  //#endregion
3459
3459
  //#region src/tags/icons/icon-manage.marko
3460
- var icon_manage_default = _template("E", (input) => {
3460
+ var icon_manage_default = _template("F", (input) => {
3461
3461
  const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
3462
3462
  const $scope0_id = _scope_id();
3463
3463
  _set_serialize_reason({
@@ -3474,7 +3474,7 @@ var icon_manage_default = _template("E", (input) => {
3474
3474
  });
3475
3475
  //#endregion
3476
3476
  //#region src/tags/icons/icon-plus.marko
3477
- var icon_plus_default = _template("F", (input) => {
3477
+ var icon_plus_default = _template("G", (input) => {
3478
3478
  const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
3479
3479
  const $scope0_id = _scope_id();
3480
3480
  _set_serialize_reason({
@@ -3498,7 +3498,7 @@ var PATHS = {
3498
3498
  copilot: "M19.245 5.364c1.322 1.36 1.877 3.216 2.11 5.817.622 0 1.2.135 1.592.654l.73.964c.21.278.323.61.323.955v2.62c0 .339-.173.669-.453.868C20.239 19.602 16.157 21.5 12 21.5c-4.6 0-9.205-2.583-11.547-4.258-.28-.2-.452-.53-.453-.868v-2.62c0-.345.113-.679.321-.956l.73-.963c.392-.517.974-.654 1.593-.654l.029-.297c.25-2.446.81-4.213 2.082-5.52 2.461-2.54 5.71-2.851 7.146-2.864h.198c1.436.013 4.685.323 7.146 2.864zm-7.244 4.328c-.284 0-.613.016-.962.05-.123.447-.305.85-.57 1.108-1.05 1.023-2.316 1.18-2.994 1.18-.638 0-1.306-.13-1.851-.464-.516.165-1.012.403-1.044.996a65.882 65.882 0 00-.063 2.884l-.002.48c-.002.563-.005 1.126-.013 1.69.002.326.204.63.51.765 2.482 1.102 4.83 1.657 6.99 1.657 2.156 0 4.504-.555 6.985-1.657a.854.854 0 00.51-.766c.03-1.682.006-3.372-.076-5.053-.031-.596-.528-.83-1.046-.996-.546.333-1.212.464-1.85.464-.677 0-1.942-.157-2.993-1.18-.266-.258-.447-.661-.57-1.108-.32-.032-.64-.049-.96-.05zm-2.525 4.013c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zm5 0c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zM7.635 5.087c-1.05.102-1.935.438-2.385.906-.975 1.037-.765 3.668-.21 4.224.405.394 1.17.657 1.995.657h.09c.649-.013 1.785-.176 2.73-1.11.435-.41.705-1.433.675-2.47-.03-.834-.27-1.52-.63-1.813-.39-.336-1.275-.482-2.265-.394zm6.465.394c-.36.292-.6.98-.63 1.813-.03 1.037.24 2.06.675 2.47.968.957 2.136 1.104 2.776 1.11h.044c.825 0 1.59-.263 1.995-.657.555-.556.765-3.187-.21-4.224-.45-.468-1.335-.804-2.385-.906-.99-.088-1.875.058-2.265.394zM12 7.615c-.24 0-.525.015-.84.044.03.16.045.336.06.526l-.001.159a2.94 2.94 0 01-.014.25c.225-.022.425-.027.612-.028h.366c.187 0 .387.006.612.028-.015-.146-.015-.277-.015-.409.015-.19.03-.365.06-.526a9.29 9.29 0 00-.84-.044z",
3499
3499
  cursor: "M22.106 5.68L12.5.135a.998.998 0 00-.998 0L1.893 5.68a.84.84 0 00-.419.726v11.186c0 .3.16.577.42.727l9.607 5.547a.999.999 0 00.998 0l9.608-5.547a.84.84 0 00.42-.727V6.407a.84.84 0 00-.42-.726zm-.603 1.176L12.228 22.92c-.063.108-.228.064-.228-.061V12.34a.59.59 0 00-.295-.51l-9.11-5.26c-.107-.062-.063-.228.062-.228h18.55c.264 0 .428.286.296.514z"
3500
3500
  };
3501
- var icon_agent_default = _template("s", (input) => {
3501
+ var icon_agent_default = _template("t", (input) => {
3502
3502
  const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0), $si__input_size__OR__input_class = _serialize_if($scope0_reason, 0), $si__input_size__OR__input_agent__OR__input_class = _serialize_if($scope0_reason, 1), $sg__input_agent = _serialize_guard($scope0_reason, 2);
3503
3503
  const $scope0_id = _scope_id();
3504
3504
  const size = input.size ?? 15;
@@ -3546,7 +3546,7 @@ var $class$3 = [
3546
3546
  "\"row archived\"",
3547
3547
  "\"row hi archived\""
3548
3548
  ];
3549
- var palette_default = _template("j", (input) => {
3549
+ var palette_default = _template("k", (input) => {
3550
3550
  const $scope0_reason = _scope_reason(), $sg__input_inline = _serialize_guard($scope0_reason, 4), $sg__input_inline__OR__input_workspaces_length = _serialize_guard($scope0_reason, 1), $sg__input_settings_agents = _serialize_guard($scope0_reason, 6), $si__input_settings_agents = _serialize_if($scope0_reason, 6), $si__input_selectedId = _serialize_if($scope0_reason, 2), $si__input_status = _serialize_if($scope0_reason, 5);
3551
3551
  const $scope0_id = _scope_id();
3552
3552
  const $input_selectedId__closures = /* @__PURE__ */ new Set();
@@ -3557,7 +3557,7 @@ var palette_default = _template("j", (input) => {
3557
3557
  let showArchived = false;
3558
3558
  const active = input.workspaces.filter((ws) => ws.status === "active");
3559
3559
  const archived = input.workspaces.filter((ws) => ws.status === "archived");
3560
- const matches = _resume((list) => list.filter((ws) => fuzzy(query, ws.name)), "j2", $scope0_id);
3560
+ const matches = _resume((list) => list.filter((ws) => fuzzy(query, ws.name)), "k2", $scope0_id);
3561
3561
  const currentWs = input.workspaces.find((ws) => ws.id === input.selectedId);
3562
3562
  const commands = !query || !currentWs ? [] : [
3563
3563
  {
@@ -3595,12 +3595,12 @@ var palette_default = _template("j", (input) => {
3595
3595
  if (row.kind === "new") input.onNew();
3596
3596
  else if (row.kind === "cmd") row.run();
3597
3597
  else input.onSelect(row.ws);
3598
- }, "j3", $scope0_id);
3598
+ }, "k3", $scope0_id);
3599
3599
  _if(() => {
3600
3600
  if (!input.inline) {
3601
3601
  const $scope1_id = _scope_id();
3602
3602
  _html(`<div class=palette-backdrop></div>${_el_resume($scope1_id, "a")}`);
3603
- _script($scope1_id, "j4");
3603
+ _script($scope1_id, "k4");
3604
3604
  writeScope($scope1_id, { _: _scope_with_id($scope0_id) });
3605
3605
  return 0;
3606
3606
  }
@@ -3617,7 +3617,7 @@ var palette_default = _template("j", (input) => {
3617
3617
  _html(`<input${_attr_input_value($scope0_id, "d", query, _resume(function(v) {
3618
3618
  query = v;
3619
3619
  hiRaw = 0;
3620
- }, "j0", $scope0_id))} autofocus placeholder="Jump to workspace…" aria-label="Filter workspaces">${_el_resume($scope0_id, "d")}<ul class=rows>`);
3620
+ }, "k0", $scope0_id))} autofocus placeholder="Jump to workspace…" aria-label="Filter workspaces">${_el_resume($scope0_id, "d")}<ul class=rows>`);
3621
3621
  _for_of(rows, (row, i) => {
3622
3622
  const $scope2_id = _scope_id();
3623
3623
  _html(`<li><div class=row-wrap><button class=${$class$3[(i === hi ? 1 : 0) + (row.kind === "ws" && row.archived ? 2 : 0)]}>`);
@@ -3719,20 +3719,20 @@ var palette_default = _template("j", (input) => {
3719
3719
  size: 14
3720
3720
  });
3721
3721
  _html(`${_sep($sg__input_settings_agents)}${_escape(agent)}${_el_resume($scope5_id, "c", $sg__input_settings_agents)}</button>${_el_resume($scope5_id, "a")}`);
3722
- _script($scope5_id, "j5");
3722
+ _script($scope5_id, "k5");
3723
3723
  writeScope($scope5_id, {
3724
3724
  e: agent,
3725
3725
  _: _scope_with_id($scope4_id),
3726
3726
  b: $si__input_settings_agents && _existing_scope($childScope)
3727
3727
  });
3728
3728
  }, (a) => a, $scope4_id, "g", $sg__input_settings_agents, 1, $sg__input_settings_agents, "</div>", 1);
3729
- _script($scope4_id, "j6");
3729
+ _script($scope4_id, "k6");
3730
3730
  _subscribe($si__input_settings_agents && $input_settings_agents__closures, writeScope($scope4_id, {}));
3731
3731
  return 0;
3732
3732
  }
3733
3733
  }, $scope2_id, "b");
3734
3734
  _html("</div></li>");
3735
- _script($scope2_id, "j7");
3735
+ _script($scope2_id, "k7");
3736
3736
  writeScope($scope2_id, {
3737
3737
  d: row,
3738
3738
  e: row?.kind,
@@ -3749,7 +3749,7 @@ var palette_default = _template("j", (input) => {
3749
3749
  if (archived.length && !query) {
3750
3750
  const $scope7_id = _scope_id();
3751
3751
  _html(`<button class="archived-link dim">${`archived (${_escape(`${archived.length}`)})`}${_el_resume($scope7_id, "b")}</button>${_el_resume($scope7_id, "a")}`);
3752
- _script($scope7_id, "j8");
3752
+ _script($scope7_id, "k8");
3753
3753
  writeScope($scope7_id, {});
3754
3754
  return 0;
3755
3755
  }
@@ -3769,7 +3769,7 @@ var palette_default = _template("j", (input) => {
3769
3769
  headers: { "content-type": "application/json" },
3770
3770
  body: JSON.stringify({ preferredAgent: v })
3771
3771
  }).catch(() => {});
3772
- }, "j1", $scope6_id), () => {
3772
+ }, "k1", $scope6_id), () => {
3773
3773
  _html("<select aria-label=\"Preferred agent\">");
3774
3774
  _for_of(input.settings.agents, (agent) => {
3775
3775
  const $scope17_id = _scope_id();
@@ -3778,15 +3778,15 @@ var palette_default = _template("j", (input) => {
3778
3778
  }, (a) => a, $scope6_id, "a", $sg__input_settings_agents, 1, $sg__input_settings_agents, "</select>", 1);
3779
3779
  });
3780
3780
  _html("</label>");
3781
- _script($scope6_id, "j9");
3781
+ _script($scope6_id, "k9");
3782
3782
  writeScope($scope6_id, { _: _scope_with_id($scope0_id) });
3783
3783
  return 0;
3784
3784
  }
3785
3785
  }, $scope0_id, "g", _serialize_guard($scope0_reason, 0), _serialize_guard($scope0_reason, 3), 1, 0, 1);
3786
3786
  _html(`</div></div>${_el_resume($scope0_id, "b", $sg__input_inline)}`);
3787
- _script($scope0_id, "j10");
3788
- _script($scope0_id, "j11");
3789
- _script($scope0_id, "j12");
3787
+ _script($scope0_id, "k10");
3788
+ _script($scope0_id, "k11");
3789
+ _script($scope0_id, "k12");
3790
3790
  writeScope($scope0_id, {
3791
3791
  j: $si__input_selectedId && input.workspaces,
3792
3792
  k: input.selectedId,
@@ -3823,8 +3823,18 @@ var palette_default = _template("j", (input) => {
3823
3823
  _resume_branch($scope0_id);
3824
3824
  });
3825
3825
  //#endregion
3826
+ //#region src/tags/dialog-close.marko
3827
+ var dialog_close_default = _template("c", (input) => {
3828
+ const $scope0_reason = _scope_reason();
3829
+ const $scope0_id = _scope_id();
3830
+ _html(`<button type=submit${_attr_class(input.class)}${_attr("disabled", input.disabled)}${_attr("title", input.title)}>`);
3831
+ _dynamic_tag($scope0_id, "b", input.content, {}, 0, 0, _serialize_guard($scope0_reason, 2));
3832
+ _html(`</button>${_el_resume($scope0_id, "a", _serialize_guard($scope0_reason, 0))}`);
3833
+ _serialize_if($scope0_reason, 1) && writeScope($scope0_id, {});
3834
+ });
3835
+ //#endregion
3826
3836
  //#region src/tags/icons/icon-refresh.marko
3827
- var icon_refresh_default = _template("G", (input) => {
3837
+ var icon_refresh_default = _template("H", (input) => {
3828
3838
  const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
3829
3839
  const $scope0_id = _scope_id();
3830
3840
  _set_serialize_reason({
@@ -3843,7 +3853,7 @@ var icon_refresh_default = _template("G", (input) => {
3843
3853
  //#region src/tags/repo-picker.marko
3844
3854
  var api$6;
3845
3855
  var rankRepos;
3846
- var repo_picker_default = _template("l", (input) => {
3856
+ var repo_picker_default = _template("m", (input) => {
3847
3857
  _scope_reason();
3848
3858
  const $scope0_id = _scope_id();
3849
3859
  const $branchFilter__closures = /* @__PURE__ */ new Set();
@@ -3862,7 +3872,7 @@ var repo_picker_default = _template("l", (input) => {
3862
3872
  input.onError?.(String(err.message || err));
3863
3873
  }
3864
3874
  if (refresh) input.refreshingChange?.(false);
3865
- }, "l3", $scope0_id);
3875
+ }, "m3", $scope0_id);
3866
3876
  const results = catalog && filter ? rankRepos(filter, catalog.repos, (name) => input.exclude.has(name)) : [];
3867
3877
  let branchesFor = null;
3868
3878
  let branches = null;
@@ -3871,7 +3881,7 @@ var repo_picker_default = _template("l", (input) => {
3871
3881
  filter = "";
3872
3882
  branchesFor = null;
3873
3883
  input.onPick(fullName, baseBranch);
3874
- }, "l4", $scope0_id);
3884
+ }, "m4", $scope0_id);
3875
3885
  const toggleBranches = _resume(async (fullName) => {
3876
3886
  if (branchesFor === fullName) {
3877
3887
  branchesFor = null;
@@ -3887,11 +3897,11 @@ var repo_picker_default = _template("l", (input) => {
3887
3897
  branchesFor = null;
3888
3898
  input.onError?.(String(err.message || err));
3889
3899
  }
3890
- }, "l5", $scope0_id);
3900
+ }, "m5", $scope0_id);
3891
3901
  _html(`<div class=add-repo><input${_attr_input_value($scope0_id, "a", filter, _resume(function(v) {
3892
3902
  filter = v;
3893
3903
  highlight = 0;
3894
- }, "l0", $scope0_id))} placeholder="Add a repo…" aria-label="Add a repo"${_attr("disabled", input.disabled)}>${_el_resume($scope0_id, "a")}`);
3904
+ }, "m0", $scope0_id))} placeholder="Add a repo…" aria-label="Add a repo"${_attr("disabled", input.disabled)}>${_el_resume($scope0_id, "a")}`);
3895
3905
  _if(() => {
3896
3906
  if (filter && !catalog) {
3897
3907
  const $scope8_id = _scope_id();
@@ -3929,8 +3939,8 @@ var repo_picker_default = _template("l", (input) => {
3929
3939
  const $scope6_id = _scope_id();
3930
3940
  _html(`<input${_attr_input_value($scope6_id, "a", branchFilter, _resume((_new_branchFilter) => {
3931
3941
  branchFilter = _new_branchFilter;
3932
- }, "l1", $scope6_id))} placeholder="Filter branches…" aria-label="Filter branches" autofocus>${_el_resume($scope6_id, "a")}`);
3933
- _script($scope6_id, "l6");
3942
+ }, "m1", $scope6_id))} placeholder="Filter branches…" aria-label="Filter branches" autofocus>${_el_resume($scope6_id, "a")}`);
3943
+ _script($scope6_id, "m6");
3934
3944
  _subscribe($branchFilter__closures, writeScope($scope6_id, { Ca7: 1 }));
3935
3945
  return 0;
3936
3946
  }
@@ -3940,7 +3950,7 @@ var repo_picker_default = _template("l", (input) => {
3940
3950
  _for_of(shown, (branch) => {
3941
3951
  const $scope7_id = _scope_id();
3942
3952
  _html(`<li><button class=result-row><span class="repo-name mono">${_escape(branch)}${_el_resume($scope7_id, "b")}</span></button>${_el_resume($scope7_id, "a")}</li>`);
3943
- _script($scope7_id, "l7");
3953
+ _script($scope7_id, "m7");
3944
3954
  writeScope($scope7_id, { d: branch });
3945
3955
  }, (b) => b, $scope5_id, "b", 1, 1, 1, 0, 1);
3946
3956
  _if(() => {
@@ -3961,7 +3971,7 @@ var repo_picker_default = _template("l", (input) => {
3961
3971
  }
3962
3972
  }, $scope3_id, "f", 1, 1, 1, 0, 1);
3963
3973
  _html("</li>");
3964
- _script($scope3_id, "l8");
3974
+ _script($scope3_id, "m8");
3965
3975
  _subscribe($branchesFor__closures, _subscribe($highlight__closures, writeScope($scope3_id, {
3966
3976
  i: repo?.nameWithOwner,
3967
3977
  k: i
@@ -3977,9 +3987,9 @@ var repo_picker_default = _template("l", (input) => {
3977
3987
  }
3978
3988
  }, $scope0_id, "c", 1, 1, 1, 0, 1);
3979
3989
  _html("</div>");
3980
- const $return = _resume(() => loadCatalog(true), "l2", $scope0_id);
3981
- _script($scope0_id, "l9");
3982
- _script($scope0_id, "l10");
3990
+ const $return = _resume(() => loadCatalog(true), "m2", $scope0_id);
3991
+ _script($scope0_id, "m9");
3992
+ _script($scope0_id, "m10");
3983
3993
  writeScope($scope0_id, {
3984
3994
  f: input.refreshingChange,
3985
3995
  g: input.onError,
@@ -4007,37 +4017,49 @@ var repo_picker_default = _template("l", (input) => {
4007
4017
  });
4008
4018
  //#endregion
4009
4019
  //#region src/tags/modal-view.marko
4010
- var modal_view_default = _template("h", (input) => {
4011
- const $scope0_reason = _scope_reason(), $sg__input_onClose__OR__input_footer = _serialize_guard($scope0_reason, 0), $si__input_onClose__OR__input_footer = _serialize_if($scope0_reason, 0);
4020
+ var modal_view_default = _template("i", (input) => {
4021
+ const $scope0_reason = _scope_reason(), $si__input_openChange__OR__input_footer = _serialize_if($scope0_reason, 1), $sg__input_openChange__OR__input_footer = _serialize_guard($scope0_reason, 1), $si__input_openChange = _serialize_if($scope0_reason, 2);
4012
4022
  const $scope0_id = _scope_id();
4013
4023
  const dismissable = input.dismissable !== false;
4014
- _html(`<div class=manage-backdrop></div>${_el_resume($scope0_id, "a")}<div${_attr_class(["manage-view", input.class])} role=dialog${_attr("aria-label", input.label)}><div class=manage>`);
4015
- _dynamic_tag($scope0_id, "c", input.content, {}, 0, 0, _serialize_guard($scope0_reason, 3));
4024
+ let open = input.open;
4025
+ _html(`<dialog${_attr_class(["manage-view", input.class])}${_attr("aria-label", input.label)} closedby=${dismissable ? "any" : "none"}><div class=manage>`);
4026
+ _dynamic_tag($scope0_id, "b", input.content, {}, 0, 0, _serialize_guard($scope0_reason, 3));
4016
4027
  _html("</div>");
4017
4028
  _if(() => {
4018
4029
  if (input.footer) {
4019
4030
  const $scope1_id = _scope_id();
4020
- _html("<div class=manage-bar>");
4031
+ _html("<form method=dialog class=manage-bar>");
4021
4032
  _dynamic_tag($scope1_id, "a", input.footer.content, {}, 0, 0, _serialize_guard($scope0_reason, 4));
4022
- _html("</div>");
4023
- $si__input_onClose__OR__input_footer && writeScope($scope1_id, { _: _serialize_if($scope0_reason, 4) && _scope_with_id($scope0_id) });
4033
+ _html("</form>");
4034
+ $si__input_openChange__OR__input_footer && writeScope($scope1_id, { _: _serialize_if($scope0_reason, 4) && _scope_with_id($scope0_id) });
4024
4035
  return 0;
4025
- } else if (input.onClose) {
4036
+ } else if (input.openChange) {
4026
4037
  const $scope2_id = _scope_id();
4027
- _html(`<div class=manage-bar><button class="btn primary">Done</button>${_el_resume($scope2_id, "a")}</div>`);
4028
- _script($scope2_id, "h0");
4029
- writeScope($scope2_id, { _: _scope_with_id($scope0_id) });
4038
+ _html("<form method=dialog class=manage-bar>");
4039
+ dialog_close_default({
4040
+ class: "btn primary",
4041
+ content: _content("i0", () => {
4042
+ _scope_reason();
4043
+ _scope_id();
4044
+ _html("Done");
4045
+ })
4046
+ });
4047
+ _html("</form>");
4048
+ $si__input_openChange__OR__input_footer && writeScope($scope2_id, {});
4030
4049
  return 1;
4031
4050
  }
4032
- }, $scope0_id, "d", $sg__input_onClose__OR__input_footer, $sg__input_onClose__OR__input_footer, $sg__input_onClose__OR__input_footer, 0, 1);
4033
- _html(`</div>${_el_resume($scope0_id, "b", _serialize_guard($scope0_reason, 1))}`);
4034
- _script($scope0_id, "h1");
4035
- _script($scope0_id, "h2");
4051
+ }, $scope0_id, "c", $sg__input_openChange__OR__input_footer, $sg__input_openChange__OR__input_footer, $sg__input_openChange__OR__input_footer, 0, 1);
4052
+ _html(`</dialog>${_el_resume($scope0_id, "a")}`);
4053
+ _script($scope0_id, "i1");
4054
+ _script($scope0_id, "i2");
4036
4055
  writeScope($scope0_id, {
4037
- h: input.onClose,
4038
- l: _serialize_if($scope0_reason, 2) && input.footer,
4039
- n: $si__input_onClose__OR__input_footer && input.footer?.content,
4040
- o: dismissable
4056
+ g: $si__input_openChange && input.open,
4057
+ h: _serialize_if($scope0_reason, 0) && input.openChange,
4058
+ m: $si__input_openChange && input.footer,
4059
+ o: $si__input_openChange__OR__input_footer && input.footer?.content,
4060
+ p: dismissable,
4061
+ q: open,
4062
+ r: input.openChange || void 0
4041
4063
  });
4042
4064
  _resume_branch($scope0_id);
4043
4065
  });
@@ -4045,8 +4067,8 @@ var modal_view_default = _template("h", (input) => {
4045
4067
  //#region src/tags/manage-workspace.marko
4046
4068
  var api$5;
4047
4069
  var lastData = /* @__PURE__ */ new Map();
4048
- var manage_workspace_default = _template("g", (input) => {
4049
- const $scope0_reason = _scope_reason(), $sg__input_workspace = _serialize_guard($scope0_reason, 1), $si__input_workspace = _serialize_if($scope0_reason, 1), $sg__input_onClose = _serialize_guard($scope0_reason, 2);
4070
+ var manage_workspace_default = _template("h", (input) => {
4071
+ const $scope0_reason = _scope_reason(), $sg__input_workspace = _serialize_guard($scope0_reason, 0), $si__input_workspace = _serialize_if($scope0_reason, 0), $sg__input_openChange = _serialize_guard($scope0_reason, 1);
4050
4072
  const $scope0_id = _scope_id();
4051
4073
  const $actionStep__closures = /* @__PURE__ */ new Set();
4052
4074
  const $pendingAction__closures = /* @__PURE__ */ new Set();
@@ -4085,19 +4107,19 @@ var manage_workspace_default = _template("g", (input) => {
4085
4107
  procs = data;
4086
4108
  lastData.set(`procs:${ws.id}`, data);
4087
4109
  } catch {}
4088
- }, "g0", $scope0_id);
4110
+ }, "h0", $scope0_id);
4089
4111
  const loadPrs = _resume(async (signal, refresh) => {
4090
4112
  try {
4091
4113
  const data = await api$5(`/api/workspaces/${ws.id}/prs${refresh ? "?refresh" : ""}`, { signal });
4092
4114
  prs = data;
4093
4115
  lastData.set(`prs:${ws.id}`, data);
4094
4116
  } catch {}
4095
- }, "g1", $scope0_id);
4117
+ }, "h1", $scope0_id);
4096
4118
  const refreshPrs = _resume(async () => {
4097
4119
  prsRefreshing = true;
4098
4120
  await loadPrs(void 0, true);
4099
4121
  prsRefreshing = false;
4100
- }, "g2", $scope0_id);
4122
+ }, "h2", $scope0_id);
4101
4123
  const clearFinished = _resume(async () => {
4102
4124
  for (const repo of prs || []) for (const pr of repo.prs) {
4103
4125
  if (pr.state === "OPEN") continue;
@@ -4111,7 +4133,7 @@ var manage_workspace_default = _template("g", (input) => {
4111
4133
  }).catch(() => {});
4112
4134
  }
4113
4135
  await loadPrs(void 0, false);
4114
- }, "g3", $scope0_id);
4136
+ }, "h3", $scope0_id);
4115
4137
  const dismissPr = _resume(async (fullName, number) => {
4116
4138
  error = null;
4117
4139
  try {
@@ -4128,14 +4150,14 @@ var manage_workspace_default = _template("g", (input) => {
4128
4150
  } catch (err) {
4129
4151
  error = String(err.message || err);
4130
4152
  }
4131
- }, "g4", $scope0_id);
4153
+ }, "h4", $scope0_id);
4132
4154
  const inWorkspace = new Set(ws.repos.map((r) => r.full_name));
4133
4155
  const setBusy = _resume((name, on) => {
4134
4156
  const next = new Set(busy);
4135
4157
  if (on) next.add(name);
4136
4158
  else next.delete(name);
4137
4159
  busy = next;
4138
- }, "g5", $scope0_id);
4160
+ }, "h5", $scope0_id);
4139
4161
  const addRepo = _resume(async (name, baseBranch) => {
4140
4162
  if (!name || busy.has(name)) return;
4141
4163
  error = null;
@@ -4154,7 +4176,7 @@ var manage_workspace_default = _template("g", (input) => {
4154
4176
  error = String(err.message || err);
4155
4177
  }
4156
4178
  setBusy(name, false);
4157
- }, "g6", $scope0_id);
4179
+ }, "h6", $scope0_id);
4158
4180
  const removeRepo = _resume(async (row) => {
4159
4181
  if (busy.has(row.full_name)) return;
4160
4182
  error = null;
@@ -4169,7 +4191,7 @@ var manage_workspace_default = _template("g", (input) => {
4169
4191
  error = String(err.message || err);
4170
4192
  }
4171
4193
  setBusy(row.full_name, false);
4172
- }, "g7", $scope0_id);
4194
+ }, "h7", $scope0_id);
4173
4195
  const runAction = _resume(async (action) => {
4174
4196
  error = null;
4175
4197
  pendingAction = action;
@@ -4180,137 +4202,150 @@ var manage_workspace_default = _template("g", (input) => {
4180
4202
  headers: { "content-type": "application/json" },
4181
4203
  body: JSON.stringify({ action })
4182
4204
  });
4183
- if (action === "delete") input.onClose?.();
4205
+ if (action === "delete") input.openChange?.(false);
4184
4206
  } catch (err) {
4185
4207
  error = String(err.message || err);
4186
4208
  } finally {
4187
4209
  pendingAction = null;
4188
4210
  actionStep = null;
4189
4211
  }
4190
- }, "g8", $scope0_id);
4212
+ }, "h8", $scope0_id);
4191
4213
  const killProc = _resume(async (pid) => {
4192
4214
  await fetch(`/api/procs/${pid}`, { method: "DELETE" });
4193
4215
  setTimeout(() => loadProcs(void 0), 500);
4194
- }, "g9", $scope0_id);
4216
+ }, "h9", $scope0_id);
4195
4217
  _set_serialize_reason({
4196
- 0: $sg__input_onClose,
4197
- 1: $sg__input_workspace,
4198
- 2: $sg__input_onClose
4218
+ 0: _serialize_guard($scope0_reason, 2),
4219
+ 1: $sg__input_openChange,
4220
+ 2: $sg__input_openChange
4199
4221
  });
4200
- const $childScope2 = _peek_scope_id();
4222
+ const $childScope3 = _peek_scope_id();
4201
4223
  modal_view_default({
4202
4224
  label: `Manage ${ws.name}`,
4203
- onClose: _resume(function() {
4204
- input.onClose?.();
4205
- }, "g10", $scope0_id),
4206
- footer: attrTag({ content: _content_resume("g27", () => {
4225
+ open: input.open,
4226
+ openChange: input.openChange,
4227
+ dismissable: !pendingAction,
4228
+ footer: attrTag({ content: _content_resume("h27", () => {
4207
4229
  _scope_reason();
4208
- const $scope1_id = _scope_id();
4209
- _html(`<button class="btn primary"${_attr("disabled", !!pendingAction)}>Done</button>${_el_resume($scope1_id, "a")}`);
4230
+ const $scope8_id = _scope_id();
4231
+ _set_serialize_reason(6);
4232
+ const $childScope = _peek_scope_id();
4233
+ dialog_close_default({
4234
+ class: "btn primary",
4235
+ disabled: !!pendingAction,
4236
+ content: _content("h14", () => {
4237
+ _scope_reason();
4238
+ _scope_id();
4239
+ _html("Done");
4240
+ })
4241
+ });
4210
4242
  _if(() => {
4211
4243
  if (pendingAction && actionStep) {
4212
4244
  const $scope12_id = _scope_id();
4213
4245
  _html(`<span class="act-step dim"><span class=spin></span><!>${_escape(actionStep)}${_el_resume($scope12_id, "a")}</span>`);
4214
- _subscribe($actionStep__closures, writeScope($scope12_id, { Cas: 1 }));
4246
+ _subscribe($actionStep__closures, writeScope($scope12_id, { Cat: 1 }));
4215
4247
  return 0;
4216
4248
  }
4217
- }, $scope1_id, "b", 1, 1, 1, 0, 1);
4249
+ }, $scope8_id, "b", 1, 1, 1, 0, 1);
4218
4250
  _html("<div class=spacer></div>");
4219
4251
  _if(() => {
4220
4252
  if (ws.status === "active") {
4221
4253
  const $scope9_id = _scope_id();
4222
- _html(`<button class=btn${_attr("disabled", !!pendingAction)}>${pendingAction === "archive" ? "Archiving…" : "Archive"}${_el_resume($scope9_id, "b")}</button>${_el_resume($scope9_id, "a")}`);
4223
- _script($scope9_id, "g15");
4254
+ _html(`<button type=button class=btn${_attr("disabled", !!pendingAction)}>${pendingAction === "archive" ? "Archiving…" : "Archive"}${_el_resume($scope9_id, "b")}</button>${_el_resume($scope9_id, "a")}`);
4255
+ _script($scope9_id, "h15");
4224
4256
  _subscribe($pendingAction__closures, writeScope($scope9_id, {
4225
- _: _scope_with_id($scope1_id),
4226
- Cap: 1
4257
+ _: _scope_with_id($scope8_id),
4258
+ Caq: 1
4227
4259
  }));
4228
4260
  return 0;
4229
4261
  } else {
4230
4262
  const $scope10_id = _scope_id();
4231
- _html(`<button class=btn${_attr("disabled", !!pendingAction)}>Restore</button>${_el_resume($scope10_id, "a")}`);
4232
- _script($scope10_id, "g16");
4263
+ _html(`<button type=button class=btn${_attr("disabled", !!pendingAction)}>Restore</button>${_el_resume($scope10_id, "a")}`);
4264
+ _script($scope10_id, "h16");
4233
4265
  _subscribe($pendingAction__closures, writeScope($scope10_id, {
4234
- _: _scope_with_id($scope1_id),
4235
- Cap: 2
4266
+ _: _scope_with_id($scope8_id),
4267
+ Caq: 2
4236
4268
  }));
4237
4269
  return 1;
4238
4270
  }
4239
- }, $scope1_id, "c", $sg__input_workspace, $sg__input_workspace, 1, 0, 1);
4240
- _html(`<button class="btn danger"${_attr("disabled", !!pendingAction)}>${pendingAction === "delete" ? "Deleting…" : "Delete"}${_el_resume($scope1_id, "e")}</button>${_el_resume($scope1_id, "d")}`);
4241
- _script($scope1_id, "g17");
4242
- _subscribe($si__input_workspace && $ws_status__closures, _subscribe($actionStep__closures, _subscribe($confirmingDelete__closures, _subscribe($pendingAction__closures, writeScope($scope1_id, { _: _scope_with_id($scope0_id) })))));
4243
- _resume_branch($scope1_id);
4271
+ }, $scope8_id, "c", $sg__input_workspace, $sg__input_workspace, 1, 0, 1);
4272
+ _html(`<button type=button class="btn danger"${_attr("disabled", !!pendingAction)}>${pendingAction === "delete" ? "Deleting…" : "Delete"}${_el_resume($scope8_id, "e")}</button>${_el_resume($scope8_id, "d")}`);
4273
+ _script($scope8_id, "h17");
4274
+ _subscribe($si__input_workspace && $ws_status__closures, _subscribe($actionStep__closures, _subscribe($confirmingDelete__closures, _subscribe($pendingAction__closures, writeScope($scope8_id, {
4275
+ _: _scope_with_id($scope0_id),
4276
+ a: _existing_scope($childScope)
4277
+ })))));
4278
+ _resume_branch($scope8_id);
4244
4279
  }, $scope0_id) }),
4245
- content: _content("g28", () => {
4280
+ content: _content("h28", () => {
4246
4281
  _scope_reason();
4247
- const $scope2_id = _scope_id();
4248
- _html(`<header class=manage-head><div><h2>${_escape(ws.name)}${_el_resume($scope2_id, "a", $sg__input_workspace)}</h2><p class="dim mono">${_escape(ws.display_path || ws.path)}${_el_resume($scope2_id, "b", $sg__input_workspace)}</p></div></header>`);
4282
+ const $scope1_id = _scope_id();
4283
+ _html(`<header class=manage-head><div><h2>${_escape(ws.name)}${_el_resume($scope1_id, "a", $sg__input_workspace)}</h2><p class="dim mono">${_escape(ws.display_path || ws.path)}${_el_resume($scope1_id, "b", $sg__input_workspace)}</p></div></header>`);
4249
4284
  _if(() => {
4250
4285
  if (error) {
4251
- const $scope7_id = _scope_id();
4286
+ const $scope6_id = _scope_id();
4252
4287
  toast_default({
4253
4288
  placement: "inline",
4254
4289
  onDismiss: _resume(function() {
4255
4290
  error = null;
4256
- }, "g11", $scope7_id),
4257
- content: _content_resume("g18", () => {
4291
+ }, "h10", $scope6_id),
4292
+ content: _content_resume("h18", () => {
4258
4293
  _scope_reason();
4259
- const $scope8_id = _scope_id();
4260
- _html(`${_escape(error)}${_el_resume($scope8_id, "a")}`);
4261
- _subscribe($error__closures, writeScope($scope8_id, {
4262
- _: _scope_with_id($scope7_id),
4263
- Cao: 1
4294
+ const $scope7_id = _scope_id();
4295
+ _html(`${_escape(error)}${_el_resume($scope7_id, "a")}`);
4296
+ _subscribe($error__closures, writeScope($scope7_id, {
4297
+ _: _scope_with_id($scope6_id),
4298
+ Cap: 1
4264
4299
  }));
4265
- _resume_branch($scope8_id);
4266
- }, $scope7_id)
4300
+ _resume_branch($scope7_id);
4301
+ }, $scope6_id)
4267
4302
  });
4268
- writeScope($scope7_id, {});
4303
+ writeScope($scope6_id, {});
4269
4304
  return 0;
4270
4305
  }
4271
- }, $scope2_id, "c", 1, 1, 1, 0, 1);
4306
+ }, $scope1_id, "c", 1, 1, 1, 0, 1);
4272
4307
  _if(() => {
4273
4308
  if (prs && prs.some((r) => r.prs.length)) {
4274
- const $scope4_id = _scope_id();
4309
+ const $scope3_id = _scope_id();
4275
4310
  const finishedCount = (prs || []).reduce((n, r) => n + r.prs.filter((pr) => pr.state !== "OPEN").length, 0);
4276
4311
  _html("<section><div class=repos-head><h3>Pull requests</h3>");
4277
4312
  _if(() => {
4278
4313
  if (finishedCount) {
4279
4314
  const $scope13_id = _scope_id();
4280
4315
  _html(`<button class=btn title="Confirm every merged/closed PR is done — remove them from this list">Clear <!>${_escape(finishedCount)}${_el_resume($scope13_id, "b")} finished</button>${_el_resume($scope13_id, "a")}`);
4281
- _script($scope13_id, "g19");
4316
+ _script($scope13_id, "h19");
4282
4317
  writeScope($scope13_id, {});
4283
4318
  return 0;
4284
4319
  }
4285
- }, $scope4_id, "a", 1, 1, 1, 0, 1);
4320
+ }, $scope3_id, "a", 1, 1, 1, 0, 1);
4286
4321
  _html(`<button class=${prsRefreshing ? "\"icon-btn spinning\"" : "icon-btn"} title="Refresh PRs"${_attr("disabled", prsRefreshing)}>`);
4287
4322
  icon_refresh_default({ size: 13 });
4288
- _html(`</button>${_el_resume($scope4_id, "b")}</div>`);
4323
+ _html(`</button>${_el_resume($scope3_id, "b")}</div>`);
4289
4324
  _for_of(prs.filter((r) => r.prs.length), (repo) => {
4290
- const $scope5_id = _scope_id();
4325
+ const $scope4_id = _scope_id();
4291
4326
  _html("<div class=pr-repo>");
4292
4327
  _if(() => {
4293
4328
  if (prs.length > 1) {
4294
- const $scope17_id = _scope_id();
4295
- _html(`<div class="pr-repo-name mono dim">${_escape(repo.worktree)}${_el_resume($scope17_id, "a")}</div>`);
4296
- writeScope($scope17_id, {});
4329
+ const $scope18_id = _scope_id();
4330
+ _html(`<div class="pr-repo-name mono dim">${_escape(repo.worktree)}${_el_resume($scope18_id, "a")}</div>`);
4331
+ writeScope($scope18_id, {});
4297
4332
  return 0;
4298
4333
  }
4299
- }, $scope5_id, "a", 1, 1, 1, 0, 1);
4334
+ }, $scope4_id, "a", 1, 1, 1, 0, 1);
4300
4335
  _html("<ul class=pr-list>");
4301
4336
  _for_of(repo.prs, (pr) => {
4302
4337
  const $scope14_id = _scope_id();
4303
4338
  _html(`<li><span${_attr_class(["pr-state", pr.state.toLowerCase()])}>${pr.state === "OPEN" && pr.isDraft ? "draft" : _escape(pr.state.toLowerCase())}${_el_resume($scope14_id, "b")}</span>${_el_resume($scope14_id, "a")}`);
4304
4339
  _if(() => {
4305
4340
  if (pr.state === "OPEN" && pr.reviewDecision === "APPROVED") {
4306
- const $scope18_id = _scope_id();
4341
+ const $scope19_id = _scope_id();
4307
4342
  _html("<span class=\"pr-state open\" title=Approved>✓</span>");
4308
- writeScope($scope18_id, {});
4343
+ writeScope($scope19_id, {});
4309
4344
  return 0;
4310
4345
  } else if (pr.state === "OPEN" && pr.reviewDecision === "CHANGES_REQUESTED") {
4311
- const $scope19_id = _scope_id();
4346
+ const $scope20_id = _scope_id();
4312
4347
  _html("<span class=\"pr-state closed\" title=\"Changes requested\">✗</span>");
4313
- writeScope($scope19_id, {});
4348
+ writeScope($scope20_id, {});
4314
4349
  return 1;
4315
4350
  }
4316
4351
  }, $scope14_id, "c", 1, 1, 1, 0, 1);
@@ -4319,186 +4354,186 @@ var manage_workspace_default = _template("g", (input) => {
4319
4354
  if (pr.state !== "OPEN") {
4320
4355
  const $scope15_id = _scope_id();
4321
4356
  _html(`<button class=pr-dismiss${_attr("title", `Confirm #${pr.number} is done — remove from this list`)}>✓</button>${_el_resume($scope15_id, "a")}`);
4322
- _script($scope15_id, "g20");
4357
+ _script($scope15_id, "h20");
4323
4358
  writeScope($scope15_id, {});
4324
4359
  return 0;
4325
4360
  }
4326
4361
  }, $scope14_id, "g", 1, 1, 1, 0, 1);
4327
4362
  _html("</li>");
4328
4363
  writeScope($scope14_id, { p: pr?.number });
4329
- }, "number", $scope5_id, "b", 1, 1, 1, "</ul>", 1);
4364
+ }, "number", $scope4_id, "b", 1, 1, 1, "</ul>", 1);
4330
4365
  _html("</div>");
4331
- _subscribe($prs_length__closures, writeScope($scope5_id, {
4366
+ _subscribe($prs_length__closures, writeScope($scope4_id, {
4332
4367
  e: repo?.worktree,
4333
4368
  g: repo?.full_name
4334
4369
  }));
4335
- }, "full_name", $scope4_id, "d", 1, 1, 1, 0, 1);
4370
+ }, "full_name", $scope3_id, "d", 1, 1, 1, 0, 1);
4336
4371
  _html("</section>");
4337
- _script($scope4_id, "g21");
4338
- _subscribe($prsRefreshing__closures, _subscribe($prs__closures, writeScope($scope4_id, {
4372
+ _script($scope3_id, "h21");
4373
+ _subscribe($prsRefreshing__closures, _subscribe($prs__closures, writeScope($scope3_id, {
4339
4374
  e: finishedCount,
4340
- Caj: 1
4375
+ Cak: 1
4341
4376
  })));
4342
4377
  return 0;
4343
4378
  }
4344
- }, $scope2_id, "d", 1, 1, 1, 0, 1);
4379
+ }, $scope1_id, "d", 1, 1, 1, 0, 1);
4345
4380
  _html(`<section><div class=repos-head><h3>Repos</h3><button class=${catalogRefreshing ? "\"icon-btn spinning\"" : "icon-btn"} title="Refresh repo list"${_attr("disabled", catalogRefreshing)}>`);
4346
4381
  icon_refresh_default({ size: 13 });
4347
- _html(`</button>${_el_resume($scope2_id, "e")}</div><ul class=cur-repos>`);
4382
+ _html(`</button>${_el_resume($scope1_id, "e")}</div><ul class=cur-repos>`);
4348
4383
  _for_of(ws.repos, (row) => {
4349
- const $scope6_id = _scope_id();
4350
- _html(`<li class=cur-repo><span class="mono cur-worktree">${_escape(row.worktree)}${_el_resume($scope6_id, "a", $sg__input_workspace)}/</span><span class="dim cur-full">${_escape(row.full_name)}${_el_resume($scope6_id, "b", $sg__input_workspace)}</span>`);
4384
+ const $scope5_id = _scope_id();
4385
+ _html(`<li class=cur-repo><span class="mono cur-worktree">${_escape(row.worktree)}${_el_resume($scope5_id, "a", $sg__input_workspace)}/</span><span class="dim cur-full">${_escape(row.full_name)}${_el_resume($scope5_id, "b", $sg__input_workspace)}</span>`);
4351
4386
  _if(() => {
4352
4387
  if (row.base_branch !== row.default_branch) {
4353
- const $scope20_id = _scope_id();
4354
- _html(`<span class="cur-base mono" title="Base branch">⎇ ${_sep($sg__input_workspace)}${_escape(row.base_branch)}${_el_resume($scope20_id, "a", $sg__input_workspace)}</span>`);
4355
- $si__input_workspace && writeScope($scope20_id, { _: _scope_with_id($scope6_id) });
4388
+ const $scope21_id = _scope_id();
4389
+ _html(`<span class="cur-base mono" title="Base branch">⎇ ${_sep($sg__input_workspace)}${_escape(row.base_branch)}${_el_resume($scope21_id, "a", $sg__input_workspace)}</span>`);
4390
+ $si__input_workspace && writeScope($scope21_id, { _: _scope_with_id($scope5_id) });
4356
4391
  return 0;
4357
4392
  }
4358
- }, $scope6_id, "c", $sg__input_workspace, $sg__input_workspace, 1, 0, 1);
4393
+ }, $scope5_id, "c", $sg__input_workspace, $sg__input_workspace, 1, 0, 1);
4359
4394
  _if(() => {
4360
4395
  if (busy.has(row.full_name)) {
4361
- const $scope21_id = _scope_id();
4396
+ const $scope22_id = _scope_id();
4362
4397
  _html("<span class=spin></span>");
4363
- writeScope($scope21_id, {});
4398
+ writeScope($scope22_id, {});
4364
4399
  return 0;
4365
4400
  } else {
4366
4401
  const $scope11_id = _scope_id();
4367
4402
  _html(`<button class=${confirmingRemove === row.full_name ? "\"cur-remove armed\"" : "cur-remove"}${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($scope11_id, "b")}</button>${_el_resume($scope11_id, "a")}`);
4368
- _script($scope11_id, "g22");
4403
+ _script($scope11_id, "h22");
4369
4404
  _subscribe($confirmingRemove__closures, writeScope($scope11_id, {}));
4370
4405
  return 1;
4371
4406
  }
4372
- }, $scope6_id, "d", 1, 1, 1, 0, 1);
4407
+ }, $scope5_id, "d", 1, 1, 1, 0, 1);
4373
4408
  _html("</li>");
4374
- _subscribe($busy__closures, writeScope($scope6_id, {
4409
+ _subscribe($busy__closures, writeScope($scope5_id, {
4375
4410
  f: row,
4376
4411
  g: row?.worktree,
4377
4412
  h: row?.full_name,
4378
4413
  j: $si__input_workspace && row?.base_branch,
4379
- _: _scope_with_id($scope2_id),
4380
- Cam: 1
4414
+ _: _scope_with_id($scope1_id),
4415
+ Can: 1
4381
4416
  }));
4382
- }, "full_name", $scope2_id, "g", $sg__input_workspace, $sg__input_workspace, 1, 0, 1);
4417
+ }, "full_name", $scope1_id, "g", $sg__input_workspace, $sg__input_workspace, 1, 0, 1);
4383
4418
  _for_of([...busy].filter((n) => !inWorkspace.has(n)), (name) => {
4384
- const $scope22_id = _scope_id();
4385
- _html(`<li class="cur-repo pending"><span class=spin></span><span class="dim cur-full">${_escape(name)}${_el_resume($scope22_id, "a")}</span></li>`);
4386
- writeScope($scope22_id, {});
4387
- }, (n) => n, $scope2_id, "h", 1, 1, 1, 0, 1);
4419
+ const $scope23_id = _scope_id();
4420
+ _html(`<li class="cur-repo pending"><span class=spin></span><span class="dim cur-full">${_escape(name)}${_el_resume($scope23_id, "a")}</span></li>`);
4421
+ writeScope($scope23_id, {});
4422
+ }, (n) => n, $scope1_id, "h", 1, 1, 1, 0, 1);
4388
4423
  _if(() => {
4389
4424
  if (!ws.repos.length && !busy.size) {
4390
- const $scope23_id = _scope_id();
4425
+ const $scope24_id = _scope_id();
4391
4426
  _html("<li class=\"dim empty-note\">No repos yet — search below to add one.</li>");
4392
- writeScope($scope23_id, {});
4427
+ writeScope($scope24_id, {});
4393
4428
  return 0;
4394
4429
  }
4395
- }, $scope2_id, "i", 1, 1, 1, 0, 1);
4430
+ }, $scope1_id, "i", 1, 1, 1, 0, 1);
4396
4431
  _html("</ul>");
4397
- const $childScope = _peek_scope_id();
4432
+ const $childScope2 = _peek_scope_id();
4398
4433
  let refreshCatalog = repo_picker_default({
4399
4434
  exclude: inWorkspace,
4400
4435
  onPick: _resume(function(name, baseBranch) {
4401
4436
  addRepo(name, baseBranch);
4402
- }, "g12", $scope2_id),
4437
+ }, "h11", $scope1_id),
4403
4438
  onError: _resume(function(message) {
4404
4439
  error = message;
4405
- }, "g13", $scope2_id),
4440
+ }, "h12", $scope1_id),
4406
4441
  refreshingChange: _resume(function(busy) {
4407
4442
  catalogRefreshing = busy;
4408
- }, "g14", $scope2_id)
4443
+ }, "h13", $scope1_id)
4409
4444
  });
4410
- _var($scope2_id, "k", $childScope, "g23");
4445
+ _var($scope1_id, "k", $childScope2, "h23");
4411
4446
  _html("</section>");
4412
4447
  _if(() => {
4413
4448
  if (procs && procs.length) {
4414
- const $scope3_id = _scope_id();
4449
+ const $scope2_id = _scope_id();
4415
4450
  _html("<section><h3>Processes</h3><ul class=procs>");
4416
4451
  _for_of(procs, (p) => {
4417
4452
  const $scope16_id = _scope_id();
4418
4453
  _html(`<li><span class="mono proc-cmd"${_attr("title", p.args)}>${_escape(p.cmd)}${_el_resume($scope16_id, "b")}`);
4419
4454
  _for_of(p.ports, (port) => {
4420
- const $scope24_id = _scope_id();
4421
- _html(`<button class="chip port-link"${_attr("title", `Open http://${typeof location === "undefined" ? "localhost" : location.hostname}:${port}`)}>:<!>${_escape(port)}${_el_resume($scope24_id, "b")}</button>${_el_resume($scope24_id, "a")}`);
4422
- _script($scope24_id, "g24");
4423
- writeScope($scope24_id, { d: port });
4455
+ const $scope25_id = _scope_id();
4456
+ _html(`<button class="chip port-link"${_attr("title", `Open http://${typeof location === "undefined" ? "localhost" : location.hostname}:${port}`)}>:<!>${_escape(port)}${_el_resume($scope25_id, "b")}</button>${_el_resume($scope25_id, "a")}`);
4457
+ _script($scope25_id, "h24");
4458
+ writeScope($scope25_id, { d: port });
4424
4459
  }, (x) => String(x), $scope16_id, "c", 1, 1, 1, 0, 1);
4425
4460
  _html(`</span>${_el_resume($scope16_id, "a")}<button class=proc-kill${_attr("title", `Kill ${p.pid}`)}>×</button>${_el_resume($scope16_id, "d")}</li>`);
4426
- _script($scope16_id, "g25");
4461
+ _script($scope16_id, "h25");
4427
4462
  writeScope($scope16_id, { j: p?.pid });
4428
- }, "pid", $scope3_id, "a", 1, 1, 1, "</ul>", 1);
4463
+ }, "pid", $scope2_id, "a", 1, 1, 1, "</ul>", 1);
4429
4464
  _html("</section>");
4430
- _subscribe($procs__closures, writeScope($scope3_id, { Cai: 1 }));
4465
+ _subscribe($procs__closures, writeScope($scope2_id, { Caj: 1 }));
4431
4466
  return 0;
4432
4467
  }
4433
- }, $scope2_id, "l", 1, 1, 1, 0, 1);
4434
- _script($scope2_id, "g26");
4435
- _subscribe($addRepo2__closures, _subscribe($si__input_workspace && $inWorkspace__closures, _subscribe($si__input_workspace && $ws_repos_length__closures, _subscribe($si__input_workspace && $ws_path__closures, _subscribe($si__input_workspace && $ws_display_path__closures, _subscribe($si__input_workspace && $ws_name__closures, _subscribe($si__input_workspace && $ws_repos__closures, _subscribe($error__closures, _subscribe($busy_size__closures, _subscribe($busy__closures, _subscribe($prs__closures, _subscribe($procs__closures, _subscribe($catalogRefreshing__closures, writeScope($scope2_id, {
4468
+ }, $scope1_id, "l", 1, 1, 1, 0, 1);
4469
+ _script($scope1_id, "h26");
4470
+ _subscribe($addRepo2__closures, _subscribe($si__input_workspace && $inWorkspace__closures, _subscribe($si__input_workspace && $ws_repos_length__closures, _subscribe($si__input_workspace && $ws_path__closures, _subscribe($si__input_workspace && $ws_display_path__closures, _subscribe($si__input_workspace && $ws_name__closures, _subscribe($si__input_workspace && $ws_repos__closures, _subscribe($error__closures, _subscribe($busy_size__closures, _subscribe($busy__closures, _subscribe($prs__closures, _subscribe($procs__closures, _subscribe($catalogRefreshing__closures, writeScope($scope1_id, {
4436
4471
  m: refreshCatalog,
4437
4472
  _: _scope_with_id($scope0_id),
4438
- j: _existing_scope($childScope)
4473
+ j: _existing_scope($childScope2)
4439
4474
  }))))))))))))));
4440
- _resume_branch($scope2_id);
4475
+ _resume_branch($scope1_id);
4441
4476
  })
4442
4477
  });
4443
- _script($scope0_id, "g29");
4478
+ _script($scope0_id, "h29");
4444
4479
  writeScope($scope0_id, {
4445
4480
  f: input.onChange,
4446
- g: input.onClose,
4447
- i: procs,
4448
- j: prs,
4449
- k: prs?.length,
4450
- l: prsRefreshing,
4451
- m: busy,
4452
- n: busy?.size,
4453
- o: error,
4454
- p: pendingAction,
4455
- q: confirmingDelete,
4456
- r: confirmingRemove,
4457
- s: actionStep,
4458
- t: ws,
4459
- u: ws?.id,
4460
- y: ws?.status,
4461
- a1: ws?.repos?.length,
4462
- a2: loadProcs,
4463
- a3: loadPrs,
4464
- a6: refreshPrs,
4465
- a7: clearFinished,
4466
- a8: dismissPr,
4467
- a9: inWorkspace,
4468
- aa: setBusy,
4469
- ad: addRepo,
4470
- ae: removeRepo,
4471
- af: runAction,
4472
- ag: killProc,
4473
- as: $actionStep__closures,
4474
- ap: $pendingAction__closures,
4475
- aq: $confirmingDelete__closures,
4476
- av: $si__input_workspace && $ws_status__closures,
4477
- ao: $error__closures,
4478
- ak: $prs_length__closures,
4479
- aj: $prs__closures,
4480
- al: $prsRefreshing__closures,
4481
- ar: $confirmingRemove__closures,
4482
- am: $busy__closures,
4483
- ai: $procs__closures,
4484
- ah: $catalogRefreshing__closures,
4485
- an: $busy_size__closures,
4486
- at: $si__input_workspace && $ws_repos__closures,
4487
- au: $si__input_workspace && $ws_name__closures,
4488
- aw: $si__input_workspace && $ws_display_path__closures,
4489
- ax: $si__input_workspace && $ws_path__closures,
4490
- ay: $si__input_workspace && $ws_repos_length__closures,
4491
- az: $si__input_workspace && $inWorkspace__closures,
4492
- b0: $addRepo2__closures,
4493
- a: _serialize_if($scope0_reason, 0) && _existing_scope($childScope2)
4481
+ g: input.openChange,
4482
+ j: procs,
4483
+ k: prs,
4484
+ l: prs?.length,
4485
+ m: prsRefreshing,
4486
+ n: busy,
4487
+ o: busy?.size,
4488
+ p: error,
4489
+ q: pendingAction,
4490
+ r: confirmingDelete,
4491
+ s: confirmingRemove,
4492
+ t: actionStep,
4493
+ u: ws,
4494
+ v: ws?.id,
4495
+ z: ws?.status,
4496
+ a2: ws?.repos?.length,
4497
+ a3: loadProcs,
4498
+ a4: loadPrs,
4499
+ a7: refreshPrs,
4500
+ a8: clearFinished,
4501
+ a9: dismissPr,
4502
+ aa: inWorkspace,
4503
+ ab: setBusy,
4504
+ ae: addRepo,
4505
+ af: removeRepo,
4506
+ ag: runAction,
4507
+ ah: killProc,
4508
+ at: $actionStep__closures,
4509
+ aq: $pendingAction__closures,
4510
+ ar: $confirmingDelete__closures,
4511
+ aw: $si__input_workspace && $ws_status__closures,
4512
+ ap: $error__closures,
4513
+ al: $prs_length__closures,
4514
+ ak: $prs__closures,
4515
+ am: $prsRefreshing__closures,
4516
+ as: $confirmingRemove__closures,
4517
+ an: $busy__closures,
4518
+ aj: $procs__closures,
4519
+ ai: $catalogRefreshing__closures,
4520
+ ao: $busy_size__closures,
4521
+ au: $si__input_workspace && $ws_repos__closures,
4522
+ av: $si__input_workspace && $ws_name__closures,
4523
+ ax: $si__input_workspace && $ws_display_path__closures,
4524
+ ay: $si__input_workspace && $ws_path__closures,
4525
+ az: $si__input_workspace && $ws_repos_length__closures,
4526
+ b0: $si__input_workspace && $inWorkspace__closures,
4527
+ b1: $addRepo2__closures,
4528
+ a: _existing_scope($childScope3)
4494
4529
  });
4495
4530
  _resume_branch($scope0_id);
4496
4531
  });
4497
4532
  //#endregion
4498
4533
  //#region src/tags/new-workspace.marko
4499
4534
  var api$4;
4500
- var new_workspace_default = _template("i", (input) => {
4501
- const $sg__input_onCancel = _serialize_guard(_scope_reason(), 0);
4535
+ var new_workspace_default = _template("j", (input) => {
4536
+ const $scope0_reason = _scope_reason(), $sg__input_openChange = _serialize_guard($scope0_reason, 1);
4502
4537
  const $scope0_id = _scope_id();
4503
4538
  const $name__closures = /* @__PURE__ */ new Set();
4504
4539
  const $busy__closures = /* @__PURE__ */ new Set();
@@ -4526,17 +4561,17 @@ var new_workspace_default = _template("i", (input) => {
4526
4561
  if (e.seq) prog.last = e.seq;
4527
4562
  steps = steps.concat(e.message);
4528
4563
  }
4529
- }, "i1", $scope0_id);
4564
+ }, "j1", $scope0_id);
4530
4565
  const addRepo = _resume((fullName, baseBranch) => {
4531
4566
  if (!fullName || selected.some((r) => r.fullName === fullName)) return;
4532
4567
  selected = selected.concat({
4533
4568
  fullName,
4534
4569
  baseBranch
4535
4570
  });
4536
- }, "i2", $scope0_id);
4571
+ }, "j2", $scope0_id);
4537
4572
  const removeRepo = _resume((fullName) => {
4538
4573
  selected = selected.filter((r) => r.fullName !== fullName);
4539
- }, "i3", $scope0_id);
4574
+ }, "j3", $scope0_id);
4540
4575
  const create = _resume(async () => {
4541
4576
  busy = true;
4542
4577
  error = null;
@@ -4569,28 +4604,42 @@ var new_workspace_default = _template("i", (input) => {
4569
4604
  } finally {
4570
4605
  clearInterval(poll);
4571
4606
  }
4572
- }, "i4", $scope0_id);
4607
+ }, "j4", $scope0_id);
4573
4608
  _set_serialize_reason({
4574
- 0: $sg__input_onCancel,
4575
- 2: $sg__input_onCancel
4609
+ 0: _serialize_guard($scope0_reason, 0),
4610
+ 1: $sg__input_openChange,
4611
+ 2: $sg__input_openChange
4576
4612
  });
4577
- const $childScope2 = _peek_scope_id();
4613
+ const $childScope3 = _peek_scope_id();
4578
4614
  modal_view_default({
4579
4615
  label: "New workspace",
4580
4616
  class: "new-ws",
4617
+ open: input.open,
4618
+ openChange: input.openChange,
4581
4619
  dismissable: !busy,
4582
- onClose: _resume(function() {
4583
- input.onCancel?.();
4584
- }, "i5", $scope0_id),
4585
- footer: attrTag({ content: _content_resume("i15", () => {
4620
+ footer: attrTag({ content: _content_resume("j15", () => {
4586
4621
  _scope_reason();
4587
4622
  const $scope1_id = _scope_id();
4588
- _html(`<button class="btn primary"${_attr("disabled", busy || !name.trim())}>${busy ? "Creating…" : "Create workspace"}${_el_resume($scope1_id, "b")}</button>${_el_resume($scope1_id, "a")}<div class=spacer></div><button class=btn${_attr("disabled", busy)}>Cancel</button>${_el_resume($scope1_id, "c")}`);
4589
- _script($scope1_id, "i10");
4590
- _subscribe($busy__closures, _subscribe($name__closures, writeScope($scope1_id, { _: _scope_with_id($scope0_id) })));
4623
+ _html(`<button type=button class="btn primary"${_attr("disabled", busy || !name.trim())}>${busy ? "Creating…" : "Create workspace"}${_el_resume($scope1_id, "b")}</button>${_el_resume($scope1_id, "a")}<div class=spacer></div>`);
4624
+ _set_serialize_reason(6);
4625
+ const $childScope = _peek_scope_id();
4626
+ dialog_close_default({
4627
+ class: "btn",
4628
+ disabled: busy,
4629
+ content: _content("j9", () => {
4630
+ _scope_reason();
4631
+ _scope_id();
4632
+ _html("Cancel");
4633
+ })
4634
+ });
4635
+ _script($scope1_id, "j10");
4636
+ _subscribe($busy__closures, _subscribe($name__closures, writeScope($scope1_id, {
4637
+ _: _scope_with_id($scope0_id),
4638
+ c: _existing_scope($childScope)
4639
+ })));
4591
4640
  _resume_branch($scope1_id);
4592
4641
  }, $scope0_id) }),
4593
- content: _content("i16", () => {
4642
+ content: _content("j16", () => {
4594
4643
  _scope_reason();
4595
4644
  const $scope2_id = _scope_id();
4596
4645
  _html("<header class=manage-head><div><h2>New workspace</h2></div></header>");
@@ -4601,14 +4650,14 @@ var new_workspace_default = _template("i", (input) => {
4601
4650
  placement: "inline",
4602
4651
  onDismiss: _resume(function() {
4603
4652
  error = null;
4604
- }, "i6", $scope4_id),
4605
- content: _content_resume("i11", () => {
4653
+ }, "j5", $scope4_id),
4654
+ content: _content_resume("j11", () => {
4606
4655
  _scope_reason();
4607
4656
  const $scope5_id = _scope_id();
4608
4657
  _html(`${_escape(error)}${_el_resume($scope5_id, "a")}`);
4609
4658
  _subscribe($error__closures, writeScope($scope5_id, {
4610
4659
  _: _scope_with_id($scope4_id),
4611
- Ca2: 1
4660
+ Ca3: 1
4612
4661
  }));
4613
4662
  _resume_branch($scope5_id);
4614
4663
  }, $scope4_id)
@@ -4619,7 +4668,7 @@ var new_workspace_default = _template("i", (input) => {
4619
4668
  }, $scope2_id, "a", 1, 1, 1, 0, 1);
4620
4669
  _html(`<label class=field><span>Name</span><input${_attr_input_value($scope2_id, "b", name, _resume((_new_name) => {
4621
4670
  name = _new_name;
4622
- }, "i0", $scope2_id))} placeholder=my-feature${_attr("disabled", busy)} autofocus>${_el_resume($scope2_id, "b")}</label><section><div class=repos-head><h3>Repos</h3><button class=${catalogRefreshing ? "\"icon-btn spinning\"" : "icon-btn"} title="Refresh repo list"${_attr("disabled", catalogRefreshing)}>`);
4671
+ }, "j0", $scope2_id))} placeholder=my-feature${_attr("disabled", busy)} autofocus>${_el_resume($scope2_id, "b")}</label><section><div class=repos-head><h3>Repos</h3><button class=${catalogRefreshing ? "\"icon-btn spinning\"" : "icon-btn"} title="Refresh repo list"${_attr("disabled", catalogRefreshing)}>`);
4623
4672
  icon_refresh_default({ size: 13 });
4624
4673
  _html(`</button>${_el_resume($scope2_id, "c")}</div><ul class=cur-repos>`);
4625
4674
  _for_of(selected, (repo) => {
@@ -4627,44 +4676,44 @@ var new_workspace_default = _template("i", (input) => {
4627
4676
  _html(`<li class=cur-repo><span class=cur-full>${_escape(repo.fullName)}${_el_resume($scope3_id, "a")}</span>`);
4628
4677
  _if(() => {
4629
4678
  if (repo.baseBranch) {
4630
- const $scope8_id = _scope_id();
4631
- _html(`<span class="cur-base mono" title="Base branch">⎇ <!>${_escape(repo.baseBranch)}${_el_resume($scope8_id, "a")}</span>`);
4632
- writeScope($scope8_id, {});
4679
+ const $scope9_id = _scope_id();
4680
+ _html(`<span class="cur-base mono" title="Base branch">⎇ <!>${_escape(repo.baseBranch)}${_el_resume($scope9_id, "a")}</span>`);
4681
+ writeScope($scope9_id, {});
4633
4682
  return 0;
4634
4683
  }
4635
4684
  }, $scope3_id, "b", 1, 1, 1, 0, 1);
4636
4685
  _html(`<button class=cur-remove${_attr("title", `Remove ${repo.fullName}`)}${_attr("disabled", busy)}>×</button>${_el_resume($scope3_id, "c")}</li>`);
4637
- _script($scope3_id, "i12");
4686
+ _script($scope3_id, "j12");
4638
4687
  _subscribe($busy__closures, writeScope($scope3_id, {
4639
4688
  f: repo?.fullName,
4640
4689
  g: repo?.baseBranch,
4641
- Ca1: 2
4690
+ Ca2: 2
4642
4691
  }));
4643
4692
  }, "fullName", $scope2_id, "e", 1, 1, 1, 0, 1);
4644
4693
  _if(() => {
4645
4694
  if (!selected.length) {
4646
- const $scope9_id = _scope_id();
4695
+ const $scope10_id = _scope_id();
4647
4696
  _html("<li class=\"dim empty-note\">No repos yet — search below to add one (or create empty).</li>");
4648
- writeScope($scope9_id, {});
4697
+ writeScope($scope10_id, {});
4649
4698
  return 0;
4650
4699
  }
4651
4700
  }, $scope2_id, "f", 1, 1, 1, 0, 1);
4652
4701
  _html("</ul>");
4653
- const $childScope = _peek_scope_id();
4702
+ const $childScope2 = _peek_scope_id();
4654
4703
  let refreshCatalog = repo_picker_default({
4655
4704
  exclude: new Set(selected.map((r) => r.fullName)),
4656
4705
  disabled: busy,
4657
4706
  onPick: _resume(function(fullName, baseBranch) {
4658
4707
  addRepo(fullName, baseBranch);
4659
- }, "i7", $scope2_id),
4708
+ }, "j6", $scope2_id),
4660
4709
  onError: _resume(function(message) {
4661
4710
  error = message;
4662
- }, "i8", $scope2_id),
4711
+ }, "j7", $scope2_id),
4663
4712
  refreshingChange: _resume(function(v) {
4664
4713
  catalogRefreshing = v;
4665
- }, "i9", $scope2_id)
4714
+ }, "j8", $scope2_id)
4666
4715
  });
4667
- _var($scope2_id, "h", $childScope, "i13");
4716
+ _var($scope2_id, "h", $childScope2, "j13");
4668
4717
  _html("</section>");
4669
4718
  _if(() => {
4670
4719
  if (busy && steps.length) {
@@ -4675,61 +4724,60 @@ var new_workspace_default = _template("i", (input) => {
4675
4724
  _html(`<li${_attr_class({ active: i === steps.length - 1 })}>`);
4676
4725
  _if(() => {
4677
4726
  if (i === steps.length - 1) {
4678
- const $scope10_id = _scope_id();
4727
+ const $scope11_id = _scope_id();
4679
4728
  _html("<span class=spin></span>");
4680
- writeScope($scope10_id, {});
4729
+ writeScope($scope11_id, {});
4681
4730
  return 0;
4682
4731
  } else {
4683
- const $scope11_id = _scope_id();
4732
+ const $scope12_id = _scope_id();
4684
4733
  _html("<span class=step-done>✓</span>");
4685
- writeScope($scope11_id, {});
4734
+ writeScope($scope12_id, {});
4686
4735
  return 1;
4687
4736
  }
4688
4737
  }, $scope7_id, "b", 1, 1, 1, 0, 1);
4689
4738
  _html(`<!>${_escape(step)}${_el_resume($scope7_id, "c")}</li>${_el_resume($scope7_id, "a")}`);
4690
- _subscribe($steps_length__closures, writeScope($scope7_id, { Ca4: 1 }));
4739
+ _subscribe($steps_length__closures, writeScope($scope7_id, { Ca5: 1 }));
4691
4740
  }, 0, $scope6_id, "a", 1, 1, 1, "</ul>", 1);
4692
4741
  _subscribe($steps__closures, writeScope($scope6_id, {}));
4693
4742
  return 0;
4694
4743
  }
4695
4744
  }, $scope2_id, "i", 1, 1, 1, 0, 1);
4696
- _script($scope2_id, "i14");
4745
+ _script($scope2_id, "j14");
4697
4746
  _subscribe($addRepo2__closures, _subscribe($steps_length__closures, _subscribe($error__closures, _subscribe($busy__closures, _subscribe($selected_length__closures, _subscribe($selected__closures, _subscribe($catalogRefreshing__closures, _subscribe($name__closures, writeScope($scope2_id, {
4698
4747
  j: refreshCatalog,
4699
4748
  _: _scope_with_id($scope0_id),
4700
- g: _existing_scope($childScope),
4701
- Cx: 1,
4702
- Ca1: 1
4749
+ g: _existing_scope($childScope2),
4750
+ Cy: 1,
4751
+ Ca2: 1
4703
4752
  })))))))));
4704
4753
  _resume_branch($scope2_id);
4705
4754
  })
4706
4755
  });
4707
- _script($scope0_id, "i17");
4756
+ _script($scope0_id, "j17");
4708
4757
  writeScope($scope0_id, {
4709
4758
  d: input.onCreate,
4710
- e: input.onCancel,
4711
- f: name,
4712
- h: selected,
4713
- j: busy,
4714
- k: error,
4715
- l: steps,
4716
- m: steps?.length,
4717
- o: prog.op,
4718
- p: prog.last,
4719
- r: takeProgress,
4720
- u: addRepo,
4721
- v: removeRepo,
4722
- w: create,
4723
- x: $name__closures,
4724
- a1: $busy__closures,
4725
- a2: $error__closures,
4726
- a4: $steps_length__closures,
4727
- a3: $steps__closures,
4728
- y: $catalogRefreshing__closures,
4729
- z: $selected__closures,
4730
- a0: $selected_length__closures,
4731
- a5: $addRepo2__closures,
4732
- a: _existing_scope($childScope2)
4759
+ g: name,
4760
+ i: selected,
4761
+ k: busy,
4762
+ l: error,
4763
+ m: steps,
4764
+ n: steps?.length,
4765
+ p: prog.op,
4766
+ q: prog.last,
4767
+ s: takeProgress,
4768
+ v: addRepo,
4769
+ w: removeRepo,
4770
+ x: create,
4771
+ y: $name__closures,
4772
+ a2: $busy__closures,
4773
+ a3: $error__closures,
4774
+ a5: $steps_length__closures,
4775
+ a4: $steps__closures,
4776
+ z: $catalogRefreshing__closures,
4777
+ a0: $selected__closures,
4778
+ a1: $selected_length__closures,
4779
+ a6: $addRepo2__closures,
4780
+ a: _existing_scope($childScope3)
4733
4781
  });
4734
4782
  _resume_branch($scope0_id);
4735
4783
  });
@@ -4778,7 +4826,7 @@ function diffUncommitted() {
4778
4826
  }
4779
4827
  //#endregion
4780
4828
  //#region src/tags/icons/icon-edit.marko
4781
- var icon_edit_default = _template("z", (input) => {
4829
+ var icon_edit_default = _template("A", (input) => {
4782
4830
  const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
4783
4831
  const $scope0_id = _scope_id();
4784
4832
  _set_serialize_reason({
@@ -4803,7 +4851,7 @@ var $class$2 = [
4803
4851
  "\"chip pr rejected\"",
4804
4852
  "\"chip pr draft rejected\""
4805
4853
  ];
4806
- var side_nav_item_default = _template("m", (input) => {
4854
+ var side_nav_item_default = _template("n", (input) => {
4807
4855
  const $scope0_reason = _scope_reason(), $sg__input_workspaceId__OR__input_status = _serialize_guard($scope0_reason, 1), $sg__input_onReview = _serialize_guard($scope0_reason, 14), $sg__input_agents = _serialize_guard($scope0_reason, 16), $si__input_agents = _serialize_if($scope0_reason, 16), $sg__input_workspaceId__OR__input_status__OR__input_onReview__OR__input_onNewSession = _serialize_guard($scope0_reason, 9), $sg__input_onNewSession = _serialize_guard($scope0_reason, 15), $sg__input_sessions = _serialize_guard($scope0_reason, 17), $si__input_workspaceId__OR__input_status = _serialize_if($scope0_reason, 1), $si__input_current = _serialize_if($scope0_reason, 12), $si__input_sessions = _serialize_if($scope0_reason, 17), $si__input_workspaces__OR__input_workspaceId = _serialize_if($scope0_reason, 0), $sg__input_rail = _serialize_guard($scope0_reason, 11), $si__input_workspaceId__OR__input_status__OR__input_rail = _serialize_if($scope0_reason, 5), $sg__input_workspaces__OR__input_workspaceId = _serialize_guard($scope0_reason, 0), $si__input_workspaces__OR__input_workspaceId__OR__input_rail = _serialize_if($scope0_reason, 4), $si__input_index = _serialize_if($scope0_reason, 13), $si__input_currentTab = _serialize_if($scope0_reason, 18), $si__input_onReview = _serialize_if($scope0_reason, 14), $si__input_onNewSession = _serialize_if($scope0_reason, 15);
4808
4856
  const $scope0_id = _scope_id();
4809
4857
  const $input_current__closures = /* @__PURE__ */ new Set();
@@ -4826,7 +4874,7 @@ var side_nav_item_default = _template("m", (input) => {
4826
4874
  armedKill = null;
4827
4875
  armedPid = null;
4828
4876
  }, 3500);
4829
- }, "m0", $scope0_id);
4877
+ }, "n0", $scope0_id);
4830
4878
  const ws = input.workspaces.find((w) => w.id === input.workspaceId);
4831
4879
  _if(() => {
4832
4880
  if (ws) {
@@ -4839,7 +4887,7 @@ var side_nav_item_default = _template("m", (input) => {
4839
4887
  if (input.rail) {
4840
4888
  const $scope2_id = _scope_id();
4841
4889
  _html(`<button class=${input.current ? "\"icon-btn rail-btn current\"" : "\"icon-btn rail-btn\""}${_attr("title", ws.name)}>${_escape((input.index ?? 0) + 1)}${_el_resume($scope2_id, "b", _serialize_guard($scope0_reason, 13))}<span${_attr_class(["dot", dot])}></span>${_el_resume($scope2_id, "c", $sg__input_workspaceId__OR__input_status)}</button>${_el_resume($scope2_id, "a")}`);
4842
- _script($scope2_id, "m2");
4890
+ _script($scope2_id, "n2");
4843
4891
  _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) }))));
4844
4892
  return 0;
4845
4893
  } else {
@@ -4851,7 +4899,7 @@ var side_nav_item_default = _template("m", (input) => {
4851
4899
  _html("<button class=\"row-icon new-sess\" title=\"Review changes\">");
4852
4900
  icon_diff_default({ size: 12 });
4853
4901
  _html(`</button>${_el_resume($scope4_id, "a")}`);
4854
- _script($scope4_id, "m3");
4902
+ _script($scope4_id, "n3");
4855
4903
  writeScope($scope4_id, { _: _scope_with_id($scope3_id) });
4856
4904
  return 0;
4857
4905
  }
@@ -4882,14 +4930,14 @@ var side_nav_item_default = _template("m", (input) => {
4882
4930
  size: 14
4883
4931
  });
4884
4932
  _html(`${_sep($sg__input_agents)}${_escape(agent)}${_el_resume($scope6_id, "c", $sg__input_agents)}</button>${_el_resume($scope6_id, "a")}`);
4885
- _script($scope6_id, "m4");
4933
+ _script($scope6_id, "n4");
4886
4934
  writeScope($scope6_id, {
4887
4935
  e: agent,
4888
4936
  _: _scope_with_id($scope5_id),
4889
4937
  b: $si__input_agents && _existing_scope($childScope)
4890
4938
  });
4891
4939
  }, (a) => a, $scope5_id, "c", $sg__input_agents, 1, $sg__input_agents, "</div>", 1);
4892
- _script($scope5_id, "m5");
4940
+ _script($scope5_id, "n5");
4893
4941
  _subscribe($si__input_agents && $input_agents__closures, writeScope($scope5_id, { _: _scope_with_id($scope3_id) }));
4894
4942
  return 0;
4895
4943
  }
@@ -4912,7 +4960,7 @@ var side_nav_item_default = _template("m", (input) => {
4912
4960
  _html(`${_sep($sg__input_sessions)}${_escape(s.title || s.agent)}${_el_resume($scope7_id, "e", $sg__input_sessions)}</button>${_el_resume($scope7_id, "b")}<button class=row-icon title="Rename session">`);
4913
4961
  icon_edit_default({ size: 12 });
4914
4962
  _html(`</button>${_el_resume($scope7_id, "f")}<button class=${armedKill === s.id ? "\"close armed\"" : "close"} title=${armedKill === s.id ? "\"Really kill this session?\"" : "\"Kill session\""}>×</button>${_el_resume($scope7_id, "h")}</div>${_el_resume($scope7_id, "a", _serialize_guard($scope0_reason, 2))}`);
4915
- _script($scope7_id, "m6");
4963
+ _script($scope7_id, "n6");
4916
4964
  _subscribe($armedKill__closures, _subscribe($si__input_currentTab && $input_currentTab__closures, writeScope($scope7_id, {
4917
4965
  j: s,
4918
4966
  k: s?.id,
@@ -4929,14 +4977,14 @@ var side_nav_item_default = _template("m", (input) => {
4929
4977
  if (repos.length < 2) return "";
4930
4978
  const name = repo.full_name.split("/")[1];
4931
4979
  return repos.some((r) => r.full_name !== repo.full_name && r.full_name.split("/")[1] === name) ? repo.full_name : name;
4932
- }, "m1", $scope8_id);
4980
+ }, "n1", $scope8_id);
4933
4981
  _html("<div class=side-chips>");
4934
4982
  _for_of(st?.repos || [], (repo) => {
4935
4983
  const $scope9_id = _scope_id();
4936
4984
  _for_of(repo.prs || [], (pr) => {
4937
4985
  const $scope10_id = _scope_id();
4938
4986
  _html(`<button class=${$class$2[(pr.isDraft ? 1 : 0) + (pr.reviewDecision === "CHANGES_REQUESTED" ? 2 : 0)]}${_attr("title", `${repo.worktree} — ${pr.title}${pr.reviewDecision === "APPROVED" ? " (approved)" : pr.reviewDecision === "CHANGES_REQUESTED" ? " (changes requested)" : ""}`)}>${_escape(repoLabel(repo))}${_el_resume($scope10_id, "b", $sg__input_workspaceId__OR__input_status)}#${_sep($sg__input_workspaceId__OR__input_status)}${_escape(pr.number)}${_el_resume($scope10_id, "c", $sg__input_workspaceId__OR__input_status)}${_sep($sg__input_workspaceId__OR__input_status)}${pr.reviewDecision === "APPROVED" ? " ✓" : pr.reviewDecision === "CHANGES_REQUESTED" ? " ✗" : ""}${_el_resume($scope10_id, "d", $sg__input_workspaceId__OR__input_status)}</button>${_el_resume($scope10_id, "a")}`);
4939
- _script($scope10_id, "m7");
4987
+ _script($scope10_id, "n7");
4940
4988
  _subscribe($si__input_workspaceId__OR__input_status && $if_content5__repoLabel__closures, writeScope($scope10_id, {
4941
4989
  l: pr?.number,
4942
4990
  _: _scope_with_id($scope9_id)
@@ -4951,7 +4999,7 @@ var side_nav_item_default = _template("m", (input) => {
4951
4999
  _for_of(st?.ports || [], (p) => {
4952
5000
  const $scope11_id = _scope_id();
4953
5001
  _html(`<span class="chip port-chip"${_attr("title", p.cmd)}><button class=port-open${_attr("title", `Open http://${typeof location === "undefined" ? "localhost" : location.hostname}:${p.port}`)}>:${_sep($sg__input_workspaceId__OR__input_status)}${_escape(p.port)}${_el_resume($scope11_id, "c", $sg__input_workspaceId__OR__input_status)}</button>${_el_resume($scope11_id, "b")}<button class=${armedPid === p.pid ? "\"port-kill armed\"" : "port-kill"}${armedPid === p.pid ? _attr("title", `Really kill ${p.cmd}?`) : _attr("title", `Kill ${p.cmd} (pid ${p.pid})`)}>×</button>${_el_resume($scope11_id, "d")}</span>${_el_resume($scope11_id, "a", $sg__input_workspaceId__OR__input_status)}`);
4954
- _script($scope11_id, "m8");
5002
+ _script($scope11_id, "n8");
4955
5003
  _subscribe($armedPid__closures, writeScope($scope11_id, {
4956
5004
  g: p?.cmd,
4957
5005
  h: p?.port,
@@ -4969,7 +5017,7 @@ var side_nav_item_default = _template("m", (input) => {
4969
5017
  }
4970
5018
  }, $scope3_id, "j", $sg__input_workspaceId__OR__input_status, $sg__input_workspaceId__OR__input_status, $sg__input_workspaceId__OR__input_status__OR__input_onReview__OR__input_onNewSession, 0, 1);
4971
5019
  _html(`</div></section>${_el_resume($scope3_id, "a", _serialize_guard($scope0_reason, 12))}`);
4972
- _script($scope3_id, "m9");
5020
+ _script($scope3_id, "n9");
4973
5021
  _subscribe($si__input_workspaces__OR__input_workspaceId && $ws_name__closures, _subscribe($si__input_sessions && $input_sessions__closures, _subscribe($si__input_onNewSession && $input_onNewSession__closures, _subscribe($si__input_onReview && $input_onReview__closures, _subscribe($si__input_current && $input_current__closures, writeScope($scope3_id, {
4974
5022
  _: _scope_with_id($scope1_id),
4975
5023
  Ca5: $si__input_current && 1,
@@ -5027,7 +5075,7 @@ var side_nav_item_default = _template("m", (input) => {
5027
5075
  });
5028
5076
  //#endregion
5029
5077
  //#region src/tags/icons/icon-sidebar-collapse.marko
5030
- var icon_sidebar_collapse_default = _template("I", (input) => {
5078
+ var icon_sidebar_collapse_default = _template("J", (input) => {
5031
5079
  const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
5032
5080
  const $scope0_id = _scope_id();
5033
5081
  _set_serialize_reason({
@@ -5044,7 +5092,7 @@ var icon_sidebar_collapse_default = _template("I", (input) => {
5044
5092
  });
5045
5093
  //#endregion
5046
5094
  //#region src/tags/icons/icon-sidebar.marko
5047
- var icon_sidebar_default = _template("J", (input) => {
5095
+ var icon_sidebar_default = _template("K", (input) => {
5048
5096
  const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
5049
5097
  const $scope0_id = _scope_id();
5050
5098
  _set_serialize_reason({
@@ -5061,7 +5109,7 @@ var icon_sidebar_default = _template("J", (input) => {
5061
5109
  });
5062
5110
  //#endregion
5063
5111
  //#region src/tags/icons/icon-bell.marko
5064
- var icon_bell_default = _template("v", (input) => {
5112
+ var icon_bell_default = _template("w", (input) => {
5065
5113
  const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
5066
5114
  const $scope0_id = _scope_id();
5067
5115
  _set_serialize_reason({
@@ -5078,7 +5126,7 @@ var icon_bell_default = _template("v", (input) => {
5078
5126
  });
5079
5127
  //#endregion
5080
5128
  //#region src/tags/icons/icon-gauge.marko
5081
- var icon_gauge_default = _template("B", (input) => {
5129
+ var icon_gauge_default = _template("C", (input) => {
5082
5130
  const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
5083
5131
  const $scope0_id = _scope_id();
5084
5132
  _set_serialize_reason({
@@ -5095,7 +5143,7 @@ var icon_gauge_default = _template("B", (input) => {
5095
5143
  });
5096
5144
  //#endregion
5097
5145
  //#region src/tags/icons/icon-folder-plus.marko
5098
- var icon_folder_plus_default = _template("A", (input) => {
5146
+ var icon_folder_plus_default = _template("B", (input) => {
5099
5147
  const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
5100
5148
  const $scope0_id = _scope_id();
5101
5149
  _set_serialize_reason({
@@ -5122,7 +5170,7 @@ var $class$1 = [
5122
5170
  "\"side-nav open\"",
5123
5171
  "\"side-nav closed open\""
5124
5172
  ];
5125
- var side_nav_default = _template("n", (input) => {
5173
+ var side_nav_default = _template("o", (input) => {
5126
5174
  const $scope0_reason = _scope_reason(), $sg__input_workspace__OR__input_allWorkspaces__OR__input_allStatus = _serialize_guard($scope0_reason, 1), $sg__input_workspace__OR__input_allWorkspaces = _serialize_guard($scope0_reason, 0), $sg__input_workspace__OR__input_allWorkspaces__OR__input_onNewSession = _serialize_guard($scope0_reason, 2), $sg__input_workspace__OR__input_allWorkspaces__OR__input_allStatus__OR__input_sessions = _serialize_guard($scope0_reason, 3), $sg__input_agents = _serialize_guard($scope0_reason, 14), $si__input_workspace = _serialize_if($scope0_reason, 4), $si__input_workspace__OR__input_allWorkspaces = _serialize_if($scope0_reason, 0), $si__input_allStatus = _serialize_if($scope0_reason, 12), $si__input_onSelectWorkspace = _serialize_if($scope0_reason, 13), $si__input_agents = _serialize_if($scope0_reason, 14), $si__input_onNewSession = _serialize_if($scope0_reason, 15), $si__input_onReviewOpened = _serialize_if($scope0_reason, 16), $si__input_sessions = _serialize_if($scope0_reason, 17), $si__input_onRenameSession = _serialize_if($scope0_reason, 18), $si__input_onCloseSession = _serialize_if($scope0_reason, 19);
5127
5175
  const $scope0_id = _scope_id();
5128
5176
  const $ws_id__closures = /* @__PURE__ */ new Set();
@@ -5156,7 +5204,7 @@ var side_nav_default = _template("n", (input) => {
5156
5204
  notifyOn = false;
5157
5205
  input.onError?.(`Notifications failed: ${String(err.message || err)}`);
5158
5206
  }
5159
- }, "n0", $scope0_id);
5207
+ }, "o0", $scope0_id);
5160
5208
  const itemIds = input.allWorkspaces?.length ? input.allWorkspaces.filter((w) => w.status === "active").map((w) => w.id) : [ws.id];
5161
5209
  const workspaces = input.allWorkspaces || [ws];
5162
5210
  const allStatus = input.allStatus || {};
@@ -5165,7 +5213,7 @@ var side_nav_default = _template("n", (input) => {
5165
5213
  if (drawerOpen) {
5166
5214
  const $scope5_id = _scope_id();
5167
5215
  _html(`<div class=drawer-backdrop></div>${_el_resume($scope5_id, "a")}`);
5168
- _script($scope5_id, "n16");
5216
+ _script($scope5_id, "o16");
5169
5217
  writeScope($scope5_id, {});
5170
5218
  return 0;
5171
5219
  }
@@ -5203,16 +5251,16 @@ var side_nav_default = _template("n", (input) => {
5203
5251
  drawerOpen = false;
5204
5252
  input.onSelectWorkspace?.(wsId);
5205
5253
  }
5206
- }, "n1", $scope1_id),
5254
+ }, "o1", $scope1_id),
5207
5255
  onManage: _resume(function() {
5208
5256
  drawerOpen = false;
5209
5257
  input.onManage?.(wsId);
5210
- }, "n2", $scope1_id),
5258
+ }, "o2", $scope1_id),
5211
5259
  agents: input.agents,
5212
5260
  onNewSession: _resume(function(agent) {
5213
5261
  drawerOpen = false;
5214
5262
  input.onNewSession(wsId, agent);
5215
- }, "n3", $scope1_id),
5263
+ }, "o3", $scope1_id),
5216
5264
  onReview: _resume(function() {
5217
5265
  drawerOpen = false;
5218
5266
  if (wsId === ws.id) {
@@ -5222,7 +5270,7 @@ var side_nav_default = _template("n", (input) => {
5222
5270
  navIntent$1.requestDiff(wsId);
5223
5271
  input.onSelectWorkspace?.(wsId);
5224
5272
  }
5225
- }, "n4", $scope1_id),
5273
+ }, "o4", $scope1_id),
5226
5274
  onReviewPr: _resume(function(worktree, number) {
5227
5275
  drawerOpen = false;
5228
5276
  const pr = `${worktree}/${number}`;
@@ -5233,7 +5281,7 @@ var side_nav_default = _template("n", (input) => {
5233
5281
  navIntent$1.requestDiff(wsId, pr);
5234
5282
  input.onSelectWorkspace?.(wsId);
5235
5283
  }
5236
- }, "n5", $scope1_id),
5284
+ }, "o5", $scope1_id),
5237
5285
  sessions: wsId === ws.id && input.sessions ? input.sessions : allStatus[wsId]?.sessions || [],
5238
5286
  currentTab: wsId === ws.id && view === "term" ? tab : null,
5239
5287
  onOpenTab: _resume(function(sessionId) {
@@ -5242,7 +5290,7 @@ var side_nav_default = _template("n", (input) => {
5242
5290
  tab = sessionId;
5243
5291
  view = "term";
5244
5292
  } else input.onOpenSession?.(wsId, sessionId);
5245
- }, "n6", $scope1_id),
5293
+ }, "o6", $scope1_id),
5246
5294
  onRenameSession: input.onRenameSession,
5247
5295
  onCloseSession: input.onCloseSession
5248
5296
  });
@@ -5257,13 +5305,13 @@ var side_nav_default = _template("n", (input) => {
5257
5305
  const $scope2_id = _scope_id();
5258
5306
  let railHover = null;
5259
5307
  const railHoverBox = { timer: 0 };
5260
- const railKeep = _resume(() => clearTimeout(railHoverBox.timer), "n7", $scope2_id);
5308
+ const railKeep = _resume(() => clearTimeout(railHoverBox.timer), "o7", $scope2_id);
5261
5309
  const railHide = _resume(() => {
5262
5310
  clearTimeout(railHoverBox.timer);
5263
5311
  railHoverBox.timer = setTimeout(() => {
5264
5312
  railHover = null;
5265
5313
  }, 150);
5266
- }, "n8", $scope2_id);
5314
+ }, "o8", $scope2_id);
5267
5315
  _html("<div class=side-rail>");
5268
5316
  _for_of(itemIds, (wsId, i) => {
5269
5317
  const $scope3_id = _scope_id();
@@ -5292,10 +5340,10 @@ var side_nav_default = _template("n", (input) => {
5292
5340
  current: wsId === ws.id,
5293
5341
  onSelect: _resume(function() {
5294
5342
  if (wsId !== ws.id) input.onSelectWorkspace?.(wsId);
5295
- }, "n9", $scope3_id)
5343
+ }, "o9", $scope3_id)
5296
5344
  });
5297
5345
  _html(`</span>${_el_resume($scope3_id, "a")}`);
5298
- _script($scope3_id, "n17");
5346
+ _script($scope3_id, "o17");
5299
5347
  _subscribe($si__input_allStatus && $allStatus__closures, _subscribe($si__input_workspace__OR__input_allWorkspaces && $workspaces__closures, _subscribe($si__input_workspace && $ws_id__closures, writeScope($scope3_id, {
5300
5348
  d: wsId,
5301
5349
  _: _scope_with_id($scope2_id),
@@ -5335,16 +5383,16 @@ var side_nav_default = _template("n", (input) => {
5335
5383
  onSelect: _resume(function() {
5336
5384
  railHover = null;
5337
5385
  if (hoverId !== ws.id) input.onSelectWorkspace?.(hoverId);
5338
- }, "n10", $scope4_id),
5386
+ }, "o10", $scope4_id),
5339
5387
  onManage: _resume(function() {
5340
5388
  railHover = null;
5341
5389
  input.onManage?.(hoverId);
5342
- }, "n11", $scope4_id),
5390
+ }, "o11", $scope4_id),
5343
5391
  agents: input.agents,
5344
5392
  onNewSession: _resume(function(agent) {
5345
5393
  railHover = null;
5346
5394
  input.onNewSession(hoverId, agent);
5347
- }, "n12", $scope4_id),
5395
+ }, "o12", $scope4_id),
5348
5396
  onReview: _resume(function() {
5349
5397
  railHover = null;
5350
5398
  if (hoverId === ws.id) {
@@ -5354,7 +5402,7 @@ var side_nav_default = _template("n", (input) => {
5354
5402
  navIntent$1.requestDiff(hoverId);
5355
5403
  input.onSelectWorkspace?.(hoverId);
5356
5404
  }
5357
- }, "n13", $scope4_id),
5405
+ }, "o13", $scope4_id),
5358
5406
  onReviewPr: _resume(function(worktree, number) {
5359
5407
  railHover = null;
5360
5408
  const pr = `${worktree}/${number}`;
@@ -5365,7 +5413,7 @@ var side_nav_default = _template("n", (input) => {
5365
5413
  navIntent$1.requestDiff(hoverId, pr);
5366
5414
  input.onSelectWorkspace?.(hoverId);
5367
5415
  }
5368
- }, "n14", $scope4_id),
5416
+ }, "o14", $scope4_id),
5369
5417
  sessions: hoverId === ws.id && input.sessions ? input.sessions : allStatus[hoverId]?.sessions || [],
5370
5418
  currentTab: hoverId === ws.id && view === "term" ? tab : null,
5371
5419
  onOpenTab: _resume(function(sessionId) {
@@ -5374,12 +5422,12 @@ var side_nav_default = _template("n", (input) => {
5374
5422
  tab = sessionId;
5375
5423
  view = "term";
5376
5424
  } else input.onOpenSession?.(hoverId, sessionId);
5377
- }, "n15", $scope4_id),
5425
+ }, "o15", $scope4_id),
5378
5426
  onRenameSession: input.onRenameSession,
5379
5427
  onCloseSession: input.onCloseSession
5380
5428
  });
5381
5429
  _html(`</div>${_el_resume($scope4_id, "a")}`);
5382
- _script($scope4_id, "n18");
5430
+ _script($scope4_id, "o18");
5383
5431
  _subscribe($si__input_allStatus && $allStatus__closures, _subscribe($si__input_workspace__OR__input_allWorkspaces && $workspaces__closures, _subscribe($view__closures, _subscribe($tab__closures, _subscribe($si__input_workspace && $ws_id__closures, _subscribe($si__input_onCloseSession && $input_onCloseSession__closures, _subscribe($si__input_onRenameSession && $input_onRenameSession__closures, _subscribe($si__input_sessions && $input_sessions__closures, _subscribe($si__input_onReviewOpened && $input_onReviewOpened__closures, _subscribe($si__input_onNewSession && $input_onNewSession__closures, _subscribe($si__input_agents && $input_agents__closures, _subscribe($si__input_onSelectWorkspace && $input_onSelectWorkspace__closures, writeScope($scope4_id, {
5384
5432
  c: hoverId,
5385
5433
  b: _existing_scope($childScope3),
@@ -5422,7 +5470,7 @@ var side_nav_default = _template("n", (input) => {
5422
5470
  _html(`<button class=${notifyOn ? "\"icon-btn notify-btn on\"" : "\"icon-btn notify-btn\""} title=${notifyOn ? "\"Disable agent-waiting notifications\"" : "\"Notify when an agent is waiting\""}>`);
5423
5471
  icon_bell_default({ size: 15 });
5424
5472
  _html(`</button>${_el_resume($scope6_id, "a")}`);
5425
- _script($scope6_id, "n19");
5473
+ _script($scope6_id, "o19");
5426
5474
  writeScope($scope6_id, { _: _scope_with_id($scope0_id) });
5427
5475
  return 0;
5428
5476
  }
@@ -5432,8 +5480,8 @@ var side_nav_default = _template("n", (input) => {
5432
5480
  _html(`</button>${_el_resume($scope0_id, "g")}<button class=icon-btn title="New workspace">`);
5433
5481
  icon_folder_plus_default({ size: 16 });
5434
5482
  _html(`</button>${_el_resume($scope0_id, "i")}</div></aside>${_el_resume($scope0_id, "b")}`);
5435
- _script($scope0_id, "n20");
5436
- _script($scope0_id, "n21");
5483
+ _script($scope0_id, "o20");
5484
+ _script($scope0_id, "o21");
5437
5485
  writeScope($scope0_id, {
5438
5486
  n: _serialize_if($scope0_reason, 6) && input.tab,
5439
5487
  o: _serialize_if($scope0_reason, 5) && input.tabChange,
@@ -5613,7 +5661,7 @@ function treeRows(files) {
5613
5661
  }
5614
5662
  //#endregion
5615
5663
  //#region src/tags/icons/icon-back.marko
5616
- var icon_back_default = _template("t", (input) => {
5664
+ var icon_back_default = _template("u", (input) => {
5617
5665
  const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
5618
5666
  const $scope0_id = _scope_id();
5619
5667
  _set_serialize_reason({
@@ -5630,7 +5678,7 @@ var icon_back_default = _template("t", (input) => {
5630
5678
  });
5631
5679
  //#endregion
5632
5680
  //#region src/tags/icons/icon-search.marko
5633
- var icon_search_default = _template("H", (input) => {
5681
+ var icon_search_default = _template("I", (input) => {
5634
5682
  const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
5635
5683
  const $scope0_id = _scope_id();
5636
5684
  _set_serialize_reason({
@@ -5647,7 +5695,7 @@ var icon_search_default = _template("H", (input) => {
5647
5695
  });
5648
5696
  //#endregion
5649
5697
  //#region src/tags/file-filter.marko
5650
- var file_filter_default = _template("f", (input) => {
5698
+ var file_filter_default = _template("g", (input) => {
5651
5699
  const $scope0_reason = _scope_reason();
5652
5700
  const $scope0_id = _scope_id();
5653
5701
  let value = input.value;
@@ -5662,7 +5710,7 @@ var file_filter_default = _template("f", (input) => {
5662
5710
  const next = pending !== null ? pending : value || "";
5663
5711
  pending = null;
5664
5712
  value = next;
5665
- }, "f1", $scope0_id);
5713
+ }, "g1", $scope0_id);
5666
5714
  const type = _resume((v) => {
5667
5715
  if (box.timer) clearTimeout(box.timer);
5668
5716
  if (!v) {
@@ -5673,11 +5721,11 @@ var file_filter_default = _template("f", (input) => {
5673
5721
  }
5674
5722
  pending = v;
5675
5723
  box.timer = setTimeout(flush, 150);
5676
- }, "f2", $scope0_id);
5724
+ }, "g2", $scope0_id);
5677
5725
  _html(`<div class=wrap><input${_attr_input_value($scope0_id, "a", draft, _resume(function(v) {
5678
5726
  type(v);
5679
- }, "f0", $scope0_id))} class=file-filter type=search placeholder="Filter files… (globs, !excludes)" aria-label="Filter files">${_el_resume($scope0_id, "a")}</div>`);
5680
- _script($scope0_id, "f3");
5727
+ }, "g0", $scope0_id))} class=file-filter type=search placeholder="Filter files… (globs, !excludes)" aria-label="Filter files">${_el_resume($scope0_id, "a")}</div>`);
5728
+ _script($scope0_id, "g3");
5681
5729
  writeScope($scope0_id, {
5682
5730
  d: _serialize_if($scope0_reason, 1) && input.value,
5683
5731
  e: _serialize_if($scope0_reason, 0) && input.valueChange,
@@ -5695,7 +5743,7 @@ var file_filter_default = _template("f", (input) => {
5695
5743
  //#region src/tags/diff-find.marko
5696
5744
  var searchDiffFiles;
5697
5745
  var setSearchPaint;
5698
- var diff_find_default = _template("d", (input) => {
5746
+ var diff_find_default = _template("e", (input) => {
5699
5747
  _scope_reason();
5700
5748
  const $scope0_id = _scope_id();
5701
5749
  let query = "";
@@ -5727,7 +5775,7 @@ var diff_find_default = _template("d", (input) => {
5727
5775
  hit,
5728
5776
  keys
5729
5777
  });
5730
- }, "d1", $scope0_id);
5778
+ }, "e1", $scope0_id);
5731
5779
  const type = _resume((v) => {
5732
5780
  query = v;
5733
5781
  hi = 0;
@@ -5737,19 +5785,19 @@ var diff_find_default = _template("d", (input) => {
5737
5785
  box.timer = 0;
5738
5786
  emit(v, 0);
5739
5787
  }, 80);
5740
- }, "d2", $scope0_id);
5788
+ }, "e2", $scope0_id);
5741
5789
  const next = _resume((dir) => {
5742
5790
  if (box.timer) {
5743
5791
  clearTimeout(box.timer);
5744
5792
  box.timer = 0;
5745
5793
  }
5746
5794
  emit(query, (at < 0 ? 0 : at) + dir);
5747
- }, "d3", $scope0_id);
5795
+ }, "e3", $scope0_id);
5748
5796
  _html(`<div class=find-bar><input${_attr_input_value($scope0_id, "a", query, _resume(function(v) {
5749
5797
  type(v);
5750
- }, "d0", $scope0_id))} class=find-input type=search placeholder="Find in diffs" aria-label="Find in diffs">${_el_resume($scope0_id, "a")}<span class=count>${query.trim() ? hits.length ? `${_escape(`${at + 1}`)}/${_escape(`${hits.length}`)}` : "0/0" : ""}${_el_resume($scope0_id, "b")}</span><button class=icon-btn title="Previous match"${_attr("disabled", !hits.length)}>↑</button>${_el_resume($scope0_id, "c")}<button class=icon-btn title="Next match"${_attr("disabled", !hits.length)}>↓</button>${_el_resume($scope0_id, "d")}<button class=icon-btn title="Close find">×</button>${_el_resume($scope0_id, "e")}</div>`);
5751
- _script($scope0_id, "d4");
5752
- _script($scope0_id, "d5");
5798
+ }, "e0", $scope0_id))} class=find-input type=search placeholder="Find in diffs" aria-label="Find in diffs">${_el_resume($scope0_id, "a")}<span class=count>${query.trim() ? hits.length ? `${_escape(`${at + 1}`)}/${_escape(`${hits.length}`)}` : "0/0" : ""}${_el_resume($scope0_id, "b")}</span><button class=icon-btn title="Previous match"${_attr("disabled", !hits.length)}>↑</button>${_el_resume($scope0_id, "c")}<button class=icon-btn title="Next match"${_attr("disabled", !hits.length)}>↓</button>${_el_resume($scope0_id, "d")}<button class=icon-btn title="Close find">×</button>${_el_resume($scope0_id, "e")}</div>`);
5799
+ _script($scope0_id, "e4");
5800
+ _script($scope0_id, "e5");
5753
5801
  writeScope($scope0_id, {
5754
5802
  h: input.files,
5755
5803
  i: input.onState,
@@ -5767,12 +5815,12 @@ var diff_find_default = _template("d", (input) => {
5767
5815
  });
5768
5816
  _resume_branch($scope0_id);
5769
5817
  });
5770
- _template("c", (input) => {
5818
+ _template("d", (input) => {
5771
5819
  _scope_reason();
5772
5820
  const $scope0_id = _scope_id();
5773
- _el($scope0_id, "c0");
5821
+ _el($scope0_id, "d0");
5774
5822
  _html(`<div class=diff-file></div>${_el_resume($scope0_id, "a")}`);
5775
- _script($scope0_id, "c1");
5823
+ _script($scope0_id, "d1");
5776
5824
  writeScope($scope0_id, {
5777
5825
  d: input.file,
5778
5826
  e: input.comments,
@@ -5792,7 +5840,7 @@ var copyText;
5792
5840
  var prHeadSigFromDiff;
5793
5841
  var getTermDims;
5794
5842
  var makeFileFilter;
5795
- var diff_view_default = _template("e", (input) => {
5843
+ var diff_view_default = _template("f", (input) => {
5796
5844
  const $scope0_reason = _scope_reason(), $sg__input_onExit = _serialize_guard($scope0_reason, 1), $sg__input_sessions = _serialize_guard($scope0_reason, 0), $si__input_sessions = _serialize_if($scope0_reason, 0), $si__input_sessions_0_title = _serialize_if($scope0_reason, 2), $si__input_sessions_0_agent = _serialize_if($scope0_reason, 3);
5797
5845
  const $scope0_id = _scope_id();
5798
5846
  const $collapsedDirs__closures = /* @__PURE__ */ new Set();
@@ -5842,7 +5890,7 @@ var diff_view_default = _template("e", (input) => {
5842
5890
  const next = new Set(collapsedRepos);
5843
5891
  if (!next.delete(worktree)) next.add(worktree);
5844
5892
  collapsedRepos = next;
5845
- }, "e2", $scope0_id);
5893
+ }, "f2", $scope0_id);
5846
5894
  const nearBox = {
5847
5895
  io: null,
5848
5896
  cbs: null
@@ -5857,7 +5905,7 @@ var diff_view_default = _template("e", (input) => {
5857
5905
  }, { rootMargin: "600px 0px" });
5858
5906
  nearBox.cbs.set(el, cb);
5859
5907
  nearBox.io.observe(el);
5860
- }, "e3", $scope0_id);
5908
+ }, "f3", $scope0_id);
5861
5909
  const focusPrSection = _resume((pr) => {
5862
5910
  if (!pr) return;
5863
5911
  const list = repos || [];
@@ -5877,7 +5925,7 @@ var diff_view_default = _template("e", (input) => {
5877
5925
  root.scrollTo({ top: Math.max(0, top - 8) });
5878
5926
  };
5879
5927
  requestAnimationFrame(tryScroll);
5880
- }, "e4", $scope0_id);
5928
+ }, "f4", $scope0_id);
5881
5929
  const headBox = {
5882
5930
  sig: "",
5883
5931
  timer: 0
@@ -5900,25 +5948,25 @@ var diff_view_default = _template("e", (input) => {
5900
5948
  error = String(err.message || err);
5901
5949
  }
5902
5950
  loading = false;
5903
- }, "e5", $scope0_id);
5951
+ }, "f5", $scope0_id);
5904
5952
  const loadReview = _resume(async () => {
5905
5953
  try {
5906
5954
  const reviewData = await api$3(`/api/workspaces/${input.workspaceId}/review`);
5907
5955
  comments = reviewData.comments || [];
5908
5956
  viewed = new Set(reviewData.viewed || []);
5909
5957
  } catch {}
5910
- }, "e6", $scope0_id);
5958
+ }, "f6", $scope0_id);
5911
5959
  const reload = _resume(() => {
5912
5960
  dismissedDrift = /* @__PURE__ */ new Set();
5913
5961
  return load(uncommitted, true);
5914
- }, "e7", $scope0_id);
5962
+ }, "f7", $scope0_id);
5915
5963
  const reloadSoon = _resume(() => {
5916
5964
  if (headBox.timer) clearTimeout(headBox.timer);
5917
5965
  headBox.timer = setTimeout(() => {
5918
5966
  headBox.timer = 0;
5919
5967
  reload();
5920
5968
  }, 250);
5921
- }, "e8", $scope0_id);
5969
+ }, "f8", $scope0_id);
5922
5970
  const repoList = repos || [];
5923
5971
  const allFiles = repoList.flatMap((r) => r.files.map((f) => ({
5924
5972
  ...f,
@@ -5941,11 +5989,11 @@ var diff_view_default = _template("e", (input) => {
5941
5989
  return map;
5942
5990
  })();
5943
5991
  const sendPick = (input.sessions || []).some((s) => s.id === sendTarget) ? sendTarget : input.sessions?.[0]?.id ?? null;
5944
- const localDiffers = _resume((repo) => !!repo.pr && !!repo.localHead && (repo.localHead !== repo.head || repo.branch !== repo.pr.headRefName), "e9");
5992
+ const localDiffers = _resume((repo) => !!repo.pr && !!repo.localHead && (repo.localHead !== repo.head || repo.branch !== repo.pr.headRefName), "f9");
5945
5993
  const driftRepos = repoList.filter((r) => r.githubDrift && !dismissedDrift.has(r.id));
5946
5994
  const dismissDrift = _resume(() => {
5947
5995
  dismissedDrift = /* @__PURE__ */ new Set([...dismissedDrift, ...driftRepos.map((r) => r.id)]);
5948
- }, "e10", $scope0_id);
5996
+ }, "f10", $scope0_id);
5949
5997
  const toggleViewed = _resume((key) => {
5950
5998
  const next = new Set(viewed);
5951
5999
  const isViewed = !next.has(key);
@@ -5963,7 +6011,7 @@ var diff_view_default = _template("e", (input) => {
5963
6011
  }).catch(() => {
5964
6012
  error = "Saving viewed state failed — it may reset on reload.";
5965
6013
  });
5966
- }, "e11", $scope0_id);
6014
+ }, "f11", $scope0_id);
5967
6015
  const saveComment = _resume(async (file, text) => {
5968
6016
  const range = draft;
5969
6017
  draft = null;
@@ -5985,11 +6033,11 @@ var diff_view_default = _template("e", (input) => {
5985
6033
  } catch (err) {
5986
6034
  error = String(err.message || err);
5987
6035
  }
5988
- }, "e12", $scope0_id);
6036
+ }, "f12", $scope0_id);
5989
6037
  const removeComment = _resume(async (id) => {
5990
6038
  comments = comments.filter((c) => c.id !== id);
5991
6039
  await fetch(`/api/review-comments/${id}`, { method: "DELETE" });
5992
- }, "e13", $scope0_id);
6040
+ }, "f13", $scope0_id);
5993
6041
  const clearComments = _resume(async () => {
5994
6042
  comments = [];
5995
6043
  draft = null;
@@ -5998,7 +6046,7 @@ var diff_view_default = _template("e", (input) => {
5998
6046
  headers: { "content-type": "application/json" },
5999
6047
  body: JSON.stringify({ action: "clear" })
6000
6048
  });
6001
- }, "e14", $scope0_id);
6049
+ }, "f14", $scope0_id);
6002
6050
  const copyMarkdown = _resume(async () => {
6003
6051
  if (!await copyText(commentMarkdown(comments, repos))) {
6004
6052
  error = "Copy failed — clipboard needs HTTPS on this browser.";
@@ -6009,7 +6057,7 @@ var diff_view_default = _template("e", (input) => {
6009
6057
  copied = false;
6010
6058
  }, 1500);
6011
6059
  await clearComments();
6012
- }, "e15", $scope0_id);
6060
+ }, "f15", $scope0_id);
6013
6061
  const sendTo = _resume(async (sessionId) => {
6014
6062
  if (!sessionId) return;
6015
6063
  sending = true;
@@ -6029,22 +6077,22 @@ var diff_view_default = _template("e", (input) => {
6029
6077
  error = String(err.message || err);
6030
6078
  sending = false;
6031
6079
  }
6032
- }, "e16", $scope0_id);
6080
+ }, "f16", $scope0_id);
6033
6081
  const jumpTo = _resume((key) => {
6034
6082
  const el = ((scrollEl) => scrollEl())(_el_read_error).querySelector(`details[data-key="${CSS.escape(key)}"]`);
6035
6083
  if (el) {
6036
6084
  el.open = true;
6037
6085
  el.scrollIntoView({ block: "start" });
6038
6086
  }
6039
- }, "e17", $scope0_id);
6087
+ }, "f17", $scope0_id);
6040
6088
  const openFind = _resume(() => {
6041
6089
  findOpen = true;
6042
6090
  findTick++;
6043
- }, "e18", $scope0_id);
6091
+ }, "f18", $scope0_id);
6044
6092
  const onFindState = _resume((next) => {
6045
6093
  findState = next;
6046
6094
  if (next.hit) setTimeout(() => jumpTo(next.hit.key), 0);
6047
- }, "e19", $scope0_id);
6095
+ }, "f19", $scope0_id);
6048
6096
  _html(`<div class=diff-view><aside class=${!treeOpen ? "\"tree closed\"" : "tree"}>`);
6049
6097
  _for_of(repoList.filter((r) => shownByRepo.get(r.id)?.length), (repo) => {
6050
6098
  const $scope5_id = _scope_id();
@@ -6054,8 +6102,8 @@ var diff_view_default = _template("e", (input) => {
6054
6102
  const $scope6_id = _scope_id();
6055
6103
  const $if_content4__dirKey__closures = /* @__PURE__ */ new Set();
6056
6104
  const repoRows = treeRows(shownByRepo.get(repo.id) || []);
6057
- const dirKey = _resume((path) => `${repo.id}/${path}`, "e20", $scope6_id);
6058
- const rowDir = _resume((row) => row.kind === "dir" ? row.path : row.file.path.includes("/") ? row.file.path.slice(0, row.file.path.lastIndexOf("/")) : "", "e21");
6105
+ const dirKey = _resume((path) => `${repo.id}/${path}`, "f20", $scope6_id);
6106
+ const rowDir = _resume((row) => row.kind === "dir" ? row.path : row.file.path.includes("/") ? row.file.path.slice(0, row.file.path.lastIndexOf("/")) : "", "f21");
6059
6107
  const hiddenByCollapse = _resume((row) => {
6060
6108
  const dir = rowDir(row);
6061
6109
  for (const collapsed of collapsedDirs) {
@@ -6065,14 +6113,14 @@ var diff_view_default = _template("e", (input) => {
6065
6113
  if (dir === path || dir.startsWith(`${path}/`)) return true;
6066
6114
  }
6067
6115
  return false;
6068
- }, "e22", $scope6_id);
6116
+ }, "f22", $scope6_id);
6069
6117
  _for_of(repoRows, (row) => {
6070
6118
  const $scope7_id = _scope_id();
6071
6119
  _if(() => {
6072
6120
  if (!hiddenByCollapse(row) && row.kind === "dir") {
6073
6121
  const $scope29_id = _scope_id();
6074
6122
  _html(`<button class=${collapsedDirs.has(dirKey(row.path)) ? "\"tree-dir dim mono closed\"" : "\"tree-dir dim mono\""}${_attr("title", row.path)}${_attr_style(`padding-left:${.35 + row.depth * .75}rem`)}><span class=tree-chev>${collapsedDirs.has(dirKey(row.path)) ? "▸" : "▾"}${_el_resume($scope29_id, "b")}</span>${_escape(row.label)}${_el_resume($scope29_id, "c")}/</button>${_el_resume($scope29_id, "a")}`);
6075
- _script($scope29_id, "e33");
6123
+ _script($scope29_id, "f33");
6076
6124
  _subscribe($if_content4__dirKey__closures, _subscribe($collapsedDirs__closures, writeScope($scope29_id, { Cd5: 1 })));
6077
6125
  return 0;
6078
6126
  } else if (!hiddenByCollapse(row) && row.kind !== "dir") {
@@ -6087,7 +6135,7 @@ var diff_view_default = _template("e", (input) => {
6087
6135
  }
6088
6136
  }, $scope8_id, "e", 1, 1, 1, 0, 1);
6089
6137
  _html(`</button>${_el_resume($scope8_id, "a")}`);
6090
- _script($scope8_id, "e34");
6138
+ _script($scope8_id, "f34");
6091
6139
  _subscribe($commentsByFile__closures, _subscribe($viewed__closures, writeScope($scope8_id, {})));
6092
6140
  return 1;
6093
6141
  }
@@ -6113,7 +6161,7 @@ var diff_view_default = _template("e", (input) => {
6113
6161
  }
6114
6162
  }, $scope5_id, "d");
6115
6163
  _html("</div>");
6116
- _script($scope5_id, "e35");
6164
+ _script($scope5_id, "f35");
6117
6165
  writeScope($scope5_id, { g: repo?.id });
6118
6166
  }, "id", $scope0_id, "a", 1, 1, 1, "</aside>", 1);
6119
6167
  _html("<div class=diff-col><div class=diff-head>");
@@ -6123,7 +6171,7 @@ var diff_view_default = _template("e", (input) => {
6123
6171
  _html("<button class=icon-btn title=\"Back to terminal\">");
6124
6172
  icon_back_default({ size: 14 });
6125
6173
  _html(`</button>${_el_resume($scope1_id, "a")}`);
6126
- _script($scope1_id, "e36");
6174
+ _script($scope1_id, "f36");
6127
6175
  writeScope($scope1_id, { _: _scope_with_id($scope0_id) });
6128
6176
  return 0;
6129
6177
  }
@@ -6137,7 +6185,7 @@ var diff_view_default = _template("e", (input) => {
6137
6185
  if ((input.sessions || []).length === 1) {
6138
6186
  const $scope3_id = _scope_id();
6139
6187
  _html(`<button class="btn primary"${_attr("disabled", sending)}>${sending ? "Sending…" : `Send to ${_escape(`${input.sessions[0].title || input.sessions[0].agent}`)}`}${_el_resume($scope3_id, "b")}</button>${_el_resume($scope3_id, "a")}`);
6140
- _script($scope3_id, "e37");
6188
+ _script($scope3_id, "f37");
6141
6189
  _subscribe($sending__closures, _subscribe($si__input_sessions_0_agent && $input_sessions_0_agent__closures, _subscribe($si__input_sessions_0_title && $input_sessions_0_title__closures, writeScope($scope3_id, { _: _scope_with_id($scope2_id) }))));
6142
6190
  return 0;
6143
6191
  } else if ((input.sessions || []).length) {
@@ -6145,7 +6193,7 @@ var diff_view_default = _template("e", (input) => {
6145
6193
  _html(`<span class="split-btn primary"><button${_attr("disabled", sending)}>${sending ? "Sending…" : "Send to"}${_el_resume($scope4_id, "b")}</button>${_el_resume($scope4_id, "a")}`);
6146
6194
  _attr_select_value($scope4_id, "c", sendTarget, _resume((_new_sendTarget) => {
6147
6195
  sendTarget = _new_sendTarget;
6148
- }, "e0", $scope4_id), () => {
6196
+ }, "f0", $scope4_id), () => {
6149
6197
  _html(`<select aria-label="Send comments to session"${_attr("disabled", sending)}>`);
6150
6198
  _for_of(input.sessions, (s) => {
6151
6199
  const $scope36_id = _scope_id();
@@ -6154,7 +6202,7 @@ var diff_view_default = _template("e", (input) => {
6154
6202
  }, "id", $scope4_id, "c", $sg__input_sessions, 1, $sg__input_sessions, "</select>", 1);
6155
6203
  });
6156
6204
  _html("</span>");
6157
- _script($scope4_id, "e38");
6205
+ _script($scope4_id, "f38");
6158
6206
  _subscribe($sendTarget__closures, _subscribe($sending__closures, _subscribe($si__input_sessions && $input_sessions__closures, writeScope($scope4_id, {
6159
6207
  _: _scope_with_id($scope2_id),
6160
6208
  Ccy: 1
@@ -6162,7 +6210,7 @@ var diff_view_default = _template("e", (input) => {
6162
6210
  return 1;
6163
6211
  }
6164
6212
  }, $scope2_id, "c", $sg__input_sessions, $sg__input_sessions, $sg__input_sessions, 0, 1);
6165
- _script($scope2_id, "e39");
6213
+ _script($scope2_id, "f39");
6166
6214
  writeScope($scope2_id, {});
6167
6215
  return 0;
6168
6216
  }
@@ -6180,7 +6228,7 @@ var diff_view_default = _template("e", (input) => {
6180
6228
  value: fileFilter,
6181
6229
  valueChange: _resume((_new_fileFilter) => {
6182
6230
  fileFilter = _new_fileFilter;
6183
- }, "e23", $scope0_id)
6231
+ }, "f23", $scope0_id)
6184
6232
  });
6185
6233
  _html("</div>");
6186
6234
  _if(() => {
@@ -6192,7 +6240,7 @@ var diff_view_default = _template("e", (input) => {
6192
6240
  tick: findTick,
6193
6241
  onState: _resume(function(s) {
6194
6242
  onFindState(s);
6195
- }, "e24", $scope28_id),
6243
+ }, "f24", $scope28_id),
6196
6244
  onClose: _resume(function() {
6197
6245
  findOpen = false;
6198
6246
  findState = {
@@ -6200,7 +6248,7 @@ var diff_view_default = _template("e", (input) => {
6200
6248
  hit: null,
6201
6249
  keys: []
6202
6250
  };
6203
- }, "e25", $scope28_id)
6251
+ }, "f25", $scope28_id)
6204
6252
  });
6205
6253
  writeScope($scope28_id, { a: _existing_scope($childScope2) });
6206
6254
  return 0;
@@ -6213,8 +6261,8 @@ var diff_view_default = _template("e", (input) => {
6213
6261
  toast_default({
6214
6262
  onDismiss: _resume(function() {
6215
6263
  error = null;
6216
- }, "e26", $scope17_id),
6217
- content: _content_resume("e40", () => {
6264
+ }, "f26", $scope17_id),
6265
+ content: _content_resume("f40", () => {
6218
6266
  _scope_reason();
6219
6267
  const $scope18_id = _scope_id();
6220
6268
  _html(`${_escape(error)}${_el_resume($scope18_id, "a")}`);
@@ -6235,7 +6283,7 @@ var diff_view_default = _template("e", (input) => {
6235
6283
  kind: "warn",
6236
6284
  placement: "inline",
6237
6285
  title: `${repo.worktree}: base not found`,
6238
- content: _content_resume("e41", () => {
6286
+ content: _content_resume("f41", () => {
6239
6287
  _scope_reason();
6240
6288
  const $scope23_id = _scope_id();
6241
6289
  _html(`${_escape(repo.base)}${_el_resume($scope23_id, "a")}<!>${uncommitted ? " — showing uncommitted changes only" : ""}${_el_resume($scope23_id, "b")}.`);
@@ -6258,7 +6306,7 @@ var diff_view_default = _template("e", (input) => {
6258
6306
  kind: "info",
6259
6307
  placement: "inline",
6260
6308
  title: repo.pr ? `${repo.worktree} #${repo.pr.number}` : repo.worktree,
6261
- content: _content_resume("e42", () => {
6309
+ content: _content_resume("f42", () => {
6262
6310
  _scope_reason();
6263
6311
  const $scope25_id = _scope_id();
6264
6312
  _html(`already in <!>${_escape(repo.base)}${_el_resume($scope25_id, "a")}<!>${uncommitted ? " — showing uncommitted changes only" : ""}${_el_resume($scope25_id, "b")}.`);
@@ -6286,16 +6334,16 @@ var diff_view_default = _template("e", (input) => {
6286
6334
  title: "GitHub is behind",
6287
6335
  onDismiss: _resume(function() {
6288
6336
  dismissDrift();
6289
- }, "e27", $scope19_id),
6290
- action: attrTag({ content: _content_resume("e44", () => {
6337
+ }, "f27", $scope19_id),
6338
+ action: attrTag({ content: _content_resume("f44", () => {
6291
6339
  _scope_reason();
6292
6340
  const $scope20_id = _scope_id();
6293
6341
  _html(`<button class=btn${_attr("disabled", loading)}>${loading ? "Reloading…" : "Reload"}${_el_resume($scope20_id, "b")}</button>${_el_resume($scope20_id, "a")}`);
6294
- _script($scope20_id, "e43");
6342
+ _script($scope20_id, "f43");
6295
6343
  _subscribe($loading__closures, writeScope($scope20_id, { _: _scope_with_id($scope19_id) }));
6296
6344
  _resume_branch($scope20_id);
6297
6345
  }, $scope19_id) }),
6298
- content: _content_resume("e45", () => {
6346
+ content: _content_resume("f45", () => {
6299
6347
  _scope_reason();
6300
6348
  const $scope34_id = _scope_id();
6301
6349
  _html("<span class=dim>");
@@ -6330,7 +6378,7 @@ var diff_view_default = _template("e", (input) => {
6330
6378
  kind: "info",
6331
6379
  placement: "inline",
6332
6380
  title: `${repo.worktree} #${repo.pr.number}`,
6333
- content: _content_resume("e46", () => {
6381
+ content: _content_resume("f46", () => {
6334
6382
  _scope_reason();
6335
6383
  const $scope27_id = _scope_id();
6336
6384
  _html(`this view is <!>${_escape(shortSha(repo.head))}${_el_resume($scope27_id, "a")} (<!>${_escape(repo.pr.headRefName)}${_el_resume($scope27_id, "b")}). Local is <!>${_escape(shortSha(repo.localHead))}${_el_resume($scope27_id, "c")} (<!>${_escape(repo.branch)}${_el_resume($scope27_id, "d")}<!>${uncommitted ? ", plus uncommitted" : ""}${_el_resume($scope27_id, "e")}).`);
@@ -6397,7 +6445,7 @@ var diff_view_default = _template("e", (input) => {
6397
6445
  if (repo.pr) {
6398
6446
  const $scope39_id = _scope_id();
6399
6447
  _html(`<a class="chip pr"${_attr("href", `${repo.pr.url}/files`)} target=_blank rel=noopener${_attr("title", `${repo.pr.title} — ${repo.pr.headRefName} ${repo.head} vs ${repo.base} ${repo.baseSha}`)}>#<!>${_escape(repo.pr.number)}${_el_resume($scope39_id, "b")}</a>${_el_resume($scope39_id, "a")}<span class=dim>${_escape(repo.pr.title)}${_el_resume($scope39_id, "c")}</span>`);
6400
- _script($scope39_id, "e47");
6448
+ _script($scope39_id, "f47");
6401
6449
  _subscribe($for_content3__repo_baseSha__closures, _subscribe($for_content3__repo_base__closures, _subscribe($for_content3__repo_head__closures, _subscribe($for_content3__repo_pr_headRefName__closures, _subscribe($for_content3__repo_pr_title__closures, _subscribe($for_content3__repo_pr_url__closures, _subscribe($for_content3__repo_pr_number__closures, writeScope($scope39_id, {
6402
6450
  Ca5: 2,
6403
6451
  Ca6: 2,
@@ -6421,7 +6469,7 @@ var diff_view_default = _template("e", (input) => {
6421
6469
  }
6422
6470
  }, $scope30_id, "i", 1, 1, 1, 0, 1);
6423
6471
  _html(`</button>${_el_resume($scope30_id, "a")}`);
6424
- _script($scope30_id, "e48");
6472
+ _script($scope30_id, "f48");
6425
6473
  _subscribe($for_content3__repo_branch__closures, _subscribe($for_content3__repo_baseSha__closures, _subscribe($for_content3__repo_base__closures, _subscribe($for_content3__repo_head__closures, _subscribe($for_content3__repo_worktree__closures, _subscribe($for_content3__repo_pr__closures, _subscribe($for_content3__repo_id__closures, _subscribe($for_content3__repo__closures, _subscribe($collapsedRepos__closures, writeScope($scope30_id, { Cd6: 1 }))))))))));
6426
6474
  return 0;
6427
6475
  } else {
@@ -6489,7 +6537,7 @@ var diff_view_default = _template("e", (input) => {
6489
6537
  }, $scope12_id, "f", 1, 1, 1, 0, 1);
6490
6538
  _html(`<label class=viewed><input${_attr_input_checked($scope12_id, "h", viewed.has(file.key), _resume(function() {
6491
6539
  toggleViewed(file.key);
6492
- }, "e1", $scope12_id))} type=checkbox>${_el_resume($scope12_id, "h")}<span class=dim>viewed</span></label>${_el_resume($scope12_id, "g")}</summary>`);
6540
+ }, "f1", $scope12_id))} type=checkbox>${_el_resume($scope12_id, "h")}<span class=dim>viewed</span></label>${_el_resume($scope12_id, "g")}</summary>`);
6493
6541
  _if(() => {
6494
6542
  if (file.binary) {
6495
6543
  const $scope45_id = _scope_id();
@@ -6512,7 +6560,7 @@ var diff_view_default = _template("e", (input) => {
6512
6560
  {
6513
6561
  const $scope31_id = _scope_id();
6514
6562
  _html(`<div class=diff-wait></div>${_el_resume($scope31_id, "a")}`);
6515
- _script($scope31_id, "e49");
6563
+ _script($scope31_id, "f49");
6516
6564
  writeScope($scope31_id, {});
6517
6565
  return 0;
6518
6566
  }
@@ -6522,7 +6570,7 @@ var diff_view_default = _template("e", (input) => {
6522
6570
  }
6523
6571
  }, $scope12_id, "i");
6524
6572
  _html(`</details>${_el_resume($scope12_id, "a")}`);
6525
- _script($scope12_id, "e50");
6573
+ _script($scope12_id, "f50");
6526
6574
  _subscribe($toggleViewed2__closures, _subscribe($commentsByFile__closures, _subscribe($shownKeySet__closures, _subscribe($viewed__closures, writeScope($scope12_id, {
6527
6575
  k: file,
6528
6576
  l: file?.key,
@@ -6586,8 +6634,8 @@ var diff_view_default = _template("e", (input) => {
6586
6634
  _html(`</div>${_el_resume($scope0_id, "s")}</div>`);
6587
6635
  _if(() => {}, $scope0_id, "a0");
6588
6636
  _html("</div>");
6589
- _script($scope0_id, "e53");
6590
- _script($scope0_id, "e54");
6637
+ _script($scope0_id, "f53");
6638
+ _script($scope0_id, "f54");
6591
6639
  writeScope($scope0_id, {
6592
6640
  a3: input.workspaceId,
6593
6641
  a4: input.focusPr,
@@ -6680,7 +6728,7 @@ var diff_view_default = _template("e", (input) => {
6680
6728
  });
6681
6729
  _resume_branch($scope0_id);
6682
6730
  });
6683
- _template("y", (input) => {
6731
+ _template("z", (input) => {
6684
6732
  const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
6685
6733
  const $scope0_id = _scope_id();
6686
6734
  _set_serialize_reason({
@@ -6695,7 +6743,7 @@ _template("y", (input) => {
6695
6743
  });
6696
6744
  _serialize_if($scope0_reason, 0) && writeScope($scope0_id, { a: _existing_scope($childScope) });
6697
6745
  });
6698
- _template("D", (input) => {
6746
+ _template("E", (input) => {
6699
6747
  const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
6700
6748
  const $scope0_id = _scope_id();
6701
6749
  _set_serialize_reason({
@@ -6710,7 +6758,7 @@ _template("D", (input) => {
6710
6758
  });
6711
6759
  _serialize_if($scope0_reason, 0) && writeScope($scope0_id, { a: _existing_scope($childScope) });
6712
6760
  });
6713
- _template("w", (input) => {
6761
+ _template("x", (input) => {
6714
6762
  const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
6715
6763
  const $scope0_id = _scope_id();
6716
6764
  _set_serialize_reason({
@@ -6725,7 +6773,7 @@ _template("w", (input) => {
6725
6773
  });
6726
6774
  _serialize_if($scope0_reason, 0) && writeScope($scope0_id, { a: _existing_scope($childScope) });
6727
6775
  });
6728
- _template("C", (input) => {
6776
+ _template("D", (input) => {
6729
6777
  const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
6730
6778
  const $scope0_id = _scope_id();
6731
6779
  _set_serialize_reason({
@@ -6744,7 +6792,7 @@ _template("C", (input) => {
6744
6792
  //#region src/tags/term.marko
6745
6793
  var REPEAT_DELAY = 400;
6746
6794
  var REPEAT_EVERY = 55;
6747
- var term_default = _template("o", (input) => {
6795
+ var term_default = _template("p", (input) => {
6748
6796
  const $scope0_reason = _scope_reason();
6749
6797
  _serialize_guard($scope0_reason, 6);
6750
6798
  _serialize_guard($scope0_reason, 7);
@@ -6761,7 +6809,7 @@ var term_default = _template("o", (input) => {
6761
6809
  _serialize_guard($scope0_reason, 14);
6762
6810
  const $si__input_sessionId = _serialize_if($scope0_reason, 10), $si__input_onRenameSession = _serialize_if($scope0_reason, 11), $si__input_onCloseSession = _serialize_if($scope0_reason, 12), $si__input_workspaceName = _serialize_if($scope0_reason, 14);
6763
6811
  const $scope0_id = _scope_id();
6764
- _hoist($scope0_id, "o6");
6812
+ _hoist($scope0_id, "p6");
6765
6813
  const $input_sessionId__closures = /* @__PURE__ */ new Set();
6766
6814
  const $input_onRenameSession__closures = /* @__PURE__ */ new Set();
6767
6815
  const $input_onCloseSession__closures = /* @__PURE__ */ new Set();
@@ -6784,7 +6832,7 @@ var term_default = _template("o", (input) => {
6784
6832
  copyFlashBox.timer = setTimeout(() => {
6785
6833
  copiedFlash = false;
6786
6834
  }, 1200);
6787
- }, "o0", $scope0_id);
6835
+ }, "p0", $scope0_id);
6788
6836
  const holdBox = { current: null };
6789
6837
  const startHold = _resume((seq) => {
6790
6838
  ((stopHold) => stopHold())(_hoist_read_error);
@@ -6794,7 +6842,7 @@ var term_default = _template("o", (input) => {
6794
6842
  state.repeat = setInterval(() => ioBox.current?.send(seq), REPEAT_EVERY);
6795
6843
  }, REPEAT_DELAY);
6796
6844
  holdBox.current = state;
6797
- }, "o1", $scope0_id);
6845
+ }, "p1", $scope0_id);
6798
6846
  const stopHold = _resume(() => {
6799
6847
  const hold = holdBox.current;
6800
6848
  if (hold) {
@@ -6802,7 +6850,7 @@ var term_default = _template("o", (input) => {
6802
6850
  clearInterval(hold.repeat);
6803
6851
  holdBox.current = null;
6804
6852
  }
6805
- }, "o2", $scope0_id);
6853
+ }, "p2", $scope0_id);
6806
6854
  const uploadAsset = _resume(async (file) => {
6807
6855
  if (!file) return;
6808
6856
  uploading = true;
@@ -6815,7 +6863,7 @@ var term_default = _template("o", (input) => {
6815
6863
  } finally {
6816
6864
  uploading = false;
6817
6865
  }
6818
- }, "o3", $scope0_id);
6866
+ }, "p3", $scope0_id);
6819
6867
  const handlePasted = _resume(async (clipboardData) => {
6820
6868
  const files = [...clipboardData?.files || []];
6821
6869
  for (const file of files) await uploadAsset(file);
@@ -6824,7 +6872,7 @@ var term_default = _template("o", (input) => {
6824
6872
  if (text) ioBox.current?.send(text);
6825
6873
  }
6826
6874
  trapOpen = false;
6827
- }, "o4", $scope0_id);
6875
+ }, "p4", $scope0_id);
6828
6876
  const pasteClipboard = _resume(async () => {
6829
6877
  if (!navigator.clipboard?.read) {
6830
6878
  trapOpen = true;
@@ -6844,7 +6892,7 @@ var term_default = _template("o", (input) => {
6844
6892
  } catch {
6845
6893
  trapOpen = true;
6846
6894
  }
6847
- }, "o5", $scope0_id);
6895
+ }, "p5", $scope0_id);
6848
6896
  _html(`<div${_attr("hidden", input.mode === "diff")} class=term-wrap><div class=term></div>${_el_resume($scope0_id, "b")}`);
6849
6897
  _if(() => {
6850
6898
  if (uploading) {
@@ -6867,16 +6915,16 @@ var term_default = _template("o", (input) => {
6867
6915
  if (trapOpen) {
6868
6916
  const $scope12_id = _scope_id();
6869
6917
  _html(`<div class=trap-backdrop><div class=paste-trap><p class=dim>Long-press below and choose Paste</p><input placeholder="Paste here…">${_el_resume($scope12_id, "c")}<button class=btn>Cancel</button>${_el_resume($scope12_id, "d")}</div>${_el_resume($scope12_id, "b")}</div>${_el_resume($scope12_id, "a")}`);
6870
- _script($scope12_id, "o8");
6871
- _script($scope12_id, "o9");
6918
+ _script($scope12_id, "p8");
6919
+ _script($scope12_id, "p9");
6872
6920
  writeScope($scope12_id, {});
6873
6921
  return 0;
6874
6922
  }
6875
6923
  }, $scope0_id, "f", 1, 1, 1, 0, 1);
6876
6924
  _html(`</div>${_el_resume($scope0_id, "a")}`);
6877
6925
  _if(() => {}, $scope0_id, "g", 1, 1, 1, 0, 1);
6878
- _script($scope0_id, "o24");
6879
- _script($scope0_id, "o25");
6926
+ _script($scope0_id, "p24");
6927
+ _script($scope0_id, "p25");
6880
6928
  writeScope($scope0_id, {
6881
6929
  j: input.workspaceId,
6882
6930
  k: input.mode,
@@ -6941,8 +6989,8 @@ var $class = [
6941
6989
  "\"meter-fill warm\"",
6942
6990
  "\"meter-fill hot warm\""
6943
6991
  ];
6944
- var usage_stats_default = _template("q", (input) => {
6945
- const $scope0_reason = _scope_reason(), $sg__input_onClose = _serialize_guard($scope0_reason, 0);
6992
+ var usage_stats_default = _template("r", (input) => {
6993
+ const $scope0_reason = _scope_reason(), $sg__input_openChange = _serialize_guard($scope0_reason, 2);
6946
6994
  const $scope0_id = _scope_id();
6947
6995
  const $usage_error__closures = /* @__PURE__ */ new Set();
6948
6996
  const $usage_agents__closures = /* @__PURE__ */ new Set();
@@ -6956,24 +7004,24 @@ var usage_stats_default = _template("q", (input) => {
6956
7004
  } catch (err) {
6957
7005
  usage = { error: String(err.message || err) };
6958
7006
  }
6959
- }, "q0", $scope0_id);
7007
+ }, "r0", $scope0_id);
6960
7008
  const refresh = _resume(async () => {
6961
7009
  refreshing = true;
6962
7010
  await load(true);
6963
7011
  refreshing = false;
6964
- }, "q1", $scope0_id);
7012
+ }, "r1", $scope0_id);
6965
7013
  _set_serialize_reason({
6966
- 0: $sg__input_onClose,
6967
- 2: $sg__input_onClose
7014
+ 0: _serialize_guard($scope0_reason, 1),
7015
+ 1: $sg__input_openChange,
7016
+ 2: $sg__input_openChange
6968
7017
  });
6969
7018
  const $childScope = _peek_scope_id();
6970
7019
  modal_view_default({
6971
7020
  label: "Usage",
6972
7021
  class: "usage-modal",
6973
- onClose: _resume(function() {
6974
- input.onClose();
6975
- }, "q2", $scope0_id),
6976
- content: _content("q4", () => {
7022
+ open: input.open,
7023
+ openChange: input.openChange,
7024
+ content: _content("r3", () => {
6977
7025
  _scope_reason();
6978
7026
  const $scope1_id = _scope_id();
6979
7027
  _html(`<header class=manage-head><div><h2>Usage</h2></div><button class=${refreshing ? "\"icon-btn spinning\"" : "icon-btn"} title="Refresh usage"${_attr("disabled", refreshing)}>`);
@@ -7030,30 +7078,29 @@ var usage_stats_default = _template("q", (input) => {
7030
7078
  return 2;
7031
7079
  }
7032
7080
  }, $scope1_id, "c", 1, 1, 1, 0, 1);
7033
- _script($scope1_id, "q3");
7081
+ _script($scope1_id, "r2");
7034
7082
  _subscribe($refreshing__closures, _subscribe($usage__closures, writeScope($scope1_id, { _: _scope_with_id($scope0_id) })));
7035
7083
  _resume_branch($scope1_id);
7036
7084
  })
7037
7085
  });
7038
- _script($scope0_id, "q5");
7086
+ _script($scope0_id, "r4");
7039
7087
  writeScope($scope0_id, {
7040
- d: input.onClose,
7041
- f: usage?.error,
7042
- g: usage?.agents,
7043
- i: load,
7044
- j: refresh,
7045
- l: $usage_error__closures,
7046
- m: $usage_agents__closures,
7047
- k: $usage__closures,
7048
- n: $refreshing__closures,
7088
+ g: usage?.error,
7089
+ h: usage?.agents,
7090
+ j: load,
7091
+ k: refresh,
7092
+ m: $usage_error__closures,
7093
+ n: $usage_agents__closures,
7094
+ l: $usage__closures,
7095
+ o: $refreshing__closures,
7049
7096
  a: _serialize_if($scope0_reason, 0) && _existing_scope($childScope)
7050
7097
  });
7051
7098
  _resume_branch($scope0_id);
7052
7099
  });
7053
7100
  //#endregion
7054
7101
  //#region src/tags/prompt-dialog.marko
7055
- var prompt_dialog_default = _template("k", (input) => {
7056
- const $scope0_reason = _scope_reason(), $sg__input_label = _serialize_guard($scope0_reason, 1), $sg__input_onCancel = _serialize_guard($scope0_reason, 2), $si__input_submitLabel = _serialize_if($scope0_reason, 3), $si__input_label = _serialize_if($scope0_reason, 1), $si__input_placeholder = _serialize_if($scope0_reason, 4);
7102
+ var prompt_dialog_default = _template("l", (input) => {
7103
+ const $scope0_reason = _scope_reason(), $sg__input_openChange = _serialize_guard($scope0_reason, 3), $si__input_submitLabel = _serialize_if($scope0_reason, 4), $si__input_label = _serialize_if($scope0_reason, 1), $si__input_placeholder = _serialize_if($scope0_reason, 5);
7057
7104
  const $scope0_id = _scope_id();
7058
7105
  const $modalview_content__subscribers = /* @__PURE__ */ new Set();
7059
7106
  const $input_submitLabel__closures = /* @__PURE__ */ new Set();
@@ -7064,53 +7111,60 @@ var prompt_dialog_default = _template("k", (input) => {
7064
7111
  const submit = _resume(() => {
7065
7112
  const v = value.trim();
7066
7113
  if (v) input.onSubmit(v);
7067
- }, "k1", $scope0_id);
7114
+ }, "l1", $scope0_id);
7068
7115
  _set_serialize_reason({
7069
- 0: $sg__input_onCancel,
7070
- 1: $sg__input_label,
7071
- 2: $sg__input_onCancel
7116
+ 0: _serialize_guard($scope0_reason, 2),
7117
+ 1: $sg__input_openChange,
7118
+ 2: $sg__input_openChange
7072
7119
  });
7073
7120
  const $childScope = _peek_scope_id();
7074
7121
  modal_view_default({
7075
7122
  label: input.label,
7076
7123
  class: "prompt-dlg",
7077
- onClose: _resume(function() {
7078
- input.onCancel();
7079
- }, "k2", $scope0_id),
7080
- footer: attrTag({ content: _content_resume("k5", () => {
7124
+ open: input.open,
7125
+ openChange: input.openChange,
7126
+ footer: attrTag({ content: _content_resume("l5", () => {
7081
7127
  _scope_reason();
7082
7128
  const $scope1_id = _scope_id();
7083
- _html(`<button class="btn primary"${_attr("disabled", !value.trim())}>${_escape(input.submitLabel || "OK")}${_el_resume($scope1_id, "b", _serialize_guard($scope0_reason, 3))}</button>${_el_resume($scope1_id, "a")}<div class=spacer></div><button class=btn>Cancel</button>${_el_resume($scope1_id, "c")}`);
7084
- _script($scope1_id, "k3");
7129
+ _html(`<button type=button class="btn primary"${_attr("disabled", !value.trim())}>${_escape(input.submitLabel || "OK")}${_el_resume($scope1_id, "b", _serialize_guard($scope0_reason, 4))}</button>${_el_resume($scope1_id, "a")}<div class=spacer></div>`);
7130
+ dialog_close_default({
7131
+ class: "btn",
7132
+ content: _content("l2", () => {
7133
+ _scope_reason();
7134
+ _scope_id();
7135
+ _html("Cancel");
7136
+ })
7137
+ });
7138
+ _script($scope1_id, "l3");
7085
7139
  _subscribe($value__closures, _subscribe($si__input_submitLabel && $input_submitLabel__closures, writeScope($scope1_id, { _: _scope_with_id($scope0_id) })));
7086
7140
  _resume_branch($scope1_id);
7087
7141
  }, $scope0_id) }),
7088
- content: _content("k6", () => {
7142
+ content: _content("l6", () => {
7089
7143
  _scope_reason();
7090
7144
  const $scope2_id = _scope_id();
7091
- _html(`<h2 class=prompt-title>${_escape(input.label)}${_el_resume($scope2_id, "a", $sg__input_label)}</h2><input${_attr_input_value($scope2_id, "b", value, _resume((_new_value) => {
7145
+ _html(`<h2 class=prompt-title>${_escape(input.label)}${_el_resume($scope2_id, "a", _serialize_guard($scope0_reason, 1))}</h2><input${_attr_input_value($scope2_id, "b", value, _resume((_new_value) => {
7092
7146
  value = _new_value;
7093
- }, "k0", $scope2_id))}${_attr("placeholder", input.placeholder)}>${_el_resume($scope2_id, "b")}`);
7094
- _script($scope2_id, "k4");
7147
+ }, "l0", $scope2_id))}${_attr("placeholder", input.placeholder)}>${_el_resume($scope2_id, "b")}`);
7148
+ _script($scope2_id, "l4");
7095
7149
  _subscribe($value__closures, _subscribe($si__input_placeholder && $input_placeholder__closures, _subscribe($si__input_label && $input_label__closures, _subscribe($modalview_content__subscribers, writeScope($scope2_id, {
7096
7150
  _: _scope_with_id($scope0_id),
7097
- Cp: 1
7151
+ Cq: 1
7098
7152
  })))));
7099
7153
  _resume_branch($scope2_id);
7100
7154
  })
7101
7155
  });
7102
- _script($scope0_id, "k7");
7156
+ _script($scope0_id, "l7");
7103
7157
  writeScope($scope0_id, {
7104
7158
  e: input.onSubmit,
7105
- g: input.onCancel,
7106
- h: input.submitLabel,
7107
- j: value,
7108
- l: submit,
7159
+ h: input.openChange,
7160
+ i: input.submitLabel,
7161
+ k: value,
7162
+ m: submit,
7109
7163
  B2: $modalview_content__subscribers,
7110
- n: $si__input_submitLabel && $input_submitLabel__closures,
7111
- p: $value__closures,
7112
- m: $si__input_label && $input_label__closures,
7113
- o: $si__input_placeholder && $input_placeholder__closures,
7164
+ o: $si__input_submitLabel && $input_submitLabel__closures,
7165
+ q: $value__closures,
7166
+ n: $si__input_label && $input_label__closures,
7167
+ p: $si__input_placeholder && $input_placeholder__closures,
7114
7168
  a: _serialize_if($scope0_reason, 0) && _existing_scope($childScope)
7115
7169
  });
7116
7170
  _resume_branch($scope0_id);
@@ -7118,7 +7172,8 @@ var prompt_dialog_default = _template("k", (input) => {
7118
7172
  //#endregion
7119
7173
  //#region src/tags/work-view.marko
7120
7174
  var api$1;
7121
- var work_view_default = _template("r", (input) => {
7175
+ var isTransientApiError$1;
7176
+ var work_view_default = _template("s", (input) => {
7122
7177
  const $scope0_reason = _scope_reason(), $sg__input_agents = _serialize_guard($scope0_reason, 8), $sg__input_workspace = _serialize_guard($scope0_reason, 2), $si__input_workspace = _serialize_if($scope0_reason, 2), $si__input_active = _serialize_if($scope0_reason, 4), $si__input_agents = _serialize_if($scope0_reason, 8), $si__input_preferred = _serialize_if($scope0_reason, 5);
7123
7178
  const $scope0_id = _scope_id();
7124
7179
  const $error__closures = /* @__PURE__ */ new Set();
@@ -7148,7 +7203,7 @@ var work_view_default = _template("r", (input) => {
7148
7203
  focusPr = pr || "";
7149
7204
  if (pr) focusNonce++;
7150
7205
  view = "diff";
7151
- }, "r0", $scope0_id);
7206
+ }, "s0", $scope0_id);
7152
7207
  const shownSessions = sessions ?? input.allStatus?.[ws.id]?.sessions ?? null;
7153
7208
  const curTab = (() => {
7154
7209
  if (tab && shownSessions?.some((s) => s.id === tab)) return tab;
@@ -7175,7 +7230,7 @@ var work_view_default = _template("r", (input) => {
7175
7230
  } finally {
7176
7231
  spawning = false;
7177
7232
  }
7178
- }, "r1", $scope0_id);
7233
+ }, "s1", $scope0_id);
7179
7234
  const loadMem = {
7180
7235
  wanted: false,
7181
7236
  run: void 0
@@ -7195,13 +7250,14 @@ var work_view_default = _template("r", (input) => {
7195
7250
  if (!sessions.some((s) => s.id === tab)) tab = sessions[0]?.id || null;
7196
7251
  } catch (err) {
7197
7252
  sessions = sessions || [];
7198
- error = String(err);
7253
+ if (isTransientApiError$1(err)) return;
7254
+ error = String(err.message || err);
7199
7255
  }
7200
- }, "r2", $scope0_id);
7256
+ }, "s2", $scope0_id);
7201
7257
  const loadSessions = _resume((autoCreate) => {
7202
7258
  if (autoCreate) loadMem.wanted = true;
7203
7259
  return (loadMem.run ??= coalesce(loadBody))();
7204
- }, "r3", $scope0_id);
7260
+ }, "s3", $scope0_id);
7205
7261
  const closeSession = _resume(async (id) => {
7206
7262
  try {
7207
7263
  await api$1(`/api/sessions/${id}`, { method: "DELETE" });
@@ -7210,7 +7266,7 @@ var work_view_default = _template("r", (input) => {
7210
7266
  } catch (err) {
7211
7267
  error = `Kill session failed: ${String(err.message || err)}`;
7212
7268
  }
7213
- }, "r4", $scope0_id);
7269
+ }, "s4", $scope0_id);
7214
7270
  const renameSession = _resume(async (id, title) => {
7215
7271
  title = title.trim();
7216
7272
  if (!title) return;
@@ -7223,7 +7279,7 @@ var work_view_default = _template("r", (input) => {
7223
7279
  headers: { "content-type": "application/json" },
7224
7280
  body: JSON.stringify({ title })
7225
7281
  });
7226
- }, "r5", $scope0_id);
7282
+ }, "s5", $scope0_id);
7227
7283
  const newSession = _resume(async (wsId, agent) => {
7228
7284
  if (wsId === ws.id) {
7229
7285
  const session = await createSession(agent, true);
@@ -7240,10 +7296,10 @@ var work_view_default = _template("r", (input) => {
7240
7296
  } catch (err) {
7241
7297
  error = String(err.message || err);
7242
7298
  }
7243
- }, "r6", $scope0_id);
7299
+ }, "s6", $scope0_id);
7244
7300
  const promptRename = _resume((s) => {
7245
7301
  renaming = s;
7246
- }, "r7", $scope0_id);
7302
+ }, "s7", $scope0_id);
7247
7303
  _html("<div class=work-view>");
7248
7304
  _set_serialize_reason({
7249
7305
  0: _serialize_guard($scope0_reason, 0),
@@ -7270,40 +7326,40 @@ var work_view_default = _template("r", (input) => {
7270
7326
  tab: curTab,
7271
7327
  tabChange: _resume(function(id) {
7272
7328
  tab = id;
7273
- }, "r8", $scope0_id),
7329
+ }, "s8", $scope0_id),
7274
7330
  view,
7275
7331
  viewChange: _resume((_new_view) => {
7276
7332
  view = _new_view;
7277
- }, "r9", $scope0_id),
7333
+ }, "s9", $scope0_id),
7278
7334
  drawerOpen,
7279
7335
  drawerOpenChange: _resume((_new_drawerOpen) => {
7280
7336
  drawerOpen = _new_drawerOpen;
7281
- }, "r10", $scope0_id),
7337
+ }, "s10", $scope0_id),
7282
7338
  allWorkspaces: input.allWorkspaces,
7283
7339
  allStatus: input.allStatus,
7284
7340
  agents: input.agents,
7285
7341
  onError: _resume(function(message) {
7286
7342
  error = message;
7287
- }, "r11", $scope0_id),
7343
+ }, "s11", $scope0_id),
7288
7344
  onSelectWorkspace: input.onSelectWorkspace,
7289
7345
  onOpenSession: input.onOpenSession,
7290
7346
  onManage: input.onManage,
7291
7347
  onNew: input.onNew,
7292
7348
  onUsage: _resume(function() {
7293
7349
  usageOpen = true;
7294
- }, "r12", $scope0_id),
7350
+ }, "s12", $scope0_id),
7295
7351
  onNewSession: _resume(function(wsId, agent) {
7296
7352
  newSession(wsId, agent);
7297
- }, "r13", $scope0_id),
7353
+ }, "s13", $scope0_id),
7298
7354
  onCloseSession: _resume(function(id) {
7299
7355
  closeSession(id);
7300
- }, "r14", $scope0_id),
7356
+ }, "s14", $scope0_id),
7301
7357
  onRenameSession: _resume(function(s) {
7302
7358
  promptRename(s);
7303
- }, "r15", $scope0_id),
7359
+ }, "s15", $scope0_id),
7304
7360
  onReviewOpened: _resume(function(pr) {
7305
7361
  openDiff(pr);
7306
- }, "r16", $scope0_id)
7362
+ }, "s16", $scope0_id)
7307
7363
  });
7308
7364
  _html("<div class=main-col>");
7309
7365
  _if(() => {
@@ -7312,8 +7368,8 @@ var work_view_default = _template("r", (input) => {
7312
7368
  toast_default({
7313
7369
  onDismiss: _resume(function() {
7314
7370
  error = null;
7315
- }, "r17", $scope5_id),
7316
- content: _content_resume("r31", () => {
7371
+ }, "s17", $scope5_id),
7372
+ content: _content_resume("s31", () => {
7317
7373
  _scope_reason();
7318
7374
  const $scope6_id = _scope_id();
7319
7375
  _html(`${_escape(error)}${_el_resume($scope6_id, "a")}`);
@@ -7338,10 +7394,10 @@ var work_view_default = _template("r", (input) => {
7338
7394
  onSent: _resume(function(sessionId) {
7339
7395
  tab = sessionId;
7340
7396
  view = "term";
7341
- }, "r18", $scope0_id),
7397
+ }, "s18", $scope0_id),
7342
7398
  onExit: _resume(function() {
7343
7399
  view = "term";
7344
- }, "r19", $scope0_id)
7400
+ }, "s19", $scope0_id)
7345
7401
  });
7346
7402
  _show_end($scope0_id, "f", $show);
7347
7403
  _html(`<div class=${view === "diff" ? "\"term-area as-bar\"" : "term-area"}>`);
@@ -7380,31 +7436,31 @@ var work_view_default = _template("r", (input) => {
7380
7436
  sessions: shownSessions,
7381
7437
  onNewSession: _resume(function(agent) {
7382
7438
  newSession(ws.id, agent);
7383
- }, "r20", $scope2_id),
7439
+ }, "s20", $scope2_id),
7384
7440
  onOpenTab: _resume(function(id) {
7385
7441
  tab = id;
7386
- }, "r21", $scope2_id),
7442
+ }, "s21", $scope2_id),
7387
7443
  onCloseSession: _resume(function(id) {
7388
7444
  closeSession(id);
7389
- }, "r22", $scope2_id),
7445
+ }, "s22", $scope2_id),
7390
7446
  onRenameSession: _resume(function(id) {
7391
7447
  const target = (shownSessions || []).find((x) => x.id === id);
7392
7448
  if (target) renaming = target;
7393
- }, "r23", $scope2_id),
7449
+ }, "s23", $scope2_id),
7394
7450
  active: input.active && view === "term" && s.id === curTab,
7395
7451
  mode: view,
7396
7452
  onToggleDiff: _resume(function() {
7397
7453
  openDiff();
7398
- }, "r24", $scope2_id),
7454
+ }, "s24", $scope2_id),
7399
7455
  onExitReview: _resume(function() {
7400
7456
  view = "term";
7401
- }, "r25", $scope2_id),
7457
+ }, "s25", $scope2_id),
7402
7458
  onOpenNav: _resume(function() {
7403
7459
  drawerOpen = true;
7404
- }, "r26", $scope2_id),
7460
+ }, "s26", $scope2_id),
7405
7461
  onManage: _resume(function() {
7406
7462
  input.onManage?.(ws.id);
7407
- }, "r27", $scope2_id)
7463
+ }, "s27", $scope2_id)
7408
7464
  });
7409
7465
  _show_end($scope2_id, "d", $show2);
7410
7466
  _subscribe($newSession2__closures, _subscribe($closeSession2__closures, _subscribe($curTab__closures, _subscribe($shownSessions__closures, _subscribe($si__input_workspace && $ws_name__closures, _subscribe($si__input_workspace && $ws_id__closures, _subscribe($view__closures, _subscribe($si__input_agents && $input_agents__closures, _subscribe($si__input_active && $input_active__closures, writeScope($scope2_id, {
@@ -7416,7 +7472,7 @@ var work_view_default = _template("r", (input) => {
7416
7472
  if (!shownSessions.length) {
7417
7473
  const $scope3_id = _scope_id();
7418
7474
  _html(`<div class=empty-sess><p class=dim>No sessions in this workspace.</p><button class="btn primary"${_attr("disabled", spawning)}>${spawning ? "Starting…" : `Start ${_escape(`${input.preferred || "claude"}`)}`}${_el_resume($scope3_id, "b")}</button>${_el_resume($scope3_id, "a")}</div>`);
7419
- _script($scope3_id, "r32");
7475
+ _script($scope3_id, "s32");
7420
7476
  _subscribe($spawning__closures, _subscribe($si__input_preferred && $input_preferred__closures, writeScope($scope3_id, {})));
7421
7477
  return 0;
7422
7478
  }
@@ -7434,39 +7490,46 @@ var work_view_default = _template("r", (input) => {
7434
7490
  _if(() => {
7435
7491
  if (usageOpen) {
7436
7492
  const $scope4_id = _scope_id();
7437
- usage_stats_default({ onClose: _resume(function() {
7438
- usageOpen = false;
7439
- }, "r28", $scope4_id) });
7440
- writeScope($scope4_id, {});
7493
+ _set_serialize_reason(6);
7494
+ const $childScope4 = _peek_scope_id();
7495
+ usage_stats_default({
7496
+ open: usageOpen,
7497
+ openChange: _resume((_new_usageOpen) => {
7498
+ usageOpen = _new_usageOpen;
7499
+ }, "s28", $scope4_id)
7500
+ });
7501
+ writeScope($scope4_id, { a: _existing_scope($childScope4) });
7441
7502
  return 0;
7442
7503
  }
7443
- }, $scope0_id, "h");
7504
+ }, $scope0_id, "h", 1, 1, 1, 0, 1);
7444
7505
  _if(() => {
7445
7506
  if (renaming) {
7446
7507
  const $scope7_id = _scope_id();
7447
- const $childScope4 = _peek_scope_id();
7508
+ _set_serialize_reason(10);
7509
+ const $childScope5 = _peek_scope_id();
7448
7510
  prompt_dialog_default({
7449
7511
  label: "Rename session",
7450
7512
  value: renaming.title || renaming.agent,
7451
7513
  submitLabel: "Rename",
7514
+ open: !!renaming,
7515
+ openChange: _resume(function(v) {
7516
+ if (!v) renaming = null;
7517
+ }, "s29", $scope7_id),
7452
7518
  onSubmit: _resume(function(title) {
7453
7519
  renameSession(renaming.id, title);
7454
7520
  renaming = null;
7455
- }, "r29", $scope7_id),
7456
- onCancel: _resume(function() {
7457
- renaming = null;
7458
- }, "r30", $scope7_id)
7521
+ }, "s30", $scope7_id)
7459
7522
  });
7460
- writeScope($scope7_id, { a: _existing_scope($childScope4) });
7523
+ writeScope($scope7_id, { a: _existing_scope($childScope5) });
7461
7524
  return 0;
7462
7525
  }
7463
- }, $scope0_id, "i");
7526
+ }, $scope0_id, "i", 1, 1, 1, 0, 1);
7464
7527
  _html("</div>");
7465
- _script($scope0_id, "r33");
7466
- _script($scope0_id, "r34");
7467
- _script($scope0_id, "r35");
7468
- _script($scope0_id, "r36");
7469
- _script($scope0_id, "r37");
7528
+ _script($scope0_id, "s33");
7529
+ _script($scope0_id, "s34");
7530
+ _script($scope0_id, "s35");
7531
+ _script($scope0_id, "s36");
7532
+ _script($scope0_id, "s37");
7470
7533
  writeScope($scope0_id, {
7471
7534
  m: input.allStatus,
7472
7535
  n: input.active,
@@ -7479,8 +7542,10 @@ var work_view_default = _template("r", (input) => {
7479
7542
  y: view,
7480
7543
  a1: focusNonce,
7481
7544
  a2: drawerOpen,
7545
+ a3: usageOpen,
7482
7546
  a4: error,
7483
7547
  a5: spawning,
7548
+ a6: renaming,
7484
7549
  a7: renaming?.title,
7485
7550
  a8: renaming?.agent,
7486
7551
  a9: renaming?.id,
@@ -7501,25 +7566,26 @@ var work_view_default = _template("r", (input) => {
7501
7566
  b0: newSession,
7502
7567
  b1: promptRename,
7503
7568
  a: _existing_scope($childScope),
7504
- b6: $error__closures,
7569
+ b7: $error__closures,
7505
7570
  d: _existing_scope($childScope2),
7506
7571
  b2: $si__input_active && $input_active__closures,
7507
7572
  b4: $si__input_agents && $input_agents__closures,
7508
7573
  b5: $view__closures,
7509
- bb: $si__input_workspace && $ws_id__closures,
7510
- bc: $si__input_workspace && $ws_name__closures,
7511
- bd: $shownSessions__closures,
7512
- bf: $curTab__closures,
7513
- bg: $closeSession2__closures,
7514
- bi: $newSession2__closures,
7574
+ bd: $si__input_workspace && $ws_id__closures,
7575
+ be: $si__input_workspace && $ws_name__closures,
7576
+ bf: $shownSessions__closures,
7577
+ bh: $curTab__closures,
7578
+ bi: $closeSession2__closures,
7579
+ bk: $newSession2__closures,
7515
7580
  b3: $si__input_preferred && $input_preferred__closures,
7516
- b7: $spawning__closures
7581
+ b8: $spawning__closures
7517
7582
  });
7518
7583
  _resume_branch($scope0_id);
7519
7584
  });
7520
7585
  //#endregion
7521
7586
  //#region src/routes/+page.marko
7522
7587
  var api;
7588
+ var isTransientApiError;
7523
7589
  var navIntent;
7524
7590
  var prefs;
7525
7591
  var _page_default = _template("b", (input) => {
@@ -7563,6 +7629,7 @@ var _page_default = _template("b", (input) => {
7563
7629
  }
7564
7630
  loaded = true;
7565
7631
  } catch (err) {
7632
+ if (loaded && isTransientApiError(err)) return;
7566
7633
  error = `Loading workspaces failed: ${err.message || String(err)}`;
7567
7634
  }
7568
7635
  }, "b0", $scope0_id);
@@ -7575,7 +7642,11 @@ var _page_default = _template("b", (input) => {
7575
7642
  return (statusMem.run ??= coalesce(async () => {
7576
7643
  const wantFresh = statusMem.fresh;
7577
7644
  statusMem.fresh = false;
7578
- status = await api(`/api/status${wantFresh ? "?fresh" : ""}`);
7645
+ try {
7646
+ status = await api(`/api/status${wantFresh ? "?fresh" : ""}`);
7647
+ } catch (err) {
7648
+ if (!isTransientApiError(err)) throw err;
7649
+ }
7579
7650
  }))();
7580
7651
  }, "b1", $scope0_id);
7581
7652
  const openWorkspace = _resume(async (id) => {
@@ -7629,7 +7700,7 @@ var _page_default = _template("b", (input) => {
7629
7700
  const $scope9_id = _scope_id();
7630
7701
  _html(`<p>${_escape(error)}${_el_resume($scope9_id, "a")}</p><button class=btn>Retry</button>${_el_resume($scope9_id, "b")}`);
7631
7702
  _script($scope9_id, "b20");
7632
- _subscribe($error__closures, writeScope($scope9_id, { Cae: 1 }));
7703
+ _subscribe($error__closures, writeScope($scope9_id, { Caf: 1 }));
7633
7704
  return 0;
7634
7705
  } else {
7635
7706
  const $scope10_id = _scope_id();
@@ -7696,12 +7767,13 @@ var _page_default = _template("b", (input) => {
7696
7767
  _if(() => {
7697
7768
  if (managing) {
7698
7769
  const $scope2_id = _scope_id();
7699
- _set_serialize_reason(6);
7770
+ _set_serialize_reason(10);
7700
7771
  const $childScope2 = _peek_scope_id();
7701
7772
  manage_workspace_default({
7702
7773
  workspace: managing,
7703
- onClose: _resume(function() {
7704
- managingId = null;
7774
+ open: !!managingId,
7775
+ openChange: _resume(function(v) {
7776
+ if (!v) managingId = null;
7705
7777
  }, "b11", $scope2_id),
7706
7778
  onChange: _resume(function(ws) {
7707
7779
  workspaces = workspaces.map((w) => w.id === ws.id ? ws : w);
@@ -7710,14 +7782,16 @@ var _page_default = _template("b", (input) => {
7710
7782
  writeScope($scope2_id, { a: _existing_scope($childScope2) });
7711
7783
  return 0;
7712
7784
  }
7713
- }, $scope0_id, "d");
7785
+ }, $scope0_id, "d", 1, 1, 1, 0, 1);
7714
7786
  _if(() => {
7715
7787
  if (creating) {
7716
7788
  const $scope3_id = _scope_id();
7789
+ _set_serialize_reason(2);
7717
7790
  const $childScope3 = _peek_scope_id();
7718
7791
  new_workspace_default({
7719
- onCancel: _resume(function() {
7720
- creating = false;
7792
+ open: creating,
7793
+ openChange: _resume((_new_creating) => {
7794
+ creating = _new_creating;
7721
7795
  }, "b13", $scope3_id),
7722
7796
  onCreate: _resume(function(ws) {
7723
7797
  if (!workspaces.some((w) => w.id === ws.id)) workspaces = [ws, ...workspaces];
@@ -7728,7 +7802,7 @@ var _page_default = _template("b", (input) => {
7728
7802
  writeScope($scope3_id, { a: _existing_scope($childScope3) });
7729
7803
  return 0;
7730
7804
  }
7731
- }, $scope0_id, "e");
7805
+ }, $scope0_id, "e", 1, 1, 1, 0, 1);
7732
7806
  _for_of(openIds, (id) => {
7733
7807
  const $scope4_id = _scope_id();
7734
7808
  const ws = workspaces.find((w) => w.id === id);
@@ -7793,14 +7867,14 @@ var _page_default = _template("b", (input) => {
7793
7867
  a3: selected,
7794
7868
  a5: managing,
7795
7869
  a6: showInlinePalette,
7796
- ae: $error__closures,
7870
+ af: $error__closures,
7797
7871
  a8: $workspaces__closures,
7798
7872
  a9: $status__closures,
7799
7873
  aa: $settings__closures,
7800
7874
  ab: $selectedId__closures,
7801
7875
  ac: $creating__closures,
7802
- af: $openWorkspace2__closures,
7803
- ag: $managing__closures
7876
+ ag: $openWorkspace2__closures,
7877
+ ah: $managing__closures
7804
7878
  });
7805
7879
  _resume_branch($scope0_id);
7806
7880
  });
@@ -22034,4 +22108,4 @@ server.listen(port, () => {
22034
22108
  //#endregion
22035
22109
  export {};
22036
22110
 
22037
- ;var __MARKO_MANIFEST__={"esfPH6H":{"block":[2,"stylesheet#/assets/index-BxVK_c-q.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/index-BxVK_c-q.css\"",">"],"defer":[2,"/assets/index-LnMHViqj.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/index-LnMHViqj.js\"","></script>"]}};
22111
+ ;var __MARKO_MANIFEST__={"esfPH6H":{"block":[2,"stylesheet#/assets/index-D2S6Vhpc.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/index-D2S6Vhpc.css\"",">"],"defer":[2,"/assets/index-KetIC6bX.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/index-KetIC6bX.js\"","></script>"]}};