@band-app/server 0.31.1 → 0.33.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 (178) hide show
  1. package/dist/client/assets/{TerminalPanel-DdoEObnF.js → TerminalPanel-CyltRZLD.js} +1 -1
  2. package/dist/client/assets/_basePickBy-Dl99bUuK.js +1 -0
  3. package/dist/client/assets/{_baseUniq-BZZjCl_a.js → _baseUniq-xYPKjKRI.js} +1 -1
  4. package/dist/client/assets/addon-unicode11-LsnDChsR.js +1 -0
  5. package/dist/client/assets/{arc-CHfgBvn_.js → arc-L0FqLNvl.js} +1 -1
  6. package/dist/client/assets/{architectureDiagram-VXUJARFQ-DQA19xNg.js → architectureDiagram-VXUJARFQ-sxFQR6t8.js} +1 -1
  7. package/dist/client/assets/{blockDiagram-VD42YOAC-F8PTxmQ_.js → blockDiagram-VD42YOAC-CKyryScy.js} +4 -4
  8. package/dist/client/assets/{c4Diagram-YG6GDRKO-BJUm36SI.js → c4Diagram-YG6GDRKO-CKkLibM6.js} +1 -1
  9. package/dist/client/assets/channel-CnUqAM2K.js +1 -0
  10. package/dist/client/assets/{chunk-4BX2VUAB-C1wjI1w7.js → chunk-4BX2VUAB-B2Q5eiyh.js} +1 -1
  11. package/dist/client/assets/{chunk-55IACEB6-CGfcCH6v.js → chunk-55IACEB6-Bx7ppH1E.js} +1 -1
  12. package/dist/client/assets/{chunk-B4BG7PRW-DmVN_q5R.js → chunk-B4BG7PRW-z63abbDt.js} +3 -3
  13. package/dist/client/assets/{chunk-DI55MBZ5-Cp0-lUyt.js → chunk-DI55MBZ5-CVuxJX-G.js} +3 -3
  14. package/dist/client/assets/{chunk-FMBD7UC4-BE3Cu6Ut.js → chunk-FMBD7UC4-C4mR-Kqh.js} +1 -1
  15. package/dist/client/assets/{chunk-QN33PNHL-CPVRy0ja.js → chunk-QN33PNHL-DC9EuvVO.js} +1 -1
  16. package/dist/client/assets/{chunk-QZHKN3VN-C7Y7bhq5.js → chunk-QZHKN3VN-BVfYPmR6.js} +1 -1
  17. package/dist/client/assets/{chunk-TZMSLE5B-Bi_vlgox.js → chunk-TZMSLE5B-BERfyjOQ.js} +1 -1
  18. package/dist/client/assets/classDiagram-2ON5EDUG-Bl2ARqSW.js +1 -0
  19. package/dist/client/assets/classDiagram-v2-WZHVMYZB-Bl2ARqSW.js +1 -0
  20. package/dist/client/assets/clone-DoC0Yowh.js +1 -0
  21. package/dist/client/assets/{cose-bilkent-S5V4N54A-CoCMLv_6.js → cose-bilkent-S5V4N54A-CKYh86Nn.js} +1 -1
  22. package/dist/client/assets/{dagre-6UL2VRFP-EnAkiIUe.js → dagre-6UL2VRFP-CHXYsbsT.js} +2 -2
  23. package/dist/client/assets/{diagram-PSM6KHXK-C2Y89USX.js → diagram-PSM6KHXK-BgTabbUt.js} +1 -1
  24. package/dist/client/assets/{diagram-QEK2KX5R-B-lmAMSj.js → diagram-QEK2KX5R-DGko5nSx.js} +2 -2
  25. package/dist/client/assets/diagram-S2PKOQOG-CE06Gb7p.js +24 -0
  26. package/dist/client/assets/{erDiagram-Q2GNP2WA-PNRr4PfI.js → erDiagram-Q2GNP2WA-DRAdXF3c.js} +3 -3
  27. package/dist/client/assets/{flowDiagram-NV44I4VS-DMJLrOve.js → flowDiagram-NV44I4VS-DMdYos4M.js} +3 -3
  28. package/dist/client/assets/{ganttDiagram-JELNMOA3-B8xTGdhz.js → ganttDiagram-JELNMOA3-B1hq9zyH.js} +5 -5
  29. package/dist/client/assets/gitGraphDiagram-V2S2FVAM-BX_eqyqV.js +65 -0
  30. package/dist/client/assets/{graph-DtlkBWdT.js → graph-B1pXNJmu.js} +1 -1
  31. package/dist/client/assets/highlighted-body-B3W2YXNL-xpTIV5H4.js +1 -0
  32. package/dist/client/assets/index-61SgNErm.js +3 -0
  33. package/dist/client/assets/index-67ml7mn1.js +1 -0
  34. package/dist/client/assets/index-BAlyKPeT.js +1 -0
  35. package/dist/client/assets/index-BD37kyMP.js +1 -0
  36. package/dist/client/assets/index-BHygUCeT.js +1 -0
  37. package/dist/client/assets/{index-DwIIxwyA.js → index-BYm6dlG5.js} +2 -2
  38. package/dist/client/assets/index-CWczZ7eS.js +1 -0
  39. package/dist/client/assets/{index-DzmcYgsK.js → index-CoSFZPv4.js} +1 -1
  40. package/dist/client/assets/index-DNX82GPp.js +1 -0
  41. package/dist/client/assets/index-DUaIvPpT.js +7 -0
  42. package/dist/client/assets/index-Dm9xRcT9.js +1 -0
  43. package/dist/client/assets/index-Do4DO4E-.js +1 -0
  44. package/dist/client/assets/index-Mpl66MhJ.js +1 -0
  45. package/dist/client/assets/{infoDiagram-HS3SLOUP-DekD9pOv.js → infoDiagram-HS3SLOUP-DHAIDbZu.js} +1 -1
  46. package/dist/client/assets/{journeyDiagram-XKPGCS4Q-Fzs0FbeM.js → journeyDiagram-XKPGCS4Q-BJHZIWhu.js} +1 -1
  47. package/dist/client/assets/{kanban-definition-3W4ZIXB7-6B7ehAZt.js → kanban-definition-3W4ZIXB7-_qzn6_ii.js} +6 -6
  48. package/dist/client/assets/{layout-CcUD7gHw.js → layout-CksxJldr.js} +1 -1
  49. package/dist/client/assets/main-D4u0xEOA.css +1 -0
  50. package/dist/client/assets/main-FnYu011V.js +1002 -0
  51. package/dist/client/assets/{mindmap-definition-VGOIOE7T-CfY1kt2W.js → mindmap-definition-VGOIOE7T-Deop3o-V.js} +4 -4
  52. package/dist/client/assets/{pieDiagram-ADFJNKIX-C-ZZw4jN.js → pieDiagram-ADFJNKIX-d4k56ZYA.js} +2 -2
  53. package/dist/client/assets/{quadrantDiagram-AYHSOK5B-Cn4pxyBH.js → quadrantDiagram-AYHSOK5B-CBA2J09q.js} +1 -1
  54. package/dist/client/assets/{requirementDiagram-UZGBJVZJ-B0UYN1Sq.js → requirementDiagram-UZGBJVZJ-C6Nnujg6.js} +1 -1
  55. package/dist/client/assets/{sankeyDiagram-TZEHDZUN-DegmNHvK.js → sankeyDiagram-TZEHDZUN-CPfLLuk9.js} +6 -6
  56. package/dist/client/assets/{sequenceDiagram-WL72ISMW-B8BlHF2c.js → sequenceDiagram-WL72ISMW-C_OY-5TF.js} +6 -6
  57. package/dist/client/assets/{stateDiagram-FKZM4ZOC-3FR63a_N.js → stateDiagram-FKZM4ZOC-CeuP4CjM.js} +1 -1
  58. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-B9BH2TF6.js +1 -0
  59. package/dist/client/assets/{timeline-definition-IT6M3QCI-F2yYpGjm.js → timeline-definition-IT6M3QCI-CL_Rmapn.js} +4 -4
  60. package/dist/client/assets/{treemap-GDKQZRPO-Br0ExAYs.js → treemap-GDKQZRPO-2uvsx2LQ.js} +1 -1
  61. package/dist/client/assets/workspace._workspaceId-D3mRY9_6.js +1 -0
  62. package/dist/client/assets/{workspace._workspaceId-DxBPbkq5.js → workspace._workspaceId-DF3JNMRG.js} +1 -1
  63. package/dist/client/assets/{xychartDiagram-PRI3JC2R-CnbekSuG.js → xychartDiagram-PRI3JC2R-5Pzm62mv.js} +1 -1
  64. package/dist/migrations/20260926162113_browser_profiles/migration.sql +12 -0
  65. package/dist/migrations/20260926162113_browser_profiles/snapshot.json +1520 -0
  66. package/dist/migrations/20260927123820_agent_sessions/migration.sql +16 -0
  67. package/dist/migrations/20260927123820_agent_sessions/snapshot.json +1675 -0
  68. package/dist/openapi.json +2748 -1140
  69. package/dist/server/assets/{TerminalPanel-CThgG3BY.js → TerminalPanel-DMTU2FMX.js} +1 -1
  70. package/dist/server/assets/{_basePickBy-DMEcDwoD.js → _basePickBy-CMTHAoTW.js} +2 -2
  71. package/dist/server/assets/{_baseUniq-C6YEem8Y.js → _baseUniq-DkG_FLLk.js} +1 -1
  72. package/dist/server/assets/_tanstack-start-manifest_v-cBOqdEgL.js +4 -0
  73. package/dist/server/assets/addon-unicode11-BhCmKRb7.js +181 -0
  74. package/dist/server/assets/{arc-CcEw1rIf.js → arc-CSj375cS.js} +1 -1
  75. package/dist/server/assets/{architecture-7HQA4BMR-BXvzNToj.js → architecture-7HQA4BMR-MwhJw22a.js} +6 -6
  76. package/dist/server/assets/{architectureDiagram-VXUJARFQ-BliQCKdG.js → architectureDiagram-VXUJARFQ-DyVVxp88.js} +6 -6
  77. package/dist/server/assets/{blockDiagram-VD42YOAC-CjmYP_Tq.js → blockDiagram-VD42YOAC-aGbi3Kv_.js} +6 -6
  78. package/dist/server/assets/{c4Diagram-YG6GDRKO-BfRolLuL.js → c4Diagram-YG6GDRKO-DhyUvqPs.js} +2 -2
  79. package/dist/server/assets/{channel-CmYmU2fF.js → channel-CJthnbp1.js} +1 -1
  80. package/dist/server/assets/{chunk-4BX2VUAB-DnWdxOy5.js → chunk-4BX2VUAB-Ch7bkquC.js} +1 -1
  81. package/dist/server/assets/{chunk-55IACEB6-BTmbTQIk.js → chunk-55IACEB6-CLKopZj8.js} +1 -1
  82. package/dist/server/assets/{chunk-B4BG7PRW-Dd8U8eRH.js → chunk-B4BG7PRW-BVv_KeWC.js} +4 -4
  83. package/dist/server/assets/{chunk-DI55MBZ5-DOSx8ES_.js → chunk-DI55MBZ5-C0_HSk1s.js} +3 -3
  84. package/dist/server/assets/{chunk-FMBD7UC4-DoS4CUAI.js → chunk-FMBD7UC4-3fy4TSVt.js} +1 -1
  85. package/dist/server/assets/{chunk-QN33PNHL-81e5hpqA.js → chunk-QN33PNHL-QdSQZPQz.js} +1 -1
  86. package/dist/server/assets/{chunk-QZHKN3VN-Cruwx7ml.js → chunk-QZHKN3VN-Dak-YXr5.js} +1 -1
  87. package/dist/server/assets/{chunk-TZMSLE5B-CVdCnVV1.js → chunk-TZMSLE5B-ThSW8afd.js} +1 -1
  88. package/dist/server/assets/{classDiagram-v2-WZHVMYZB-CI4dbXAN.js → classDiagram-2ON5EDUG-Cmkciu-2.js} +5 -5
  89. package/dist/server/assets/{classDiagram-2ON5EDUG-CI4dbXAN.js → classDiagram-v2-WZHVMYZB-Cmkciu-2.js} +5 -5
  90. package/dist/server/assets/{clone-DCf3XlPY.js → clone-ciZ96ZK2.js} +1 -1
  91. package/dist/server/assets/{cose-bilkent-S5V4N54A-MuUXxVtC.js → cose-bilkent-S5V4N54A-CP20--8W.js} +1 -1
  92. package/dist/server/assets/{dagre-6UL2VRFP-C7ckn20c.js → dagre-6UL2VRFP-D9LrmNJH.js} +6 -6
  93. package/dist/server/assets/{diagram-PSM6KHXK-CMxqFNNc.js → diagram-PSM6KHXK-l3xztHYH.js} +7 -7
  94. package/dist/server/assets/{diagram-QEK2KX5R-DGn7Wc3l.js → diagram-QEK2KX5R-i9twZ5aj.js} +6 -6
  95. package/dist/server/assets/{diagram-S2PKOQOG-DCkkbBLl.js → diagram-S2PKOQOG-DIHmhvbo.js} +6 -6
  96. package/dist/server/assets/{erDiagram-Q2GNP2WA-CKPFaAp2.js → erDiagram-Q2GNP2WA-fMWrL8ta.js} +4 -4
  97. package/dist/server/assets/{flowDiagram-NV44I4VS-DFf8L08F.js → flowDiagram-NV44I4VS-BqKFb2gL.js} +5 -5
  98. package/dist/server/assets/{ganttDiagram-JELNMOA3-1-t_r6jX.js → ganttDiagram-JELNMOA3-XwScweUm.js} +1 -1
  99. package/dist/server/assets/{gitGraph-G5XIXVHT-CXVQFRFs.js → gitGraph-G5XIXVHT-DDO_mRkl.js} +6 -6
  100. package/dist/server/assets/{gitGraphDiagram-V2S2FVAM-DVqN7ZP0.js → gitGraphDiagram-V2S2FVAM-B2e2LaZt.js} +7 -7
  101. package/dist/server/assets/{graph-Dot7YH89.js → graph-DqF0fiyC.js} +2 -2
  102. package/dist/server/assets/{highlighted-body-B3W2YXNL-8cjZuRJ2.js → highlighted-body-B3W2YXNL-B9lH9lqG.js} +1 -1
  103. package/dist/server/assets/{index-C1hQNNzU.js → index-BFzH6uNZ.js} +1 -2
  104. package/dist/server/assets/{index-Bi1NreVG.js → index-BRPRiIzs.js} +1 -5
  105. package/dist/server/assets/{index-D6Vm7E_i.js → index-BZSpvQ87.js} +1 -2
  106. package/dist/server/assets/{index-BcZgkaNS.js → index-BuxMoI9R.js} +1 -2
  107. package/dist/server/assets/{index-GgrvHhHi.js → index-C0T5sHCj.js} +1 -3
  108. package/dist/server/assets/{index-nzUHfYBx.js → index-C35Eg9Oe.js} +1 -2
  109. package/dist/server/assets/{index-CxlXrP3m.js → index-C4LlK8zq.js} +1 -1
  110. package/dist/server/assets/{index-B2x1DfYc.js → index-Cz3ed2GU.js} +1 -2
  111. package/dist/server/assets/{index-BDgBWXBD.js → index-Oepbj3Cu.js} +1 -2
  112. package/dist/server/assets/{index-Ba8AA28e.js → index-QY-ciJ02.js} +1 -2
  113. package/dist/server/assets/{index-D3AFKy3U.js → index-dOV5Jyvk.js} +1 -3
  114. package/dist/server/assets/{index-p6O_x_qN.js → index-iLqcyvvo.js} +1 -2
  115. package/dist/server/assets/{index-AmUVRRsa.js → index-ihiIN7Vo.js} +1 -2
  116. package/dist/server/assets/{info-VBDWY6EO-BXRDzzOP.js → info-VBDWY6EO-BSfwYSKN.js} +6 -6
  117. package/dist/server/assets/{infoDiagram-HS3SLOUP-D2jQYgOa.js → infoDiagram-HS3SLOUP-BcPNSucE.js} +5 -5
  118. package/dist/server/assets/{journeyDiagram-XKPGCS4Q-bf_S8co7.js → journeyDiagram-XKPGCS4Q-B_JljIi2.js} +4 -4
  119. package/dist/server/assets/{kanban-definition-3W4ZIXB7-eje5lYLG.js → kanban-definition-3W4ZIXB7-B5aPUZvg.js} +2 -2
  120. package/dist/server/assets/{layout-D3AhBFqI.js → layout-Cv2BYqNX.js} +4 -4
  121. package/dist/server/assets/{mermaid-3ZIDBTTL-C-00O3F0.js → mermaid-3ZIDBTTL-D_akVRms.js} +1 -1
  122. package/dist/server/assets/{mermaid-parser.core-CyX4B1l5.js → mermaid-parser.core-uDeqwrPN.js} +11 -11
  123. package/dist/server/assets/{mindmap-definition-VGOIOE7T-D51F_plo.js → mindmap-definition-VGOIOE7T-C9LF9XTT.js} +3 -3
  124. package/dist/server/assets/{packet-DYOGHKS2-CCJkkNTh.js → packet-DYOGHKS2-lRBX1T35.js} +6 -6
  125. package/dist/server/assets/{pie-VRWISCQL-7Tei6lnA.js → pie-VRWISCQL-BCZ9vmsj.js} +6 -6
  126. package/dist/server/assets/{pieDiagram-ADFJNKIX-BclaT-41.js → pieDiagram-ADFJNKIX-HYsm0km8.js} +7 -7
  127. package/dist/server/assets/{quadrantDiagram-AYHSOK5B-CnerVMbZ.js → quadrantDiagram-AYHSOK5B-Fdzz2j2T.js} +1 -1
  128. package/dist/server/assets/{radar-ZZBFDIW7-QLmbgAT7.js → radar-ZZBFDIW7-iZ-6xOx9.js} +6 -6
  129. package/dist/server/assets/{requirementDiagram-UZGBJVZJ-a2FIYlfE.js → requirementDiagram-UZGBJVZJ-CeHGAs1A.js} +3 -3
  130. package/dist/server/assets/{router-DDnNUwTm.js → router-A58OKuIG.js} +52793 -29611
  131. package/dist/server/assets/{sankeyDiagram-TZEHDZUN-B3I-S6CG.js → sankeyDiagram-TZEHDZUN-DXgjoM9B.js} +1 -1
  132. package/dist/server/assets/{sequenceDiagram-WL72ISMW-kgJrgJ9r.js → sequenceDiagram-WL72ISMW-BK24aHRm.js} +3 -3
  133. package/dist/server/assets/{stateDiagram-FKZM4ZOC-C6UTf0ag.js → stateDiagram-FKZM4ZOC-uW8qduwY.js} +8 -8
  134. package/dist/server/assets/{stateDiagram-v2-4FDKWEC3-Dj0SlbA4.js → stateDiagram-v2-4FDKWEC3-O0D8F8J2.js} +4 -4
  135. package/dist/server/assets/{timeline-definition-IT6M3QCI-DGPtqtJD.js → timeline-definition-IT6M3QCI-BaSl1O8h.js} +2 -2
  136. package/dist/server/assets/{treemap-GDKQZRPO-B-wn0rT7.js → treemap-GDKQZRPO-DqxwR6w-.js} +6 -6
  137. package/dist/server/assets/{workspace._workspaceId-CG5NG8aZ.js → workspace._workspaceId-B09dwAP5.js} +1 -1
  138. package/dist/server/assets/workspace._workspaceId-CZZSeH-P.js +316 -0
  139. package/dist/server/assets/{xychartDiagram-PRI3JC2R-BTb4nc1D.js → xychartDiagram-PRI3JC2R-Du3l-FcL.js} +1 -1
  140. package/dist/server/server.js +2 -2
  141. package/dist/start-server.mjs +80228 -58130
  142. package/dist/terminal-daemon.mjs +747 -113
  143. package/package.json +6 -4
  144. package/dist/client/assets/_basePickBy-B3BFyLWC.js +0 -1
  145. package/dist/client/assets/channel-RulspXoY.js +0 -1
  146. package/dist/client/assets/classDiagram-2ON5EDUG-Db0XAgV5.js +0 -1
  147. package/dist/client/assets/classDiagram-v2-WZHVMYZB-Db0XAgV5.js +0 -1
  148. package/dist/client/assets/clone-OMk_JTVX.js +0 -1
  149. package/dist/client/assets/diagram-S2PKOQOG-D3nbDuM4.js +0 -24
  150. package/dist/client/assets/gitGraphDiagram-V2S2FVAM-1W-3cgTi.js +0 -65
  151. package/dist/client/assets/highlighted-body-B3W2YXNL-By10eQ93.js +0 -1
  152. package/dist/client/assets/index-3OKF_8Is.js +0 -1
  153. package/dist/client/assets/index-Bgy7cu0a.js +0 -1
  154. package/dist/client/assets/index-BzNAZ5FA.js +0 -1
  155. package/dist/client/assets/index-Bzw80mva.js +0 -1
  156. package/dist/client/assets/index-C0hp-RSv.js +0 -7
  157. package/dist/client/assets/index-CEIbmBrz.js +0 -1
  158. package/dist/client/assets/index-D0-MMrtE.js +0 -13
  159. package/dist/client/assets/index-D1tzUCeW.js +0 -1
  160. package/dist/client/assets/index-DS648c4_.js +0 -1
  161. package/dist/client/assets/index-DV4-ZPTy.js +0 -1
  162. package/dist/client/assets/index-DkJyKKg0.js +0 -1
  163. package/dist/client/assets/index-Do8FqasK.js +0 -1
  164. package/dist/client/assets/index-DtgD3j-s.js +0 -6
  165. package/dist/client/assets/index-UlnCpzJG.js +0 -1
  166. package/dist/client/assets/index-bqUQQY5s.js +0 -3
  167. package/dist/client/assets/index-os2U5ZBq.js +0 -1
  168. package/dist/client/assets/main-B-TE9tSM.js +0 -979
  169. package/dist/client/assets/main-mRE1Fhv7.css +0 -1
  170. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-BrxlUWYt.js +0 -1
  171. package/dist/client/assets/workspace._workspaceId-C0VOYb-1.js +0 -1
  172. package/dist/server/assets/_tanstack-start-manifest_v-D-Rf7MMa.js +0 -4
  173. package/dist/server/assets/index-Bt0zkb77.js +0 -1052
  174. package/dist/server/assets/index-CImaqmmh.js +0 -1764
  175. package/dist/server/assets/index-CXGBWoOB.js +0 -2499
  176. package/dist/server/assets/index-CyFAdMlV.js +0 -1030
  177. package/dist/server/assets/index-DoE2xDo2.js +0 -653
  178. package/dist/server/assets/workspace._workspaceId-Dd-upXb6.js +0 -309
