@dylanpiercey/work 0.0.15 → 0.0.17

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 (153) hide show
  1. package/dist/index.mjs +237 -205
  2. package/dist/public/assets/{_DWltXATi.js → _0YbQ9lhB.js} +2 -2
  3. package/dist/public/assets/{_DWltXATi.js.map → _0YbQ9lhB.js.map} +1 -1
  4. package/dist/public/assets/{_4GBVe70g.js → _0bG1aK77.js} +2 -2
  5. package/dist/public/assets/{_4GBVe70g.js.map → _0bG1aK77.js.map} +1 -1
  6. package/dist/public/assets/{_K5NvnxJU.js → _5vsh_Hg3.js} +2 -2
  7. package/dist/public/assets/{_K5NvnxJU.js.map → _5vsh_Hg3.js.map} +1 -1
  8. package/dist/public/assets/{_YnlBl5Ip2.js → _B-zJ-YZT2.js} +2 -2
  9. package/dist/public/assets/{_YnlBl5Ip2.js.map → _B-zJ-YZT2.js.map} +1 -1
  10. package/dist/public/assets/{_Bym_871-2.js → _BBBdWdzg2.js} +2 -2
  11. package/dist/public/assets/{_Bym_871-2.js.map → _BBBdWdzg2.js.map} +1 -1
  12. package/dist/public/assets/{_C-2JDMwn.js → _BCC4FPDq.js} +2 -2
  13. package/dist/public/assets/{_C-2JDMwn.js.map → _BCC4FPDq.js.map} +1 -1
  14. package/dist/public/assets/{_xTZ99WxP.js → _BE8iKV08.js} +2 -2
  15. package/dist/public/assets/{_xTZ99WxP.js.map → _BE8iKV08.js.map} +1 -1
  16. package/dist/public/assets/{_BkasMCr7.js → _BFlVRFkJ.js} +2 -2
  17. package/dist/public/assets/{_BkasMCr7.js.map → _BFlVRFkJ.js.map} +1 -1
  18. package/dist/public/assets/{_mWkgrXwR.js → _BGr_FRIk.js} +2 -2
  19. package/dist/public/assets/{_mWkgrXwR.js.map → _BGr_FRIk.js.map} +1 -1
  20. package/dist/public/assets/{_C3JXJPv9.js → _BI7Ima3h.js} +2 -2
  21. package/dist/public/assets/{_C3JXJPv9.js.map → _BI7Ima3h.js.map} +1 -1
  22. package/dist/public/assets/{_BZImyte8.js → _BIQIKt-r.js} +2 -2
  23. package/dist/public/assets/{_BZImyte8.js.map → _BIQIKt-r.js.map} +1 -1
  24. package/dist/public/assets/{_DLfg1G6i.js → _BUEHXwiO.js} +2 -2
  25. package/dist/public/assets/{_DLfg1G6i.js.map → _BUEHXwiO.js.map} +1 -1
  26. package/dist/public/assets/{_Ddhm-dQX.js → _Baqo9pBh.js} +2 -2
  27. package/dist/public/assets/{_Ddhm-dQX.js.map → _Baqo9pBh.js.map} +1 -1
  28. package/dist/public/assets/{_Ci9zG2ie2.js → _Bb2gNY6h2.js} +2 -2
  29. package/dist/public/assets/{_Ci9zG2ie2.js.map → _Bb2gNY6h2.js.map} +1 -1
  30. package/dist/public/assets/{_ChmfpmBk.js → _BdrJZHTS.js} +2 -2
  31. package/dist/public/assets/{_ChmfpmBk.js.map → _BdrJZHTS.js.map} +1 -1
  32. package/dist/public/assets/{_Ce1AxkTQ.js → _BgIa0lZI.js} +2 -2
  33. package/dist/public/assets/{_Ce1AxkTQ.js.map → _BgIa0lZI.js.map} +1 -1
  34. package/dist/public/assets/{_Euo_IdCD.js → _BmWpLiDV.js} +2 -2
  35. package/dist/public/assets/{_Euo_IdCD.js.map → _BmWpLiDV.js.map} +1 -1
  36. package/dist/public/assets/{_NdVLMlDn.js → _Bo64MkMt.js} +2 -2
  37. package/dist/public/assets/{_NdVLMlDn.js.map → _Bo64MkMt.js.map} +1 -1
  38. package/dist/public/assets/{_d4DNovnq.js → _BoTktEeq.js} +2 -2
  39. package/dist/public/assets/{_d4DNovnq.js.map → _BoTktEeq.js.map} +1 -1
  40. package/dist/public/assets/{_Dr7LwIoY2.js → _BqsUzBKr2.js} +2 -2
  41. package/dist/public/assets/{_Dr7LwIoY2.js.map → _BqsUzBKr2.js.map} +1 -1
  42. package/dist/public/assets/{_BUYXKQWK.js → _BsSgt5g8.js} +2 -2
  43. package/dist/public/assets/{_BUYXKQWK.js.map → _BsSgt5g8.js.map} +1 -1
  44. package/dist/public/assets/{_ByVrIZCY2.js → _BukWjONF2.js} +2 -2
  45. package/dist/public/assets/{_ByVrIZCY2.js.map → _BukWjONF2.js.map} +1 -1
  46. package/dist/public/assets/{_lzPB5GF7.js → _C0qYIyti.js} +2 -2
  47. package/dist/public/assets/{_lzPB5GF7.js.map → _C0qYIyti.js.map} +1 -1
  48. package/dist/public/assets/{_DG7JD0Wq.js → _C1C3LE2N.js} +2 -2
  49. package/dist/public/assets/{_DG7JD0Wq.js.map → _C1C3LE2N.js.map} +1 -1
  50. package/dist/public/assets/{_BMjt74CT.js → _CC_qtocy.js} +2 -2
  51. package/dist/public/assets/{_BMjt74CT.js.map → _CC_qtocy.js.map} +1 -1
  52. package/dist/public/assets/{_Cbd9gTf8.js → _COWEx7NM.js} +2 -2
  53. package/dist/public/assets/{_Cbd9gTf8.js.map → _COWEx7NM.js.map} +1 -1
  54. package/dist/public/assets/{_Bh5KV4D5.js → _CPksOQgT.js} +2 -2
  55. package/dist/public/assets/{_Bh5KV4D5.js.map → _CPksOQgT.js.map} +1 -1
  56. package/dist/public/assets/{_D7Nr1Fkx.js → _CVsnji6i.js} +2 -2
  57. package/dist/public/assets/{_D7Nr1Fkx.js.map → _CVsnji6i.js.map} +1 -1
  58. package/dist/public/assets/{_BYe0JdJ12.js → _C_EVf05b2.js} +2 -2
  59. package/dist/public/assets/{_BYe0JdJ12.js.map → _C_EVf05b2.js.map} +1 -1
  60. package/dist/public/assets/{_BwfU4p-S.js → _Cew7dVtt.js} +2 -2
  61. package/dist/public/assets/{_BwfU4p-S.js.map → _Cew7dVtt.js.map} +1 -1
  62. package/dist/public/assets/{_C36kllbW2.js → _Ck7VzOst2.js} +2 -2
  63. package/dist/public/assets/{_C36kllbW2.js.map → _Ck7VzOst2.js.map} +1 -1
  64. package/dist/public/assets/{_Cv9uSMiO2.js → _CkVWvLCr2.js} +2 -2
  65. package/dist/public/assets/{_Cv9uSMiO2.js.map → _CkVWvLCr2.js.map} +1 -1
  66. package/dist/public/assets/{_BsdChN-o2.js → _Cl5FveY62.js} +2 -2
  67. package/dist/public/assets/{_BsdChN-o2.js.map → _Cl5FveY62.js.map} +1 -1
  68. package/dist/public/assets/{_DIqHX5oS.js → _Cnhc7Js1.js} +2 -2
  69. package/dist/public/assets/{_DIqHX5oS.js.map → _Cnhc7Js1.js.map} +1 -1
  70. package/dist/public/assets/{_CYGmgYex.js → _CqPWyhZs.js} +2 -2
  71. package/dist/public/assets/{_CYGmgYex.js.map → _CqPWyhZs.js.map} +1 -1
  72. package/dist/public/assets/{_DbhzZP5E2.js → _CxDqQj2A2.js} +2 -2
  73. package/dist/public/assets/{_DbhzZP5E2.js.map → _CxDqQj2A2.js.map} +1 -1
  74. package/dist/public/assets/{_wd5Ka9-u2.js → _Cz8uRhe52.js} +2 -2
  75. package/dist/public/assets/{_wd5Ka9-u2.js.map → _Cz8uRhe52.js.map} +1 -1
  76. package/dist/public/assets/{_DHF6f-Qb.js → _Czf6k1Yd.js} +2 -2
  77. package/dist/public/assets/{_DHF6f-Qb.js.map → _Czf6k1Yd.js.map} +1 -1
  78. package/dist/public/assets/{_BlHZ_Kf_.js → _D5ocKRBu.js} +2 -2
  79. package/dist/public/assets/{_BlHZ_Kf_.js.map → _D5ocKRBu.js.map} +1 -1
  80. package/dist/public/assets/{_CcuBmBFx.js → _D5wuGtc_.js} +2 -2
  81. package/dist/public/assets/{_CcuBmBFx.js.map → _D5wuGtc_.js.map} +1 -1
  82. package/dist/public/assets/{_37DiDfEe2.js → _DA25EXVK2.js} +2 -2
  83. package/dist/public/assets/{_37DiDfEe2.js.map → _DA25EXVK2.js.map} +1 -1
  84. package/dist/public/assets/{_DR5ZG0w3.js → _DFH1wKd9.js} +2 -2
  85. package/dist/public/assets/{_DR5ZG0w3.js.map → _DFH1wKd9.js.map} +1 -1
  86. package/dist/public/assets/{_CBAwKZ_C.js → _DFc6F1lr.js} +2 -2
  87. package/dist/public/assets/{_CBAwKZ_C.js.map → _DFc6F1lr.js.map} +1 -1
  88. package/dist/public/assets/{_Brp01NXq.js → _DGsyC13R.js} +2 -2
  89. package/dist/public/assets/{_Brp01NXq.js.map → _DGsyC13R.js.map} +1 -1
  90. package/dist/public/assets/{_DOlpOlzZ.js → _DLgN00mB.js} +2 -2
  91. package/dist/public/assets/{_DOlpOlzZ.js.map → _DLgN00mB.js.map} +1 -1
  92. package/dist/public/assets/{_VkiUGcZN.js → _DMGeafER.js} +2 -2
  93. package/dist/public/assets/{_VkiUGcZN.js.map → _DMGeafER.js.map} +1 -1
  94. package/dist/public/assets/{_BtX0OV9L2.js → _DQkIt1KO2.js} +2 -2
  95. package/dist/public/assets/{_BtX0OV9L2.js.map → _DQkIt1KO2.js.map} +1 -1
  96. package/dist/public/assets/{_ClgMqvJk.js → _DQkb_hVD.js} +2 -2
  97. package/dist/public/assets/{_ClgMqvJk.js.map → _DQkb_hVD.js.map} +1 -1
  98. package/dist/public/assets/{_Cs6eIEq5.js → _DVtaLlbK.js} +2 -2
  99. package/dist/public/assets/{_Cs6eIEq5.js.map → _DVtaLlbK.js.map} +1 -1
  100. package/dist/public/assets/{_CcY_fkdX.js → _DVu9kSZ8.js} +2 -2
  101. package/dist/public/assets/{_CcY_fkdX.js.map → _DVu9kSZ8.js.map} +1 -1
  102. package/dist/public/assets/{_DGEc5tY92.js → _DWkwrAyW2.js} +2 -2
  103. package/dist/public/assets/{_DGEc5tY92.js.map → _DWkwrAyW2.js.map} +1 -1
  104. package/dist/public/assets/{_BS5HCQXD.js → _DYsg2tzg.js} +2 -2
  105. package/dist/public/assets/{_BS5HCQXD.js.map → _DYsg2tzg.js.map} +1 -1
  106. package/dist/public/assets/{_D6hErX6k2.js → _DZymgQpM2.js} +2 -2
  107. package/dist/public/assets/{_D6hErX6k2.js.map → _DZymgQpM2.js.map} +1 -1
  108. package/dist/public/assets/{_DVj22Fhb.js → _Dcae1nSG.js} +2 -2
  109. package/dist/public/assets/{_DVj22Fhb.js.map → _Dcae1nSG.js.map} +1 -1
  110. package/dist/public/assets/{_BFL5ebqS2.js → _DfWLxYyO2.js} +2 -2
  111. package/dist/public/assets/{_BFL5ebqS2.js.map → _DfWLxYyO2.js.map} +1 -1
  112. package/dist/public/assets/{_CCYH4Ky0.js → _Djm9Zgp7.js} +2 -2
  113. package/dist/public/assets/{_CCYH4Ky0.js.map → _Djm9Zgp7.js.map} +1 -1
  114. package/dist/public/assets/{_CNm-Qj_22.js → _DmToauyp2.js} +2 -2
  115. package/dist/public/assets/{_CNm-Qj_22.js.map → _DmToauyp2.js.map} +1 -1
  116. package/dist/public/assets/{_LszNpqGA.js → _DmXaISw3.js} +2 -2
  117. package/dist/public/assets/{_LszNpqGA.js.map → _DmXaISw3.js.map} +1 -1
  118. package/dist/public/assets/{_CGKi9mEa.js → _DrQlDZ8F.js} +2 -2
  119. package/dist/public/assets/{_CGKi9mEa.js.map → _DrQlDZ8F.js.map} +1 -1
  120. package/dist/public/assets/{_C_HKi7R3.js → _DwJ83m-7.js} +2 -2
  121. package/dist/public/assets/{_C_HKi7R3.js.map → _DwJ83m-7.js.map} +1 -1
  122. package/dist/public/assets/{_BhcPbeCA.js → _DwMqTHPw.js} +2 -2
  123. package/dist/public/assets/{_BhcPbeCA.js.map → _DwMqTHPw.js.map} +1 -1
  124. package/dist/public/assets/{_1PYA5v6h.js → _KnIynIbq.js} +2 -2
  125. package/dist/public/assets/{_1PYA5v6h.js.map → _KnIynIbq.js.map} +1 -1
  126. package/dist/public/assets/{_yp1JBHQQ.js → _Mg3RDbDs.js} +2 -2
  127. package/dist/public/assets/{_yp1JBHQQ.js.map → _Mg3RDbDs.js.map} +1 -1
  128. package/dist/public/assets/{_BXjUVBpA.js → _UqC2jA3U.js} +2 -2
  129. package/dist/public/assets/{_BXjUVBpA.js.map → _UqC2jA3U.js.map} +1 -1
  130. package/dist/public/assets/{_DhTbYHFb2.js → _YVF6OncQ2.js} +2 -2
  131. package/dist/public/assets/{_DhTbYHFb2.js.map → _YVF6OncQ2.js.map} +1 -1
  132. package/dist/public/assets/{_DtifEQOQ2.js → _d5dGxQZq2.js} +2 -2
  133. package/dist/public/assets/{_DtifEQOQ2.js.map → _d5dGxQZq2.js.map} +1 -1
  134. package/dist/public/assets/{__Pss17dn2.js → _e6FKxjly2.js} +2 -2
  135. package/dist/public/assets/{__Pss17dn2.js.map → _e6FKxjly2.js.map} +1 -1
  136. package/dist/public/assets/{_DEubpY7q.js → _mBGgONFr.js} +2 -2
  137. package/dist/public/assets/{_DEubpY7q.js.map → _mBGgONFr.js.map} +1 -1
  138. package/dist/public/assets/{_BDmZKLpT.js → _oGKQuGVb.js} +2 -2
  139. package/dist/public/assets/{_BDmZKLpT.js.map → _oGKQuGVb.js.map} +1 -1
  140. package/dist/public/assets/{_D5PUFlIB2.js → _oNFVEWan2.js} +2 -2
  141. package/dist/public/assets/{_D5PUFlIB2.js.map → _oNFVEWan2.js.map} +1 -1
  142. package/dist/public/assets/{_DWNYhaMZ2.js → _r0GB6pn62.js} +2 -2
  143. package/dist/public/assets/{_DWNYhaMZ2.js.map → _r0GB6pn62.js.map} +1 -1
  144. package/dist/public/assets/{_CccTxCW92.js → _sNHMjK082.js} +2 -2
  145. package/dist/public/assets/{_CccTxCW92.js.map → _sNHMjK082.js.map} +1 -1
  146. package/dist/public/assets/{_DQ9zeCqC.js → _x0PbwyNo.js} +2 -2
  147. package/dist/public/assets/{_DQ9zeCqC.js.map → _x0PbwyNo.js.map} +1 -1
  148. package/dist/public/assets/{_DZAVCSn-2.js → _x8cEmRs12.js} +2 -2
  149. package/dist/public/assets/{_DZAVCSn-2.js.map → _x8cEmRs12.js.map} +1 -1
  150. package/dist/public/assets/{index-DQjYJ4v3.js → index-DncBoamz.js} +63 -63
  151. package/dist/public/assets/index-DncBoamz.js.map +1 -0
  152. package/package.json +1 -1
  153. package/dist/public/assets/index-DQjYJ4v3.js.map +0 -1
