@band-app/server 0.36.0 → 0.37.0

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 (144) hide show
  1. package/dist/client/assets/TerminalPanel-B6hpsMbz.js +1 -0
  2. package/dist/client/assets/{_basePickBy-D1cW8RfA.js → _basePickBy-DCmd5ciV.js} +1 -1
  3. package/dist/client/assets/{_baseUniq-DCImWVn2.js → _baseUniq-D9VK2Z8h.js} +1 -1
  4. package/dist/client/assets/{arc-Jv1JrzDM.js → arc-CUv7R2hs.js} +1 -1
  5. package/dist/client/assets/{architectureDiagram-VXUJARFQ-DJTHV1y7.js → architectureDiagram-VXUJARFQ-p6VpjWC_.js} +1 -1
  6. package/dist/client/assets/{blockDiagram-VD42YOAC-Cj_bRlht.js → blockDiagram-VD42YOAC-BqO2dZTh.js} +1 -1
  7. package/dist/client/assets/{c4Diagram-YG6GDRKO-xPUaEy7L.js → c4Diagram-YG6GDRKO-Dj3Q1dN_.js} +1 -1
  8. package/dist/client/assets/channel-30zU4uX-.js +1 -0
  9. package/dist/client/assets/{chunk-4BX2VUAB-DWHXL8Ea.js → chunk-4BX2VUAB-ZCRzpI76.js} +1 -1
  10. package/dist/client/assets/{chunk-55IACEB6-Bd7QCFS0.js → chunk-55IACEB6-N8w7W4nW.js} +1 -1
  11. package/dist/client/assets/{chunk-B4BG7PRW-By14k0HA.js → chunk-B4BG7PRW-Bd2C6K3g.js} +1 -1
  12. package/dist/client/assets/{chunk-DI55MBZ5-D6pCQEj8.js → chunk-DI55MBZ5-CSmsIkhT.js} +1 -1
  13. package/dist/client/assets/{chunk-FMBD7UC4-DYeXE4xT.js → chunk-FMBD7UC4-CSFx-rdE.js} +1 -1
  14. package/dist/client/assets/{chunk-QN33PNHL-DcLmw7kN.js → chunk-QN33PNHL-OZhPV9ZW.js} +1 -1
  15. package/dist/client/assets/{chunk-QZHKN3VN-CRzbN_tm.js → chunk-QZHKN3VN-CmQTIqBs.js} +1 -1
  16. package/dist/client/assets/{chunk-TZMSLE5B-B75f53t3.js → chunk-TZMSLE5B-CZXFZkbf.js} +1 -1
  17. package/dist/client/assets/classDiagram-2ON5EDUG-xMXNI9Qc.js +1 -0
  18. package/dist/client/assets/classDiagram-v2-WZHVMYZB-xMXNI9Qc.js +1 -0
  19. package/dist/client/assets/clone-D1RDOFVG.js +1 -0
  20. package/dist/client/assets/{cose-bilkent-S5V4N54A-BkAK4OL7.js → cose-bilkent-S5V4N54A-D2ZJ7fd6.js} +1 -1
  21. package/dist/client/assets/{dagre-6UL2VRFP-DncmS6YY.js → dagre-6UL2VRFP-DWWSarQ5.js} +1 -1
  22. package/dist/client/assets/{diagram-PSM6KHXK-Cn4L1emn.js → diagram-PSM6KHXK-Brpmw2Hy.js} +1 -1
  23. package/dist/client/assets/{diagram-QEK2KX5R-PfH1MBS7.js → diagram-QEK2KX5R-ChxL1lOj.js} +1 -1
  24. package/dist/client/assets/{diagram-S2PKOQOG-DIyYe2yo.js → diagram-S2PKOQOG-CWk5ucVa.js} +1 -1
  25. package/dist/client/assets/{erDiagram-Q2GNP2WA-DWSS5ilU.js → erDiagram-Q2GNP2WA-TKtLKYBO.js} +1 -1
  26. package/dist/client/assets/{flowDiagram-NV44I4VS-D8sgfoe8.js → flowDiagram-NV44I4VS-CNkvODlq.js} +1 -1
  27. package/dist/client/assets/{ganttDiagram-JELNMOA3-CY0uwMQo.js → ganttDiagram-JELNMOA3-GpiTT-6g.js} +1 -1
  28. package/dist/client/assets/{gitGraphDiagram-V2S2FVAM-C5HEaqeu.js → gitGraphDiagram-V2S2FVAM-Dka5-Ebv.js} +1 -1
  29. package/dist/client/assets/{graph-CHdAVft2.js → graph-BJfBQ-lk.js} +1 -1
  30. package/dist/client/assets/{highlighted-body-B3W2YXNL-fz7u7Bcv.js → highlighted-body-B3W2YXNL-Dcw7_8Mg.js} +1 -1
  31. package/dist/client/assets/{index-DQOFyUau.js → index-B55cfwG2.js} +1 -1
  32. package/dist/client/assets/{index-DZYkmDwN.js → index-B8-bfanc.js} +1 -1
  33. package/dist/client/assets/{index-Clbffg3I.js → index-BBjfnWP1.js} +1 -1
  34. package/dist/client/assets/{index-Ru2Dc5A_.js → index-BVmOFLZL.js} +1 -1
  35. package/dist/client/assets/{index-xQGEDauU.js → index-Bf0KQTWS.js} +1 -1
  36. package/dist/client/assets/{index-D-HgfXJR.js → index-BqB0fXhh.js} +1 -1
  37. package/dist/client/assets/{index-D6YofG76.js → index-Bw0gx-LL.js} +1 -1
  38. package/dist/client/assets/{index-Dz2ryCk3.js → index-C04T_A2n.js} +1 -1
  39. package/dist/client/assets/{index-BooiqIu5.js → index-D4kWf9j1.js} +1 -1
  40. package/dist/client/assets/{index-DWJFPU_5.js → index-D6AQfoh3.js} +1 -1
  41. package/dist/client/assets/{index-DMwXny-D.js → index-D7ptzMHA.js} +1 -1
  42. package/dist/client/assets/{index-CrBImo8f.js → index-DNCwYJJi.js} +1 -1
  43. package/dist/client/assets/{index-8d72uArR.js → index-GWun5iKj.js} +1 -1
  44. package/dist/client/assets/{infoDiagram-HS3SLOUP-D0hp75aO.js → infoDiagram-HS3SLOUP-yepsEzeD.js} +1 -1
  45. package/dist/client/assets/{journeyDiagram-XKPGCS4Q-91HWCjRU.js → journeyDiagram-XKPGCS4Q-Ah-IVMRC.js} +1 -1
  46. package/dist/client/assets/{kanban-definition-3W4ZIXB7-BzioXfF6.js → kanban-definition-3W4ZIXB7-4lmmn3Kf.js} +1 -1
  47. package/dist/client/assets/{layout-DfQbFp33.js → layout-WnM58jJN.js} +1 -1
  48. package/dist/client/assets/main-C-PIkr2h.css +1 -0
  49. package/dist/client/assets/{main-Dqe_6Q3-.js → main-D7maoxCk.js} +253 -248
  50. package/dist/client/assets/{mindmap-definition-VGOIOE7T-C_jxHaxD.js → mindmap-definition-VGOIOE7T-CW03vZML.js} +1 -1
  51. package/dist/client/assets/{pieDiagram-ADFJNKIX-Kn_LfuP0.js → pieDiagram-ADFJNKIX-b38HzvV9.js} +1 -1
  52. package/dist/client/assets/{quadrantDiagram-AYHSOK5B-CbeGV886.js → quadrantDiagram-AYHSOK5B-D7COvUcB.js} +1 -1
  53. package/dist/client/assets/{requirementDiagram-UZGBJVZJ-COoa_fat.js → requirementDiagram-UZGBJVZJ-Dbo91lMQ.js} +1 -1
  54. package/dist/client/assets/{sankeyDiagram-TZEHDZUN-TXccJBqI.js → sankeyDiagram-TZEHDZUN-DPpuI6f6.js} +1 -1
  55. package/dist/client/assets/{sequenceDiagram-WL72ISMW-Llnk43Jx.js → sequenceDiagram-WL72ISMW-osyniVrm.js} +1 -1
  56. package/dist/client/assets/{stateDiagram-FKZM4ZOC-DsQWz-Kg.js → stateDiagram-FKZM4ZOC-CEtXxDG2.js} +1 -1
  57. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-DtnGHNEG.js +1 -0
  58. package/dist/client/assets/{timeline-definition-IT6M3QCI-B16mbiqF.js → timeline-definition-IT6M3QCI-Bbim-hJj.js} +1 -1
  59. package/dist/client/assets/{treemap-GDKQZRPO-CN_Il1TD.js → treemap-GDKQZRPO-Bo5jz1c4.js} +1 -1
  60. package/dist/client/assets/{workspace._workspaceId-DJz9r6Bk.js → workspace._workspaceId-BAa7JD1w.js} +1 -1
  61. package/dist/client/assets/{workspace._workspaceId-CXgdRFSq.js → workspace._workspaceId-Dx3IQ0uo.js} +1 -1
  62. package/dist/client/assets/{xychartDiagram-PRI3JC2R-RSssrHeJ.js → xychartDiagram-PRI3JC2R-CwV1AnKv.js} +1 -1
  63. package/dist/openapi.json +1 -8
  64. package/dist/server/assets/{TerminalPanel-BE1IBqp5.js → TerminalPanel-oz5y-mkP.js} +6 -6
  65. package/dist/server/assets/{_basePickBy-CHo3_xmm.js → _basePickBy-DEzTaMUa.js} +2 -2
  66. package/dist/server/assets/{_baseUniq-CSupPFs6.js → _baseUniq-CnsXScTA.js} +1 -1
  67. package/dist/server/assets/_tanstack-start-manifest_v-CGO9e_6B.js +4 -0
  68. package/dist/server/assets/{arc-D44kAr9U.js → arc-DFOFayWx.js} +1 -1
  69. package/dist/server/assets/{architecture-7HQA4BMR-vXckakYr.js → architecture-7HQA4BMR-n9VmbCuR.js} +6 -6
  70. package/dist/server/assets/{architectureDiagram-VXUJARFQ-CR2ITyvh.js → architectureDiagram-VXUJARFQ-IeNkR88v.js} +6 -6
  71. package/dist/server/assets/{blockDiagram-VD42YOAC-DEeR9cDU.js → blockDiagram-VD42YOAC-CWXr6KW7.js} +6 -6
  72. package/dist/server/assets/{c4Diagram-YG6GDRKO-DBRRCTXb.js → c4Diagram-YG6GDRKO-DIRimETA.js} +2 -2
  73. package/dist/server/assets/{channel-C5tRsfJG.js → channel-Cdqq5j16.js} +1 -1
  74. package/dist/server/assets/{chunk-4BX2VUAB-bf7NCd3y.js → chunk-4BX2VUAB-Cozm9hqk.js} +1 -1
  75. package/dist/server/assets/{chunk-55IACEB6-DWdn6VWI.js → chunk-55IACEB6-DRjrJM1L.js} +1 -1
  76. package/dist/server/assets/{chunk-B4BG7PRW-Dkh6IKnk.js → chunk-B4BG7PRW-BwiA7gAZ.js} +4 -4
  77. package/dist/server/assets/{chunk-DI55MBZ5-DBWVZkkA.js → chunk-DI55MBZ5-DYx-lIkt.js} +3 -3
  78. package/dist/server/assets/{chunk-FMBD7UC4-BdS42WOu.js → chunk-FMBD7UC4-Bd38Wnw9.js} +1 -1
  79. package/dist/server/assets/{chunk-QN33PNHL-B8Ct7vG8.js → chunk-QN33PNHL-ONbSMsSY.js} +1 -1
  80. package/dist/server/assets/{chunk-QZHKN3VN-B9nHGxsX.js → chunk-QZHKN3VN-fU_vVgPJ.js} +1 -1
  81. package/dist/server/assets/{chunk-TZMSLE5B-BlzccDyU.js → chunk-TZMSLE5B-BBpSfNKJ.js} +1 -1
  82. package/dist/server/assets/{classDiagram-v2-WZHVMYZB-Chmrw_oF.js → classDiagram-2ON5EDUG-BLteCxZe.js} +5 -5
  83. package/dist/server/assets/{classDiagram-2ON5EDUG-Chmrw_oF.js → classDiagram-v2-WZHVMYZB-BLteCxZe.js} +5 -5
  84. package/dist/server/assets/{clone-aEnx_Sae.js → clone-DHWXuNGD.js} +1 -1
  85. package/dist/server/assets/{cose-bilkent-S5V4N54A-Bc5NoQXq.js → cose-bilkent-S5V4N54A-Dqv8g3XR.js} +1 -1
  86. package/dist/server/assets/{dagre-6UL2VRFP-H_kNmEPM.js → dagre-6UL2VRFP-DvvoFaVJ.js} +6 -6
  87. package/dist/server/assets/{diagram-PSM6KHXK-BcsANBT1.js → diagram-PSM6KHXK-CbKKlJvK.js} +7 -7
  88. package/dist/server/assets/{diagram-QEK2KX5R-k-zPaYMJ.js → diagram-QEK2KX5R-GLrYhnWw.js} +6 -6
  89. package/dist/server/assets/{diagram-S2PKOQOG-DjbSY-6m.js → diagram-S2PKOQOG-uaww8JQd.js} +6 -6
  90. package/dist/server/assets/{erDiagram-Q2GNP2WA-CydybEEO.js → erDiagram-Q2GNP2WA-CBpgZJNk.js} +4 -4
  91. package/dist/server/assets/{flowDiagram-NV44I4VS-tA99onXp.js → flowDiagram-NV44I4VS-DwqeGUt2.js} +5 -5
  92. package/dist/server/assets/{ganttDiagram-JELNMOA3-DsJKSbMm.js → ganttDiagram-JELNMOA3-CSDzrG3u.js} +1 -1
  93. package/dist/server/assets/{gitGraph-G5XIXVHT-BNHu-oQ-.js → gitGraph-G5XIXVHT-CI6QTqC-.js} +6 -6
  94. package/dist/server/assets/{gitGraphDiagram-V2S2FVAM-CzPNHl73.js → gitGraphDiagram-V2S2FVAM-4Hraf1YX.js} +7 -7
  95. package/dist/server/assets/{graph-BnMaPr50.js → graph-BKeol0ik.js} +2 -2
  96. package/dist/server/assets/{highlighted-body-B3W2YXNL-BdiOjvlf.js → highlighted-body-B3W2YXNL-C_Th2vxh.js} +1 -1
  97. package/dist/server/assets/{index-C1sJw8Wd.js → index-B-VeeFTd.js} +1 -1
  98. package/dist/server/assets/{index-Z2HsI7K-.js → index-BQEmg9fY.js} +1 -1
  99. package/dist/server/assets/{index-BdUQ01QB.js → index-BVY32Ndh.js} +1 -1
  100. package/dist/server/assets/{index-DYrcmtj8.js → index-BmH5PL3t.js} +1 -1
  101. package/dist/server/assets/{index-BuEcvcgH.js → index-BtAQWAP4.js} +1 -1
  102. package/dist/server/assets/{index-CvQ9Ebcc.js → index-CXm0C-yc.js} +1 -1
  103. package/dist/server/assets/{index-CPWcRp4N.js → index-CklLNUhb.js} +1 -1
  104. package/dist/server/assets/{index-BDjoQgaj.js → index-CoOBJObR.js} +1 -1
  105. package/dist/server/assets/{index-BcHVcca2.js → index-DOtn1sP2.js} +1 -1
  106. package/dist/server/assets/{index-DKZU081P.js → index-KTMc95HN.js} +1 -1
  107. package/dist/server/assets/{index-BbZG02I3.js → index-SeV-ZdZi.js} +1 -1
  108. package/dist/server/assets/{index-B5Ou6PeY.js → index-WYUrghvu.js} +1 -1
  109. package/dist/server/assets/{index-CGb2LUtT.js → index-dS3n7bt3.js} +1 -1
  110. package/dist/server/assets/{info-VBDWY6EO-C24hC3ph.js → info-VBDWY6EO-qXtU7fls.js} +6 -6
  111. package/dist/server/assets/{infoDiagram-HS3SLOUP-CSvzttKw.js → infoDiagram-HS3SLOUP-Bnhyc8dm.js} +5 -5
  112. package/dist/server/assets/{journeyDiagram-XKPGCS4Q-Bb7ADiou.js → journeyDiagram-XKPGCS4Q-DCeht2II.js} +4 -4
  113. package/dist/server/assets/{kanban-definition-3W4ZIXB7-BCi9DXfZ.js → kanban-definition-3W4ZIXB7-D2wyptyQ.js} +2 -2
  114. package/dist/server/assets/{layout-CBoh_yzS.js → layout-D8oV2IEs.js} +4 -4
  115. package/dist/server/assets/{mermaid-3ZIDBTTL-DrE5sAWk.js → mermaid-3ZIDBTTL-BLpPLDqd.js} +1 -1
  116. package/dist/server/assets/{mermaid-parser.core-C6_1Cugd.js → mermaid-parser.core-BbOvn3Uv.js} +11 -11
  117. package/dist/server/assets/{mindmap-definition-VGOIOE7T-yqPdoOIb.js → mindmap-definition-VGOIOE7T-CKJkiH58.js} +3 -3
  118. package/dist/server/assets/{packet-DYOGHKS2-DJmc50nE.js → packet-DYOGHKS2-CnxepCEW.js} +6 -6
  119. package/dist/server/assets/{pie-VRWISCQL-CvrR2-yk.js → pie-VRWISCQL-KXauGON3.js} +6 -6
  120. package/dist/server/assets/{pieDiagram-ADFJNKIX-CFOW6PnN.js → pieDiagram-ADFJNKIX-B8juLdbl.js} +7 -7
  121. package/dist/server/assets/{quadrantDiagram-AYHSOK5B-3A-aZNyC.js → quadrantDiagram-AYHSOK5B-CLY3QLCC.js} +1 -1
  122. package/dist/server/assets/{radar-ZZBFDIW7-Cfbkh5bz.js → radar-ZZBFDIW7-CIRaA_9T.js} +6 -6
  123. package/dist/server/assets/{requirementDiagram-UZGBJVZJ-Dlll26uf.js → requirementDiagram-UZGBJVZJ-CgDmK30l.js} +3 -3
  124. package/dist/server/assets/{router-B261twKF.js → router-G1mE-O-Q.js} +1436 -861
  125. package/dist/server/assets/{sankeyDiagram-TZEHDZUN-BQaOXs3v.js → sankeyDiagram-TZEHDZUN-B9355ZLW.js} +1 -1
  126. package/dist/server/assets/{sequenceDiagram-WL72ISMW-BCAnfOwu.js → sequenceDiagram-WL72ISMW-SyLdlVhU.js} +3 -3
  127. package/dist/server/assets/{stateDiagram-FKZM4ZOC-BqJZtxdF.js → stateDiagram-FKZM4ZOC-B8krws9Z.js} +8 -8
  128. package/dist/server/assets/{stateDiagram-v2-4FDKWEC3-1ifEjgYq.js → stateDiagram-v2-4FDKWEC3-CqkUhCge.js} +4 -4
  129. package/dist/server/assets/{timeline-definition-IT6M3QCI-CAWbczQG.js → timeline-definition-IT6M3QCI-eG_EzXZg.js} +2 -2
  130. package/dist/server/assets/{treemap-GDKQZRPO-BK5fWRQl.js → treemap-GDKQZRPO-DS3w9TMX.js} +6 -6
  131. package/dist/server/assets/{workspace._workspaceId-DJjGZFKN.js → workspace._workspaceId-Bd4v7PwG.js} +1 -1
  132. package/dist/server/assets/{workspace._workspaceId-C895SrvA.js → workspace._workspaceId-DMYkHS43.js} +1 -1
  133. package/dist/server/assets/{xychartDiagram-PRI3JC2R-DfSubvZj.js → xychartDiagram-PRI3JC2R-DAi7zkg3.js} +1 -1
  134. package/dist/server/server.js +2 -2
  135. package/dist/start-server.mjs +398 -363
  136. package/package.json +5 -5
  137. package/dist/client/assets/TerminalPanel-6-rt7Tzp.js +0 -1
  138. package/dist/client/assets/channel-BObJvFJf.js +0 -1
  139. package/dist/client/assets/classDiagram-2ON5EDUG-B4j3Xs8O.js +0 -1
  140. package/dist/client/assets/classDiagram-v2-WZHVMYZB-B4j3Xs8O.js +0 -1
  141. package/dist/client/assets/clone-D1oJjm-k.js +0 -1
  142. package/dist/client/assets/main-CXgf0iaP.css +0 -1
  143. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-BZgMRt9_.js +0 -1
  144. package/dist/server/assets/_tanstack-start-manifest_v-Cnfw-Mtl.js +0 -4
