@band-app/server 0.24.0 → 0.25.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 (173) hide show
  1. package/dist/client/assets/{DockviewBrowserContainer-Bh7ygcym.js → DockviewBrowserContainer-C_SeGH4m.js} +2 -2
  2. package/dist/client/assets/DockviewTerminalContainer-CnyEPngk.js +2 -0
  3. package/dist/client/assets/TerminalPanel-DIvPtQ0C.js +1 -0
  4. package/dist/client/assets/{_basePickBy-BoN5C7c3.js → _basePickBy-WSEGU-48.js} +1 -1
  5. package/dist/client/assets/_baseUniq-CISSY9JU.js +1 -0
  6. package/dist/client/assets/{arc-DStHWz7g.js → arc-EYeeggGP.js} +1 -1
  7. package/dist/client/assets/architectureDiagram-VXUJARFQ-auNzMJHs.js +36 -0
  8. package/dist/client/assets/{blockDiagram-VD42YOAC-CpfEplz4.js → blockDiagram-VD42YOAC-BAxIVlzi.js} +1 -1
  9. package/dist/client/assets/{c4Diagram-YG6GDRKO-DFNXKd12.js → c4Diagram-YG6GDRKO-BRGunjEV.js} +1 -1
  10. package/dist/client/assets/channel-mz7YKOQ7.js +1 -0
  11. package/dist/client/assets/{chunk-4BX2VUAB-BhKLwyZj.js → chunk-4BX2VUAB-DD1K7aO0.js} +1 -1
  12. package/dist/client/assets/{chunk-55IACEB6--1nGJwoJ.js → chunk-55IACEB6-xhCYxBKG.js} +1 -1
  13. package/dist/client/assets/{chunk-B4BG7PRW-DfW_4HED.js → chunk-B4BG7PRW-BRcHAc7V.js} +1 -1
  14. package/dist/client/assets/{chunk-DI55MBZ5-BBLPj3y_.js → chunk-DI55MBZ5-C5AoviQd.js} +3 -3
  15. package/dist/client/assets/{chunk-FMBD7UC4-22_QzB6-.js → chunk-FMBD7UC4-CelHUigz.js} +1 -1
  16. package/dist/client/assets/chunk-QN33PNHL-nQBPkq6v.js +1 -0
  17. package/dist/client/assets/{chunk-QZHKN3VN-t5QozrKy.js → chunk-QZHKN3VN-IXkzzmtV.js} +1 -1
  18. package/dist/client/assets/{chunk-TZMSLE5B-DTbuaeiD.js → chunk-TZMSLE5B-kYboanfD.js} +1 -1
  19. package/dist/client/assets/classDiagram-2ON5EDUG-khRtU3oZ.js +1 -0
  20. package/dist/client/assets/classDiagram-v2-WZHVMYZB-khRtU3oZ.js +1 -0
  21. package/dist/client/assets/clone-D_zAu_UU.js +1 -0
  22. package/dist/client/assets/cose-bilkent-S5V4N54A-xs2qxNxB.js +1 -0
  23. package/dist/client/assets/dagre-6UL2VRFP-Cs2kFqLw.js +4 -0
  24. package/dist/client/assets/diagram-PSM6KHXK-CL0KNaAN.js +24 -0
  25. package/dist/client/assets/diagram-QEK2KX5R-bojH3Fje.js +43 -0
  26. package/dist/client/assets/diagram-S2PKOQOG-CR3NnSCV.js +24 -0
  27. package/dist/client/assets/{erDiagram-Q2GNP2WA-D2Rb5UvQ.js → erDiagram-Q2GNP2WA-B1PLdIwn.js} +3 -3
  28. package/dist/client/assets/{flowDiagram-NV44I4VS-BSQxdSDJ.js → flowDiagram-NV44I4VS-C5YhU0Qh.js} +1 -1
  29. package/dist/client/assets/{ganttDiagram-JELNMOA3-Cj0PWn4F.js → ganttDiagram-JELNMOA3-CT-ZyTN-.js} +3 -3
  30. package/dist/client/assets/gitGraphDiagram-V2S2FVAM-BJOR_jnq.js +65 -0
  31. package/dist/client/assets/{graph-B7ABrrXm.js → graph-pEXzxzGm.js} +1 -1
  32. package/dist/client/assets/{highlighted-body-B3W2YXNL-DCQslkUR.js → highlighted-body-B3W2YXNL-DkAr8YBH.js} +1 -1
  33. package/dist/client/assets/{index-DWqvtyLc.js → index-3n8Vw-Mx.js} +1 -1
  34. package/dist/client/assets/{index-DjFlwM8l.js → index-BGzaO0X8.js} +1 -1
  35. package/dist/client/assets/{index-COql1I_y.js → index-BTh70HvG.js} +1 -1
  36. package/dist/client/assets/{index-9FCRbBun.js → index-Bc4l--Pr.js} +1 -1
  37. package/dist/client/assets/{index-C99EKoUY.js → index-BrhTwhg3.js} +1 -1
  38. package/dist/client/assets/{index-8PaDaRYT.js → index-Bsj04x6y.js} +1 -1
  39. package/dist/client/assets/{index-Myu-_U8q.js → index-BtupbjWj.js} +1 -1
  40. package/dist/client/assets/{index-D9SknX6B.js → index-BvTVbNia.js} +1 -1
  41. package/dist/client/assets/{index-BQhRobL8.js → index-C-44kyj4.js} +1 -1
  42. package/dist/client/assets/{index-BG3Ltnuv.js → index-CUvVSQUr.js} +1 -1
  43. package/dist/client/assets/{index-Diyv48F3.js → index-CjLUJG6j.js} +1 -1
  44. package/dist/client/assets/{index-DaWbWCgj.js → index-Cy1ivKKB.js} +1 -1
  45. package/dist/client/assets/{index-DWj9bxNA.js → index-DW-oXjA-.js} +1 -1
  46. package/dist/client/assets/{index-BsEwdsSv.js → index-DrAxRehm.js} +1 -1
  47. package/dist/client/assets/{index-BCA8lija.js → index-DvKArr4F.js} +1 -1
  48. package/dist/client/assets/{index-BaT5I2xy.js → index-abHZx3iS.js} +2 -2
  49. package/dist/client/assets/{index-CBLjtUwT.js → index-kS9W4-gd.js} +1 -1
  50. package/dist/client/assets/{index-B22f7bFn.js → index-unEuBThJ.js} +1 -1
  51. package/dist/client/assets/infoDiagram-HS3SLOUP-BFYSEig3.js +2 -0
  52. package/dist/client/assets/{journeyDiagram-XKPGCS4Q-DcF--XQH.js → journeyDiagram-XKPGCS4Q-BxYsQaMT.js} +1 -1
  53. package/dist/client/assets/{kanban-definition-3W4ZIXB7-BA1w8rep.js → kanban-definition-3W4ZIXB7-Bv-pDWZ-.js} +1 -1
  54. package/dist/client/assets/{layout-DVMDYrln.js → layout-B77NnSO1.js} +1 -1
  55. package/dist/client/assets/{main-B6t1j7Kr.js → main-5cZqr4FX.js} +236 -229
  56. package/dist/client/assets/main-DOmWiUwE.css +1 -0
  57. package/dist/client/assets/{mindmap-definition-VGOIOE7T-C1vA0wr2.js → mindmap-definition-VGOIOE7T-CgxHuURf.js} +3 -3
  58. package/dist/client/assets/pieDiagram-ADFJNKIX-DMT2s9he.js +30 -0
  59. package/dist/client/assets/{quadrantDiagram-AYHSOK5B-Bxcd0mzk.js → quadrantDiagram-AYHSOK5B-BXabhtC0.js} +1 -1
  60. package/dist/client/assets/{requirementDiagram-UZGBJVZJ-DWqCIKiG.js → requirementDiagram-UZGBJVZJ-DTW7rlcB.js} +1 -1
  61. package/dist/client/assets/{sankeyDiagram-TZEHDZUN-D9rSnLVX.js → sankeyDiagram-TZEHDZUN-BcCwFhUF.js} +5 -5
  62. package/dist/client/assets/{sequenceDiagram-WL72ISMW-Co2Jz6Fl.js → sequenceDiagram-WL72ISMW-pM8Di5We.js} +6 -6
  63. package/dist/client/assets/{square-terminal-C3zI_mkt.js → square-terminal-DKjKKzzC.js} +1 -1
  64. package/dist/client/assets/stateDiagram-FKZM4ZOC-Daqd80Rx.js +1 -0
  65. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-BCaxpIKa.js +1 -0
  66. package/dist/client/assets/{timeline-definition-IT6M3QCI-BXxZZYsm.js → timeline-definition-IT6M3QCI-B528DtkS.js} +3 -3
  67. package/dist/client/assets/{treemap-GDKQZRPO-BgMoU0kM.js → treemap-GDKQZRPO-CSzjIbPP.js} +1 -1
  68. package/dist/client/assets/{workspace._workspaceId-Bww_ZNFK.js → workspace._workspaceId-CDQS6YxL.js} +2 -2
  69. package/dist/client/assets/{workspace._workspaceId-C_KGLGyB.js → workspace._workspaceId-DlHLgF3G.js} +1 -1
  70. package/dist/client/assets/{xychartDiagram-PRI3JC2R-BQxVaOKh.js → xychartDiagram-PRI3JC2R-CZehTq19.js} +2 -2
  71. package/dist/server/assets/{DockviewBrowserContainer-C6QVux14.js → DockviewBrowserContainer-NHSxR-nz.js} +1 -1
  72. package/dist/server/assets/{DockviewTerminalContainer-OevWE65L.js → DockviewTerminalContainer-CTJJUByH.js} +5 -3
  73. package/dist/server/assets/TerminalPanel-BiNP-nsL.js +425 -0
  74. package/dist/server/assets/{_basePickBy-DVK5KtlH.js → _basePickBy-C563KIXw.js} +2 -2
  75. package/dist/server/assets/{_baseUniq-DSFYYhGd.js → _baseUniq-d93HSS0F.js} +1 -1
  76. package/dist/server/assets/_tanstack-start-manifest_v-D7mA2JWN.js +4 -0
  77. package/dist/server/assets/{arc-BpwEbxUR.js → arc-jtTutH-i.js} +1 -1
  78. package/dist/server/assets/{architecture-7HQA4BMR-CNyHLOO7.js → architecture-7HQA4BMR-DQzLgw80.js} +6 -6
  79. package/dist/server/assets/{architectureDiagram-VXUJARFQ-DVUpIskI.js → architectureDiagram-VXUJARFQ-DrNJMIEJ.js} +6 -6
  80. package/dist/server/assets/{blockDiagram-VD42YOAC-CRv2pc0L.js → blockDiagram-VD42YOAC-WUFdSkGk.js} +6 -6
  81. package/dist/server/assets/{c4Diagram-YG6GDRKO-CBv74bWb.js → c4Diagram-YG6GDRKO-B3FexEXR.js} +2 -2
  82. package/dist/server/assets/{channel-C_c7u4ky.js → channel-CGY9wImP.js} +1 -1
  83. package/dist/server/assets/{chunk-4BX2VUAB-85OXnz_P.js → chunk-4BX2VUAB-DWhvAfOu.js} +1 -1
  84. package/dist/server/assets/{chunk-55IACEB6-Cl8taExZ.js → chunk-55IACEB6-D9KMaGKQ.js} +1 -1
  85. package/dist/server/assets/{chunk-B4BG7PRW-C7W_R9n6.js → chunk-B4BG7PRW-Bdi0b8I3.js} +4 -4
  86. package/dist/server/assets/{chunk-DI55MBZ5-CTi30KuT.js → chunk-DI55MBZ5-CvFVKOgG.js} +3 -3
  87. package/dist/server/assets/{chunk-FMBD7UC4-CsuoPD3I.js → chunk-FMBD7UC4-CEf8TJeK.js} +1 -1
  88. package/dist/server/assets/{chunk-QN33PNHL-BHHMj_a1.js → chunk-QN33PNHL-CmOqP24j.js} +1 -1
  89. package/dist/server/assets/{chunk-QZHKN3VN-DwwXlOCl.js → chunk-QZHKN3VN-uFFM4Cjm.js} +1 -1
  90. package/dist/server/assets/{chunk-TZMSLE5B-ECyN9wrL.js → chunk-TZMSLE5B-DH8QxQUD.js} +1 -1
  91. package/dist/server/assets/{classDiagram-v2-WZHVMYZB-qbF8ds74.js → classDiagram-2ON5EDUG-Dr94MNeD.js} +5 -5
  92. package/dist/server/assets/{classDiagram-2ON5EDUG-qbF8ds74.js → classDiagram-v2-WZHVMYZB-Dr94MNeD.js} +5 -5
  93. package/dist/server/assets/{clone-BCajbdd5.js → clone-DESSLwZZ.js} +1 -1
  94. package/dist/server/assets/{cose-bilkent-S5V4N54A-D5-w_t4l.js → cose-bilkent-S5V4N54A-B-Bym2R2.js} +1 -1
  95. package/dist/server/assets/{dagre-6UL2VRFP-CCIdAwdB.js → dagre-6UL2VRFP-CJdhKZlX.js} +6 -6
  96. package/dist/server/assets/{diagram-PSM6KHXK-CWGITxy9.js → diagram-PSM6KHXK-Bku5j6_i.js} +7 -7
  97. package/dist/server/assets/{diagram-QEK2KX5R-B07zrGgY.js → diagram-QEK2KX5R-CUdsg8PG.js} +6 -6
  98. package/dist/server/assets/{diagram-S2PKOQOG-XGIpbjo1.js → diagram-S2PKOQOG-DfZmENnB.js} +6 -6
  99. package/dist/server/assets/{erDiagram-Q2GNP2WA-DYHtO3j9.js → erDiagram-Q2GNP2WA-DgXGwPJi.js} +4 -4
  100. package/dist/server/assets/{flowDiagram-NV44I4VS-Cs7hS9X4.js → flowDiagram-NV44I4VS-CCKE-dcR.js} +5 -5
  101. package/dist/server/assets/{ganttDiagram-JELNMOA3-BhLp8xvm.js → ganttDiagram-JELNMOA3-Df1I84HD.js} +1 -1
  102. package/dist/server/assets/{gitGraph-G5XIXVHT-B46gW1OX.js → gitGraph-G5XIXVHT-Da1EJY5L.js} +6 -6
  103. package/dist/server/assets/{gitGraphDiagram-V2S2FVAM-CZHNGOm0.js → gitGraphDiagram-V2S2FVAM-BoLIFjNj.js} +7 -7
  104. package/dist/server/assets/{graph-4bVECaJM.js → graph-CzqmmHH7.js} +2 -2
  105. package/dist/server/assets/{highlighted-body-B3W2YXNL-DSf8s2aV.js → highlighted-body-B3W2YXNL-D44laf8J.js} +1 -1
  106. package/dist/server/assets/{index-BLv-1MtR.js → index-B-dHru1q.js} +5 -5
  107. package/dist/server/assets/{index-C7lRWZi8.js → index-B9n0dcMw.js} +4 -4
  108. package/dist/server/assets/{index-14dCbIAi.js → index-BVZPT41S.js} +5 -5
  109. package/dist/server/assets/{index-8EiXP0Bf.js → index-BbSejcCZ.js} +2 -2
  110. package/dist/server/assets/{index-1OK7lyTa.js → index-Bgh1V0xV.js} +2 -2
  111. package/dist/server/assets/{index-CHvqm6Lz.js → index-C6mmT4Bf.js} +1 -1
  112. package/dist/server/assets/{index-CDG7KvBY.js → index-CA1ILOaa.js} +2 -2
  113. package/dist/server/assets/{index-B72BPMJQ.js → index-CR4BnEcT.js} +3 -3
  114. package/dist/server/assets/{index-U3tOcUUV.js → index-CU2q4Svg.js} +2 -2
  115. package/dist/server/assets/{index-BRzkEVRG.js → index-CbnRNXnI.js} +1 -1
  116. package/dist/server/assets/{index-rT9xGtRW.js → index-CkCmjvnL.js} +3 -3
  117. package/dist/server/assets/{index-DAq8fRkd.js → index-DM7tck_E.js} +2 -2
  118. package/dist/server/assets/{index-Tq3ajWxh.js → index-DURk6tcR.js} +2 -2
  119. package/dist/server/assets/{index-Dz2mzfvS.js → index-DYATP6mi.js} +2 -2
  120. package/dist/server/assets/{index-CWr-Kh5M.js → index-DdEGElQC.js} +2 -2
  121. package/dist/server/assets/{index-pFRKwTv2.js → index-DoPHl__N.js} +2 -2
  122. package/dist/server/assets/{index-D2uLA4oe.js → index-JQz2Ac_X.js} +2 -2
  123. package/dist/server/assets/{index-CKPuU6Za.js → index-gZfWBVgm.js} +2 -2
  124. package/dist/server/assets/{info-VBDWY6EO-DrELfFR0.js → info-VBDWY6EO-CraK2qik.js} +6 -6
  125. package/dist/server/assets/{infoDiagram-HS3SLOUP-D40Crb-p.js → infoDiagram-HS3SLOUP-m71IJidm.js} +5 -5
  126. package/dist/server/assets/{journeyDiagram-XKPGCS4Q-dtlVBwV2.js → journeyDiagram-XKPGCS4Q-Z2B632R6.js} +4 -4
  127. package/dist/server/assets/{kanban-definition-3W4ZIXB7-72vgA7Jl.js → kanban-definition-3W4ZIXB7-B2vyxAFc.js} +2 -2
  128. package/dist/server/assets/{layout-DJ0Eul-X.js → layout-Ciol0TI8.js} +4 -4
  129. package/dist/server/assets/{mermaid-3ZIDBTTL-DGEHf_at.js → mermaid-3ZIDBTTL-m_-3aBOO.js} +1 -1
  130. package/dist/server/assets/{mermaid-parser.core-C1UfVEF8.js → mermaid-parser.core-DsRAodK1.js} +11 -11
  131. package/dist/server/assets/{mindmap-definition-VGOIOE7T-DYfEp2uH.js → mindmap-definition-VGOIOE7T-B9LDAkQV.js} +3 -3
  132. package/dist/server/assets/{packet-DYOGHKS2-IHYchS32.js → packet-DYOGHKS2-CU0Rnzfp.js} +6 -6
  133. package/dist/server/assets/{pie-VRWISCQL-R6SvOU4g.js → pie-VRWISCQL-DAKQG59I.js} +6 -6
  134. package/dist/server/assets/{pieDiagram-ADFJNKIX-EgffZsud.js → pieDiagram-ADFJNKIX-C895xIIt.js} +7 -7
  135. package/dist/server/assets/{quadrantDiagram-AYHSOK5B-n2oJWllV.js → quadrantDiagram-AYHSOK5B-6UAdibo5.js} +1 -1
  136. package/dist/server/assets/{radar-ZZBFDIW7-BX2ya_Na.js → radar-ZZBFDIW7-CSkyNl40.js} +6 -6
  137. package/dist/server/assets/{requirementDiagram-UZGBJVZJ-CzCXruFj.js → requirementDiagram-UZGBJVZJ-C9qwWXGY.js} +3 -3
  138. package/dist/server/assets/{router-BC8bCsa3.js → router-B9BGcvPs.js} +1570 -519
  139. package/dist/server/assets/{sankeyDiagram-TZEHDZUN-C0GqwqSS.js → sankeyDiagram-TZEHDZUN-BD3BjmcP.js} +1 -1
  140. package/dist/server/assets/{sequenceDiagram-WL72ISMW-BfX0R0LP.js → sequenceDiagram-WL72ISMW-CaRznm1o.js} +3 -3
  141. package/dist/server/assets/{square-terminal-BWcJU95Z.js → square-terminal-CuW8JOAZ.js} +1 -1
  142. package/dist/server/assets/{stateDiagram-FKZM4ZOC-QowlLVwh.js → stateDiagram-FKZM4ZOC-C7925k-i.js} +8 -8
  143. package/dist/server/assets/{stateDiagram-v2-4FDKWEC3-DVHzQlOF.js → stateDiagram-v2-4FDKWEC3-C0yapgJL.js} +4 -4
  144. package/dist/server/assets/{timeline-definition-IT6M3QCI-DUoaC7rz.js → timeline-definition-IT6M3QCI-DfwL9TFo.js} +2 -2
  145. package/dist/server/assets/{treemap-GDKQZRPO-B5KIzomx.js → treemap-GDKQZRPO-kKnTHSv2.js} +6 -6
  146. package/dist/server/assets/{workspace._workspaceId-hnIpuUNX.js → workspace._workspaceId-BK83HsBK.js} +1 -1
  147. package/dist/server/assets/{workspace._workspaceId-DRK2dblR.js → workspace._workspaceId-DEWHh9LI.js} +3 -3
  148. package/dist/server/assets/{xychartDiagram-PRI3JC2R-aNxYxejD.js → xychartDiagram-PRI3JC2R-CfUYiueD.js} +1 -1
  149. package/dist/server/server.js +2 -2
  150. package/dist/start-server.mjs +193 -115
  151. package/package.json +4 -4
  152. package/dist/client/assets/DockviewTerminalContainer-BA10dl2w.js +0 -2
  153. package/dist/client/assets/TerminalPanel-C40mohhY.js +0 -5
  154. package/dist/client/assets/_baseUniq-hs8Z8eGG.js +0 -1
  155. package/dist/client/assets/architectureDiagram-VXUJARFQ-BmuwLrzR.js +0 -36
  156. package/dist/client/assets/channel-cGiKwLh2.js +0 -1
  157. package/dist/client/assets/chunk-QN33PNHL-BsNBNA8p.js +0 -1
  158. package/dist/client/assets/classDiagram-2ON5EDUG-aEV-2-qP.js +0 -1
  159. package/dist/client/assets/classDiagram-v2-WZHVMYZB-aEV-2-qP.js +0 -1
  160. package/dist/client/assets/clone-CArWpwXp.js +0 -1
  161. package/dist/client/assets/cose-bilkent-S5V4N54A-HZO5t4GF.js +0 -1
  162. package/dist/client/assets/dagre-6UL2VRFP-DnOsaGGD.js +0 -4
  163. package/dist/client/assets/diagram-PSM6KHXK-tirWXx7b.js +0 -24
  164. package/dist/client/assets/diagram-QEK2KX5R-Cjtr8l3E.js +0 -43
  165. package/dist/client/assets/diagram-S2PKOQOG-CuNpvzLc.js +0 -24
  166. package/dist/client/assets/gitGraphDiagram-V2S2FVAM-DMoH-grQ.js +0 -65
  167. package/dist/client/assets/infoDiagram-HS3SLOUP-C_wVpnnp.js +0 -2
  168. package/dist/client/assets/main-i-GTiqUd.css +0 -1
  169. package/dist/client/assets/pieDiagram-ADFJNKIX-Q71p26az.js +0 -30
  170. package/dist/client/assets/stateDiagram-FKZM4ZOC-CXLDkeLY.js +0 -1
  171. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-R8LzGctw.js +0 -1
  172. package/dist/server/assets/TerminalPanel-BhOjwcFW.js +0 -1236
  173. package/dist/server/assets/_tanstack-start-manifest_v-C_7Mj4aJ.js +0 -4
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports, R as React } from "../server.js";
2
- import { u as useAdapter, n as useQueryClient, o as useQuery, p as trpc, q as selectNeighbourBeforeRemove, r as centralPanelPosition, v as ensureEdgeGroups, w as attachEdgeGroupDragVisibility, x as registerInnerDockview, y as PanelVisibilityContext, z as DockviewReact, C as Columns2, A as Rows2, B as Plus, X, E as usePanelVisibility, F as cycleTabsInActiveGroup, G as cycleGridGroups } from "./router-BC8bCsa3.js";
3
- import { S as SquareTerminal } from "./square-terminal-BWcJU95Z.js";
2
+ import { u as useAdapter, n as useQueryClient, o as useQuery, p as trpc, q as selectNeighbourBeforeRemove, r as disposeTerminal, v as centralPanelPosition, w as ensureEdgeGroups, x as attachEdgeGroupDragVisibility, y as registerInnerDockview, z as PanelVisibilityContext, A as DockviewReact, C as Columns2, B as Rows2, E as Plus, X, F as usePanelVisibility, G as cycleTabsInActiveGroup, H as cycleGridGroups } from "./router-B9BGcvPs.js";
3
+ import { S as SquareTerminal } from "./square-terminal-CuW8JOAZ.js";
4
4
  import "node:async_hooks";