package/dist/index.mjs CHANGED
@@ -5745,31 +5745,52 @@ var diff_view_default = _template("e", (input) => {
5745
5745
  nearBox.cbs.set(el, cb);
5746
5746
  nearBox.io.observe(el);
5747
5747
  }, "e3", $scope0_id);
5748
+ const scrollToPr = _resume((pr) => {
5749
+ if (!pr) return;
5750
+ const repo = (repos || []).find((r) => r.pr && `${r.worktree}/${r.pr.number}` === pr);
5751
+ if (repo && collapsedRepos.has(repo.id)) {
5752
+ const next = new Set(collapsedRepos);
5753
+ next.delete(repo.id);
5754
+ collapsedRepos = next;
5755
+ }
5756
+ const started = Date.now();
5757
+ const tryScroll = () => {
5758
+ const root = scrollEl?.();
5759
+ const el = root?.querySelector(`[data-pr="${CSS.escape(pr)}"]`);
5760
+ if (!root || !el) {
5761
+ if (Date.now() - started < 2500) requestAnimationFrame(tryScroll);
5762
+ return;
5763
+ }
5764
+ const top = el.getBoundingClientRect().top - root.getBoundingClientRect().top + root.scrollTop;
5765
+ root.scrollTo({ top: Math.max(0, top - 8) });
5766
+ };
5767
+ requestAnimationFrame(tryScroll);
5768
+ }, "e4", $scope0_id);
5748
5769
  const load = _resume(async (dirty = uncommitted, refresh = false) => {
5749
5770
  loading = true;
5750
5771
  error = null;
5751
5772
  try {
5752
5773
  const q = new URLSearchParams();
5753
5774
  if (dirty) q.set("uncommitted", "1");
5754
- if (input.focusPr) q.set("pr", input.focusPr);
5755
5775
  if (refresh) q.set("refresh", "1");
5756
5776
  const qs = q.size ? `?${q}` : "";
5757
5777
  const [diffData, reviewData] = await Promise.all([api$3(`/api/workspaces/${input.workspaceId}/diff${qs}`), api$3(`/api/workspaces/${input.workspaceId}/review`)]);
5758
5778
  repos = diffData;
5759
5779
  comments = reviewData.comments || [];
5760
5780
  viewed = new Set(reviewData.viewed || []);
5781
+ if (input.focusPr) scrollToPr(input.focusPr);
5761
5782
  } catch (err) {
5762
5783
  error = String(err.message || err);
5763
5784
  }
5764
5785
  loading = false;
5765
- }, "e4", $scope0_id);
5786
+ }, "e5", $scope0_id);
5766
5787
  const loadReview = _resume(async () => {
5767
5788
  try {
5768
5789
  const reviewData = await api$3(`/api/workspaces/${input.workspaceId}/review`);
5769
5790
  comments = reviewData.comments || [];
5770
5791
  viewed = new Set(reviewData.viewed || []);
5771
5792
  } catch {}
5772
- }, "e5", $scope0_id);
5793
+ }, "e6", $scope0_id);
5773
5794
  const repoList = repos || [];
