@band-app/server 0.8.0 → 0.9.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 (168) hide show
  1. package/dist/client/assets/{DockviewTerminalContainer-BpFVSRxD.js → DockviewTerminalContainer-DTMR0Pwz.js} +2 -2
  2. package/dist/client/assets/{TerminalPanel-BntKxpyp.js → TerminalPanel-P0Ue9bhc.js} +1 -1
  3. package/dist/client/assets/{_basePickBy-DF5xdsrk.js → _basePickBy-DJWAkaF0.js} +1 -1
  4. package/dist/client/assets/{_baseUniq-CoueVsbE.js → _baseUniq-FEm9-P2D.js} +1 -1
  5. package/dist/client/assets/{arc-BFzNwh12.js → arc-CPPy8LJ7.js} +1 -1
  6. package/dist/client/assets/{architectureDiagram-VXUJARFQ-By7wadQM.js → architectureDiagram-VXUJARFQ-CnVtE-oS.js} +1 -1
  7. package/dist/client/assets/{blockDiagram-VD42YOAC-BC_1TUzk.js → blockDiagram-VD42YOAC-B-RhgMhe.js} +1 -1
  8. package/dist/client/assets/{c4Diagram-YG6GDRKO-BCk4UTN8.js → c4Diagram-YG6GDRKO-B8VrSS8f.js} +1 -1
  9. package/dist/client/assets/channel-B1eOC6X0.js +1 -0
  10. package/dist/client/assets/{chunk-4BX2VUAB-BNQvAlfk.js → chunk-4BX2VUAB-_tB3SRRs.js} +1 -1
  11. package/dist/client/assets/{chunk-55IACEB6-BttquFk4.js → chunk-55IACEB6-v_BTOAps.js} +1 -1
  12. package/dist/client/assets/{chunk-B4BG7PRW-BlpucGaJ.js → chunk-B4BG7PRW-5Px4nD1U.js} +1 -1
  13. package/dist/client/assets/{chunk-DI55MBZ5-Clc7KEpM.js → chunk-DI55MBZ5-DD7BAjfI.js} +1 -1
  14. package/dist/client/assets/{chunk-FMBD7UC4-B4AJ2Dku.js → chunk-FMBD7UC4-DwxW4g8y.js} +1 -1
  15. package/dist/client/assets/{chunk-QN33PNHL-zpQdzj4o.js → chunk-QN33PNHL-Cp7Y9ku0.js} +1 -1
  16. package/dist/client/assets/{chunk-QZHKN3VN-C91vV1DW.js → chunk-QZHKN3VN-ByfjbCRs.js} +1 -1
  17. package/dist/client/assets/{chunk-TZMSLE5B-Cos_2ZyH.js → chunk-TZMSLE5B-Cty3yzGm.js} +1 -1
  18. package/dist/client/assets/classDiagram-2ON5EDUG-U7rVez2A.js +1 -0
  19. package/dist/client/assets/classDiagram-v2-WZHVMYZB-U7rVez2A.js +1 -0
  20. package/dist/client/assets/clone-BPRzYwkw.js +1 -0
  21. package/dist/client/assets/{cose-bilkent-S5V4N54A-DCYrgoD8.js → cose-bilkent-S5V4N54A-CuZNFcRJ.js} +1 -1
  22. package/dist/client/assets/{dagre-6UL2VRFP-M5t81982.js → dagre-6UL2VRFP-ChhVONtn.js} +1 -1
  23. package/dist/client/assets/{diagram-PSM6KHXK-D2Ek6C2z.js → diagram-PSM6KHXK-AKiiqmtg.js} +1 -1
  24. package/dist/client/assets/{diagram-QEK2KX5R-CVWybKcv.js → diagram-QEK2KX5R-DKFD2YXL.js} +1 -1
  25. package/dist/client/assets/{diagram-S2PKOQOG-BCqpWwzq.js → diagram-S2PKOQOG-kKPeG7jX.js} +1 -1
  26. package/dist/client/assets/{erDiagram-Q2GNP2WA-BYtyKpu4.js → erDiagram-Q2GNP2WA-ZnoAiEdS.js} +1 -1
  27. package/dist/client/assets/{flowDiagram-NV44I4VS-DBuUJVnr.js → flowDiagram-NV44I4VS-Baxcbjc5.js} +1 -1
  28. package/dist/client/assets/{ganttDiagram-JELNMOA3-BsFBEaF2.js → ganttDiagram-JELNMOA3-CBb3nHo0.js} +1 -1
  29. package/dist/client/assets/{gitGraphDiagram-V2S2FVAM-7exAUrbl.js → gitGraphDiagram-V2S2FVAM-BTFZnSDI.js} +1 -1
  30. package/dist/client/assets/{graph-Du1niQqO.js → graph-MrEC2xKX.js} +1 -1
  31. package/dist/client/assets/{highlighted-body-B3W2YXNL-DvSWBwhR.js → highlighted-body-B3W2YXNL-BS2hJfWh.js} +1 -1
  32. package/dist/client/assets/{index-B8zm4Wn1.js → index-7DARDVRb.js} +1 -1
  33. package/dist/client/assets/{index-FzJ61zmb.js → index-BDN9e11q.js} +1 -1
  34. package/dist/client/assets/{index-CuPxzY7a.js → index-B_GvXb7m.js} +1 -1
  35. package/dist/client/assets/{index-PcpmPUME.js → index-BdJiXI-P.js} +1 -1
  36. package/dist/client/assets/{index-riX__uwi.js → index-CBisgMx2.js} +1 -1
  37. package/dist/client/assets/{index-BhNPdWcD.js → index-CIdqPvjZ.js} +1 -1
  38. package/dist/client/assets/{index-wMCMKab0.js → index-CVRHdbPK.js} +1 -1
  39. package/dist/client/assets/{index-bTf5A-ZO.js → index-CVeoY9iI.js} +1 -1
  40. package/dist/client/assets/{index-BT08YowC.js → index-CfEE8a0_.js} +1 -1
  41. package/dist/client/assets/{index-DiLsWyyw.js → index-Ch0l8OjM.js} +1 -1
  42. package/dist/client/assets/{index-DAZesMJA.js → index-CuQunDRR.js} +1 -1
  43. package/dist/client/assets/{index-Q9Papv40.js → index-D4NhPj-o.js} +1 -1
  44. package/dist/client/assets/{index-BXV8DVgO.js → index-DDMeeyZ8.js} +1 -1
  45. package/dist/client/assets/{index-Dub-xnlF.js → index-DJQTsQGO.js} +1 -1
  46. package/dist/client/assets/{index-DsX632ci.js → index-DOXhz9pD.js} +1 -1
  47. package/dist/client/assets/{index-DvN4Pfwf.js → index-VXPLEG91.js} +1 -1
  48. package/dist/client/assets/{index-Bel4N-0p.js → index-aPJvCOPb.js} +1 -1
  49. package/dist/client/assets/{index-qlT4M9zl.js → index-rV38Cr7z.js} +1 -1
  50. package/dist/client/assets/{infoDiagram-HS3SLOUP-ClKnBgfU.js → infoDiagram-HS3SLOUP-oFwyD78x.js} +1 -1
  51. package/dist/client/assets/{journeyDiagram-XKPGCS4Q-ptjlJtex.js → journeyDiagram-XKPGCS4Q-lo9DdnCu.js} +1 -1
  52. package/dist/client/assets/{kanban-definition-3W4ZIXB7-Dqk-kV2N.js → kanban-definition-3W4ZIXB7-4rwLVKZW.js} +1 -1
  53. package/dist/client/assets/{layout-PMiGD6HA.js → layout-1mxSpUNJ.js} +1 -1
  54. package/dist/client/assets/{linear-BRPhIkB4.js → linear-Dkz4-xmm.js} +1 -1
  55. package/dist/client/assets/{main-ssLEzQJf.js → main-3mnrWI33.js} +224 -224
  56. package/dist/client/assets/main-CFEKOhg6.css +1 -0
  57. package/dist/client/assets/{mindmap-definition-VGOIOE7T-CKiZT-9L.js → mindmap-definition-VGOIOE7T-C9DGZ2wo.js} +1 -1
  58. package/dist/client/assets/{pieDiagram-ADFJNKIX-BtN0lt7V.js → pieDiagram-ADFJNKIX-CIJsYcr_.js} +1 -1
  59. package/dist/client/assets/{quadrantDiagram-AYHSOK5B-064IuExP.js → quadrantDiagram-AYHSOK5B-LYETacVk.js} +1 -1
  60. package/dist/client/assets/{requirementDiagram-UZGBJVZJ-DfSwHkne.js → requirementDiagram-UZGBJVZJ-QMgoQzIc.js} +1 -1
  61. package/dist/client/assets/{sankeyDiagram-TZEHDZUN-CkEgokt8.js → sankeyDiagram-TZEHDZUN-BR64MzNX.js} +1 -1
  62. package/dist/client/assets/{sequenceDiagram-WL72ISMW-B8GUQ9mm.js → sequenceDiagram-WL72ISMW-B1Wc3LIZ.js} +1 -1
  63. package/dist/client/assets/{square-terminal-voIzqAV1.js → square-terminal-VVrCccPf.js} +1 -1
  64. package/dist/client/assets/{stateDiagram-FKZM4ZOC-BvI2n1mZ.js → stateDiagram-FKZM4ZOC-Bimijufb.js} +1 -1
  65. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-CWzs2bwO.js +1 -0
  66. package/dist/client/assets/{timeline-definition-IT6M3QCI-2QHGwOvE.js → timeline-definition-IT6M3QCI-CaCnBJch.js} +1 -1
  67. package/dist/client/assets/{treemap-GDKQZRPO-Cnr0AhFV.js → treemap-GDKQZRPO-CeDCW21U.js} +1 -1
  68. package/dist/client/assets/{useSessionListContext-BxG0jHjf.js → useSessionListContext-DsCz19Pd.js} +1 -1
  69. package/dist/client/assets/{workspace._workspaceId-C6DFXubr.js → workspace._workspaceId-C8WDf9jx.js} +1 -1
  70. package/dist/client/assets/{workspace._workspaceId.changes-B8i4zvL_.js → workspace._workspaceId.changes-upws5-8z.js} +1 -1
  71. package/dist/client/assets/workspace._workspaceId.code-Lxdwg6nV.js +1 -0
  72. package/dist/client/assets/{workspace._workspaceId.code._-BIhs37Mu.js → workspace._workspaceId.code._-Ceg9Aq5G.js} +1 -1
  73. package/dist/client/assets/{workspace._workspaceId.code.index-YAGicxpL.js → workspace._workspaceId.code.index-ClXlPUEL.js} +1 -1
  74. package/dist/client/assets/{workspace._workspaceId.index-CzEuNQ6a.js → workspace._workspaceId.index-e__7t5a1.js} +1 -1
  75. package/dist/client/assets/{workspace._workspaceId.terminal-CrGI8r-m.js → workspace._workspaceId.terminal-DHlQ0uu7.js} +2 -2
  76. package/dist/client/assets/{xychartDiagram-PRI3JC2R-C6jlfQdQ.js → xychartDiagram-PRI3JC2R-U_1LNIry.js} +1 -1
  77. package/dist/server/assets/{DockviewTerminalContainer-Dyp-rCDV.js → DockviewTerminalContainer-BCSFPnwD.js} +3 -3
  78. package/dist/server/assets/{TerminalPanel-Bn1gtOEI.js → TerminalPanel-Da-2bxgG.js} +1 -1
  79. package/dist/server/assets/{_basePickBy-BnJ4ajzM.js → _basePickBy-SBHiqTXX.js} +2 -2
  80. package/dist/server/assets/{_baseUniq-BeWm3tGf.js → _baseUniq-DPIyDr4x.js} +1 -1
  81. package/dist/server/assets/{_tanstack-start-manifest_v-D3hMj8OZ.js → _tanstack-start-manifest_v-C_DVF4Z3.js} +1 -1
  82. package/dist/server/assets/{arc-BlpfkuC0.js → arc-ZDC2L6mg.js} +1 -1
  83. package/dist/server/assets/{architecture-7HQA4BMR-BJ7ewH5u.js → architecture-7HQA4BMR-CB5Azb5t.js} +6 -6
  84. package/dist/server/assets/{architectureDiagram-VXUJARFQ-TRCw2ugF.js → architectureDiagram-VXUJARFQ-Qsrsg-uI.js} +6 -6
  85. package/dist/server/assets/{blockDiagram-VD42YOAC-Dh9a8aso.js → blockDiagram-VD42YOAC-CP4tRTmG.js} +6 -6
  86. package/dist/server/assets/{c4Diagram-YG6GDRKO-BrRKberj.js → c4Diagram-YG6GDRKO-B6OsjqeL.js} +2 -2
  87. package/dist/server/assets/{channel-o5SG-fgD.js → channel-BJqsX8gK.js} +1 -1
  88. package/dist/server/assets/{chunk-4BX2VUAB-B4PS8pUF.js → chunk-4BX2VUAB-DzxL-Vlj.js} +1 -1
  89. package/dist/server/assets/{chunk-55IACEB6-By5B62Vv.js → chunk-55IACEB6-BznKDRi0.js} +1 -1
  90. package/dist/server/assets/{chunk-B4BG7PRW-DQCDsnub.js → chunk-B4BG7PRW-c8DbjAi7.js} +4 -4
  91. package/dist/server/assets/{chunk-DI55MBZ5-MMKD3vhO.js → chunk-DI55MBZ5-DYkuYgNP.js} +3 -3
  92. package/dist/server/assets/{chunk-FMBD7UC4-CGSmUkeN.js → chunk-FMBD7UC4-D3Myc1HK.js} +1 -1
  93. package/dist/server/assets/{chunk-QN33PNHL-DtOY2Tk4.js → chunk-QN33PNHL-DdNxAwkp.js} +1 -1
  94. package/dist/server/assets/{chunk-QZHKN3VN-CEBb15S0.js → chunk-QZHKN3VN-TJbRnd9f.js} +1 -1
  95. package/dist/server/assets/{chunk-TZMSLE5B-BR7Wfzu-.js → chunk-TZMSLE5B-CxQdoi6h.js} +1 -1
  96. package/dist/server/assets/{classDiagram-v2-WZHVMYZB-CVGo_62f.js → classDiagram-2ON5EDUG-IOVBIWh6.js} +5 -5
  97. package/dist/server/assets/{classDiagram-2ON5EDUG-CVGo_62f.js → classDiagram-v2-WZHVMYZB-IOVBIWh6.js} +5 -5
  98. package/dist/server/assets/{clone-Dava77iI.js → clone-A7GSbvNR.js} +1 -1
  99. package/dist/server/assets/{cose-bilkent-S5V4N54A-C_1AzHCC.js → cose-bilkent-S5V4N54A-BbaFLHYm.js} +1 -1
  100. package/dist/server/assets/{dagre-6UL2VRFP-Boln2sn2.js → dagre-6UL2VRFP-Bp8x8Mkv.js} +6 -6
  101. package/dist/server/assets/{diagram-PSM6KHXK-BJe9rht3.js → diagram-PSM6KHXK-ZKIV5gl5.js} +7 -7
  102. package/dist/server/assets/{diagram-QEK2KX5R-CGNcKosm.js → diagram-QEK2KX5R-ENECOyQd.js} +6 -6
  103. package/dist/server/assets/{diagram-S2PKOQOG-KHkj72ld.js → diagram-S2PKOQOG-7SMgq4LB.js} +6 -6
  104. package/dist/server/assets/{erDiagram-Q2GNP2WA-CQPyD9EF.js → erDiagram-Q2GNP2WA-mHeHQZph.js} +4 -4
  105. package/dist/server/assets/{flowDiagram-NV44I4VS-vyBoOcPY.js → flowDiagram-NV44I4VS-pTU34caI.js} +5 -5
  106. package/dist/server/assets/{ganttDiagram-JELNMOA3-DzN3kslF.js → ganttDiagram-JELNMOA3-B9-9mkf4.js} +2 -2
  107. package/dist/server/assets/{gitGraph-G5XIXVHT-B2GLfoRF.js → gitGraph-G5XIXVHT-68r2EbJb.js} +6 -6
  108. package/dist/server/assets/{gitGraphDiagram-V2S2FVAM-B5EDhgt0.js → gitGraphDiagram-V2S2FVAM-CXj_hNTZ.js} +7 -7
  109. package/dist/server/assets/{graph-DM2YnSRF.js → graph--fuCvixs.js} +2 -2
  110. package/dist/server/assets/{highlighted-body-B3W2YXNL-h_Fr1oTy.js → highlighted-body-B3W2YXNL-DJufNUHF.js} +1 -1
  111. package/dist/server/assets/{index-DafoxTP2.js → index-AsjLe9eZ.js} +2 -2
  112. package/dist/server/assets/{index-DnQXmsaa.js → index-B4cboZEK.js} +2 -2
  113. package/dist/server/assets/{index-CS6JuHB3.js → index-B6HcpJov.js} +5 -5
  114. package/dist/server/assets/{index-BIDr1DTu.js → index-BMhls_mP.js} +3 -3
  115. package/dist/server/assets/{index-C-1szG3T.js → index-BSPyhc2t.js} +2 -2
  116. package/dist/server/assets/{index-BiZndo5l.js → index-BY__qPtY.js} +1 -1
  117. package/dist/server/assets/{index-DQxHX7Lv.js → index-BolAqCkn.js} +2 -2
  118. package/dist/server/assets/{index-DknBLjbj.js → index-CQ3_WP_c.js} +2 -2
  119. package/dist/server/assets/{index-DBmY9Kl-.js → index-C_FHzNiq.js} +2 -2
  120. package/dist/server/assets/{index-DgHW7UNt.js → index-CfPJkLrt.js} +2 -2
  121. package/dist/server/assets/{index-DDLILDN_.js → index-ChucNhe1.js} +5 -5
  122. package/dist/server/assets/{index-WTleB0lf.js → index-Ctq8nouX.js} +2 -2
  123. package/dist/server/assets/{index-B0FUh3Pc.js → index-D9dAcVgg.js} +1 -1
  124. package/dist/server/assets/{index-EvPsdhYL.js → index-DA-nC30D.js} +2 -2
  125. package/dist/server/assets/{index-BsJzTvSJ.js → index-DgRltpic.js} +4 -4
  126. package/dist/server/assets/{index-DbAlA7HO.js → index-FBfgxNp1.js} +3 -3
  127. package/dist/server/assets/{index-xaaGh4ls.js → index-JauattMS.js} +2 -2
  128. package/dist/server/assets/{index-no5gnAsf.js → index-thBo3ZQF.js} +2 -2
  129. package/dist/server/assets/{info-VBDWY6EO-BSVsdtnm.js → info-VBDWY6EO-DY1jJr3X.js} +6 -6
  130. package/dist/server/assets/{infoDiagram-HS3SLOUP-DbxrgmBd.js → infoDiagram-HS3SLOUP-B6M5J7al.js} +5 -5
  131. package/dist/server/assets/{journeyDiagram-XKPGCS4Q-PyE_5Gmw.js → journeyDiagram-XKPGCS4Q-DlXB8U9o.js} +4 -4
  132. package/dist/server/assets/{kanban-definition-3W4ZIXB7-PMuJIj2B.js → kanban-definition-3W4ZIXB7-C17kXkGE.js} +2 -2
  133. package/dist/server/assets/{layout-B67zHI7Q.js → layout-DtjOA0vY.js} +4 -4
  134. package/dist/server/assets/{linear-D86t5s_z.js → linear-m15QQpKT.js} +1 -1
  135. package/dist/server/assets/{mermaid-3ZIDBTTL-Bm5x4pKu.js → mermaid-3ZIDBTTL-DshSJqMO.js} +1 -1
  136. package/dist/server/assets/{mermaid-parser.core-CrQ4TUTQ.js → mermaid-parser.core-LDgr4CW-.js} +11 -11
  137. package/dist/server/assets/{mindmap-definition-VGOIOE7T-CS-q_lU-.js → mindmap-definition-VGOIOE7T-mtvWltnU.js} +3 -3
  138. package/dist/server/assets/{packet-DYOGHKS2-BhN2HFTO.js → packet-DYOGHKS2-CYYSXK1h.js} +6 -6
  139. package/dist/server/assets/{pie-VRWISCQL-Db-fTydN.js → pie-VRWISCQL-CWqjVMl3.js} +6 -6
  140. package/dist/server/assets/{pieDiagram-ADFJNKIX-jACR3wDP.js → pieDiagram-ADFJNKIX-Dp5PMO-9.js} +7 -7
  141. package/dist/server/assets/{quadrantDiagram-AYHSOK5B-BuOoP_Hg.js → quadrantDiagram-AYHSOK5B-Emk5w_FF.js} +2 -2
  142. package/dist/server/assets/{radar-ZZBFDIW7-DTdnWlmn.js → radar-ZZBFDIW7-C4fGyCNG.js} +6 -6
  143. package/dist/server/assets/{requirementDiagram-UZGBJVZJ-XXmbIh8u.js → requirementDiagram-UZGBJVZJ-BFx3mPBU.js} +3 -3
  144. package/dist/server/assets/{router-D6T53n2M.js → router-B9HVgTRx.js} +870 -366
  145. package/dist/server/assets/{sankeyDiagram-TZEHDZUN-DDyaGWkS.js → sankeyDiagram-TZEHDZUN-CdhDQVra.js} +1 -1
  146. package/dist/server/assets/{sequenceDiagram-WL72ISMW-GTC4KppE.js → sequenceDiagram-WL72ISMW-D5nqoNmF.js} +3 -3
  147. package/dist/server/assets/{square-terminal-DaAOn53I.js → square-terminal-D-98qeQh.js} +1 -1
  148. package/dist/server/assets/{stateDiagram-FKZM4ZOC-BxYN7guF.js → stateDiagram-FKZM4ZOC-DegPKhzE.js} +8 -8
  149. package/dist/server/assets/{stateDiagram-v2-4FDKWEC3-BNKwWfxp.js → stateDiagram-v2-4FDKWEC3-CyBVK9Nd.js} +4 -4
  150. package/dist/server/assets/{timeline-definition-IT6M3QCI-CA7TxBUn.js → timeline-definition-IT6M3QCI-tvTSRDgB.js} +2 -2
  151. package/dist/server/assets/{treemap-GDKQZRPO-CiJPF4Eo.js → treemap-GDKQZRPO-5-jKUpIN.js} +6 -6
  152. package/dist/server/assets/{workspace._workspaceId-C936_ZgM.js → workspace._workspaceId-CePk4lAs.js} +2 -2
  153. package/dist/server/assets/{workspace._workspaceId.changes-CH3KFMSq.js → workspace._workspaceId.changes-Cu_-SRPF.js} +1 -1
  154. package/dist/server/assets/{workspace._workspaceId.code._-BuovU8kl.js → workspace._workspaceId.code._-C5FPkpSY.js} +1 -1
  155. package/dist/server/assets/{workspace._workspaceId.code.index-BHzxCT1V.js → workspace._workspaceId.code.index-Crmc16LI.js} +1 -1
  156. package/dist/server/assets/{workspace._workspaceId.index-86dKrOT8.js → workspace._workspaceId.index-xl9QlCX1.js} +1 -1
  157. package/dist/server/assets/{workspace._workspaceId.terminal-BAeUoj6m.js → workspace._workspaceId.terminal-wcBXHH_7.js} +2 -2
  158. package/dist/server/assets/{xychartDiagram-PRI3JC2R-BmMwldTO.js → xychartDiagram-PRI3JC2R-CniJ7uun.js} +2 -2
  159. package/dist/server/server.js +2 -2
  160. package/dist/start-server.mjs +300 -123
  161. package/package.json +5 -5
  162. package/dist/client/assets/channel-CFM6cryD.js +0 -1
  163. package/dist/client/assets/classDiagram-2ON5EDUG-CZiRGipy.js +0 -1
  164. package/dist/client/assets/classDiagram-v2-WZHVMYZB-CZiRGipy.js +0 -1
  165. package/dist/client/assets/clone-Bre_bsCp.js +0 -1
  166. package/dist/client/assets/main-DsI295kl.css +0 -1
  167. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-D8yWUoXF.js +0 -1
  168. package/dist/client/assets/workspace._workspaceId.code-CX8MyOEp.js +0 -1
