@band-app/server 0.5.4 → 0.5.6

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 (175) hide show
  1. package/README.md +1 -1
  2. package/dist/client/assets/{DockviewTerminalContainer-DX8OFKYR.js → DockviewTerminalContainer-BObwxoXE.js} +2 -2
  3. package/dist/client/assets/{TerminalPanel-9pW_g2Kd.js → TerminalPanel-B_30SH7w.js} +1 -1
  4. package/dist/client/assets/{_basePickBy-Dkr8WVHx.js → _basePickBy-DS1DdKpI.js} +1 -1
  5. package/dist/client/assets/{_baseUniq-B0BP4Sik.js → _baseUniq-CfquXO5o.js} +1 -1
  6. package/dist/client/assets/{arc-C88WtUPJ.js → arc-BzAFHN3h.js} +1 -1
  7. package/dist/client/assets/{architectureDiagram-VXUJARFQ-CyLIdwXX.js → architectureDiagram-VXUJARFQ-0gyHmaKw.js} +1 -1
  8. package/dist/client/assets/{blockDiagram-VD42YOAC-GShygeGY.js → blockDiagram-VD42YOAC-BcU0ZZZI.js} +1 -1
  9. package/dist/client/assets/{c4Diagram-YG6GDRKO-BcpX0Aqn.js → c4Diagram-YG6GDRKO-Ciwoec2M.js} +1 -1
  10. package/dist/client/assets/channel-BGuyGJa3.js +1 -0
  11. package/dist/client/assets/{chunk-4BX2VUAB-IchBHT92.js → chunk-4BX2VUAB-W_tkduvw.js} +1 -1
  12. package/dist/client/assets/{chunk-55IACEB6-CiMhFR8e.js → chunk-55IACEB6-DJCn0BUX.js} +1 -1
  13. package/dist/client/assets/{chunk-B4BG7PRW-D-8aj6uR.js → chunk-B4BG7PRW-OLwhCa5k.js} +1 -1
  14. package/dist/client/assets/{chunk-DI55MBZ5-C13AzM7U.js → chunk-DI55MBZ5-MFZ5-oPD.js} +1 -1
  15. package/dist/client/assets/{chunk-FMBD7UC4-B4gYDpvB.js → chunk-FMBD7UC4-BDlrNnpZ.js} +1 -1
  16. package/dist/client/assets/{chunk-QN33PNHL-DG8uaz-H.js → chunk-QN33PNHL-CjwPbo5G.js} +1 -1
  17. package/dist/client/assets/{chunk-QZHKN3VN-CUeAC5bF.js → chunk-QZHKN3VN-3lGRploy.js} +1 -1
  18. package/dist/client/assets/{chunk-TZMSLE5B-Crx06Grw.js → chunk-TZMSLE5B-Dez84DVY.js} +1 -1
  19. package/dist/client/assets/classDiagram-2ON5EDUG-Bcoh3oTO.js +1 -0
  20. package/dist/client/assets/classDiagram-v2-WZHVMYZB-Bcoh3oTO.js +1 -0
  21. package/dist/client/assets/clone-DTSWxIr_.js +1 -0
  22. package/dist/client/assets/{cose-bilkent-S5V4N54A-BjyHTZfo.js → cose-bilkent-S5V4N54A-olv_le13.js} +1 -1
  23. package/dist/client/assets/{dagre-6UL2VRFP-C9LatsFq.js → dagre-6UL2VRFP-DSasPOdo.js} +1 -1
  24. package/dist/client/assets/{diagram-PSM6KHXK-Bzxy2DxA.js → diagram-PSM6KHXK-ebd2t3Dh.js} +1 -1
  25. package/dist/client/assets/{diagram-QEK2KX5R--qsdr1em.js → diagram-QEK2KX5R-DETGbCmh.js} +1 -1
  26. package/dist/client/assets/{diagram-S2PKOQOG-SLCfnLEL.js → diagram-S2PKOQOG-Duif0gCe.js} +1 -1
  27. package/dist/client/assets/{erDiagram-Q2GNP2WA-Bqfdi51r.js → erDiagram-Q2GNP2WA-7NKTniGi.js} +1 -1
  28. package/dist/client/assets/{flowDiagram-NV44I4VS-BxNRRaL6.js → flowDiagram-NV44I4VS-B29HpwMu.js} +1 -1
  29. package/dist/client/assets/{ganttDiagram-JELNMOA3-B3nW9Tee.js → ganttDiagram-JELNMOA3-Do43fY0t.js} +1 -1
  30. package/dist/client/assets/{gitGraphDiagram-V2S2FVAM-CJ5dA5iM.js → gitGraphDiagram-V2S2FVAM-BernJnLk.js} +1 -1
  31. package/dist/client/assets/{graph-Ce0puKsP.js → graph-Cj575nQq.js} +1 -1
  32. package/dist/client/assets/{highlighted-body-B3W2YXNL-CENKUGzV.js → highlighted-body-B3W2YXNL-WhJuPudb.js} +1 -1
  33. package/dist/client/assets/{index-BJDmvnal.js → index-B8ZpCpou.js} +1 -1
  34. package/dist/client/assets/{index-DL2wTzK1.js → index-BMY-nliE.js} +1 -1
  35. package/dist/client/assets/{index-CosJojrk.js → index-BTx3LYAO.js} +1 -1
  36. package/dist/client/assets/{index-SWV7MFMV.js → index-BuCOraAN.js} +1 -1
  37. package/dist/client/assets/{index-BDCONrW_.js → index-CUcxKuUy.js} +1 -1
  38. package/dist/client/assets/{index-B3ozbkAt.js → index-CXlGPE4F.js} +1 -1
  39. package/dist/client/assets/{index-qwbh_ssl.js → index-D4KvM7Nf.js} +1 -1
  40. package/dist/client/assets/{index-BsMHcPzb.js → index-D9yhhi7d.js} +1 -1
  41. package/dist/client/assets/{index-C01QsgdU.js → index-DGMdHUd-.js} +1 -1
  42. package/dist/client/assets/{index-BSd1jAU9.js → index-DNJro5ce.js} +1 -1
  43. package/dist/client/assets/{index-GxKLyCuq.js → index-DOlTzcT9.js} +1 -1
  44. package/dist/client/assets/{index-Dd8shGvN.js → index-DeMltHzV.js} +1 -1
  45. package/dist/client/assets/{index-D3sAIK6P.js → index-Dgv8mF9A.js} +1 -1
  46. package/dist/client/assets/{index-DfwX9IUV.js → index-DlCjHJGt.js} +1 -1
  47. package/dist/client/assets/{index-Cdvev7u6.js → index-DziJ_w_s.js} +1 -1
  48. package/dist/client/assets/{index-DGV19pgb.js → index-dscSHXn-.js} +1 -1
  49. package/dist/client/assets/{index-jSH-9g1p.js → index-xZP1WFvU.js} +1 -1
  50. package/dist/client/assets/{index-C_z1eCvW.js → index-yYDoQlcT.js} +1 -1
  51. package/dist/client/assets/{infoDiagram-HS3SLOUP--q9GXvGW.js → infoDiagram-HS3SLOUP-CwWuIWke.js} +1 -1
  52. package/dist/client/assets/{journeyDiagram-XKPGCS4Q-C8V3w1dG.js → journeyDiagram-XKPGCS4Q-CwAt4sg1.js} +1 -1
  53. package/dist/client/assets/{kanban-definition-3W4ZIXB7-BJk0X7tz.js → kanban-definition-3W4ZIXB7-IyDhCRuM.js} +1 -1
  54. package/dist/client/assets/{layout-ChwcG4Xl.js → layout-Cu0JMbW5.js} +1 -1
  55. package/dist/client/assets/{linear-BDZmJSE8.js → linear-DZDqd87L.js} +1 -1
  56. package/dist/client/assets/{main-BJRBUBf7.js → main-Cv7pKZy_.js} +226 -226
  57. package/dist/client/assets/main-rWzqMN1o.css +1 -0
  58. package/dist/client/assets/{mindmap-definition-VGOIOE7T-ByMpVnYs.js → mindmap-definition-VGOIOE7T-Dth1CqLW.js} +1 -1
  59. package/dist/client/assets/{pieDiagram-ADFJNKIX-CD-lmXbd.js → pieDiagram-ADFJNKIX-CF2YDYMu.js} +1 -1
  60. package/dist/client/assets/{quadrantDiagram-AYHSOK5B-BdOgBPk1.js → quadrantDiagram-AYHSOK5B-nxHcYBhT.js} +1 -1
  61. package/dist/client/assets/{requirementDiagram-UZGBJVZJ-f7DPR7JO.js → requirementDiagram-UZGBJVZJ-DYuaF4G9.js} +1 -1
  62. package/dist/client/assets/{sankeyDiagram-TZEHDZUN-bi8QNTNx.js → sankeyDiagram-TZEHDZUN-DCeOMpHq.js} +1 -1
  63. package/dist/client/assets/{sequenceDiagram-WL72ISMW-DvrFWc3k.js → sequenceDiagram-WL72ISMW-D3ZzpnOf.js} +1 -1
  64. package/dist/client/assets/{stateDiagram-FKZM4ZOC-pHRodxiR.js → stateDiagram-FKZM4ZOC-CephZuT8.js} +1 -1
  65. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-B2E3_eDe.js +1 -0
  66. package/dist/client/assets/{timeline-definition-IT6M3QCI-GvuMpLMJ.js → timeline-definition-IT6M3QCI-CMR_brz2.js} +1 -1
  67. package/dist/client/assets/{treemap-GDKQZRPO-1Fkk9zI9.js → treemap-GDKQZRPO-Dr2RtG6j.js} +1 -1
  68. package/dist/client/assets/{useSessionListContext-CRcZVcHa.js → useSessionListContext-Deo93kBU.js} +1 -1
  69. package/dist/client/assets/{workspace._workspaceId-Cy3AEGLV.js → workspace._workspaceId-B6AmUJBH.js} +1 -1
  70. package/dist/client/assets/{workspace._workspaceId.changes-Rwu7P9DU.js → workspace._workspaceId.changes-DRRihouM.js} +1 -1
  71. package/dist/client/assets/workspace._workspaceId.code-ClodXGQ6.js +1 -0
  72. package/dist/client/assets/{workspace._workspaceId.code._-BJQkX_UC.js → workspace._workspaceId.code._-C2W-zGSx.js} +1 -1
  73. package/dist/client/assets/{workspace._workspaceId.code.index-BRqZeE-M.js → workspace._workspaceId.code.index-D56jkXpA.js} +1 -1
  74. package/dist/client/assets/{workspace._workspaceId.index-D_CsfVyR.js → workspace._workspaceId.index-DVYXZuSd.js} +1 -1
  75. package/dist/client/assets/{workspace._workspaceId.terminal-DfJiaUra.js → workspace._workspaceId.terminal--TZaT08S.js} +2 -2
  76. package/dist/client/assets/{xychartDiagram-PRI3JC2R-CQ-W21MD.js → xychartDiagram-PRI3JC2R-CQ1vfZE5.js} +1 -1
  77. package/dist/server/assets/{DockviewTerminalContainer-nurSvNMN.js → DockviewTerminalContainer-B7m50Lcc.js} +2 -2
  78. package/dist/server/assets/{TerminalPanel-Cf-9H8Lr.js → TerminalPanel-C2nFSkcn.js} +1 -1
  79. package/dist/server/assets/{_basePickBy-D3FmqT7A.js → _basePickBy-J3VjyO9D.js} +2 -2
  80. package/dist/server/assets/{_baseUniq-CZLL_KGQ.js → _baseUniq-DlbIVh20.js} +1 -1
  81. package/dist/server/assets/{_tanstack-start-manifest_v-DcXFd6TS.js → _tanstack-start-manifest_v-C9pSWi1i.js} +1 -1
  82. package/dist/server/assets/{arc-B-ehAOzx.js → arc-Ds6-Gtmo.js} +1 -1
  83. package/dist/server/assets/{architecture-7HQA4BMR-Bm2CNNZn.js → architecture-7HQA4BMR-DT3MUSS5.js} +6 -6
  84. package/dist/server/assets/{architectureDiagram-VXUJARFQ-CxaRzb-g.js → architectureDiagram-VXUJARFQ-ClVOs7P1.js} +6 -6
  85. package/dist/server/assets/{blockDiagram-VD42YOAC-CsN3W5TR.js → blockDiagram-VD42YOAC-CnVWNic_.js} +6 -6
  86. package/dist/server/assets/{c4Diagram-YG6GDRKO-C2v52EXK.js → c4Diagram-YG6GDRKO-D9aranD0.js} +2 -2
  87. package/dist/server/assets/{channel-C3XN_tlw.js → channel-DQjskrHf.js} +1 -1
  88. package/dist/server/assets/{chunk-4BX2VUAB-BRZhlA3M.js → chunk-4BX2VUAB-BctuYILS.js} +1 -1
  89. package/dist/server/assets/{chunk-55IACEB6-CvRWSP7_.js → chunk-55IACEB6-CxcgMpfR.js} +1 -1
  90. package/dist/server/assets/{chunk-B4BG7PRW-CtnW_06V.js → chunk-B4BG7PRW-CfsNsYIg.js} +4 -4
  91. package/dist/server/assets/{chunk-DI55MBZ5-BQw22O7H.js → chunk-DI55MBZ5-B6n-fRVB.js} +3 -3
  92. package/dist/server/assets/{chunk-FMBD7UC4-GsUqEYsC.js → chunk-FMBD7UC4-CvBepTeZ.js} +1 -1
  93. package/dist/server/assets/{chunk-QN33PNHL-Cbg19vtg.js → chunk-QN33PNHL-DS5M3nQE.js} +1 -1
  94. package/dist/server/assets/{chunk-QZHKN3VN-BWszKJyV.js → chunk-QZHKN3VN-DCLb0fZ1.js} +1 -1
  95. package/dist/server/assets/{chunk-TZMSLE5B-DQrHctmP.js → chunk-TZMSLE5B-B-Uhio6_.js} +1 -1
  96. package/dist/server/assets/{classDiagram-v2-WZHVMYZB-CbsNfDCL.js → classDiagram-2ON5EDUG-B7uMu4wG.js} +5 -5
  97. package/dist/server/assets/{classDiagram-2ON5EDUG-CbsNfDCL.js → classDiagram-v2-WZHVMYZB-B7uMu4wG.js} +5 -5
  98. package/dist/server/assets/{clone-x7_sin8C.js → clone-B7a1FujU.js} +1 -1
  99. package/dist/server/assets/{cose-bilkent-S5V4N54A-BOuoNr7N.js → cose-bilkent-S5V4N54A-_7cffNle.js} +1 -1
  100. package/dist/server/assets/{dagre-6UL2VRFP-BEGPY_P8.js → dagre-6UL2VRFP-Cefu204F.js} +6 -6
  101. package/dist/server/assets/{diagram-PSM6KHXK-DdLXbkDH.js → diagram-PSM6KHXK-BeMp8Xfu.js} +7 -7
  102. package/dist/server/assets/{diagram-QEK2KX5R-Ywb8tTSL.js → diagram-QEK2KX5R-UNhxZG5g.js} +6 -6
  103. package/dist/server/assets/{diagram-S2PKOQOG-Bk6j9I_3.js → diagram-S2PKOQOG-CHWLN67z.js} +6 -6
  104. package/dist/server/assets/{erDiagram-Q2GNP2WA-CS94DyiJ.js → erDiagram-Q2GNP2WA-9TUXBEEN.js} +4 -4
  105. package/dist/server/assets/{flowDiagram-NV44I4VS-DGePuZ_D.js → flowDiagram-NV44I4VS-DkHr76XI.js} +5 -5
  106. package/dist/server/assets/{ganttDiagram-JELNMOA3-nyPfcgRT.js → ganttDiagram-JELNMOA3-D62VSFN-.js} +2 -2
  107. package/dist/server/assets/{gitGraph-G5XIXVHT-CKTPOKTu.js → gitGraph-G5XIXVHT-wAj_iVxo.js} +6 -6
  108. package/dist/server/assets/{gitGraphDiagram-V2S2FVAM-BygjesE-.js → gitGraphDiagram-V2S2FVAM-Cq6NrkS2.js} +7 -7
  109. package/dist/server/assets/{graph-B6TDpsg4.js → graph-BQR4IW-M.js} +2 -2
  110. package/dist/server/assets/{highlighted-body-B3W2YXNL-CULjZ_nJ.js → highlighted-body-B3W2YXNL-f4qauOuN.js} +1 -1
  111. package/dist/server/assets/{index-D4VsXH_e.js → index-B07RUisL.js} +2 -2
  112. package/dist/server/assets/{index-BCMFgTLH.js → index-BgRkMr0S.js} +3 -3
  113. package/dist/server/assets/{index-CsE88Ld8.js → index-BnaMl2Ta.js} +2 -2
  114. package/dist/server/assets/{index-DMcpsIUc.js → index-C-_PyKI8.js} +5 -5
  115. package/dist/server/assets/{index-DCJj-J2w.js → index-C70O-HGl.js} +2 -2
  116. package/dist/server/assets/{index-0oeRMDH_.js → index-CFtz0N_G.js} +3 -3
  117. package/dist/server/assets/{index-BRsnuD-O.js → index-CGs_KUt6.js} +2 -2
  118. package/dist/server/assets/{index-DYGOZ3mj.js → index-CZPx4FSZ.js} +4 -4
  119. package/dist/server/assets/{index-5SwWQ6oe.js → index-CiQmjF-z.js} +2 -2
  120. package/dist/server/assets/{index-CnQ4qso3.js → index-ClnAaUnc.js} +1 -1
  121. package/dist/server/assets/{index-DuWXmjWc.js → index-DGpgWNbR.js} +1 -1
  122. package/dist/server/assets/{index-Can-bHgo.js → index-DXlyuzHk.js} +2 -2
  123. package/dist/server/assets/{index-BlnGJ9is.js → index-DZkn94Qw.js} +2 -2
  124. package/dist/server/assets/{index-eLPxFa7w.js → index-DbtmJMHb.js} +5 -5
  125. package/dist/server/assets/{index-Bx2Tna2y.js → index-DgI6m9w2.js} +2 -2
  126. package/dist/server/assets/{index-Bli_q03X.js → index-OT8s82kA.js} +2 -2
  127. package/dist/server/assets/{index-C1-EaJTv.js → index-Y-3cIxVF.js} +2 -2
  128. package/dist/server/assets/{index-DJDlsaKi.js → index-oSZ-5UB6.js} +2 -2
  129. package/dist/server/assets/{info-VBDWY6EO-B-rB5BtI.js → info-VBDWY6EO-DCfkIc0K.js} +6 -6
  130. package/dist/server/assets/{infoDiagram-HS3SLOUP-D83vTisF.js → infoDiagram-HS3SLOUP-z48Ilxyy.js} +5 -5
  131. package/dist/server/assets/{journeyDiagram-XKPGCS4Q-PbUYIdib.js → journeyDiagram-XKPGCS4Q-2_BMX1ei.js} +4 -4
  132. package/dist/server/assets/{kanban-definition-3W4ZIXB7-BQSc_qmP.js → kanban-definition-3W4ZIXB7-YMu0hChh.js} +2 -2
  133. package/dist/server/assets/{layout-DXYeijc_.js → layout-Cp5xjTuv.js} +4 -4
  134. package/dist/server/assets/{linear-Dwrm9Gnq.js → linear-CC3vfL_Z.js} +1 -1
  135. package/dist/server/assets/{mermaid-3ZIDBTTL-BnVYO1pJ.js → mermaid-3ZIDBTTL-nj6kJNsf.js} +1 -1
  136. package/dist/server/assets/{mermaid-parser.core-CUfP0S_P.js → mermaid-parser.core-CS8wPCwT.js} +11 -11
  137. package/dist/server/assets/{mindmap-definition-VGOIOE7T-BdjAKwAK.js → mindmap-definition-VGOIOE7T-BbNEUTwc.js} +3 -3
  138. package/dist/server/assets/{packet-DYOGHKS2-d7SiXxLo.js → packet-DYOGHKS2-C4ObDfPs.js} +6 -6
  139. package/dist/server/assets/{pie-VRWISCQL-euknErR4.js → pie-VRWISCQL-24cVROwS.js} +6 -6
  140. package/dist/server/assets/{pieDiagram-ADFJNKIX-Bl150d6W.js → pieDiagram-ADFJNKIX-BDcmTNeb.js} +7 -7
  141. package/dist/server/assets/{quadrantDiagram-AYHSOK5B-ClIy1n9L.js → quadrantDiagram-AYHSOK5B-DVfUAm25.js} +2 -2
  142. package/dist/server/assets/{radar-ZZBFDIW7-hsbqqEeW.js → radar-ZZBFDIW7-Xb4_ybap.js} +6 -6
  143. package/dist/server/assets/{requirementDiagram-UZGBJVZJ-B87j_suL.js → requirementDiagram-UZGBJVZJ-CQfWrrP_.js} +3 -3
  144. package/dist/server/assets/{router-DMoul9bL.js → router-BnXOl-F9.js} +597 -564
  145. package/dist/server/assets/{sankeyDiagram-TZEHDZUN-Bq18JLF9.js → sankeyDiagram-TZEHDZUN-BW9xc6Gi.js} +1 -1
  146. package/dist/server/assets/{sequenceDiagram-WL72ISMW-DziQuu14.js → sequenceDiagram-WL72ISMW-_VMzymo9.js} +3 -3
  147. package/dist/server/assets/{stateDiagram-FKZM4ZOC-7wEsr4R_.js → stateDiagram-FKZM4ZOC-P9tJlZ70.js} +8 -8
  148. package/dist/server/assets/{stateDiagram-v2-4FDKWEC3-D2VjwPAa.js → stateDiagram-v2-4FDKWEC3-Cb6P-c6h.js} +4 -4
  149. package/dist/server/assets/{timeline-definition-IT6M3QCI--uelCCOi.js → timeline-definition-IT6M3QCI-tuTHzmXv.js} +2 -2
  150. package/dist/server/assets/{treemap-GDKQZRPO-DVHxmTc8.js → treemap-GDKQZRPO-COB3TLcF.js} +6 -6
  151. package/dist/server/assets/{workspace._workspaceId-Bs8UzdnH.js → workspace._workspaceId-Ca5XltsV.js} +2 -2
  152. package/dist/server/assets/{workspace._workspaceId.changes-BWu2NrZR.js → workspace._workspaceId.changes-z2xCX4Ct.js} +1 -1
  153. package/dist/server/assets/{workspace._workspaceId.code._-DKgsvYy3.js → workspace._workspaceId.code._-DQTK_1av.js} +1 -1
  154. package/dist/server/assets/{workspace._workspaceId.code.index-D9xieBbz.js → workspace._workspaceId.code.index-DTziHng0.js} +1 -1
  155. package/dist/server/assets/{workspace._workspaceId.index-CM2nPNp3.js → workspace._workspaceId.index-C2U_2sVz.js} +1 -1
  156. package/dist/server/assets/{workspace._workspaceId.terminal-ByrTEXV_.js → workspace._workspaceId.terminal-i2FfY7JG.js} +2 -2
  157. package/dist/server/assets/{xychartDiagram-PRI3JC2R-C3ztrSUC.js → xychartDiagram-PRI3JC2R-B8xp3EP5.js} +2 -2
  158. package/dist/server/server.js +2 -2
  159. package/dist/start-server.mjs +155 -134
  160. package/package.json +5 -7
  161. package/dist/client/assets/channel-COxuXp7F.js +0 -1
  162. package/dist/client/assets/classDiagram-2ON5EDUG-CtxJr2zo.js +0 -1
  163. package/dist/client/assets/classDiagram-v2-WZHVMYZB-CtxJr2zo.js +0 -1
  164. package/dist/client/assets/clone-Cud65zOY.js +0 -1
  165. package/dist/client/assets/core-mPlcS5K-.js +0 -1
  166. package/dist/client/assets/event-DRyjiKX_.js +0 -1
  167. package/dist/client/assets/index-BkW3q3LQ.js +0 -1
  168. package/dist/client/assets/main-BnrSCdeV.css +0 -1
  169. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-BUgsJX1c.js +0 -1
  170. package/dist/client/assets/window-BFoF6nYm.js +0 -1
  171. package/dist/client/assets/workspace._workspaceId.code-zGA3uY7G.js +0 -1
  172. package/dist/server/assets/core-dG4_vufa.js +0 -45
  173. package/dist/server/assets/event-2oMkw_LQ.js +0 -63
  174. package/dist/server/assets/index-jMSXp5h7.js +0 -10
  175. package/dist/server/assets/window-Qr88gZCE.js +0 -2005
