@band-app/server 0.9.0 → 0.9.2

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 (179) hide show
  1. package/dist/client/assets/{DockviewTerminalContainer-DTMR0Pwz.js → DockviewTerminalContainer-DWHIc-4-.js} +2 -2
  2. package/dist/client/assets/TerminalPanel-m73O5CIc.js +4 -0
  3. package/dist/client/assets/{_basePickBy-DJWAkaF0.js → _basePickBy-BKaMH_7t.js} +1 -1
  4. package/dist/client/assets/{_baseUniq-FEm9-P2D.js → _baseUniq-CQkxA8qy.js} +1 -1
  5. package/dist/client/assets/addon-search-DCE88ROn.js +7 -0
  6. package/dist/client/assets/addon-webgl-CeRvQWkA.js +58 -0
  7. package/dist/client/assets/{arc-CPPy8LJ7.js → arc-Bose4Nlr.js} +1 -1
  8. package/dist/client/assets/{architectureDiagram-VXUJARFQ-CnVtE-oS.js → architectureDiagram-VXUJARFQ-2sFlOIMR.js} +1 -1
  9. package/dist/client/assets/{blockDiagram-VD42YOAC-B-RhgMhe.js → blockDiagram-VD42YOAC-DJAsEjOI.js} +1 -1
  10. package/dist/client/assets/{c4Diagram-YG6GDRKO-B8VrSS8f.js → c4Diagram-YG6GDRKO-DheiVuNi.js} +1 -1
  11. package/dist/client/assets/channel-BnzmiQbl.js +1 -0
  12. package/dist/client/assets/{chunk-4BX2VUAB-_tB3SRRs.js → chunk-4BX2VUAB-DvXp34cF.js} +1 -1
  13. package/dist/client/assets/{chunk-55IACEB6-v_BTOAps.js → chunk-55IACEB6-CDyPx-Tg.js} +1 -1
  14. package/dist/client/assets/{chunk-B4BG7PRW-5Px4nD1U.js → chunk-B4BG7PRW-BTtdtPVg.js} +1 -1
  15. package/dist/client/assets/{chunk-DI55MBZ5-DD7BAjfI.js → chunk-DI55MBZ5-9GoKl76p.js} +1 -1
  16. package/dist/client/assets/{chunk-FMBD7UC4-DwxW4g8y.js → chunk-FMBD7UC4-C01REv3a.js} +1 -1
  17. package/dist/client/assets/{chunk-QN33PNHL-Cp7Y9ku0.js → chunk-QN33PNHL-CoCCh58U.js} +1 -1
  18. package/dist/client/assets/{chunk-QZHKN3VN-ByfjbCRs.js → chunk-QZHKN3VN-DDFTrbxS.js} +1 -1
  19. package/dist/client/assets/{chunk-TZMSLE5B-Cty3yzGm.js → chunk-TZMSLE5B-DfvMfmy7.js} +1 -1
  20. package/dist/client/assets/classDiagram-2ON5EDUG-BH5EB2Fv.js +1 -0
  21. package/dist/client/assets/classDiagram-v2-WZHVMYZB-BH5EB2Fv.js +1 -0
  22. package/dist/client/assets/clone-Bat0lHCp.js +1 -0
  23. package/dist/client/assets/{cose-bilkent-S5V4N54A-CuZNFcRJ.js → cose-bilkent-S5V4N54A-B7exDDfj.js} +1 -1
  24. package/dist/client/assets/{dagre-6UL2VRFP-ChhVONtn.js → dagre-6UL2VRFP-Cel7r0v3.js} +2 -2
  25. package/dist/client/assets/{diagram-PSM6KHXK-AKiiqmtg.js → diagram-PSM6KHXK-C7lbk8Kf.js} +1 -1
  26. package/dist/client/assets/{diagram-QEK2KX5R-DKFD2YXL.js → diagram-QEK2KX5R-DvlCS56Z.js} +1 -1
  27. package/dist/client/assets/{diagram-S2PKOQOG-kKPeG7jX.js → diagram-S2PKOQOG-HSl5Oecr.js} +1 -1
  28. package/dist/client/assets/{erDiagram-Q2GNP2WA-ZnoAiEdS.js → erDiagram-Q2GNP2WA-B2_RJg2L.js} +1 -1
  29. package/dist/client/assets/{flowDiagram-NV44I4VS-Baxcbjc5.js → flowDiagram-NV44I4VS-BPYCHaLb.js} +1 -1
  30. package/dist/client/assets/{ganttDiagram-JELNMOA3-CBb3nHo0.js → ganttDiagram-JELNMOA3-CD-msupP.js} +1 -1
  31. package/dist/client/assets/{gitGraphDiagram-V2S2FVAM-BTFZnSDI.js → gitGraphDiagram-V2S2FVAM-xwVYLUhE.js} +1 -1
  32. package/dist/client/assets/{graph-MrEC2xKX.js → graph-Dbv1AWta.js} +1 -1
  33. package/dist/client/assets/{highlighted-body-B3W2YXNL-BS2hJfWh.js → highlighted-body-B3W2YXNL-CGkNHhPo.js} +1 -1
  34. package/dist/client/assets/{index-DJQTsQGO.js → index-A2XaYyYw.js} +1 -1
  35. package/dist/client/assets/{index-CVRHdbPK.js → index-B5YiIiNq.js} +1 -1
  36. package/dist/client/assets/{index-CfEE8a0_.js → index-B7ZSAY53.js} +1 -1
  37. package/dist/client/assets/{index-Ch0l8OjM.js → index-BBs4HyTg.js} +1 -1
  38. package/dist/client/assets/{index-rV38Cr7z.js → index-BDzzWD64.js} +1 -1
  39. package/dist/client/assets/{index-BdJiXI-P.js → index-BptuxjE6.js} +1 -1
  40. package/dist/client/assets/{index-DDMeeyZ8.js → index-BwhOjkOO.js} +1 -1
  41. package/dist/client/assets/{index-B_GvXb7m.js → index-C5NAzmgp.js} +1 -1
  42. package/dist/client/assets/{index-CIdqPvjZ.js → index-CESm9EUT.js} +1 -1
  43. package/dist/client/assets/{index-VXPLEG91.js → index-CF0KBM34.js} +1 -1
  44. package/dist/client/assets/{index-BDN9e11q.js → index-C_SXPmbV.js} +1 -1
  45. package/dist/client/assets/{index-aPJvCOPb.js → index-CiPtBqSR.js} +1 -1
  46. package/dist/client/assets/{index-CBisgMx2.js → index-D5rP0BSv.js} +1 -1
  47. package/dist/client/assets/{index-DOXhz9pD.js → index-D9aDcgku.js} +1 -1
  48. package/dist/client/assets/{index-7DARDVRb.js → index-DGsskOgM.js} +1 -1
  49. package/dist/client/assets/{index-CVeoY9iI.js → index-Do3joW0D.js} +1 -1
  50. package/dist/client/assets/{index-D4NhPj-o.js → index-DsmQlt3C.js} +1 -1
  51. package/dist/client/assets/{index-CuQunDRR.js → index-qKsRlhz3.js} +1 -1
  52. package/dist/client/assets/{infoDiagram-HS3SLOUP-oFwyD78x.js → infoDiagram-HS3SLOUP-hfH1C_pr.js} +1 -1
  53. package/dist/client/assets/{journeyDiagram-XKPGCS4Q-lo9DdnCu.js → journeyDiagram-XKPGCS4Q-ZSxc6ITj.js} +1 -1
  54. package/dist/client/assets/{kanban-definition-3W4ZIXB7-4rwLVKZW.js → kanban-definition-3W4ZIXB7-U4z7vSSP.js} +1 -1
  55. package/dist/client/assets/{layout-1mxSpUNJ.js → layout-BkxMGu4B.js} +1 -1
  56. package/dist/client/assets/{linear-Dkz4-xmm.js → linear-Bdy4hNwe.js} +1 -1
  57. package/dist/client/assets/{main-3mnrWI33.js → main-DwiBxZvA.js} +215 -215
  58. package/dist/client/assets/main-Tt4WZJMG.css +1 -0
  59. package/dist/client/assets/{mindmap-definition-VGOIOE7T-C9DGZ2wo.js → mindmap-definition-VGOIOE7T-CJyNknV7.js} +1 -1
  60. package/dist/client/assets/{pieDiagram-ADFJNKIX-CIJsYcr_.js → pieDiagram-ADFJNKIX-DwfChKVB.js} +1 -1
  61. package/dist/client/assets/{quadrantDiagram-AYHSOK5B-LYETacVk.js → quadrantDiagram-AYHSOK5B-QD4JEDeD.js} +1 -1
  62. package/dist/client/assets/{requirementDiagram-UZGBJVZJ-QMgoQzIc.js → requirementDiagram-UZGBJVZJ-DBOLPRLx.js} +1 -1
  63. package/dist/client/assets/{sankeyDiagram-TZEHDZUN-BR64MzNX.js → sankeyDiagram-TZEHDZUN-D73QuPjf.js} +1 -1
  64. package/dist/client/assets/{sequenceDiagram-WL72ISMW-B1Wc3LIZ.js → sequenceDiagram-WL72ISMW-sQ_Dekb1.js} +1 -1
  65. package/dist/client/assets/{square-terminal-VVrCccPf.js → square-terminal-BmZtdUqJ.js} +1 -1
  66. package/dist/client/assets/{stateDiagram-FKZM4ZOC-Bimijufb.js → stateDiagram-FKZM4ZOC-DejJZefR.js} +1 -1
  67. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-C3KpG1Lu.js +1 -0
  68. package/dist/client/assets/{timeline-definition-IT6M3QCI-CaCnBJch.js → timeline-definition-IT6M3QCI-5gT-CArs.js} +1 -1
  69. package/dist/client/assets/{treemap-GDKQZRPO-CeDCW21U.js → treemap-GDKQZRPO-Sm5U59Kz.js} +1 -1
  70. package/dist/client/assets/{useSessionListContext-DsCz19Pd.js → useSessionListContext-iz8sf9L6.js} +1 -1
  71. package/dist/client/assets/{workspace._workspaceId-C8WDf9jx.js → workspace._workspaceId-CgBppz9O.js} +1 -1
  72. package/dist/client/assets/{workspace._workspaceId.changes-upws5-8z.js → workspace._workspaceId.changes-Dn42JgBH.js} +1 -1
  73. package/dist/client/assets/workspace._workspaceId.code-C3Nx-w_a.js +1 -0
  74. package/dist/client/assets/{workspace._workspaceId.code._-Ceg9Aq5G.js → workspace._workspaceId.code._-OCcsWq1e.js} +1 -1
  75. package/dist/client/assets/{workspace._workspaceId.code.index-ClXlPUEL.js → workspace._workspaceId.code.index-D8CkYPgV.js} +1 -1
  76. package/dist/client/assets/{workspace._workspaceId.index-e__7t5a1.js → workspace._workspaceId.index-BBhBKPNM.js} +1 -1
  77. package/dist/client/assets/{workspace._workspaceId.terminal-DHlQ0uu7.js → workspace._workspaceId.terminal-B_mQrV6_.js} +2 -2
  78. package/dist/client/assets/xterm-AZ511Krh.css +1 -0
  79. package/dist/client/assets/xterm-iwIWEtGc.js +10 -0
  80. package/dist/client/assets/{xychartDiagram-PRI3JC2R-U_1LNIry.js → xychartDiagram-PRI3JC2R-h6Sm8OTK.js} +2 -2
  81. package/dist/server/assets/{DockviewTerminalContainer-BCSFPnwD.js → DockviewTerminalContainer-TTt325-b.js} +3 -3
  82. package/dist/server/assets/{TerminalPanel-Da-2bxgG.js → TerminalPanel-DRzfuu-T.js} +154 -5
  83. package/dist/server/assets/{_basePickBy-SBHiqTXX.js → _basePickBy-wC54TbQu.js} +2 -2
  84. package/dist/server/assets/{_baseUniq-DPIyDr4x.js → _baseUniq-rn84LOSK.js} +1 -1
  85. package/dist/server/assets/{_tanstack-start-manifest_v-C_DVF4Z3.js → _tanstack-start-manifest_v-fymioLKZ.js} +1 -1
  86. package/dist/server/assets/addon-search-BS53_-cp.js +1247 -0
  87. package/dist/server/assets/addon-webgl-BeO2q2vc.js +2167 -0
  88. package/dist/server/assets/{arc-ZDC2L6mg.js → arc-DdlCXdeL.js} +1 -1
  89. package/dist/server/assets/{architecture-7HQA4BMR-CB5Azb5t.js → architecture-7HQA4BMR-CHMWBrpq.js} +6 -6
  90. package/dist/server/assets/{architectureDiagram-VXUJARFQ-Qsrsg-uI.js → architectureDiagram-VXUJARFQ-CqvTF0VE.js} +6 -6
  91. package/dist/server/assets/{blockDiagram-VD42YOAC-CP4tRTmG.js → blockDiagram-VD42YOAC-Bc-Qk0S9.js} +6 -6
  92. package/dist/server/assets/{c4Diagram-YG6GDRKO-B6OsjqeL.js → c4Diagram-YG6GDRKO-COi5PFIX.js} +2 -2
  93. package/dist/server/assets/{channel-BJqsX8gK.js → channel-B2GZC_H9.js} +1 -1
  94. package/dist/server/assets/{chunk-4BX2VUAB-DzxL-Vlj.js → chunk-4BX2VUAB-rhgtjYHc.js} +1 -1
  95. package/dist/server/assets/{chunk-55IACEB6-BznKDRi0.js → chunk-55IACEB6-CLPQZ1p7.js} +1 -1
  96. package/dist/server/assets/{chunk-B4BG7PRW-c8DbjAi7.js → chunk-B4BG7PRW-6Vb3MfoD.js} +4 -4
  97. package/dist/server/assets/{chunk-DI55MBZ5-DYkuYgNP.js → chunk-DI55MBZ5-D-VoOG5D.js} +3 -3
  98. package/dist/server/assets/{chunk-FMBD7UC4-D3Myc1HK.js → chunk-FMBD7UC4-CByHMCvr.js} +1 -1
  99. package/dist/server/assets/{chunk-QN33PNHL-DdNxAwkp.js → chunk-QN33PNHL-CRZHpta9.js} +1 -1
  100. package/dist/server/assets/{chunk-QZHKN3VN-TJbRnd9f.js → chunk-QZHKN3VN-ncUfNOMa.js} +1 -1
  101. package/dist/server/assets/{chunk-TZMSLE5B-CxQdoi6h.js → chunk-TZMSLE5B-BGxlM2si.js} +1 -1
  102. package/dist/server/assets/{classDiagram-v2-WZHVMYZB-IOVBIWh6.js → classDiagram-2ON5EDUG-SabF3eWj.js} +5 -5
  103. package/dist/server/assets/{classDiagram-2ON5EDUG-IOVBIWh6.js → classDiagram-v2-WZHVMYZB-SabF3eWj.js} +5 -5
  104. package/dist/server/assets/{clone-A7GSbvNR.js → clone-CQGJ84x8.js} +1 -1
  105. package/dist/server/assets/{cose-bilkent-S5V4N54A-BbaFLHYm.js → cose-bilkent-S5V4N54A-WSuuldrv.js} +1 -1
  106. package/dist/server/assets/{dagre-6UL2VRFP-Bp8x8Mkv.js → dagre-6UL2VRFP-DZfpOMzg.js} +6 -6
  107. package/dist/server/assets/{diagram-PSM6KHXK-ZKIV5gl5.js → diagram-PSM6KHXK-DCKwYA11.js} +7 -7
  108. package/dist/server/assets/{diagram-QEK2KX5R-ENECOyQd.js → diagram-QEK2KX5R-GhJ4dzVD.js} +6 -6
  109. package/dist/server/assets/{diagram-S2PKOQOG-7SMgq4LB.js → diagram-S2PKOQOG-DBeAGiPC.js} +6 -6
  110. package/dist/server/assets/{erDiagram-Q2GNP2WA-mHeHQZph.js → erDiagram-Q2GNP2WA-XphQqWxZ.js} +4 -4
  111. package/dist/server/assets/{flowDiagram-NV44I4VS-pTU34caI.js → flowDiagram-NV44I4VS-Cw9n-l35.js} +5 -5
  112. package/dist/server/assets/{ganttDiagram-JELNMOA3-B9-9mkf4.js → ganttDiagram-JELNMOA3-CqqJbuET.js} +2 -2
  113. package/dist/server/assets/{gitGraph-G5XIXVHT-68r2EbJb.js → gitGraph-G5XIXVHT-DvgCllrO.js} +6 -6
  114. package/dist/server/assets/{gitGraphDiagram-V2S2FVAM-CXj_hNTZ.js → gitGraphDiagram-V2S2FVAM-CUIK26NP.js} +7 -7
  115. package/dist/server/assets/{graph--fuCvixs.js → graph-B-wfb0D4.js} +2 -2
  116. package/dist/server/assets/{highlighted-body-B3W2YXNL-DJufNUHF.js → highlighted-body-B3W2YXNL-BVGB-5j8.js} +1 -1
  117. package/dist/server/assets/{index-AsjLe9eZ.js → index-BCNMZ2-I.js} +2 -2
  118. package/dist/server/assets/{index-BolAqCkn.js → index-BHR21Rwx.js} +2 -2
  119. package/dist/server/assets/{index-FBfgxNp1.js → index-BUKmWu07.js} +3 -3
  120. package/dist/server/assets/{index-B6HcpJov.js → index-BUSq_KFc.js} +5 -5
  121. package/dist/server/assets/{index-C_FHzNiq.js → index-BoCTcQyA.js} +2 -2
  122. package/dist/server/assets/{index-DA-nC30D.js → index-CMs8dLKE.js} +2 -2
  123. package/dist/server/assets/{index-BSPyhc2t.js → index-CznnHJPs.js} +2 -2
  124. package/dist/server/assets/{index-CQ3_WP_c.js → index-D4Zt6M4l.js} +2 -2
  125. package/dist/server/assets/{index-CfPJkLrt.js → index-D6pmvl-E.js} +2 -2
  126. package/dist/server/assets/{index-Ctq8nouX.js → index-DAlp0b3q.js} +2 -2
  127. package/dist/server/assets/{index-DgRltpic.js → index-DEkonSBc.js} +4 -4
  128. package/dist/server/assets/{index-B4cboZEK.js → index-DqCcM85h.js} +2 -2
  129. package/dist/server/assets/{index-JauattMS.js → index-O9-otWU5.js} +2 -2
  130. package/dist/server/assets/{index-D9dAcVgg.js → index-a-16Ui_6.js} +1 -1
  131. package/dist/server/assets/{index-ChucNhe1.js → index-g309PIeU.js} +5 -5
  132. package/dist/server/assets/{index-thBo3ZQF.js → index-tbrMCGeF.js} +2 -2
  133. package/dist/server/assets/{index-BY__qPtY.js → index-wCTie1M2.js} +1 -1
  134. package/dist/server/assets/{index-BMhls_mP.js → index-zE6_NUk4.js} +3 -3
  135. package/dist/server/assets/{info-VBDWY6EO-DY1jJr3X.js → info-VBDWY6EO-7gpYhbqJ.js} +6 -6
  136. package/dist/server/assets/{infoDiagram-HS3SLOUP-B6M5J7al.js → infoDiagram-HS3SLOUP-DuA859Z1.js} +5 -5
  137. package/dist/server/assets/{journeyDiagram-XKPGCS4Q-DlXB8U9o.js → journeyDiagram-XKPGCS4Q-PiSB9SFS.js} +4 -4
  138. package/dist/server/assets/{kanban-definition-3W4ZIXB7-C17kXkGE.js → kanban-definition-3W4ZIXB7-Fl-z0jKd.js} +2 -2
  139. package/dist/server/assets/{layout-DtjOA0vY.js → layout-BwTTgoVB.js} +4 -4
  140. package/dist/server/assets/{linear-m15QQpKT.js → linear-6z47mrNn.js} +1 -1
  141. package/dist/server/assets/{mermaid-3ZIDBTTL-DshSJqMO.js → mermaid-3ZIDBTTL-rjgzkBvP.js} +1 -1
  142. package/dist/server/assets/{mermaid-parser.core-LDgr4CW-.js → mermaid-parser.core-OR3z5VGq.js} +11 -11
  143. package/dist/server/assets/{mindmap-definition-VGOIOE7T-mtvWltnU.js → mindmap-definition-VGOIOE7T-RsSUd0h5.js} +3 -3
  144. package/dist/server/assets/{packet-DYOGHKS2-CYYSXK1h.js → packet-DYOGHKS2-DdI3YR11.js} +6 -6
  145. package/dist/server/assets/{pie-VRWISCQL-CWqjVMl3.js → pie-VRWISCQL-CvLwiHxU.js} +6 -6
  146. package/dist/server/assets/{pieDiagram-ADFJNKIX-Dp5PMO-9.js → pieDiagram-ADFJNKIX-CS1QqpkR.js} +7 -7
  147. package/dist/server/assets/{quadrantDiagram-AYHSOK5B-Emk5w_FF.js → quadrantDiagram-AYHSOK5B-sOsgkH1q.js} +2 -2
  148. package/dist/server/assets/{radar-ZZBFDIW7-C4fGyCNG.js → radar-ZZBFDIW7-DcuGjSpy.js} +6 -6
  149. package/dist/server/assets/{requirementDiagram-UZGBJVZJ-BFx3mPBU.js → requirementDiagram-UZGBJVZJ-DxsTf_dF.js} +3 -3
  150. package/dist/server/assets/{router-B9HVgTRx.js → router-zkGZin-Y.js} +629 -356
  151. package/dist/server/assets/{sankeyDiagram-TZEHDZUN-CdhDQVra.js → sankeyDiagram-TZEHDZUN-Dv69rb4x.js} +1 -1
  152. package/dist/server/assets/{sequenceDiagram-WL72ISMW-D5nqoNmF.js → sequenceDiagram-WL72ISMW-DdZyEvL3.js} +3 -3
  153. package/dist/server/assets/{square-terminal-D-98qeQh.js → square-terminal-hlWJQE0a.js} +1 -1
  154. package/dist/server/assets/{stateDiagram-FKZM4ZOC-DegPKhzE.js → stateDiagram-FKZM4ZOC-D3Tj81-E.js} +8 -8
  155. package/dist/server/assets/{stateDiagram-v2-4FDKWEC3-CyBVK9Nd.js → stateDiagram-v2-4FDKWEC3-Dx5gqfCT.js} +4 -4
  156. package/dist/server/assets/{timeline-definition-IT6M3QCI-tvTSRDgB.js → timeline-definition-IT6M3QCI-CcjZ3wnd.js} +2 -2
  157. package/dist/server/assets/{treemap-GDKQZRPO-5-jKUpIN.js → treemap-GDKQZRPO-BRethL8T.js} +6 -6
  158. package/dist/server/assets/{workspace._workspaceId-CePk4lAs.js → workspace._workspaceId-7fdVKeNu.js} +2 -2
  159. package/dist/server/assets/{workspace._workspaceId.changes-Cu_-SRPF.js → workspace._workspaceId.changes-OtWo7a6k.js} +1 -1
  160. package/dist/server/assets/{workspace._workspaceId.code._-C5FPkpSY.js → workspace._workspaceId.code._-C8dWBJOO.js} +1 -1
  161. package/dist/server/assets/{workspace._workspaceId.code.index-Crmc16LI.js → workspace._workspaceId.code.index-DpGdriuG.js} +1 -1
  162. package/dist/server/assets/{workspace._workspaceId.index-xl9QlCX1.js → workspace._workspaceId.index-DGG24yQO.js} +1 -1
  163. package/dist/server/assets/{workspace._workspaceId.terminal-wcBXHH_7.js → workspace._workspaceId.terminal-BCUV7dQN.js} +2 -2
  164. package/dist/server/assets/xterm-CkV9CBvP.js +8028 -0
  165. package/dist/server/assets/{xychartDiagram-PRI3JC2R-CniJ7uun.js → xychartDiagram-PRI3JC2R-C01ACkIV.js} +2 -2
  166. package/dist/server/server.js +2 -2
  167. package/dist/start-server.mjs +120 -35
  168. package/package.json +8 -6
  169. package/dist/client/assets/TerminalPanel-P0Ue9bhc.js +0 -4
  170. package/dist/client/assets/channel-B1eOC6X0.js +0 -1
  171. package/dist/client/assets/classDiagram-2ON5EDUG-U7rVez2A.js +0 -1
  172. package/dist/client/assets/classDiagram-v2-WZHVMYZB-U7rVez2A.js +0 -1
  173. package/dist/client/assets/clone-BPRzYwkw.js +0 -1
  174. package/dist/client/assets/main-CFEKOhg6.css +0 -1
  175. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-CWzs2bwO.js +0 -1
  176. package/dist/client/assets/workspace._workspaceId.code-Lxdwg6nV.js +0 -1
  177. package/dist/client/assets/xterm-B-qIQCd3.js +0 -16
  178. package/dist/client/assets/xterm-DDGTF8rc.css +0 -1
  179. package/dist/server/assets/xterm-R4LLEgbX.js +0 -8417