@@ -1093,44 +1093,44 @@ const createLucideIcon = (iconName, iconNode) => {
1093
1093
  Component.displayName = toPascalCase(iconName);
1094
1094
  return Component;
1095
1095
  };
1096
- const __iconNode$1o = [
1096
+ const __iconNode$1p = [
1097
1097
  ["path", { d: "M12 17V3", key: "1cwfxf" }],
1098
1098
  ["path", { d: "m6 11 6 6 6-6", key: "12ii2o" }],
1099
1099
  ["path", { d: "M19 21H5", key: "150jfl" }]
1100
1100
  ];
1101
- const ArrowDownToLine = createLucideIcon("arrow-down-to-line", __iconNode$1o);
1102
- const __iconNode$1n = [
1101
+ const ArrowDownToLine = createLucideIcon("arrow-down-to-line", __iconNode$1p);
1102
+ const __iconNode$1o = [
1103
1103
  ["path", { d: "M12 5v14", key: "s699le" }],
1104
1104
  ["path", { d: "m19 12-7 7-7-7", key: "1idqje" }]
1105
1105
  ];
1106
- const ArrowDown = createLucideIcon("arrow-down", __iconNode$1n);
1107
- const __iconNode$1m = [
1106
+ const ArrowDown = createLucideIcon("arrow-down", __iconNode$1o);
1107
+ const __iconNode$1n = [
1108
1108
  ["path", { d: "m12 19-7-7 7-7", key: "1l729n" }],
1109
1109
  ["path", { d: "M19 12H5", key: "x3x0zl" }]
1110
1110
  ];
1111
- const ArrowLeft = createLucideIcon("arrow-left", __iconNode$1m);
1112
- const __iconNode$1l = [
1111
+ const ArrowLeft = createLucideIcon("arrow-left", __iconNode$1n);
1112
+ const __iconNode$1m = [
1113
1113
  ["path", { d: "M5 12h14", key: "1ays0h" }],
1114
1114
  ["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }]
1115
1115
  ];
1116
- const ArrowRight = createLucideIcon("arrow-right", __iconNode$1l);
1117
- const __iconNode$1k = [
1116
+ const ArrowRight = createLucideIcon("arrow-right", __iconNode$1m);
1117
+ const __iconNode$1l = [
1118
1118
  ["path", { d: "m18 9-6-6-6 6", key: "kcunyi" }],
1119
1119
  ["path", { d: "M12 3v14", key: "7cf3v8" }],
1120
1120
  ["path", { d: "M5 21h14", key: "11awu3" }]
1121
1121
  ];
1122
- const ArrowUpFromLine = createLucideIcon("arrow-up-from-line", __iconNode$1k);
1123
- const __iconNode$1j = [
1122
+ const ArrowUpFromLine = createLucideIcon("arrow-up-from-line", __iconNode$1l);
1123
+ const __iconNode$1k = [
1124
1124
  ["path", { d: "m5 12 7-7 7 7", key: "hav0vg" }],
1125
1125
  ["path", { d: "M12 19V5", key: "x0mq9r" }]
1126
1126
  ];
1127
- const ArrowUp = createLucideIcon("arrow-up", __iconNode$1j);
1128
- const __iconNode$1i = [
1127
+ const ArrowUp = createLucideIcon("arrow-up", __iconNode$1k);
1128
+ const __iconNode$1j = [
1129
1129
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
1130
1130
  ["path", { d: "M4.929 4.929 19.07 19.071", key: "196cmz" }]
1131
1131
  ];
1132
- const Ban = createLucideIcon("ban", __iconNode$1i);
1133
- const __iconNode$1h = [
1132
+ const Ban = createLucideIcon("ban", __iconNode$1j);
1133
+ const __iconNode$1i = [
1134
1134
  ["path", { d: "M12 8V4H8", key: "hb8ula" }],
1135
1135
  ["rect", { width: "16", height: "12", x: "4", y: "8", rx: "2", key: "enze0r" }],
1136
1136
  ["path", { d: "M2 14h2", key: "vft8re" }],
@@ -1138,8 +1138,8 @@ const __iconNode$1h = [
1138
1138
  ["path", { d: "M15 13v2", key: "1xurst" }],
1139
1139
  ["path", { d: "M9 13v2", key: "rq6x2g" }]
1140
1140
  ];
1141
- const Bot = createLucideIcon("bot", __iconNode$1h);
1142
- const __iconNode$1g = [
1141
+ const Bot = createLucideIcon("bot", __iconNode$1i);
1142
+ const __iconNode$1h = [
1143
1143
  [
1144
1144
  "path",
1145
1145
  { d: "M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1", key: "ezmyqa" }
@@ -1152,54 +1152,54 @@ const __iconNode$1g = [
1152
1152
  }
1153
1153
  ]
1154
1154
  ];
1155
- const Braces = createLucideIcon("braces", __iconNode$1g);
1156
- const __iconNode$1f = [
1155
+ const Braces = createLucideIcon("braces", __iconNode$1h);
1156
+ const __iconNode$1g = [
1157
1157
  ["path", { d: "m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16", key: "d5nyq2" }],
1158
1158
  ["path", { d: "M22 9v7", key: "pvm9v3" }],
1159
1159
  ["path", { d: "M3.304 13h6.392", key: "1q3zxz" }],
1160
1160
  ["circle", { cx: "18.5", cy: "12.5", r: "3.5", key: "z97x68" }]
1161
1161
  ];
1162
- const CaseSensitive = createLucideIcon("case-sensitive", __iconNode$1f);
1163
- const __iconNode$1e = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
1164
- const Check = createLucideIcon("check", __iconNode$1e);
1165
- const __iconNode$1d = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
1166
- const ChevronDown = createLucideIcon("chevron-down", __iconNode$1d);
1167
- const __iconNode$1c = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
1168
- const ChevronLeft = createLucideIcon("chevron-left", __iconNode$1c);
1169
- const __iconNode$1b = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
1170
- const ChevronRight = createLucideIcon("chevron-right", __iconNode$1b);
1171
- const __iconNode$1a = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
1172
- const ChevronUp = createLucideIcon("chevron-up", __iconNode$1a);
1173
- const __iconNode$19 = [
1162
+ const CaseSensitive = createLucideIcon("case-sensitive", __iconNode$1g);
1163
+ const __iconNode$1f = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
1164
+ const Check = createLucideIcon("check", __iconNode$1f);
1165
+ const __iconNode$1e = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
1166
+ const ChevronDown = createLucideIcon("chevron-down", __iconNode$1e);
1167
+ const __iconNode$1d = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
1168
+ const ChevronLeft = createLucideIcon("chevron-left", __iconNode$1d);
1169
+ const __iconNode$1c = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
1170
+ const ChevronRight = createLucideIcon("chevron-right", __iconNode$1c);
1171
+ const __iconNode$1b = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
1172
+ const ChevronUp = createLucideIcon("chevron-up", __iconNode$1b);
1173
+ const __iconNode$1a = [
1174
1174
  ["path", { d: "m7 20 5-5 5 5", key: "13a0gw" }],
1175
1175
  ["path", { d: "m7 4 5 5 5-5", key: "1kwcof" }]
1176
1176
  ];
1177
- const ChevronsDownUp = createLucideIcon("chevrons-down-up", __iconNode$19);
1178
- const __iconNode$18 = [
1177
+ const ChevronsDownUp = createLucideIcon("chevrons-down-up", __iconNode$1a);
1178
+ const __iconNode$19 = [
1179
1179
  ["path", { d: "m7 15 5 5 5-5", key: "1hf1tw" }],
1180
1180
  ["path", { d: "m7 9 5-5 5 5", key: "sgt6xg" }]
1181
1181
  ];
1182
- const ChevronsUpDown = createLucideIcon("chevrons-up-down", __iconNode$18);
1183
- const __iconNode$17 = [
1182
+ const ChevronsUpDown = createLucideIcon("chevrons-up-down", __iconNode$19);
1183
+ const __iconNode$18 = [
1184
1184
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
1185
1185
  ["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
1186
1186
  ["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
1187
1187
  ];
1188
- const CircleAlert = createLucideIcon("circle-alert", __iconNode$17);
1189
- const __iconNode$16 = [
1188
+ const CircleAlert = createLucideIcon("circle-alert", __iconNode$18);
1189
+ const __iconNode$17 = [
1190
1190
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
1191
1191
  ["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
1192
1192
  ];
1193
- const CircleCheck = createLucideIcon("circle-check", __iconNode$16);
1194
- const __iconNode$15 = [
1193
+ const CircleCheck = createLucideIcon("circle-check", __iconNode$17);
1194
+ const __iconNode$16 = [
1195
1195
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
1196
1196
  ["path", { d: "m15 9-6 6", key: "1uzhvr" }],
1197
1197
  ["path", { d: "m9 9 6 6", key: "z0biqf" }]
1198
1198
  ];
1199
- const CircleX = createLucideIcon("circle-x", __iconNode$15);
1200
- const __iconNode$14 = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
1201
- const Circle = createLucideIcon("circle", __iconNode$14);
1202
- const __iconNode$13 = [
1199
+ const CircleX = createLucideIcon("circle-x", __iconNode$16);
1200
+ const __iconNode$15 = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
1201
+ const Circle = createLucideIcon("circle", __iconNode$15);
1202
+ const __iconNode$14 = [
1203
1203
  ["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", ry: "1", key: "tgr4d6" }],
1204
1204
  [
1205
1205
  "path",
@@ -1209,59 +1209,59 @@ const __iconNode$13 = [
1209
1209
  }
1210
1210
  ]
1211
1211
  ];
1212
- const Clipboard = createLucideIcon("clipboard", __iconNode$13);
1213
- const __iconNode$12 = [
1212
+ const Clipboard = createLucideIcon("clipboard", __iconNode$14);
1213
+ const __iconNode$13 = [
1214
1214
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
1215
1215
  ["path", { d: "M12 6v6l4 2", key: "mmk7yg" }]
1216
1216
  ];
1217
- const Clock = createLucideIcon("clock", __iconNode$12);
1218
- const __iconNode$11 = [
1217
+ const Clock = createLucideIcon("clock", __iconNode$13);
1218
+ const __iconNode$12 = [
1219
1219
  ["path", { d: "m18 16 4-4-4-4", key: "1inbqp" }],
1220
1220
  ["path", { d: "m6 8-4 4 4 4", key: "15zrgr" }],
1221
1221
  ["path", { d: "m14.5 4-5 16", key: "e7oirm" }]
1222
1222
  ];
1223
- const CodeXml = createLucideIcon("code-xml", __iconNode$11);
1224
- const __iconNode$10 = [
1223
+ const CodeXml = createLucideIcon("code-xml", __iconNode$12);
1224
+ const __iconNode$11 = [
1225
1225
  ["path", { d: "m16 18 6-6-6-6", key: "eg8j8" }],
1226
1226
  ["path", { d: "m8 6-6 6 6 6", key: "ppft3o" }]
1227
1227
  ];
1228
- const Code = createLucideIcon("code", __iconNode$10);
1229
- const __iconNode$$ = [
1228
+ const Code = createLucideIcon("code", __iconNode$11);
1229
+ const __iconNode$10 = [
1230
1230
  ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
1231
1231
  ["path", { d: "M12 3v18", key: "108xh3" }]
1232
1232
  ];
1233
- const Columns2 = createLucideIcon("columns-2", __iconNode$$);
1234
- const __iconNode$_ = [
1233
+ const Columns2 = createLucideIcon("columns-2", __iconNode$10);
1234
+ const __iconNode$$ = [
1235
1235
  [
1236
1236
  "path",
1237
1237
  { d: "M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3", key: "11bfej" }
1238
1238
  ]
1239
1239
  ];
1240
- const Command$1 = createLucideIcon("command", __iconNode$_);
1241
- const __iconNode$Z = [
1240
+ const Command$1 = createLucideIcon("command", __iconNode$$);
1241
+ const __iconNode$_ = [
1242
1242
  ["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
1243
1243
  ["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
1244
1244
  ];
1245
- const Copy = createLucideIcon("copy", __iconNode$Z);
1246
- const __iconNode$Y = [
1245
+ const Copy = createLucideIcon("copy", __iconNode$_);
1246
+ const __iconNode$Z = [
1247
1247
  ["ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", key: "msslwz" }],
1248
1248
  ["path", { d: "M3 5V19A9 3 0 0 0 21 19V5", key: "1wlel7" }],
1249
1249
  ["path", { d: "M3 12A9 3 0 0 0 21 12", key: "mv7ke4" }]
1250
1250
  ];
1251
- const Database = createLucideIcon("database", __iconNode$Y);
1252
- const __iconNode$X = [
1251
+ const Database = createLucideIcon("database", __iconNode$Z);
1252
+ const __iconNode$Y = [
1253
1253
  ["path", { d: "M12 15V3", key: "m9g1x1" }],
1254
1254
  ["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
1255
1255
  ["path", { d: "m7 10 5 5 5-5", key: "brsn70" }]
1256
1256
  ];
1257
- const Download = createLucideIcon("download", __iconNode$X);
1258
- const __iconNode$W = [
1257
+ const Download = createLucideIcon("download", __iconNode$Y);
1258
+ const __iconNode$X = [
1259
1259
  ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
1260
1260
  ["circle", { cx: "12", cy: "5", r: "1", key: "gxeob9" }],
1261
1261
  ["circle", { cx: "12", cy: "19", r: "1", key: "lyex9k" }]
1262
1262
  ];
1263
- const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$W);
1264
- const __iconNode$V = [
1263
+ const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$X);
1264
+ const __iconNode$W = [
1265
1265
  ["path", { d: "m15 15 6 6", key: "1s409w" }],
1266
1266
  ["path", { d: "m15 9 6-6", key: "ko1vev" }],
1267
1267
  ["path", { d: "M21 16v5h-5", key: "1ck2sf" }],
@@ -1271,14 +1271,14 @@ const __iconNode$V = [
1271
1271
  ["path", { d: "M3 8V3h5", key: "1ln10m" }],
1272
1272
  ["path", { d: "M9 9 3 3", key: "v551iv" }]
1273
1273
  ];
1274
- const Expand = createLucideIcon("expand", __iconNode$V);
1275
- const __iconNode$U = [
1274
+ const Expand = createLucideIcon("expand", __iconNode$W);
1275
+ const __iconNode$V = [
1276
1276
  ["path", { d: "M15 3h6v6", key: "1q9fwt" }],
1277
1277
  ["path", { d: "M10 14 21 3", key: "gplh6r" }],
1278
1278
  ["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }]
1279
1279
  ];
1280
- const ExternalLink$1 = createLucideIcon("external-link", __iconNode$U);
1281
- const __iconNode$T = [
1280
+ const ExternalLink$1 = createLucideIcon("external-link", __iconNode$V);
1281
+ const __iconNode$U = [
1282
1282
  [
1283
1283
  "path",
1284
1284
  {
@@ -1288,8 +1288,8 @@ const __iconNode$T = [
1288
1288
  ],
1289
1289
  ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
1290
1290
  ];
1291
- const Eye = createLucideIcon("eye", __iconNode$T);
1292
- const __iconNode$S = [
1291
+ const Eye = createLucideIcon("eye", __iconNode$U);
1292
+ const __iconNode$T = [
1293
1293
  [
1294
1294
  "path",
1295
1295
  {
@@ -1307,8 +1307,8 @@ const __iconNode$S = [
1307
1307
  { d: "M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1", key: "mpwhp6" }
1308
1308
  ]
1309
1309
  ];
1310
- const FileBraces = createLucideIcon("file-braces", __iconNode$S);
1311
- const __iconNode$R = [
1310
+ const FileBraces = createLucideIcon("file-braces", __iconNode$T);
1311
+ const __iconNode$S = [
1312
1312
  [
1313
1313
  "path",
1314
1314
  {
@@ -1320,8 +1320,8 @@ const __iconNode$R = [
1320
1320
  ["path", { d: "m5 16-3 3 3 3", key: "331omg" }],
1321
1321
  ["path", { d: "m9 22 3-3-3-3", key: "lsp7cz" }]
1322
1322
  ];
1323
- const FileCodeCorner = createLucideIcon("file-code-corner", __iconNode$R);
1324
- const __iconNode$Q = [
1323
+ const FileCodeCorner = createLucideIcon("file-code-corner", __iconNode$S);
1324
+ const __iconNode$R = [
1325
1325
  [
1326
1326
  "path",
1327
1327
  {
@@ -1332,8 +1332,8 @@ const __iconNode$Q = [
1332
1332
  ["path", { d: "M12 9v4", key: "juzpu7" }],
1333
1333
  ["path", { d: "M12 17h.01", key: "p32p05" }]
1334
1334
  ];
1335
- const FileExclamationPoint = createLucideIcon("file-exclamation-point", __iconNode$Q);
1336
- const __iconNode$P = [
1335
+ const FileExclamationPoint = createLucideIcon("file-exclamation-point", __iconNode$R);
1336
+ const __iconNode$Q = [
1337
1337
  [
1338
1338
  "path",
1339
1339
  {
@@ -1346,8 +1346,8 @@ const __iconNode$P = [
1346
1346
  ["path", { d: "M16 13H8", key: "t4e002" }],
1347
1347
  ["path", { d: "M16 17H8", key: "z1uh3a" }]
1348
1348
  ];
1349
- const FileText = createLucideIcon("file-text", __iconNode$P);
1350
- const __iconNode$O = [
1349
+ const FileText = createLucideIcon("file-text", __iconNode$Q);
1350
+ const __iconNode$P = [
1351
1351
  [
1352
1352
  "path",
1353
1353
  {
@@ -1357,8 +1357,8 @@ const __iconNode$O = [
1357
1357
  ],
1358
1358
  ["path", { d: "M14 2v5a1 1 0 0 0 1 1h5", key: "wfsgrz" }]
1359
1359
  ];
1360
- const File = createLucideIcon("file", __iconNode$O);
1361
- const __iconNode$N = [
1360
+ const File = createLucideIcon("file", __iconNode$P);
1361
+ const __iconNode$O = [
1362
1362
  [
1363
1363
  "path",
1364
1364
  {
@@ -1367,8 +1367,8 @@ const __iconNode$N = [
1367
1367
  }
1368
1368
  ]
1369
1369
  ];
1370
- const FolderOpen = createLucideIcon("folder-open", __iconNode$N);
1371
- const __iconNode$M = [
1370
+ const FolderOpen = createLucideIcon("folder-open", __iconNode$O);
1371
+ const __iconNode$N = [
1372
1372
  ["path", { d: "M12 10v6", key: "1bos4e" }],
1373
1373
  ["path", { d: "M9 13h6", key: "1uhe8q" }],
1374
1374
  [
@@ -1379,8 +1379,8 @@ const __iconNode$M = [
1379
1379
  }
1380
1380
  ]
1381
1381
  ];
1382
- const FolderPlus = createLucideIcon("folder-plus", __iconNode$M);
1383
- const __iconNode$L = [
1382
+ const FolderPlus = createLucideIcon("folder-plus", __iconNode$N);
1383
+ const __iconNode$M = [
1384
1384
  [
1385
1385
  "path",
1386
1386
  {
@@ -1389,8 +1389,8 @@ const __iconNode$L = [
1389
1389
  }
1390
1390
  ]
1391
1391
  ];
1392
- const Folder = createLucideIcon("folder", __iconNode$L);
1393
- const __iconNode$K = [
1392
+ const Folder = createLucideIcon("folder", __iconNode$M);
1393
+ const __iconNode$L = [
1394
1394
  [
1395
1395
  "path",
1396
1396
  {
@@ -1403,13 +1403,19 @@ const __iconNode$K = [
1403
1403
  { d: "M3 8.268a2 2 0 0 0-1 1.738V19a2 2 0 0 0 2 2h11a2 2 0 0 0 1.732-1", key: "yxbcw3" }
1404
1404
  ]
1405
1405
  ];
1406
- const Folders = createLucideIcon("folders", __iconNode$K);
1407
- const __iconNode$J = [
1406
+ const Folders = createLucideIcon("folders", __iconNode$L);
1407
+ const __iconNode$K = [
1408
1408
  ["path", { d: "M15 6a9 9 0 0 0-9 9V3", key: "1cii5b" }],
1409
1409
  ["circle", { cx: "18", cy: "6", r: "3", key: "1h7g24" }],
1410
1410
  ["circle", { cx: "6", cy: "18", r: "3", key: "fqmcym" }]
1411
1411
  ];
1412
- const GitBranch = createLucideIcon("git-branch", __iconNode$J);
1412
+ const GitBranch = createLucideIcon("git-branch", __iconNode$K);
1413
+ const __iconNode$J = [
1414
+ ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }],
1415
+ ["line", { x1: "3", x2: "9", y1: "12", y2: "12", key: "1dyftd" }],
1416
+ ["line", { x1: "15", x2: "21", y1: "12", y2: "12", key: "oup4p8" }]
1417
+ ];
1418
+ const GitCommitHorizontal = createLucideIcon("git-commit-horizontal", __iconNode$J);
1413
1419
  const __iconNode$I = [
1414
1420
  ["circle", { cx: "18", cy: "18", r: "3", key: "1xkwt0" }],
1415
1421
  ["circle", { cx: "6", cy: "6", r: "3", key: "1lh9wr" }],
@@ -1439,15 +1445,6 @@ const __iconNode$F = [
1439
1445
  ];
1440
1446
  const GripHorizontal = createLucideIcon("grip-horizontal", __iconNode$F);
1441
1447
  const __iconNode$E = [
1442
- ["circle", { cx: "9", cy: "12", r: "1", key: "1vctgf" }],
1443
- ["circle", { cx: "9", cy: "5", r: "1", key: "hp0tcf" }],
1444
- ["circle", { cx: "9", cy: "19", r: "1", key: "fkjjf6" }],
1445
- ["circle", { cx: "15", cy: "12", r: "1", key: "1tmaij" }],
1446
- ["circle", { cx: "15", cy: "5", r: "1", key: "19l28e" }],
1447
- ["circle", { cx: "15", cy: "19", r: "1", key: "f4zoj3" }]
1448
- ];
1449
- const GripVertical = createLucideIcon("grip-vertical", __iconNode$E);
1450
- const __iconNode$D = [
1451
1448
  ["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }],
1452
1449
  ["path", { d: "M10.41 10.41a2 2 0 1 1-2.83-2.83", key: "1bzlo9" }],
1453
1450
  ["line", { x1: "13.5", x2: "6", y1: "13.5", y2: "21", key: "1q0aeu" }],
@@ -1461,31 +1458,31 @@ const __iconNode$D = [
1461
1458
  ],
1462
1459
  ["path", { d: "M21 15V5a2 2 0 0 0-2-2H9", key: "43el77" }]
1463
1460
  ];
1464
- const ImageOff = createLucideIcon("image-off", __iconNode$D);
1465
- const __iconNode$C = [
1461
+ const ImageOff = createLucideIcon("image-off", __iconNode$E);
1462
+ const __iconNode$D = [
1466
1463
  ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }],
1467
1464
  ["circle", { cx: "9", cy: "9", r: "2", key: "af1f0g" }],
1468
1465
  ["path", { d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21", key: "1xmnt7" }]
1469
1466
  ];
1470
- const Image$1 = createLucideIcon("image", __iconNode$C);
1471
- const __iconNode$B = [
1467
+ const Image$1 = createLucideIcon("image", __iconNode$D);
1468
+ const __iconNode$C = [
1472
1469
  ["path", { d: "M16 5H3", key: "m91uny" }],
1473
1470
  ["path", { d: "M11 12H3", key: "51ecnj" }],
1474
1471
  ["path", { d: "M16 19H3", key: "zzsher" }],
1475
1472
  ["path", { d: "M21 12h-6", key: "bt1uis" }]
1476
1473
  ];
1477
- const ListMinus = createLucideIcon("list-minus", __iconNode$B);
1478
- const __iconNode$A = [
1474
+ const ListMinus = createLucideIcon("list-minus", __iconNode$C);
1475
+ const __iconNode$B = [
1479
1476
  ["path", { d: "M13 5h8", key: "a7qcls" }],
1480
1477
  ["path", { d: "M13 12h8", key: "h98zly" }],
1481
1478
  ["path", { d: "M13 19h8", key: "c3s6r1" }],
1482
1479
  ["path", { d: "m3 17 2 2 4-4", key: "1jhpwq" }],
1483
1480
  ["rect", { x: "3", y: "4", width: "6", height: "6", rx: "1", key: "cif1o7" }]
1484
1481
  ];
1485
- const ListTodo = createLucideIcon("list-todo", __iconNode$A);
1486
- const __iconNode$z = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
1487
- const LoaderCircle = createLucideIcon("loader-circle", __iconNode$z);
1488
- const __iconNode$y = [
1482
+ const ListTodo = createLucideIcon("list-todo", __iconNode$B);
1483
+ const __iconNode$A = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
1484
+ const LoaderCircle = createLucideIcon("loader-circle", __iconNode$A);
1485
+ const __iconNode$z = [
1489
1486
  ["path", { d: "M12 2v4", key: "3427ic" }],
1490
1487
  ["path", { d: "m16.2 7.8 2.9-2.9", key: "r700ao" }],
1491
1488
  ["path", { d: "M18 12h4", key: "wj9ykh" }],
@@ -1495,26 +1492,26 @@ const __iconNode$y = [
1495
1492
  ["path", { d: "M2 12h4", key: "j09sii" }],
1496
1493
  ["path", { d: "m4.9 4.9 2.9 2.9", key: "giyufr" }]
1497
1494
  ];
1498
- const Loader = createLucideIcon("loader", __iconNode$y);
1499
- const __iconNode$x = [
1495
+ const Loader = createLucideIcon("loader", __iconNode$z);
1496
+ const __iconNode$y = [
1500
1497
  ["rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2", key: "1w4ew1" }],
1501
1498
  ["path", { d: "M7 11V7a5 5 0 0 1 10 0v4", key: "fwvmzm" }]
1502
1499
  ];
1503
- const Lock = createLucideIcon("lock", __iconNode$x);
1504
- const __iconNode$w = [
1500
+ const Lock = createLucideIcon("lock", __iconNode$y);
1501
+ const __iconNode$x = [
1505
1502
  ["path", { d: "M15 3h6v6", key: "1q9fwt" }],
1506
1503
  ["path", { d: "m21 3-7 7", key: "1l2asr" }],
1507
1504
  ["path", { d: "m3 21 7-7", key: "tjx5ai" }],
1508
1505
  ["path", { d: "M9 21H3v-6", key: "wtvkvv" }]
1509
1506
  ];
1510
- const Maximize2 = createLucideIcon("maximize-2", __iconNode$w);
1511
- const __iconNode$v = [
1507
+ const Maximize2 = createLucideIcon("maximize-2", __iconNode$x);
1508
+ const __iconNode$w = [
1512
1509
  ["path", { d: "M4 5h16", key: "1tepv9" }],
1513
1510
  ["path", { d: "M4 12h16", key: "1lakjw" }],
1514
1511
  ["path", { d: "M4 19h16", key: "1djgab" }]
1515
1512
  ];
1516
- const Menu$1 = createLucideIcon("menu", __iconNode$v);
1517
- const __iconNode$u = [
1513
+ const Menu$1 = createLucideIcon("menu", __iconNode$w);
1514
+ const __iconNode$v = [
1518
1515
  [
1519
1516
  "path",
1520
1517
  {
@@ -1523,21 +1520,21 @@ const __iconNode$u = [
1523
1520
  }
1524
1521
  ]
1525
1522
  ];
1526
- const MessageSquare = createLucideIcon("message-square", __iconNode$u);
1527
- const __iconNode$t = [
1523
+ const MessageSquare = createLucideIcon("message-square", __iconNode$v);
1524
+ const __iconNode$u = [
1528
1525
  ["path", { d: "m14 10 7-7", key: "oa77jy" }],
1529
1526
  ["path", { d: "M20 10h-6V4", key: "mjg0md" }],
1530
1527
  ["path", { d: "m3 21 7-7", key: "tjx5ai" }],
1531
1528
  ["path", { d: "M4 14h6v6", key: "rmj7iw" }]
1532
1529
  ];
1533
- const Minimize2 = createLucideIcon("minimize-2", __iconNode$t);
1534
- const __iconNode$s = [
1530
+ const Minimize2 = createLucideIcon("minimize-2", __iconNode$u);
1531
+ const __iconNode$t = [
1535
1532
  ["path", { d: "M9 18V5l12-2v13", key: "1jmyc2" }],
1536
1533
  ["circle", { cx: "6", cy: "18", r: "3", key: "fqmcym" }],
1537
1534
  ["circle", { cx: "18", cy: "16", r: "3", key: "1hluhg" }]
1538
1535
  ];
1539
- const Music = createLucideIcon("music", __iconNode$s);
1540
- const __iconNode$r = [
1536
+ const Music = createLucideIcon("music", __iconNode$t);
1537
+ const __iconNode$s = [
1541
1538
  [
1542
1539
  "path",
1543
1540
  {
@@ -1549,18 +1546,18 @@ const __iconNode$r = [
1549
1546
  ["polyline", { points: "3.29 7 12 12 20.71 7", key: "ousv84" }],
1550
1547
  ["path", { d: "m7.5 4.27 9 5.15", key: "1c824w" }]
1551
1548
  ];
1552
- const Package = createLucideIcon("package", __iconNode$r);
1553
- const __iconNode$q = [
1549
+ const Package = createLucideIcon("package", __iconNode$s);
1550
+ const __iconNode$r = [
1554
1551
  ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
1555
1552
  ["path", { d: "M9 3v18", key: "fh3hqa" }]
1556
1553
  ];
1557
- const PanelLeft = createLucideIcon("panel-left", __iconNode$q);
1558
- const __iconNode$p = [
1554
+ const PanelLeft = createLucideIcon("panel-left", __iconNode$r);
1555
+ const __iconNode$q = [
1559
1556
  ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
1560
1557
  ["path", { d: "M3 9h18", key: "1pudct" }]
1561
1558
  ];
1562
- const PanelTop = createLucideIcon("panel-top", __iconNode$p);
1563
- const __iconNode$o = [
1559
+ const PanelTop = createLucideIcon("panel-top", __iconNode$q);
1560
+ const __iconNode$p = [
1564
1561
  [
1565
1562
  "path",
1566
1563
  {
@@ -1569,8 +1566,8 @@ const __iconNode$o = [
1569
1566
  }
1570
1567
  ]
1571
1568
  ];
1572
- const Paperclip = createLucideIcon("paperclip", __iconNode$o);
1573
- const __iconNode$n = [
1569
+ const Paperclip = createLucideIcon("paperclip", __iconNode$p);
1570
+ const __iconNode$o = [
1574
1571
  [
1575
1572
  "path",
1576
1573
  {
@@ -1580,8 +1577,8 @@ const __iconNode$n = [
1580
1577
  ],
1581
1578
  ["path", { d: "m15 5 4 4", key: "1mk7zo" }]
1582
1579
  ];
1583
- const Pencil = createLucideIcon("pencil", __iconNode$n);
1584
- const __iconNode$m = [
1580
+ const Pencil = createLucideIcon("pencil", __iconNode$o);
1581
+ const __iconNode$n = [
1585
1582
  [
1586
1583
  "path",
1587
1584
  {
@@ -1590,20 +1587,20 @@ const __iconNode$m = [
1590
1587
  }
1591
1588
  ]
1592
1589
  ];
1593
- const Play = createLucideIcon("play", __iconNode$m);
1594
- const __iconNode$l = [
1590
+ const Play = createLucideIcon("play", __iconNode$n);
1591
+ const __iconNode$m = [
1595
1592
  ["path", { d: "M5 12h14", key: "1ays0h" }],
1596
1593
  ["path", { d: "M12 5v14", key: "s699le" }]
1597
1594
  ];
1598
- const Plus = createLucideIcon("plus", __iconNode$l);
1599
- const __iconNode$k = [
1595
+ const Plus = createLucideIcon("plus", __iconNode$m);
1596
+ const __iconNode$l = [
1600
1597
  ["path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8", key: "v9h5vc" }],
1601
1598
  ["path", { d: "M21 3v5h-5", key: "1q7to0" }],
1602
1599
  ["path", { d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16", key: "3uifl3" }],
1603
1600
  ["path", { d: "M8 16H3v5", key: "1cv678" }]
1604
1601
  ];
1605
- const RefreshCw = createLucideIcon("refresh-cw", __iconNode$k);
1606
- const __iconNode$j = [
1602
+ const RefreshCw = createLucideIcon("refresh-cw", __iconNode$l);
1603
+ const __iconNode$k = [
1607
1604
  ["path", { d: "M17 3v10", key: "15fgeh" }],
1608
1605
  ["path", { d: "m12.67 5.5 8.66 5", key: "1gpheq" }],
1609
1606
  ["path", { d: "m12.67 10.5 8.66-5", key: "1dkfa6" }],
@@ -1612,23 +1609,23 @@ const __iconNode$j = [
1612
1609
  { d: "M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z", key: "swwfx4" }
1613
1610
  ]
1614
1611
  ];
1615
- const Regex = createLucideIcon("regex", __iconNode$j);
1616
- const __iconNode$i = [
1612
+ const Regex = createLucideIcon("regex", __iconNode$k);
1613
+ const __iconNode$j = [
1617
1614
  ["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
1618
1615
  ["path", { d: "M3 3v5h5", key: "1xhq8a" }]
1619
1616
  ];
1620
- const RotateCcw = createLucideIcon("rotate-ccw", __iconNode$i);
1621
- const __iconNode$h = [
1617
+ const RotateCcw = createLucideIcon("rotate-ccw", __iconNode$j);
1618
+ const __iconNode$i = [
1622
1619
  ["path", { d: "M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8", key: "1p45f6" }],
1623
1620
  ["path", { d: "M21 3v5h-5", key: "1q7to0" }]
1624
1621
  ];
1625
- const RotateCw = createLucideIcon("rotate-cw", __iconNode$h);
1626
- const __iconNode$g = [
1622
+ const RotateCw = createLucideIcon("rotate-cw", __iconNode$i);
1623
+ const __iconNode$h = [
1627
1624
  ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
1628
1625
  ["path", { d: "M3 12h18", key: "1i2n21" }]
1629
1626
  ];
1630
- const Rows2 = createLucideIcon("rows-2", __iconNode$g);
1631
- const __iconNode$f = [
1627
+ const Rows2 = createLucideIcon("rows-2", __iconNode$h);
1628
+ const __iconNode$g = [
1632
1629
  [
1633
1630
  "path",
1634
1631
  {
@@ -1639,8 +1636,8 @@ const __iconNode$f = [
1639
1636
  ["path", { d: "M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7", key: "1ydtos" }],
1640
1637
  ["path", { d: "M7 3v4a1 1 0 0 0 1 1h7", key: "t51u73" }]
1641
1638
  ];
1642
- const Save = createLucideIcon("save", __iconNode$f);
1643
- const __iconNode$e = [
1639
+ const Save = createLucideIcon("save", __iconNode$g);
1640
+ const __iconNode$f = [
1644
1641
  ["path", { d: "M15 12h-5", key: "r7krc0" }],
1645
1642
  ["path", { d: "M15 8h-5", key: "1khuty" }],
1646
1643
  ["path", { d: "M19 17V5a2 2 0 0 0-2-2H4", key: "zz82l3" }],
@@ -1652,13 +1649,13 @@ const __iconNode$e = [
1652
1649
  }
1653
1650
  ]
1654
1651
  ];
1655
- const ScrollText = createLucideIcon("scroll-text", __iconNode$e);
1656
- const __iconNode$d = [
1652
+ const ScrollText = createLucideIcon("scroll-text", __iconNode$f);
1653
+ const __iconNode$e = [
1657
1654
  ["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
1658
1655
  ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }]
1659
1656
  ];
1660
- const Search = createLucideIcon("search", __iconNode$d);
1661
- const __iconNode$c = [
1657
+ const Search = createLucideIcon("search", __iconNode$e);
1658
+ const __iconNode$d = [
1662
1659
  [
1663
1660
  "path",
1664
1661
  {
@@ -1668,7 +1665,20 @@ const __iconNode$c = [
1668
1665
  ],
1669
1666
  ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
1670
1667
  ];
1671
- const Settings$1 = createLucideIcon("settings", __iconNode$c);
1668
+ const Settings$1 = createLucideIcon("settings", __iconNode$d);
1669
+ const __iconNode$c = [
1670
+ [
1671
+ "path",
1672
+ {
1673
+ d: "M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",
1674
+ key: "1s2grr"
1675
+ }
1676
+ ],
1677
+ ["path", { d: "M20 2v4", key: "1rf3ol" }],
1678
+ ["path", { d: "M22 4h-4", key: "gwowj6" }],
1679
+ ["circle", { cx: "4", cy: "20", r: "2", key: "6kqj1y" }]
1680
+ ];
1681
+ const Sparkles = createLucideIcon("sparkles", __iconNode$c);
1672
1682
  const __iconNode$b = [
1673
1683
  ["path", { d: "M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6", key: "y09zxi" }],
1674
1684
  ["path", { d: "m21 3-9 9", key: "mpx6sq" }],
@@ -26806,9 +26816,9 @@ handlers$1.drop = (view, event) => {
26806
26816
  return true;
26807
26817
  let files = event.dataTransfer.files;
26808
26818
  if (files && files.length) {
26809
- let text2 = Array(files.length), read = 0;
26819
+ let text2 = Array(files.length), read2 = 0;
26810
26820
  let finishFile = () => {
26811
- if (++read == files.length)
26821
+ if (++read2 == files.length)
26812
26822
  dropText(view, event, text2.filter((s2) => s2 != null).join(view.state.lineBreak), false);
26813
26823
  };
26814
26824
  for (let i2 = 0; i2 < files.length; i2++) {
@@ -29110,14 +29120,14 @@ function safariSelectionRangeHack(view, selection2) {
29110
29120
  return buildSelectionRangeFromRange(view, range2);
29111
29121
  }
29112
29122
  let found = null;
29113
- function read(event) {
29123
+ function read2(event) {
29114
29124
  event.preventDefault();
29115
29125
  event.stopImmediatePropagation();
29116
29126
  found = event.getTargetRanges()[0];
29117
29127
  }
29118
- view.contentDOM.addEventListener("beforeinput", read, true);
29128
+ view.contentDOM.addEventListener("beforeinput", read2, true);
29119
29129
  view.dom.ownerDocument.execCommand("indent");
29120
- view.contentDOM.removeEventListener("beforeinput", read, true);
29130
+ view.contentDOM.removeEventListener("beforeinput", read2, true);
29121
29131
  return found ? buildSelectionRangeFromRange(view, found) : null;
29122
29132
  }
29123
29133
  class EditContextManager {
@@ -40483,53 +40493,53 @@ async function loadLanguage(lang) {
40483
40493
  try {
40484
40494
  switch (lang) {
40485
40495
  case "javascript":
40486
- return import("./index-DBmY9Kl-.js").then((m2) => m2.javascript());
40496
+ return import("./index-C_FHzNiq.js").then((m2) => m2.javascript());
40487
40497
  case "jsx":
40488
- return import("./index-DBmY9Kl-.js").then((m2) => m2.javascript({ jsx: true }));
40498
+ return import("./index-C_FHzNiq.js").then((m2) => m2.javascript({ jsx: true }));
40489
40499
  case "typescript":
40490
- return import("./index-DBmY9Kl-.js").then(
40500
+ return import("./index-C_FHzNiq.js").then(
40491
40501
  (m2) => m2.javascript({ typescript: true })
40492
40502
  );
40493
40503
  case "tsx":
40494
- return import("./index-DBmY9Kl-.js").then(
40504
+ return import("./index-C_FHzNiq.js").then(
40495
40505
  (m2) => m2.javascript({ jsx: true, typescript: true })
40496
40506
  );
40497
40507
  case "python":
40498
- return import("./index-no5gnAsf.js").then((m2) => m2.python());
40508
+ return import("./index-thBo3ZQF.js").then((m2) => m2.python());
40499
40509
  case "html":
40500
- return import("./index-BsJzTvSJ.js").then((m2) => m2.html());
40510
+ return import("./index-DgRltpic.js").then((m2) => m2.html());
40501
40511
  case "css":
40502
- return import("./index-DQxHX7Lv.js").then((m2) => m2.css());
40512
+ return import("./index-BolAqCkn.js").then((m2) => m2.css());
40503
40513
  case "scss":
40504
40514
  case "sass":
40505
- return import("./index-DbAlA7HO.js").then((m2) => m2.sass());
40515
+ return import("./index-FBfgxNp1.js").then((m2) => m2.sass());
40506
40516
  case "less":
40507
- return import("./index-BIDr1DTu.js").then((m2) => m2.less());
40517
+ return import("./index-BMhls_mP.js").then((m2) => m2.less());
40508
40518
  case "json":
40509
40519
  case "jsonc":
40510
- return import("./index-EvPsdhYL.js").then((m2) => m2.json());
40520
+ return import("./index-DA-nC30D.js").then((m2) => m2.json());
40511
40521
  case "markdown":
40512
40522
  case "mdx":
40513
- return import("./index-DDLILDN_.js").then((m2) => m2.markdown());
40523
+ return import("./index-ChucNhe1.js").then((m2) => m2.markdown());
40514
40524
  case "xml":
40515
- return import("./index-WTleB0lf.js").then((m2) => m2.xml());
40525
+ return import("./index-Ctq8nouX.js").then((m2) => m2.xml());
40516
40526
  case "yaml":
40517
- return import("./index-C-1szG3T.js").then((m2) => m2.yaml());
40527
+ return import("./index-BSPyhc2t.js").then((m2) => m2.yaml());
40518
40528
  case "sql":
40519
- return import("./index-DafoxTP2.js").then((m2) => m2.sql());
40529
+ return import("./index-AsjLe9eZ.js").then((m2) => m2.sql());
40520
40530
  case "rust":
40521
- return import("./index-DknBLjbj.js").then((m2) => m2.rust());
40531
+ return import("./index-CQ3_WP_c.js").then((m2) => m2.rust());
40522
40532
  case "go":
40523
- return import("./index-DgHW7UNt.js").then((m2) => m2.go());
40533
+ return import("./index-CfPJkLrt.js").then((m2) => m2.go());
40524
40534
  case "java":
40525
- return import("./index-xaaGh4ls.js").then((m2) => m2.java());
40535
+ return import("./index-JauattMS.js").then((m2) => m2.java());
40526
40536
  case "kotlin":
40527
- return import("./index-xaaGh4ls.js").then((m2) => m2.java());
40537
+ return import("./index-JauattMS.js").then((m2) => m2.java());
40528
40538
  case "c":
40529
40539
  case "cpp":
40530
- return import("./index-DnQXmsaa.js").then((m2) => m2.cpp());
40540
+ return import("./index-B4cboZEK.js").then((m2) => m2.cpp());
40531
40541
  case "php":
40532
- return import("./index-CS6JuHB3.js").then((m2) => m2.php());
40542
+ return import("./index-B6HcpJov.js").then((m2) => m2.php());
40533
40543
  // Legacy modes via StreamLanguage
40534
40544
  case "bash":
40535
40545
  case "fish":
@@ -41433,6 +41443,164 @@ function CommandPaletteDialog({ open: open2, onOpenChange, commands }) {
41433
41443
  ] })
41434
41444
  ] }) });
41435
41445
  }
41446
+ function CommitDialog({
41447
+ open: open2,
41448
+ onOpenChange,
41449
+ workspaceId,
41450
+ filesChanged,
41451
+ onCommitted
41452
+ }) {
41453
+ const adapter2 = useAdapter();
41454
+ const canAutoGenerate = Boolean(adapter2.generateCommitMessage);
41455
+ const canCommit = Boolean(adapter2.gitCommitWorkspace);
41456
+ const [subject, setSubject] = reactExports.useState("");
41457
+ const [body2, setBody] = reactExports.useState("");
41458
+ const [generating, setGenerating] = reactExports.useState(false);
41459
+ const [committing, setCommitting] = reactExports.useState(false);
41460
+ const [error, setError] = reactExports.useState(null);
41461
+ const [agentLabel, setAgentLabel] = reactExports.useState(null);
41462
+ reactExports.useEffect(() => {
41463
+ if (open2) {
41464
+ setSubject("");
41465
+ setBody("");
41466
+ setError(null);
41467
+ setAgentLabel(null);
41468
+ setGenerating(false);
41469
+ setCommitting(false);
41470
+ }
41471
+ }, [open2]);
41472
+ const handleAutoGenerate = async () => {
41473
+ const generate2 = adapter2.generateCommitMessage;
41474
+ if (!generate2) return;
41475
+ setError(null);
41476
+ setGenerating(true);
41477
+ try {
41478
+ const result = await generate2.call(adapter2, workspaceId);
41479
+ setSubject(result.message);
41480
+ setBody(result.body);
41481
+ setAgentLabel(result.agentLabel);
41482
+ } catch (e2) {
41483
+ setError(e2 instanceof Error ? e2.message : String(e2));
41484
+ } finally {
41485
+ setGenerating(false);
41486
+ }
41487
+ };
41488
+ const performCommit = async (message, bodyToCommit) => {
41489
+ const commit = adapter2.gitCommitWorkspace;
41490
+ if (!commit) return;
41491
+ setCommitting(true);
41492
+ setError(null);
41493
+ try {
41494
+ await commit.call(adapter2, workspaceId, message, bodyToCommit || void 0);
41495
+ onCommitted();
41496
+ onOpenChange(false);
41497
+ } catch (e2) {
41498
+ setError(e2 instanceof Error ? e2.message : String(e2));
41499
+ } finally {
41500
+ setCommitting(false);
41501
+ }
41502
+ };
41503
+ const handleCommit = async () => {
41504
+ const trimmedSubject = subject.trim();
41505
+ const trimmedBody = body2.trim();
41506
+ if (!trimmedSubject) {
41507
+ if (!canAutoGenerate) {
41508
+ setError("Enter a commit message before committing.");
41509
+ return;
41510
+ }
41511
+ const generate2 = adapter2.generateCommitMessage;
41512
+ if (!generate2) return;
41513
+ setError(null);
41514
+ setGenerating(true);
41515
+ try {
41516
+ const result = await generate2.call(adapter2, workspaceId);
41517
+ setSubject(result.message);
41518
+ setBody(result.body);
41519
+ setAgentLabel(result.agentLabel);
41520
+ await performCommit(result.message, result.body);
41521
+ } catch (e2) {
41522
+ setError(e2 instanceof Error ? e2.message : String(e2));
41523
+ } finally {
41524
+ setGenerating(false);
41525
+ }
41526
+ return;
41527
+ }
41528
+ await performCommit(trimmedSubject, trimmedBody);
41529
+ };
41530
+ const busy = generating || committing;
41531
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Dialog, { open: open2, onOpenChange: (o3) => busy ? null : onOpenChange(o3), children: /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogContent, { className: "sm:max-w-[560px]", children: [
41532
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogHeader, { children: [
41533
+ /* @__PURE__ */ jsxRuntimeExports.jsx(DialogTitle, { children: "Commit changes" }),
41534
+ /* @__PURE__ */ jsxRuntimeExports.jsx(DialogDescription, { children: filesChanged === 1 ? "Stage and commit 1 changed file." : `Stage and commit ${filesChanged} changed files.` })
41535
+ ] }),
41536
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-3", children: [
41537
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-1.5", children: [
41538
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Label, { htmlFor: "commit-subject", children: "Message" }),
41539
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
41540
+ Input,
41541
+ {
41542
+ id: "commit-subject",
41543
+ placeholder: "Short summary of the change",
41544
+ value: subject,
41545
+ onChange: (e2) => setSubject(e2.target.value),
41546
+ disabled: busy,
41547
+ maxLength: 200,
41548
+ autoFocus: true
41549
+ }
41550
+ )
41551
+ ] }),
41552
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-1.5", children: [
41553
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Label, { htmlFor: "commit-body", children: [
41554
+ "Details ",
41555
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-muted-foreground", children: "(optional)" })
41556
+ ] }),
41557
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
41558
+ Textarea,
41559
+ {
41560
+ id: "commit-body",
41561
+ placeholder: "Explain why this change is being made…",
41562
+ value: body2,
41563
+ onChange: (e2) => setBody(e2.target.value),
41564
+ disabled: busy,
41565
+ rows: 5,
41566
+ className: "font-mono text-xs"
41567
+ }
41568
+ )
41569
+ ] }),
41570
+ agentLabel && !error && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-xs text-muted-foreground", children: [
41571
+ "Generated with ",
41572
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-medium", children: agentLabel }),
41573
+ ". Edit before committing if needed."
41574
+ ] }),
41575
+ error && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-xs text-destructive", children: error })
41576
+ ] }),
41577
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogFooter, { className: "flex-row items-center justify-between", children: [
41578
+ canAutoGenerate ? /* @__PURE__ */ jsxRuntimeExports.jsxs(
41579
+ Button,
41580
+ {
41581
+ variant: "outline",
41582
+ onClick: handleAutoGenerate,
41583
+ disabled: busy,
41584
+ type: "button",
41585
+ title: "Auto-generate commit message",
41586
+ "aria-label": "Auto-generate commit message",
41587
+ children: [
41588
+ generating ? /* @__PURE__ */ jsxRuntimeExports.jsx(Spinner, { className: "size-4" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(Sparkles, { className: "size-4" }),
41589
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "hidden sm:inline", children: "Auto-generate" })
41590
+ ]
41591
+ }
41592
+ ) : (
41593
+ // Empty placeholder keeps Commit pinned to the right via
41594
+ // justify-between when no agent is configured.
41595
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", {})
41596
+ ),
41597
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Button, { onClick: handleCommit, disabled: busy || !canCommit, children: [
41598
+ committing ? /* @__PURE__ */ jsxRuntimeExports.jsx(Spinner, { className: "size-4" }) : null,
41599
+ "Commit"
41600
+ ] })
41601
+ ] })
41602
+ ] }) });
41603
+ }
41436
41604
  function useCliSetup() {
41437
41605
  const adapter2 = useAdapter();
41438
41606
  const [state2, setState] = reactExports.useState({ status: "checking" });
@@ -41500,6 +41668,71 @@ function useCliSetup() {
41500
41668
  };
41501
41669
  return { state: state2, install };
41502
41670
  }
41671
+ const PROJECTS_COLLAPSE_KEY = "band.projects-list.collapsed-projects";
41672
+ const LABELS_COLLAPSE_KEY = "band.projects-list.collapsed-labels";
41673
+ const UNLABELED_KEY = "__unlabeled";
41674
+ const SYNC_EVENT = "band:collapse-state-change";
41675
+ function read(key2) {
41676
+ if (typeof window === "undefined") return /* @__PURE__ */ new Set();
41677
+ try {
41678
+ const raw2 = window.localStorage.getItem(key2);
41679
+ if (!raw2) return /* @__PURE__ */ new Set();
41680
+ const parsed = JSON.parse(raw2);
41681
+ if (Array.isArray(parsed))
41682
+ return new Set(parsed.filter((v2) => typeof v2 === "string"));
41683
+ } catch {
41684
+ }
41685
+ return /* @__PURE__ */ new Set();
41686
+ }
41687
+ function write(key2, set2) {
41688
+ if (typeof window === "undefined") return;
41689
+ try {
41690
+ window.localStorage.setItem(key2, JSON.stringify([...set2]));
41691
+ } catch {
41692
+ }
41693
+ window.dispatchEvent(new CustomEvent(SYNC_EVENT, { detail: { key: key2 } }));
41694
+ }
41695
+ function useCollapseState(storageKey2) {
41696
+ const [collapsed, setCollapsed] = reactExports.useState(() => read(storageKey2));
41697
+ reactExports.useEffect(() => {
41698
+ const sync = (e2) => {
41699
+ if (e2 instanceof StorageEvent && e2.key !== storageKey2) return;
41700
+ if (e2 instanceof CustomEvent && e2.detail?.key !== storageKey2) return;
41701
+ setCollapsed(read(storageKey2));
41702
+ };
41703
+ window.addEventListener("storage", sync);
41704
+ window.addEventListener(SYNC_EVENT, sync);
41705
+ return () => {
41706
+ window.removeEventListener("storage", sync);
41707
+ window.removeEventListener(SYNC_EVENT, sync);
41708
+ };
41709
+ }, [storageKey2]);
41710
+ const isCollapsed = reactExports.useCallback((id28) => collapsed.has(id28), [collapsed]);
41711
+ const toggle = reactExports.useCallback(
41712
+ (id28) => {
41713
+ setCollapsed((prev2) => {
41714
+ const next2 = new Set(prev2);
41715
+ if (next2.has(id28)) {
41716
+ next2.delete(id28);
41717
+ } else {
41718
+ next2.add(id28);
41719
+ }
41720
+ write(storageKey2, next2);
41721
+ return next2;
41722
+ });
41723
+ },
41724
+ [storageKey2]
41725
+ );
41726
+ const setAll = reactExports.useCallback(
41727
+ (ids2) => {
41728
+ const next2 = new Set(ids2);
41729
+ write(storageKey2, next2);
41730
+ setCollapsed(next2);
41731
+ },
41732
+ [storageKey2]
41733
+ );
41734
+ return reactExports.useMemo(() => ({ isCollapsed, toggle, setAll }), [isCollapsed, toggle, setAll]);
41735
+ }
41503
41736
  function useHooksSetup() {
41504
41737
  const adapter2 = useAdapter();
41505
41738
  const [state2, setState] = reactExports.useState({ status: "checking" });
@@ -46088,7 +46321,7 @@ function GitStatusIndicator({ git }) {
46088
46321
  }
46089
46322
  if (parts.length === 0) return null;
46090
46323
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip, { children: [
46091
- /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "inline-flex items-center gap-0.5 font-mono text-[11px] leading-none shrink-0", children: parts.map((p3) => /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: p3.color, children: p3.text }, p3.text)) }) }),
46324
+ /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "inline-flex items-center gap-0.5 font-mono text-[11px] leading-none shrink-0 pr-0.5", children: parts.map((p3) => /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: p3.color, children: p3.text }, p3.text)) }) }),
46092
46325
  /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { children: parts.map((p3) => p3.tooltip).join(", ") })
46093
46326
  ] });
46094
46327
  }
@@ -46119,8 +46352,7 @@ const WorkspaceCard = reactExports.memo(function WorkspaceCard2({
46119
46352
  branchStatus,
46120
46353
  setupStatus,
46121
46354
  isFocused,
46122
- onShowDeleteDialog,
46123
- editMode
46355
+ onShowDeleteDialog
46124
46356
  }) {
46125
46357
  const cardRef = reactExports.useRef(null);
46126
46358
  const capabilities2 = useCapabilities();
@@ -46146,7 +46378,7 @@ const WorkspaceCard = reactExports.memo(function WorkspaceCard2({
46146
46378
  openWorkspace(workspaceId);
46147
46379
  }
46148
46380
  };
46149
- const className = `@container group flex flex-row items-center justify-between px-3 py-1 min-w-0 overflow-hidden cursor-pointer select-none transition-colors hover:bg-accent/50 ${isActive ? "bg-accent/50 border-l-2 border-l-primary" : ""} ${isFocused ? "ring-2 ring-inset ring-ring" : ""} ${href ? "no-underline text-inherit" : ""}`;
46381
+ const className = `@container group flex flex-row items-center justify-between pl-3 pr-2 py-1 min-w-0 overflow-hidden cursor-pointer select-none transition-colors hover:bg-accent/50 ${isActive ? "bg-accent/50 border-l-2 border-l-primary" : ""} ${isFocused ? "ring-2 ring-inset ring-ring" : ""} ${href ? "no-underline text-inherit" : ""}`;
46150
46382
  const containerProps = {
46151
46383
  ref: cardRef,
46152
46384
  className,
@@ -46194,7 +46426,7 @@ const WorkspaceCard = reactExports.memo(function WorkspaceCard2({
46194
46426
  ] }) }),
46195
46427
  /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { side: "top", children: worktree.branch })
46196
46428
  ] }),
46197
- !editMode && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "hidden @[10rem]:flex group-hover:flex items-center gap-2 shrink-0 ml-auto pl-2", children: [
46429
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "hidden @[10rem]:flex group-hover:flex items-center gap-2 shrink-0 ml-auto pl-2", children: [
46198
46430
  /* @__PURE__ */ jsxRuntimeExports.jsx(SetupStatusIndicator, { setup: setupStatus }),
46199
46431
  branchStatus && /* @__PURE__ */ jsxRuntimeExports.jsx(GitStatusIndicator, { git: branchStatus.git }),
46200
46432
  branchStatus && /* @__PURE__ */ jsxRuntimeExports.jsx(CIStatusIndicator, { ci: branchStatus.ci })
@@ -46244,63 +46476,67 @@ function SortableProject({
46244
46476
  onShowDeleteDialog,
46245
46477
  focusedIndex,
46246
46478
  workspaceIndexStart,
46247
- editMode
46479
+ collapsed,
46480
+ onToggleCollapse
46248
46481
  }) {
46249
46482
  const { attributes, listeners: listeners2, setNodeRef, transform: transform2, transition, isDragging } = useSortable({
46250
- id: project.name,
46251
- disabled: !editMode
46483
+ id: project.name
46252
46484
  });
46253
46485
  const capabilities2 = useCapabilities();
46486
+ const { active } = useDndContext();
46254
46487
  const style2 = {
46255
46488
  transform: CSS$1.Translate.toString(transform2),
46256
- transition,
46489
+ transition: active ? transition : void 0,
46257
46490
  opacity: isDragging ? 0.5 : void 0
46258
46491
  };
46259
46492
  let workspaceIndex = workspaceIndexStart;
46260
46493
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ref: setNodeRef, style: style2, className: "min-w-0 px-2", children: [
46261
46494
  /* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenu, { children: [
46262
- /* @__PURE__ */ jsxRuntimeExports.jsx(ContextMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between mb-0.5 px-1 select-none", children: [
46263
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
46264
- "div",
46265
- {
46266
- className: `flex items-center gap-2 min-w-0 ${editMode ? "cursor-grab touch-none" : ""}`,
46267
- ...editMode ? { ...attributes, ...listeners2 } : {},
46268
- children: [
46269
- editMode && /* @__PURE__ */ jsxRuntimeExports.jsx(GripVertical, { className: "size-4 shrink-0 text-muted-foreground" }),
46270
- /* @__PURE__ */ jsxRuntimeExports.jsx(FolderOpen, { className: "size-4 shrink-0 text-muted-foreground" }),
46271
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip, { children: [
46272
- /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-sm font-semibold text-foreground/80 truncate", children: project.name }) }),
46273
- /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { side: "top", children: project.name })
46274
- ] })
46275
- ]
46276
- }
46277
- ),
46278
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex items-center gap-1", children: editMode ? /* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip, { children: [
46279
- /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
46280
- Button,
46281
- {
46282
- variant: "ghost",
46283
- size: "icon-xs",
46284
- className: "text-destructive hover:text-destructive",
46285
- onClick: () => removeProject(project.name),
46286
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(Trash2, {})
46287
- }
46288
- ) }),
46289
- /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { children: "Remove project" })
46290
- ] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip, { children: [
46291
- /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
46292
- Button,
46293
- {
46294
- variant: "ghost",
46295
- size: "icon-xs",
46296
- onClick: () => setWorkspaceDialog(project.name),
46297
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(Plus, {})
46298
- }
46299
- ) }),
46300
- /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { children: "Add workspace" })
46301
- ] }) })
46302
- ] }) }),
46495
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ContextMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
46496
+ "div",
46497
+ {
46498
+ className: "group flex items-center justify-between mb-0.5 pl-1 pr-0 select-none touch-pan-y",
46499
+ onClick: () => onToggleCollapse(project.name),
46500
+ children: [
46501
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
46502
+ "div",
46503
+ {
46504
+ className: "flex items-center gap-2 min-w-0 cursor-grab",
46505
+ ...attributes,
46506
+ ...listeners2,
46507
+ children: [
46508
+ collapsed ? /* @__PURE__ */ jsxRuntimeExports.jsx(Folder, { className: "size-4 shrink-0 text-muted-foreground" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(FolderOpen, { className: "size-4 shrink-0 text-muted-foreground" }),
46509
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip, { children: [
46510
+ /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-sm font-semibold text-foreground/80 truncate", children: project.name }) }),
46511
+ /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { side: "top", children: project.name })
46512
+ ] })
46513
+ ]
46514
+ }
46515
+ ),
46516
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex items-center gap-1", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip, { children: [
46517
+ /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
46518
+ Button,
46519
+ {
46520
+ variant: "ghost",
46521
+ size: "icon-xs",
46522
+ onPointerDown: (e2) => e2.stopPropagation(),
46523
+ onClick: (e2) => {
46524
+ e2.stopPropagation();
46525
+ setWorkspaceDialog(project.name);
46526
+ },
46527
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(Plus, {})
46528
+ }
46529
+ ) }),
46530
+ /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { children: "Add workspace" })
46531
+ ] }) })
46532
+ ]
46533
+ }
46534
+ ) }),
46303
46535
  /* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuContent, { children: [
46536
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuItem, { onClick: () => onToggleCollapse(project.name), children: [
46537
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronRight, { className: collapsed ? "" : "rotate-90" }),
46538
+ collapsed ? "Expand" : "Collapse"
46539
+ ] }),
46304
46540
  labels.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuSub, { children: [
46305
46541
  /* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuSubTrigger, { children: [
46306
46542
  /* @__PURE__ */ jsxRuntimeExports.jsx(Tag$1, { className: "size-4 mr-2" }),
@@ -46345,7 +46581,7 @@ function SortableProject({
46345
46581
  ] })
46346
46582
  ] })
46347
46583
  ] }),
46348
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex flex-col gap-0.5 overflow-hidden", children: project.worktrees.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm text-muted-foreground px-4 py-2", children: "No workspaces yet" }) : project.worktrees.map((wt2) => {
46584
+ !collapsed && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex flex-col gap-0.5 overflow-hidden", children: project.worktrees.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm text-muted-foreground px-4 py-2", children: "No workspaces yet" }) : project.worktrees.map((wt2) => {
46349
46585
  const wsId = toWorkspaceId(project.name, wt2.branch);
46350
46586
  const currentIndex = workspaceIndex++;
46351
46587
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -46358,40 +46594,59 @@ function SortableProject({
46358
46594
  branchStatus: branchStatuses.get(wsId),
46359
46595
  setupStatus: setupStatuses.get(wsId),
46360
46596
  isFocused: currentIndex === focusedIndex,
46361
- onShowDeleteDialog,
46362
- editMode
46597
+ onShowDeleteDialog
46363
46598
  },
46364
46599
  wt2.branch
46365
46600
  );
46366
46601
  }) })
46367
46602
  ] });
46368
46603
  }
46369
- function DroppableLabelHeader({ labelId, label }) {
46604
+ function DroppableLabelHeader({ labelId, label, collapsed, onToggle }) {
46370
46605
  const { setNodeRef, isOver } = useDroppable({ id: `group:${labelId}` });
46371
46606
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
46372
- "div",
46607
+ "button",
46373
46608
  {
46609
+ type: "button",
46374
46610
  ref: setNodeRef,
46375
- className: `flex h-9 items-center gap-2 px-3 mb-0.5 transition-colors ${isOver ? "bg-primary/20" : "bg-accent"}`,
46611
+ onClick: onToggle,
46612
+ "aria-expanded": !collapsed,
46613
+ className: `flex h-9 w-full items-center gap-2 pl-3 pr-4 mb-0.5 text-left transition-colors hover:bg-primary/10 ${isOver ? "bg-primary/20" : "bg-accent"}`,
46376
46614
  children: [
46377
46615
  /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "size-2.5 rounded-full shrink-0", style: { backgroundColor: label.color } }),
46378
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-sm font-semibold text-foreground/80", children: label.name })
46616
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-sm font-semibold text-foreground/80", children: label.name }),
46617
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
46618
+ ChevronRight,
46619
+ {
46620
+ className: `ml-auto size-3.5 shrink-0 text-muted-foreground transition-transform ${collapsed ? "" : "rotate-90"}`
46621
+ }
46622
+ )
46379
46623
  ]
46380
46624
  }
46381
46625
  );
46382
46626
  }
46383
- function DroppableUnlabeledHeader() {
46627
+ function DroppableUnlabeledHeader({ collapsed, onToggle }) {
46384
46628
  const { setNodeRef, isOver } = useDroppable({ id: "group:__unlabeled" });
46385
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
46386
- "div",
46629
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(
46630
+ "button",
46387
46631
  {
46632
+ type: "button",
46388
46633
  ref: setNodeRef,
46389
- className: `flex h-9 items-center gap-2 px-3 mb-0.5 transition-colors ${isOver ? "bg-primary/20" : "bg-accent"}`,
46390
- children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-sm font-semibold text-foreground/80", children: "Unlabeled" })
46634
+ onClick: onToggle,
46635
+ "aria-expanded": !collapsed,
46636
+ className: `flex h-9 w-full items-center gap-2 pl-3 pr-4 mb-0.5 text-left transition-colors hover:bg-primary/10 ${isOver ? "bg-primary/20" : "bg-accent"}`,
46637
+ children: [
46638
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-sm font-semibold text-foreground/80", children: "Unlabeled" }),
46639
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
46640
+ ChevronRight,
46641
+ {
46642
+ className: `ml-auto size-3.5 shrink-0 text-muted-foreground transition-transform ${collapsed ? "" : "rotate-90"}`
46643
+ }
46644
+ )
46645
+ ]
46391
46646
  }
46392
46647
  );
46393
46648
  }
46394
- function ProjectList({ labelFilter, editMode }) {
46649
+ function ProjectList({ labelFilter }) {
46395
46650
  const { projects } = useProjects();
46396
46651
  const { settings } = useSettingsQuery();
46397
46652
  const labels = settings.labels ?? [];
@@ -46410,7 +46665,12 @@ function ProjectList({ labelFilter, editMode }) {
46410
46665
  const [activeDragId, setActiveDragId] = reactExports.useState(null);
46411
46666
  const containerRef = reactExports.useRef(null);
46412
46667
  const keyboardNavRef = reactExports.useRef(false);
46413
- const sensors = useSensors(useSensor(PointerSensor, { activationConstraint: { distance: 8 } }));
46668
+ const projectCollapse = useCollapseState(PROJECTS_COLLAPSE_KEY);
46669
+ const labelCollapse = useCollapseState(LABELS_COLLAPSE_KEY);
46670
+ const sensors = useSensors(
46671
+ useSensor(MouseSensor, { activationConstraint: { distance: 8 } }),
46672
+ useSensor(TouchSensor, { activationConstraint: { delay: 250, tolerance: 5 } })
46673
+ );
46414
46674
  const groups = reactExports.useMemo(() => {
46415
46675
  if (labels.length === 0)
46416
46676
  return [{ labelId: null, label: null, projects }];
@@ -46437,23 +46697,33 @@ function ProjectList({ labelFilter, editMode }) {
46437
46697
  if (!labelFilter) return groups;
46438
46698
  return groups.filter((g2) => g2.labelId === labelFilter);
46439
46699
  }, [groups, labelFilter]);
46440
- const allWorkspaceIds = reactExports.useMemo(
46441
- () => visibleGroups.flatMap(
46442
- (g2) => g2.projects.flatMap((p3) => p3.worktrees.map((wt2) => toWorkspaceId(p3.name, wt2.branch)))
46443
- ),
46444
- [visibleGroups]
46445
- );
46700
+ const allWorkspaceIds = reactExports.useMemo(() => {
46701
+ const headerVisible = labels.length > 0 && !labelFilter;
46702
+ return visibleGroups.flatMap((g2) => {
46703
+ const groupKey = g2.labelId ?? UNLABELED_KEY;
46704
+ if (headerVisible && labelCollapse.isCollapsed(groupKey)) return [];
46705
+ return g2.projects.flatMap((p3) => {
46706
+ if (projectCollapse.isCollapsed(p3.name)) return [];
46707
+ return p3.worktrees.map((wt2) => toWorkspaceId(p3.name, wt2.branch));
46708
+ });
46709
+ });
46710
+ }, [visibleGroups, labels.length, labelFilter, labelCollapse, projectCollapse]);
46446
46711
  const workspaceIndexMap = reactExports.useMemo(() => {
46447
46712
  const map2 = /* @__PURE__ */ new Map();
46448
46713
  let index2 = 0;
46714
+ const headerVisible = labels.length > 0 && !labelFilter;
46449
46715
  for (const group of visibleGroups) {
46716
+ const groupKey = group.labelId ?? UNLABELED_KEY;
46717
+ if (headerVisible && labelCollapse.isCollapsed(groupKey)) continue;
46450
46718
  for (const project of group.projects) {
46451
46719
  map2.set(project.name, index2);
46452
- index2 += project.worktrees.length;
46720
+ if (!projectCollapse.isCollapsed(project.name)) {
46721
+ index2 += project.worktrees.length;
46722
+ }
46453
46723
  }
46454
46724
  }
46455
46725
  return map2;
46456
- }, [visibleGroups]);
46726
+ }, [visibleGroups, labels.length, labelFilter, labelCollapse, projectCollapse]);
46457
46727
  reactExports.useEffect(() => {
46458
46728
  if (keyboardNavRef.current) return;
46459
46729
  if (activeWorkspaceId) {
@@ -46556,12 +46826,27 @@ function ProjectList({ labelFilter, editMode }) {
46556
46826
  onDragStart: handleDragStart,
46557
46827
  onDragEnd: handleDragEnd,
46558
46828
  children: [
46559
- /* @__PURE__ */ jsxRuntimeExports.jsx(SortableContext, { items: allProjectNames, strategy: verticalListSortingStrategy, children: visibleGroups.map((group, groupIndex) => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
46560
- groupIndex > 0 && !labels.length && /* @__PURE__ */ jsxRuntimeExports.jsx("hr", { className: "border-border mt-1 mb-0.5 mx-2" }),
46561
- labels.length > 0 && !labelFilter && (group.label ? /* @__PURE__ */ jsxRuntimeExports.jsx(DroppableLabelHeader, { labelId: group.labelId, label: group.label }) : /* @__PURE__ */ jsxRuntimeExports.jsx(DroppableUnlabeledHeader, {})),
46562
- group.projects.map((project, index2) => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
46563
- index2 > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("hr", { className: "border-border mt-1 mb-0.5 mx-2" }),
46564
- /* @__PURE__ */ jsxRuntimeExports.jsx(
46829
+ /* @__PURE__ */ jsxRuntimeExports.jsx(SortableContext, { items: allProjectNames, strategy: verticalListSortingStrategy, children: visibleGroups.map((group, groupIndex) => {
46830
+ const groupKey = group.labelId ?? UNLABELED_KEY;
46831
+ const headerVisible = labels.length > 0 && !labelFilter;
46832
+ const groupCollapsed = headerVisible && labelCollapse.isCollapsed(groupKey);
46833
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
46834
+ headerVisible && (group.label ? /* @__PURE__ */ jsxRuntimeExports.jsx(
46835
+ DroppableLabelHeader,
46836
+ {
46837
+ labelId: group.labelId,
46838
+ label: group.label,
46839
+ collapsed: groupCollapsed,
46840
+ onToggle: () => labelCollapse.toggle(groupKey)
46841
+ }
46842
+ ) : /* @__PURE__ */ jsxRuntimeExports.jsx(
46843
+ DroppableUnlabeledHeader,
46844
+ {
46845
+ collapsed: groupCollapsed,
46846
+ onToggle: () => labelCollapse.toggle(groupKey)
46847
+ }
46848
+ )),
46849
+ !groupCollapsed && group.projects.map((project) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
46565
46850
  SortableProject,
46566
46851
  {
46567
46852
  project,
@@ -46575,13 +46860,14 @@ function ProjectList({ labelFilter, editMode }) {
46575
46860
  onShowDeleteDialog: setDeleteDialog,
46576
46861
  focusedIndex,
46577
46862
  workspaceIndexStart: workspaceIndexMap.get(project.name) ?? 0,
46578
- editMode
46863
+ collapsed: projectCollapse.isCollapsed(project.name),
46864
+ onToggleCollapse: projectCollapse.toggle
46579
46865
  }
46580
- )
46581
- ] }, project.name))
46582
- ] }, group.labelId ?? "__unlabeled")) }),
46583
- /* @__PURE__ */ jsxRuntimeExports.jsx(DragOverlay, { children: activeDragId ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 px-1 py-1 bg-background rounded shadow-lg border", children: [
46584
- /* @__PURE__ */ jsxRuntimeExports.jsx(FolderOpen, { className: "size-3.5 shrink-0 text-muted-foreground" }),
46866
+ ) }, project.name))
46867
+ ] }, groupKey);
46868
+ }) }),
46869
+ /* @__PURE__ */ jsxRuntimeExports.jsx(DragOverlay, { dropAnimation: null, children: activeDragId ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 px-1 py-1 bg-background rounded shadow-lg border", children: [
46870
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Folder, { className: "size-3.5 shrink-0 text-muted-foreground" }),
46585
46871
  /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-sm font-semibold text-foreground", children: activeDragId })
46586
46872
  ] }) : null })
46587
46873
  ]
@@ -47372,7 +47658,6 @@ function DashboardShell({ toolbarMenuItems, hideTitleBar, hideMenu }) {
47372
47658
  const [showAddDialog, setShowAddDialog] = reactExports.useState(false);
47373
47659
  const [showErrorDialog, setShowErrorDialog] = reactExports.useState(false);
47374
47660
  const [showSettingsDialog, setShowSettingsDialog] = reactExports.useState(false);
47375
- const [editMode, setEditMode] = reactExports.useState(false);
47376
47661
  const [labelFilter, setLabelFilter] = reactExports.useState(null);
47377
47662
  const { state: hooksState, install: installHooks } = useHooksSetup();
47378
47663
  const { state: cliState, install: installCli } = useCliSetup();
@@ -47386,6 +47671,12 @@ function DashboardShell({ toolbarMenuItems, hideTitleBar, hideMenu }) {
47386
47671
  useBranchStatusWatcher();
47387
47672
  useSetupStatusWatcher();
47388
47673
  const handleSettingsClick = reactExports.useCallback(() => setShowSettingsDialog(true), []);
47674
+ const projectCollapse = useCollapseState(PROJECTS_COLLAPSE_KEY);
47675
+ const labelCollapse = useCollapseState(LABELS_COLLAPSE_KEY);
47676
+ const collapseAll = reactExports.useCallback(() => {
47677
+ projectCollapse.setAll(projects.map((p3) => p3.name));
47678
+ labelCollapse.setAll([...labels.map((l4) => l4.id), UNLABELED_KEY]);
47679
+ }, [projectCollapse, labelCollapse, projects, labels]);
47389
47680
  const activeLabel = reactExports.useMemo(
47390
47681
  () => labelFilter ? labels.find((l4) => l4.id === labelFilter) : null,
47391
47682
  [labelFilter, labels]
@@ -47467,10 +47758,6 @@ function DashboardShell({ toolbarMenuItems, hideTitleBar, hideMenu }) {
47467
47758
  /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { side: "bottom", children: "More" })
47468
47759
  ] }),
47469
47760
  /* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenuContent, { align: "start", children: [
47470
- /* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenuItem, { onClick: () => setEditMode((v2) => !v2), children: [
47471
- /* @__PURE__ */ jsxRuntimeExports.jsx(Pencil, { className: "size-4" }),
47472
- editMode ? "Done editing" : "Edit list"
47473
- ] }),
47474
47761
  toolbarMenuItems,
47475
47762
  /* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenuItem, { onClick: handleSettingsClick, children: [
47476
47763
  /* @__PURE__ */ jsxRuntimeExports.jsx(Settings$1, { className: "size-4" }),
@@ -47526,6 +47813,20 @@ function DashboardShell({ toolbarMenuItems, hideTitleBar, hideMenu }) {
47526
47813
  ] })
47527
47814
  ] }) }),
47528
47815
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-1 pr-2", children: [
47816
+ projects.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip, { children: [
47817
+ /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
47818
+ Button,
47819
+ {
47820
+ size: "icon-xs",
47821
+ variant: "ghost",
47822
+ className: "text-muted-foreground",
47823
+ "aria-label": "Collapse all",
47824
+ onClick: collapseAll,
47825
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronsDownUp, { className: "size-4" })
47826
+ }
47827
+ ) }),
47828
+ /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { side: "bottom", children: "Collapse all" })
47829
+ ] }),
47529
47830
  /* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip, { children: [
47530
47831
  /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
47531
47832
  Button,
@@ -47538,25 +47839,6 @@ function DashboardShell({ toolbarMenuItems, hideTitleBar, hideMenu }) {
47538
47839
  }
47539
47840
  ) }),
47540
47841
  /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { side: "bottom", children: "Add project" })
47541
- ] }),
47542
- hideMenu && /* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenu, { children: [
47543
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip, { children: [
47544
- /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
47545
- Button,
47546
- {
47547
- size: "icon-xs",
47548
- variant: "ghost",
47549
- className: "text-muted-foreground",
47550
- "aria-label": "More actions",
47551
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(EllipsisVertical, { className: "size-4" })
47552
- }
47553
- ) }) }),
47554
- /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { side: "bottom", children: "More" })
47555
- ] }),
47556
- /* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuContent, { align: "end", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenuItem, { onClick: () => setEditMode((v2) => !v2), children: [
47557
- /* @__PURE__ */ jsxRuntimeExports.jsx(Pencil, { className: "size-4" }),
47558
- editMode ? "Done editing" : "Edit list"
47559
- ] }) })
47560
47842
  ] })