@@ -702,7 +702,7 @@ function pipeReducer(prev, fn2) {
702
702
  }
703
703
  function observableToPromise(observable$1) {
704
704
  const ac = new AbortController();
705
- const promise2 = new Promise((resolve12, reject) => {
705
+ const promise2 = new Promise((resolve13, reject) => {
706
706
  let isDone = false;
707
707
  function onDone() {
708
708
  if (isDone) return;
@@ -715,7 +715,7 @@ function observableToPromise(observable$1) {
715
715
  const obs$ = observable$1.subscribe({
716
716
  next(data2) {
717
717
  isDone = true;
718
- resolve12(data2);
718
+ resolve13(data2);
719
719
  onDone();
720
720
  },
721
721
  error(data2) {
@@ -888,15 +888,15 @@ function resolveSelfTuple(promise2) {
888
888
  return Unpromise.proxy(promise2).then(() => [promise2]);
889
889
  }
890
890
  function withResolvers() {
891
- let resolve12;
891
+ let resolve13;
892
892
  let reject;
893
893
  const promise2 = new Promise((_resolve, _reject) => {
894
- resolve12 = _resolve;
894
+ resolve13 = _resolve;
895
895
  reject = _reject;
896
896
  });
897
897
  return {
898
898
  promise: promise2,
899
- resolve: resolve12,
899
+ resolve: resolve13,
900
900
  reject
901
901
  };
902
902
  }
@@ -933,8 +933,8 @@ function timerResource(ms) {
933
933
  let timer = null;
934
934
  return makeResource({ start() {
935
935
  if (timer) throw new Error("Timer already started");
936
- const promise2 = new Promise((resolve12) => {
937
- timer = setTimeout(() => resolve12(disposablePromiseTimerResult), ms);
936
+ const promise2 = new Promise((resolve13) => {
937
+ timer = setTimeout(() => resolve13(disposablePromiseTimerResult), ms);
938
938
  });
939
939
  return promise2;
940
940
  } }, () => {
@@ -979,15 +979,15 @@ function _takeWithGrace() {
979
979
  return _takeWithGrace.apply(this, arguments);
980
980
  }
981
981
  function createDeferred() {
982
- let resolve12;
982
+ let resolve13;
983
983
  let reject;
984
984
  const promise2 = new Promise((res, rej) => {
985
- resolve12 = res;
985
+ resolve13 = res;
986
986
  reject = rej;
987
987
  });
988
988
  return {
989
989
  promise: promise2,
990
- resolve: resolve12,
990
+ resolve: resolve13,
991
991
  reject
992
992
  };
993
993
  }
@@ -2057,8 +2057,8 @@ var init_resolveResponse_BLZa62_J = __esm({
2057
2057
  status: "fulfilled",
2058
2058
  value
2059
2059
  };
2060
- subscribers === null || subscribers === void 0 || subscribers.forEach(({ resolve: resolve12 }) => {
2061
- resolve12(value);
2060
+ subscribers === null || subscribers === void 0 || subscribers.forEach(({ resolve: resolve13 }) => {
2061
+ resolve13(value);
2062
2062
  });
2063
2063
  });
2064
2064
  if ("catch" in thenReturn) thenReturn.catch((reason) => {
@@ -11697,21 +11697,21 @@ var require_react_development = __commonJS({
11697
11697
  );
11698
11698
  actScopeDepth = prevActScopeDepth;
11699
11699
  }
11700
- function recursivelyFlushAsyncActWork(returnValue, resolve12, reject) {
11700
+ function recursivelyFlushAsyncActWork(returnValue, resolve13, reject) {
11701
11701
  var queue = ReactSharedInternals.actQueue;
11702
11702
  if (null !== queue)
11703
11703
  if (0 !== queue.length)
11704
11704
  try {
11705
11705
  flushActQueue(queue);
11706
11706
  enqueueTask(function() {
11707
- return recursivelyFlushAsyncActWork(returnValue, resolve12, reject);
11707
+ return recursivelyFlushAsyncActWork(returnValue, resolve13, reject);
11708
11708
  });
11709
11709
  return;
11710
11710
  } catch (error40) {
11711
11711
  ReactSharedInternals.thrownErrors.push(error40);
11712
11712
  }
11713
11713
  else ReactSharedInternals.actQueue = null;
11714
- 0 < ReactSharedInternals.thrownErrors.length ? (queue = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, reject(queue)) : resolve12(returnValue);
11714
+ 0 < ReactSharedInternals.thrownErrors.length ? (queue = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, reject(queue)) : resolve13(returnValue);
11715
11715
  }
11716
11716
  function flushActQueue(queue) {
11717
11717
  if (!isFlushing) {
@@ -11898,7 +11898,7 @@ var require_react_development = __commonJS({
11898
11898
  ));
11899
11899
  });
11900
11900
  return {
11901
- then: function(resolve12, reject) {
11901
+ then: function(resolve13, reject) {
11902
11902
  didAwaitActCall = true;
11903
11903
  thenable.then(
11904
11904
  function(returnValue) {
@@ -11908,7 +11908,7 @@ var require_react_development = __commonJS({
11908
11908
  flushActQueue(queue), enqueueTask(function() {
11909
11909
  return recursivelyFlushAsyncActWork(
11910
11910
  returnValue,
11911
- resolve12,
11911
+ resolve13,
11912
11912
  reject
11913
11913
  );
11914
11914
  });
@@ -11922,7 +11922,7 @@ var require_react_development = __commonJS({
11922
11922
  ReactSharedInternals.thrownErrors.length = 0;
11923
11923
  reject(_thrownError);
11924
11924
  }
11925
- } else resolve12(returnValue);
11925
+ } else resolve13(returnValue);
11926
11926
  },
11927
11927
  function(error40) {
11928
11928
  popActScope(prevActQueue, prevActScopeDepth);
@@ -11944,15 +11944,15 @@ var require_react_development = __commonJS({
11944
11944
  if (0 < ReactSharedInternals.thrownErrors.length)
11945
11945
  throw callback = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, callback;
11946
11946
  return {
11947
- then: function(resolve12, reject) {
11947
+ then: function(resolve13, reject) {
11948
11948
  didAwaitActCall = true;
11949
11949
  0 === prevActScopeDepth ? (ReactSharedInternals.actQueue = queue, enqueueTask(function() {
11950
11950
  return recursivelyFlushAsyncActWork(
11951
11951
  returnValue$jscomp$0,
11952
- resolve12,
11952
+ resolve13,
11953
11953
  reject
11954
11954
  );
11955
- })) : resolve12(returnValue$jscomp$0);
11955
+ })) : resolve13(returnValue$jscomp$0);
11956
11956
  }
11957
11957
  };
11958
11958
  };
@@ -37623,11 +37623,11 @@ function __metadata(metadataKey, metadataValue) {
37623
37623
  }
37624
37624
  function __awaiter(thisArg, _arguments, P3, generator) {
37625
37625
  function adopt(value) {
37626
- return value instanceof P3 ? value : new P3(function(resolve12) {
37627
- resolve12(value);
37626
+ return value instanceof P3 ? value : new P3(function(resolve13) {
37627
+ resolve13(value);
37628
37628
  });
37629
37629
  }
37630
- return new (P3 || (P3 = Promise))(function(resolve12, reject) {
37630
+ return new (P3 || (P3 = Promise))(function(resolve13, reject) {
37631
37631
  function fulfilled(value) {
37632
37632
  try {
37633
37633
  step(generator.next(value));
@@ -37643,7 +37643,7 @@ function __awaiter(thisArg, _arguments, P3, generator) {
37643
37643
  }
37644
37644
  }
37645
37645
  function step(result) {
37646
- result.done ? resolve12(result.value) : adopt(result.value).then(fulfilled, rejected);
37646
+ result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
37647
37647
  }
37648
37648
  step((generator = generator.apply(thisArg, _arguments || [])).next());
37649
37649
  });
@@ -37834,14 +37834,14 @@ function __asyncValues(o) {
37834
37834
  }, i);
37835
37835
  function verb(n) {
37836
37836
  i[n] = o[n] && function(v2) {
37837
- return new Promise(function(resolve12, reject) {
37838
- v2 = o[n](v2), settle(resolve12, reject, v2.done, v2.value);
37837
+ return new Promise(function(resolve13, reject) {
37838
+ v2 = o[n](v2), settle(resolve13, reject, v2.done, v2.value);
37839
37839
  });
37840
37840
  };
37841
37841
  }
37842
- function settle(resolve12, reject, d2, v2) {
37842
+ function settle(resolve13, reject, d2, v2) {
37843
37843
  Promise.resolve(v2).then(function(v3) {
37844
- resolve12({ value: v3, done: d2 });
37844
+ resolve13({ value: v3, done: d2 });
37845
37845
  }, reject);
37846
37846
  }
37847
37847
  }
@@ -72653,10 +72653,10 @@ function dataLoader(batchLoader) {
72653
72653
  resolve: throwFatalError,
72654
72654
  reject: throwFatalError
72655
72655
  };
72656
- const promise2 = new Promise((resolve12, reject) => {
72656
+ const promise2 = new Promise((resolve13, reject) => {
72657
72657
  var _pendingItems;
72658
72658
  item.reject = reject;
72659
- item.resolve = resolve12;
72659
+ item.resolve = resolve13;
72660
72660
  (_pendingItems = pendingItems) !== null && _pendingItems !== void 0 || (pendingItems = []);
72661
72661
  pendingItems.push(item);
72662
72662
  });
@@ -72780,15 +72780,15 @@ var init_loggerLink_ineCN1PO = __esm({
72780
72780
 
72781
72781
  // ../../node_modules/.pnpm/@trpc+client@11.12.0_@trpc+server@11.12.0_typescript@5.9.3__typescript@5.9.3/node_modules/@trpc/client/dist/wsLink-DSf4KOdW.mjs
72782
72782
  function withResolvers2() {
72783
- let resolve12;
72783
+ let resolve13;
72784
72784
  let reject;
72785
72785
  const promise2 = new Promise((res, rej) => {
72786
- resolve12 = res;
72786
+ resolve13 = res;
72787
72787
  reject = rej;
72788
72788
  });
72789
72789
  return {
72790
72790
  promise: promise2,
72791
- resolve: resolve12,
72791
+ resolve: resolve13,
72792
72792
  reject
72793
72793
  };
72794
72794
  }
@@ -72807,10 +72807,10 @@ async function buildConnectionMessage(connectionParams, encoder) {
72807
72807
  return encoder.encode(message);
72808
72808
  }
72809
72809
  function asyncWsOpen(ws) {
72810
- const { promise: promise2, resolve: resolve12, reject } = withResolvers2();
72810
+ const { promise: promise2, resolve: resolve13, reject } = withResolvers2();
72811
72811
  ws.addEventListener("open", () => {
72812
72812
  ws.removeEventListener("error", reject);
72813
- resolve12();
72813
+ resolve13();
72814
72814
  });
72815
72815
  ws.addEventListener("error", reject);
72816
72816
  return promise2;
@@ -72967,7 +72967,7 @@ var init_wsLink_DSf4KOdW = __esm({
72967
72967
  * @returns A cleanup function to manually remove the request.
72968
72968
  */
72969
72969
  register(message, callbacks) {
72970
- const { promise: end, resolve: resolve12 } = withResolvers2();
72970
+ const { promise: end, resolve: resolve13 } = withResolvers2();
72971
72971
  this.outgoingRequests.push({
72972
72972
  id: String(message.id),
72973
72973
  message,
@@ -72976,18 +72976,18 @@ var init_wsLink_DSf4KOdW = __esm({
72976
72976
  next: callbacks.next,
72977
72977
  complete: () => {
72978
72978
  callbacks.complete();
72979
- resolve12();
72979
+ resolve13();
72980
72980
  },
72981
72981
  error: (e) => {
72982
72982
  callbacks.error(e);
72983
- resolve12();
72983
+ resolve13();
72984
72984
  }
72985
72985
  }
72986
72986
  });
72987
72987
  return () => {
72988
72988
  this.delete(message.id);
72989
72989
  callbacks.complete();
72990
- resolve12();
72990
+ resolve13();
72991
72991
  };
72992
72992
  }
72993
72993
  /**
@@ -78772,10 +78772,10 @@ var require_core_cjs_development = __commonJS({
78772
78772
  easing,
78773
78773
  fill: "forwards"
78774
78774
  });
78775
- return new Promise((resolve12) => {
78775
+ return new Promise((resolve13) => {
78776
78776
  animation.onfinish = () => {
78777
78777
  cleanup == null ? void 0 : cleanup();
78778
- resolve12();
78778
+ resolve13();
78779
78779
  };
78780
78780
  });
78781
78781
  };
@@ -87218,7 +87218,7 @@ var require_compile = __commonJS({
87218
87218
  const schOrFunc = root.refs[ref];
87219
87219
  if (schOrFunc)
87220
87220
  return schOrFunc;
87221
- let _sch = resolve12.call(this, root, ref);
87221
+ let _sch = resolve13.call(this, root, ref);
87222
87222
  if (_sch === void 0) {
87223
87223
  const schema = (_a2 = root.localRefs) === null || _a2 === void 0 ? void 0 : _a2[ref];
87224
87224
  const { schemaId } = this.opts;
@@ -87245,7 +87245,7 @@ var require_compile = __commonJS({
87245
87245
  function sameSchemaEnv(s1, s2) {
87246
87246
  return s1.schema === s2.schema && s1.root === s2.root && s1.baseId === s2.baseId;
87247
87247
  }
87248
- function resolve12(root, ref) {
87248
+ function resolve13(root, ref) {
87249
87249
  let sch;
87250
87250
  while (typeof (sch = this.refs[ref]) == "string")
87251
87251
  ref = sch;
@@ -87820,7 +87820,7 @@ var require_fast_uri = __commonJS({
87820
87820
  }
87821
87821
  return uri;
87822
87822
  }
87823
- function resolve12(baseURI, relativeURI, options2) {
87823
+ function resolve13(baseURI, relativeURI, options2) {
87824
87824
  const schemelessOptions = options2 ? Object.assign({ scheme: "null" }, options2) : { scheme: "null" };
87825
87825
  const resolved = resolveComponent(parse5(baseURI, schemelessOptions), parse5(relativeURI, schemelessOptions), schemelessOptions, true);
87826
87826
  schemelessOptions.skipEscape = true;
@@ -88047,7 +88047,7 @@ var require_fast_uri = __commonJS({
88047
88047
  var fastUri = {
88048
88048
  SCHEMES,
88049
88049
  normalize: normalize3,
88050
- resolve: resolve12,
88050
+ resolve: resolve13,
88051
88051
  resolveComponent,
88052
88052
  equal,
88053
88053
  serialize,
@@ -91039,7 +91039,7 @@ var require_dist5 = __commonJS({
91039
91039
  // start-server.ts
91040
91040
  import { appendFileSync, createReadStream as createReadStream3, mkdirSync as mkdirSync8, readFileSync as readFileSync10, statSync as statSync12 } from "node:fs";
91041
91041
  import { createServer } from "node:http";
91042
- import { basename as basename5, join as join39, resolve as resolve11, sep as sep8 } from "node:path";
91042
+ import { basename as basename5, join as join39, resolve as resolve12, sep as sep8 } from "node:path";
91043
91043
 
91044
91044
  // ../../node_modules/.pnpm/@trpc+server@11.12.0_typescript@5.9.3/node_modules/@trpc/server/dist/adapters/fetch/index.mjs
91045
91045
  init_getErrorShape_vC8mUXJD();
@@ -91281,8 +91281,8 @@ function getWSConnectionHandler(opts) {
91281
91281
  try {
91282
91282
  var _usingCtx = (0, import_usingCtx2.default)();
91283
91283
  const iterator = _usingCtx.a(iteratorResource(iterable));
91284
- const abortPromise = new Promise((resolve12) => {
91285
- abortController$1.signal.onabort = () => resolve12("abort");
91284
+ const abortPromise = new Promise((resolve13) => {
91285
+ abortController$1.signal.onabort = () => resolve13("abort");
91286
91286
  });
91287
91287
  let next;
91288
91288
  let result$1;
@@ -92460,6 +92460,8 @@ import { join as join25 } from "node:path";
92460
92460
 
92461
92461
  // src/server/infra/agents/acp-agent-process.ts
92462
92462
  import { spawn } from "node:child_process";
92463
+ import { realpathSync } from "node:fs";
92464
+ import { resolve as resolve3 } from "node:path";
92463
92465
  import { Readable, Writable } from "node:stream";
92464
92466
 
92465
92467
  // ../../node_modules/.pnpm/@agentclientprotocol+sdk@1.5.0_zod@3.25.76/node_modules/@agentclientprotocol/sdk/dist/schema/index.js
@@ -105777,11 +105779,11 @@ var Connection = class {
105777
105779
  const id2 = this.nextRequestId++;
105778
105780
  let cancel = () => {
105779
105781
  };
105780
- const response = new Promise((resolve12, reject) => {
105782
+ const response = new Promise((resolve13, reject) => {
105781
105783
  const pendingResponse = {
105782
105784
  resolve: (value) => {
105783
105785
  try {
105784
- resolve12(mapResponse ? mapResponse(value) : value);
105786
+ resolve13(mapResponse ? mapResponse(value) : value);
105785
105787
  } catch (error40) {
105786
105788
  reject(error40);
105787
105789
  }
@@ -105838,8 +105840,8 @@ var Connection = class {
105838
105840
  this.stream = stream;
105839
105841
  this.staticHandlers = handlers3;
105840
105842
  this.allowBatches = options2?.allowBatches ?? true;
105841
- this.closedPromise = new Promise((resolve12) => {
105842
- this.abortController.signal.addEventListener("abort", () => resolve12());
105843
+ this.closedPromise = new Promise((resolve13) => {
105844
+ this.abortController.signal.addEventListener("abort", () => resolve13());
105843
105845
  });
105844
105846
  void this.receive();
105845
105847
  }
@@ -106733,8 +106735,8 @@ var AsyncQueue = class {
106733
106735
  if (this.failed) {
106734
106736
  return Promise.reject(this.failure);
106735
106737
  }
106736
- return new Promise((resolve12, reject) => {
106737
- this.waiters.push({ resolve: resolve12, reject });
106738
+ return new Promise((resolve13, reject) => {
106739
+ this.waiters.push({ resolve: resolve13, reject });
106738
106740
  });
106739
106741
  }
106740
106742
  };
@@ -107340,6 +107342,13 @@ var legacyClientNotificationMethods = /* @__PURE__ */ new Set([
107340
107342
 
107341
107343
  // src/server/infra/agents/acp-agent-process.ts
107342
107344
  var log = createLogger("acp-agent");
107345
+ function canonicalPath(path) {
107346
+ try {
107347
+ return realpathSync(path);
107348
+ } catch {
107349
+ return resolve3(path);
107350
+ }
107351
+ }
107343
107352
  var STARTUP_TIMEOUT_MS = 6e4;
107344
107353
  var LOAD_TIMEOUT_MS = 18e4;
107345
107354
  var STOP_TIMEOUT_MS = 3e3;
@@ -107410,8 +107419,8 @@ var AcpAgentProcess = class _AcpAgentProcess {
107410
107419
  if (child.pid === void 0) liveChildren.delete(child);
107411
107420
  });
107412
107421
  try {
107413
- await new Promise((resolve12, reject) => {
107414
- child.once("spawn", resolve12);
107422
+ await new Promise((resolve13, reject) => {
107423
+ child.once("spawn", resolve13);
107415
107424
  child.once("error", reject);
107416
107425
  });
107417
107426
  } catch (err) {
@@ -107525,6 +107534,16 @@ var AcpAgentProcess = class _AcpAgentProcess {
107525
107534
  * the page cap bounds that walk.
107526
107535
  */
107527
107536
  async listSessions(cwd, limit = 200) {
107537
+ const dir = canonicalPath(cwd);
107538
+ const resolved = /* @__PURE__ */ new Map();
107539
+ const inDir = (s2) => {
107540
+ let path = resolved.get(s2.cwd);
107541
+ if (path === void 0) {
107542
+ path = canonicalPath(s2.cwd);
107543
+ resolved.set(s2.cwd, path);
107544
+ }
107545
+ return path === dir;
107546
+ };
107528
107547
  const sessions = [];
107529
107548
  let cursor;
107530
107549
  for (let page = 0; page < 10 && sessions.length < limit; page++) {
@@ -107534,7 +107553,7 @@ var AcpAgentProcess = class _AcpAgentProcess {
107534
107553
  this.label
107535
107554
  )
107536
107555
  );
107537
- sessions.push(...res.sessions);
107556
+ sessions.push(...res.sessions.filter(inDir));
107538
107557
  cursor = res.nextCursor;
107539
107558
  if (!cursor) break;
107540
107559
  }
@@ -107620,16 +107639,16 @@ async function stopAllAgentProcesses() {
107620
107639
  }
107621
107640
  async function stopAgentProcess(child) {
107622
107641
  if (child.pid === void 0) {
107623
- await new Promise((resolve12) => {
107624
- child.once("spawn", () => resolve12());
107625
- child.once("error", () => resolve12());
107642
+ await new Promise((resolve13) => {
107643
+ child.once("spawn", () => resolve13());
107644
+ child.once("error", () => resolve13());
107626
107645
  });
107627
107646
  }
107628
107647
  const pid = child.pid;
107629
107648
  if (pid === void 0) return;
107630
- const exited = new Promise((resolve12) => {
107631
- if (child.exitCode !== null || child.signalCode !== null) resolve12();
107632
- else child.once("exit", () => resolve12());
107649
+ const exited = new Promise((resolve13) => {
107650
+ if (child.exitCode !== null || child.signalCode !== null) resolve13();
107651
+ else child.once("exit", () => resolve13());
107633
107652
  });
107634
107653
  const running = () => {
107635
107654
  if (process.platform === "win32") return child.exitCode === null && child.signalCode === null;
@@ -107647,7 +107666,7 @@ async function stopAgentProcess(child) {
107647
107666
  await Promise.race([exited, delay(1e3)]);
107648
107667
  }
107649
107668
  function delay(ms) {
107650
- return new Promise((resolve12) => setTimeout(resolve12, ms));
107669
+ return new Promise((resolve13) => setTimeout(resolve13, ms));
107651
107670
  }
107652
107671
  function signalGroup(child, pid, signal) {
107653
107672
  try {
@@ -108253,7 +108272,7 @@ import { execFile } from "node:child_process";
108253
108272
  var log3 = createLogger("coding-agent:usage:opencode");
108254
108273
  function createOpenCodeUsageReader(command = OPENCODE_DEFAULT_BINARY) {
108255
108274
  async function listSessions3(dir) {
108256
- const sessions = await new Promise((resolve12, reject) => {
108275
+ const sessions = await new Promise((resolve13, reject) => {
108257
108276
  execFile(
108258
108277
  command,
108259
108278
  ["session", "list", "--format", "json"],
@@ -108264,9 +108283,9 @@ function createOpenCodeUsageReader(command = OPENCODE_DEFAULT_BINARY) {
108264
108283
  return;
108265
108284
  }
108266
108285
  try {
108267
- resolve12(JSON.parse(stdout));
108286
+ resolve13(JSON.parse(stdout));
108268
108287
  } catch {
108269
- resolve12([]);
108288
+ resolve13([]);
108270
108289
  }
108271
108290
  }
108272
108291
  );
@@ -108277,7 +108296,7 @@ function createOpenCodeUsageReader(command = OPENCODE_DEFAULT_BINARY) {
108277
108296
  async function getSessionUsage3(sessionId, _dir) {
108278
108297
  let raw;
108279
108298
  try {
108280
- raw = await new Promise((resolve12, reject) => {
108299
+ raw = await new Promise((resolve13, reject) => {
108281
108300
  execFile(
108282
108301
  command,
108283
108302
  ["export", sessionId],
@@ -108287,7 +108306,7 @@ function createOpenCodeUsageReader(command = OPENCODE_DEFAULT_BINARY) {
108287
108306
  reject(err);
108288
108307
  return;
108289
108308
  }
108290
- resolve12(stdout);
108309
+ resolve13(stdout);
108291
108310
  }
108292
108311
  );
108293
108312
  });
@@ -108423,13 +108442,13 @@ async function shellPath() {
108423
108442
  }
108424
108443
  const shell2 = defaultShell();
108425
108444
  try {
108426
- const result = await new Promise((resolve12, reject) => {
108445
+ const result = await new Promise((resolve13, reject) => {
108427
108446
  execFile2(shell2, ["-li", "-c", "echo $PATH"], { timeout: 5e3 }, (err, stdout) => {
108428
108447
  if (err) {
108429
108448
  reject(err);
108430
108449
  return;
108431
108450
  }
108432
- resolve12(stdout.trim());
108451
+ resolve13(stdout.trim());
108433
108452
  });
108434
108453
  });
108435
108454
  if (result) {
@@ -108446,13 +108465,13 @@ async function whichBinary(name3) {
108446
108465
  const resolvedPath = await shellPath();
108447
108466
  const locator = process.platform === "win32" ? "where" : "which";
108448
108467
  try {
108449
- const result = await new Promise((resolve12, reject) => {
108468
+ const result = await new Promise((resolve13, reject) => {
108450
108469
  execFile2(locator, [name3], { env: { ...process.env, PATH: resolvedPath } }, (err, stdout) => {
108451
108470
  if (err) {
108452
108471
  reject(err);
108453
108472
  return;
108454
108473
  }
108455
- resolve12(stdout.trim());
108474
+ resolve13(stdout.trim());
108456
108475
  });
108457
108476
  });
108458
108477
  const first = result.split(/\r?\n/)[0]?.trim();
@@ -108551,7 +108570,7 @@ async function resolveAcpLaunch(def2) {
108551
108570
 
108552
108571
  // src/server/infra/agents/claude-defaults.ts
108553
108572
  import { execFile as execFile3 } from "node:child_process";
108554
- import { closeSync, openSync, readFileSync, readSync, realpathSync, statSync as statSync4 } from "node:fs";
108573
+ import { closeSync, openSync, readFileSync, readSync, realpathSync as realpathSync2, statSync as statSync4 } from "node:fs";
108555
108574
  import { homedir as homedir5 } from "node:os";
108556
108575
  import { join as join7, resolve as resolvePath2 } from "node:path";
108557
108576
  var EFFORT_LEVELS = /* @__PURE__ */ new Set(["low", "medium", "high", "xhigh", "max"]);
@@ -108634,7 +108653,7 @@ function configuredClaudeDefaults(opts) {
108634
108653
  function transcriptPath(env, cwd, sessionId) {
108635
108654
  let real3 = cwd;
108636
108655
  try {
108637
- real3 = realpathSync(cwd);
108656
+ real3 = realpathSync2(cwd);
108638
108657
  } catch {
108639
108658
  }
108640
108659
  return join7(
@@ -108700,19 +108719,19 @@ function parseClaudeCliArgs(commandLine) {
108700
108719
  return out;
108701
108720
  }
108702
108721
  function listProcesses() {
108703
- return new Promise((resolve12) => {
108722
+ return new Promise((resolve13) => {
108704
108723
  execFile3(
108705
108724
  "ps",
108706
108725
  ["-A", "-o", "pid=,ppid=,args="],
108707
108726
  { maxBuffer: 16 * 1024 * 1024 },
108708
108727
  (err, out) => {
108709
- if (err) return resolve12([]);
108728
+ if (err) return resolve13([]);
108710
108729
  const rows = [];
108711
108730
  for (const line2 of out.split("\n")) {
108712
108731
  const m3 = /^\s*(\d+)\s+(\d+)\s+(.*)$/.exec(line2);
108713
108732
  if (m3) rows.push({ pid: Number(m3[1]), ppid: Number(m3[2]), args: m3[3] ?? "" });
108714
108733
  }
108715
- resolve12(rows);
108734
+ resolve13(rows);
108716
108735
  }
108717
108736
  );
108718
108737
  });
@@ -116817,7 +116836,7 @@ var ChatEventQueries = class {
116817
116836
  ...indexFields(input.event),
116818
116837
  turnStart: input.turnStart ?? false,
116819
116838
  payload: JSON.stringify(input.event),
116820
- createdAt: Date.now()
116839
+ createdAt: input.createdAt ?? Date.now()
116821
116840
  }).returning({ id: chatEvents.id }).get();
116822
116841
  return row.id;
116823
116842
  }
@@ -116935,7 +116954,8 @@ function rowsToEvents(rows) {
116935
116954
  out.push({
116936
116955
  type: "update",
116937
116956
  update: { ...run2.update, content: { type: "text", text: run2.text } },
116938
- eventId: run2.lastId
116957
+ eventId: run2.lastId,
116958
+ createdAt: run2.createdAt
116939
116959
  });
116940
116960
  run2 = null;
116941
116961
  };
@@ -116951,11 +116971,12 @@ function rowsToEvents(rows) {
116951
116971
  run2 = {
116952
116972
  update: chunk,
116953
116973
  text: chunk.content.type === "text" ? chunk.content.text : "",
116954
- lastId: row.id
116974
+ lastId: row.id,
116975
+ createdAt: row.createdAt
116955
116976
  };
116956
116977
  continue;
116957
116978
  }
116958
- out.push({ ...row.event, eventId: row.id });
116979
+ out.push({ ...row.event, eventId: row.id, createdAt: row.createdAt });
116959
116980
  }
116960
116981
  flush();
116961
116982
  return out;
@@ -126543,6 +126564,10 @@ var import_jsx_runtime25 = __toESM(require_jsx_runtime(), 1);
126543
126564
  // ../../packages/ui/src/components/input.tsx
126544
126565
  var import_jsx_runtime26 = __toESM(require_jsx_runtime(), 1);
126545
126566
 
126567
+ // ../../packages/ui/src/popper.ts
126568
+ var POPPER_MAX_HEIGHT = "max-h-[min(var(--popper-max-height,100dvh),calc(var(--radix-popper-available-height)/var(--app-zoom,1)))]";
126569
+ var POPPER_MAX_WIDTH = "max-w-[calc(var(--radix-popper-available-width)/var(--app-zoom,1))]";
126570
+
126546
126571
  // ../../packages/ui/src/components/popover.tsx
126547
126572
  var import_jsx_runtime27 = __toESM(require_jsx_runtime(), 1);
126548
126573
  function Popover2({ ...props }) {
@@ -126564,7 +126589,9 @@ function PopoverContent2({
126564
126589
  align,
126565
126590
  sideOffset,
126566
126591
  className: cn(
126567
- "ease-out duration-150 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border border-border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
126592
+ "ease-out duration-150 z-50 w-72 origin-(--radix-popover-content-transform-origin) overflow-y-auto rounded-md border border-border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
126593
+ POPPER_MAX_HEIGHT,
126594
+ POPPER_MAX_WIDTH,
126568
126595
  className
126569
126596
  ),
126570
126597
  ...props
@@ -126956,10 +126983,10 @@ var DIALOG_CONTENT_VARIANTS = {
126956
126983
  "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",
126957
126984
  // Mobile (< lg): bottom drawer
126958
126985
  "inset-x-0 bottom-0 w-full max-w-none rounded-t-2xl border border-b-0 p-6",
126959
- "max-h-[calc(100dvh-env(safe-area-inset-top)-1.5rem)]",
126986
+ "max-h-[calc(100dvh/var(--app-zoom,1)-env(safe-area-inset-top)-1.5rem)]",
126960
126987
  "max-lg:data-[state=open]:slide-in-from-bottom max-lg:data-[state=closed]:slide-out-to-bottom",
126961
126988
  // Desktop (lg+): revert to the centred modal
126962
- "lg:inset-auto lg:top-[50%] lg:left-[50%] lg:bottom-auto lg:w-full lg:max-w-lg lg:max-h-[85vh] lg:translate-x-[-50%] lg:translate-y-[-50%] lg:rounded-lg lg:border-b",
126989
+ "lg:inset-auto lg:top-[50%] lg:left-[50%] lg:bottom-auto lg:w-full lg:max-w-lg lg:max-h-[calc(85vh/var(--app-zoom,1))] lg:translate-x-[-50%] lg:translate-y-[-50%] lg:rounded-lg lg:border-b",
126963
126990
  "lg:data-[state=open]:zoom-in-95 lg:data-[state=closed]:zoom-out-95"
126964
126991
  ].join(" "),
126965
126992
  "command-palette": [
@@ -126975,13 +127002,13 @@ var DIALOG_CONTENT_VARIANTS = {
126975
127002
  // floats at `bottom: var(--kb-inset)` (keyboard height; 0 when closed) so
126976
127003
  // the input clears the on-screen keyboard — see `useKeyboardInset`.
126977
127004
  "inset-x-0 bottom-[var(--kb-inset,0px)] w-full max-w-none rounded-t-2xl border border-b-0",
126978
- "max-h-[calc(100dvh-var(--kb-inset,0px)-env(safe-area-inset-top)-1.5rem)]",
127005
+ "max-h-[calc(100dvh/var(--app-zoom,1)-var(--kb-inset,0px)-env(safe-area-inset-top)-1.5rem)]",
126979
127006
  "max-lg:[&_[data-slot=command]]:flex-col-reverse",
126980
127007
  "max-lg:[&_[cmdk-input-wrapper]]:border-t max-lg:[&_[cmdk-input-wrapper]]:border-b-0",
126981
127008
  "max-lg:data-[state=open]:slide-in-from-bottom max-lg:data-[state=closed]:slide-out-to-bottom",
126982
127009
  // Desktop (lg+): anchored in the upper third by its TOP edge — no
126983
127010
  // `translate-y`, so the input never moves as the list grows downward.
126984
- "lg:inset-x-auto lg:bottom-auto lg:top-[12vh] lg:left-1/2 lg:w-full lg:max-w-lg lg:max-h-[70vh] lg:-translate-x-1/2 lg:rounded-lg lg:border"
127011
+ "lg:inset-x-auto lg:bottom-auto lg:top-[calc(12vh/var(--app-zoom,1))] lg:left-1/2 lg:w-full lg:max-w-lg lg:max-h-[calc(70vh/var(--app-zoom,1))] lg:-translate-x-1/2 lg:rounded-lg lg:border"
126985
127012
  ].join(" ")
126986
127013
  };
126987
127014
  var keyboardInsetHolders = /* @__PURE__ */ new Set();
@@ -127148,7 +127175,8 @@ function ContextMenuContent2({
127148
127175
  if (event.button === 2) event.stopPropagation();
127149
127176
  },
127150
127177
  className: cn(
127151
- "ease-out duration-150 z-50 max-h-(--radix-context-menu-content-available-height) min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md dark:text-neutral-50 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
127178
+ "ease-out duration-150 z-50 min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md dark:text-neutral-50 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
127179
+ POPPER_MAX_HEIGHT,
127152
127180
  className
127153
127181
  ),
127154
127182
  ...props
@@ -127534,8 +127562,8 @@ function hasObjectPrototype(o) {
127534
127562
  return Object.prototype.toString.call(o) === "[object Object]";
127535
127563
  }
127536
127564
  function sleep2(timeout) {
127537
- return new Promise((resolve12) => {
127538
- timeoutManager.setTimeout(resolve12, timeout);
127565
+ return new Promise((resolve13) => {
127566
+ timeoutManager.setTimeout(resolve13, timeout);
127539
127567
  });
127540
127568
  }
127541
127569
  function replaceData(prevData, data2, options2) {
@@ -127673,10 +127701,10 @@ var focusManager = new FocusManager();
127673
127701
 
127674
127702
  // ../../node_modules/.pnpm/@tanstack+query-core@5.90.20/node_modules/@tanstack/query-core/build/modern/thenable.js
127675
127703
  function pendingThenable() {
127676
- let resolve12;
127704
+ let resolve13;
127677
127705
  let reject;
127678
127706
  const thenable = new Promise((_resolve, _reject) => {
127679
- resolve12 = _resolve;
127707
+ resolve13 = _resolve;
127680
127708
  reject = _reject;
127681
127709
  });
127682
127710
  thenable.status = "pending";
@@ -127692,7 +127720,7 @@ function pendingThenable() {
127692
127720
  status: "fulfilled",
127693
127721
  value
127694
127722
  });
127695
- resolve12(value);
127723
+ resolve13(value);
127696
127724
  };
127697
127725
  thenable.reject = (reason) => {
127698
127726
  finalize({
@@ -127871,7 +127899,7 @@ function createRetryer(config2) {
127871
127899
  };
127872
127900
  const canContinue = () => focusManager.isFocused() && (config2.networkMode === "always" || onlineManager.isOnline()) && config2.canRun();
127873
127901
  const canStart = () => canFetch(config2.networkMode) && config2.canRun();
127874
- const resolve12 = (value) => {
127902
+ const resolve13 = (value) => {
127875
127903
  if (!isResolved()) {
127876
127904
  continueFn?.();
127877
127905
  thenable.resolve(value);
@@ -127909,7 +127937,7 @@ function createRetryer(config2) {
127909
127937
  } catch (error40) {
127910
127938
  promiseOrValue = Promise.reject(error40);
127911
127939
  }
127912
- Promise.resolve(promiseOrValue).then(resolve12).catch((error40) => {
127940
+ Promise.resolve(promiseOrValue).then(resolve13).catch((error40) => {
127913
127941
  if (isResolved()) {
127914
127942
  return;
127915
127943
  }
@@ -130973,7 +131001,7 @@ var import_react16 = __toESM(require_react(), 1);
130973
131001
  var import_jsx_runtime55 = __toESM(require_jsx_runtime(), 1);
130974
131002
 
130975
131003
  // src/dashboard/components/DashboardShell.tsx
130976
- var import_react33 = __toESM(require_react(), 1);
131004
+ var import_react32 = __toESM(require_react(), 1);
130977
131005
 
130978
131006
  // src/lib/toast-obstructions.ts
130979
131007
  var import_react17 = __toESM(require_react(), 1);
@@ -131614,13 +131642,15 @@ function pullRequestTone(pr, ciState) {
131614
131642
  }
131615
131643
  }
131616
131644
  var TONE_CLASS = {
131617
- failure: "text-red-600 dark:text-red-400",
131618
- pending: "text-yellow-700 dark:text-yellow-400",
131619
- success: "text-green-700 dark:text-green-400",
131620
- neutral: "text-muted-foreground",
131621
- merged: "text-violet-600 dark:text-violet-400",
131622
- closed: "text-muted-foreground line-through"
131623
- };
131645
+ failure: "text-red-600 border-red-600/40 bg-red-500/10 dark:text-red-400 dark:border-red-400/40",
131646
+ pending: "text-yellow-700 border-yellow-600/50 bg-yellow-500/10 dark:text-yellow-400 dark:border-yellow-400/40",
131647
+ success: "text-green-700 border-green-600/40 bg-green-500/10 dark:text-green-400 dark:border-green-400/40",
131648
+ neutral: "text-muted-foreground border-border bg-muted/50",
131649
+ merged: "text-violet-600 border-violet-600/40 bg-violet-500/10 dark:text-violet-400 dark:border-violet-400/40",
131650
+ closed: "text-muted-foreground border-border bg-muted/50 line-through"
131651
+ };
131652
+ var TAG_CLASS = "inline-flex items-center rounded border px-1 py-px leading-none";
131653
+ var NUMBER_CLASS = `${TAG_CLASS} text-[11px] font-semibold tabular-nums`;
131624
131654
  function statusLabel(pr, ciState) {
131625
131655
  if (pr.state === "merged") return "Merged";
131626
131656
  if (pr.state === "closed") return "Closed";
@@ -131682,7 +131712,7 @@ function PullRequestBadge({ pr, ciState, onOpenChecks }) {
131682
131712
  "aria-expanded": open3,
131683
131713
  "data-testid": "workspace-card__pr-badge",
131684
131714
  "data-tone": tone,
131685
- className: `shrink-0 rounded-sm px-0.5 text-[11px] font-semibold leading-none tabular-nums outline-none hover:underline focus-visible:ring-2 focus-visible:ring-ring ${TONE_CLASS[tone]}`,
131715
+ className: `shrink-0 outline-none hover:underline focus-visible:ring-2 focus-visible:ring-ring ${NUMBER_CLASS} ${TONE_CLASS[tone]}`,
131686
131716
  onPointerEnter: (e) => {
131687
131717
  if (e.pointerType !== "touch") setOpenAfter(true, OPEN_DELAY_MS);
131688
131718
  },
@@ -131757,7 +131787,8 @@ function PullRequestBadge({ pr, ciState, onOpenChecks }) {
131757
131787
  "span",
131758
131788
  {
131759
131789
  "data-testid": "pr-popover__number",
131760
- className: `font-semibold tabular-nums ${TONE_CLASS[tone]}`,
131790
+ "data-tone": tone,
131791
+ className: `${NUMBER_CLASS} ${TONE_CLASS[tone]}`,
131761
131792
  children: [
131762
131793
  "#",
131763
131794
  pr.number
@@ -131768,7 +131799,7 @@ function PullRequestBadge({ pr, ciState, onOpenChecks }) {
131768
131799
  "span",
131769
131800
  {
131770
131801
  "data-testid": "pr-popover__draft",
131771
- className: "rounded-sm border border-border px-1 text-[10px] font-medium text-muted-foreground",
131802
+ className: `${TAG_CLASS} border-border text-[10px] font-medium text-muted-foreground`,
131772
131803
  children: "Draft"
131773
131804
  }
131774
131805
  ),
@@ -132108,14 +132139,11 @@ var WorkspaceCard = (0, import_react29.memo)(function WorkspaceCard2({
132108
132139
  var import_jsx_runtime65 = __toESM(require_jsx_runtime(), 1);
132109
132140
 
132110
132141
  // src/dashboard/components/SettingsPage.tsx
132111
- var import_react32 = __toESM(require_react(), 1);
132142
+ var import_react31 = __toESM(require_react(), 1);
132112
132143
 
132113
132144
  // src/dashboard/hooks/use-terminal-daemon.ts
132114
132145
  init_trpc_client();
132115
132146
 
132116
- // src/dashboard/lib/experimental-flags.ts
132117
- var import_react31 = __toESM(require_react(), 1);
132118
-
132119
132147
  // src/dashboard/components/RestartTerminalDaemonDialog.tsx
132120
132148
  var import_jsx_runtime66 = __toESM(require_jsx_runtime(), 1);
132121
132149
 
@@ -132141,7 +132169,7 @@ var isElectron = typeof window !== "undefined" && "__BAND_DESKTOP__" in window;
132141
132169
 
132142
132170
  // src/dashboard/components/DiffFileContent.tsx
132143
132171
  init_dist2();
132144
- var import_react34 = __toESM(require_react(), 1);
132172
+ var import_react33 = __toESM(require_react(), 1);
132145
132173
 
132146
132174
  // src/dashboard/lib/language-map.ts
132147
132175
  var SUPPORTED_LANGUAGES = [
@@ -132246,12 +132274,12 @@ var diffTheme = EditorView.theme({
132246
132274
  });
132247
132275
 
132248
132276
  // src/dashboard/components/DiffOverviewRuler.tsx
132249
- var import_react35 = __toESM(require_react(), 1);
132277
+ var import_react34 = __toESM(require_react(), 1);
132250
132278
  var import_jsx_runtime73 = __toESM(require_jsx_runtime(), 1);
132251
132279
 
132252
132280
  // src/dashboard/components/FileBrowser.tsx
132253
132281
  var import_lucide_react7 = __toESM(require_lucide_react(), 1);
132254
- var import_react36 = __toESM(require_react(), 1);
132282
+ var import_react35 = __toESM(require_react(), 1);
132255
132283
  var import_jsx_runtime74 = __toESM(require_jsx_runtime(), 1);
132256
132284
  var DRAG_MIME = "application/x-band-tree-entry";
132257
132285
  var DRAG_EXPAND_DELAY_MS = 600;
@@ -132298,11 +132326,11 @@ function EntryNameInput({
132298
132326
  onSubmit,
132299
132327
  onCancel
132300
132328
  }) {
132301
- const [value, setValue2] = (0, import_react36.useState)(initialValue);
132302
- const [submitting, setSubmitting] = (0, import_react36.useState)(false);
132303
- const [error40, setError] = (0, import_react36.useState)(null);
132304
- const inputRef = (0, import_react36.useRef)(null);
132305
- (0, import_react36.useEffect)(() => {
132329
+ const [value, setValue2] = (0, import_react35.useState)(initialValue);
132330
+ const [submitting, setSubmitting] = (0, import_react35.useState)(false);
132331
+ const [error40, setError] = (0, import_react35.useState)(null);
132332
+ const inputRef = (0, import_react35.useRef)(null);
132333
+ (0, import_react35.useEffect)(() => {
132306
132334
  const el = inputRef.current;
132307
132335
  if (!el) return;
132308
132336
  el.focus();
@@ -132766,7 +132794,7 @@ function TreeNode2({
132766
132794
  })()
132767
132795
  ] });
132768
132796
  }
132769
- var FileBrowser = (0, import_react36.forwardRef)(function FileBrowser2({
132797
+ var FileBrowser = (0, import_react35.forwardRef)(function FileBrowser2({
132770
132798
  workspaceId: workspaceId2,
132771
132799
  workspacePath,
132772
132800
  onOpenFile,
@@ -132778,24 +132806,24 @@ var FileBrowser = (0, import_react36.forwardRef)(function FileBrowser2({
132778
132806
  }, handleRef) {
132779
132807
  const adapter = useAdapter();
132780
132808
  const capabilities = useCapabilities();
132781
- const [expandedPaths, setExpandedPaths] = (0, import_react36.useState)(
132809
+ const [expandedPaths, setExpandedPaths] = (0, import_react35.useState)(
132782
132810
  () => new Set(getCachedExpanded(workspaceId2))
132783
132811
  );
132784
- const [dirContents, setDirContents] = (0, import_react36.useState)(
132812
+ const [dirContents, setDirContents] = (0, import_react35.useState)(
132785
132813
  () => new Map(getCachedContents(workspaceId2))
132786
132814
  );
132787
- const [loadingPaths, setLoadingPaths] = (0, import_react36.useState)(/* @__PURE__ */ new Set());
132788
- const [newEntry, setNewEntry] = (0, import_react36.useState)(null);
132789
- const [pendingDelete, setPendingDelete] = (0, import_react36.useState)(null);
132790
- const [deleteError, setDeleteError] = (0, import_react36.useState)(null);
132791
- const [deleteSubmitting, setDeleteSubmitting] = (0, import_react36.useState)(false);
132792
- const [renamingPath, setRenamingPath] = (0, import_react36.useState)(null);
132793
- const [clipboard, setClipboard] = (0, import_react36.useState)(null);
132794
- const [operationError, setOperationError] = (0, import_react36.useState)(null);
132795
- const [treeSelection, setTreeSelection] = (0, import_react36.useState)(() => selectedFile ? { path: selectedFile, kind: "file" } : null);
132796
- const selectedRef = (0, import_react36.useRef)(null);
132797
- const prevWorkspaceRef = (0, import_react36.useRef)(workspaceId2);
132798
- (0, import_react36.useEffect)(() => {
132815
+ const [loadingPaths, setLoadingPaths] = (0, import_react35.useState)(/* @__PURE__ */ new Set());
132816
+ const [newEntry, setNewEntry] = (0, import_react35.useState)(null);
132817
+ const [pendingDelete, setPendingDelete] = (0, import_react35.useState)(null);
132818
+ const [deleteError, setDeleteError] = (0, import_react35.useState)(null);
132819
+ const [deleteSubmitting, setDeleteSubmitting] = (0, import_react35.useState)(false);
132820
+ const [renamingPath, setRenamingPath] = (0, import_react35.useState)(null);
132821
+ const [clipboard, setClipboard] = (0, import_react35.useState)(null);
132822
+ const [operationError, setOperationError] = (0, import_react35.useState)(null);
132823
+ const [treeSelection, setTreeSelection] = (0, import_react35.useState)(() => selectedFile ? { path: selectedFile, kind: "file" } : null);
132824
+ const selectedRef = (0, import_react35.useRef)(null);
132825
+ const prevWorkspaceRef = (0, import_react35.useRef)(workspaceId2);
132826
+ (0, import_react35.useEffect)(() => {
132799
132827
  if (prevWorkspaceRef.current !== workspaceId2) {
132800
132828
  prevWorkspaceRef.current = workspaceId2;
132801
132829
  setExpandedPaths(new Set(getCachedExpanded(workspaceId2)));
@@ -132811,18 +132839,18 @@ var FileBrowser = (0, import_react36.forwardRef)(function FileBrowser2({
132811
132839
  setOperationError(null);
132812
132840
  }
132813
132841
  }, [workspaceId2]);
132814
- (0, import_react36.useEffect)(() => {
132842
+ (0, import_react35.useEffect)(() => {
132815
132843
  if (selectedFile) {
132816
132844
  setTreeSelection({ path: selectedFile, kind: "file" });
132817
132845
  }
132818
132846
  }, [selectedFile]);
132819
- const handleSelectRow = (0, import_react36.useCallback)((path, kind) => {
132847
+ const handleSelectRow = (0, import_react35.useCallback)((path, kind) => {
132820
132848
  setTreeSelection({ path, kind });
132821
132849
  }, []);
132822
- const clearTreeSelection = (0, import_react36.useCallback)(() => {
132850
+ const clearTreeSelection = (0, import_react35.useCallback)(() => {
132823
132851
  setTreeSelection(null);
132824
132852
  }, []);
132825
- const fetchDir = (0, import_react36.useCallback)(
132853
+ const fetchDir = (0, import_react35.useCallback)(
132826
132854
  async (dirPath, opts) => {
132827
132855
  if (!adapter.listWorkspaceFiles) return;
132828
132856
  const cache4 = getCachedContents(workspaceId2);
@@ -132846,10 +132874,10 @@ var FileBrowser = (0, import_react36.forwardRef)(function FileBrowser2({
132846
132874
  },
132847
132875
  [adapter, workspaceId2]
132848
132876
  );
132849
- (0, import_react36.useEffect)(() => {
132877
+ (0, import_react35.useEffect)(() => {
132850
132878
  fetchDir("");
132851
132879
  }, [fetchDir]);
132852
- (0, import_react36.useEffect)(() => {
132880
+ (0, import_react35.useEffect)(() => {
132853
132881
  if (!adapter.subscribeFileChanges) return;
132854
132882
  const unsubscribe = adapter.subscribeFileChanges(workspaceId2, (changedPath) => {
132855
132883
  const cache4 = getCachedContents(workspaceId2);
@@ -132858,8 +132886,8 @@ var FileBrowser = (0, import_react36.forwardRef)(function FileBrowser2({
132858
132886
  });
132859
132887
  return unsubscribe;
132860
132888
  }, [adapter, workspaceId2, fetchDir]);
132861
- const prevSelectedRef = (0, import_react36.useRef)(void 0);
132862
- (0, import_react36.useEffect)(() => {
132889
+ const prevSelectedRef = (0, import_react35.useRef)(void 0);
132890
+ (0, import_react35.useEffect)(() => {
132863
132891
  if (!selectedFile || selectedFile === prevSelectedRef.current) {
132864
132892
  prevSelectedRef.current = selectedFile;
132865
132893
  return;
@@ -132886,7 +132914,7 @@ var FileBrowser = (0, import_react36.forwardRef)(function FileBrowser2({
132886
132914
  fetchDir(dir);
132887
132915
  }
132888
132916
  }, [selectedFile, workspaceId2, fetchDir]);
132889
- (0, import_react36.useEffect)(() => {
132917
+ (0, import_react35.useEffect)(() => {
132890
132918
  if (selectedFile && selectedRef.current) {
132891
132919
  const timer = setTimeout(() => {
132892
132920
  selectedRef.current?.scrollIntoView({ block: "nearest" });
@@ -132894,7 +132922,7 @@ var FileBrowser = (0, import_react36.forwardRef)(function FileBrowser2({
132894
132922
  return () => clearTimeout(timer);
132895
132923
  }
132896
132924
  }, [selectedFile, dirContents]);
132897
- const toggleExpand = (0, import_react36.useCallback)(
132925
+ const toggleExpand = (0, import_react35.useCallback)(
132898
132926
  (dirPath) => {
132899
132927
  setExpandedPaths((prev) => {
132900
132928
  const next = new Set(prev);
@@ -132910,7 +132938,7 @@ var FileBrowser = (0, import_react36.forwardRef)(function FileBrowser2({
132910
132938
  },
132911
132939
  [workspaceId2, fetchDir]
132912
132940
  );
132913
- const ensureDirExpanded = (0, import_react36.useCallback)(
132941
+ const ensureDirExpanded = (0, import_react35.useCallback)(
132914
132942
  async (dirPath) => {
132915
132943
  const cached2 = getCachedExpanded(workspaceId2);
132916
132944
  if (!cached2.has(dirPath)) {
@@ -132922,17 +132950,17 @@ var FileBrowser = (0, import_react36.forwardRef)(function FileBrowser2({
132922
132950
  },
132923
132951
  [workspaceId2, fetchDir]
132924
132952
  );
132925
- const requestNewEntry = (0, import_react36.useCallback)(
132953
+ const requestNewEntry = (0, import_react35.useCallback)(
132926
132954
  (parentPath, kind) => {
132927
132955
  void ensureDirExpanded(parentPath);
132928
132956
  setNewEntry({ parentPath, kind });
132929
132957
  },
132930
132958
  [ensureDirExpanded]
132931
132959
  );
132932
- const cancelNewEntry = (0, import_react36.useCallback)(() => {
132960
+ const cancelNewEntry = (0, import_react35.useCallback)(() => {
132933
132961
  setNewEntry(null);
132934
132962
  }, []);
132935
- const submitNewEntry = (0, import_react36.useCallback)(
132963
+ const submitNewEntry = (0, import_react35.useCallback)(
132936
132964
  async (name3) => {
132937
132965
  if (!newEntry) return;
132938
132966
  const fullPath = newEntry.parentPath ? `${newEntry.parentPath}/${name3}` : name3;
@@ -132965,16 +132993,16 @@ var FileBrowser = (0, import_react36.forwardRef)(function FileBrowser2({
132965
132993
  [adapter, newEntry, fetchDir, onOpenFile, workspaceId2]
132966
132994
  );
132967
132995
  const canDelete = Boolean(adapter.deleteWorkspacePath);
132968
- const requestDelete = (0, import_react36.useCallback)((path, kind) => {
132996
+ const requestDelete = (0, import_react35.useCallback)((path, kind) => {
132969
132997
  setDeleteError(null);
132970
132998
  setPendingDelete({ path, kind });
132971
132999
  }, []);
132972
- const cancelDelete = (0, import_react36.useCallback)(() => {
133000
+ const cancelDelete = (0, import_react35.useCallback)(() => {
132973
133001
  if (deleteSubmitting) return;
132974
133002
  setPendingDelete(null);
132975
133003
  setDeleteError(null);
132976
133004
  }, [deleteSubmitting]);
132977
- const confirmDelete = (0, import_react36.useCallback)(async () => {
133005
+ const confirmDelete = (0, import_react35.useCallback)(async () => {
132978
133006
  if (!pendingDelete || !adapter.deleteWorkspacePath) return;
132979
133007
  setDeleteSubmitting(true);
132980
133008
  setDeleteError(null);
@@ -133020,7 +133048,7 @@ var FileBrowser = (0, import_react36.forwardRef)(function FileBrowser2({
133020
133048
  }
133021
133049
  }, [adapter, pendingDelete, fetchDir, workspaceId2, onPathDeleted]);
133022
133050
  const canRename = Boolean(adapter.renameWorkspacePath);
133023
- const remapCachesAfterMove = (0, import_react36.useCallback)(
133051
+ const remapCachesAfterMove = (0, import_react35.useCallback)(
133024
133052
  (from3, to) => {
133025
133053
  const cache4 = getCachedContents(workspaceId2);
133026
133054
  const remapped = /* @__PURE__ */ new Map();
@@ -133045,13 +133073,13 @@ var FileBrowser = (0, import_react36.forwardRef)(function FileBrowser2({
133045
133073
  },
133046
133074
  [workspaceId2]
133047
133075
  );
133048
- const requestRename = (0, import_react36.useCallback)((path) => {
133076
+ const requestRename = (0, import_react35.useCallback)((path) => {
133049
133077
  setRenamingPath(path);
133050
133078
  }, []);
133051
- const cancelRename = (0, import_react36.useCallback)(() => {
133079
+ const cancelRename = (0, import_react35.useCallback)(() => {
133052
133080
  setRenamingPath(null);
133053
133081
  }, []);
133054
- const submitRename = (0, import_react36.useCallback)(
133082
+ const submitRename = (0, import_react35.useCallback)(
133055
133083
  async (newName) => {
133056
133084
  if (renamingPath == null || !adapter.renameWorkspacePath) return;
133057
133085
  const oldPath = renamingPath;
@@ -133066,7 +133094,7 @@ var FileBrowser = (0, import_react36.forwardRef)(function FileBrowser2({
133066
133094
  },
133067
133095
  [adapter, renamingPath, fetchDir, onPathRenamed, remapCachesAfterMove, workspaceId2]
133068
133096
  );
133069
- const resolveDefaultTarget = (0, import_react36.useCallback)(() => {
133097
+ const resolveDefaultTarget = (0, import_react35.useCallback)(() => {
133070
133098
  if (treeSelection?.kind === "directory") return treeSelection.path;
133071
133099
  if (treeSelection?.kind === "file") {
133072
133100
  const idx = treeSelection.path.lastIndexOf("/");
@@ -133079,13 +133107,13 @@ var FileBrowser = (0, import_react36.forwardRef)(function FileBrowser2({
133079
133107
  const canPaste = Boolean(
133080
133108
  clipboard && (clipboard.op === "copy" && adapter.copyWorkspacePath || clipboard.op === "cut" && adapter.renameWorkspacePath)
133081
133109
  );
133082
- const cutPath = (0, import_react36.useCallback)((path, kind) => {
133110
+ const cutPath = (0, import_react35.useCallback)((path, kind) => {
133083
133111
  setClipboard({ path, kind, op: "cut" });
133084
133112
  }, []);
133085
- const copyPath = (0, import_react36.useCallback)((path, kind) => {
133113
+ const copyPath = (0, import_react35.useCallback)((path, kind) => {
133086
133114
  setClipboard({ path, kind, op: "copy" });
133087
133115
  }, []);
133088
- const uniqueCopyName = (0, import_react36.useCallback)(
133116
+ const uniqueCopyName = (0, import_react35.useCallback)(
133089
133117
  (baseName, destFolder, kind) => {
133090
133118
  const siblings = new Set(
133091
133119
  (getCachedContents(workspaceId2).get(destFolder) ?? []).map((e) => e.name)
@@ -133103,7 +133131,7 @@ var FileBrowser = (0, import_react36.forwardRef)(function FileBrowser2({
133103
133131
  },
133104
133132
  [workspaceId2]
133105
133133
  );
133106
- const canTransferInto = (0, import_react36.useCallback)(
133134
+ const canTransferInto = (0, import_react35.useCallback)(
133107
133135
  (source, destFolder, op) => {
133108
133136
  if (source.kind === "directory" && (destFolder === source.path || destFolder.startsWith(`${source.path}/`))) {
133109
133137
  return false;
@@ -133113,7 +133141,7 @@ var FileBrowser = (0, import_react36.forwardRef)(function FileBrowser2({
133113
133141
  },
133114
133142
  [canCopyOp, canCutCopy]
133115
133143
  );
133116
- const transferInto = (0, import_react36.useCallback)(
133144
+ const transferInto = (0, import_react35.useCallback)(
133117
133145
  async (source, destFolder, op) => {
133118
133146
  if (!canTransferInto(source, destFolder, op)) return false;
133119
133147
  const baseName = baseNameOf(source.path);
@@ -133150,7 +133178,7 @@ var FileBrowser = (0, import_react36.forwardRef)(function FileBrowser2({
133150
133178
  workspaceId2
133151
133179
  ]
133152
133180
  );
133153
- const runOperation = (0, import_react36.useCallback)(async (op) => {
133181
+ const runOperation = (0, import_react35.useCallback)(async (op) => {
133154
133182
  setOperationError(null);
133155
133183
  try {
133156
133184
  await op();
@@ -133158,7 +133186,7 @@ var FileBrowser = (0, import_react36.forwardRef)(function FileBrowser2({
133158
133186
  setOperationError(err instanceof Error ? err.message : String(err));
133159
133187
  }
133160
133188
  }, []);
133161
- const pasteInto = (0, import_react36.useCallback)(
133189
+ const pasteInto = (0, import_react35.useCallback)(
133162
133190
  (destFolder) => runOperation(async () => {
133163
133191
  if (!clipboard) return;
133164
133192
  const moved = await transferInto(clipboard, destFolder, clipboard.op);
@@ -133166,22 +133194,22 @@ var FileBrowser = (0, import_react36.forwardRef)(function FileBrowser2({
133166
133194
  }),
133167
133195
  [clipboard, runOperation, transferInto]
133168
133196
  );
133169
- const dragSourceRef = (0, import_react36.useRef)(null);
133170
- const [dropTarget, setDropTarget] = (0, import_react36.useState)(null);
133171
- const expandTimerRef = (0, import_react36.useRef)(
133197
+ const dragSourceRef = (0, import_react35.useRef)(null);
133198
+ const [dropTarget, setDropTarget] = (0, import_react35.useState)(null);
133199
+ const expandTimerRef = (0, import_react35.useRef)(
133172
133200
  null
133173
133201
  );
133174
- const clearExpandTimer = (0, import_react36.useCallback)(() => {
133202
+ const clearExpandTimer = (0, import_react35.useCallback)(() => {
133175
133203
  if (expandTimerRef.current) clearTimeout(expandTimerRef.current.timer);
133176
133204
  expandTimerRef.current = null;
133177
133205
  }, []);
133178
- (0, import_react36.useEffect)(() => clearExpandTimer, [clearExpandTimer]);
133179
- const endDrag = (0, import_react36.useCallback)(() => {
133206
+ (0, import_react35.useEffect)(() => clearExpandTimer, [clearExpandTimer]);
133207
+ const endDrag = (0, import_react35.useCallback)(() => {
133180
133208
  dragSourceRef.current = null;
133181
133209
  setDropTarget(null);
133182
133210
  clearExpandTimer();
133183
133211
  }, [clearExpandTimer]);
133184
- const dnd = (0, import_react36.useMemo)(
133212
+ const dnd = (0, import_react35.useMemo)(
133185
133213
  () => ({
133186
133214
  dropTarget,
133187
133215
  onDragStart(path, kind, e) {
@@ -133238,7 +133266,7 @@ var FileBrowser = (0, import_react36.forwardRef)(function FileBrowser2({
133238
133266
  workspaceId2
133239
133267
  ]
133240
133268
  );
133241
- const refreshTree = (0, import_react36.useCallback)(async () => {
133269
+ const refreshTree = (0, import_react35.useCallback)(async () => {
133242
133270
  const cache4 = getCachedContents(workspaceId2);
133243
133271
  const expanded = getCachedExpanded(workspaceId2);
133244
133272
  for (const key2 of Array.from(cache4.keys())) {
@@ -133247,17 +133275,17 @@ var FileBrowser = (0, import_react36.forwardRef)(function FileBrowser2({
133247
133275
  setDirContents(new Map(cache4));
133248
133276
  await Promise.all(Array.from(expanded, (dir) => fetchDir(dir, { force: true })));
133249
133277
  }, [fetchDir, workspaceId2]);
133250
- const collapseAll = (0, import_react36.useCallback)(() => {
133278
+ const collapseAll = (0, import_react35.useCallback)(() => {
133251
133279
  const root = /* @__PURE__ */ new Set([""]);
133252
133280
  expandedStateCache.set(workspaceId2, root);
133253
133281
  setExpandedPaths(new Set(root));
133254
133282
  }, [workspaceId2]);
133255
133283
  const revealInFinder = capabilities.revealInFinder;
133256
- const onRevealInFinder = (0, import_react36.useMemo)(
133284
+ const onRevealInFinder = (0, import_react35.useMemo)(
133257
133285
  () => revealInFinder && workspacePath ? (path) => void revealInFinder(joinWorkspacePath(workspacePath, path)) : void 0,
133258
133286
  [revealInFinder, workspacePath]
133259
133287
  );
133260
- (0, import_react36.useImperativeHandle)(
133288
+ (0, import_react35.useImperativeHandle)(
133261
133289
  handleRef,
133262
133290
  () => ({
133263
133291
  startNewFile(parentPath) {
@@ -133530,17 +133558,17 @@ var FileBrowser = (0, import_react36.forwardRef)(function FileBrowser2({
133530
133558
  });
133531
133559
 
133532
133560
  // src/dashboard/components/FileViewer.tsx
133533
- var import_react40 = __toESM(require_react(), 1);
133561
+ var import_react39 = __toESM(require_react(), 1);
133534
133562
 
133535
133563
  // src/dashboard/lib/markdown-preview-width.ts
133536
- var import_react37 = __toESM(require_react(), 1);
133564
+ var import_react36 = __toESM(require_react(), 1);
133537
133565
 
133538
133566
  // src/dashboard/components/ImagePreview.tsx
133539
- var import_react38 = __toESM(require_react(), 1);
133567
+ var import_react37 = __toESM(require_react(), 1);
133540
133568
  var import_jsx_runtime75 = __toESM(require_jsx_runtime(), 1);
133541
133569
 
133542
133570
  // src/dashboard/components/LanguagePickerDialog.tsx
133543
- var import_react39 = __toESM(require_react(), 1);
133571
+ var import_react38 = __toESM(require_react(), 1);
133544
133572
  var import_jsx_runtime76 = __toESM(require_jsx_runtime(), 1);
133545
133573
 
133546
133574
  // src/dashboard/components/PdfPreview.tsx
@@ -133550,7 +133578,7 @@ var import_jsx_runtime77 = __toESM(require_jsx_runtime(), 1);
133550
133578
  var import_jsx_runtime78 = __toESM(require_jsx_runtime(), 1);
133551
133579
 
133552
133580
  // src/dashboard/components/QuickOpenDialog.tsx
133553
- var import_react41 = __toESM(require_react(), 1);
133581
+ var import_react40 = __toESM(require_react(), 1);
133554
133582
 
133555
133583
  // src/dashboard/lib/file-location.ts
133556
133584
  function formatFileLocation(filePath, line2, options2) {
@@ -133565,7 +133593,7 @@ var import_jsx_runtime79 = __toESM(require_jsx_runtime(), 1);
133565
133593
 
133566
133594
  // src/dashboard/components/SearchBar.tsx
133567
133595
  var import_lucide_react8 = __toESM(require_lucide_react(), 1);
133568
- var import_react42 = __toESM(require_react(), 1);
133596
+ var import_react41 = __toESM(require_react(), 1);
133569
133597
  var import_jsx_runtime80 = __toESM(require_jsx_runtime(), 1);
133570
133598
  var DEFAULT_VISIBLE_OPTIONS = ["caseSensitive", "wholeWord", "regex"];
133571
133599
  function ToggleButton({
@@ -133585,7 +133613,7 @@ function ToggleButton({
133585
133613
  }
133586
133614
  );
133587
133615
  }
133588
- var SearchBar = (0, import_react42.forwardRef)(function SearchBar2({
133616
+ var SearchBar = (0, import_react41.forwardRef)(function SearchBar2({
133589
133617
  query,
133590
133618
  onQueryChange,
133591
133619
  options: options2,
@@ -133602,18 +133630,18 @@ var SearchBar = (0, import_react42.forwardRef)(function SearchBar2({
133602
133630
  const showCase = visibleOptions.includes("caseSensitive");
133603
133631
  const showWholeWord = visibleOptions.includes("wholeWord");
133604
133632
  const showRegex = visibleOptions.includes("regex");
133605
- const inputRef = (0, import_react42.useRef)(null);
133606
- (0, import_react42.useImperativeHandle)(ref, () => ({
133633
+ const inputRef = (0, import_react41.useRef)(null);
133634
+ (0, import_react41.useImperativeHandle)(ref, () => ({
133607
133635
  focus: () => inputRef.current?.focus(),
133608
133636
  select: () => inputRef.current?.select()
133609
133637
  }));
133610
- const toggleCase = (0, import_react42.useCallback)(() => {
133638
+ const toggleCase = (0, import_react41.useCallback)(() => {
133611
133639
  onOptionsChange({ ...options2, caseSensitive: !options2.caseSensitive });
133612
133640
  }, [options2, onOptionsChange]);
133613
- const toggleWholeWord = (0, import_react42.useCallback)(() => {
133641
+ const toggleWholeWord = (0, import_react41.useCallback)(() => {
133614
133642
  onOptionsChange({ ...options2, wholeWord: !options2.wholeWord });
133615
133643
  }, [options2, onOptionsChange]);
133616
- const toggleRegex = (0, import_react42.useCallback)(() => {
133644
+ const toggleRegex = (0, import_react41.useCallback)(() => {
133617
133645
  onOptionsChange({ ...options2, regex: !options2.regex });
133618
133646
  }, [options2, onOptionsChange]);
133619
133647
  const floating = variant === "floating";
@@ -133716,27 +133744,27 @@ var SearchBar = (0, import_react42.forwardRef)(function SearchBar2({
133716
133744
  });
133717
133745
 
133718
133746
  // src/dashboard/components/SearchFilesDialog.tsx
133719
- var import_react43 = __toESM(require_react(), 1);
133747
+ var import_react42 = __toESM(require_react(), 1);
133720
133748
  var import_jsx_runtime81 = __toESM(require_jsx_runtime(), 1);
133721
133749
 
133722
133750
  // src/dashboard/components/WorkspacePickerDialog.tsx
133723
- var import_react44 = __toESM(require_react(), 1);
133751
+ var import_react43 = __toESM(require_react(), 1);
133724
133752
  var import_jsx_runtime82 = __toESM(require_jsx_runtime(), 1);
133725
133753
 
133726
133754
  // src/dashboard/components/WorkspaceTabNav.tsx
133727
133755
  var import_jsx_runtime83 = __toESM(require_jsx_runtime(), 1);
133728
133756
 
133729
133757
  // src/dashboard/hooks/use-diff-target.ts
133730
- var import_react45 = __toESM(require_react(), 1);
133758
+ var import_react44 = __toESM(require_react(), 1);
133731
133759
 
133732
133760
  // src/dashboard/hooks/use-editor-history.ts
133733
- var import_react46 = __toESM(require_react(), 1);
133761
+ var import_react45 = __toESM(require_react(), 1);
133734
133762
 
133735
133763
  // src/dashboard/hooks/use-search.ts
133736
- var import_react47 = __toESM(require_react(), 1);
133764
+ var import_react46 = __toESM(require_react(), 1);
133737
133765
 
133738
133766
  // src/dashboard/hooks/use-workspace-path.ts
133739
- var import_react48 = __toESM(require_react(), 1);
133767
+ var import_react47 = __toESM(require_react(), 1);
133740
133768
 
133741
133769
  // ../../node_modules/.pnpm/marked@15.0.12/node_modules/marked/lib/marked.esm.js
133742
133770
  function _getDefaults() {
@@ -135940,13 +135968,13 @@ var startFailures = 0;
135940
135968
  var nextId = 1;
135941
135969
  var pending = /* @__PURE__ */ new Map();
135942
135970
  function execOnThisThread({ command, args, options: options2 }) {
135943
- return new Promise((resolve12) => {
135971
+ return new Promise((resolve13) => {
135944
135972
  try {
135945
135973
  execFile4(command, args, { ...options2, encoding: "utf8" }, (err, stdout, stderr) => {
135946
- resolve12({ stdout, stderr, error: err ? err.message : null });
135974
+ resolve13({ stdout, stderr, error: err ? err.message : null });
135947
135975
  });
135948
135976
  } catch (err) {
135949
- resolve12({ stdout: "", stderr: "", error: err instanceof Error ? err.message : String(err) });
135977
+ resolve13({ stdout: "", stderr: "", error: err instanceof Error ? err.message : String(err) });
135950
135978
  }
135951
135979
  });
135952
135980
  }
@@ -135984,11 +136012,11 @@ function getWorker() {
135984
136012
  workerUnavailable = true;
135985
136013
  log6.warn("exec-file worker won't start, spawning on the main thread");
135986
136014
  }
135987
- for (const { request, resolve: resolve12 } of orphaned) void execOnThisThread(request).then(resolve12);
136015
+ for (const { request, resolve: resolve13 } of orphaned) void execOnThisThread(request).then(resolve13);
135988
136016
  return;
135989
136017
  }
135990
- for (const { resolve: resolve12 } of orphaned) {
135991
- resolve12({ stdout: "", stderr: "", error: `exec-file worker exited (code ${code})` });
136018
+ for (const { resolve: resolve13 } of orphaned) {
136019
+ resolve13({ stdout: "", stderr: "", error: `exec-file worker exited (code ${code})` });
135992
136020
  }
135993
136021
  });
135994
136022
  worker = created;
@@ -136003,8 +136031,8 @@ function execFileOffThread(command, args, options2) {
136003
136031
  };
136004
136032
  const target = getWorker();
136005
136033
  if (!target) return execOnThisThread(request);
136006
- return new Promise((resolve12) => {
136007
- pending.set(request.id, { request, resolve: resolve12 });
136034
+ return new Promise((resolve13) => {
136035
+ pending.set(request.id, { request, resolve: resolve13 });
136008
136036
  if (pending.size === 1) target.ref();
136009
136037
  target.postMessage(request);
136010
136038
  });
@@ -141601,7 +141629,7 @@ var PluginHost = class {
141601
141629
  warn: (message, ...args) => pluginLog.warn(message, ...args),
141602
141630
  error: (message, ...args) => pluginLog.error(message, ...args)
141603
141631
  },
141604
- exec: (bin, args, options2) => new Promise((resolve12, reject) => {
141632
+ exec: (bin, args, options2) => new Promise((resolve13, reject) => {
141605
141633
  const env = { ...process.env, ...options2.env };
141606
141634
  env.PATH = prependBinDirs(process.env.PATH);
141607
141635
  execFile5(
@@ -141613,7 +141641,7 @@ var PluginHost = class {
141613
141641
  reject(new Error(stderr.trim() || err.message));
141614
141642
  return;
141615
141643
  }
141616
- resolve12({ stdout, stderr });
141644
+ resolve13({ stdout, stderr });
141617
141645
  }
141618
141646
  );
141619
141647
  }),
@@ -142197,8 +142225,8 @@ async function prepareScriptRun(script, label) {
142197
142225
  let poll = null;
142198
142226
  let disposed = false;
142199
142227
  let resolveExited;
142200
- const exited = new Promise((resolve12) => {
142201
- resolveExited = resolve12;
142228
+ const exited = new Promise((resolve13) => {
142229
+ resolveExited = resolve13;
142202
142230
  });
142203
142231
  const check2 = () => {
142204
142232
  if (disposed) return;
@@ -142236,7 +142264,7 @@ async function prepareScriptRun(script, label) {
142236
142264
  return { command, exited, dispose };
142237
142265
  }
142238
142266
  function runScriptHidden(script, cwd, timeoutMs) {
142239
- return new Promise((resolve12, reject) => {
142267
+ return new Promise((resolve13, reject) => {
142240
142268
  const { PORT: _port, ...parentEnv } = process.env;
142241
142269
  const child = spawn2(process.env.ComSpec || "cmd.exe", ["/d", "/s", "/c", script], {
142242
142270
  cwd,
@@ -142246,7 +142274,7 @@ function runScriptHidden(script, cwd, timeoutMs) {
142246
142274
  });
142247
142275
  const timer = timeoutMs === void 0 ? void 0 : setTimeout(() => {
142248
142276
  child.kill();
142249
- resolve12(null);
142277
+ resolve13(null);
142250
142278
  }, timeoutMs);
142251
142279
  child.on("error", (err) => {
142252
142280
  clearTimeout(timer);
@@ -142254,7 +142282,7 @@ function runScriptHidden(script, cwd, timeoutMs) {
142254
142282
  });
142255
142283
  child.on("exit", (code) => {
142256
142284
  clearTimeout(timer);
142257
- resolve12(code ?? 1);
142285
+ resolve13(code ?? 1);
142258
142286
  });
142259
142287
  });
142260
142288
  }
@@ -142553,13 +142581,13 @@ var DaemonClient = class _DaemonClient {
142553
142581
  request(t4, params) {
142554
142582
  if (this.closed) return Promise.reject(new Error("Terminal daemon connection closed"));
142555
142583
  const id2 = this.nextId++;
142556
- return new Promise((resolve12, reject) => {
142584
+ return new Promise((resolve13, reject) => {
142557
142585
  const timer = setTimeout(() => {
142558
142586
  this.pending.delete(id2);
142559
142587
  reject(new Error(`Terminal daemon did not answer ${t4} within ${REQUEST_TIMEOUT_MS} ms`));
142560
142588
  }, REQUEST_TIMEOUT_MS);
142561
142589
  this.pending.set(id2, {
142562
- resolve: resolve12,
142590
+ resolve: resolve13,
142563
142591
  reject,
142564
142592
  timer
142565
142593
  });
@@ -142621,7 +142649,7 @@ async function retireDaemon(paths, buildId) {
142621
142649
  return false;
142622
142650
  } catch (err) {
142623
142651
  if (!(err instanceof DaemonRejectedError) || err.reply.t !== "mismatch") throw err;
142624
- const closed = new Promise((resolve12) => socket.once("close", () => resolve12()));
142652
+ const closed = new Promise((resolve13) => socket.once("close", () => resolve13()));
142625
142653
  writeFrame(socket, { t: "shutdown" });
142626
142654
  await closed;
142627
142655
  return true;
@@ -142657,7 +142685,7 @@ function openSocket(path) {
142657
142685
  } catch (err) {
142658
142686
  return Promise.reject(err);
142659
142687
  }
142660
- return new Promise((resolve12, reject) => {
142688
+ return new Promise((resolve13, reject) => {
142661
142689
  const socket = connect({ path });
142662
142690
  const timer = setTimeout(() => {
142663
142691
  socket.destroy();
@@ -142666,7 +142694,7 @@ function openSocket(path) {
142666
142694
  socket.once("connect", () => {
142667
142695
  clearTimeout(timer);
142668
142696
  socket.removeAllListeners("error");
142669
- resolve12(socket);
142697
+ resolve13(socket);
142670
142698
  });
142671
142699
  socket.once("error", (err) => {
142672
142700
  clearTimeout(timer);
@@ -142680,7 +142708,7 @@ function openSocket(path) {
142680
142708
  });
142681
142709
  }
142682
142710
  function handshake(socket, frames, hello) {
142683
- return new Promise((resolve12, reject) => {
142711
+ return new Promise((resolve13, reject) => {
142684
142712
  const timer = setTimeout(() => {
142685
142713
  socket.destroy();
142686
142714
  reject(new Error("Terminal daemon did not answer hello"));
@@ -142697,7 +142725,7 @@ function handshake(socket, frames, hello) {
142697
142725
  clearTimeout(timer);
142698
142726
  socket.off("close", onClose);
142699
142727
  const reply = frame;
142700
- if (reply.t === "ready") resolve12(reply);
142728
+ if (reply.t === "ready") resolve13(reply);
142701
142729
  else reject(new DaemonRejectedError(reply));
142702
142730
  });
142703
142731
  writeFrame(socket, hello);
@@ -142744,7 +142772,7 @@ async function launchDaemon(options2) {
142744
142772
  })();
142745
142773
  child.on("error", () => {
142746
142774
  });
142747
- return new Promise((resolve12, reject) => {
142775
+ return new Promise((resolve13, reject) => {
142748
142776
  let settled = false;
142749
142777
  const finish = (outcome) => {
142750
142778
  if (settled) return;
@@ -142762,7 +142790,7 @@ async function launchDaemon(options2) {
142762
142790
  Daemon log:
142763
142791
  ${tail}`) : outcome);
142764
142792
  } else {
142765
- resolve12(outcome);
142793
+ resolve13(outcome);
142766
142794
  }
142767
142795
  };
142768
142796
  const onMessage = (message) => {
@@ -143310,7 +143338,7 @@ function readPidRecord(path) {
143310
143338
  async function waitForExit(pid, timeoutMs) {
143311
143339
  const deadline = Date.now() + timeoutMs;
143312
143340
  while (isProcessAlive(pid) && Date.now() < deadline) {
143313
- await new Promise((resolve12) => setTimeout(resolve12, RESTART_POLL_INTERVAL_MS));
143341
+ await new Promise((resolve13) => setTimeout(resolve13, RESTART_POLL_INTERVAL_MS));
143314
143342
  }
143315
143343
  }
143316
143344
  function isProcessAlive(pid) {
@@ -143328,7 +143356,7 @@ async function connectWithRetry(paths, buildId) {
143328
143356
  } catch (err) {
143329
143357
  const retriable = err instanceof DaemonRejectedError && err.reply.t === "rejected" && attempt < CONNECT_RETRIES;
143330
143358
  if (!retriable) throw err;
143331
- await new Promise((resolve12) => setTimeout(resolve12, CONNECT_RETRY_DELAY_MS));
143359
+ await new Promise((resolve13) => setTimeout(resolve13, CONNECT_RETRY_DELAY_MS));
143332
143360
  }
143333
143361
  }
143334
143362
  }
@@ -144107,13 +144135,13 @@ var TerminalPool = class {
144107
144135
  let deathWatch;
144108
144136
  let drainCap;
144109
144137
  try {
144110
- await new Promise((resolve12) => {
144111
- session.headless.write("", resolve12);
144138
+ await new Promise((resolve13) => {
144139
+ session.headless.write("", resolve13);
144112
144140
  deathWatch = setInterval(() => {
144113
- if (this.terminals.get(terminalId) !== session) resolve12();
144141
+ if (this.terminals.get(terminalId) !== session) resolve13();
144114
144142
  }, 50);
144115
144143
  deathWatch.unref();
144116
- drainCap = setTimeout(resolve12, 1e3);
144144
+ drainCap = setTimeout(resolve13, 1e3);
144117
144145
  drainCap.unref();
144118
144146
  });
144119
144147
  if (this.terminals.get(terminalId) !== session) return null;
@@ -144996,7 +145024,7 @@ function formatFileList(files) {
144996
145024
 
144997
145025
  // src/server/infra/lsp/lsp-manager.ts
144998
145026
  import { spawn as spawn3 } from "node:child_process";
144999
- import { dirname as dirname5, join as join21, resolve as resolve3 } from "node:path";
145027
+ import { dirname as dirname5, join as join21, resolve as resolve4 } from "node:path";
145000
145028
  import { fileURLToPath as fileURLToPath2 } from "node:url";
145001
145029
  var workspaceQueries = new WorkspaceQueries();
145002
145030
  var __dirname2 = dirname5(fileURLToPath2(import.meta.url));
@@ -145023,8 +145051,8 @@ async function getOrSpawnServer(workspaceId2, lang) {
145023
145051
  }
145024
145052
  const resolvedPath = await shellPath();
145025
145053
  const cwd = workspace.worktreePath;
145026
- const appBin = resolve3(__dirname2, "../../../../node_modules/.bin");
145027
- const bundledBin = resolve3(__dirname2, "node_modules/.bin");
145054
+ const appBin = resolve4(__dirname2, "../../../../node_modules/.bin");
145055
+ const bundledBin = resolve4(__dirname2, "node_modules/.bin");
145028
145056
  const workspaceBin = join21(cwd, "node_modules/.bin");
145029
145057
  const pathSep = process.platform === "win32" ? ";" : ":";
145030
145058
  const combinedPath = [bundledBin, appBin, workspaceBin, resolvedPath].join(pathSep);
@@ -145071,8 +145099,8 @@ async function getOrSpawnServer(workspaceId2, lang) {
145071
145099
  child.stderr?.on("data", (chunk) => {
145072
145100
  log17.debug("LSP stderr [%s]: %s", serverId, chunk.toString().trimEnd());
145073
145101
  });
145074
- await new Promise((resolve12, reject) => {
145075
- child.once("spawn", resolve12);
145102
+ await new Promise((resolve13, reject) => {
145103
+ child.once("spawn", resolve13);
145076
145104
  child.once("error", (err) => reject(err));
145077
145105
  });
145078
145106
  return session;
@@ -145105,10 +145133,10 @@ import {
145105
145133
  globSync,
145106
145134
  mkdirSync as mkdirSync4,
145107
145135
  readFileSync as readFileSync7,
145108
- realpathSync as realpathSync2,
145136
+ realpathSync as realpathSync3,
145109
145137
  statSync as statSync9
145110
145138
  } from "node:fs";
145111
- import { dirname as dirname6, isAbsolute, join as join22, relative, resolve as resolve4, sep as sep3 } from "node:path";
145139
+ import { dirname as dirname6, isAbsolute, join as join22, relative, resolve as resolve5, sep as sep3 } from "node:path";
145112
145140
  import { promisify } from "node:util";
145113
145141
  var log18 = createLogger("workspace-files");
145114
145142
  var execFileAsync = promisify(execFile6);
@@ -145134,7 +145162,7 @@ async function copyWorkspaceFiles(projectPath, worktreePath) {
145134
145162
  const copied = [];
145135
145163
  let canonicalProjectRoot;
145136
145164
  try {
145137
- canonicalProjectRoot = realpathSync2(projectPath);
145165
+ canonicalProjectRoot = realpathSync3(projectPath);
145138
145166
  } catch (err) {
145139
145167
  log18.warn({ err, projectPath }, "failed to resolve project root \u2014 skipping workspace file copy");
145140
145168
  return copied;
@@ -145150,7 +145178,7 @@ async function copyWorkspaceFiles(projectPath, worktreePath) {
145150
145178
  continue;
145151
145179
  }
145152
145180
  try {
145153
- const canonicalSource = realpathSync2(absSource);
145181
+ const canonicalSource = realpathSync3(absSource);
145154
145182
  const insideRoot = canonicalSource === canonicalProjectRoot || canonicalSource.startsWith(canonicalProjectRoot + sep3);
145155
145183
  if (!insideRoot) {
145156
145184
  log18.warn(
@@ -145211,7 +145239,7 @@ function resolveFromConfig(projectPath, missing) {
145211
145239
  );
145212
145240
  break;
145213
145241
  }
145214
- const abs = resolve4(projectPath, m3);
145242
+ const abs = resolve5(projectPath, m3);
145215
145243
  try {
145216
145244
  if (statSync9(abs).isFile()) {
145217
145245
  out.push(abs);
@@ -145220,7 +145248,7 @@ function resolveFromConfig(projectPath, missing) {
145220
145248
  }
145221
145249
  }
145222
145250
  } else {
145223
- const abs = resolve4(projectPath, entry);
145251
+ const abs = resolve5(projectPath, entry);
145224
145252
  try {
145225
145253
  if (statSync9(abs).isFile()) {
145226
145254
  out.push(abs);
@@ -145260,7 +145288,7 @@ async function resolveFromWorktreeInclude(projectPath) {
145260
145288
  const out = [];
145261
145289
  for (const rel of matchingWorktreeInclude) {
145262
145290
  if (!standardSet.has(rel)) continue;
145263
- out.push(resolve4(projectPath, rel));
145291
+ out.push(resolve5(projectPath, rel));
145264
145292
  }
145265
145293
  return out;
145266
145294
  }
@@ -145545,9 +145573,7 @@ async function runTask(task) {
145545
145573
  });
145546
145574
  }
145547
145575
  });
145548
- const previousCost = agentSessionService.getSessionState(chatId, {
145549
- resolveDefaults: false
145550
- }).costUsd;
145576
+ const previousCost = agentSessionService.sessionCostUsd(chatId);
145551
145577
  agentSessionService.record(
145552
145578
  chatId,
145553
145579
  {
@@ -148725,9 +148751,9 @@ var TerminalService = class {
148725
148751
  let exited = false;
148726
148752
  let wake = null;
148727
148753
  const notify2 = () => {
148728
- const resolve12 = wake;
148754
+ const resolve13 = wake;
148729
148755
  wake = null;
148730
- resolve12?.();
148756
+ resolve13?.();
148731
148757
  };
148732
148758
  const unsubscribeExit = this.onExit(terminalId, () => {
148733
148759
  exited = true;
@@ -148755,9 +148781,9 @@ var TerminalService = class {
148755
148781
  yield { kind: "exit" };
148756
148782
  return;
148757
148783
  }
148758
- await new Promise((resolve12) => {
148759
- if (exited || queue.length > 0 || signal?.aborted) resolve12();
148760
- else wake = resolve12;
148784
+ await new Promise((resolve13) => {
148785
+ if (exited || queue.length > 0 || signal?.aborted) resolve13();
148786
+ else wake = resolve13;
148761
148787
  });
148762
148788
  }
148763
148789
  } finally {
@@ -148887,12 +148913,12 @@ var WorkspaceScriptService = class {
148887
148913
  try {
148888
148914
  prepared = await prepareScriptRun(command, script);
148889
148915
  const { exited } = prepared;
148890
- const closed = new Promise((resolve12) => {
148891
- unsubscribeExit = terminalService.onExit(terminalId, () => resolve12({ kind: "closed" }));
148916
+ const closed = new Promise((resolve13) => {
148917
+ unsubscribeExit = terminalService.onExit(terminalId, () => resolve13({ kind: "closed" }));
148892
148918
  });
148893
- const timedOut = new Promise((resolve12) => {
148919
+ const timedOut = new Promise((resolve13) => {
148894
148920
  if (timeoutMs !== void 0) {
148895
- timer = setTimeout(() => resolve12({ kind: "timeout" }), timeoutMs);
148921
+ timer = setTimeout(() => resolve13({ kind: "timeout" }), timeoutMs);
148896
148922
  }
148897
148923
  });
148898
148924
  await terminalService.spawn(workspaceId2, terminalId, { command: prepared.command });
@@ -149669,17 +149695,19 @@ function record2(rt, event, turnStart = false) {
149669
149695
  broadcastTransient(rt.chatId, event);
149670
149696
  return;
149671
149697
  }
149698
+ const createdAt = Date.now();
149672
149699
  const id2 = events.append({
149673
149700
  chatId: rt.chatId,
149674
149701
  sessionId: rt.sessionId,
149675
149702
  revision: rt.revision,
149676
149703
  event,
149677
- turnStart
149704
+ turnStart,
149705
+ createdAt
149678
149706
  });
149679
- emit2(rt.chatId, { ...event, eventId: id2 });
149707
+ emit2(rt.chatId, { ...event, eventId: id2, createdAt });
149680
149708
  }
149681
149709
  function broadcastTransient(chatId, event) {
149682
- emit2(chatId, { ...event, eventId: transientId-- });
149710
+ emit2(chatId, { ...event, eventId: transientId--, createdAt: Date.now() });
149683
149711
  }
149684
149712
  function remember(def2, patch) {
149685
149713
  const prev = catalog.get(def2.id);
@@ -149747,7 +149775,11 @@ function applyLive(rt, update) {
149747
149775
  if (rt.live.modes) rt.live.modes = { ...rt.live.modes, currentModeId: update.currentModeId };
149748
149776
  break;
149749
149777
  case "usage_update":
149750
- rt.live.usage = { used: update.used, size: update.size, cost: update.cost ?? null };
149778
+ rt.live.usage = {
149779
+ used: update.used,
149780
+ size: update.size,
149781
+ cost: update.cost ?? rt.live.usage?.cost ?? null
149782
+ };
149751
149783
  break;
149752
149784
  case "session_info_update":
149753
149785
  if (update.title !== void 0) {
@@ -149805,7 +149837,7 @@ function openRequest(rt, signal, make, onCancel) {
149805
149837
  return requestId;
149806
149838
  }
149807
149839
  function requestPermission(rt, request, signal) {
149808
- return new Promise((resolve12) => {
149840
+ return new Promise((resolve13) => {
149809
149841
  const requestId = openRequest(
149810
149842
  rt,
149811
149843
  signal,
@@ -149813,10 +149845,10 @@ function requestPermission(rt, request, signal) {
149813
149845
  optionIds: request.options.map((o) => o.optionId),
149814
149846
  permission: (optionId) => {
149815
149847
  done(optionId ?? "cancelled");
149816
- resolve12(optionId ? { outcome: "selected", optionId } : { outcome: "cancelled" });
149848
+ resolve13(optionId ? { outcome: "selected", optionId } : { outcome: "cancelled" });
149817
149849
  }
149818
149850
  }),
149819
- () => resolve12({ outcome: "cancelled" })
149851
+ () => resolve13({ outcome: "cancelled" })
149820
149852
  );
149821
149853
  record2(rt, { type: "permission", requestId, request });
149822
149854
  pendingObserver?.(rt.chatId, rt.workspaceId);
@@ -149824,17 +149856,17 @@ function requestPermission(rt, request, signal) {
149824
149856
  }
149825
149857
  function requestElicitation(rt, request, signal) {
149826
149858
  if (request.mode !== "form") return Promise.resolve({ action: "decline" });
149827
- return new Promise((resolve12) => {
149859
+ return new Promise((resolve13) => {
149828
149860
  const requestId = openRequest(
149829
149861
  rt,
149830
149862
  signal,
149831
149863
  (done) => ({
149832
149864
  elicitation: (response) => {
149833
149865
  done(response.action);
149834
- resolve12(response);
149866
+ resolve13(response);
149835
149867
  }
149836
149868
  }),
149837
- () => resolve12({ action: "cancel" })
149869
+ () => resolve13({ action: "cancel" })
149838
149870
  );
149839
149871
  record2(rt, { type: "elicitation", requestId, request });
149840
149872
  pendingObserver?.(rt.chatId, rt.workspaceId);
@@ -150110,6 +150142,15 @@ var AgentSessionService = class {
150110
150142
  const cost = runtimes.get(chatId)?.live.usage?.cost;
150111
150143
  return cost && cost.currency === "USD" ? cost.amount : void 0;
150112
150144
  }
150145
+ /** The session's cumulative cost in USD so far: the agent's own figure
150146
+ * when it reports one, else Band's estimate from the last finished turn.
150147
+ * The next turn's estimate builds on it. */
150148
+ sessionCostUsd(chatId) {
150149
+ const reported = this.reportedCost(chatId);
150150
+ if (reported !== void 0) return reported;
150151
+ const sessionId = chatService.get(chatId)?.activeSessionId;
150152
+ return sessionId ? sessionCost(sessionId) : null;
150153
+ }
150113
150154
  /** Runs one prompt turn on the attached session. */
150114
150155
  async prompt(chatId, blocks) {
150115
150156
  const rt = runtimes.get(chatId);
@@ -150309,11 +150350,7 @@ var AgentSessionService = class {
150309
150350
  const rt = runtimes.get(chatId);
150310
150351
  const sessionId = chat.activeSessionId;
150311
150352
  if (rt?.process?.alive && rt.sessionId && rt.sessionId === sessionId) {
150312
- return {
150313
- source: "live",
150314
- ...rt.live,
150315
- costUsd: this.reportedCost(chatId) ?? sessionCost(sessionId)
150316
- };
150353
+ return { source: "live", ...rt.live };
150317
150354
  }
150318
150355
  const revision = sessionId ? events.currentRevision(sessionId) : 0;
150319
150356
  if (sessionId && revision > 0) {
@@ -150335,7 +150372,6 @@ var AgentSessionService = class {
150335
150372
  models: base3?.models ?? null,
150336
150373
  commands: commands?.type === "update" && commands.update.sessionUpdate === "available_commands_update" ? commands.update.availableCommands : catalog.get(def2.id)?.commands ?? [],
150337
150374
  usage: usageUpdate,
150338
- costUsd: usageUpdate?.cost?.currency === "USD" ? usageUpdate.cost.amount : sessionCost(sessionId),
150339
150375
  title: info?.type === "update" && info.update.sessionUpdate === "session_info_update" ? info.update.title ?? null : null
150340
150376
  };
150341
150377
  }
@@ -150355,7 +150391,6 @@ var AgentSessionService = class {
150355
150391
  models: models && modelChoice && models.availableModels.some((m3) => m3.modelId === modelChoice) ? { ...models, currentModelId: modelChoice } : models,
150356
150392
  commands: cached2?.commands ?? [],
150357
150393
  usage: null,
150358
- costUsd: null,
150359
150394
  title: null
150360
150395
  };
150361
150396
  }
@@ -150537,13 +150572,13 @@ var AgentSessionService = class {
150537
150572
  }
150538
150573
  }
150539
150574
  };
150575
+ var agentSessionService = new AgentSessionService();
150540
150576
  function sessionCost(sessionId) {
150541
150577
  const revision = events.currentRevision(sessionId);
150542
150578
  if (revision === 0) return null;
150543
150579
  const row = events.latest(sessionId, revision, { kind: "turn-ended" });
150544
150580
  return row?.event.type === "turn-ended" ? row.event.usage?.costUsd ?? null : null;
150545
150581
  }
150546
- var agentSessionService = new AgentSessionService();
150547
150582
 
150548
150583
  // src/shared/chat-events.ts
150549
150584
  var HISTORY_PAGE_SIZE = 20;
@@ -150761,10 +150796,10 @@ async function saveUploadedFilesDetailed(fileParts) {
150761
150796
  // src/api/chat-submit.ts
150762
150797
  var log33 = createLogger("chat-submit");
150763
150798
  function readBody(req) {
150764
- return new Promise((resolve12, reject) => {
150799
+ return new Promise((resolve13, reject) => {
150765
150800
  const chunks = [];
150766
150801
  req.on("data", (chunk) => chunks.push(chunk));
150767
- req.on("end", () => resolve12(Buffer.concat(chunks).toString("utf-8")));
150802
+ req.on("end", () => resolve13(Buffer.concat(chunks).toString("utf-8")));
150768
150803
  req.on("error", reject);
150769
150804
  });
150770
150805
  }
@@ -154394,7 +154429,7 @@ var Protocol = class {
154394
154429
  return;
154395
154430
  }
154396
154431
  const pollInterval = task2.pollInterval ?? this._options?.defaultTaskPollInterval ?? 1e3;
154397
- await new Promise((resolve12) => setTimeout(resolve12, pollInterval));
154432
+ await new Promise((resolve13) => setTimeout(resolve13, pollInterval));
154398
154433
  options2?.signal?.throwIfAborted();
154399
154434
  }
154400
154435
  } catch (error40) {
@@ -154411,7 +154446,7 @@ var Protocol = class {
154411
154446
  */
154412
154447
  request(request, resultSchema, options2) {
154413
154448
  const { relatedRequestId, resumptionToken, onresumptiontoken, task, relatedTask } = options2 ?? {};
154414
- return new Promise((resolve12, reject) => {
154449
+ return new Promise((resolve13, reject) => {
154415
154450
  const earlyReject = (error40) => {
154416
154451
  reject(error40);
154417
154452
  };
@@ -154489,7 +154524,7 @@ var Protocol = class {
154489
154524
  if (!parseResult.success) {
154490
154525
  reject(parseResult.error);
154491
154526
  } else {
154492
- resolve12(parseResult.data);
154527
+ resolve13(parseResult.data);
154493
154528
  }
154494
154529
  } catch (error40) {
154495
154530
  reject(error40);
@@ -154750,12 +154785,12 @@ var Protocol = class {
154750
154785
  }
154751
154786
  } catch {
154752
154787
  }
154753
- return new Promise((resolve12, reject) => {
154788
+ return new Promise((resolve13, reject) => {
154754
154789
  if (signal.aborted) {
154755
154790
  reject(new McpError(ErrorCode.InvalidRequest, "Request cancelled"));
154756
154791
  return;
154757
154792
  }
154758
- const timeoutId = setTimeout(resolve12, interval2);
154793
+ const timeoutId = setTimeout(resolve13, interval2);
154759
154794
  signal.addEventListener("abort", () => {
154760
154795
  clearTimeout(timeoutId);
154761
154796
  reject(new McpError(ErrorCode.InvalidRequest, "Request cancelled"));
@@ -155855,7 +155890,7 @@ var McpServer = class {
155855
155890
  let task = createTaskResult.task;
155856
155891
  const pollInterval = task.pollInterval ?? 5e3;
155857
155892
  while (task.status !== "completed" && task.status !== "failed" && task.status !== "cancelled") {
155858
- await new Promise((resolve12) => setTimeout(resolve12, pollInterval));
155893
+ await new Promise((resolve13) => setTimeout(resolve13, pollInterval));
155859
155894
  const updatedTask = await extra.taskStore.getTask(taskId);
155860
155895
  if (!updatedTask) {
155861
155896
  throw new McpError(ErrorCode.InternalError, `Task ${taskId} not found during polling`);
@@ -156894,7 +156929,7 @@ var responseViaResponseObject = async (res, outgoing, options2 = {}) => {
156894
156929
  });
156895
156930
  if (!chunk) {
156896
156931
  if (i === 1) {
156897
- await new Promise((resolve12) => setTimeout(resolve12));
156932
+ await new Promise((resolve13) => setTimeout(resolve13));
156898
156933
  maxReadCount = 3;
156899
156934
  continue;
156900
156935
  }
@@ -157394,9 +157429,9 @@ data:
157394
157429
  const initRequest = messages.find((m3) => isInitializeRequest(m3));
157395
157430
  const clientProtocolVersion = initRequest ? initRequest.params.protocolVersion : req.headers.get("mcp-protocol-version") ?? DEFAULT_NEGOTIATED_PROTOCOL_VERSION;
157396
157431
  if (this._enableJsonResponse) {
157397
- return new Promise((resolve12) => {
157432
+ return new Promise((resolve13) => {
157398
157433
  this._streamMapping.set(streamId, {
157399
- resolveJson: resolve12,
157434
+ resolveJson: resolve13,
157400
157435
  cleanup: () => {
157401
157436
  this._streamMapping.delete(streamId);
157402
157437
  }
@@ -157829,8 +157864,8 @@ async function ensureCdpTargetId(bandTabId) {
157829
157864
  };
157830
157865
  let rejectFn = () => {
157831
157866
  };
157832
- const promise2 = new Promise((resolve12, reject) => {
157833
- resolveFn = resolve12;
157867
+ const promise2 = new Promise((resolve13, reject) => {
157868
+ resolveFn = resolve13;
157834
157869
  rejectFn = reject;
157835
157870
  });
157836
157871
  const timeoutId = setTimeout(() => {
@@ -158052,14 +158087,14 @@ var browserHostRouter = t3.router({
158052
158087
  }),
158053
158088
  ensureView: publicProcedure.subscription(async function* (opts) {
158054
158089
  const queue = [];
158055
- let resolve12 = null;
158090
+ let resolve13 = null;
158056
158091
  const unsubscribe = browserHostService.onEnsureView((event) => {
158057
158092
  queue.push(event);
158058
- resolve12?.();
158093
+ resolve13?.();
158059
158094
  });
158060
158095
  opts.signal?.addEventListener("abort", () => {
158061
158096
  unsubscribe();
158062
- resolve12?.();
158097
+ resolve13?.();
158063
158098
  });
158064
158099
  try {
158065
158100
  while (!opts.signal?.aborted) {
@@ -158067,9 +158102,9 @@ var browserHostRouter = t3.router({
158067
158102
  yield queue.shift();
158068
158103
  }
158069
158104
  await new Promise((r3) => {
158070
- resolve12 = r3;
158105
+ resolve13 = r3;
158071
158106
  });
158072
- resolve12 = null;
158107
+ resolve13 = null;
158073
158108
  }
158074
158109
  } finally {
158075
158110
  unsubscribe();
@@ -158657,13 +158692,13 @@ import {
158657
158692
  lstatSync as lstatSync3,
158658
158693
  mkdirSync as mkdirSync6,
158659
158694
  readFileSync as readFileSync8,
158660
- realpathSync as realpathSync3,
158695
+ realpathSync as realpathSync4,
158661
158696
  symlinkSync,
158662
158697
  unlinkSync as unlinkSync4,
158663
158698
  writeFileSync as writeFileSync3
158664
158699
  } from "node:fs";
158665
158700
  import { homedir as homedir8, platform as platform2 } from "node:os";
158666
- import { basename as basename2, dirname as dirname7, join as join27, resolve as resolve5 } from "node:path";
158701
+ import { basename as basename2, dirname as dirname7, join as join27, resolve as resolve6 } from "node:path";
158667
158702
  function windowsBinDir() {
158668
158703
  const localAppData = process.env.LOCALAPPDATA || join27(homedir8(), "AppData", "Local");
158669
158704
  return join27(localAppData, "band", "bin");
@@ -158674,11 +158709,11 @@ function findCliBinaryAt(opts) {
158674
158709
  const exe = platform2() === "win32" ? "band.exe" : "band";
158675
158710
  const appsStrategies = [
158676
158711
  // cwd = apps/web/ (Vite dev and production server)
158677
- resolve5(cwd, ".."),
158712
+ resolve6(cwd, ".."),
158678
158713
  // cwd = project root (fallback)
158679
- resolve5(cwd, "apps"),
158714
+ resolve6(cwd, "apps"),
158680
158715
  // From this source file in dev (apps/web/src/server/services/ → apps/)
158681
- resolve5(dirname11, "..", "..", "..", ".."),
158716
+ resolve6(dirname11, "..", "..", "..", ".."),
158682
158717
  // From bundled `dist/` file (<Resources>/web/dist/ → <Resources>/) only
158683
158718
  // — in dev mode this resolves to `apps/web/src/`, which has no
158684
158719
  // `cli/target/<profile>/band` and is harmless; the four-level walk
@@ -158686,7 +158721,7 @@ function findCliBinaryAt(opts) {
158686
158721
  // layout under <Resources>/cli/ would still resolve. Today's Electron
158687
158722
  // bundle ships the binary under `binaries/` (handled by Strategy B),
158688
158723
  // so this strategy never hits in production either.
158689
- resolve5(dirname11, "..", "..", "..")
158724
+ resolve6(dirname11, "..", "..", "..")
158690
158725
  ];
158691
158726
  for (const appsDir of appsStrategies) {
158692
158727
  for (const profile of ["release", "debug"]) {
@@ -158700,10 +158735,10 @@ function findCliBinaryAt(opts) {
158700
158735
  }
158701
158736
  const electronCandidates = [
158702
158737
  // From cwd (<Resources>/web) → <Resources>/binaries/band
158703
- resolve5(cwd, "..", "binaries", exe),
158738
+ resolve6(cwd, "..", "binaries", exe),
158704
158739
  // From the bundled dist file (<Resources>/web/dist/start-server.mjs)
158705
158740
  // → <Resources>/binaries/band
158706
- resolve5(dirname11, "..", "..", "binaries", exe)
158741
+ resolve6(dirname11, "..", "..", "binaries", exe)
158707
158742
  ];
158708
158743
  for (const p3 of electronCandidates) {
158709
158744
  try {
@@ -158743,7 +158778,7 @@ async function checkCli() {
158743
158778
  }
158744
158779
  let target;
158745
158780
  try {
158746
- target = realpathSync3(SYMLINK_PATH);
158781
+ target = realpathSync4(SYMLINK_PATH);
158747
158782
  } catch {
158748
158783
  return "NotInstalled";
158749
158784
  }
@@ -158790,9 +158825,9 @@ function noBinaryError(env = process.env) {
158790
158825
  );
158791
158826
  }
158792
158827
  function runReg(args) {
158793
- return new Promise((resolve12) => {
158828
+ return new Promise((resolve13) => {
158794
158829
  execFile8("reg", args, { windowsHide: true }, (err, stdout) => {
158795
- resolve12(err ? "" : stdout ?? "");
158830
+ resolve13(err ? "" : stdout ?? "");
158796
158831
  });
158797
158832
  });
158798
158833
  }
@@ -158984,7 +159019,7 @@ init_dist38();
158984
159019
 
158985
159020
  // src/server/services/editor-service.ts
158986
159021
  import { realpath as realpath2, stat as stat4 } from "node:fs/promises";
158987
- import { isAbsolute as isAbsolute4, join as join29, resolve as resolve6, sep as sep4 } from "node:path";
159022
+ import { isAbsolute as isAbsolute4, join as join29, resolve as resolve7, sep as sep4 } from "node:path";
158988
159023
 
158989
159024
  // src/server/services/file-watcher.ts
158990
159025
  import { watch as fsWatch } from "node:fs";
@@ -159079,7 +159114,7 @@ function subscribeToFileChanges(workspaceId2, listener) {
159079
159114
  }
159080
159115
 
159081
159116
  // src/server/services/formatter.ts
159082
- import { existsSync as existsSync12, realpathSync as realpathSync4 } from "node:fs";
159117
+ import { existsSync as existsSync12, realpathSync as realpathSync5 } from "node:fs";
159083
159118
  import { basename as basename3, dirname as dirname8, isAbsolute as isAbsolute3, join as join28, resolve as resolvePath3 } from "node:path";
159084
159119
  import prettier from "prettier";
159085
159120
  var log37 = createLogger("formatter");
@@ -159156,17 +159191,17 @@ async function formatFile(worktreePath, filePath, content2, options2 = {}) {
159156
159191
  function isInsideWorktree(absFile, worktreePath) {
159157
159192
  let realFile;
159158
159193
  try {
159159
- realFile = realpathSync4(absFile);
159194
+ realFile = realpathSync5(absFile);
159160
159195
  } catch {
159161
159196
  try {
159162
- realFile = join28(realpathSync4(dirname8(absFile)), basename3(absFile));
159197
+ realFile = join28(realpathSync5(dirname8(absFile)), basename3(absFile));
159163
159198
  } catch {
159164
159199
  realFile = absFile;
159165
159200
  }
159166
159201
  }
159167
159202
  let realWorktree;
159168
159203
  try {
159169
- realWorktree = realpathSync4(worktreePath);
159204
+ realWorktree = realpathSync5(worktreePath);
159170
159205
  } catch {
159171
159206
  realWorktree = worktreePath;
159172
159207
  }
@@ -159293,7 +159328,7 @@ var EditorService = class {
159293
159328
  * segment-aware containment check against the canonicalized worktree root.
159294
159329
  */
159295
159330
  async resolveTarget(root, filePath) {
159296
- const absoluteTarget = isAbsolute4(filePath) ? resolve6(filePath) : resolve6(root, filePath);
159331
+ const absoluteTarget = isAbsolute4(filePath) ? resolve7(filePath) : resolve7(root, filePath);
159297
159332
  let canonicalRoot = root;
159298
159333
  try {
159299
159334
  canonicalRoot = await realpath2(root);
@@ -159750,7 +159785,7 @@ async function duBytes(path) {
159750
159785
  if (process.platform === "win32") {
159751
159786
  return duBytesNodeWalk(path);
159752
159787
  }
159753
- const stdout = await new Promise((resolve12, reject) => {
159788
+ const stdout = await new Promise((resolve13, reject) => {
159754
159789
  execFile9(
159755
159790
  "du",
159756
159791
  ["-sk", path],
@@ -159760,7 +159795,7 @@ async function duBytes(path) {
159760
159795
  reject(err);
159761
159796
  return;
159762
159797
  }
159763
- resolve12(out);
159798
+ resolve13(out);
159764
159799
  }
159765
159800
  );
159766
159801
  });
@@ -159775,7 +159810,7 @@ async function duBytes(path) {
159775
159810
  // src/server/infra/process/install.ts
159776
159811
  import { execFile as execFile10 } from "node:child_process";
159777
159812
  async function brewInstall(pkg, resolvedPath) {
159778
- await new Promise((resolve12, reject) => {
159813
+ await new Promise((resolve13, reject) => {
159779
159814
  execFile10(
159780
159815
  "brew",
159781
159816
  ["install", pkg],
@@ -159785,7 +159820,7 @@ async function brewInstall(pkg, resolvedPath) {
159785
159820
  reject(new Error(stderr || err.message));
159786
159821
  return;
159787
159822
  }
159788
- resolve12();
159823
+ resolve13();
159789
159824
  }
159790
159825
  );
159791
159826
  });
@@ -159796,10 +159831,10 @@ var DU_GLOBAL_CONCURRENCY = 8;
159796
159831
  var duInFlight = 0;
159797
159832
  var duWaiting = [];
159798
159833
  function acquireDuSlot() {
159799
- return new Promise((resolve12) => {
159834
+ return new Promise((resolve13) => {
159800
159835
  const grant = () => {
159801
159836
  duInFlight++;
159802
- resolve12(() => {
159837
+ resolve13(() => {
159803
159838
  duInFlight--;
159804
159839
  const next = duWaiting.shift();
159805
159840
  if (next) next();
@@ -160307,7 +160342,7 @@ var prereqsRouter = t3.router({
160307
160342
  // src/server/services/project-service.ts
160308
160343
  init_dist38();
160309
160344
  import { existsSync as existsSync13 } from "node:fs";
160310
- import { basename as basename4, join as join33, resolve as resolve7 } from "node:path";
160345
+ import { basename as basename4, join as join33, resolve as resolve8 } from "node:path";
160311
160346
 
160312
160347
  // src/server/services/project-avatar-service.ts
160313
160348
  import { mkdir as mkdir4, readFile as readFile5, rename as rename2, writeFile as writeFile4 } from "node:fs/promises";
@@ -160606,7 +160641,7 @@ var ProjectService = class {
160606
160641
  * `git init` checkbox. Read-only — never touches state.
160607
160642
  */
160608
160643
  checkPath(path) {
160609
- const resolvedPath = resolve7(path);
160644
+ const resolvedPath = resolve8(path);
160610
160645
  const isGitRepo = existsSync13(join33(resolvedPath, ".git"));
160611
160646
  return { isGitRepo };
160612
160647
  }
@@ -160616,7 +160651,7 @@ var ProjectService = class {
160616
160651
  * features at the same time as registering the project.
160617
160652
  */
160618
160653
  async gitInit(path) {
160619
- const resolvedPath = resolve7(path);
160654
+ const resolvedPath = resolve8(path);
160620
160655
  await this.git.init(resolvedPath);
160621
160656
  }
160622
160657
  /**
@@ -160642,7 +160677,7 @@ var ProjectService = class {
160642
160677
  );
160643
160678
  }
160644
160679
  }
160645
- const resolvedPath = resolve7(path);
160680
+ const resolvedPath = resolve8(path);
160646
160681
  const kind = existsSync13(join33(resolvedPath, ".git")) ? "git" : "plain";
160647
160682
  let defaultBranch = "main";
160648
160683
  let worktrees2 = [];
@@ -160822,8 +160857,8 @@ var projectsRouter = t3.router({
160822
160857
  });
160823
160858
 
160824
160859
  // src/server/api/queue/router.ts
160825
- import { realpathSync as realpathSync5 } from "node:fs";
160826
- import { join as join34, resolve as resolve8, sep as sep5 } from "node:path";
160860
+ import { realpathSync as realpathSync6 } from "node:fs";
160861
+ import { join as join34, resolve as resolve9, sep as sep5 } from "node:path";
160827
160862
  var log40 = createLogger("trpc.queue");
160828
160863
  var queuedFileSchema = external_exports2.object({
160829
160864
  mediaType: external_exports2.string(),
@@ -160833,14 +160868,14 @@ var queuedFileSchema = external_exports2.object({
160833
160868
  });
160834
160869
  function isPathWithinUploadDir(p3) {
160835
160870
  const uploadDir = join34(bandHome(), "uploads");
160836
- const normalized2 = resolve8(p3);
160871
+ const normalized2 = resolve9(p3);
160837
160872
  if (normalized2 !== uploadDir && !normalized2.startsWith(uploadDir + sep5)) {
160838
160873
  return false;
160839
160874
  }
160840
160875
  try {
160841
- const canonicalUploadDir = realpathSync5(uploadDir);
160842
- const canonicalPath = realpathSync5(p3);
160843
- return canonicalPath === canonicalUploadDir || canonicalPath.startsWith(canonicalUploadDir + sep5);
160876
+ const canonicalUploadDir = realpathSync6(uploadDir);
160877
+ const canonicalPath2 = realpathSync6(p3);
160878
+ return canonicalPath2 === canonicalUploadDir || canonicalPath2.startsWith(canonicalUploadDir + sep5);
160844
160879
  } catch {
160845
160880
  return true;
160846
160881
  }
@@ -161015,15 +161050,15 @@ var queueRouter = t3.router({
161015
161050
  stream: publicProcedure.input(external_exports2.object({ workspaceId: external_exports2.string(), chatId: external_exports2.string().optional() })).subscription(async function* (opts) {
161016
161051
  const chatId = opts.input.chatId ?? chatService.getOrCreateDefault(opts.input.workspaceId).id;
161017
161052
  const queue = [];
161018
- let resolve12 = null;
161053
+ let resolve13 = null;
161019
161054
  const unsubscribe = subscribeQueue((id2, messages) => {
161020
161055
  if (id2 !== chatId) return;
161021
161056
  queue.push({ messages });
161022
- resolve12?.();
161057
+ resolve13?.();
161023
161058
  });
161024
161059
  opts.signal?.addEventListener("abort", () => {
161025
161060
  unsubscribe();
161026
- resolve12?.();
161061
+ resolve13?.();
161027
161062
  });
161028
161063
  yield { messages: toWireQueuedMessages(getQueuedMessages(chatId)) };
161029
161064
  queue.length = 0;
@@ -161034,9 +161069,9 @@ var queueRouter = t3.router({
161034
161069
  yield { messages: toWireQueuedMessages(update.messages) };
161035
161070
  }
161036
161071
  await new Promise((r3) => {
161037
- resolve12 = r3;
161072
+ resolve13 = r3;
161038
161073
  });
161039
- resolve12 = null;
161074
+ resolve13 = null;
161040
161075
  }
161041
161076
  } finally {
161042
161077
  unsubscribe();
@@ -161090,7 +161125,7 @@ var USAGE_SCAN_INTERVAL_MS = 5 * 60 * 1e3;
161090
161125
  var MAX_SESSIONS_PER_TICK = 100;
161091
161126
  var EPOCH_SENTINEL = 0;
161092
161127
  function yieldToEventLoop2() {
161093
- return new Promise((resolve12) => setImmediate(resolve12));
161128
+ return new Promise((resolve13) => setImmediate(resolve13));
161094
161129
  }
161095
161130
  var UsageScannerService = class {
161096
161131
  usageEvents;
@@ -161697,14 +161732,14 @@ var statusesRouter = t3.router({
161697
161732
  var statusRouter = t3.router({
161698
161733
  stream: publicProcedure.subscription(async function* (opts) {
161699
161734
  const queue = [];
161700
- let resolve12 = null;
161735
+ let resolve13 = null;
161701
161736
  const unsubscribe = watcherService.subscribe((event) => {
161702
161737
  queue.push(event);
161703
- resolve12?.();
161738
+ resolve13?.();
161704
161739
  });
161705
161740
  opts.signal?.addEventListener("abort", () => {
161706
161741
  unsubscribe();
161707
- resolve12?.();
161742
+ resolve13?.();
161708
161743
  });
161709
161744
  try {
161710
161745
  while (!opts.signal?.aborted) {
@@ -161712,9 +161747,9 @@ var statusRouter = t3.router({
161712
161747
  yield queue.shift();
161713
161748
  }
161714
161749
  await new Promise((r3) => {
161715
- resolve12 = r3;
161750
+ resolve13 = r3;
161716
161751
  });
161717
- resolve12 = null;
161752
+ resolve13 = null;
161718
161753
  }
161719
161754
  } finally {
161720
161755
  unsubscribe();
@@ -161761,7 +161796,7 @@ var TunnelClient = class _TunnelClient {
161761
161796
  const nullDevice = process.platform === "win32" ? "NUL" : "/dev/null";
161762
161797
  const args = ["tunnel", "--config", nullDevice, "--url", `http://localhost:${options2.port}`];
161763
161798
  log44.debug("spawning cloudflared %s", args.join(" "));
161764
- return new Promise((resolve12, reject) => {
161799
+ return new Promise((resolve13, reject) => {
161765
161800
  const child = spawn4("cloudflared", args, {
161766
161801
  env: { ...process.env, PATH: resolvedPath },
161767
161802
  stdio: ["ignore", "pipe", "pipe"]
@@ -161783,7 +161818,7 @@ var TunnelClient = class _TunnelClient {
161783
161818
  emit({ kind: "tunnel-url", url: this.tunnelUrl });
161784
161819
  if (!settled) {
161785
161820
  settled = true;
161786
- resolve12();
161821
+ resolve13();
161787
161822
  }
161788
161823
  }
161789
161824
  }
@@ -161815,7 +161850,7 @@ var TunnelClient = class _TunnelClient {
161815
161850
  new Error(`cloudflared exited with code ${code}: ${stderrChunks.join("").trim()}`)
161816
161851
  );
161817
161852
  } else {
161818
- resolve12();
161853
+ resolve13();
161819
161854
  }
161820
161855
  } else if (wasRunning && code !== 0) {
161821
161856
  emit({
@@ -161828,7 +161863,7 @@ var TunnelClient = class _TunnelClient {
161828
161863
  if (!settled) {
161829
161864
  log44.debug("30s timeout reached, resolving without URL");
161830
161865
  settled = true;
161831
- resolve12();
161866
+ resolve13();
161832
161867
  }
161833
161868
  }, 3e4);
161834
161869
  });
@@ -162332,7 +162367,7 @@ init_dist38();
162332
162367
  // src/server/services/diff-service.ts
162333
162368
  import { existsSync as existsSync14 } from "node:fs";
162334
162369
  import { readFile as readFile6, rm as rm3, stat as stat6 } from "node:fs/promises";
162335
- import { join as join35, resolve as resolve9, sep as sep6 } from "node:path";
162370
+ import { join as join35, resolve as resolve10, sep as sep6 } from "node:path";
162336
162371
  var log48 = createLogger("diff-service");
162337
162372
  var EMPTY_TREE_ARGS = ["hash-object", "-t", "tree", "/dev/null"];
162338
162373
  var DEFAULT_BRANCH_LIMIT = 50;
@@ -162429,7 +162464,7 @@ function parseFileStatuses(nameStatusOutput) {
162429
162464
  return fileStatuses;
162430
162465
  }
162431
162466
  function assertWorktreeRelative(cwd, filePath) {
162432
- const target = resolve9(join35(cwd, filePath));
162467
+ const target = resolve10(join35(cwd, filePath));
162433
162468
  if (target !== cwd && !target.startsWith(cwd + sep6)) {
162434
162469
  throw new Error("Invalid path");
162435
162470
  }
@@ -162961,7 +162996,7 @@ var diffService = new DiffService();
162961
162996
  // src/server/services/files-service.ts
162962
162997
  import { existsSync as existsSync15 } from "node:fs";
162963
162998
  import { cp, mkdir as mkdir5, readdir as readdir4, readFile as readFile7, rename as rename3, rm as rm4, stat as stat7, writeFile as writeFile5 } from "node:fs/promises";
162964
- import { dirname as dirname10, extname as extname3, join as join36, resolve as resolve10, sep as sep7 } from "node:path";
162999
+ import { dirname as dirname10, extname as extname3, join as join36, resolve as resolve11, sep as sep7 } from "node:path";
162965
163000
  var MAX_FILE_SIZE2 = 1024 * 1024;
162966
163001
  var LANG_MAP2 = {
162967
163002
  ".js": "javascript",
@@ -163009,7 +163044,7 @@ var FilesService = class {
163009
163044
  throw new WorkspaceNotFoundError(workspaceId2);
163010
163045
  }
163011
163046
  const root = workspace.worktree.path;
163012
- const target = resolve10(join36(root, relative2));
163047
+ const target = resolve11(join36(root, relative2));
163013
163048
  const insideRoot = target === root || target.startsWith(root + sep7);
163014
163049
  if (!insideRoot) {
163015
163050
  throw new Error("Invalid path");
@@ -163463,8 +163498,8 @@ function createIterator(options2) {
163463
163498
  }
163464
163499
  if (error40) throw error40;
163465
163500
  if (done) return { value: void 0, done: true };
163466
- await new Promise((resolve12) => {
163467
- notify2 = resolve12;
163501
+ await new Promise((resolve13) => {
163502
+ notify2 = resolve13;
163468
163503
  });
163469
163504
  }
163470
163505
  },
@@ -163497,7 +163532,7 @@ function listFiles2(cwd) {
163497
163532
  "-g",
163498
163533
  "!**/.DS_Store"
163499
163534
  ];
163500
- return new Promise((resolve12, reject) => {
163535
+ return new Promise((resolve13, reject) => {
163501
163536
  execFile11(
163502
163537
  rgPath,
163503
163538
  args,
@@ -163508,7 +163543,7 @@ function listFiles2(cwd) {
163508
163543
  return;
163509
163544
  }
163510
163545
  const files = stdout.split("\n").filter(Boolean);
163511
- resolve12(files);
163546
+ resolve13(files);
163512
163547
  }
163513
163548
  );
163514
163549
  });
@@ -164356,7 +164391,7 @@ function basicMatch(query) {
164356
164391
  }
164357
164392
  var isNode2 = typeof __require !== "undefined" && typeof window === "undefined";
164358
164393
  function asyncMatcher(token, len, iter2, onFinish) {
164359
- return new Promise((resolve12, reject) => {
164394
+ return new Promise((resolve13, reject) => {
164360
164395
  const INCREMENT = 1e3;
164361
164396
  let i = 0, end = Math.min(INCREMENT, len);
164362
164397
  const step = () => {
@@ -164369,7 +164404,7 @@ function asyncMatcher(token, len, iter2, onFinish) {
164369
164404
  end = Math.min(end + INCREMENT, len);
164370
164405
  isNode2 ? setImmediate(step) : setTimeout(step);
164371
164406
  } else {
164372
- resolve12(onFinish());
164407
+ resolve13(onFinish());
164373
164408
  }
164374
164409
  };
164375
164410
  step();
@@ -164637,7 +164672,7 @@ var workspaceRouter = t3.router({
164637
164672
  }
164638
164673
  const signal = opts.signal;
164639
164674
  const queue = [];
164640
- let resolve12 = null;
164675
+ let resolve13 = null;
164641
164676
  let watcherClosed = false;
164642
164677
  const unsubscribe = editorService.subscribeToFileChanges(opts.input.workspaceId, (path) => {
164643
164678
  if (path === null) {
@@ -164645,9 +164680,9 @@ var workspaceRouter = t3.router({
164645
164680
  } else {
164646
164681
  queue.push({ path });
164647
164682
  }
164648
- resolve12?.();
164683
+ resolve13?.();
164649
164684
  });
164650
- const onAbort = () => resolve12?.();
164685
+ const onAbort = () => resolve13?.();
164651
164686
  signal.addEventListener("abort", onAbort);
164652
164687
  try {
164653
164688
  while (!signal.aborted && !watcherClosed) {
@@ -164656,10 +164691,10 @@ var workspaceRouter = t3.router({
164656
164691
  }
164657
164692
  if (signal.aborted || watcherClosed) break;
164658
164693
  await new Promise((r3) => {
164659
- resolve12 = r3;
164694
+ resolve13 = r3;
164660
164695
  if (signal.aborted || watcherClosed) r3();
164661
164696
  });
164662
- resolve12 = null;
164697
+ resolve13 = null;
164663
164698
  }
164664
164699
  } finally {
164665
164700
  signal.removeEventListener("abort", onAbort);
@@ -165167,9 +165202,9 @@ function createInbox(ws) {
165167
165202
  if (handler) {
165168
165203
  handler(message);
165169
165204
  } else if (waiter) {
165170
- const resolve12 = waiter;
165205
+ const resolve13 = waiter;
165171
165206
  waiter = null;
165172
- resolve12(message);
165207
+ resolve13(message);
165173
165208
  } else {
165174
165209
  queue.push(message);
165175
165210
  }
@@ -165187,8 +165222,8 @@ function createInbox(ws) {
165187
165222
  const queued = queue.shift();
165188
165223
  if (queued !== void 0) return Promise.resolve(queued);
165189
165224
  if (closed) return Promise.resolve(null);
165190
- return new Promise((resolve12) => {
165191
- waiter = resolve12;
165225
+ return new Promise((resolve13) => {
165226
+ waiter = resolve13;
165192
165227
  });
165193
165228
  },
165194
165229
  listen(next) {
@@ -165511,7 +165546,7 @@ var CdpUnreachableError = class extends Error {
165511
165546
  async function captureSnapshot(bandTabId) {
165512
165547
  const cdpTargetId = await ensureCdpTargetId(bandTabId);
165513
165548
  const wsUrl = `ws://${DESKTOP_CDP_HOST}:${DESKTOP_CDP_PORT}/devtools/page/${encodeURIComponent(cdpTargetId)}`;
165514
- return await new Promise((resolve12, reject) => {
165549
+ return await new Promise((resolve13, reject) => {
165515
165550
  const ws = new wrapper_default(wsUrl);
165516
165551
  let nextId2 = 1;
165517
165552
  let settled = false;
@@ -165523,7 +165558,7 @@ async function captureSnapshot(bandTabId) {
165523
165558
  } catch {
165524
165559
  }
165525
165560
  if (err) reject(err);
165526
- else if (data2) resolve12(data2);
165561
+ else if (data2) resolve13(data2);
165527
165562
  else reject(new Error("captureSnapshot: no data and no error"));
165528
165563
  };
165529
165564
  const timeout = setTimeout(() => {
@@ -165786,14 +165821,14 @@ function createTerminalBackend(serverRoot, bandHome2) {
165786
165821
  async function listenWithFallback(server, startPort, attempts = 20) {
165787
165822
  for (let port = startPort; port < startPort + attempts; port++) {
165788
165823
  try {
165789
- await new Promise((resolve12, reject) => {
165824
+ await new Promise((resolve13, reject) => {
165790
165825
  const onError = (err) => {
165791
165826
  server.removeListener("listening", onListening);
165792
165827
  reject(err);
165793
165828
  };
165794
165829
  const onListening = () => {
165795
165830
  server.removeListener("error", onError);
165796
- resolve12();
165831
+ resolve13();
165797
165832
  };
165798
165833
  server.once("error", onError);
165799
165834
  server.once("listening", onListening);
@@ -165842,7 +165877,7 @@ async function findBandBinary() {
165842
165877
  return findCliBinary();
165843
165878
  }
165844
165879
  async function runBandSkillsInstall(bandPath, home) {
165845
- return new Promise((resolve12, reject) => {
165880
+ return new Promise((resolve13, reject) => {
165846
165881
  execFile12(
165847
165882
  bandPath,
165848
165883
  ["--output", "json", "skills", "install", "--home", home],
@@ -165853,7 +165888,7 @@ async function runBandSkillsInstall(bandPath, home) {
165853
165888
  reject(new Error(detail ? `${err.message}: ${detail}` : err.message));
165854
165889
  return;
165855
165890
  }
165856
- resolve12(stdout.toString());
165891
+ resolve13(stdout.toString());
165857
165892
  }
165858
165893
  );
165859
165894
  });
@@ -166214,7 +166249,7 @@ function serveWorkspaceFile(res, workspaceId2, rawPath) {
166214
166249
  return;
166215
166250
  }
166216
166251
  const root = workspace.worktree.path;
166217
- const target = resolve11(join39(root, rawPath));
166252
+ const target = resolve12(join39(root, rawPath));
166218
166253
  if (!target.startsWith(root + sep8) && target !== root) {
166219
166254
  res.writeHead(400);
166220
166255
  res.end("Bad request");
@@ -166250,7 +166285,7 @@ async function nodeRequestToWeb(req) {
166250
166285
  let body;
166251
166286
  if (req.method !== "GET" && req.method !== "HEAD") {
166252
166287
  const MAX_REQUEST_BODY_BYTES = 100 * 1024 * 1024;
166253
- body = await new Promise((resolve12, reject) => {
166288
+ body = await new Promise((resolve13, reject) => {
166254
166289
  const chunks = [];
166255
166290
  let bytesSoFar = 0;
166256
166291
  req.on("data", (chunk) => {
@@ -166262,7 +166297,7 @@ async function nodeRequestToWeb(req) {
166262
166297
  }
166263
166298
  chunks.push(chunk);
166264
166299
  });
166265
- req.on("end", () => resolve12(Buffer.concat(chunks)));
166300
+ req.on("end", () => resolve13(Buffer.concat(chunks)));
166266
166301
  req.on("error", reject);
166267
166302
  });
166268
166303
  }
@@ -166296,10 +166331,10 @@ function pipeWebResponseToNodeRes(response, res) {
166296
166331
  break;
166297
166332
  }
166298
166333
  if (!res.write(value)) {
166299
- await new Promise((resolve12, reject) => {
166334
+ await new Promise((resolve13, reject) => {
166300
166335
  const onDrain = () => {
166301
166336
  res.removeListener("error", onError);
166302
- resolve12();
166337
+ resolve13();
166303
166338
  };
166304
166339
  const onError = (err) => {
166305
166340
  res.removeListener("drain", onDrain);
@@ -166649,8 +166684,8 @@ async function main() {
166649
166684
  });
166650
166685
  });
166651
166686
  let phaseBStarted;
166652
- const phaseBSettlePromise = new Promise((resolve12) => {
166653
- phaseBStarted = resolve12;
166687
+ const phaseBSettlePromise = new Promise((resolve13) => {
166688
+ phaseBStarted = resolve13;
166654
166689
  });
166655
166690
  let boundPort;
166656
166691
  try {
@@ -166723,7 +166758,7 @@ Failed to bind any port in ${initialPort}..${initialPort + 19}:
166723
166758
  killAllServers();
166724
166759
  await Promise.race([
166725
166760
  phaseBSettlePromise,
166726
- new Promise((resolve12) => setTimeout(resolve12, 5e3).unref())
166761
+ new Promise((resolve13) => setTimeout(resolve13, 5e3).unref())
166727
166762
  ]);
166728
166763
  await tunnelService.stop().catch(() => {
166729
166764
  });