@@ -1,8 +1,8 @@
1
1
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
2
- import { V as setAccDescription, W as getAccDescription, ag as getDiagramTitle, af as setDiagramTitle, Y as getAccTitle, Z as setAccTitle, _ as __name, a1 as log, aw as selectSvgElement, a2 as configureSvgSize, al as clear, au as getConfig, a5 as sanitizeText, as as cleanAndMerge, at as defaultConfig_default, aN as getThemeVariables3, bU as computeDimensionOfText, aV as line } from "./router-B9HVgTRx.js";
2
+ import { V as setAccDescription, W as getAccDescription, ag as getDiagramTitle, af as setDiagramTitle, Y as getAccTitle, Z as setAccTitle, _ as __name, a1 as log, aw as selectSvgElement, a2 as configureSvgSize, al as clear, au as getConfig, a5 as sanitizeText, as as cleanAndMerge, at as defaultConfig_default, aN as getThemeVariables3, bV as computeDimensionOfText, aV as line } from "./router-zkGZin-Y.js";
3
3
  import { i as initRange } from "./init-ZxktEp_H.js";
4
4
  import { o as ordinal } from "./ordinal-CxptdPJm.js";
5
- import { l as linear } from "./linear-m15QQpKT.js";
5
+ import { l as linear } from "./linear-6z47mrNn.js";
6
6
  import "../server.js";