47561
47843
  ] })
47562
47844
  ] }),
@@ -47572,7 +47854,7 @@ function DashboardShell({ toolbarMenuItems, hideTitleBar, hideMenu }) {
47572
47854
  );
47573
47855
  list2?.focus({ preventScroll: true });
47574
47856
  },
47575
- children: /* @__PURE__ */ jsxRuntimeExports.jsx("main", { className: "overflow-hidden", children: loading ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex items-center justify-center py-12", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Spinner, { className: "size-5 text-muted-foreground" }) }) : projects.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col items-center justify-center gap-3 py-12 text-center", children: [
47857
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx("main", { className: "pb-3", children: loading ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex items-center justify-center py-12", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Spinner, { className: "size-5 text-muted-foreground" }) }) : projects.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col items-center justify-center gap-3 py-12 text-center", children: [
47576
47858
  /* @__PURE__ */ jsxRuntimeExports.jsx(FolderPlus, { className: "size-8 text-muted-foreground/50" }),
47577
47859
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
47578
47860
  /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm font-medium text-muted-foreground", children: "No projects yet" }),
@@ -47582,7 +47864,7 @@ function DashboardShell({ toolbarMenuItems, hideTitleBar, hideMenu }) {
47582
47864
  /* @__PURE__ */ jsxRuntimeExports.jsx(Plus, { className: "size-3 mr-1" }),
47583
47865
  "Add project"
47584
47866
  ] })
47585
- ] }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ProjectList, { labelFilter, editMode }) })
47867
+ ] }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ProjectList, { labelFilter }) })
47586
47868
  }