@@ -1,5 +1,5 @@
1
1
  var _a, _b, _c;
2
- import { a6 as setDiagramTitle, a7 as getDiagramTitle, F as setAccDescription, G as getAccDescription, J as setAccTitle, H as getAccTitle, _ as __name, M as getConfig2, ad as defaultConfig2, O as select, aP as setupGraphViewbox, ac as clear, $ as common_default } from "./router-DMoul9bL.js";
2
+ import { a6 as setDiagramTitle, a7 as getDiagramTitle, F as setAccDescription, G as getAccDescription, J as setAccTitle, H as getAccTitle, _ as __name, M as getConfig2, ad as defaultConfig2, O as select, aP as setupGraphViewbox, ac as clear, $ as common_default } from "./router-BnXOl-F9.js";
3
3
  import { o as ordinal } from "./ordinal-CxptdPJm.js";
4
4
  import "../server.js";
5
5
  import "node:async_hooks";
@@ -1,7 +1,7 @@
1
1
  var _a;
2
- import { a as drawBackgroundRect, b as getTextObj, g as getNoteRect, d as drawRect, c as drawEmbeddedImage, e as drawImage } from "./chunk-TZMSLE5B-DQrHctmP.js";
3
- import { _ as __name, a2 as setConfig2, M as getConfig2, O as select, S as log, Y as distExports, U as configureSvgSize, V as assignWithDepth_default, $ as common_default, J as setAccTitle, F as setAccDescription, a6 as setDiagramTitle, H as getAccTitle, G as getAccDescription, a7 as getDiagramTitle, a8 as load, a9 as JSON_SCHEMA, ac as clear, X as sanitizeText, a5 as utils_default, aF as hasKatex, aG as calculateMathMLDimensions, aH as parseFontSize, aI as ZERO_WIDTH_SPACE, aJ as getUrl, aK as renderKatexSanitized, al as getConfig } from "./router-DMoul9bL.js";
4
- import { I as ImperativeState } from "./chunk-QZHKN3VN-BWszKJyV.js";
2
+ import { a as drawBackgroundRect, b as getTextObj, g as getNoteRect, d as drawRect, c as drawEmbeddedImage, e as drawImage } from "./chunk-TZMSLE5B-B-Uhio6_.js";
3
+ import { _ as __name, a2 as setConfig2, M as getConfig2, O as select, S as log, Y as distExports, U as configureSvgSize, V as assignWithDepth_default, $ as common_default, J as setAccTitle, F as setAccDescription, a6 as setDiagramTitle, H as getAccTitle, G as getAccDescription, a7 as getDiagramTitle, a8 as load, a9 as JSON_SCHEMA, ac as clear, X as sanitizeText, a5 as utils_default, aF as hasKatex, aG as calculateMathMLDimensions, aH as parseFontSize, aI as ZERO_WIDTH_SPACE, aJ as getUrl, aK as renderKatexSanitized, al as getConfig } from "./router-BnXOl-F9.js";
4
+ import { I as ImperativeState } from "./chunk-QZHKN3VN-DCLb0fZ1.js";
5
5
  import "../server.js";