7
7
  import "node:async_hooks";
8
8
  import "node:stream";
@@ -19380,7 +19380,7 @@ function getResponse() {
19380
19380
  return event.res;
19381
19381
  }
19382
19382
  async function getStartManifest(matchedRoutes) {
19383
- const { tsrStartManifest } = await import("./assets/_tanstack-start-manifest_v-C_DVF4Z3.js");
19383
+ const { tsrStartManifest } = await import("./assets/_tanstack-start-manifest_v-fymioLKZ.js");
19384
19384
  const startManifest = tsrStartManifest();
19385
19385
  const rootRoute = startManifest.routes[rootRouteId] = startManifest.routes[rootRouteId] || {};
19386
19386
  rootRoute.assets = rootRoute.assets || [];
@@ -19956,7 +19956,7 @@ let entriesPromise;
19956
19956
  let baseManifestPromise;
19957
19957
  let cachedFinalManifestPromise;
19958
19958
  async function loadEntries() {
19959
- const routerEntry = await import("./assets/router-B9HVgTRx.js").then((n2) => n2.cY);
19959
+ const routerEntry = await import("./assets/router-zkGZin-Y.js").then((n2) => n2.cZ);
19960
19960
  const startEntry = await import("./assets/start-HYkvq4Ni.js");
19961
19961
  return { startEntry, routerEntry };
19962
19962
  }
@@ -29730,6 +29730,37 @@ function* mapClaudeCodeEvent(message, state2) {
29730
29730
  }
29731
29731
  break;
29732
29732
  }