47587
47869
  ),
47588
47870
  (cliState.status === "manual" || cliState.status === "conflict") && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mx-4 mb-2 px-4 py-2 bg-blue-500/10 border border-blue-500/30 rounded-lg text-sm flex items-center justify-between gap-2", children: [
@@ -50331,16 +50613,18 @@ function LazyFileRow({
50331
50613
  setIsOpen(true);
50332
50614
  requestAnimationFrame(() => {
50333
50615
  requestAnimationFrame(() => {
50334
- const el = document.getElementById(`diff-file-${encodeURIComponent(filename)}`);
50335
50616
  const container = scrollContainerRef?.current;
50336
- if (el && container) {
50337
- const elTop = el.getBoundingClientRect().top;
50338
- const containerTop = container.getBoundingClientRect().top;
50339
- container.scrollTo({
50340
- top: container.scrollTop + (elTop - containerTop),
50341
- behavior: "instant"
50342
- });
50343
- }
50617
+ if (!container) return;
50618
+ const el = container.querySelector(
50619
+ `[data-band-diff-file="${CSS.escape(filename)}"]`
50620
+ );
50621
+ if (!el) return;
50622
+ const elTop = el.getBoundingClientRect().top;
50623
+ const containerTop = container.getBoundingClientRect().top;
50624
+ container.scrollTo({
50625
+ top: container.scrollTop + (elTop - containerTop),
50626
+ behavior: "instant"
50627
+ });
50344
50628
  });
50345
50629
  });
50346
50630
  }
@@ -50353,7 +50637,7 @@ function LazyFileRow({
50353
50637
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
50354
50638
  "div",
50355
50639
  {
50356
- id: `diff-file-${encodeURIComponent(filename)}`,
50640
+ "data-band-diff-file": filename,
50357
50641
  className: `overflow-clip rounded-lg border-2 ${isActive ? "border-blue-500/60" : "border-border"}`,
50358
50642
  children: [
50359
50643
  /* @__PURE__ */ jsxRuntimeExports.jsxs(
@@ -50659,6 +50943,55 @@ function DiffView({
50659
50943
  setFocusedFile({ path: filePath, seq: focusSeqRef.current });
50660
50944
  }, []);
50661
50945
  const [activeFile, setActiveFile] = reactExports.useState(null);
50946
+ const [commitDialogOpen, setCommitDialogOpen] = reactExports.useState(false);
50947
+ const canCommit = Boolean(adapter2.gitCommitWorkspace);
50948
+ const canPull = Boolean(adapter2.gitPullWorkspace);
50949
+ const canPush = Boolean(adapter2.gitPushWorkspace);
50950
+ const [gitOpStatus, setGitOpStatus] = reactExports.useState(null);
50951
+ const handleGitPull = reactExports.useCallback(async () => {
50952
+ const pull = adapter2.gitPullWorkspace;
50953
+ if (!pull) return;
50954
+ setGitOpStatus({ state: "running", op: "pull" });
50955
+ try {
50956
+ await pull.call(adapter2, workspaceId);
50957
+ setGitOpStatus({ state: "success", op: "pull" });
50958
+ fetchSummaryRef.current?.(true);
50959
+ setTimeout(() => {
50960
+ setGitOpStatus(
50961
+ (prev2) => prev2 && prev2.state === "success" && prev2.op === "pull" ? null : prev2
50962
+ );
50963
+ }, 2500);
50964
+ } catch (e2) {
50965
+ setGitOpStatus({
50966
+ state: "error",
50967
+ op: "pull",
50968
+ message: e2 instanceof Error ? e2.message : String(e2)
50969
+ });
50970
+ }
50971
+ }, [adapter2, workspaceId]);
50972
+ const handleGitPush = reactExports.useCallback(async () => {
50973
+ const push2 = adapter2.gitPushWorkspace;
50974
+ if (!push2) return;
50975
+ setGitOpStatus({ state: "running", op: "push" });
50976
+ try {
50977
+ await push2.call(adapter2, workspaceId);
50978
+ setGitOpStatus({ state: "success", op: "push" });
50979
+ setTimeout(() => {
50980
+ setGitOpStatus(
50981
+ (prev2) => prev2 && prev2.state === "success" && prev2.op === "push" ? null : prev2
50982
+ );
50983
+ }, 2500);
50984
+ } catch (e2) {
50985
+ setGitOpStatus({
50986
+ state: "error",
50987
+ op: "push",
50988
+ message: e2 instanceof Error ? e2.message : String(e2)
50989
+ });
50990
+ }
50991
+ }, [adapter2, workspaceId]);
50992
+ const gitOpBusy = gitOpStatus?.state === "running";
50993
+ const isPulling = gitOpBusy && gitOpStatus.op === "pull";
50994
+ const isPushing = gitOpBusy && gitOpStatus.op === "push";
50662
50995
  const [scrollContainerHeight, setScrollContainerHeight] = reactExports.useState(0);
50663
50996
  const [scrollContainerWidth, setScrollContainerWidth] = reactExports.useState(0);
50664
50997
  reactExports.useLayoutEffect(() => {
@@ -50692,7 +51025,9 @@ function DiffView({
50692
51025
  let closest = null;
50693
51026
  let closestDist = Infinity;
50694
51027
  for (const name2 of names) {
50695
- const el = document.getElementById(`diff-file-${encodeURIComponent(name2)}`);
51028
+ const el = container.querySelector(
51029
+ `[data-band-diff-file="${CSS.escape(name2)}"]`
51030
+ );
50696
51031
  if (!el) continue;
50697
51032
  const elRect = el.getBoundingClientRect();
50698
51033
  if (elRect.top <= top2 && elRect.bottom > top2) {
@@ -50954,10 +51289,73 @@ function DiffView({
50954
51289
  ] }),
50955
51290
  renderDiffSelect()
50956
51291
  ] });
51292
+ const renderGitSyncButtons = () => /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
51293
+ canPull && /* @__PURE__ */ jsxRuntimeExports.jsx(
51294
+ "button",
51295
+ {
51296
+ type: "button",
51297
+ onClick: handleGitPull,
51298
+ className: ghostBtnAlwaysClass,
51299
+ title: "Git pull",
51300
+ "aria-label": "Git pull",
51301
+ disabled: gitOpBusy,
51302
+ children: isPulling ? /* @__PURE__ */ jsxRuntimeExports.jsx(Spinner, { className: "size-3.5" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ArrowDownToLine, { className: "size-3.5" })
51303
+ }
51304
+ ),
51305
+ canPush && /* @__PURE__ */ jsxRuntimeExports.jsx(
51306
+ "button",
51307
+ {
51308
+ type: "button",
51309
+ onClick: handleGitPush,
51310
+ className: ghostBtnAlwaysClass,
51311
+ title: "Git push",
51312
+ "aria-label": "Git push",
51313
+ disabled: gitOpBusy,
51314
+ children: isPushing ? /* @__PURE__ */ jsxRuntimeExports.jsx(Spinner, { className: "size-3.5" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ArrowUpFromLine, { className: "size-3.5" })
51315
+ }
51316
+ )
51317
+ ] });
50957
51318
  if (!summary || summary.stats.filesChanged === 0) {
50958
51319
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex h-full flex-col overflow-hidden", children: [
50959
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex h-9 shrink-0 items-center gap-3 border-b border-border pl-3 pr-3", children: renderBranchIndicator(summary?.headBranch) }),
50960
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex min-h-0 flex-1 items-center justify-center", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-sm text-muted-foreground", children: "No changes" }) })
51320
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex h-9 shrink-0 items-center justify-between gap-3 border-b border-border pl-3 pr-3", children: [
51321
+ renderBranchIndicator(summary?.headBranch),
51322
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex items-center gap-1", children: renderGitSyncButtons() })
51323
+ ] }),
51324
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex min-h-0 flex-1 items-center justify-center", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-sm text-muted-foreground", children: "No changes" }) }),
51325
+ gitOpStatus && /* @__PURE__ */ jsxRuntimeExports.jsxs(
51326
+ "div",
51327
+ {
51328
+ role: gitOpStatus.state === "error" ? "alert" : "status",
51329
+ className: `flex shrink-0 items-center gap-2 border-t px-3 py-1.5 text-xs ${gitOpStatus.state === "error" ? "border-destructive/40 bg-destructive/10 text-destructive" : "border-border bg-muted/50 text-muted-foreground"}`,
51330
+ children: [
51331
+ gitOpStatus.state === "running" && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
51332
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Spinner, { className: "size-3.5" }),
51333
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: gitOpStatus.op === "pull" ? "Pulling…" : "Pushing…" })
51334
+ ] }),
51335
+ gitOpStatus.state === "success" && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
51336
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Check, { className: "size-3.5 text-green-600 dark:text-green-400" }),
51337
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: gitOpStatus.op === "pull" ? "Pulled" : "Pushed" })
51338
+ ] }),
51339
+ gitOpStatus.state === "error" && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
51340
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "font-medium", children: [
51341
+ gitOpStatus.op === "pull" ? "Pull failed" : "Push failed",
51342
+ ":"
51343
+ ] }),
51344
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "min-w-0 flex-1 truncate", title: gitOpStatus.message, children: gitOpStatus.message }),
51345
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
51346
+ "button",
51347
+ {
51348
+ type: "button",
51349
+ onClick: () => setGitOpStatus(null),
51350
+ className: "shrink-0 rounded px-1 text-destructive hover:bg-destructive/20",
51351
+ "aria-label": "Dismiss error",
51352
+ children: "×"
51353
+ }
51354
+ )
51355
+ ] })
51356
+ ]
51357
+ }
51358
+ )
50961
51359
  ] });