5774
5795
  const allFiles = repoList.flatMap((r) => r.files.map((f) => ({
5775
5796
  ...f,
@@ -5792,15 +5813,15 @@ var diff_view_default = _template("e", (input) => {
5792
5813
  return map;
5793
5814
  })();
5794
5815
  const sendPick = (input.sessions || []).some((s) => s.id === sendTarget) ? sendTarget : input.sessions?.[0]?.id ?? null;
5795
- const localDiffers = _resume((repo) => !!repo.pr && !!repo.localHead && (repo.localHead !== repo.head || repo.branch !== repo.pr.headRefName), "e6");
5816
+ const localDiffers = _resume((repo) => !!repo.pr && !!repo.localHead && (repo.localHead !== repo.head || repo.branch !== repo.pr.headRefName), "e7");
5796
5817
  const driftRepos = repoList.filter((r) => r.githubDrift && !dismissedDrift.has(r.id));
5797
5818
  const dismissDrift = _resume(() => {
5798
5819
  dismissedDrift = /* @__PURE__ */ new Set([...dismissedDrift, ...driftRepos.map((r) => r.id)]);
5799
- }, "e7", $scope0_id);
5820
+ }, "e8", $scope0_id);
5800
5821
  const reload = _resume(() => {
5801
5822
  dismissedDrift = /* @__PURE__ */ new Set();
5802
5823
  return load(uncommitted, true);
5803
- }, "e8", $scope0_id);
5824
+ }, "e9", $scope0_id);
5804
5825
  const toggleViewed = _resume((key) => {
5805
5826
  const next = new Set(viewed);
5806
5827
  const isViewed = !next.has(key);
@@ -5818,7 +5839,7 @@ var diff_view_default = _template("e", (input) => {
5818
5839
  }).catch(() => {
5819
5840
  error = "Saving viewed state failed — it may reset on reload.";
5820
5841
  });
5821
- }, "e9", $scope0_id);
5842
+ }, "e10", $scope0_id);
5822
5843
  const saveComment = _resume(async (file, text) => {
5823
5844
  const range = draft;
5824
5845
  draft = null;
@@ -5840,11 +5861,11 @@ var diff_view_default = _template("e", (input) => {
5840
5861
  } catch (err) {
5841
5862
  error = String(err.message || err);
5842
5863
  }
5843
- }, "e10", $scope0_id);
5864
+ }, "e11", $scope0_id);
5844
5865
  const removeComment = _resume(async (id) => {
5845
5866
  comments = comments.filter((c) => c.id !== id);
5846
5867
  await fetch(`/api/review-comments/${id}`, { method: "DELETE" });
5847
- }, "e11", $scope0_id);
5868
+ }, "e12", $scope0_id);
5848
5869
  const clearComments = _resume(async () => {
5849
5870
  comments = [];
5850
5871
  draft = null;
@@ -5853,7 +5874,7 @@ var diff_view_default = _template("e", (input) => {
5853
5874
  headers: { "content-type": "application/json" },
5854
5875
  body: JSON.stringify({ action: "clear" })
5855
5876
  });
5856
- }, "e12", $scope0_id);
5877
+ }, "e13", $scope0_id);
5857
5878
  const copyMarkdown = _resume(async () => {
5858
5879
  if (!await copyText(commentMarkdown(comments, repos))) {
5859
5880
  error = "Copy failed — clipboard needs HTTPS on this browser.";
@@ -5864,7 +5885,7 @@ var diff_view_default = _template("e", (input) => {
5864
5885
  copied = false;
5865
5886
  }, 1500);
5866
5887
  await clearComments();
5867
- }, "e13", $scope0_id);
5888
+ }, "e14", $scope0_id);
5868
5889
  const sendTo = _resume(async (sessionId) => {
5869
5890
  if (!sessionId) return;
5870
5891
  sending = true;
@@ -5884,22 +5905,22 @@ var diff_view_default = _template("e", (input) => {
5884
5905
  error = String(err.message || err);
5885
5906
  sending = false;
5886
5907
  }
5887
- }, "e14", $scope0_id);
5908
+ }, "e15", $scope0_id);
5888
5909
  const jumpTo = _resume((key) => {
5889
5910
  const el = ((scrollEl) => scrollEl())(_el_read_error).querySelector(`details[data-key="${CSS.escape(key)}"]`);
5890
5911
  if (el) {
5891
5912
  el.open = true;
5892
5913
  el.scrollIntoView({ block: "start" });
5893
5914
  }
5894
- }, "e15", $scope0_id);
5915
+ }, "e16", $scope0_id);
5895
5916
  const openFind = _resume(() => {
5896
5917
  findOpen = true;
5897
5918
  findTick++;
5898
- }, "e16", $scope0_id);
5919
+ }, "e17", $scope0_id);
5899
5920
  const onFindState = _resume((next) => {
5900
5921
  findState = next;
5901
5922
  if (next.hit) setTimeout(() => jumpTo(next.hit.key), 0);
5902
- }, "e17", $scope0_id);
5923
+ }, "e18", $scope0_id);
5903
5924
  _html(`<div class=diff-view><aside class=${!treeOpen ? "\"tree closed\"" : "tree"}>`);