5
5
  import "node:stream";
6
6
  import "util";
@@ -12,7 +12,7 @@ import "node:process";
12
12
  import "node:path";
13
13
  import "node:url";
14
14
  const TerminalPanel = reactExports.lazy(
15
- () => import("./TerminalPanel-BhOjwcFW.js").then((m) => ({ default: m.TerminalPanel }))
15
+ () => import("./TerminalPanel-BiNP-nsL.js").then((m) => ({ default: m.TerminalPanel }))
16
16
  );
17
17
  function uuid() {
18
18
  if (typeof crypto !== "undefined" && typeof crypto.randomUUID === "function") {
@@ -325,6 +325,7 @@ function DockviewTerminalContainer({
325
325
  if (!activePanel) return;
326
326
  activePanel.view.content.element.querySelector(".xterm-helper-textarea")?.focus();
327
327
  });
328
+ disposeTerminal(terminalId);
328
329
  trpc.terminal.kill.mutate({ terminalId }).catch((err) => {
329
330
  console.error("[DockviewTerminalContainer] failed to kill terminal:", err);
330
331
  });
@@ -463,6 +464,7 @@ function DockviewTerminalContainer({
463
464
  position: centralPanelPosition(api)
464
465
  });
465
466
  } else if (event.kind === "terminal-killed" && typeof event.terminalId === "string") {
467
+ disposeTerminal(event.terminalId);
466
468
  const panel = api.getPanel(event.terminalId);
467
469
  if (panel) {
468
470
  api.removePanel(panel);
@@ -0,0 +1,425 @@
1
+ import { r as reactExports, j as jsxRuntimeExports } from "../server.js";
2
+ import { m as createLucideIcon, cl as writeClipboardText, cm as readClipboardText, cn as ArrowLeft, co as ArrowUp, cp as ArrowDown, cq as ArrowRight, cr as ClipboardCopy, X, cs as ClipboardPaste, ch as useSettingsQuery, ct as getOrCreateTerminal, cu as SearchBar } from "./router-B9BGcvPs.js";
3
+ import "node:async_hooks";
4
+ import "node:stream";
5
+ import "util";
6
+ import "crypto";
7
+ import "async_hooks";
8
+ import "stream";
9
+ import "node:stream/web";
10
+ import "node:process";
11
+ import "node:path";
12
+ import "node:url";
13
+ const __iconNode$2 = [
14
+ ["path", { d: "M20 4v7a4 4 0 0 1-4 4H4", key: "6o5b7l" }],
15
+ ["path", { d: "m9 10-5 5 5 5", key: "1kshq7" }]
16
+ ];
17
+ const CornerDownLeft = createLucideIcon("corner-down-left", __iconNode$2);
18
+ const __iconNode$1 = [["path", { d: "M22 2 2 22", key: "y4kqgn" }]];
19
+ const Slash = createLucideIcon("slash", __iconNode$1);
20
+ const __iconNode = [
21
+ ["path", { d: "M12 20h-1a2 2 0 0 1-2-2 2 2 0 0 1-2 2H6", key: "1528k5" }],
22
+ ["path", { d: "M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7", key: "13ksps" }],
23
+ ["path", { d: "M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1", key: "1n9rhb" }],
24
+ ["path", { d: "M6 4h1a2 2 0 0 1 2 2 2 2 0 0 1 2-2h1", key: "1mj8rg" }],
25
+ ["path", { d: "M9 6v12", key: "velyjx" }]
26
+ ];
27
+ const TextCursorInput = createLucideIcon("text-cursor-input", __iconNode);
28
+ const TERMINAL_TOOLBAR_HEIGHT_PX = 49;
29
+ const TOUCH_QUERY = "(hover: none) and (pointer: coarse)";
30
+ function useVirtualKeyboardToolbar() {
31
+ const [enabled, setEnabled] = reactExports.useState(
32
+ () => typeof window === "undefined" ? false : window.matchMedia(TOUCH_QUERY).matches
33
+ );
34
+ const [bottomOffset, setBottomOffset] = reactExports.useState(0);
35
+ reactExports.useEffect(() => {
36
+ if (typeof window === "undefined") return;
37
+ const mql = window.matchMedia(TOUCH_QUERY);
38
+ const handler = (e) => setEnabled(e.matches);
39
+ setEnabled(mql.matches);
40
+ mql.addEventListener("change", handler);
41
+ return () => mql.removeEventListener("change", handler);
42
+ }, []);
43
+ reactExports.useEffect(() => {
44
+ if (typeof window === "undefined") return;
45
+ if (!enabled) {
46
+ setBottomOffset(0);
47
+ return;
48
+ }
49
+ const vv = window.visualViewport;
50
+ if (!vv) return;
51
+ const update = () => {
52
+ const keyboardHeight = Math.max(0, window.innerHeight - (vv.offsetTop + vv.height));
53
+ setBottomOffset(keyboardHeight);
54
+ };
55
+ update();
56
+ vv.addEventListener("resize", update);
57
+ vv.addEventListener("scroll", update);
58
+ window.addEventListener("resize", update);
59
+ return () => {
60
+ vv.removeEventListener("resize", update);
61
+ vv.removeEventListener("scroll", update);
62
+ window.removeEventListener("resize", update);
63
+ };
64
+ }, [enabled]);
65
+ return {
66
+ enabled,
67
+ bottomOffset,
68
+ contentBottomInset: enabled ? TERMINAL_TOOLBAR_HEIGHT_PX : 0
69
+ };
70
+ }
71
+ const SEQ_ESC = "\x1B";
72
+ const SEQ_TAB = " ";
73
+ const SEQ_ENTER = "\r";
74
+ const SEQ_SLASH = "/";
75
+ const SEQ_ARROW_UP = "\x1B[A";
76
+ const SEQ_ARROW_DOWN = "\x1B[B";
77
+ const SEQ_ARROW_RIGHT = "\x1B[C";
78
+ const SEQ_ARROW_LEFT = "\x1B[D";
79
+ const tap = (fn) => (e) => {
80
+ e.preventDefault();
81
+ void fn();
82
+ };
83
+ function TerminalToolbar({
84
+ terminal,
85
+ sendInput,
86
+ pendingCtrl,
87
+ onToggleCtrl,
88
+ selectionMode,
89
+ onExtendSelection,
90
+ onExitSelection,
91
+ onSelectAll
92
+ }) {
93
+ const { enabled, bottomOffset } = useVirtualKeyboardToolbar();
94
+ const handleCopy = reactExports.useCallback(async () => {
95
+ if (!terminal.hasSelection()) return;
96
+ const text = terminal.getSelection();
97
+ if (!text) return;
98
+ const ok = await writeClipboardText(text);
99
+ if (!ok) console.warn("[TerminalToolbar] clipboard write failed");
100
+ }, [terminal]);
101
+ const handleCopyAndExit = reactExports.useCallback(async () => {
102
+ await handleCopy();
103
+ onExitSelection();
104
+ }, [handleCopy, onExitSelection]);
105
+ const handlePaste = reactExports.useCallback(async () => {
106
+ const text = await readClipboardText();
107
+ if (text) sendInput(text);
108
+ }, [sendInput]);
109
+ const idleKeyButtons = reactExports.useMemo(
110
+ () => [
111
+ { label: "Esc", seq: SEQ_ESC, ariaLabel: "Send Escape" },
112
+ { label: "Tab", seq: SEQ_TAB, ariaLabel: "Send Tab" }
113
+ ],
114
+ []
115
+ );
116
+ const idleArrows = reactExports.useMemo(
117
+ () => [
118
+ { Icon: ArrowLeft, seq: SEQ_ARROW_LEFT, ariaLabel: "Arrow Left" },
119
+ { Icon: ArrowUp, seq: SEQ_ARROW_UP, ariaLabel: "Arrow Up" },
120
+ { Icon: ArrowDown, seq: SEQ_ARROW_DOWN, ariaLabel: "Arrow Down" },
121
+ { Icon: ArrowRight, seq: SEQ_ARROW_RIGHT, ariaLabel: "Arrow Right" }
122
+ ],
123
+ []
124
+ );
125
+ const selectionArrows = reactExports.useMemo(
126
+ () => [
127
+ { Icon: ArrowLeft, dir: "left", ariaLabel: "Extend selection left" },
128
+ { Icon: ArrowUp, dir: "up", ariaLabel: "Extend selection up" },
129
+ { Icon: ArrowDown, dir: "down", ariaLabel: "Extend selection down" },
130
+ { Icon: ArrowRight, dir: "right", ariaLabel: "Extend selection right" }
131
+ ],
132
+ []
133
+ );
134
+ if (!enabled) return null;
135
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
136
+ "div",
137
+ {
138
+ "data-testid": "terminal-toolbar",
139
+ "data-mode": selectionMode ? "selection" : "idle",
140
+ role: "toolbar",
141
+ "aria-label": selectionMode ? "Terminal selection controls" : "Terminal accessory keys",
142
+ style: { bottom: bottomOffset },
143
+ className: "fixed inset-x-0 z-50 flex justify-center border-t border-border bg-background/95 shadow-lg backdrop-blur-md",
144
+ children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex w-full max-w-3xl items-center gap-1 px-2 py-1.5", children: [
145
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex min-w-0 flex-1 items-center gap-1 overflow-x-auto", children: selectionMode ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
146
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
147
+ ToolbarButton,
148
+ {
149
+ ariaLabel: "Copy selection and exit",
150
+ title: "Copy",
151
+ onPointerDown: tap(handleCopyAndExit),
152
+ variant: "primary",
153
+ children: [
154
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ClipboardCopy, { className: "size-4" }),
155
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs", children: "Copy" })
156
+ ]
157
+ }
158
+ ),
159
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
160
+ ToolbarButton,
161
+ {
162
+ ariaLabel: "Exit selection mode",
163
+ title: "Done",
164
+ onPointerDown: tap(onExitSelection),
165
+ children: [
166
+ /* @__PURE__ */ jsxRuntimeExports.jsx(X, { className: "size-4" }),
167
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs", children: "Done" })
168
+ ]
169
+ }
170
+ ),
171
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mx-1 h-6 w-px shrink-0 bg-border", "aria-hidden": "true" }),
172
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
173
+ "span",
174
+ {
175
+ className: "mr-1 shrink-0 select-none text-xs font-medium uppercase tracking-wide text-muted-foreground",
176
+ "aria-hidden": "true",
177
+ children: "Extend"
178
+ }
179
+ ),
180
+ selectionArrows.map(({ Icon, dir, ariaLabel }) => /* @__PURE__ */ jsxRuntimeExports.jsx(
181
+ ToolbarButton,
182
+ {
183
+ ariaLabel,
184
+ title: ariaLabel,
185
+ onPointerDown: tap(() => onExtendSelection(dir)),
186
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { className: "size-4" })
187
+ },
188
+ dir
189
+ ))
190
+ ] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
191
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
192
+ ToolbarButton,
193
+ {
194
+ ariaLabel: "Paste from clipboard",
195
+ title: "Paste",
196
+ onPointerDown: tap(handlePaste),
197
+ children: [
198
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ClipboardPaste, { className: "size-4" }),
199
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs", children: "Paste" })
200
+ ]
201
+ }
202
+ ),
203
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
204
+ ToolbarButton,
205
+ {
206
+ ariaLabel: "Select all",
207
+ title: "Select all",
208
+ onPointerDown: tap(onSelectAll),
209
+ children: [
210
+ /* @__PURE__ */ jsxRuntimeExports.jsx(TextCursorInput, { className: "size-4" }),
211
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs", children: "All" })
212
+ ]
213
+ }
214
+ ),
215
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mx-1 h-6 w-px shrink-0 bg-border", "aria-hidden": "true" }),
216
+ idleKeyButtons.map(({ label, seq, ariaLabel }) => /* @__PURE__ */ jsxRuntimeExports.jsx(
217
+ ToolbarButton,
218
+ {
219
+ ariaLabel,
220
+ title: label,
221
+ onPointerDown: tap(() => sendInput(seq)),
222
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs font-medium", children: label })
223
+ },
224
+ label
225
+ )),
226
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
227
+ ToolbarButton,
228
+ {
229
+ ariaLabel: "Send slash",
230
+ title: "Slash command",
231
+ onPointerDown: tap(() => sendInput(SEQ_SLASH)),
232
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(Slash, { className: "size-4" })
233
+ }
234
+ ),
235
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
236
+ ToolbarButton,
237
+ {
238
+ ariaLabel: pendingCtrl ? "Cancel pending Ctrl" : "Arm Ctrl modifier",
239
+ title: "Ctrl (sticky — taps the next key as Ctrl+key)",
240
+ onPointerDown: tap(onToggleCtrl),
241
+ active: pendingCtrl,
242
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs font-medium", children: "Ctrl" })
243
+ }
244
+ ),
245
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mx-1 h-6 w-px shrink-0 bg-border", "aria-hidden": "true" }),
246
+ idleArrows.map(({ Icon, seq, ariaLabel }) => /* @__PURE__ */ jsxRuntimeExports.jsx(
247
+ ToolbarButton,
248
+ {
249
+ ariaLabel,
250
+ title: ariaLabel,
251
+ onPointerDown: tap(() => sendInput(seq)),
252
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { className: "size-4" })
253
+ },
254
+ ariaLabel
255
+ ))
256
+ ] }) }),
257
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "h-6 w-px shrink-0 bg-border", "aria-hidden": "true" }),
258
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
259
+ ToolbarButton,
260
+ {
261
+ ariaLabel: "Send Enter",
262
+ title: "Enter",
263
+ onPointerDown: tap(() => sendInput(SEQ_ENTER)),
264
+ variant: "primary",
265
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(CornerDownLeft, { className: "size-4" })
266
+ }
267
+ )
268
+ ] })
269
+ }
270
+ );
271
+ }
272
+ function ToolbarButton({
273
+ ariaLabel,
274
+ title,
275
+ onPointerDown,
276
+ active,
277
+ variant = "default",
278
+ disabled,
279
+ children
280
+ }) {
281
+ const palette = active ? "bg-primary text-primary-foreground" : variant === "primary" ? "bg-primary text-primary-foreground hover:bg-primary/90" : "bg-muted/60 hover:bg-muted active:bg-muted";
282
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
283
+ "button",
284
+ {
285
+ type: "button",
286
+ "aria-label": ariaLabel,
287
+ "aria-pressed": active,
288
+ title,
289
+ onPointerDown,
290
+ disabled,
291
+ className: [
292
+ "inline-flex h-9 min-w-9 shrink-0 items-center justify-center gap-1 rounded-md px-2",
293
+ "text-foreground transition-colors",
294
+ palette,
295
+ "disabled:opacity-40"
296
+ ].join(" "),
297
+ children
298
+ }
299
+ );
300
+ }
301
+ function TerminalPanel({
302
+ workspaceId,
303
+ terminalId,
304
+ visible,
305
+ paneMetadata,
306
+ autoFocus,
307
+ onTitleChange
308
+ }) {
309
+ const liveRef = reactExports.useRef(null);
310
+ const searchBarRef = reactExports.useRef(null);
311
+ const { settings } = useSettingsQuery();
312
+ const useWebGL = settings.useWebGLTerminalRenderer ?? true;
313
+ const entryRef = reactExports.useRef(null);
314
+ if (!entryRef.current || entryRef.current.terminalId !== terminalId || entryRef.current.isDestroyed()) {
315
+ entryRef.current = getOrCreateTerminal(terminalId, {
316
+ workspaceId,
317
+ paneMetadata,
318
+ useWebGL,
319
+ autoFocus
320
+ });
321
+ }
322
+ const entry = entryRef.current;
323
+ const state = reactExports.useSyncExternalStore(entry.subscribe, entry.getSnapshot);
324
+ reactExports.useEffect(() => {
325
+ const el = liveRef.current;
326
+ if (!el) return;
327
+ if (visible) entry.attach(el, { autoFocus });
328
+ else entry.detach();
329
+ }, [visible, entry, autoFocus]);
330
+ reactExports.useEffect(() => () => entry.detach(), [entry]);
331
+ const onTitleChangeRef = reactExports.useRef(onTitleChange);
332
+ onTitleChangeRef.current = onTitleChange;
333
+ reactExports.useEffect(
334
+ () => entry.registerTitleListener((title) => onTitleChangeRef.current?.(title)),
335
+ [entry]
336
+ );
337
+ reactExports.useEffect(() => {
338
+ const handler = () => {
339
+ if (visible) entry.focus();
340
+ };
341
+ window.addEventListener("band:focus-terminal", handler);
342
+ return () => window.removeEventListener("band:focus-terminal", handler);
343
+ }, [visible, entry]);
344
+ reactExports.useEffect(() => {
345
+ if (!state.searchOpen) return;
346
+ const id = requestAnimationFrame(() => {
347
+ searchBarRef.current?.focus();
348
+ searchBarRef.current?.select();
349
+ });
350
+ return () => cancelAnimationFrame(id);
351
+ }, [state.searchOpen]);
352
+ const pendingInsertRef = reactExports.useRef(null);
353
+ const flushPendingInsert = reactExports.useCallback(() => {
354
+ const reference = pendingInsertRef.current;
355
+ if (!reference) return;
356
+ if (!entry.isSocketOpen()) return;
357
+ entry.sendInput(reference);
358
+ pendingInsertRef.current = null;
359
+ entry.focus();
360
+ }, [entry]);
361
+ reactExports.useEffect(() => {
362
+ if (visible) flushPendingInsert();
363
+ else pendingInsertRef.current = null;
364
+ }, [visible, flushPendingInsert]);
365
+ reactExports.useEffect(
366
+ () => entry.subscribeConnect(() => {
367
+ if (visible) flushPendingInsert();
368
+ }),
369
+ [entry, visible, flushPendingInsert]
370
+ );
371
+ reactExports.useEffect(() => {
372
+ const handler = (e) => {
373
+ const detail = e.detail;
374
+ if (!detail?.reference || detail.workspaceId !== workspaceId) return;
375
+ if (detail.terminalId && detail.terminalId !== terminalId) return;
376
+ pendingInsertRef.current = detail.reference;
377
+ if (visible) flushPendingInsert();
378
+ };
379
+ window.addEventListener("band:terminal-insert", handler);
380
+ return () => window.removeEventListener("band:terminal-insert", handler);
381
+ }, [visible, workspaceId, terminalId, flushPendingInsert]);
382
+ const { contentBottomInset } = useVirtualKeyboardToolbar();
383
+ const terminal = entry.getTerminal();
384
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative flex h-full w-full flex-col", children: [
385
+ state.searchOpen && /* @__PURE__ */ jsxRuntimeExports.jsx(
386
+ SearchBar,
387
+ {
388
+ ref: searchBarRef,
389
+ query: state.searchQuery,
390
+ onQueryChange: entry.setSearchQuery,
391
+ options: state.searchOptions,
392
+ onOptionsChange: entry.setSearchOptions,
393
+ placeholder: "Find in terminal...",
394
+ matchInfo: state.matchInfo,
395
+ onNext: entry.findNext,
396
+ onPrevious: entry.findPrevious,
397
+ onClose: entry.closeSearch
398
+ }
399
+ ),
400
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "relative min-h-0 flex-1", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
401
+ "div",
402
+ {
403
+ ref: liveRef,
404
+ className: "absolute inset-x-2 top-2 overflow-hidden",
405
+ style: { bottom: 8 + contentBottomInset }
406
+ }
407
+ ) }),
408
+ state.ready && terminal && /* @__PURE__ */ jsxRuntimeExports.jsx(
409
+ TerminalToolbar,
410
+ {
411
+ terminal,
412
+ sendInput: entry.sendInput,
413
+ pendingCtrl: state.pendingCtrl,
414
+ onToggleCtrl: entry.toggleCtrl,
415
+ selectionMode: state.selectionMode,
416
+ onExtendSelection: entry.extendSelection,
417
+ onExitSelection: entry.exitSelection,
418
+ onSelectAll: entry.selectAll
419
+ }
420
+ )
421
+ ] });
422
+ }
423
+ export {
424
+ TerminalPanel
425
+ };
@@ -1,5 +1,5 @@
1
- import { e as isSymbol, c as baseFlatten, g as baseIteratee, k as keys, h as baseFindIndex, j as baseEach, l as arrayMap, m as hasPath, n as castPath, t as toKey, o as baseGet } from "./_baseUniq-DSFYYhGd.js";
2
- import { de as isObject, bv as baseRest, df as isIterateeCall, dg as keysIn, dh as eq, di as isArrayLike, dj as isArray, dk as identity, dl as isIndex, dm as assignValue } from "./router-BC8bCsa3.js";
1
+ import { e as isSymbol, c as baseFlatten, g as baseIteratee, k as keys, h as baseFindIndex, j as baseEach, l as arrayMap, m as hasPath, n as castPath, t as toKey, o as baseGet } from "./_baseUniq-d93HSS0F.js";
2
+ import { db as isObject, bw as baseRest, dc as isIterateeCall, dd as keysIn, de as eq, df as isArrayLike, dg as isArray, dh as identity, di as isIndex, dj as assignValue } from "./router-B9BGcvPs.js";
3
3
  var reWhitespace = /\s/;