50962
51360
  }
50963
51361
  const fileStatuses = summary.fileStatuses || {};
@@ -50996,7 +51394,43 @@ function DiffView({
50996
51394
  renderSidebarToggle(),
50997
51395
  renderBranchIndicator(summary.headBranch)
50998
51396
  ] }),
50999
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "hidden items-center gap-1 @[32rem]/diff:flex", children: [
51397
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "hidden items-center gap-1 @[44rem]/diff:flex", children: [
51398
+ canCommit && /* @__PURE__ */ jsxRuntimeExports.jsx(
51399
+ "button",
51400
+ {
51401
+ type: "button",
51402
+ onClick: () => setCommitDialogOpen(true),
51403
+ className: ghostBtnAlwaysClass,
51404
+ title: "Commit changes",
51405
+ "aria-label": "Commit changes",
51406
+ disabled: gitOpBusy,
51407
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(GitCommitHorizontal, { className: "size-3.5" })
51408
+ }
51409
+ ),
51410
+ canPull && /* @__PURE__ */ jsxRuntimeExports.jsx(
51411
+ "button",
51412
+ {
51413
+ type: "button",
51414
+ onClick: handleGitPull,
51415
+ className: ghostBtnAlwaysClass,
51416
+ title: "Git pull",
51417
+ "aria-label": "Git pull",
51418
+ disabled: gitOpBusy,
51419
+ children: isPulling ? /* @__PURE__ */ jsxRuntimeExports.jsx(Spinner, { className: "size-3.5" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ArrowDownToLine, { className: "size-3.5" })
51420
+ }
51421
+ ),
51422
+ canPush && /* @__PURE__ */ jsxRuntimeExports.jsx(
51423
+ "button",
51424
+ {
51425
+ type: "button",
51426
+ onClick: handleGitPush,
51427
+ className: ghostBtnAlwaysClass,
51428
+ title: "Git push",
51429
+ "aria-label": "Git push",
51430
+ disabled: gitOpBusy,
51431
+ children: isPushing ? /* @__PURE__ */ jsxRuntimeExports.jsx(Spinner, { className: "size-3.5" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ArrowUpFromLine, { className: "size-3.5" })
51432
+ }
51433
+ ),
51000
51434
  /* @__PURE__ */ jsxRuntimeExports.jsx(
51001
51435
  "button",
51002
51436
  {
@@ -51058,7 +51492,7 @@ function DiffView({
51058
51492
  )
51059
51493
  ] })
51060
51494
  ] }),
51061
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex items-center @[32rem]/diff:hidden", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenu, { children: [
51495
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex items-center @[44rem]/diff:hidden", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenu, { children: [
51062
51496
  /* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
51063
51497
  "button",
51064
51498
  {
@@ -51070,6 +51504,18 @@ function DiffView({
51070
51504
  }
51071
51505
  ) }),
51072
51506
  /* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenuContent, { align: "end", children: [
51507
+ canCommit && /* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenuItem, { onSelect: () => setCommitDialogOpen(true), disabled: gitOpBusy, children: [
51508
+ /* @__PURE__ */ jsxRuntimeExports.jsx(GitCommitHorizontal, { className: "size-4" }),
51509
+ "Commit changes"
51510
+ ] }),
51511
+ canPull && /* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenuItem, { onSelect: () => handleGitPull(), disabled: gitOpBusy, children: [
51512
+ isPulling ? /* @__PURE__ */ jsxRuntimeExports.jsx(Spinner, { className: "size-4" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ArrowDownToLine, { className: "size-4" }),
51513
+ "Git pull"
51514
+ ] }),
51515
+ canPush && /* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenuItem, { onSelect: () => handleGitPush(), disabled: gitOpBusy, children: [
51516
+ isPushing ? /* @__PURE__ */ jsxRuntimeExports.jsx(Spinner, { className: "size-4" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ArrowUpFromLine, { className: "size-4" }),
51517
+ "Git push"
51518
+ ] }),
51073
51519
  /* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenuItem, { onSelect: () => fetchSummaryRef.current?.(true), children: [
51074
51520
  /* @__PURE__ */ jsxRuntimeExports.jsx(RefreshCw, { className: "size-4" }),