5904
5925
  _for_of(repoList.filter((r) => shownByRepo.get(r.id)?.length), (repo) => {
5905
5926
  const $scope5_id = _scope_id();
@@ -5909,8 +5930,8 @@ var diff_view_default = _template("e", (input) => {
5909
5930
  const $scope6_id = _scope_id();
5910
5931
  const $if_content4__dirKey__closures = /* @__PURE__ */ new Set();
5911
5932
  const repoRows = treeRows(shownByRepo.get(repo.id) || []);
5912
- const dirKey = _resume((path) => `${repo.id}/${path}`, "e18", $scope6_id);
5913
- const rowDir = _resume((row) => row.kind === "dir" ? row.path : row.file.path.includes("/") ? row.file.path.slice(0, row.file.path.lastIndexOf("/")) : "", "e19");
5933
+ const dirKey = _resume((path) => `${repo.id}/${path}`, "e19", $scope6_id);
5934
+ const rowDir = _resume((row) => row.kind === "dir" ? row.path : row.file.path.includes("/") ? row.file.path.slice(0, row.file.path.lastIndexOf("/")) : "", "e20");
5914
5935
  const hiddenByCollapse = _resume((row) => {
5915
5936
  const dir = rowDir(row);
5916
5937
  for (const collapsed of collapsedDirs) {
@@ -5920,15 +5941,15 @@ var diff_view_default = _template("e", (input) => {
5920
5941
  if (dir === path || dir.startsWith(`${path}/`)) return true;
5921
5942
  }
5922
5943
  return false;
5923
- }, "e20", $scope6_id);
5944
+ }, "e21", $scope6_id);
5924
5945
  _for_of(repoRows, (row) => {
5925
5946
  const $scope7_id = _scope_id();
5926
5947
  _if(() => {
5927
5948
  if (!hiddenByCollapse(row) && row.kind === "dir") {
5928
5949
  const $scope24_id = _scope_id();
5929
5950
  _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($scope24_id, "b")}</span>${_escape(row.label)}${_el_resume($scope24_id, "c")}/</button>${_el_resume($scope24_id, "a")}`);
5930
- _script($scope24_id, "e29");
5931
- _subscribe($if_content4__dirKey__closures, _subscribe($collapsedDirs__closures, writeScope($scope24_id, { Cd1: 1 })));
5951
+ _script($scope24_id, "e30");
5952
+ _subscribe($if_content4__dirKey__closures, _subscribe($collapsedDirs__closures, writeScope($scope24_id, { Cd4: 1 })));
5932
5953
  return 0;
5933
5954
  } else if (!hiddenByCollapse(row) && row.kind !== "dir") {
5934
5955
  const $scope8_id = _scope_id();
@@ -5942,7 +5963,7 @@ var diff_view_default = _template("e", (input) => {
5942
5963
  }
5943
5964
  }, $scope8_id, "e", 1, 1, 1, 0, 1);
5944
5965
  _html(`</button>${_el_resume($scope8_id, "a")}`);
5945
- _script($scope8_id, "e30");
5966
+ _script($scope8_id, "e31");
5946
5967
  _subscribe($commentsByFile__closures, _subscribe($viewed__closures, writeScope($scope8_id, {})));
5947
5968
  return 1;
5948
5969
  }
@@ -5968,7 +5989,7 @@ var diff_view_default = _template("e", (input) => {
5968
5989
  }
5969
5990
  }, $scope5_id, "d");
5970
5991
  _html("</div>");
5971
- _script($scope5_id, "e31");
5992
+ _script($scope5_id, "e32");
5972
5993
  writeScope($scope5_id, { g: repo?.id });
5973
5994
  }, "id", $scope0_id, "a", 1, 1, 1, "</aside>", 1);
5974
5995
  _html("<div class=diff-col><div class=diff-head>");
@@ -5978,7 +5999,7 @@ var diff_view_default = _template("e", (input) => {
5978
5999
  _html("<button class=icon-btn title=\"Back to terminal\">");
5979
6000
  icon_back_default({ size: 14 });
5980
6001
  _html(`</button>${_el_resume($scope1_id, "a")}`);
5981
- _script($scope1_id, "e32");
6002
+ _script($scope1_id, "e33");
5982
6003
  writeScope($scope1_id, { _: _scope_with_id($scope0_id) });
5983
6004
  return 0;
5984
6005
  }
@@ -5992,7 +6013,7 @@ var diff_view_default = _template("e", (input) => {
5992
6013
  if ((input.sessions || []).length === 1) {
5993
6014
  const $scope3_id = _scope_id();
5994
6015
  _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")}`);
5995
- _script($scope3_id, "e33");
6016
+ _script($scope3_id, "e34");
5996
6017
  _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) }))));
5997
6018
  return 0;
5998
6019
  } else if ((input.sessions || []).length) {
@@ -6009,15 +6030,15 @@ var diff_view_default = _template("e", (input) => {
6009
6030
  }, "id", $scope4_id, "c", $sg__input_sessions, 1, $sg__input_sessions, "</select>", 1);
6010
6031
  });
6011
6032
  _html("</span>");
6012
- _script($scope4_id, "e34");
6033
+ _script($scope4_id, "e35");
6013
6034
  _subscribe($sendTarget__closures, _subscribe($sending__closures, _subscribe($si__input_sessions && $input_sessions__closures, writeScope($scope4_id, {
6014
6035
  _: _scope_with_id($scope2_id),
6015
- Ccu: 1
6036
+ Ccx: 1
6016
6037
  }))));
6017
6038
  return 1;
6018
6039
  }
6019
6040
  }, $scope2_id, "c", $sg__input_sessions, $sg__input_sessions, $sg__input_sessions, 0, 1);
6020
- _script($scope2_id, "e35");
6041
+ _script($scope2_id, "e36");
6021
6042
  writeScope($scope2_id, {});
6022
6043
  return 0;
6023
6044
  }
@@ -6042,7 +6063,7 @@ var diff_view_default = _template("e", (input) => {
6042
6063
  value: fileFilter,
6043
6064
  onChange: _resume(function(q) {
6044
6065
  fileFilter = q;
6045
- }, "e21", $scope0_id)
6066
+ }, "e22", $scope0_id)
6046
6067
  });
6047
6068
  _html("</div>");
6048
6069
  _if(() => {
@@ -6054,7 +6075,7 @@ var diff_view_default = _template("e", (input) => {
6054
6075
  tick: findTick,
6055
6076
  onState: _resume(function(s) {
6056
6077
  onFindState(s);
6057
- }, "e22", $scope23_id),
6078
+ }, "e23", $scope23_id),
6058
6079
  onClose: _resume(function() {
6059
6080
  findOpen = false;
6060
6081
  findState = {
@@ -6062,7 +6083,7 @@ var diff_view_default = _template("e", (input) => {
6062
6083
  hit: null,
6063
6084
  keys: []
6064
6085
  };
6065
- }, "e23", $scope23_id)
6086
+ }, "e24", $scope23_id)
6066
6087
  });
6067
6088
  writeScope($scope23_id, { a: _existing_scope($childScope2) });
6068
6089
  return 0;