6
6
  import "node:async_hooks";
7
7
  import "node:stream";
@@ -1,9 +1,9 @@
1
- import { s as styles_default, a as stateDiagram_default, S as StateDB } from "./chunk-DI55MBZ5-BQw22O7H.js";
2
- import { _ as __name, M as getConfig2, O as select, S as log, U as configureSvgSize, $ as common_default, aM as line, aN as curveBasis, aJ as getUrl, a5 as utils_default } from "./router-DMoul9bL.js";
3
- import { G as Graph } from "./graph-B6TDpsg4.js";
4
- import { l as layout } from "./layout-DXYeijc_.js";
5
- import "./chunk-55IACEB6-CvRWSP7_.js";
6
- import "./chunk-QN33PNHL-Cbg19vtg.js";
1
+ import { s as styles_default, a as stateDiagram_default, S as StateDB } from "./chunk-DI55MBZ5-B6n-fRVB.js";
2
+ import { _ as __name, M as getConfig2, O as select, S as log, U as configureSvgSize, $ as common_default, aM as line, aN as curveBasis, aJ as getUrl, a5 as utils_default } from "./router-BnXOl-F9.js";
3
+ import { G as Graph } from "./graph-BQR4IW-M.js";
4
+ import { l as layout } from "./layout-Cp5xjTuv.js";
5
+ import "./chunk-55IACEB6-CxcgMpfR.js";
6
+ import "./chunk-QN33PNHL-DS5M3nQE.js";
7
7
  import "../server.js";