51075
51521
  "Reload changes"
@@ -51147,6 +51593,40 @@ function DiffView({
51147
51593
  `${filename}-last-wrapper`
51148
51594
  );
51149
51595
  }) }) }),
51596
+ gitOpStatus && /* @__PURE__ */ jsxRuntimeExports.jsxs(
51597
+ "div",
51598
+ {
51599
+ role: gitOpStatus.state === "error" ? "alert" : "status",
51600
+ className: `flex shrink-0 items-center gap-2 border-t px-3 py-1.5 text-xs ${gitOpStatus.state === "error" ? "border-destructive/40 bg-destructive/10 text-destructive" : "border-border bg-muted/50 text-muted-foreground"}`,
51601
+ children: [
51602
+ gitOpStatus.state === "running" && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
51603
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Spinner, { className: "size-3.5" }),
51604
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: gitOpStatus.op === "pull" ? "Pulling…" : "Pushing…" })
51605
+ ] }),
51606
+ gitOpStatus.state === "success" && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
51607
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Check, { className: "size-3.5 text-green-600 dark:text-green-400" }),
51608
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: gitOpStatus.op === "pull" ? "Pulled" : "Pushed" })
51609
+ ] }),
51610
+ gitOpStatus.state === "error" && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
51611
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "font-medium", children: [
51612
+ gitOpStatus.op === "pull" ? "Pull failed" : "Push failed",
51613
+ ":"
51614
+ ] }),
51615
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "min-w-0 flex-1 truncate", title: gitOpStatus.message, children: gitOpStatus.message }),
51616
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
51617
+ "button",
51618
+ {
51619
+ type: "button",
51620
+ onClick: () => setGitOpStatus(null),
51621
+ className: "shrink-0 rounded px-1 text-destructive hover:bg-destructive/20",
51622
+ "aria-label": "Dismiss error",
51623
+ children: "×"
51624
+ }
51625
+ )
51626
+ ] })
51627
+ ]
51628
+ }
51629
+ ),
51150
51630
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex h-9 shrink-0 items-center border-t border-border px-3 text-sm text-muted-foreground", children: [
51151
51631
  /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-medium text-foreground", children: summary.stats.filesChanged }),