@@ -6073,7 +6094,7 @@ var diff_view_default = _template("e", (input) => {
6073
6094
  if (error) {
6074
6095
  const $scope17_id = _scope_id();
6075
6096
  _html(`<p class=toast-error>${_escape(error)}${_el_resume($scope17_id, "a")} <button>×</button>${_el_resume($scope17_id, "b")}</p>`);
6076
- _script($scope17_id, "e36");
6097
+ _script($scope17_id, "e37");
6077
6098
  writeScope($scope17_id, {});
6078
6099
  return 0;
6079
6100
  }
@@ -6098,7 +6119,7 @@ var diff_view_default = _template("e", (input) => {
6098
6119
  writeScope($scope32_id, {});
6099
6120
  }, "id", $scope18_id, "a");
6100
6121
  _html(`<button class=btn${_attr("disabled", loading)}>${loading ? "Reloading…" : "Reload"}${_el_resume($scope18_id, "c")}</button>${_el_resume($scope18_id, "b")}<button title=Dismiss>×</button>${_el_resume($scope18_id, "d")}</p>`);
6101
- _script($scope18_id, "e37");
6122
+ _script($scope18_id, "e38");
6102
6123
  writeScope($scope18_id, {});
6103
6124
  return 0;
6104
6125
  }
@@ -6149,9 +6170,9 @@ var diff_view_default = _template("e", (input) => {
6149
6170
  const repoFiles = filesByRepo.get(repo.id) || [];
6150
6171
  const shownInRepo = shownByRepo.get(repo.id) || [];
6151
6172
  _if(() => {
6152
- if (repoFiles.length) {
6173
+ if (repoFiles.length || repo.pr) {
6153
6174
  const $scope10_id = _scope_id();
6154
- _html(`<section class=repo-section${repo.pr ? _attr("data-pr", `${repo.worktree}/${repo.pr.number}`) : ""}${_attr("hidden", !shownInRepo.length && findState.hit?.repo !== repo.id)}>`);
6175
+ _html(`<section class=repo-section${repo.pr ? _attr("data-pr", `${repo.worktree}/${repo.pr.number}`) : ""}${_attr("hidden", !shownInRepo.length && !repo.pr && findState.hit?.repo !== repo.id)}>`);
6155
6176
  _if(() => {
6156
6177
  if (repoList.length > 1) {
6157
6178
  const $scope25_id = _scope_id();
@@ -6160,11 +6181,11 @@ var diff_view_default = _template("e", (input) => {
6160
6181
  if (repo.pr) {
6161
6182
  const $scope34_id = _scope_id();
6162
6183
  _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($scope34_id, "b")}</a>${_el_resume($scope34_id, "a")}<span class=dim>${_escape(repo.pr.title)}${_el_resume($scope34_id, "c")}</span>`);
6163
- _script($scope34_id, "e38");
6184
+ _script($scope34_id, "e39");
6164
6185
  _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($scope34_id, {
6165
- Ca4: 2,
6166
6186
  Ca5: 2,
6167
- Ca6: 2
6187
+ Ca6: 2,
6188
+ Ca7: 2
6168
6189
  }))))))));
6169
6190
  return 0;
6170
6191
  } else {
@@ -6179,13 +6200,13 @@ var diff_view_default = _template("e", (input) => {
6179
6200
  if (localDiffers(repo)) {
6180
6201
  const $scope36_id = _scope_id();
6181
6202
  _html(`<span class=chip${_attr("title", `checked out ${repo.branch} ${repo.localHead}`)}>local <!>${_escape(repo.branch)}${_el_resume($scope36_id, "b")}</span>${_el_resume($scope36_id, "a")}`);
6182
- _subscribe($for_content3__repo_localHead__closures, _subscribe($for_content3__repo_branch__closures, writeScope($scope36_id, { Ca8: 2 })));
6203
+ _subscribe($for_content3__repo_localHead__closures, _subscribe($for_content3__repo_branch__closures, writeScope($scope36_id, { Ca9: 2 })));
6183
6204
  return 0;
6184
6205
  }
6185
6206
  }, $scope25_id, "i", 1, 1, 1, 0, 1);
6186
6207
  _html(`</button>${_el_resume($scope25_id, "a")}`);
6187
- _script($scope25_id, "e39");
6188
- _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($scope25_id, { Cd2: 1 }))))))))));
6208
+ _script($scope25_id, "e40");
6209
+ _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($scope25_id, { Cd5: 1 }))))))))));
6189
6210
  return 0;
6190
6211
  } else {
6191
6212
  const $scope28_id = _scope_id();
@@ -6195,13 +6216,13 @@ var diff_view_default = _template("e", (input) => {
6195
6216
  const $scope37_id = _scope_id();
6196
6217
  _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($scope37_id, "b")}</a>${_el_resume($scope37_id, "a")}<span class=dim>${_escape(repo.pr.title)}${_el_resume($scope37_id, "c")}</span>`);
6197
6218
  _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($scope37_id, {
6198
- Ca0: 1,
6199
6219
  Ca1: 1,
6200
6220
  Ca2: 1,
6201
6221
  Ca3: 1,
6202
- Ca4: 3,
6222
+ Ca4: 1,
6203
6223
  Ca5: 3,
6204
- Ca6: 3
6224
+ Ca6: 3,
6225
+ Ca7: 3
6205
6226
  }))))))));
6206
6227
  return 0;
6207
6228
  }
@@ -6212,20 +6233,20 @@ var diff_view_default = _template("e", (input) => {
6212
6233
  const $scope38_id = _scope_id();
6213
6234
  _html(`<span class=chip${_attr("title", `checked out ${repo.branch} ${repo.localHead}`)}>local <!>${_escape(repo.branch)}${_el_resume($scope38_id, "b")}</span>${_el_resume($scope38_id, "a")}`);
6214
6235
  _subscribe($for_content3__repo_localHead__closures, _subscribe($for_content3__repo_branch__closures, writeScope($scope38_id, {
6215
- Ca8: 3,
6216
- Ca9: 1
6236
+ Ca9: 3,
6237
+ Caa: 1
6217
6238
  })));
6218
6239
  return 0;
6219
6240
  }
6220
6241
  }, $scope28_id, "f", 1, 1, 1, 0, 1);
6221
6242
  _html("</p>");
6222
6243
  _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_pr__closures, _subscribe($for_content3__repo__closures, writeScope($scope28_id, {
6223
- Cw: 1,
6224
- Cy: 1,
6225
- Ca4: 1,
6244
+ Cx: 1,
6245
+ Cz: 1,
6226
6246
  Ca5: 1,
6227
6247
  Ca6: 1,
6228
- Ca8: 1
6248
+ Ca7: 1,
6249
+ Ca9: 1
6229
6250
  })))))));
6230
6251
  return 1;
6231
6252
  }