@@ -1,309 +0,0 @@
1
- import { j as jsxRuntimeExports, r as reactExports } from "../server.js";
2
- import { bD as createLucideIcon, bE as Root, bF as Content, bG as Close, bH as X, bI as cn, bJ as Title, bK as Description, bL as Portal, bM as Overlay, R as Route, bz as useIsDesktop, bN as useDashboardStore, bC as isDesktop, bO as useWorkspacePath, bP as getWorkspaceLeafActions, bQ as parseFileLocation, bR as DesktopDragRegion, bS as ChevronsUpDown, bT as WorkspaceCenterDockview, bU as SquareTerminal, bV as FolderOpen, bW as GitCompare, bX as FileBrowser, bY as ChangesFileTree, bZ as QuickOpenDialog, b_ as SearchFilesDialog, b$ as WorkspacePickerDialog, bA as ToolbarOverflowProvider, bw as DashboardShell, bB as ToolbarActionBar, c0 as useDiffTarget, c1 as useQuery, c2 as trpc } from "./router-DDnNUwTm.js";
3
- import "node:async_hooks";
4
- import "node:stream";
5
- import "util";
6
- import "crypto";
7
- import "async_hooks";
8
- import "stream";
9
- import "node:stream/web";
10
- import "node:process";
11
- import "node:path";
12
- import "node:url";
13
- const __iconNode = [
14
- ["path", { d: "M4 5h16", key: "1tepv9" }],
15
- ["path", { d: "M4 12h16", key: "1lakjw" }],
16
- ["path", { d: "M4 19h16", key: "1djgab" }]
17
- ];
18
- const Menu = createLucideIcon("menu", __iconNode);
19
- function Sheet({ ...props }) {
20
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Root, { "data-slot": "sheet", ...props });
21
- }
22
- function SheetPortal({ ...props }) {
23
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Portal, { "data-slot": "sheet-portal", ...props });
24
- }
25
- function SheetOverlay({
26
- className,
27
- ...props
28
- }) {
29
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
30
- Overlay,
31
- {
32
- "data-slot": "sheet-overlay",
33
- className: cn(
34
- "fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",
35
- className
36
- ),
37
- ...props
38
- }
39
- );
40
- }
41
- function SheetContent({
42
- className,
43
- children,
44
- side = "left",
45
- showCloseButton = true,
46
- overlayClassName,
47
- ...props
48
- }) {
49
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(SheetPortal, { "data-slot": "sheet-portal", children: [
50
- /* @__PURE__ */ jsxRuntimeExports.jsx(SheetOverlay, { className: overlayClassName }),
51
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
52
- Content,
53
- {
54
- "data-slot": "sheet-content",
55
- className: cn(
56
- "fixed z-50 flex flex-col border-border bg-background shadow-lg outline-none ease-drawer data-[state=closed]:animate-out data-[state=closed]:duration-250 data-[state=open]:animate-in data-[state=open]:duration-300",
57
- side === "left" && "inset-y-0 left-0 h-full w-[85%] max-w-sm border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left",
58
- side === "right" && "inset-y-0 right-0 h-full w-[85%] max-w-sm border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right",
59
- // Bottom sheet: leave a safe-area gap at the top so the header/close
60
- // button stay clear of the iOS notch / status bar. env() insets are
61
- // additive to the fixed 1.5rem so the gap is never smaller than the
62
- // physical safe area.
63
- side === "bottom" && "inset-x-0 bottom-0 max-h-[calc(100dvh-env(safe-area-inset-top)-1.5rem)] w-full rounded-t-2xl border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
64
- side === "top" && "inset-x-0 top-0 w-full rounded-b-2xl border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
65
- className
66
- ),
67
- ...props,
68
- children: [
69
- children,
70
- showCloseButton && /* @__PURE__ */ jsxRuntimeExports.jsxs(
71
- Close,
72
- {
73
- "data-slot": "sheet-close",
74
- className: "absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
75
- children: [
76
- /* @__PURE__ */ jsxRuntimeExports.jsx(X, {}),
77
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sr-only", children: "Close" })
78
- ]
79
- }
80
- )
81
- ]
82
- }
83
- )
84
- ] });
85
- }
86
- function SheetTitle({ className, ...props }) {
87
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
88
- Title,
89
- {
90
- "data-slot": "sheet-title",
91
- className: cn("text-foreground font-semibold", className),
92
- ...props
93
- }
94
- );
95
- }
96
- function SheetDescription({
97
- className,
98
- ...props
99
- }) {
100
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
101
- Description,
102
- {
103
- "data-slot": "sheet-description",
104
- className: cn("text-muted-foreground text-sm", className),
105
- ...props
106
- }
107
- );
108
- }
109
- const EMPTY_STATUSES = {};
110
- function useAppHeight() {
111
- const [height, setHeight] = reactExports.useState(null);
112
- const [offsetTop, setOffsetTop] = reactExports.useState(0);
113
- reactExports.useLayoutEffect(() => {
114
- const vv = window.visualViewport;
115
- const update = () => {
116
- setHeight(vv ? vv.height : window.innerHeight);
117
- setOffsetTop(vv ? vv.offsetTop : 0);
118
- };
119
- update();
120
- if (vv) {
121
- vv.addEventListener("resize", update);
122
- vv.addEventListener("scroll", update);
123
- }
124
- window.addEventListener("resize", update);
125
- return () => {
126
- if (vv) {
127
- vv.removeEventListener("resize", update);
128
- vv.removeEventListener("scroll", update);
129
- }
130
- window.removeEventListener("resize", update);
131
- };
132
- }, []);
133
- return {
134
- height,
135
- offsetTop
136
- };
137
- }
138
- function useChangesSummary(workspaceId) {
139
- const {
140
- diffMode,
141
- compareBranch
142
- } = useDiffTarget(workspaceId);
143
- const summaryQuery = useQuery({
144
- queryKey: ["mobileChanges", workspaceId, diffMode, compareBranch],
145
- queryFn: () => trpc.workspace.getDiffSummary.query({
146
- workspaceId,
147
- diffMode,
148
- compareBranch: compareBranch ?? void 0
149
- }),
150
- refetchInterval: 15e3
151
- });
152
- const fileStatuses = summaryQuery.data?.fileStatuses ?? EMPTY_STATUSES;
153
- return {
154
- fileStatuses,
155
- changeCount: Object.keys(fileStatuses).length
156
- };
157
- }
158
- function WorkspaceLayout() {
159
- const {
160
- workspaceId
161
- } = Route.useParams();
162
- const decoded = decodeURIComponent(workspaceId);
163
- const isWideScreen = useIsDesktop();
164
- const useDesktopLayout = isWideScreen || isDesktop;
165
- const [hydrated, setHydrated] = reactExports.useState(false);
166
- reactExports.useLayoutEffect(() => {
167
- setHydrated(true);
168
- }, []);
169
- const setActiveWorkspace = useDashboardStore((s) => s.setActiveWorkspace);
170
- reactExports.useEffect(() => {
171
- setActiveWorkspace(decoded);
172
- }, [decoded, setActiveWorkspace]);
173
- const clearNeedsAttention = useDashboardStore((s) => s.clearNeedsAttention);
174
- reactExports.useEffect(() => {
175
- clearNeedsAttention(decoded);
176
- }, [decoded, clearNeedsAttention]);
177
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `h-full ${hydrated ? "" : "invisible"}`, children: useDesktopLayout ? null : /* @__PURE__ */ jsxRuntimeExports.jsx(MobileWorkspaceLayout, { workspaceId: decoded }, decoded) });
178
- }
179
- function MobileBarButton({
180
- label,
181
- icon: Icon,
182
- active,
183
- onClick,
184
- badge,
185
- testid
186
- }) {
187
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("button", { type: "button", onClick, "aria-pressed": active, "data-testid": testid, className: `relative flex flex-1 flex-col items-center justify-center gap-0.5 text-[10px] font-medium transition-colors ${active ? "text-foreground" : "text-muted-foreground hover:text-foreground"}`, children: [
188
- /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "relative", children: [
189
- /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { className: "size-5" }),
190
- badge != null && badge > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "absolute -top-1.5 -right-2 inline-flex h-4 min-w-4 items-center justify-center rounded-full bg-blue-500/20 px-1 text-[9px] font-medium text-blue-600 dark:text-blue-400", children: badge })
191
- ] }),
192
- label
193
- ] });
194
- }
195
- function MobileWorkspaceLayout({
196
- workspaceId
197
- }) {
198
- const {
199
- height: appHeight,
200
- offsetTop: appOffsetTop
201
- } = useAppHeight();
202
- const workspacePath = useWorkspacePath(workspaceId);
203
- const {
204
- fileStatuses,
205
- changeCount
206
- } = useChangesSummary(workspaceId);
207
- const [view, setView] = reactExports.useState("editor");
208
- const openFileLeaf = reactExports.useCallback((filePath, opts) => {
209
- getWorkspaceLeafActions(workspaceId)?.openFile(filePath, opts);
210
- setView("editor");
211
- }, [workspaceId]);
212
- const openDiffLeaf = reactExports.useCallback((filePath) => {
213
- getWorkspaceLeafActions(workspaceId)?.openDiff(filePath);
214
- setView("editor");
215
- }, [workspaceId]);
216
- const [pickerOpen, setPickerOpen] = reactExports.useState(false);
217
- const [projectListOpen, setProjectListOpen] = reactExports.useState(false);
218
- const [quickOpenOpen, setQuickOpenOpen] = reactExports.useState(false);
219
- const [quickOpenQuery, setQuickOpenQuery] = reactExports.useState(void 0);
220
- const [searchFilesOpen, setSearchFilesOpen] = reactExports.useState(false);
221
- const handleOpenFile = reactExports.useCallback((filename) => {
222
- const {
223
- filePath,
224
- line,
225
- column
226
- } = parseFileLocation(filename);
227
- openFileLeaf(filePath, {
228
- line,
229
- column
230
- });
231
- }, [openFileLeaf]);
232
- reactExports.useEffect(() => {
233
- const handler = (e) => {
234
- const detail = e.detail;
235
- if (!detail?.filename) return;
236
- if (detail.workspaceId && detail.workspaceId !== workspaceId) return;
237
- setQuickOpenQuery(detail.filename);
238
- setQuickOpenOpen(true);
239
- };
240
- window.addEventListener("band:open-file", handler);
241
- return () => window.removeEventListener("band:open-file", handler);
242
- }, [workspaceId]);
243
- reactExports.useEffect(() => {
244
- const openQO = () => setQuickOpenOpen(true);
245
- const openSF = () => setSearchFilesOpen(true);
246
- window.addEventListener("band:open-quick-open", openQO);
247
- window.addEventListener("band:open-search-files", openSF);
248
- return () => {
249
- window.removeEventListener("band:open-quick-open", openQO);
250
- window.removeEventListener("band:open-search-files", openSF);
251
- };
252
- }, []);
253
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col overflow-hidden", style: {
254
- height: appHeight ? `${appHeight}px` : "100dvh",
255
- transform: appOffsetTop ? `translateY(${appOffsetTop}px)` : void 0
256
- }, children: [
257
- isDesktop && /* @__PURE__ */ jsxRuntimeExports.jsx(DesktopDragRegion, {}),
258
- /* @__PURE__ */ jsxRuntimeExports.jsxs("header", { className: "flex h-[calc(2.5rem+env(safe-area-inset-top))] shrink-0 items-center gap-2 border-b border-border/50 px-3 pt-[env(safe-area-inset-top)]", children: [
259
- /* @__PURE__ */ jsxRuntimeExports.jsx("button", { type: "button", onClick: () => setProjectListOpen(true), "aria-label": "Open project list", "aria-haspopup": "dialog", "data-testid": "mobile-workspace__project-list-trigger", className: "inline-flex size-7 shrink-0 items-center justify-center rounded-md hover:bg-accent", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Menu, { className: "size-4" }) }),
260
- /* @__PURE__ */ jsxRuntimeExports.jsxs("button", { type: "button", onClick: () => setPickerOpen(true), "aria-haspopup": "dialog", "aria-label": "Switch workspace", className: "inline-flex min-w-0 flex-1 items-center justify-center gap-1.5 rounded-md px-2 py-1 hover:bg-accent active:bg-accent", children: [
261
- /* @__PURE__ */ jsxRuntimeExports.jsx("h1", { className: "truncate text-sm font-semibold", children: workspaceId }),
262
- /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronsUpDown, { className: "size-3.5 shrink-0 text-muted-foreground" })
263
- ] }),
264
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { "aria-hidden": "true", className: "size-7 shrink-0" })
265
- ] }),
266
- /* @__PURE__ */ jsxRuntimeExports.jsx("main", { className: "flex min-h-0 flex-1 flex-col", children: /* @__PURE__ */ jsxRuntimeExports.jsx(WorkspaceCenterDockview, { workspaceId, visible: true, wsActive: true, mobile: true }) }),
267
- /* @__PURE__ */ jsxRuntimeExports.jsxs("nav", { className: "flex h-[calc(3rem+env(safe-area-inset-bottom))] shrink-0 items-stretch border-t border-border/50 pb-[env(safe-area-inset-bottom)]", "data-testid": "mobile-workspace__bottom-bar", children: [
268
- /* @__PURE__ */ jsxRuntimeExports.jsx(MobileBarButton, { label: "Editor", icon: SquareTerminal, active: view === "editor", onClick: () => setView("editor"), testid: "mobile-workspace__bar--editor" }),
269
- /* @__PURE__ */ jsxRuntimeExports.jsx(MobileBarButton, { label: "Explorer", icon: FolderOpen, active: view === "explorer", onClick: () => setView("explorer"), testid: "mobile-workspace__bar--explorer" }),
270
- /* @__PURE__ */ jsxRuntimeExports.jsx(MobileBarButton, { label: "Changes", icon: GitCompare, active: view === "changes", badge: changeCount, onClick: () => setView("changes"), testid: "mobile-workspace__bar--changes" })
271
- ] }),
272
- /* @__PURE__ */ jsxRuntimeExports.jsx(Sheet, { open: view === "explorer", onOpenChange: (open) => setView(open ? "explorer" : "editor"), children: /* @__PURE__ */ jsxRuntimeExports.jsxs(SheetContent, { side: "bottom", className: "h-[75dvh] p-0", "data-testid": "mobile-workspace__explorer-sheet", children: [
273
- /* @__PURE__ */ jsxRuntimeExports.jsx(SheetTitle, { className: "border-b border-border/50 px-4 py-3 text-sm", children: "Explorer" }),
274
- /* @__PURE__ */ jsxRuntimeExports.jsx(SheetDescription, { className: "sr-only", children: "Browse workspace files and open one in the editor" }),
275
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { "data-testid": "mobile-workspace__explorer-body", className: "min-h-0 flex-1 overflow-auto pb-[env(safe-area-inset-bottom)]", children: /* @__PURE__ */ jsxRuntimeExports.jsx(FileBrowser, { workspaceId, workspacePath, onOpenFile: (p) => openFileLeaf(p), onOpenFilePinned: (p) => openFileLeaf(p), compact: true }) })
276
- ] }) }),
277
- /* @__PURE__ */ jsxRuntimeExports.jsx(Sheet, { open: view === "changes", onOpenChange: (open) => setView(open ? "changes" : "editor"), children: /* @__PURE__ */ jsxRuntimeExports.jsxs(SheetContent, { side: "bottom", className: "h-[75dvh] p-0", "data-testid": "mobile-workspace__changes-sheet", children: [
278
- /* @__PURE__ */ jsxRuntimeExports.jsx(SheetTitle, { className: "border-b border-border/50 px-4 py-3 text-sm", children: "Changes" }),
279
- /* @__PURE__ */ jsxRuntimeExports.jsx(SheetDescription, { className: "sr-only", children: "Browse changed files and open one as a diff" }),
280
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { "data-testid": "mobile-workspace__changes-body", className: "min-h-0 flex-1 overflow-auto pb-[env(safe-area-inset-bottom)]", children: changeCount === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "px-3 py-2 text-xs text-muted-foreground", children: "No changes" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ChangesFileTree, { fileStatuses, onSelectFile: openDiffLeaf, onSelectFilePinned: openDiffLeaf, workspacePath }) })
281
- ] }) }),
282
- /* @__PURE__ */ jsxRuntimeExports.jsx(QuickOpenDialog, { workspaceId, open: quickOpenOpen, onOpenChange: (open) => {
283
- setQuickOpenOpen(open);
284
- if (!open) setQuickOpenQuery(void 0);
285
- }, onOpenFile: handleOpenFile, initialQuery: quickOpenQuery, autoOpen: quickOpenQuery != null }),
286
- /* @__PURE__ */ jsxRuntimeExports.jsx(SearchFilesDialog, { workspaceId, open: searchFilesOpen, onOpenChange: setSearchFilesOpen, onOpenFile: handleOpenFile }),
287
- /* @__PURE__ */ jsxRuntimeExports.jsx(WorkspacePickerDialog, { open: pickerOpen, onOpenChange: setPickerOpen }),
288
- /* @__PURE__ */ jsxRuntimeExports.jsx(Sheet, { open: projectListOpen, onOpenChange: setProjectListOpen, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
289
- SheetContent,
290
- {
291
- side: "left",
292
- showCloseButton: false,
293
- "data-testid": "project-list-flyout",
294
- onOpenAutoFocus: (e) => {
295
- e.preventDefault();
296
- e.currentTarget?.focus();
297
- },
298
- children: [
299
- /* @__PURE__ */ jsxRuntimeExports.jsx(SheetTitle, { className: "sr-only", children: "Projects" }),
300
- /* @__PURE__ */ jsxRuntimeExports.jsx(SheetDescription, { className: "sr-only", children: "Browse projects and open a workspace" }),
301
- /* @__PURE__ */ jsxRuntimeExports.jsx(ToolbarOverflowProvider, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(DashboardShell, { bottomActions: /* @__PURE__ */ jsxRuntimeExports.jsx(ToolbarActionBar, {}), hideTitleBar: true, padBottomInset: true }) })
302
- ]
303
- }
304
- ) })
305
- ] });
306
- }
307
- export {
308
- WorkspaceLayout as component
309
- };