51152
51632
  /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "ml-1", children: [
@@ -51162,7 +51642,19 @@ function DiffView({
51162
51642
  summary.stats.deletions
51163
51643
  ] })
51164
51644
  ] })
51165
- ] })
51645
+ ] }),
51646
+ canCommit && /* @__PURE__ */ jsxRuntimeExports.jsx(
51647
+ CommitDialog,
51648
+ {
51649
+ open: commitDialogOpen,
51650
+ onOpenChange: setCommitDialogOpen,
51651
+ workspaceId,
51652
+ filesChanged: summary.stats.filesChanged,
51653
+ onCommitted: () => {
51654
+ fetchSummaryRef.current?.(true);
51655
+ }
51656
+ }
51657
+ )
51166
51658
  ] });
51167
51659
  }
51168
51660
  const expandedStateCache = /* @__PURE__ */ new Map();
@@ -58840,6 +59332,18 @@ class WebDashboardAdapter {
58840
59332
  compareBranch
58841
59333
  });
58842
59334
  }
59335
+ async gitPullWorkspace(workspaceId) {
59336
+ await this.trpc.workspace.gitPull.mutate({ workspaceId });
59337
+ }
59338
+ async gitPushWorkspace(workspaceId) {
59339
+ await this.trpc.workspace.gitPush.mutate({ workspaceId });
59340
+ }
59341
+ async gitCommitWorkspace(workspaceId, message, body2) {
59342
+ await this.trpc.workspace.gitCommit.mutate({ workspaceId, message, body: body2 });
59343
+ }
59344
+ async generateCommitMessage(workspaceId) {
59345
+ return await this.trpc.workspace.generateCommitMessage.mutate({ workspaceId });
59346
+ }
58843
59347
  getWorkspaceFileUrl(workspaceId, path2) {
58844
59348
  return `/api/workspace-file/${encodeURIComponent(workspaceId)}/${path2.split("/").map(encodeURIComponent).join("/")}`;
58845
59349
  }
@@ -134143,12 +134647,12 @@ var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
134143
134647
  registerLayoutLoaders([
134144
134648
  {
134145
134649
  name: "dagre",
134146
- loader: /* @__PURE__ */ __name(async () => await import("./dagre-6UL2VRFP-Boln2sn2.js"), "loader")
134650
+ loader: /* @__PURE__ */ __name(async () => await import("./dagre-6UL2VRFP-Bp8x8Mkv.js"), "loader")
134147
134651
  },
134148
134652
  ...[
134149
134653
  {
134150
134654
  name: "cose-bilkent",
134151
- loader: /* @__PURE__ */ __name(async () => await import("./cose-bilkent-S5V4N54A-C_1AzHCC.js"), "loader")
134655
+ loader: /* @__PURE__ */ __name(async () => await import("./cose-bilkent-S5V4N54A-BbaFLHYm.js"), "loader")
134152
134656
  }
134153
134657
  ]
134154
134658
  ]);
@@ -134587,7 +135091,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
134587
135091
  return /^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(txt);
134588
135092
  }, "detector");
134589
135093
  var loader = /* @__PURE__ */ __name(async () => {
134590
- const { diagram: diagram2 } = await import("./c4Diagram-YG6GDRKO-BrRKberj.js");
135094
+ const { diagram: diagram2 } = await import("./c4Diagram-YG6GDRKO-B6OsjqeL.js");
134591
135095
  return { id, diagram: diagram2 };
134592
135096
  }, "loader");
134593
135097
  var plugin = {
@@ -134604,7 +135108,7 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
134604
135108
  return /^\s*graph/.test(txt);
134605
135109
  }, "detector");
134606
135110
  var loader2 = /* @__PURE__ */ __name(async () => {
134607
- const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-vyBoOcPY.js");
135111
+ const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-pTU34caI.js");
134608
135112
  return { id: id2, diagram: diagram2 };
134609
135113
  }, "loader");
134610
135114
  var plugin2 = {
@@ -134627,7 +135131,7 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
134627
135131
  return /^\s*flowchart/.test(txt);
134628
135132
  }, "detector");
134629
135133
  var loader3 = /* @__PURE__ */ __name(async () => {
134630
- const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-vyBoOcPY.js");
135134
+ const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-pTU34caI.js");
134631
135135
  return { id: id3, diagram: diagram2 };
134632
135136
  }, "loader");
134633
135137
  var plugin3 = {
@@ -134641,7 +135145,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
134641
135145
  return /^\s*erDiagram/.test(txt);
134642
135146
  }, "detector");
134643
135147
  var loader4 = /* @__PURE__ */ __name(async () => {
134644
- const { diagram: diagram2 } = await import("./erDiagram-Q2GNP2WA-CQPyD9EF.js");
135148
+ const { diagram: diagram2 } = await import("./erDiagram-Q2GNP2WA-mHeHQZph.js");
134645
135149
  return { id: id4, diagram: diagram2 };
134646
135150
  }, "loader");
134647
135151
  var plugin4 = {
@@ -134655,7 +135159,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
134655
135159
  return /^\s*gitGraph/.test(txt);
134656
135160
  }, "detector");
134657
135161
  var loader5 = /* @__PURE__ */ __name(async () => {
134658
- const { diagram: diagram2 } = await import("./gitGraphDiagram-V2S2FVAM-B5EDhgt0.js");
135162
+ const { diagram: diagram2 } = await import("./gitGraphDiagram-V2S2FVAM-CXj_hNTZ.js");
134659
135163
  return { id: id5, diagram: diagram2 };
134660
135164
  }, "loader");
134661
135165
  var plugin5 = {
@@ -134669,7 +135173,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
134669
135173
  return /^\s*gantt/.test(txt);
134670
135174
  }, "detector");
134671
135175
  var loader6 = /* @__PURE__ */ __name(async () => {
134672
- const { diagram: diagram2 } = await import("./ganttDiagram-JELNMOA3-DzN3kslF.js");
135176
+ const { diagram: diagram2 } = await import("./ganttDiagram-JELNMOA3-B9-9mkf4.js");
134673
135177
  return { id: id6, diagram: diagram2 };
134674
135178
  }, "loader");
134675
135179
  var plugin6 = {
@@ -134683,7 +135187,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
134683
135187
  return /^\s*info/.test(txt);
134684
135188
  }, "detector");
134685
135189
  var loader7 = /* @__PURE__ */ __name(async () => {
134686
- const { diagram: diagram2 } = await import("./infoDiagram-HS3SLOUP-DbxrgmBd.js");
135190
+ const { diagram: diagram2 } = await import("./infoDiagram-HS3SLOUP-B6M5J7al.js");
134687
135191
  return { id: id7, diagram: diagram2 };
134688
135192
  }, "loader");
134689
135193
  var info = {
@@ -134696,7 +135200,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
134696
135200
  return /^\s*pie/.test(txt);
134697
135201
  }, "detector");
134698
135202
  var loader8 = /* @__PURE__ */ __name(async () => {
134699
- const { diagram: diagram2 } = await import("./pieDiagram-ADFJNKIX-jACR3wDP.js");
135203
+ const { diagram: diagram2 } = await import("./pieDiagram-ADFJNKIX-Dp5PMO-9.js");
134700
135204
  return { id: id8, diagram: diagram2 };
134701
135205
  }, "loader");
134702
135206
  var pie = {
@@ -134709,7 +135213,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
134709
135213
  return /^\s*quadrantChart/.test(txt);
134710
135214
  }, "detector");
134711
135215
  var loader9 = /* @__PURE__ */ __name(async () => {
134712
- const { diagram: diagram2 } = await import("./quadrantDiagram-AYHSOK5B-BuOoP_Hg.js");
135216
+ const { diagram: diagram2 } = await import("./quadrantDiagram-AYHSOK5B-Emk5w_FF.js");
134713
135217
  return { id: id9, diagram: diagram2 };
134714
135218
  }, "loader");
134715
135219
  var plugin7 = {
@@ -134723,7 +135227,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
134723
135227
  return /^\s*xychart(-beta)?/.test(txt);
134724
135228
  }, "detector");
134725
135229
  var loader10 = /* @__PURE__ */ __name(async () => {
134726
- const { diagram: diagram2 } = await import("./xychartDiagram-PRI3JC2R-BmMwldTO.js");
135230
+ const { diagram: diagram2 } = await import("./xychartDiagram-PRI3JC2R-CniJ7uun.js");
134727
135231
  return { id: id10, diagram: diagram2 };
134728
135232
  }, "loader");
134729
135233
  var plugin8 = {
@@ -134737,7 +135241,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
134737
135241
  return /^\s*requirement(Diagram)?/.test(txt);
134738
135242
  }, "detector");
134739
135243
  var loader11 = /* @__PURE__ */ __name(async () => {
134740
- const { diagram: diagram2 } = await import("./requirementDiagram-UZGBJVZJ-XXmbIh8u.js");
135244
+ const { diagram: diagram2 } = await import("./requirementDiagram-UZGBJVZJ-BFx3mPBU.js");
134741
135245
  return { id: id11, diagram: diagram2 };
134742
135246
  }, "loader");
134743
135247
  var plugin9 = {
@@ -134751,7 +135255,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
134751
135255
  return /^\s*sequenceDiagram/.test(txt);
134752
135256
  }, "detector");
134753
135257
  var loader12 = /* @__PURE__ */ __name(async () => {
134754
- const { diagram: diagram2 } = await import("./sequenceDiagram-WL72ISMW-GTC4KppE.js");
135258
+ const { diagram: diagram2 } = await import("./sequenceDiagram-WL72ISMW-D5nqoNmF.js");
134755
135259
  return { id: id12, diagram: diagram2 };
134756
135260
  }, "loader");
134757
135261
  var plugin10 = {
@@ -134768,7 +135272,7 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
134768
135272
  return /^\s*classDiagram/.test(txt);
134769
135273
  }, "detector");
134770
135274
  var loader13 = /* @__PURE__ */ __name(async () => {
134771
- const { diagram: diagram2 } = await import("./classDiagram-2ON5EDUG-CVGo_62f.js");
135275
+ const { diagram: diagram2 } = await import("./classDiagram-2ON5EDUG-IOVBIWh6.js");
134772
135276
  return { id: id13, diagram: diagram2 };
134773
135277
  }, "loader");
134774
135278
  var plugin11 = {
@@ -134785,7 +135289,7 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
134785
135289
  return /^\s*classDiagram-v2/.test(txt);
134786
135290
  }, "detector");
134787
135291
  var loader14 = /* @__PURE__ */ __name(async () => {
134788
- const { diagram: diagram2 } = await import("./classDiagram-v2-WZHVMYZB-CVGo_62f.js");
135292
+ const { diagram: diagram2 } = await import("./classDiagram-v2-WZHVMYZB-IOVBIWh6.js");
134789
135293
  return { id: id14, diagram: diagram2 };
134790
135294
  }, "loader");
134791
135295
  var plugin12 = {
@@ -134802,7 +135306,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
134802
135306
  return /^\s*stateDiagram/.test(txt);
134803
135307
  }, "detector");
134804
135308
  var loader15 = /* @__PURE__ */ __name(async () => {
134805
- const { diagram: diagram2 } = await import("./stateDiagram-FKZM4ZOC-BxYN7guF.js");
135309
+ const { diagram: diagram2 } = await import("./stateDiagram-FKZM4ZOC-DegPKhzE.js");
134806
135310
  return { id: id15, diagram: diagram2 };
134807
135311
  }, "loader");
134808
135312
  var plugin13 = {
@@ -134822,7 +135326,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
134822
135326
  return false;
134823
135327
  }, "detector");
134824
135328
  var loader16 = /* @__PURE__ */ __name(async () => {
134825
- const { diagram: diagram2 } = await import("./stateDiagram-v2-4FDKWEC3-BNKwWfxp.js");
135329
+ const { diagram: diagram2 } = await import("./stateDiagram-v2-4FDKWEC3-CyBVK9Nd.js");
134826
135330
  return { id: id16, diagram: diagram2 };
134827
135331
  }, "loader");
134828
135332
  var plugin14 = {
@@ -134836,7 +135340,7 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
134836
135340
  return /^\s*journey/.test(txt);
134837
135341
  }, "detector");
134838
135342
  var loader17 = /* @__PURE__ */ __name(async () => {
134839
- const { diagram: diagram2 } = await import("./journeyDiagram-XKPGCS4Q-PyE_5Gmw.js");
135343
+ const { diagram: diagram2 } = await import("./journeyDiagram-XKPGCS4Q-DlXB8U9o.js");
134840
135344
  return { id: id17, diagram: diagram2 };
134841
135345
  }, "loader");
134842
135346
  var plugin15 = {
@@ -134903,7 +135407,7 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
134903
135407
  return false;
134904
135408
  }, "detector");
134905
135409
  var loader18 = /* @__PURE__ */ __name(async () => {
134906
- const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-vyBoOcPY.js");
135410
+ const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-pTU34caI.js");
134907
135411
  return { id: id18, diagram: diagram2 };
134908
135412
  }, "loader");
134909
135413
  var plugin16 = {
@@ -134917,7 +135421,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
134917
135421
  return /^\s*timeline/.test(txt);
134918
135422
  }, "detector");
134919
135423
  var loader19 = /* @__PURE__ */ __name(async () => {
134920
- const { diagram: diagram2 } = await import("./timeline-definition-IT6M3QCI-CA7TxBUn.js");
135424
+ const { diagram: diagram2 } = await import("./timeline-definition-IT6M3QCI-tvTSRDgB.js");
134921
135425
  return { id: id19, diagram: diagram2 };
134922
135426
  }, "loader");
134923
135427
  var plugin17 = {
@@ -134931,7 +135435,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
134931
135435
  return /^\s*mindmap/.test(txt);
134932
135436
  }, "detector");
134933
135437
  var loader20 = /* @__PURE__ */ __name(async () => {
134934
- const { diagram: diagram2 } = await import("./mindmap-definition-VGOIOE7T-CS-q_lU-.js");
135438
+ const { diagram: diagram2 } = await import("./mindmap-definition-VGOIOE7T-mtvWltnU.js");
134935
135439
  return { id: id20, diagram: diagram2 };
134936
135440
  }, "loader");
134937
135441
  var plugin18 = {
@@ -134945,7 +135449,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
134945
135449
  return /^\s*kanban/.test(txt);
134946
135450
  }, "detector");
134947
135451
  var loader21 = /* @__PURE__ */ __name(async () => {
134948
- const { diagram: diagram2 } = await import("./kanban-definition-3W4ZIXB7-PMuJIj2B.js");
135452
+ const { diagram: diagram2 } = await import("./kanban-definition-3W4ZIXB7-C17kXkGE.js");
134949
135453
  return { id: id21, diagram: diagram2 };
134950
135454
  }, "loader");
134951
135455
  var plugin19 = {
@@ -134959,7 +135463,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
134959
135463
  return /^\s*sankey(-beta)?/.test(txt);
134960
135464
  }, "detector");
134961
135465
  var loader22 = /* @__PURE__ */ __name(async () => {
134962
- const { diagram: diagram2 } = await import("./sankeyDiagram-TZEHDZUN-DDyaGWkS.js");
135466
+ const { diagram: diagram2 } = await import("./sankeyDiagram-TZEHDZUN-CdhDQVra.js");
134963
135467
  return { id: id22, diagram: diagram2 };
134964
135468
  }, "loader");
134965
135469
  var plugin20 = {
@@ -134973,7 +135477,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
134973
135477
  return /^\s*packet(-beta)?/.test(txt);
134974
135478
  }, "detector");
134975
135479
  var loader23 = /* @__PURE__ */ __name(async () => {
134976
- const { diagram: diagram2 } = await import("./diagram-S2PKOQOG-KHkj72ld.js");
135480
+ const { diagram: diagram2 } = await import("./diagram-S2PKOQOG-7SMgq4LB.js");
134977
135481
  return { id: id23, diagram: diagram2 };
134978
135482
  }, "loader");
134979
135483
  var packet = {
@@ -134986,7 +135490,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
134986
135490
  return /^\s*radar-beta/.test(txt);
134987
135491
  }, "detector");