8
8
  import "node:async_hooks";
9
9
  import "node:stream";
@@ -15,8 +15,8 @@ import "node:stream/web";
15
15
  import "node:process";
16
16
  import "node:path";
17
17
  import "node:url";
18
- import "./_baseUniq-CZLL_KGQ.js";
19
- import "./_basePickBy-D3FmqT7A.js";
18
+ import "./_baseUniq-DlbIVh20.js";
19
+ import "./_basePickBy-J3VjyO9D.js";
20
20
  var drawStartState = /* @__PURE__ */ __name((g) => g.append("circle").attr("class", "start-state").attr("r", getConfig2().state.sizeUnit).attr("cx", getConfig2().state.padding + getConfig2().state.sizeUnit).attr("cy", getConfig2().state.padding + getConfig2().state.sizeUnit), "drawStartState");
21
21
  var drawDivider = /* @__PURE__ */ __name((g) => g.append("line").style("stroke", "grey").style("stroke-dasharray", "3").attr("x1", getConfig2().state.textHeight).attr("class", "divider").attr("x2", getConfig2().state.textHeight * 2).attr("y1", 0).attr("y2", 0), "drawDivider");
22
22
  var drawSimpleState = /* @__PURE__ */ __name((g, stateDef) => {
@@ -1,7 +1,7 @@
1
- import { s as styles_default, b as stateRenderer_v3_unified_default, a as stateDiagram_default, S as StateDB } from "./chunk-DI55MBZ5-BQw22O7H.js";
2
- import { _ as __name } from "./router-DMoul9bL.js";
3
- import "./chunk-55IACEB6-CvRWSP7_.js";
4
- import "./chunk-QN33PNHL-Cbg19vtg.js";
1
+ import { s as styles_default, b as stateRenderer_v3_unified_default, a as stateDiagram_default, S as StateDB } from "./chunk-DI55MBZ5-B6n-fRVB.js";
2
+ import { _ as __name } from "./router-BnXOl-F9.js";
3
+ import "./chunk-55IACEB6-CxcgMpfR.js";
4
+ import "./chunk-QN33PNHL-DS5M3nQE.js";
5
5
  import "../server.js";
6
6
  import "node:async_hooks";
7
7
  import "node:stream";
@@ -1,5 +1,5 @@
1
- import { _ as __name, M as getConfig2, S as log, O as select, aP as setupGraphViewbox, aQ as isDark, aR as lighten, aS as darken, ah as __export, aT as commonDb_exports, ac as clear } from "./router-DMoul9bL.js";
2
- import { d as d3arc } from "./arc-B-ehAOzx.js";
1
+ import { _ as __name, M as getConfig2, S as log, O as select, aP as setupGraphViewbox, aQ as isDark, aR as lighten, aS as darken, ah as __export, aT as commonDb_exports, ac as clear } from "./router-BnXOl-F9.js";
2
+ import { d as d3arc } from "./arc-Ds6-Gtmo.js";
3
3
  import "../server.js";
4
4
  import "node:async_hooks";
5
5
  import "node:stream";
@@ -1,6 +1,6 @@
1
- import { h as createTreemapServices } from "./mermaid-parser.core-CUfP0S_P.js";
2
- import { T } from "./mermaid-parser.core-CUfP0S_P.js";
3
- import "./router-DMoul9bL.js";
1
+ import { h as createTreemapServices } from "./mermaid-parser.core-CS8wPCwT.js";
2
+ import { T } from "./mermaid-parser.core-CS8wPCwT.js";
3
+ import "./router-BnXOl-F9.js";
4
4
  import "../server.js";
5
5
  import "node:async_hooks";
6
6
  import "node:stream";
@@ -12,9 +12,9 @@ import "node:stream/web";
12
12
  import "node:process";
13
13
  import "node:path";
14
14
  import "node:url";
15
- import "./_baseUniq-CZLL_KGQ.js";
16
- import "./_basePickBy-D3FmqT7A.js";
17
- import "./clone-x7_sin8C.js";
15
+ import "./_baseUniq-DlbIVh20.js";
16
+ import "./_basePickBy-J3VjyO9D.js";
17
+ import "./clone-B7a1FujU.js";
18
18
  import "path";
19
19
  import "os";
20
20
  import "net";
@@ -1,5 +1,5 @@
1
1
  import { j as jsxRuntimeExports, r as reactExports, u as useRouterState, O as Outlet } from "../server.js";
2
- import { b3 as MessageSquare, b4 as GitCompare, b5 as FolderOpen, b6 as Route, u as useIsDesktop, b7 as useDashboardStore, i as isDesktop, f as useNavigate, t as trpc, b8 as TauriDragRegion, b9 as ArrowLeft, ba as QuickOpenDialog } from "./router-DMoul9bL.js";
2
+ import { b3 as MessageSquare, b4 as GitCompare, b5 as FolderOpen, b6 as Route, u as useIsDesktop, b7 as useDashboardStore, i as isDesktop, f as useNavigate, t as trpc, b8 as DesktopDragRegion, b9 as ArrowLeft, ba as QuickOpenDialog } from "./router-BnXOl-F9.js";
3
3
  import { S as SessionListContext, A as AgentSwitcherContext } from "./useSessionListContext-D_vX6E2e.js";
4
4
  import "node:async_hooks";
5
5
  import "node:stream";
@@ -281,7 +281,7 @@ function MobileWorkspaceLayout({
281
281
  height: appHeight ? `${appHeight}px` : "100dvh",
282
282
  transform: appOffsetTop ? `translateY(${appOffsetTop}px)` : void 0
283
283
  }, children: [
284
- isDesktop && /* @__PURE__ */ jsxRuntimeExports.jsx(TauriDragRegion, {}),
284
+ isDesktop && /* @__PURE__ */ jsxRuntimeExports.jsx(DesktopDragRegion, {}),
285
285
  /* @__PURE__ */ jsxRuntimeExports.jsxs("header", { className: "flex shrink-0 items-center gap-3 border-b border-border/50 px-4 py-3 pt-[max(0.75rem,env(safe-area-inset-top))]", children: [
286
286
  /* @__PURE__ */ jsxRuntimeExports.jsx("button", { type: "button", onClick: handleBack, className: "inline-flex size-8 items-center justify-center rounded-md hover:bg-accent", children: /* @__PURE__ */ jsxRuntimeExports.jsx(ArrowLeft, { className: "size-4" }) }),
287
287
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ jsxRuntimeExports.jsx("h1", { className: "truncate text-sm font-semibold", children: workspaceId }) })
@@ -1,5 +1,5 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../server.js";
2
- import { e as Route, f as useNavigate, g as useDiffStatsContext, h as useFindInFileContext, D as DiffView } from "./router-DMoul9bL.js";
2
+ import { e as Route, f as useNavigate, g as useDiffStatsContext, h as useFindInFileContext, D as DiffView } from "./router-BnXOl-F9.js";
3
3
  import "node:async_hooks";
4
4
  import "node:stream";
5
5
  import "util";
@@ -1,5 +1,5 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../server.js";
2
- import { l as Route, f as useNavigate, h as useFindInFileContext, k as CodeBrowserView } from "./router-DMoul9bL.js";
2
+ import { l as Route, f as useNavigate, h as useFindInFileContext, k as CodeBrowserView } from "./router-BnXOl-F9.js";
3
3
  import "node:async_hooks";
4
4
  import "node:stream";
5
5
  import "util";
@@ -1,5 +1,5 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../server.js";
2
- import { j as Route, f as useNavigate, h as useFindInFileContext, k as CodeBrowserView } from "./router-DMoul9bL.js";
2
+ import { j as Route, f as useNavigate, h as useFindInFileContext, k as CodeBrowserView } from "./router-BnXOl-F9.js";
3
3
  import "node:async_hooks";
4
4
  import "node:stream";
5
5
  import "util";
@@ -1,5 +1,5 @@
1
1
  import { j as jsxRuntimeExports, r as reactExports } from "../server.js";
2
- import { R as Route, u as useIsDesktop, a as Navigate, i as isDesktop, b as useSettingsQuery, t as trpc, c as agentTypeSupportsSessionListing, C as ChatView } from "./router-DMoul9bL.js";
2
+ import { R as Route, u as useIsDesktop, a as Navigate, i as isDesktop, b as useSettingsQuery, t as trpc, c as agentTypeSupportsSessionListing, C as ChatView } from "./router-BnXOl-F9.js";
3
3
  import { u as useSessionListContext, a as useAgentSwitcherContext } from "./useSessionListContext-D_vX6E2e.js";
4
4
  import "node:async_hooks";
5
5
  import "node:stream";
@@ -1,5 +1,5 @@
1
1
  import { j as jsxRuntimeExports, r as reactExports } from "../server.js";
2
- import { d as Route } from "./router-DMoul9bL.js";
2
+ import { d as Route } from "./router-BnXOl-F9.js";
3
3
  import "node:async_hooks";
4
4
  import "node:stream";
5
5
  import "util";
@@ -10,7 +10,7 @@ import "node:stream/web";
10
10
  import "node:process";
11
11
  import "node:path";
12
12
  import "node:url";
13
- const DockviewTerminalContainer = reactExports.lazy(() => import("./DockviewTerminalContainer-nurSvNMN.js").then((m) => ({
13
+ const DockviewTerminalContainer = reactExports.lazy(() => import("./DockviewTerminalContainer-B7m50Lcc.js").then((m) => ({
14
14
  default: m.DockviewTerminalContainer
15
15
  })));
16
16
  function WorkspaceTerminal() {
@@ -1,8 +1,8 @@
1
1
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
2
- import { F as setAccDescription, G as getAccDescription, a7 as getDiagramTitle, a6 as setDiagramTitle, H as getAccTitle, J as setAccTitle, _ as __name, S as log, an as selectSvgElement, U as configureSvgSize, ac as clear, al as getConfig, X as sanitizeText, aj as cleanAndMerge, ak as defaultConfig_default, aE as getThemeVariables3, c2 as computeDimensionOfText, aM as line } from "./router-DMoul9bL.js";
2
+ import { F as setAccDescription, G as getAccDescription, a7 as getDiagramTitle, a6 as setDiagramTitle, H as getAccTitle, J as setAccTitle, _ as __name, S as log, an as selectSvgElement, U as configureSvgSize, ac as clear, al as getConfig, X as sanitizeText, aj as cleanAndMerge, ak as defaultConfig_default, aE as getThemeVariables3, c2 as computeDimensionOfText, aM as line } from "./router-BnXOl-F9.js";
3
3
  import { i as initRange } from "./init-ZxktEp_H.js";
4
4
  import { o as ordinal } from "./ordinal-CxptdPJm.js";
5
- import { l as linear } from "./linear-Dwrm9Gnq.js";
5
+ import { l as linear } from "./linear-CC3vfL_Z.js";
6
6
  import "../server.js";
7
7
  import "node:async_hooks";
8
8
  import "node:stream";
@@ -19380,7 +19380,7 @@ function getResponse() {
19380
19380
  return event.res;
19381
19381
  }
19382
19382
  async function getStartManifest(matchedRoutes) {
19383
- const { tsrStartManifest } = await import("./assets/_tanstack-start-manifest_v-DcXFd6TS.js");
19383
+ const { tsrStartManifest } = await import("./assets/_tanstack-start-manifest_v-C9pSWi1i.js");
19384
19384
  const startManifest = tsrStartManifest();
19385
19385
  const rootRoute = startManifest.routes[rootRouteId] = startManifest.routes[rootRouteId] || {};
19386
19386
  rootRoute.assets = rootRoute.assets || [];
@@ -19956,7 +19956,7 @@ let entriesPromise;
19956
19956
  let baseManifestPromise;
19957
19957
  let cachedFinalManifestPromise;
19958
19958
  async function loadEntries() {
19959
- const routerEntry = await import("./assets/router-DMoul9bL.js").then((n2) => n2.c$);
19959
+ const routerEntry = await import("./assets/router-BnXOl-F9.js").then((n2) => n2.c$);
19960
19960
  const startEntry = await import("./assets/start-HYkvq4Ni.js");
19961
19961
  return { startEntry, routerEntry };
19962
19962
  }
@@ -119948,7 +119948,6 @@ var import_jsx_runtime58 = __toESM(require_jsx_runtime(), 1);
119948
119948
 
119949
119949
  // ../../packages/dashboard-core/src/components/DashboardShell.tsx
119950
119950
  var import_jsx_runtime59 = __toESM(require_jsx_runtime(), 1);
119951
- var isTauri = typeof window !== "undefined" && "__TAURI_INTERNALS__" in window;
119952
119951
  var isElectron = typeof window !== "undefined" && "__BAND_DESKTOP__" in window;
119953
119952
 
119954
119953
  // ../../packages/dashboard-core/src/components/DiffView.tsx
@@ -142314,6 +142313,69 @@ var LANG_MAP = {
142314
142313
  ".svelte": "svelte",
142315
142314
  ".diff": "diff"
142316
142315
  };
142316
+ var compareBranchSchema = external_exports2.string().min(1).regex(/^[^-]/, "branch name must not start with '-'").optional();
142317
+ var EMPTY_TREE_ARGS = ["hash-object", "-t", "tree", "/dev/null"];
142318
+ async function resolveDiffContext(cwd, defaultBranch, diffMode, compareBranchInput) {
142319
+ const compareBranch = diffMode === "uncommitted" ? defaultBranch : compareBranchInput ?? defaultBranch;
142320
+ let headBranch;
142321
+ try {
142322
+ headBranch = (await execGit(["rev-parse", "--abbrev-ref", "HEAD"], cwd)).trim();
142323
+ } catch {
142324
+ headBranch = defaultBranch;
142325
+ }
142326
+ let mergeBase;
142327
+ if (diffMode === "uncommitted") {
142328
+ try {
142329
+ mergeBase = (await execGit(["rev-parse", "HEAD"], cwd)).trim();
142330
+ } catch {
142331
+ mergeBase = (await execGit(EMPTY_TREE_ARGS, cwd)).trim();
142332
+ }
142333
+ } else {
142334
+ try {
142335
+ mergeBase = (await execGit(["merge-base", compareBranch, "HEAD"], cwd)).trim();
142336
+ } catch {
142337
+ mergeBase = (await execGit(EMPTY_TREE_ARGS, cwd)).trim();
142338
+ }
142339
+ }
142340
+ return { compareBranch, headBranch, mergeBase };
142341
+ }
142342
+ function parseDiffStatSummary(statOutput) {
142343
+ const statLines = statOutput.trim().split("\n");
142344
+ const summaryLine = statLines[statLines.length - 1] || "";
142345
+ const filesMatch = summaryLine.match(/(\d+)\s+files?\s+changed/);
142346
+ const insertMatch = summaryLine.match(/(\d+)\s+insertions?\(\+\)/);
142347
+ const deleteMatch = summaryLine.match(/(\d+)\s+deletions?\(-\)/);
142348
+ return {
142349
+ filesChanged: filesMatch ? Number.parseInt(filesMatch[1], 10) : 0,
142350
+ insertions: insertMatch ? Number.parseInt(insertMatch[1], 10) : 0,
142351
+ deletions: deleteMatch ? Number.parseInt(deleteMatch[1], 10) : 0
142352
+ };
142353
+ }
142354
+ function parseFileStatuses(nameStatusOutput) {
142355
+ const fileStatuses = {};
142356
+ for (const line2 of nameStatusOutput.trim().split("\n").filter(Boolean)) {
142357
+ const parts = line2.split(" ");
142358
+ const statusCode = parts[0][0];
142359
+ if (statusCode === "R" && parts[2]) {
142360
+ fileStatuses[parts[2]] = "R";
142361
+ } else if (parts[1]) {
142362
+ fileStatuses[parts[1]] = statusCode;
142363
+ }
142364
+ }
142365
+ return fileStatuses;
142366
+ }
142367
+ async function readUntrackedFileLines(cwd, file2) {
142368
+ try {
142369
+ const content2 = await readFile2(join21(cwd, file2), "utf-8");
142370
+ const lines = content2.split("\n");
142371
+ if (lines.length > 0 && lines[lines.length - 1] === "") {
142372
+ lines.pop();
142373
+ }
142374
+ return lines;
142375
+ } catch {
142376
+ return null;
142377
+ }
142378
+ }
142317
142379
  var workspaceRouter = t2.router({
142318
142380
  getTerminalConfig: publicProcedure.input(external_exports2.object({ workspaceId: external_exports2.string() })).query(({ input }) => {
142319
142381
  const workspace = resolveWorkspace(input.workspaceId);
@@ -142321,39 +142383,64 @@ var workspaceRouter = t2.router({
142321
142383
  const config2 = loadWorkspaceTerminalConfig(workspace.worktree.path, workspace.project.path);
142322
142384
  return { config: config2 };
142323
142385
  }),
142324
- getDiff: publicProcedure.input(
142325
- external_exports2.object({
142326
- workspaceId: external_exports2.string(),
142327
- contextLines: external_exports2.number().int().min(0).max(99999).optional(),
142328
- diffMode: external_exports2.enum(["uncommitted", "branch"]).optional()
142329
- })
142330
- ).query(async ({ input }) => {
142386
+ listBranches: publicProcedure.input(external_exports2.object({ workspaceId: external_exports2.string() })).query(async ({ input }) => {
142331
142387
  const workspace = resolveWorkspace(input.workspaceId);
142332
142388
  if (!workspace) {
142333
142389
  throw new Error("Workspace not found");
142334
142390
  }
142335
142391
  const cwd = workspace.worktree.path;
142336
142392
  const defaultBranch = workspace.project.defaultBranch;
142337
- let headBranch;
142393
+ let headBranch = null;
142338
142394
  try {
142339
142395
  headBranch = (await execGit(["rev-parse", "--abbrev-ref", "HEAD"], cwd)).trim();
142340
142396
  } catch {
142341
- headBranch = defaultBranch;
142342
142397
  }
142343
- let mergeBase;
142344
- if (input.diffMode === "uncommitted") {
142345
- try {
142346
- mergeBase = (await execGit(["rev-parse", "HEAD"], cwd)).trim();
142347
- } catch {
142348
- mergeBase = (await execGit(["hash-object", "-t", "tree", "/dev/null"], cwd)).trim();
142349
- }
142350
- } else {
142351
- try {
142352
- mergeBase = (await execGit(["merge-base", defaultBranch, "HEAD"], cwd)).trim();
142353
- } catch {
142354
- mergeBase = (await execGit(["hash-object", "-t", "tree", "/dev/null"], cwd)).trim();
142398
+ let branches = [];
142399
+ try {
142400
+ const output = await execGit(
142401
+ ["for-each-ref", "--format=%(refname:short)", "refs/heads/"],
142402
+ cwd
142403
+ );
142404
+ branches = output.trim().split("\n").map((b10) => b10.trim()).filter(Boolean);
142405
+ } catch (err) {
142406
+ log23.error(
142407
+ `listBranches: for-each-ref failed for ${cwd}: ${err instanceof Error ? err.message : err}`
142408
+ );
142409
+ }
142410
+ const filtered = branches.filter((b10) => b10 !== headBranch);
142411
+ if (defaultBranch !== headBranch) {
142412
+ const idx = filtered.indexOf(defaultBranch);
142413
+ if (idx >= 0) {
142414
+ filtered.splice(idx, 1);
142355
142415
  }
142416
+ filtered.unshift(defaultBranch);
142356
142417
  }
142418
+ return {
142419
+ branches: filtered,
142420
+ defaultBranch,
142421
+ headBranch: headBranch ?? defaultBranch
142422
+ };
142423
+ }),
142424
+ getDiff: publicProcedure.input(
142425
+ external_exports2.object({
142426
+ workspaceId: external_exports2.string(),
142427
+ contextLines: external_exports2.number().int().min(0).max(99999).optional(),
142428
+ diffMode: external_exports2.enum(["uncommitted", "branch"]).optional(),
142429
+ compareBranch: compareBranchSchema
142430
+ })
142431
+ ).query(async ({ input }) => {
142432
+ const workspace = resolveWorkspace(input.workspaceId);
142433
+ if (!workspace) {
142434
+ throw new Error("Workspace not found");
142435
+ }
142436
+ const cwd = workspace.worktree.path;
142437
+ const defaultBranch = workspace.project.defaultBranch;
142438
+ const { compareBranch, headBranch, mergeBase } = await resolveDiffContext(
142439
+ cwd,
142440
+ defaultBranch,
142441
+ input.diffMode ?? "branch",
142442
+ input.compareBranch
142443
+ );
142357
142444
  const diffArgs = ["diff"];
142358
142445
  if (input.contextLines !== void 0) {
142359
142446
  diffArgs.push(`-U${input.contextLines}`);
@@ -142361,57 +142448,36 @@ var workspaceRouter = t2.router({
142361
142448
  diffArgs.push(mergeBase);
142362
142449
  let diff = await execGit(diffArgs, cwd);
142363
142450
  const statOutput = await execGit(["diff", "--stat", mergeBase], cwd);
142364
- const statLines = statOutput.trim().split("\n");
142365
- const summaryLine = statLines[statLines.length - 1] || "";
142366
- let filesChanged = 0;
142367
- let insertions = 0;
142368
- let deletions = 0;
142369
- const filesMatch = summaryLine.match(/(\d+)\s+files?\s+changed/);
142370
- const insertMatch = summaryLine.match(/(\d+)\s+insertions?\(\+\)/);
142371
- const deleteMatch = summaryLine.match(/(\d+)\s+deletions?\(-\)/);
142372
- if (filesMatch) filesChanged = Number.parseInt(filesMatch[1], 10);
142373
- if (insertMatch) insertions = Number.parseInt(insertMatch[1], 10);
142374
- if (deleteMatch) deletions = Number.parseInt(deleteMatch[1], 10);
142375
- const fileStatuses = {};
142451
+ const stats = parseDiffStatSummary(statOutput);
142376
142452
  const nameStatusOutput = await execGit(["diff", "--name-status", mergeBase], cwd);
142377
- for (const line2 of nameStatusOutput.trim().split("\n").filter(Boolean)) {
142378
- const parts = line2.split(" ");
142379
- const statusCode = parts[0][0];
142380
- if (statusCode === "R" && parts[2]) {
142381
- fileStatuses[parts[2]] = "R";
142382
- } else if (parts[1]) {
142383
- fileStatuses[parts[1]] = statusCode;
142384
- }
142385
- }
142453
+ const fileStatuses = parseFileStatuses(nameStatusOutput);
142386
142454
  const untrackedOutput = await execGit(["ls-files", "--others", "--exclude-standard"], cwd);
142387
142455
  const untrackedFiles = untrackedOutput.trim().split("\n").filter(Boolean);
142388
142456
  for (const file2 of untrackedFiles) {
142389
- try {
142390
- const content2 = await readFile2(join21(cwd, file2), "utf-8");
142391
- const lines = content2.split("\n");
142392
- if (lines.length > 0 && lines[lines.length - 1] === "") {
142393
- lines.pop();
142394
- }
142395
- diff += `diff --git a/${file2} b/${file2}
142457
+ const lines = await readUntrackedFileLines(cwd, file2);
142458
+ if (lines === null) continue;
142459
+ diff += `diff --git a/${file2} b/${file2}
142396
142460
  `;
142397
- diff += "new file mode 100644\n";
142398
- diff += "--- /dev/null\n";
142399
- diff += `+++ b/${file2}
142461
+ diff += "new file mode 100644\n";
142462
+ diff += "--- /dev/null\n";
142463
+ diff += `+++ b/${file2}
142400
142464
  `;
142401
- diff += `@@ -0,0 +1,${lines.length} @@
142465
+ diff += `@@ -0,0 +1,${lines.length} @@
142402
142466
  `;
142403
- diff += lines.map((l) => `+${l}`).join("\n");
142404
- diff += "\n";
142405
- filesChanged++;
142406
- insertions += lines.length;
142407
- fileStatuses[file2] = "U";
142408
- } catch {
142409
- }
142467
+ diff += lines.map((l) => `+${l}`).join("\n");
142468
+ diff += "\n";
142469
+ stats.filesChanged++;
142470
+ stats.insertions += lines.length;
142471
+ fileStatuses[file2] = "U";
142410
142472
  }
142411
142473
  return {
142412
142474
  diff,
142413
- stats: { filesChanged, insertions, deletions },
142414
- baseBranch: defaultBranch,
142475
+ stats,
142476
+ // `compareBranch` is the branch we diffed against (the user's pick, or
142477
+ // the project default). `defaultBranch` is the project default. They
142478
+ // diverge once a non-default branch is picked.
142479
+ compareBranch,
142480
+ defaultBranch,
142415
142481
  headBranch,
142416
142482
  fileStatuses
142417
142483
  };
@@ -142419,7 +142485,8 @@ var workspaceRouter = t2.router({
142419
142485
  getDiffSummary: publicProcedure.input(
142420
142486
  external_exports2.object({
142421
142487
  workspaceId: external_exports2.string(),
142422
- diffMode: external_exports2.enum(["uncommitted", "branch"]).optional()
142488
+ diffMode: external_exports2.enum(["uncommitted", "branch"]).optional(),
142489
+ compareBranch: compareBranchSchema
142423
142490
  })
142424
142491
  ).query(async ({ input }) => {
142425
142492
  const workspace = resolveWorkspace(input.workspaceId);
@@ -142428,67 +142495,29 @@ var workspaceRouter = t2.router({
142428
142495
  }
142429
142496
  const cwd = workspace.worktree.path;
142430
142497
  const defaultBranch = workspace.project.defaultBranch;
142431
- let headBranch;
142432
- try {
142433
- headBranch = (await execGit(["rev-parse", "--abbrev-ref", "HEAD"], cwd)).trim();
142434
- } catch {
142435
- headBranch = defaultBranch;
142436
- }
142437
- let mergeBase;
142438
- if (input.diffMode === "uncommitted") {
142439
- try {
142440
- mergeBase = (await execGit(["rev-parse", "HEAD"], cwd)).trim();
142441
- } catch {
142442
- mergeBase = (await execGit(["hash-object", "-t", "tree", "/dev/null"], cwd)).trim();
142443
- }
142444
- } else {
142445
- try {
142446
- mergeBase = (await execGit(["merge-base", defaultBranch, "HEAD"], cwd)).trim();
142447
- } catch {
142448
- mergeBase = (await execGit(["hash-object", "-t", "tree", "/dev/null"], cwd)).trim();
142449
- }
142450
- }
142498
+ const { compareBranch, headBranch, mergeBase } = await resolveDiffContext(
142499
+ cwd,
142500
+ defaultBranch,
142501
+ input.diffMode ?? "branch",
142502
+ input.compareBranch
142503
+ );
142451
142504
  const statOutput = await execGit(["diff", "--stat", mergeBase], cwd);
142452
- const statLines = statOutput.trim().split("\n");
142453
- const summaryLine = statLines[statLines.length - 1] || "";
142454
- let filesChanged = 0;
142455
- let insertions = 0;
142456
- let deletions = 0;
142457
- const filesMatch = summaryLine.match(/(\d+)\s+files?\s+changed/);
142458
- const insertMatch = summaryLine.match(/(\d+)\s+insertions?\(\+\)/);
142459
- const deleteMatch = summaryLine.match(/(\d+)\s+deletions?\(-\)/);
142460
- if (filesMatch) filesChanged = Number.parseInt(filesMatch[1], 10);
142461
- if (insertMatch) insertions = Number.parseInt(insertMatch[1], 10);
142462
- if (deleteMatch) deletions = Number.parseInt(deleteMatch[1], 10);
142463
- const fileStatuses = {};
142505
+ const stats = parseDiffStatSummary(statOutput);
142464
142506
  const nameStatusOutput = await execGit(["diff", "--name-status", mergeBase], cwd);
142465
- for (const line2 of nameStatusOutput.trim().split("\n").filter(Boolean)) {
142466
- const parts = line2.split(" ");
142467
- const statusCode = parts[0][0];
142468
- if (statusCode === "R" && parts[2]) {
142469
- fileStatuses[parts[2]] = "R";
142470
- } else if (parts[1]) {
142471
- fileStatuses[parts[1]] = statusCode;
142472
- }
142473
- }
142507
+ const fileStatuses = parseFileStatuses(nameStatusOutput);
142474
142508
  const untrackedOutput = await execGit(["ls-files", "--others", "--exclude-standard"], cwd);
142475
142509
  const untrackedFiles = untrackedOutput.trim().split("\n").filter(Boolean);
142476
142510
  for (const file2 of untrackedFiles) {
142477
- try {
142478
- const content2 = await readFile2(join21(cwd, file2), "utf-8");
142479
- const lines = content2.split("\n");
142480
- if (lines.length > 0 && lines[lines.length - 1] === "") {
142481
- lines.pop();
142482
- }
142483
- filesChanged++;
142484
- insertions += lines.length;
142485
- fileStatuses[file2] = "U";
142486
- } catch {
142487
- }
142511
+ const lines = await readUntrackedFileLines(cwd, file2);
142512
+ if (lines === null) continue;
142513
+ stats.filesChanged++;
142514
+ stats.insertions += lines.length;
142515
+ fileStatuses[file2] = "U";
142488
142516
  }
142489
142517
  return {
142490
- stats: { filesChanged, insertions, deletions },
142491
- baseBranch: defaultBranch,
142518
+ stats,
142519
+ compareBranch,
142520
+ defaultBranch,
142492
142521
  headBranch,
142493
142522
  fileStatuses,
142494
142523
  mergeBase
@@ -142543,7 +142572,8 @@ var workspaceRouter = t2.router({
142543
142572
  external_exports2.object({
142544
142573
  workspaceId: external_exports2.string(),
142545
142574
  filePath: external_exports2.string(),
142546
- diffMode: external_exports2.enum(["uncommitted", "branch"])
142575
+ diffMode: external_exports2.enum(["uncommitted", "branch"]),
142576
+ compareBranch: compareBranchSchema
142547
142577
  })
142548
142578
  ).mutation(async ({ input }) => {
142549
142579
  const workspace = resolveWorkspace(input.workspaceId);
@@ -142558,21 +142588,12 @@ var workspaceRouter = t2.router({
142558
142588
  await rm(join21(cwd, filePath), { force: true });
142559
142589
  return { ok: true };
142560
142590
  }
142561
- let ref;
142562
- if (diffMode === "uncommitted") {
142563
- try {
142564
- ref = (await execGit(["rev-parse", "HEAD"], cwd)).trim();
142565
- } catch {
142566
- ref = (await execGit(["hash-object", "-t", "tree", "/dev/null"], cwd)).trim();
142567
- }
142568
- } else {
142569
- const defaultBranch = workspace.project.defaultBranch;
142570
- try {
142571
- ref = (await execGit(["merge-base", defaultBranch, "HEAD"], cwd)).trim();
142572
- } catch {
142573
- ref = (await execGit(["hash-object", "-t", "tree", "/dev/null"], cwd)).trim();
142574
- }
142575
- }
142591
+ const { mergeBase: ref } = await resolveDiffContext(
142592
+ cwd,
142593
+ workspace.project.defaultBranch,
142594
+ diffMode,
142595
+ input.compareBranch
142596
+ );
142576
142597
  const nameStatusOutput = await execGit(["diff", "--name-status", ref, "--", filePath], cwd);
142577
142598
  const statusLine = nameStatusOutput.trim().split("\n").filter(Boolean)[0];
142578
142599
  const fileStatus = statusLine ? statusLine[0] : null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@band-app/server",
3
- "version": "0.5.4",
3
+ "version": "0.5.6",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "band-server": "./bin/band-server.mjs"
@@ -42,8 +42,6 @@
42
42
  "@tanstack/react-router": "^1.154.0",
43
43
  "@tanstack/react-start": "^1.154.0",
44
44
  "@tanstack/router-plugin": "^1.154.0",
45
- "@tauri-apps/api": "^2.0.0",
46
- "@tauri-apps/plugin-shell": "^2.0.0",
47
45
  "@trpc/client": "^11.12.0",
48
46
  "@trpc/openapi": "11.16.0-alpha",
49
47
  "@trpc/server": "^11.12.0",
@@ -82,10 +80,10 @@
82
80
  "vitest": "^4.0.18",
83
81
  "ws": "^8.18.0",
84
82
  "zod": "^3.25.67",
85
- "@band-app/dashboard-core": "^0.5.4",
86
- "@band-app/logger": "^0.5.4",
87
- "@band-app/coding-agent": "^0.5.4",
88
- "@band-app/ui": "^0.5.4"
83
+ "@band-app/coding-agent": "^0.5.6",
84
+ "@band-app/dashboard-core": "^0.5.6",
85
+ "@band-app/logger": "^0.5.6",
86
+ "@band-app/ui": "^0.5.6"
89
87
  },
90
88
  "scripts": {
91
89
  "dev": "vite dev --port 3456 --host 0.0.0.0",
@@ -1 +0,0 @@
1
- import{ai as o,aj as n}from"./main-BJRBUBf7.js";const t=(a,r)=>o.lang.round(n.parse(a)[r]);export{t as c};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-B4BG7PRW-D-8aj6uR.js";import{S as i}from"./main-BJRBUBf7.js";import"./chunk-FMBD7UC4-B4gYDpvB.js";import"./chunk-55IACEB6-CiMhFR8e.js";import"./chunk-QN33PNHL-DG8uaz-H.js";var u={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{u as diagram};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-B4BG7PRW-D-8aj6uR.js";import{S as i}from"./main-BJRBUBf7.js";import"./chunk-FMBD7UC4-B4gYDpvB.js";import"./chunk-55IACEB6-CiMhFR8e.js";import"./chunk-QN33PNHL-DG8uaz-H.js";var u={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{u as diagram};
@@ -1 +0,0 @@
1
- import{b as r}from"./_baseUniq-B0BP4Sik.js";var e=4;function a(o){return r(o,e)}export{a as c};
@@ -1 +0,0 @@
1
- function s(n,r,e,o){if(typeof r=="function"?n!==r||!o:!r.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?o:e==="a"?o.call(n):o?o.value:r.get(n)}function i(n,r,e,o,_){if(typeof r=="function"?n!==r||!0:!r.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r.set(n,e),e}var t;const c="__TAURI_TO_IPC_KEY__";function u(n,r=!1){return window.__TAURI_INTERNALS__.transformCallback(n,r)}async function a(n,r={},e){return window.__TAURI_INTERNALS__.invoke(n,r,e)}class d{get rid(){return s(this,t,"f")}constructor(r){t.set(this,void 0),i(this,t,r)}async close(){return a("plugin:resources|close",{rid:this.rid})}}t=new WeakMap;export{d as Resource,c as SERIALIZE_TO_IPC_FN,a as invoke,u as transformCallback};
@@ -1 +0,0 @@
1
- import{invoke as a,transformCallback as c}from"./core-mPlcS5K-.js";var i;(function(e){e.WINDOW_RESIZED="tauri://resize",e.WINDOW_MOVED="tauri://move",e.WINDOW_CLOSE_REQUESTED="tauri://close-requested",e.WINDOW_DESTROYED="tauri://destroyed",e.WINDOW_FOCUS="tauri://focus",e.WINDOW_BLUR="tauri://blur",e.WINDOW_SCALE_FACTOR_CHANGED="tauri://scale-change",e.WINDOW_THEME_CHANGED="tauri://theme-changed",e.WINDOW_CREATED="tauri://window-created",e.WEBVIEW_CREATED="tauri://webview-created",e.DRAG_ENTER="tauri://drag-enter",e.DRAG_OVER="tauri://drag-over",e.DRAG_DROP="tauri://drag-drop",e.DRAG_LEAVE="tauri://drag-leave"})(i||(i={}));async function _(e,n){window.__TAURI_EVENT_PLUGIN_INTERNALS__.unregisterListener(e,n),await a("plugin:event|unlisten",{event:e,eventId:n})}async function d(e,n,t){var r;const l=typeof t?.target=="string"?{kind:"AnyLabel",label:t.target}:(r=t?.target)!==null&&r!==void 0?r:{kind:"Any"};return a("plugin:event|listen",{event:e,target:l,handler:c(n)}).then(u=>async()=>_(e,u))}async function o(e,n,t){return d(e,r=>{_(e,r.id),n(r)},t)}async function W(e,n){await a("plugin:event|emit",{event:e,payload:n})}async function g(e,n,t){await a("plugin:event|emit_to",{target:typeof e=="string"?{kind:"AnyLabel",label:e}:e,event:n,payload:t})}export{i as TauriEvent,W as emit,g as emitTo,d as listen,o as once};
@@ -1 +0,0 @@
1
- import{invoke as i}from"./core-mPlcS5K-.js";async function p(n,o){await i("plugin:shell|open",{path:n,with:o})}export{p as open};