4
4
  function trimmedEndIndex(string) {
5
5
  var index = string.length;
@@ -1,4 +1,4 @@
1
- import { dx as isObjectLike, dy as baseGetTag, dj as isArray, dz as Symbol$1, di as isArrayLike, dA as arrayLikeKeys, dB as baseKeys, dC as memoize, dD as isArguments, dE as copyObject, dg as keysIn, dF as getPrototype, dG as cloneArrayBuffer, dH as cloneTypedArray, dI as getTag, dv as baseUnary, dJ as nodeUtil, de as isObject, dK as copyArray, dL as isBuffer, dM as cloneBuffer, dN as initCloneObject, dO as Stack, dm as assignValue, dP as MapCache, dh as eq, dQ as Uint8Array, dR as isTypedArray, dS as isLength, dl as isIndex, dk as identity, dt as baseFor, dT as Set } from "./router-BC8bCsa3.js";
1
+ import { du as isObjectLike, dv as baseGetTag, dg as isArray, dw as Symbol$1, df as isArrayLike, dx as arrayLikeKeys, dy as baseKeys, dz as memoize, dA as isArguments, dB as copyObject, dd as keysIn, dC as getPrototype, dD as cloneArrayBuffer, dE as cloneTypedArray, dF as getTag, ds as baseUnary, dG as nodeUtil, db as isObject, dH as copyArray, dI as isBuffer, dJ as cloneBuffer, dK as initCloneObject, dL as Stack, dj as assignValue, dM as MapCache, de as eq, dN as Uint8Array, dO as isTypedArray, dP as isLength, di as isIndex, dh as identity, dq as baseFor, dQ as Set } from "./router-B9BGcvPs.js";
2
2
  var symbolTag$3 = "[object Symbol]";
3
3
  function isSymbol(value) {
4
4
  return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag$3;
@@ -0,0 +1,4 @@
1
+ const tsrStartManifest = () => ({ "routes": { "__root__": { "filePath": "/Users/runner/work/band/band/apps/web/src/routes/__root.tsx", "children": ["/", "/workspace/$workspaceId"], "preloads": ["/assets/main-5cZqr4FX.js"], "assets": [{ "tag": "link", "attrs": { "rel": "stylesheet", "href": "/assets/main-DOmWiUwE.css", "type": "text/css" } }] }, "/": { "filePath": "/Users/runner/work/band/band/apps/web/src/routes/index.tsx", "assets": [{ "tag": "link", "attrs": { "rel": "stylesheet", "href": "/assets/main-DOmWiUwE.css", "type": "text/css" } }], "preloads": ["/assets/index-C-44kyj4.js"] }, "/workspace/$workspaceId": { "filePath": "/Users/runner/work/band/band/apps/web/src/routes/workspace.$workspaceId.tsx", "assets": [{ "tag": "link", "attrs": { "rel": "stylesheet", "href": "/assets/main-DOmWiUwE.css", "type": "text/css" } }], "preloads": ["/assets/workspace._workspaceId-CDQS6YxL.js", "/assets/square-terminal-DKjKKzzC.js"] } }, "clientEntry": "/assets/main-5cZqr4FX.js" });
2
+ export {
3
+ tsrStartManifest
4
+ };
@@ -1,4 +1,4 @@
1
- import { at as withPath, au as halfPi, av as epsilon, aw as tau, ax as cos, ay as sin, az as min, aA as abs, aB as pi, aC as sqrt, aD as atan2, aE as constant, aF as asin, aG as acos, aH as max } from "./router-BC8bCsa3.js";
1
+ import { au as withPath, av as halfPi, aw as epsilon, ax as tau, ay as cos, az as sin, aA as min, aB as abs, aC as pi, aD as sqrt, aE as atan2, aF as constant, aG as asin, aH as acos, aI as max } from "./router-B9BGcvPs.js";
2
2
  function arcInnerRadius(d) {
3
3
  return d.innerRadius;
4
4
  }
@@ -1,6 +1,6 @@
1
- import { e as createArchitectureServices } from "./mermaid-parser.core-C1UfVEF8.js";
2
- import { A } from "./mermaid-parser.core-C1UfVEF8.js";
3
- import "./router-BC8bCsa3.js";
1
+ import { e as createArchitectureServices } from "./mermaid-parser.core-DsRAodK1.js";
2
+ import { A } from "./mermaid-parser.core-DsRAodK1.js";
3
+ import "./router-B9BGcvPs.js";
4
4
  import "../server.js";
5
5
  import "node:async_hooks";
6
6
  import "node:stream";
@@ -12,9 +12,9 @@ import "node:stream/web";
12
12
  import "node:process";
13
13
  import "node:path";
14
14
  import "node:url";
15
- import "./_baseUniq-DSFYYhGd.js";
16
- import "./_basePickBy-DVK5KtlH.js";
17
- import "./clone-BCajbdd5.js";
15
+ import "./_baseUniq-d93HSS0F.js";
16
+ import "./_basePickBy-C563KIXw.js";
17
+ import "./clone-DESSLwZZ.js";
18
18
  import "path";
19
19
  import "os";
20
20
  import "net";
@@ -1,15 +1,15 @@
1
1
  var _a;
2
- import { _ as __name, ar as selectSvgElement, aW as setupGraphViewbox, W as log, S as setAccTitle, O as getAccTitle, aa as setDiagramTitle, ab as getDiagramTitle, M as getAccDescription, J as setAccDescription, ag as clear, an as cleanAndMerge, ao as defaultConfig_default, ap as getConfig, U as getConfig2, b4 as createText, ck as getIconSVG, a0 as sanitizeText, V as select, af as getEdgeId, cl as registerIconPacks, cm as unknownIcon } from "./router-BC8bCsa3.js";
3
- import { p as populateCommonDb } from "./chunk-4BX2VUAB-85OXnz_P.js";
4
- import { p as parse } from "./mermaid-parser.core-C1UfVEF8.js";
2
+ import { _ as __name, as as selectSvgElement, aX as setupGraphViewbox, Y as log, U as setAccTitle, S as getAccTitle, ab as setDiagramTitle, ac as getDiagramTitle, O as getAccDescription, M as setAccDescription, ah as clear, ao as cleanAndMerge, ap as defaultConfig_default, aq as getConfig, V as getConfig2, b5 as createText, cv as getIconSVG, a1 as sanitizeText, W as select, ag as getEdgeId, cw as registerIconPacks, cx as unknownIcon } from "./router-B9BGcvPs.js";
3
+ import { p as populateCommonDb } from "./chunk-4BX2VUAB-DWhvAfOu.js";
4
+ import { p as parse } from "./mermaid-parser.core-DsRAodK1.js";
5
5
  import { c as cytoscape$1 } from "./cytoscape.esm-Bm8DJGmZ.js";
6
6
  import { g as getDefaultExportFromCjs } from "../server.js";
7
7
  import "node:process";
8
8
  import "node:path";
9
9
  import "node:url";
10
- import "./_baseUniq-DSFYYhGd.js";
11
- import "./_basePickBy-DVK5KtlH.js";
12
- import "./clone-BCajbdd5.js";
10
+ import "./_baseUniq-d93HSS0F.js";
11
+ import "./_basePickBy-C563KIXw.js";
12
+ import "./clone-DESSLwZZ.js";
13
13
  import "util";
14
14
  import "path";
15
15
  import "os";
@@ -1,8 +1,8 @@
1
- import { g as getIconStyles } from "./chunk-FMBD7UC4-CsuoPD3I.js";
2
- import { _ as __name, ap as getConfig, V as select, Y as configureSvgSize, W as log, ag as clear, ai as rgba, b2 as getLineFunctionsWithOffset, aM as line, aU as curveBasis, U as getConfig2, aR as getUrl, b3 as evaluate, b4 as createText, b5 as getSubGraphTitleMargins, a9 as utils_default, a3 as common_default, b6 as replaceIconSubstring, b7 as decodeEntities, a0 as sanitizeText, b8 as getStylesFromArray } from "./router-BC8bCsa3.js";
3
- import { c as clone } from "./clone-BCajbdd5.js";
4
- import { G as Graph } from "./graph-4bVECaJM.js";
5
- import { c as channel } from "./channel-C_c7u4ky.js";
1
+ import { g as getIconStyles } from "./chunk-FMBD7UC4-CEf8TJeK.js";
2
+ import { _ as __name, aq as getConfig, W as select, Z as configureSvgSize, Y as log, ah as clear, aj as rgba, b3 as getLineFunctionsWithOffset, aN as line, aV as curveBasis, V as getConfig2, aS as getUrl, b4 as evaluate, b5 as createText, b6 as getSubGraphTitleMargins, aa as utils_default, a4 as common_default, b7 as replaceIconSubstring, b8 as decodeEntities, a1 as sanitizeText, b9 as getStylesFromArray } from "./router-B9BGcvPs.js";
3
+ import { c as clone } from "./clone-DESSLwZZ.js";
4
+ import { G as Graph } from "./graph-CzqmmHH7.js";
5
+ import { c as channel } from "./channel-CGY9wImP.js";
6
6
  import "../server.js";
7
7
  import "node:async_hooks";
8
8
  import "node:stream";
@@ -14,7 +14,7 @@ import "node:stream/web";
14
14
  import "node:process";
15
15
  import "node:path";
16
16
  import "node:url";
17
- import "./_baseUniq-DSFYYhGd.js";
17
+ import "./_baseUniq-d93HSS0F.js";
18
18
  var parser = (function() {
19
19
  var o = /* @__PURE__ */ __name(function(k, v, o2, l) {
20
20
  for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;
@@ -1,6 +1,6 @@
1
1
  var _a, _b;
2
- import { g as getNoteRect, d as drawRect } from "./chunk-TZMSLE5B-ECyN9wrL.js";
3
- import { J as setAccDescription, M as getAccDescription, O as getAccTitle, S as setAccTitle, _ as __name, U as getConfig2, V as select, W as log, Y as configureSvgSize, Z as assignWithDepth_default, $ as calculateTextWidth, a0 as sanitizeText, a1 as distExports, a2 as wrapLabel, a3 as common_default, a4 as calculateTextHeight } from "./router-BC8bCsa3.js";
2
+ import { g as getNoteRect, d as drawRect } from "./chunk-TZMSLE5B-DH8QxQUD.js";
3
+ import { M as setAccDescription, O as getAccDescription, S as getAccTitle, U as setAccTitle, _ as __name, V as getConfig2, W as select, Y as log, Z as configureSvgSize, $ as assignWithDepth_default, a0 as calculateTextWidth, a1 as sanitizeText, a2 as distExports, a3 as wrapLabel, a4 as common_default, a5 as calculateTextHeight } from "./router-B9BGcvPs.js";
4
4
  import "../server.js";
5
5
  import "node:async_hooks";
6
6
  import "node:stream";
@@ -1,4 +1,4 @@
1
- import { aj as Utils, ak as Color } from "./router-BC8bCsa3.js";
1
+ import { ak as Utils, al as Color } from "./router-B9BGcvPs.js";
2
2
  const channel = (color, channel2) => {
3
3
  return Utils.lang.round(Color.parse(color)[channel2]);
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as __name } from "./router-BC8bCsa3.js";
1
+ import { _ as __name } from "./router-B9BGcvPs.js";
2
2
  function populateCommonDb(ast, db) {
3
3
  if (ast.accDescr) {
4
4
  db.setAccDescription?.(ast.accDescr);
@@ -1,4 +1,4 @@
1
- import { _ as __name, V as select } from "./router-BC8bCsa3.js";
1
+ import { _ as __name, W as select } from "./router-B9BGcvPs.js";
2
2
  var getDiagramElement = /* @__PURE__ */ __name((id, securityLevel) => {
3
3
  let sandboxElement;
4
4
  if (securityLevel === "sandbox") {
@@ -1,8 +1,8 @@
1
1
  var _a, _b;
2
- import { g as getIconStyles } from "./chunk-FMBD7UC4-CsuoPD3I.js";
3
- import { g as getDiagramElement } from "./chunk-55IACEB6-Cl8taExZ.js";
4
- import { s as setupViewPortForSVG } from "./chunk-QN33PNHL-BHHMj_a1.js";
5
- import { _ as __name, W as log, U as getConfig2, a7 as getRegisteredLayoutAlgorithm, a8 as render, a9 as utils_default, V as select, S as setAccTitle, O as getAccTitle, J as setAccDescription, M as getAccDescription, aa as setDiagramTitle, ab as getDiagramTitle, a3 as common_default, ag as clear, af as getEdgeId, a0 as sanitizeText, aT as parseGenericTypes } from "./router-BC8bCsa3.js";
2
+ import { g as getIconStyles } from "./chunk-FMBD7UC4-CEf8TJeK.js";
3
+ import { g as getDiagramElement } from "./chunk-55IACEB6-D9KMaGKQ.js";
4
+ import { s as setupViewPortForSVG } from "./chunk-QN33PNHL-CmOqP24j.js";
5
+ import { _ as __name, Y as log, V as getConfig2, a8 as getRegisteredLayoutAlgorithm, a9 as render, aa as utils_default, W as select, U as setAccTitle, S as getAccTitle, M as setAccDescription, O as getAccDescription, ab as setDiagramTitle, ac as getDiagramTitle, a4 as common_default, ah as clear, ag as getEdgeId, a1 as sanitizeText, aU as parseGenericTypes } from "./router-B9BGcvPs.js";
6
6
  var parser = (function() {
7
7
  var o = /* @__PURE__ */ __name(function(k, v, o2, l) {
8
8
  for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;
@@ -1,7 +1,7 @@
1
1
  var _a;
2
- import { g as getDiagramElement } from "./chunk-55IACEB6-Cl8taExZ.js";
3
- import { s as setupViewPortForSVG } from "./chunk-QN33PNHL-BHHMj_a1.js";
4
- import { _ as __name, W as log, U as getConfig2, a8 as render, a9 as utils_default, O as getAccTitle, S as setAccTitle, M as getAccDescription, J as setAccDescription, aa as setDiagramTitle, ab as getDiagramTitle, aV as generateId, a3 as common_default, ag as clear } from "./router-BC8bCsa3.js";
2
+ import { g as getDiagramElement } from "./chunk-55IACEB6-D9KMaGKQ.js";
3
+ import { s as setupViewPortForSVG } from "./chunk-QN33PNHL-CmOqP24j.js";
4
+ import { _ as __name, Y as log, V as getConfig2, a9 as render, aa as utils_default, S as getAccTitle, U as setAccTitle, O as getAccDescription, M as setAccDescription, ab as setDiagramTitle, ac as getDiagramTitle, aW as generateId, a4 as common_default, ah as clear } from "./router-B9BGcvPs.js";
5
5
  var parser = (function() {
6
6
  var o = /* @__PURE__ */ __name(function(k, v, o2, l) {
7
7
  for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;
@@ -1,4 +1,4 @@
1
- import { _ as __name } from "./router-BC8bCsa3.js";
1
+ import { _ as __name } from "./router-B9BGcvPs.js";
2
2
  var getIconStyles = /* @__PURE__ */ __name(() => `
3
3
  /* Font Awesome icon styling - consolidated */
4
4
  .label-icon {
@@ -1,4 +1,4 @@
1
- import { _ as __name, Y as configureSvgSize, W as log } from "./router-BC8bCsa3.js";
1
+ import { _ as __name, Z as configureSvgSize, Y as log } from "./router-B9BGcvPs.js";
2
2
  var setupViewPortForSVG = /* @__PURE__ */ __name((svg, padding, cssDiagram, useMaxWidth) => {
3
3
  svg.attr("class", cssDiagram);
4
4
  const { width, height, x, y } = calculateDimensionsWithPadding(svg, padding);
@@ -1,5 +1,5 @@
1
1
  var _a;
2
- import { _ as __name } from "./router-BC8bCsa3.js";
2
+ import { _ as __name } from "./router-B9BGcvPs.js";
3
3
  var ImperativeState = (_a = class {
4
4
  /**
5
5
  * @param init - Function that creates the default state.