134988
135492
  var loader24 = /* @__PURE__ */ __name(async () => {
134989
- const { diagram: diagram2 } = await import("./diagram-QEK2KX5R-CGNcKosm.js");
135493
+ const { diagram: diagram2 } = await import("./diagram-QEK2KX5R-ENECOyQd.js");
134990
135494
  return { id: id24, diagram: diagram2 };
134991
135495
  }, "loader");
134992
135496
  var radar = {
@@ -134999,7 +135503,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
134999
135503
  return /^\s*block(-beta)?/.test(txt);
135000
135504
  }, "detector");
135001
135505
  var loader25 = /* @__PURE__ */ __name(async () => {
135002
- const { diagram: diagram2 } = await import("./blockDiagram-VD42YOAC-Dh9a8aso.js");
135506
+ const { diagram: diagram2 } = await import("./blockDiagram-VD42YOAC-CP4tRTmG.js");
135003
135507
  return { id: id25, diagram: diagram2 };
135004
135508
  }, "loader");
135005
135509
  var plugin21 = {
@@ -135013,7 +135517,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
135013
135517
  return /^\s*architecture/.test(txt);
135014
135518
  }, "detector");
135015
135519
  var loader26 = /* @__PURE__ */ __name(async () => {
135016
- const { diagram: diagram2 } = await import("./architectureDiagram-VXUJARFQ-TRCw2ugF.js");
135520
+ const { diagram: diagram2 } = await import("./architectureDiagram-VXUJARFQ-Qsrsg-uI.js");
135017
135521
  return { id: id26, diagram: diagram2 };
135018
135522
  }, "loader");
135019
135523
  var architecture = {
@@ -135027,7 +135531,7 @@ var detector27 = /* @__PURE__ */ __name((txt) => {
135027
135531
  return /^\s*treemap/.test(txt);
135028
135532
  }, "detector");
135029
135533
  var loader27 = /* @__PURE__ */ __name(async () => {
135030
- const { diagram: diagram2 } = await import("./diagram-PSM6KHXK-BJe9rht3.js");
135534
+ const { diagram: diagram2 } = await import("./diagram-PSM6KHXK-ZKIV5gl5.js");
135031
135535
  return { id: id27, diagram: diagram2 };
135032
135536
  }, "loader");
135033
135537
  var treemap = {
@@ -148796,14 +149300,14 @@ function createTokenizer(parser, initialize3, from2) {
148796
149300
  previous: null,
148797
149301
  sliceSerialize,
148798
149302
  sliceStream,
148799
- write
149303
+ write: write2
148800
149304
  };
148801
149305
  let state2 = initialize3.tokenize.call(context2, effects);
148802
149306
  if (initialize3.resolveAll) {
148803
149307
  resolveAllConstructs.push(initialize3);
148804
149308
  }
148805
149309
  return context2;
148806
- function write(slice2) {
149310
+ function write2(slice2) {
148807
149311
  chunks = push(chunks, slice2);
148808
149312
  main2();
148809
149313
  if (chunks[chunks.length - 1] !== null) {
@@ -152740,7 +153244,7 @@ var tn = f("block", "before:content-[counter(line)]", "before:inline-block", "be
152740
153244
  var et2 = ({ className: e2, language: t2, style: o3, isIncomplete: n2, ...s2 }) => jsxRuntimeExports.jsx("div", { className: f("my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2", e2), "data-incomplete": n2 || void 0, "data-language": t2, "data-streamdown": "code-block", style: { contentVisibility: "auto", containIntrinsicSize: "auto 200px", ...o3 }, ...s2 });
152741
153245
  var Se = reactExports.createContext({ code: "" }), de = () => reactExports.useContext(Se);
152742
153246
  var ot2 = ({ language: e2 }) => jsxRuntimeExports.jsx("div", { className: "flex h-8 items-center text-muted-foreground text-xs", "data-language": e2, "data-streamdown": "code-block-header", children: jsxRuntimeExports.jsx("span", { className: "ml-1 font-mono lowercase", children: e2 }) });
152743
- var cn = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-h_Fr1oTy.js").then((e2) => ({ default: e2.HighlightedCodeBlockBody }))), rt = ({ code: e2, language: t2, className: o3, children: n2, isIncomplete: s2 = false, ...r2 }) => {
153247
+ var cn = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-DJufNUHF.js").then((e2) => ({ default: e2.HighlightedCodeBlockBody }))), rt = ({ code: e2, language: t2, className: o3, children: n2, isIncomplete: s2 = false, ...r2 }) => {
152744
153248
  let i2 = reactExports.useMemo(() => e2.replace(cn, ""), [e2]), c2 = reactExports.useMemo(() => ({ bg: "transparent", fg: "inherit", tokens: i2.split(`
152745
153249
  `).map((a2) => [{ content: a2, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [i2]);
152746
153250
  return jsxRuntimeExports.jsx(Se.Provider, { value: { code: e2 }, children: jsxRuntimeExports.jsxs(et2, { isIncomplete: s2, language: t2, children: [jsxRuntimeExports.jsx(ot2, { language: t2 }), n2 ? jsxRuntimeExports.jsx("div", { className: "pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end", children: jsxRuntimeExports.jsx("div", { className: "pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur", "data-streamdown": "code-block-actions", children: n2 }) }) : null, jsxRuntimeExports.jsx(reactExports.Suspense, { fallback: jsxRuntimeExports.jsx(Qe, { className: o3, language: t2, result: c2, ...r2 }), children: jsxRuntimeExports.jsx(dn, { className: o3, code: i2, language: t2, raw: c2, ...r2 }) })] }) });
@@ -153062,7 +153566,7 @@ var Dt = ({ children: e2, className: t2, onDownload: o3, onError: n2 }) => {
153062
153566
  }, []), jsxRuntimeExports.jsxs("div", { className: "relative", ref: i2, children: [jsxRuntimeExports.jsx("button", { className: f("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50", t2), disabled: c2, onClick: () => r2(!s2), title: "Download table", type: "button", children: e2 != null ? e2 : jsxRuntimeExports.jsx(Z, { size: 14 }) }), s2 ? jsxRuntimeExports.jsxs("div", { className: "absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg", children: [jsxRuntimeExports.jsx("button", { className: "w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40", onClick: () => a2("csv"), title: "Download table as CSV", type: "button", children: "CSV" }), jsxRuntimeExports.jsx("button", { className: "w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40", onClick: () => a2("markdown"), title: "Download table as Markdown", type: "button", children: "Markdown" })] }) : null] });
153063
153567
  };
153064
153568
  var Vt = ({ children: e2, className: t2, showControls: o3, ...n2 }) => jsxRuntimeExports.jsxs("div", { className: "my-4 flex flex-col gap-2 rounded-lg border border-border bg-sidebar p-2", "data-streamdown": "table-wrapper", children: [o3 ? jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-end gap-1", children: [jsxRuntimeExports.jsx(Ht, {}), jsxRuntimeExports.jsx(Dt, {})] }) : null, jsxRuntimeExports.jsx("div", { className: "border-collapse overflow-x-auto overscroll-y-auto rounded-md border border-border bg-background", children: jsxRuntimeExports.jsx("table", { className: f("w-full divide-y divide-border", t2), "data-streamdown": "table", ...n2, children: e2 }) })] });
153065
- var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-Bm5x4pKu.js").then((e2) => ({ default: e2.Mermaid }))), Kn = /language-([^\s]+)/;
153569
+ var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-DshSJqMO.js").then((e2) => ({ default: e2.Mermaid }))), Kn = /language-([^\s]+)/;
153066
153570
  function ke(e2, t2) {
153067
153571
  if (!(e2 != null && e2.position || t2 != null && t2.position)) return true;
153068
153572
  if (!(e2 != null && e2.position && (t2 != null && t2.position))) return false;
@@ -162547,7 +163051,7 @@ function processUIMessageStream({
162547
163051
  return stream.pipeThrough(
162548
163052
  new TransformStream({
162549
163053
  async transform(chunk, controller) {
162550
- await runUpdateMessageJob(async ({ state: state2, write }) => {
163054
+ await runUpdateMessageJob(async ({ state: state2, write: write2 }) => {
162551
163055
  var _a21, _b3, _c2, _d2;
162552
163056
  function getToolInvocation(toolCallId) {
162553
163057
  const toolInvocations = state2.message.parts.filter(isToolUIPart);
@@ -162664,7 +163168,7 @@ function processUIMessageStream({
162664
163168
  };
162665
163169
  state2.activeTextParts[chunk.id] = textPart;
162666
163170
  state2.message.parts.push(textPart);
162667
- write();
163171
+ write2();
162668
163172
  break;
162669
163173
  }
162670
163174
  case "text-delta": {
@@ -162678,7 +163182,7 @@ function processUIMessageStream({
162678
163182
  }
162679
163183
  textPart.text += chunk.delta;
162680
163184
  textPart.providerMetadata = (_a21 = chunk.providerMetadata) != null ? _a21 : textPart.providerMetadata;
162681
- write();
163185
+ write2();
162682
163186
  break;
162683
163187
  }
162684
163188
  case "text-end": {
@@ -162693,7 +163197,7 @@ function processUIMessageStream({
162693
163197
  textPart.state = "done";
162694
163198
  textPart.providerMetadata = (_b3 = chunk.providerMetadata) != null ? _b3 : textPart.providerMetadata;
162695
163199
  delete state2.activeTextParts[chunk.id];
162696
- write();
163200
+ write2();
162697
163201
  break;
162698
163202
  }
162699
163203
  case "reasoning-start": {
@@ -162705,7 +163209,7 @@ function processUIMessageStream({
162705
163209
  };
162706
163210
  state2.activeReasoningParts[chunk.id] = reasoningPart;
162707
163211
  state2.message.parts.push(reasoningPart);
162708
- write();
163212
+ write2();
162709
163213
  break;
162710
163214
  }
162711
163215
  case "reasoning-delta": {
@@ -162719,7 +163223,7 @@ function processUIMessageStream({
162719
163223
  }
162720
163224
  reasoningPart.text += chunk.delta;
162721
163225
  reasoningPart.providerMetadata = (_c2 = chunk.providerMetadata) != null ? _c2 : reasoningPart.providerMetadata;
162722
- write();
163226
+ write2();
162723
163227
  break;
162724
163228
  }
162725
163229
  case "reasoning-end": {
@@ -162734,7 +163238,7 @@ function processUIMessageStream({
162734
163238
  reasoningPart.providerMetadata = (_d2 = chunk.providerMetadata) != null ? _d2 : reasoningPart.providerMetadata;
162735
163239
  reasoningPart.state = "done";
162736
163240
  delete state2.activeReasoningParts[chunk.id];
162737
- write();
163241
+ write2();
162738
163242
  break;
162739
163243
  }
162740
163244
  case "file": {
@@ -162744,7 +163248,7 @@ function processUIMessageStream({
162744
163248
  url: chunk.url,
162745
163249
  ...chunk.providerMetadata != null ? { providerMetadata: chunk.providerMetadata } : {}
162746
163250
  });
162747
- write();
163251
+ write2();
162748
163252
  break;
162749
163253
  }
162750
163254
  case "source-url": {
@@ -162755,7 +163259,7 @@ function processUIMessageStream({
162755
163259
  title: chunk.title,
162756
163260
  providerMetadata: chunk.providerMetadata
162757
163261
  });
162758
- write();
163262
+ write2();
162759
163263
  break;
162760
163264
  }
162761
163265
  case "source-document": {
@@ -162767,7 +163271,7 @@ function processUIMessageStream({
162767
163271
  filename: chunk.filename,
162768
163272
  providerMetadata: chunk.providerMetadata
162769
163273
  });
162770
- write();
163274
+ write2();
162771
163275
  break;
162772
163276
  }
162773
163277
  case "tool-input-start": {
@@ -162800,7 +163304,7 @@ function processUIMessageStream({
162800
163304
  providerMetadata: chunk.providerMetadata
162801
163305
  });
162802
163306
  }
162803
- write();
163307
+ write2();
162804
163308
  break;
162805
163309
  }
162806
163310
  case "tool-input-delta": {
@@ -162833,7 +163337,7 @@ function processUIMessageStream({
162833
163337
  title: partialToolCall.title
162834
163338
  });
162835
163339
  }
162836
- write();
163340
+ write2();
162837
163341
  break;
162838
163342
  }
162839
163343
  case "tool-input-available": {
@@ -162858,7 +163362,7 @@ function processUIMessageStream({
162858
163362
  title: chunk.title
162859
163363
  });
162860
163364
  }
162861
- write();
163365
+ write2();
162862
163366
  if (onToolCall && !chunk.providerExecuted) {
162863
163367
  await onToolCall({
162864
163368
  toolCall: chunk
@@ -162891,20 +163395,20 @@ function processUIMessageStream({
162891
163395
  providerMetadata: chunk.providerMetadata
162892
163396
  });
162893
163397
  }
162894
- write();
163398
+ write2();
162895
163399
  break;
162896
163400
  }
162897
163401
  case "tool-approval-request": {
162898
163402
  const toolInvocation = getToolInvocation(chunk.toolCallId);
162899
163403
  toolInvocation.state = "approval-requested";
162900
163404
  toolInvocation.approval = { id: chunk.approvalId };
162901
- write();
163405
+ write2();
162902
163406
  break;
162903
163407
  }
162904
163408
  case "tool-output-denied": {
162905
163409
  const toolInvocation = getToolInvocation(chunk.toolCallId);
162906
163410
  toolInvocation.state = "output-denied";
162907
- write();
163411
+ write2();
162908
163412
  break;
162909
163413
  }
162910
163414
  case "tool-output-available": {
@@ -162932,7 +163436,7 @@ function processUIMessageStream({
162932
163436
  title: toolInvocation.title
162933
163437
  });
162934
163438
  }
162935
- write();
163439
+ write2();
162936
163440
  break;
162937
163441
  }
162938
163442
  case "tool-output-error": {
@@ -162959,7 +163463,7 @@ function processUIMessageStream({
162959
163463
  title: toolInvocation.title
162960
163464
  });
162961
163465
  }
162962
- write();
163466
+ write2();
162963
163467
  break;
162964
163468
  }
162965
163469
  case "start-step": {
@@ -162977,7 +163481,7 @@ function processUIMessageStream({
162977
163481
  }
162978
163482
  await updateMessageMetadata(chunk.messageMetadata);
162979
163483
  if (chunk.messageId != null || chunk.messageMetadata != null) {
162980
- write();
163484
+ write2();
162981
163485
  }
162982
163486
  break;
162983
163487
  }
@@ -162987,14 +163491,14 @@ function processUIMessageStream({
162987
163491
  }
162988
163492
  await updateMessageMetadata(chunk.messageMetadata);
162989
163493
  if (chunk.messageMetadata != null) {
162990
- write();
163494
+ write2();
162991
163495
  }
162992
163496
  break;
162993
163497
  }
162994
163498
  case "message-metadata": {
162995
163499
  await updateMessageMetadata(chunk.messageMetadata);
162996
163500
  if (chunk.messageMetadata != null) {
162997
- write();
163501
+ write2();
162998
163502
  }
162999
163503
  break;
163000
163504
  }
@@ -163033,7 +163537,7 @@ function processUIMessageStream({
163033
163537
  state2.message.parts.push(dataChunk);
163034
163538
  }
163035
163539
  onData == null ? void 0 : onData(dataChunk);
163036
- write();
163540
+ write2();
163037
163541
  }
163038
163542
  }
163039
163543
  }
@@ -170679,7 +171183,7 @@ const PANEL_SHORTCUTS = {
170679
171183
  browser: "⇧⌘B"
170680
171184
  };
170681
171185
  const DockviewTerminalContainer = reactExports.lazy(
170682
- () => import("./DockviewTerminalContainer-Dyp-rCDV.js").then((m2) => ({
171186
+ () => import("./DockviewTerminalContainer-BCSFPnwD.js").then((m2) => ({
170683
171187
  default: m2.DockviewTerminalContainer
170684
171188
  }))
170685
171189
  );
@@ -172092,11 +172596,11 @@ function RootLayout() {
172092
172596
  ] })
172093
172597
  ] });
172094
172598
  }
172095
- const $$splitComponentImporter$7 = () => import("./index-B0FUh3Pc.js");
172599
+ const $$splitComponentImporter$7 = () => import("./index-D9dAcVgg.js");
172096
172600
  const Route$7 = createFileRoute("/")({
172097
172601
  component: lazyRouteComponent($$splitComponentImporter$7, "component")
172098
172602
  });
172099
- const $$splitComponentImporter$6 = () => import("./workspace._workspaceId-C936_ZgM.js");
172603
+ const $$splitComponentImporter$6 = () => import("./workspace._workspaceId-CePk4lAs.js");
172100
172604
  const Route$6 = createFileRoute("/workspace/$workspaceId")({
172101
172605
  component: lazyRouteComponent($$splitComponentImporter$6, "component")
172102
172606
  });
@@ -172115,11 +172619,11 @@ const FindInFileContext = reactExports.createContext({
172115
172619
  function useFindInFileContext() {
172116
172620
  return reactExports.useContext(FindInFileContext);
172117
172621
  }
172118
- const $$splitComponentImporter$5 = () => import("./workspace._workspaceId.index-86dKrOT8.js");
172622
+ const $$splitComponentImporter$5 = () => import("./workspace._workspaceId.index-xl9QlCX1.js");
172119
172623
  const Route$5 = createFileRoute("/workspace/$workspaceId/")({
172120
172624
  component: lazyRouteComponent($$splitComponentImporter$5, "component")
172121
172625
  });
172122
- const $$splitComponentImporter$4 = () => import("./workspace._workspaceId.terminal-BAeUoj6m.js");
172626
+ const $$splitComponentImporter$4 = () => import("./workspace._workspaceId.terminal-wcBXHH_7.js");
172123
172627
  const Route$4 = createFileRoute("/workspace/$workspaceId/terminal")({
172124
172628
  component: lazyRouteComponent($$splitComponentImporter$4, "component")
172125
172629
  });
@@ -172127,15 +172631,15 @@ const $$splitComponentImporter$3 = () => import("./workspace._workspaceId.code-C
172127
172631
  const Route$3 = createFileRoute("/workspace/$workspaceId/code")({
172128
172632
  component: lazyRouteComponent($$splitComponentImporter$3, "component")
172129
172633
  });
172130
- const $$splitComponentImporter$2 = () => import("./workspace._workspaceId.changes-CH3KFMSq.js");
172634
+ const $$splitComponentImporter$2 = () => import("./workspace._workspaceId.changes-Cu_-SRPF.js");
172131
172635
  const Route$2 = createFileRoute("/workspace/$workspaceId/changes")({
172132
172636
  component: lazyRouteComponent($$splitComponentImporter$2, "component")
172133
172637
  });
172134
- const $$splitComponentImporter$1 = () => import("./workspace._workspaceId.code.index-BHzxCT1V.js");
172638
+ const $$splitComponentImporter$1 = () => import("./workspace._workspaceId.code.index-Crmc16LI.js");
172135
172639
  const Route$1 = createFileRoute("/workspace/$workspaceId/code/")({
172136
172640
  component: lazyRouteComponent($$splitComponentImporter$1, "component")
172137
172641
  });
172138
- const $$splitComponentImporter = () => import("./workspace._workspaceId.code._-BuovU8kl.js");
172642
+ const $$splitComponentImporter = () => import("./workspace._workspaceId.code._-C5FPkpSY.js");
172139
172643
  const Route2 = createFileRoute("/workspace/$workspaceId/code/$")({
172140
172644
  component: lazyRouteComponent($$splitComponentImporter, "component")
172141
172645
  });