@@ -6275,7 +6296,7 @@ var diff_view_default = _template("e", (input) => {
6275
6296
  {
6276
6297
  const $scope26_id = _scope_id();
6277
6298
  _html(`<div class=diff-wait></div>${_el_resume($scope26_id, "a")}`);
6278
- _script($scope26_id, "e40");
6299
+ _script($scope26_id, "e41");
6279
6300
  writeScope($scope26_id, {});
6280
6301
  return 0;
6281
6302
  }
@@ -6285,7 +6306,7 @@ var diff_view_default = _template("e", (input) => {
6285
6306
  }
6286
6307
  }, $scope12_id, "i");
6287
6308
  _html(`</details>${_el_resume($scope12_id, "a")}`);
6288
- _script($scope12_id, "e41");
6309
+ _script($scope12_id, "e42");
6289
6310
  _subscribe($toggleViewed2__closures, _subscribe($commentsByFile__closures, _subscribe($shownKeySet__closures, _subscribe($viewed__closures, writeScope($scope12_id, {
6290
6311
  k: file,
6291
6312
  l: file?.key,
@@ -6299,8 +6320,8 @@ var diff_view_default = _template("e", (input) => {
6299
6320
  a0: $for_content4__file__closures,
6300
6321
  a1: $for_content4__file_key__closures,
6301
6322
  a2: $for_content4__fileComments__closures,
6302
- Cco: 1,
6303
- Cdc: 1
6323
+ Ccr: 1,
6324
+ Cdf: 1
6304
6325
  })))));
6305
6326
  }, "key", $scope11_id, "a", 1, 1, 1, "</div>", 1);
6306
6327
  _subscribe($for_content3__repoFiles__closures, writeScope($scope11_id, {}));
@@ -6328,50 +6349,51 @@ var diff_view_default = _template("e", (input) => {
6328
6349
  q: repo?.branch,
6329
6350
  r: repo?.localHead,
6330
6351
  s: repoFiles,
6331
- v: shownInRepo.length,
6332
- a0: $for_content3__repo_pr_number__closures,
6333
- a1: $for_content3__repo_pr_url__closures,
6334
- a2: $for_content3__repo_pr_title__closures,
6335
- a3: $for_content3__repo_pr_headRefName__closures,
6336
- a4: $for_content3__repo_head__closures,
6337
- a5: $for_content3__repo_base__closures,
6338
- a6: $for_content3__repo_baseSha__closures,
6339
- a7: $for_content3__repo_full_name__closures,
6340
- a8: $for_content3__repo_branch__closures,
6341
- a9: $for_content3__repo_localHead__closures,
6342
- w: $for_content3__repo__closures,
6343
- x: $for_content3__repo_id__closures,
6344
- y: $for_content3__repo_pr__closures,
6345
- z: $for_content3__repo_worktree__closures,
6346
- aa: $for_content3__repoFiles__closures
6352
+ w: shownInRepo.length,
6353
+ a1: $for_content3__repo_pr_number__closures,
6354
+ a2: $for_content3__repo_pr_url__closures,
6355
+ a3: $for_content3__repo_pr_title__closures,
6356
+ a4: $for_content3__repo_pr_headRefName__closures,
6357
+ a5: $for_content3__repo_head__closures,
6358
+ a6: $for_content3__repo_base__closures,
6359
+ a7: $for_content3__repo_baseSha__closures,
6360
+ a8: $for_content3__repo_full_name__closures,
6361
+ a9: $for_content3__repo_branch__closures,
6362
+ aa: $for_content3__repo_localHead__closures,
6363
+ x: $for_content3__repo__closures,
6364
+ y: $for_content3__repo_id__closures,
6365
+ z: $for_content3__repo_pr__closures,
6366
+ a0: $for_content3__repo_worktree__closures,
6367
+ ab: $for_content3__repoFiles__closures
6347
6368
  });
6348
6369
  }, "id", $scope0_id, "a1");
6349
6370
  _html(`</div>${_el_resume($scope0_id, "t")}</div>`);
6350
6371
  _if(() => {}, $scope0_id, "a2");
6351
6372
  _html("</div>");
6352
- _script($scope0_id, "e44");
6353
6373
  _script($scope0_id, "e45");
6374
+ _script($scope0_id, "e46");
6354
6375
  writeScope($scope0_id, {
6355
- a5: input.focusPr,
6356
- a6: input.workspaceId,
6376
+ a5: input.workspaceId,
6377
+ a6: input.focusPr,
6357
6378
  a7: input.active,
6358
- a8: input.sessions,
6359
- aa: input.onSent,
6360
- ab: input.onExit,
6361
- ac: input.sessions?.[0]?.title,
6362
- ad: input.sessions?.[0]?.agent,
6363
- ae: repos,
6364
- af: comments,
6365
- ah: viewed,
6366
- aj: viewed?.size,
6367
- ak: draft,
6368
- am: error,
6369
- an: loading,
6370
- ap: copied,
6371
- aq: sending,
6372
- ar: sendTarget,
6373
- at: fileFilter,
6374
- au: uncommitted,
6379
+ a8: input.focusNonce,
6380
+ a9: input.sessions,
6381
+ ab: input.onSent,
6382
+ ac: input.onExit,
6383
+ ad: input.sessions?.[0]?.title,
6384
+ ae: input.sessions?.[0]?.agent,
6385
+ af: repos,
6386
+ ag: comments,
6387
+ ai: viewed,
6388
+ ak: viewed?.size,
6389
+ al: draft,
6390
+ an: error,
6391
+ ao: loading,
6392
+ aq: copied,
6393
+ ar: sending,
6394
+ as: sendTarget,
6395
+ au: fileFilter,
6396
+ av: uncommitted,
6375
6397
  aw: treeOpen,
6376
6398
  az: findTick,
6377
6399
  b1: findState?.query,
@@ -6380,57 +6402,58 @@ var diff_view_default = _template("e", (input) => {
6380
6402
  b5: findState?.hit?.repo,
6381
6403
  b6: collapsedDirs,
6382
6404
  b7: collapsedRepos,
6383
- b8: dismissedDrift,
6384
- b9: toggleRepo,
6385
- bb: nearBox.cbs,
6386
- bc: nearBox.io,
6387
- be: observeNear,
6388
- bf: load,
6389
- bh: loadReview,
6390
- bj: repoList,
6391
- bl: repoList.length,
6392
- bm: allFiles,
6393
- bn: allFiles?.length,
6394
- bo: fileMatch,
6395
- bq: fileFiltered,
6396
- br: findKeys,
6397
- bt: shownFiles,
6398
- bx: shownKeySet,
6399
- by: filesByRepo,
6400
- bz: shownByRepo,
6401
- c1: commentsByFile,
6402
- c2: sendPick,
6403
- c3: localDiffers,
6404
- c5: driftRepos,
6405
- c8: dismissDrift,
6406
- c9: reload,
6407
- ca: toggleViewed,
6408
- cb: saveComment,
6409
- cc: removeComment,
6410
- cd: clearComments,
6411
- cg: copyMarkdown,
6412
- ch: sendTo,
6413
- ci: jumpTo,
6414
- cj: openFind,
6415
- ck: onFindState,
6416
- d1: $collapsedDirs__closures,
6417
- co: $viewed__closures,
6418
- dc: $commentsByFile__closures,
6419
- db: $shownByRepo__closures,
6420
- cm: $si__input_sessions_0_title && $input_sessions_0_title__closures,
6421
- cn: $si__input_sessions_0_agent && $input_sessions_0_agent__closures,
6422
- cu: $sending__closures,
6423
- cl: $si__input_sessions && $input_sessions__closures,
6424
- cv: $sendTarget__closures,
6405
+ b9: dismissedDrift,
6406
+ ba: toggleRepo,
6407
+ bc: nearBox.cbs,
6408
+ bd: nearBox.io,
6409
+ bf: observeNear,
6410
+ bg: scrollToPr,
6411
+ bi: load,
6412
+ bk: loadReview,
6413
+ bm: repoList,
6414
+ bo: repoList.length,
6415
+ bp: allFiles,
6416
+ bq: allFiles?.length,
6417
+ br: fileMatch,
6418
+ bt: fileFiltered,
6419
+ bu: findKeys,
6420
+ bw: shownFiles,
6421
+ c0: shownKeySet,
6422
+ c1: filesByRepo,
6423
+ c2: shownByRepo,
6424
+ c4: commentsByFile,
6425
+ c5: sendPick,
6426
+ c6: localDiffers,
6427
+ c8: driftRepos,
6428
+ cb: dismissDrift,
6429
+ cc: reload,
6430
+ cd: toggleViewed,
6431
+ ce: saveComment,
6432
+ cf: removeComment,
6433
+ cg: clearComments,
6434
+ cj: copyMarkdown,
6435
+ ck: sendTo,
6436
+ cl: jumpTo,
6437
+ cm: openFind,
6438
+ cn: onFindState,
6439
+ d4: $collapsedDirs__closures,
6440
+ cr: $viewed__closures,
6441
+ df: $commentsByFile__closures,
6442
+ de: $shownByRepo__closures,
6443
+ cp: $si__input_sessions_0_title && $input_sessions_0_title__closures,
6444
+ cq: $si__input_sessions_0_agent && $input_sessions_0_agent__closures,
6445
+ cx: $sending__closures,
6446
+ co: $si__input_sessions && $input_sessions__closures,
6447
+ cy: $sendTarget__closures,
6425
6448
  r: _existing_scope($childScope),
6426
- d2: $collapsedRepos__closures,
6427
- cq: $draft__closures,
6428
- dg: $saveComment2__closures,
6429
- dh: $removeComment2__closures,
6430
- d9: $shownKeySet__closures,
6431
- df: $toggleViewed2__closures,
6432
- d0: $findState_hit_repo__closures,
6433
- d5: $repoList_length__closures
6449
+ d5: $collapsedRepos__closures,
6450
+ ct: $draft__closures,
6451
+ dj: $saveComment2__closures,
6452
+ dk: $removeComment2__closures,
6453
+ dc: $shownKeySet__closures,
6454
+ di: $toggleViewed2__closures,
6455
+ d3: $findState_hit_repo__closures,
6456
+ d8: $repoList_length__closures
6434
6457
  });
6435
6458
  _resume_branch($scope0_id);
6436
6459
  });