29733
+ case "stream_event": {
29734
+ const streamEvent = message.event;
29735
+ if (!streamEvent || typeof streamEvent !== "object") break;
29736
+ const evtType = streamEvent.type;
29737
+ if (evtType === "message_start") {
29738
+ state2.streamedTextBlocks.clear();
29739
+ state2.currentStreamBlockType = null;
29740
+ break;
29741
+ }
29742
+ if (evtType === "content_block_start") {
29743
+ const cb2 = streamEvent.content_block;
29744
+ const newType = cb2?.type === "text" ? "text" : "other";
29745
+ if (state2.currentStreamBlockType === "text" && newType !== "text") {
29746
+ yield { type: "text-end" };
29747
+ }
29748
+ state2.currentStreamBlockType = newType;
29749
+ break;
29750
+ }
29751
+ if (evtType === "content_block_delta") {
29752
+ const idx = streamEvent.index;
29753
+ const delta = streamEvent.delta;
29754
+ if (delta?.type === "text_delta" && typeof delta.text === "string") {
29755
+ if (typeof idx === "number") state2.streamedTextBlocks.add(idx);
29756
+ state2.hasEmittedTextSinceLastUser = true;
29757
+ state2.currentStreamBlockType = "text";
29758
+ yield { type: "text-delta", text: delta.text };
29759
+ }
29760
+ break;
29761
+ }
29762
+ break;
29763
+ }
29733
29764
  case "assistant": {
29734
29765
  const msg = message.message;
29735
29766
  const content2 = msg?.content;
@@ -29742,6 +29773,7 @@ function* mapClaudeCodeEvent(message, state2) {
29742
29773
  let startIdx = state2.assistantContentIndex;
29743
29774
  if (content2.length < startIdx) {
29744
29775
  startIdx = 0;
29776
+ state2.streamedTextBlocks.clear();
29745
29777
  }
29746
29778
  let processedUpTo = startIdx;
29747
29779
  for (let i2 = startIdx; i2 < content2.length; i2++) {
@@ -29750,10 +29782,16 @@ function* mapClaudeCodeEvent(message, state2) {
29750
29782
  if (!block2.text) {
29751
29783
  break;
29752
29784
  }
29753
- yield { type: "text-delta", text: block2.text };
29785
+ if (!state2.streamedTextBlocks.has(i2)) {
29786
+ yield { type: "text-delta", text: block2.text };
29787
+ }
29754
29788
  state2.hasEmittedTextSinceLastUser = true;
29755
29789
  processedUpTo = i2 + 1;
29756
29790
  } else if (block2.type === "tool_use") {
29791
+ if (state2.currentStreamBlockType === "text") {
29792
+ yield { type: "text-end" };
29793
+ state2.currentStreamBlockType = "other";
29794
+ }
29757
29795
  const toolCallId = block2.id ?? crypto.randomUUID();
29758
29796
  const toolName = block2.name ?? "unknown";
29759
29797
  const input = block2.input ?? {};
@@ -29777,6 +29815,8 @@ function* mapClaudeCodeEvent(message, state2) {
29777
29815
  case "user": {
29778
29816
  state2.assistantContentIndex = 0;
29779
29817
  state2.hasEmittedTextSinceLastUser = false;
29818
+ state2.streamedTextBlocks.clear();
29819
+ state2.currentStreamBlockType = null;
29780
29820
  const msg = message.message;
29781
29821
  const content2 = msg?.content;
29782
29822
  if (Array.isArray(content2)) {
@@ -29879,6 +29919,8 @@ var init_claude_code = __esm({
29879
29919
  model;
29880
29920
  executablePath;
29881
29921
  additionalDirectories;
29922
+ /** See `claudeCodeConfigSchema.options.partialMessages`. */
29923
+ partialMessages;
29882
29924
  activeConversation = null;
29883
29925
  cachedModels = null;
29884
29926
  constructor(config2) {
@@ -29887,6 +29929,7 @@ var init_claude_code = __esm({
29887
29929
  this.model = config2.options.model;
29888
29930
  this.executablePath = config2.options.executablePath;
29889
29931
  this.additionalDirectories = config2.additionalDirectories;
29932
+ this.partialMessages = config2.options.partialMessages ?? false;
29890
29933
  }
29891
29934
  abort() {
29892
29935
  if (this.activeConversation) {
@@ -29949,6 +29992,19 @@ var init_claude_code = __esm({
29949
29992
  pathToClaudeCodeExecutable: this.executablePath,
29950
29993
  settingSources: ["user", "project"],
29951
29994
  permissionMode,
29995
+ // Stream raw API events (`stream_event` messages wrapping
29996
+ // BetaRawMessageStreamEvent) alongside the canonical `assistant`
29997
+ // messages. Costs nothing extra — same API call, same tokens — and
29998
+ // lets the adapter forward `content_block_delta`/`text_delta` deltas
29999
+ // to the chat UI so bubbles type in token-by-token. The eventual
30000
+ // `assistant` message still arrives and remains the canonical truth;
30001
+ // the adapter dedupes via state.streamedTextBlocks.
30002
+ //
30003
+ // Gated behind a Settings toggle (off by default). Wired through:
30004
+ // SettingsPage → settings.json → agent-pool.getAgentConfig →
30005
+ // ClaudeCodeConfig.options.partialMessages → here.
30006
+ // See docs/experiments/partial-messages.md.
30007
+ includePartialMessages: this.partialMessages,
29952
30008
  stderr: (data) => log2.warn({ data }, "claude-code stderr")
29953
30009
  }
29954
30010
  });
@@ -29965,7 +30021,9 @@ var init_claude_code = __esm({
29965
30021
  const state2 = {
29966
30022
  assistantContentIndex: 0,
29967
30023
  toolNames: /* @__PURE__ */ new Map(),
29968
- hasEmittedTextSinceLastUser: false
30024
+ hasEmittedTextSinceLastUser: false,
30025
+ streamedTextBlocks: /* @__PURE__ */ new Set(),
30026
+ currentStreamBlockType: null
29969
30027
  };
29970
30028
  let currentSessionId = sessionId ?? "";
29971
30029
  const initialCumulative = currentSessionId ? cumulativeUsageBySession.get(currentSessionId) : void 0;
@@ -108384,7 +108442,14 @@ var claudeCodeConfigSchema = external_exports2.object({
108384
108442
  additionalDirectories: external_exports2.array(external_exports2.string()).optional(),
108385
108443
  options: external_exports2.object({
108386
108444
  model: external_exports2.string().optional(),
108387
- executablePath: external_exports2.string().optional()
108445
+ executablePath: external_exports2.string().optional(),
108446
+ /**
108447
+ * Experimental: forward the SDK's partial-message stream events
108448
+ * (`includePartialMessages`) so the chat bubble types in token-by-token
108449
+ * instead of arriving as one block. Off by default — see
108450
+ * docs/experiments/partial-messages.md.
108451
+ */
108452
+ partialMessages: external_exports2.boolean().optional()
108388
108453
  }).default({})
108389
108454
  });
108390
108455
  var cursorCliConfigSchema = external_exports2.object({
@@ -117056,7 +117121,7 @@ function ContextMenuItem2({
117056
117121
  "data-inset": inset,
117057
117122
  "data-variant": variant,
117058
117123
  className: cn(
117059
- "relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!",
117124
+ "relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground dark:focus:bg-neutral-700 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!",
117060
117125
  className
117061
117126
  ),
117062
117127
  ...props
@@ -119805,7 +119870,7 @@ var import_react11 = __toESM(require_react(), 1);
119805
119870
  var import_jsx_runtime50 = __toESM(require_jsx_runtime(), 1);
119806
119871
 
119807
119872
  // ../../packages/dashboard-core/src/components/DashboardShell.tsx
119808
- var import_react21 = __toESM(require_react(), 1);
119873
+ var import_react22 = __toESM(require_react(), 1);
119809
119874
 
119810
119875
  // ../../packages/dashboard-core/src/hooks/use-cli-setup.ts
119811
119876
  var import_react12 = __toESM(require_react(), 1);
@@ -119816,25 +119881,28 @@ var import_react13 = __toESM(require_react(), 1);
119816
119881
  // ../../packages/dashboard-core/src/hooks/use-hooks-setup.ts
119817
119882
  var import_react14 = __toESM(require_react(), 1);
119818
119883
 
119819
- // ../../packages/dashboard-core/src/hooks/use-status.ts
119884
+ // ../../packages/dashboard-core/src/hooks/use-label-filter.ts
119820
119885
  var import_react15 = __toESM(require_react(), 1);
119821
119886
 
119887
+ // ../../packages/dashboard-core/src/hooks/use-status.ts
119888
+ var import_react16 = __toESM(require_react(), 1);
119889
+
119822
119890
  // ../../packages/dashboard-core/src/components/ProjectList.tsx
119823
119891
  var import_core8 = __toESM(require_dist3(), 1);
119824
119892
  var import_sortable = __toESM(require_dist4(), 1);
119825
119893
  var import_utilities = __toESM(require_dist(), 1);
119826
- var import_react18 = __toESM(require_react(), 1);
119894
+ var import_react19 = __toESM(require_react(), 1);
119827
119895
 
119828
119896
  // ../../packages/dashboard-core/src/components/DeleteWorkspaceDialog.tsx
119829
119897
  var import_jsx_runtime51 = __toESM(require_jsx_runtime(), 1);
119830
119898
 
119831
119899
  // ../../packages/dashboard-core/src/components/NewWorkspaceForm.tsx
119832
- var import_react16 = __toESM(require_react(), 1);
119900
+ var import_react17 = __toESM(require_react(), 1);
119833
119901
  var import_jsx_runtime52 = __toESM(require_jsx_runtime(), 1);
119834
119902
 
119835
119903
  // ../../packages/dashboard-core/src/components/WorkspaceCard.tsx
119836
119904
  var import_lucide_react4 = __toESM(require_lucide_react(), 1);
119837
- var import_react17 = __toESM(require_react(), 1);
119905
+ var import_react18 = __toESM(require_react(), 1);
119838
119906
 
119839
119907
  // ../../packages/dashboard-core/src/components/GitStatusIndicator.tsx
119840
119908
  var import_jsx_runtime53 = __toESM(require_jsx_runtime(), 1);
@@ -119900,7 +119968,7 @@ function SetupStatusIndicator({ setup }) {
119900
119968
 
119901
119969
  // ../../packages/dashboard-core/src/components/WorkspaceCard.tsx
119902
119970
  var import_jsx_runtime55 = __toESM(require_jsx_runtime(), 1);
119903
- var WorkspaceCard = (0, import_react17.memo)(function WorkspaceCard2({
119971
+ var WorkspaceCard = (0, import_react18.memo)(function WorkspaceCard2({
119904
119972
  worktree,
119905
119973
  projectName,
119906
119974
  defaultBranch,
@@ -119910,9 +119978,9 @@ var WorkspaceCard = (0, import_react17.memo)(function WorkspaceCard2({
119910
119978
  isFocused,
119911
119979
  onShowDeleteDialog
119912
119980
  }) {
119913
- const cardRef = (0, import_react17.useRef)(null);
119981
+ const cardRef = (0, import_react18.useRef)(null);
119914
119982
  const capabilities = useCapabilities();
119915
- (0, import_react17.useEffect)(() => {
119983
+ (0, import_react18.useEffect)(() => {
119916
119984
  if (isFocused) {
119917
119985
  cardRef.current?.scrollIntoView({ block: "nearest" });
119918
119986
  }
@@ -120025,10 +120093,10 @@ var WorkspaceCard = (0, import_react17.memo)(function WorkspaceCard2({
120025
120093
  var import_jsx_runtime56 = __toESM(require_jsx_runtime(), 1);
120026
120094
 
120027
120095
  // ../../packages/dashboard-core/src/components/SettingsPage.tsx
120028
- var import_react20 = __toESM(require_react(), 1);
120096
+ var import_react21 = __toESM(require_react(), 1);
120029
120097
 
120030
120098
  // ../../packages/dashboard-core/src/lib/experimental-flags.ts
120031
- var import_react19 = __toESM(require_react(), 1);
120099
+ var import_react20 = __toESM(require_react(), 1);
120032
120100
 
120033
120101
  // ../../packages/dashboard-core/src/components/settings/SettingsRow.tsx
120034
120102
  var import_jsx_runtime57 = __toESM(require_jsx_runtime(), 1);
@@ -120045,13 +120113,13 @@ var isElectron = typeof window !== "undefined" && "__BAND_DESKTOP__" in window;
120045
120113
 
120046
120114
  // ../../packages/dashboard-core/src/components/DiffView.tsx
120047
120115
  init_dist4();
120048
- var import_react25 = __toESM(require_react(), 1);
120116
+ var import_react26 = __toESM(require_react(), 1);
120049
120117
 
120050
120118
  // ../../packages/dashboard-core/src/hooks/use-search.ts
120051
- var import_react22 = __toESM(require_react(), 1);
120119
+ var import_react23 = __toESM(require_react(), 1);
120052
120120
 
120053
120121
  // ../../packages/dashboard-core/src/components/ChangesFileTree.tsx
120054
- var import_react23 = __toESM(require_react(), 1);
120122
+ var import_react24 = __toESM(require_react(), 1);
120055
120123
 
120056
120124
  // ../../packages/dashboard-core/src/components/FileStatusBadge.tsx
120057
120125
  var import_jsx_runtime61 = __toESM(require_jsx_runtime(), 1);
@@ -120064,7 +120132,7 @@ var import_jsx_runtime63 = __toESM(require_jsx_runtime(), 1);
120064
120132
 
120065
120133
  // ../../packages/dashboard-core/src/components/SearchBar.tsx
120066
120134
  var import_lucide_react5 = __toESM(require_lucide_react(), 1);
120067
- var import_react24 = __toESM(require_react(), 1);
120135
+ var import_react25 = __toESM(require_react(), 1);
120068
120136
  var import_jsx_runtime64 = __toESM(require_jsx_runtime(), 1);
120069
120137
  function ToggleButton({
120070
120138
  active,
@@ -120083,7 +120151,7 @@ function ToggleButton({
120083
120151
  }
120084
120152
  );
120085
120153
  }
120086
- var SearchBar = (0, import_react24.forwardRef)(function SearchBar2({
120154
+ var SearchBar = (0, import_react25.forwardRef)(function SearchBar2({
120087
120155
  query,
120088
120156
  onQueryChange,
120089
120157
  options: options2,
@@ -120095,18 +120163,18 @@ var SearchBar = (0, import_react24.forwardRef)(function SearchBar2({
120095
120163
  onClose,
120096
120164
  className
120097
120165
  }, ref) {
120098
- const inputRef = (0, import_react24.useRef)(null);
120099
- (0, import_react24.useImperativeHandle)(ref, () => ({
120166
+ const inputRef = (0, import_react25.useRef)(null);
120167
+ (0, import_react25.useImperativeHandle)(ref, () => ({
120100
120168
  focus: () => inputRef.current?.focus(),
120101
120169
  select: () => inputRef.current?.select()
120102
120170
  }));
120103
- const toggleCase = (0, import_react24.useCallback)(() => {
120171
+ const toggleCase = (0, import_react25.useCallback)(() => {
120104
120172
  onOptionsChange({ ...options2, caseSensitive: !options2.caseSensitive });
120105
120173
  }, [options2, onOptionsChange]);
120106
- const toggleWholeWord = (0, import_react24.useCallback)(() => {
120174
+ const toggleWholeWord = (0, import_react25.useCallback)(() => {
120107
120175
  onOptionsChange({ ...options2, wholeWord: !options2.wholeWord });
120108
120176
  }, [options2, onOptionsChange]);
120109
- const toggleRegex = (0, import_react24.useCallback)(() => {
120177
+ const toggleRegex = (0, import_react25.useCallback)(() => {
120110
120178
  onOptionsChange({ ...options2, regex: !options2.regex });
120111
120179
  }, [options2, onOptionsChange]);
120112
120180
  return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
@@ -120228,14 +120296,14 @@ var diffTheme = EditorView.theme({
120228
120296
  });
120229
120297
 
120230
120298
  // ../../packages/dashboard-core/src/components/FileBrowser.tsx
120231
- var import_react26 = __toESM(require_react(), 1);
120299
+ var import_react27 = __toESM(require_react(), 1);
120232
120300
  var import_jsx_runtime66 = __toESM(require_jsx_runtime(), 1);
120233
120301
 
120234
120302
  // ../../packages/dashboard-core/src/components/FileViewer.tsx
120235
- var import_react28 = __toESM(require_react(), 1);
120303
+ var import_react29 = __toESM(require_react(), 1);
120236
120304
 
120237
120305
  // ../../packages/dashboard-core/src/components/ImagePreview.tsx
120238
- var import_react27 = __toESM(require_react(), 1);
120306
+ var import_react28 = __toESM(require_react(), 1);
120239
120307
  var import_jsx_runtime67 = __toESM(require_jsx_runtime(), 1);
120240
120308
 
120241
120309
  // ../../packages/dashboard-core/src/components/PdfPreview.tsx
@@ -120245,22 +120313,22 @@ var import_jsx_runtime68 = __toESM(require_jsx_runtime(), 1);
120245
120313
  var import_jsx_runtime69 = __toESM(require_jsx_runtime(), 1);
120246
120314
 
120247
120315
  // ../../packages/dashboard-core/src/components/QuickOpenDialog.tsx
120248
- var import_react29 = __toESM(require_react(), 1);
120316
+ var import_react30 = __toESM(require_react(), 1);
120249
120317
  var import_jsx_runtime70 = __toESM(require_jsx_runtime(), 1);
120250
120318
 
120251
120319
  // ../../packages/dashboard-core/src/components/SearchFilesDialog.tsx
120252
- var import_react30 = __toESM(require_react(), 1);
120320
+ var import_react31 = __toESM(require_react(), 1);
120253
120321
  var import_jsx_runtime71 = __toESM(require_jsx_runtime(), 1);
120254
120322
 
120255
120323
  // ../../packages/dashboard-core/src/components/WorkspacePickerDialog.tsx
120256
- var import_react31 = __toESM(require_react(), 1);
120324
+ var import_react32 = __toESM(require_react(), 1);
120257
120325
  var import_jsx_runtime72 = __toESM(require_jsx_runtime(), 1);
120258
120326
 
120259
120327
  // ../../packages/dashboard-core/src/components/WorkspaceTabNav.tsx
120260
120328
  var import_jsx_runtime73 = __toESM(require_jsx_runtime(), 1);
120261
120329
 
120262
120330
  // ../../packages/dashboard-core/src/hooks/use-editor-history.ts
120263
- var import_react32 = __toESM(require_react(), 1);
120331
+ var import_react33 = __toESM(require_react(), 1);
120264
120332
 
120265
120333
  // ../../node_modules/.pnpm/marked@15.0.12/node_modules/marked/lib/marked.esm.js
120266
120334
  function _getDefaults() {
@@ -130330,6 +130398,7 @@ function getAgentConfig(worktreePath, agentId) {
130330
130398
  if (!model && agentDef.type === "claude-code") {
130331
130399
  model = loadClaudeSettingsModel();
130332
130400
  }
130401
+ const claudeOnly = agentDef.type === "claude-code" ? { partialMessages: settings.claudeCodePartialMessages === true } : {};
130333
130402
  return {
130334
130403
  type: agentDef.type,
130335
130404
  workspaceDir: worktreePath,
@@ -130337,7 +130406,8 @@ function getAgentConfig(worktreePath, agentId) {
130337
130406
  additionalDirectories: [join12(bandHome(), "uploads"), join12(bandHome(), "shared")],
130338
130407
  options: {
130339
130408
  executablePath: agentDef.command,
130340
- model
130409
+ model,
130410
+ ...claudeOnly
130341
130411
  }
130342
130412
  };
130343
130413
  }
@@ -131683,9 +131753,9 @@ var PENDING_KEY2 = Symbol.for("band.pending-inputs");
131683
131753
  var g11 = globalThis;
131684
131754
  if (!g11[PENDING_KEY2]) g11[PENDING_KEY2] = /* @__PURE__ */ new Map();
131685
131755
  var pendingInputs = g11[PENDING_KEY2];
131686
- function createPendingInput(approvalId) {
131756
+ function createPendingInput(approvalId, workspaceId) {
131687
131757
  return new Promise((resolve8, reject) => {
131688
- pendingInputs.set(approvalId, { resolve: resolve8, reject });
131758
+ pendingInputs.set(approvalId, { resolve: resolve8, reject, workspaceId });
131689
131759
  });
131690
131760
  }
131691
131761
  function resolvePendingInput(approvalId, answers) {
@@ -131701,6 +131771,12 @@ function rejectAllPendingInputs(error40) {
131701
131771
  pending2.reject(error40);
131702
131772
  }
131703
131773
  }
131774
+ function hasPendingInputForWorkspace(workspaceId) {
131775
+ for (const pending2 of pendingInputs.values()) {
131776
+ if (pending2.workspaceId === workspaceId) return true;
131777
+ }
131778
+ return false;
131779
+ }
131704
131780
 
131705
131781
  // src/lib/task-store.ts
131706
131782
  init_src();
@@ -132105,7 +132181,7 @@ async function runTask(chatId, task) {
132105
132181
  });
132106
132182
  const needsAttention = upsertWorkspaceStatus(task.workspaceId, { status: "needs_attention" });
132107
132183
  emit({ kind: "update", status: needsAttention });
132108
- const answers = await createPendingInput(request.approvalId);
132184
+ const answers = await createPendingInput(request.approvalId, task.workspaceId);
132109
132185
  const restored = upsertWorkspaceStatus(task.workspaceId, { status: "working" });
132110
132186
  emit({ kind: "update", status: restored });
132111
132187
  return answers;
@@ -132157,6 +132233,10 @@ async function runTask(chatId, task) {
132157
132233
  });
132158
132234
  break;
132159
132235
  }
132236
+ case "text-end": {
132237
+ endText();
132238
+ break;
132239
+ }
132160
132240
  case "tool-use": {
132161
132241
  endText();
132162
132242
  announcedToolCalls.add(event.toolCallId);
@@ -134344,6 +134424,7 @@ async function spawnTerminal(workspaceId, terminalId, options2) {
134344
134424
  }
134345
134425
  env.PATH = resolvedPath;
134346
134426
  env.TERM = "xterm-256color";
134427
+ env.COLORTERM = "truecolor";
134347
134428
  env.COLORFGBG = "15;0";
134348
134429
  delete env.PORT;
134349
134430
  if (options2?.env) {
@@ -143695,6 +143776,10 @@ var statusesRouter = t2.router({
143695
143776
  }
143696
143777
  return { ok: true };
143697
143778
  }
143779
+ if (hasPendingInputForWorkspace(input.workspaceId)) {
143780
+ emit({ kind: "update", status: existing });
143781
+ return { ok: true };
143782
+ }
143698
143783
  const status = upsertWorkspaceStatus(input.workspaceId, { status: "waiting" });
143699
143784
  emit({ kind: "update", status });
143700
143785
  return { ok: true };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@band-app/server",
3
- "version": "0.9.0",
3
+ "version": "0.9.2",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "band-server": "./bin/band-server.mjs"
@@ -20,6 +20,8 @@
20
20
  "linux"
21
21
  ],
22
22
  "dependencies": {
23
+ "@xterm/addon-search": "^0.16.0",
24
+ "@xterm/addon-webgl": "0.20.0-beta.215",
23
25
  "node-pty": "^1.1.0",
24
26
  "react-resizable-panels": "^4.9.0",
25
27
  "typescript-language-server": "^5.1.3",
@@ -52,7 +54,7 @@
52
54
  "@vitejs/plugin-react": "^4.3.0",
53
55
  "@xterm/addon-fit": "^0.11.0",
54
56
  "@xterm/addon-web-links": "^0.12.0",
55
- "@xterm/xterm": "^6.0.0",
57
+ "@xterm/xterm": "6.1.0-beta.216",
56
58
  "ai": "^6.0.105",
57
59
  "class-variance-authority": "^0.7.1",
58
60
  "clsx": "^2.1.1",
@@ -80,10 +82,10 @@
80
82
  "vitest": "^4.0.18",
81
83
  "ws": "^8.18.0",
82
84
  "zod": "^3.25.67",
83
- "@band-app/logger": "^0.9.0",
84
- "@band-app/dashboard-core": "^0.9.0",
85
- "@band-app/coding-agent": "^0.9.0",
86
- "@band-app/ui": "^0.9.0"
85
+ "@band-app/dashboard-core": "^0.9.2",
86
+ "@band-app/coding-agent": "^0.9.2",
87
+ "@band-app/logger": "^0.9.2",
88
+ "@band-app/ui": "^0.9.2"
87
89
  },
88
90
  "scripts": {
89
91
  "dev": "vite dev --port 3456 --host 0.0.0.0",
@@ -1,4 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/xterm-DDGTF8rc.css"])))=>i.map(i=>d[i]);
2
- import{r as i,_ as v,bf as z,j as N}from"./main-3mnrWI33.js";const C={background:"#1e1e1e",foreground:"#e8e8e8",cursor:"#e8e8e8",selectionBackground:"rgba(255, 255, 255, 0.2)"},H={background:"#ffffff",foreground:"#1e1e1e",cursor:"#1e1e1e",cursorAccent:"#ffffff",selectionBackground:"rgba(0, 0, 0, 0.15)",black:"#000000",red:"#cd3131",green:"#0a8043",yellow:"#946800",blue:"#0451a5",magenta:"#bc05bc",cyan:"#0598bc",white:"#555555",brightBlack:"#666666",brightRed:"#cd3131",brightGreen:"#0a8043",brightYellow:"#946800",brightBlue:"#0451a5",brightMagenta:"#bc05bc",brightCyan:"#0598bc",brightWhite:"#1e1e1e"};function W(){return document.documentElement.classList.contains("dark")}function B(){return W()?C:H}function J({workspaceId:g,terminalId:p,visible:a,paneMetadata:o,autoFocus:_,onTitleChange:R}){const u=i.useRef(null),d=i.useRef(null),m=i.useRef(null),E=i.useRef(null),b=i.useRef(R);return b.current=R,i.useEffect(()=>{if(!u.current)return;let c=!1,l;return Promise.all([v(()=>import("./xterm-B-qIQCd3.js"),[]),v(()=>import("./addon-fit-DX4qG4td.js"),[]),v(()=>import("./addon-web-links-DIbG5aQx.js"),[])]).then(([{Terminal:I},{FitAddon:P},{WebLinksAddon:D}])=>{if(c||!u.current)return;v(()=>Promise.resolve({}),__vite__mapDeps([0]));const t=new I({cursorBlink:!0,fontSize:13,fontFamily:"'SF Mono', Menlo, Monaco, 'Courier New', monospace",macOptionIsMeta:!0,scrollback:1e4,theme:B()}),L=new MutationObserver(()=>{t.options.theme=B()});L.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]});const h=new P;t.loadAddon(h),t.loadAddon(new D((e,r)=>z(r))),t.open(u.current),t.attachCustomKeyEventHandler(e=>{if(e.type==="keydown"){if(e.key==="Enter"&&e.shiftKey&&!e.altKey&&!e.metaKey&&!e.ctrlKey)return t.input("\x1B[13;2u"),!1;if(e.altKey&&!e.metaKey&&!e.ctrlKey){if(e.key==="ArrowLeft")return t.input("\x1Bb"),!1;if(e.key==="ArrowRight")return t.input("\x1Bf"),!1}}return!0}),d.current=t,m.current=h;const s=u.current;let f=null;const T=e=>{f=e.touches.length===1?e.touches[0].clientY:null},k=e=>{if(e.touches.length!==1||f===null)return;const r=e.touches[0].clientY,O=f-r,S=s.querySelector(".xterm-viewport"),x=S&&t.rows>0?S.clientHeight/t.rows:17,y=Math.trunc(O/x);y!==0&&(t.scrollLines(y),f=r+(O-y*x),e.preventDefault())},w=()=>{f=null};s.addEventListener("touchstart",T,{passive:!0}),s.addEventListener("touchmove",k,{passive:!1}),s.addEventListener("touchend",w,{passive:!0}),s.addEventListener("touchcancel",w,{passive:!0});const K=location.protocol==="https:"?"wss:":"ws:",n=new WebSocket(`${K}//${location.host}/terminal?workspaceId=${encodeURIComponent(g)}&terminalId=${encodeURIComponent(p)}`);E.current=n,n.binaryType="arraybuffer",n.onopen=()=>{if(o&&(o.command||o.cwd||o.env)){const e={type:"init"};o.command&&(e.command=o.command),o.cwd&&(e.cwd=o.cwd),o.env&&(e.env=o.env),n.send(JSON.stringify(e))}h.fit(),n.send(JSON.stringify({type:"resize",cols:t.cols,rows:t.rows})),_&&t.focus()},n.onmessage=e=>{if(e.data instanceof ArrayBuffer)t.write(new Uint8Array(e.data));else try{const r=JSON.parse(e.data);r.type==="title"&&typeof r.title=="string"&&b.current?.(r.title)}catch{t.write(e.data)}},n.onclose=()=>{t.write(`\r
3
- \x1B[90m[Terminal disconnected]\x1B[0m\r
4
- `)},t.onData(e=>{n.readyState===WebSocket.OPEN&&n.send(e)}),t.onTitleChange(e=>{b.current?.(e)});const A=new ResizeObserver(e=>{const r=e[0];!r||r.contentRect.width===0||r.contentRect.height===0||(h.fit(),n.readyState===WebSocket.OPEN&&t.cols>0&&t.rows>0&&n.send(JSON.stringify({type:"resize",cols:t.cols,rows:t.rows})))});A.observe(u.current),l=()=>{L.disconnect(),A.disconnect(),s.removeEventListener("touchstart",T),s.removeEventListener("touchmove",k),s.removeEventListener("touchend",w),s.removeEventListener("touchcancel",w),n.close(),t.dispose(),d.current=null,m.current=null,E.current=null}}),()=>{c=!0,l?.()}},[p,g,o,_]),i.useEffect(()=>{a&&m.current&&requestAnimationFrame(()=>{m.current?.fit();const c=d.current,l=E.current;c&&l?.readyState===WebSocket.OPEN&&c.cols>0&&c.rows>0&&l.send(JSON.stringify({type:"resize",cols:c.cols,rows:c.rows}))})},[a]),i.useEffect(()=>{const c=()=>{a&&d.current?.focus()};return window.addEventListener("band:focus-terminal",c),()=>window.removeEventListener("band:focus-terminal",c)},[a]),N.jsx("div",{className:"relative h-full w-full",children:N.jsx("div",{ref:u,className:"absolute inset-2 overflow-hidden"})})}export{J as TerminalPanel};
@@ -1 +0,0 @@
1
- import{as as o,at as s}from"./main-3mnrWI33.js";const t=(a,r)=>o.lang.round(s.parse(a)[r]);export{t as c};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-B4BG7PRW-5Px4nD1U.js";import{a2 as i}from"./main-3mnrWI33.js";import"./chunk-FMBD7UC4-DwxW4g8y.js";import"./chunk-55IACEB6-v_BTOAps.js";import"./chunk-QN33PNHL-Cp7Y9ku0.js";var u={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{u as diagram};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-B4BG7PRW-5Px4nD1U.js";import{a2 as i}from"./main-3mnrWI33.js";import"./chunk-FMBD7UC4-DwxW4g8y.js";import"./chunk-55IACEB6-v_BTOAps.js";import"./chunk-QN33PNHL-Cp7Y9ku0.js";var u={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{u as diagram};
@@ -1 +0,0 @@
1
- import{b as r}from"./_baseUniq-FEm9-P2D.js";var e=4;function a(o){return r(o,e)}export{a as c};