@@ -6890,12 +6913,18 @@ var work_view_default = _template("q", (input) => {
6890
6913
  let tab = null;
6891
6914
  let view = "term";
6892
6915
  let focusPr = "";
6916
+ let focusNonce = 0;
6893
6917
  let drawerOpen = false;
6894
6918
  let usageOpen = false;
6895
6919
  let error = null;
6896
6920
  let spawning = false;
6897
6921
  let renaming = null;
6898
6922
  const ws = input.workspace;
6923
+ const openDiff = _resume((pr) => {
6924
+ focusPr = pr || "";
6925
+ if (pr) focusNonce++;
6926
+ view = "diff";
6927
+ }, "q0", $scope0_id);
6899
6928
  const shownSessions = sessions ?? input.allStatus?.[ws.id]?.sessions ?? null;
6900
6929
  const curTab = (() => {
6901
6930
  if (tab && shownSessions?.some((s) => s.id === tab)) return tab;
@@ -6922,7 +6951,7 @@ var work_view_default = _template("q", (input) => {
6922
6951
  } finally {
6923
6952
  spawning = false;
6924
6953
  }
6925
- }, "q0", $scope0_id);
6954
+ }, "q1", $scope0_id);
6926
6955
  const loadMem = {
6927
6956
  wanted: false,
6928
6957
  run: void 0
@@ -6944,11 +6973,11 @@ var work_view_default = _template("q", (input) => {
6944
6973
  sessions = sessions || [];
6945
6974
  error = String(err);
6946
6975
  }
6947
- }, "q1", $scope0_id);
6976
+ }, "q2", $scope0_id);
6948
6977
  const loadSessions = _resume((autoCreate) => {
6949
6978
  if (autoCreate) loadMem.wanted = true;
6950
6979
  return (loadMem.run ??= coalesce(loadBody))();
6951
- }, "q2", $scope0_id);
6980
+ }, "q3", $scope0_id);
6952
6981
  const closeSession = _resume(async (id) => {
6953
6982
  try {
6954
6983
  await api$1(`/api/sessions/${id}`, { method: "DELETE" });
@@ -6957,7 +6986,7 @@ var work_view_default = _template("q", (input) => {
6957
6986
  } catch (err) {
6958
6987
  error = `Kill session failed: ${String(err.message || err)}`;
6959
6988
  }
6960
- }, "q3", $scope0_id);
6989
+ }, "q4", $scope0_id);
6961
6990
  const renameSession = _resume(async (id, title) => {
6962
6991
  title = title.trim();
6963
6992
  if (!title) return;
@@ -6970,7 +6999,7 @@ var work_view_default = _template("q", (input) => {
6970
6999
  headers: { "content-type": "application/json" },
6971
7000
  body: JSON.stringify({ title })
6972
7001
  });
6973
- }, "q4", $scope0_id);
7002
+ }, "q5", $scope0_id);
6974
7003
  const newSession = _resume(async (wsId, agent) => {
6975
7004
  if (wsId === ws.id) {
6976
7005
  const session = await createSession(agent, true);
@@ -6987,10 +7016,10 @@ var work_view_default = _template("q", (input) => {
6987
7016
  } catch (err) {
6988
7017
  error = String(err.message || err);
6989
7018
  }
6990
- }, "q5", $scope0_id);
7019
+ }, "q6", $scope0_id);
6991
7020
  const promptRename = _resume((s) => {
6992
7021
  renaming = s;
6993
- }, "q6", $scope0_id);
7022
+ }, "q7", $scope0_id);
6994
7023
  _html("<div class=work-view>");
6995
7024
  _set_serialize_reason({
6996
7025
  0: _serialize_guard($scope0_reason, 0),
@@ -7006,6 +7035,7 @@ var work_view_default = _template("q", (input) => {
7006
7035
  13: _serialize_guard($scope0_reason, 6),
7007
7036
  14: $sg__input_agents,
7008
7037
  15: 1,
7038
+ 16: 1,
7009
7039
  17: 1
7010
7040
  });
7011
7041
  const $childScope = _peek_scope_id();
@@ -7016,47 +7046,47 @@ var work_view_default = _template("q", (input) => {
7016
7046
  tab: curTab,
7017
7047
  tabChange: _resume(function(id) {
7018
7048
  tab = id;
7019
- }, "q7", $scope0_id),
7049
+ }, "q8", $scope0_id),
7020
7050
  view,
7021
7051
  viewChange: _resume((_new_view) => {
7022
7052
  view = _new_view;
7023
- }, "q8", $scope0_id),
7053
+ }, "q9", $scope0_id),
7024
7054
  drawerOpen,
7025
7055
  drawerOpenChange: _resume((_new_drawerOpen) => {
7026
7056
  drawerOpen = _new_drawerOpen;
7027
- }, "q9", $scope0_id),
7057
+ }, "q10", $scope0_id),
7028
7058
  allWorkspaces: input.allWorkspaces,
7029
7059
  allStatus: input.allStatus,
7030
7060
  agents: input.agents,
7031
7061
  onError: _resume(function(message) {
7032
7062
  error = message;
7033
- }, "q10", $scope0_id),
7063
+ }, "q11", $scope0_id),
7034
7064
  onSelectWorkspace: input.onSelectWorkspace,
7035
7065
  onOpenSession: input.onOpenSession,
7036
7066
  onManage: input.onManage,
7037
7067
  onNew: input.onNew,
7038
7068
  onUsage: _resume(function() {
7039
7069
  usageOpen = true;
7040
- }, "q11", $scope0_id),
7070
+ }, "q12", $scope0_id),
7041
7071
  onNewSession: _resume(function(wsId, agent) {
7042
7072
  newSession(wsId, agent);
7043
- }, "q12", $scope0_id),
7073
+ }, "q13", $scope0_id),
7044
7074
  onCloseSession: _resume(function(id) {
7045
7075
  closeSession(id);
7046
- }, "q13", $scope0_id),
7076
+ }, "q14", $scope0_id),
7047
7077
  onRenameSession: _resume(function(s) {
7048
7078
  promptRename(s);
7049
- }, "q14", $scope0_id),
7079
+ }, "q15", $scope0_id),
7050
7080
  onReviewOpened: _resume(function(pr) {
7051
- focusPr = pr || "";
7052
- }, "q15", $scope0_id)
7081
+ openDiff(pr);
7082
+ }, "q16", $scope0_id)
7053
7083
  });
7054
7084
  _html("<div class=main-col>");
7055
7085
  _if(() => {
7056
7086
  if (error) {
7057
7087
  const $scope5_id = _scope_id();
7058
7088
  _html(`<p class=toast-error>${_escape(error)}${_el_resume($scope5_id, "a")}<button title=Dismiss>×</button>${_el_resume($scope5_id, "b")}</p>`);
7059
- _script($scope5_id, "q29");
7089
+ _script($scope5_id, "q30");
7060
7090
  writeScope($scope5_id, {});
7061
7091
  return 0;
7062
7092
  }
@@ -7070,13 +7100,14 @@ var work_view_default = _template("q", (input) => {
7070
7100
  sessions: shownSessions || [],
7071
7101
  active: input.active && view === "diff",
7072
7102
  focusPr,
7103
+ focusNonce,
7073
7104
  onSent: _resume(function(sessionId) {
7074
7105
  tab = sessionId;
7075
7106
  view = "term";
7076
- }, "q16", $scope0_id),
7107
+ }, "q17", $scope0_id),
7077
7108
  onExit: _resume(function() {
7078
7109
  view = "term";
7079
- }, "q17", $scope0_id)
7110
+ }, "q18", $scope0_id)
7080
7111
  });
7081
7112
  _show_end($scope0_id, "f", $show);
7082
7113
  _html(`<div class=${view === "diff" ? "\"term-area as-bar\"" : "term-area"}>`);
@@ -7115,32 +7146,31 @@ var work_view_default = _template("q", (input) => {
7115
7146
  sessions: shownSessions,
7116
7147
  onNewSession: _resume(function(agent) {
7117
7148
  newSession(ws.id, agent);
7118
- }, "q18", $scope2_id),
7149
+ }, "q19", $scope2_id),
7119
7150
  onOpenTab: _resume(function(id) {
7120
7151
  tab = id;
7121
- }, "q19", $scope2_id),
7152
+ }, "q20", $scope2_id),
7122
7153
  onCloseSession: _resume(function(id) {
7123
7154
  closeSession(id);
7124
- }, "q20", $scope2_id),
7155
+ }, "q21", $scope2_id),
7125
7156
  onRenameSession: _resume(function(id) {
7126
7157
  const target = (shownSessions || []).find((x) => x.id === id);
7127
7158
  if (target) renaming = target;
7128
- }, "q21", $scope2_id),
7159
+ }, "q22", $scope2_id),
7129
7160
  active: input.active && view === "term" && s.id === curTab,
7130
7161
  mode: view,
7131
7162
  onToggleDiff: _resume(function() {
7132
- focusPr = "";
7133
- view = "diff";
7134
- }, "q22", $scope2_id),
7163
+ openDiff();
7164
+ }, "q23", $scope2_id),
7135
7165
  onExitReview: _resume(function() {
7136
7166
  view = "term";
7137
- }, "q23", $scope2_id),
7167
+ }, "q24", $scope2_id),
7138
7168
  onOpenNav: _resume(function() {
7139
7169
  drawerOpen = true;
7140
- }, "q24", $scope2_id),
7170
+ }, "q25", $scope2_id),
7141
7171
  onManage: _resume(function() {
7142
7172
  input.onManage?.(ws.id);
7143
- }, "q25", $scope2_id)
7173
+ }, "q26", $scope2_id)
7144
7174
  });
7145
7175
  _show_end($scope2_id, "d", $show2);
7146
7176
  _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, {
@@ -7152,7 +7182,7 @@ var work_view_default = _template("q", (input) => {
7152
7182
  if (!shownSessions.length) {
7153
7183
  const $scope3_id = _scope_id();
7154
7184
  _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>`);
7155
- _script($scope3_id, "q30");
7185
+ _script($scope3_id, "q31");
7156
7186
  _subscribe($spawning__closures, _subscribe($si__input_preferred && $input_preferred__closures, writeScope($scope3_id, {})));
7157
7187
  return 0;
7158
7188
  }
@@ -7172,7 +7202,7 @@ var work_view_default = _template("q", (input) => {
7172
7202
  const $scope4_id = _scope_id();
7173
7203
  usage_stats_default({ onClose: _resume(function() {
7174
7204
  usageOpen = false;
7175
- }, "q26", $scope4_id) });
7205
+ }, "q27", $scope4_id) });
7176
7206
  writeScope($scope4_id, {});
7177
7207
  return 0;
7178
7208
  }
@@ -7188,21 +7218,21 @@ var work_view_default = _template("q", (input) => {
7188
7218
  onSubmit: _resume(function(title) {
7189
7219
  renameSession(renaming.id, title);
7190
7220
  renaming = null;
7191
- }, "q27", $scope6_id),
7221
+ }, "q28", $scope6_id),
7192
7222
  onCancel: _resume(function() {
7193
7223
  renaming = null;
7194
- }, "q28", $scope6_id)
7224
+ }, "q29", $scope6_id)
7195
7225
  });
7196
7226
  writeScope($scope6_id, { a: _existing_scope($childScope4) });
7197
7227
  return 0;
7198
7228
  }
7199
7229
  }, $scope0_id, "i");
7200
7230
  _html("</div>");
7201
- _script($scope0_id, "q31");
7202
7231
  _script($scope0_id, "q32");
7203
7232
  _script($scope0_id, "q33");
7204
7233
  _script($scope0_id, "q34");
7205
7234
  _script($scope0_id, "q35");
7235
+ _script($scope0_id, "q36");
7206
7236
  writeScope($scope0_id, {
7207
7237
  m: input.allStatus,
7208
7238
  n: input.active,
@@ -7213,40 +7243,42 @@ var work_view_default = _template("q", (input) => {
7213
7243
  v: sessions,
7214
7244
  w: tab,
7215
7245
  y: view,
7216
- a1: drawerOpen,
7217
- a3: error,
7218
- a4: spawning,
7219
- a6: renaming?.title,
7220
- a7: renaming?.agent,
7221
- a8: renaming?.id,
7222
- aa: ws?.id,
7246
+ a1: focusNonce,
7247
+ a2: drawerOpen,
7248
+ a4: error,
7249
+ a5: spawning,
7250
+ a7: renaming?.title,
7251
+ a8: renaming?.agent,
7252
+ a9: renaming?.id,
7253
+ ab: ws?.id,
7223
7254
  af: ws?.status,
7224
7255
  ag: ws?.name,
7225
- ah: shownSessions,
7226
- aj: shownSessions?.length,
7227
- ak: curTab,
7228
- am: createSession,
7229
- ap: loadMem.wanted,
7230
- ar: loadMem.run,
7231
- as: loadBody,
7232
- au: loadSessions,
7233
- aw: closeSession,
7234
- ax: renameSession,
7235
- ay: newSession,
7236
- az: promptRename,
7256
+ ah: openDiff,
7257
+ aj: shownSessions,
7258
+ al: shownSessions?.length,
7259
+ am: curTab,
7260
+ ao: createSession,
7261
+ ar: loadMem.wanted,
7262
+ at: loadMem.run,
7263
+ au: loadBody,
7264
+ aw: loadSessions,
7265
+ ay: closeSession,
7266
+ az: renameSession,
7267
+ b0: newSession,
7268
+ b1: promptRename,
7237
7269
  a: _existing_scope($childScope),
7238
7270
  d: _existing_scope($childScope2),
7239
- b0: $si__input_active && $input_active__closures,
7240
- b2: $si__input_agents && $input_agents__closures,
7241
- b3: $view__closures,
7242
- b9: $si__input_workspace && $ws_id__closures,
7243
- ba: $si__input_workspace && $ws_name__closures,
7244
- bb: $shownSessions__closures,
7245
- bd: $curTab__closures,
7246
- be: $closeSession2__closures,
7247
- bg: $newSession2__closures,
7248
- b1: $si__input_preferred && $input_preferred__closures,
7249
- b5: $spawning__closures
7271
+ b2: $si__input_active && $input_active__closures,
7272
+ b4: $si__input_agents && $input_agents__closures,
7273
+ b5: $view__closures,
7274
+ bb: $si__input_workspace && $ws_id__closures,
7275
+ bc: $si__input_workspace && $ws_name__closures,
7276
+ bd: $shownSessions__closures,
7277
+ bf: $curTab__closures,
7278
+ bg: $closeSession2__closures,
7279
+ bi: $newSession2__closures,
7280
+ b3: $si__input_preferred && $input_preferred__closures,
7281
+ b7: $spawning__closures
7250
7282
  });
7251
7283
  _resume_branch($scope0_id);
7252
7284
  });
@@ -21697,4 +21729,4 @@ server.listen(port, () => {
21697
21729
  //#endregion
21698
21730
  export {};
21699
21731
 
21700
- ;var __MARKO_MANIFEST__={"esfPH6H":{"block":[2,"stylesheet#/assets/index-CExZozP4.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/index-CExZozP4.css\"",">"],"defer":[2,"/assets/index-DQjYJ4v3.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/index-DQjYJ4v3.js\"","></script>"]}};
21732
+ ;var __MARKO_MANIFEST__={"esfPH6H":{"block":[2,"stylesheet#/assets/index-CExZozP4.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/index-CExZozP4.css\"",">"],"defer":[2,"/assets/index-DncBoamz.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/index-DncBoamz.js\"","></script>"]}};