@band-app/server 0.24.1 → 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 (170) hide show
  1. package/dist/client/assets/{DockviewBrowserContainer-pecXom0M.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-CtbD70T-.js → _basePickBy-WSEGU-48.js} +1 -1
  5. package/dist/client/assets/_baseUniq-CISSY9JU.js +1 -0
  6. package/dist/client/assets/{arc-BEzsE6TU.js → arc-EYeeggGP.js} +1 -1
  7. package/dist/client/assets/architectureDiagram-VXUJARFQ-auNzMJHs.js +36 -0
  8. package/dist/client/assets/{blockDiagram-VD42YOAC-CVv0vV-s.js → blockDiagram-VD42YOAC-BAxIVlzi.js} +1 -1
  9. package/dist/client/assets/{c4Diagram-YG6GDRKO-W3bslfZm.js → c4Diagram-YG6GDRKO-BRGunjEV.js} +1 -1
  10. package/dist/client/assets/channel-mz7YKOQ7.js +1 -0
  11. package/dist/client/assets/{chunk-4BX2VUAB-B4zNuPCM.js → chunk-4BX2VUAB-DD1K7aO0.js} +1 -1
  12. package/dist/client/assets/{chunk-55IACEB6-CJb5GOdO.js → chunk-55IACEB6-xhCYxBKG.js} +1 -1
  13. package/dist/client/assets/{chunk-B4BG7PRW-m9UNdA4H.js → chunk-B4BG7PRW-BRcHAc7V.js} +1 -1
  14. package/dist/client/assets/{chunk-DI55MBZ5-Dyl4ba3F.js → chunk-DI55MBZ5-C5AoviQd.js} +3 -3
  15. package/dist/client/assets/{chunk-FMBD7UC4-Ds1gRx94.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-BiZtPmD0.js → chunk-QZHKN3VN-IXkzzmtV.js} +1 -1
  18. package/dist/client/assets/{chunk-TZMSLE5B-DCz64hjM.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-WnEcSFDk.js → erDiagram-Q2GNP2WA-B1PLdIwn.js} +3 -3
  28. package/dist/client/assets/{flowDiagram-NV44I4VS-BONBJZ3h.js → flowDiagram-NV44I4VS-C5YhU0Qh.js} +1 -1
  29. package/dist/client/assets/{ganttDiagram-JELNMOA3-BDhpQL_t.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-DmGEXolJ.js → graph-pEXzxzGm.js} +1 -1
  32. package/dist/client/assets/{highlighted-body-B3W2YXNL-m0iS7EC3.js → highlighted-body-B3W2YXNL-DkAr8YBH.js} +1 -1
  33. package/dist/client/assets/{index-BBy73G4g.js → index-3n8Vw-Mx.js} +1 -1
  34. package/dist/client/assets/{index-CFnCbQSl.js → index-BGzaO0X8.js} +1 -1
  35. package/dist/client/assets/{index-B-4gD4iz.js → index-BTh70HvG.js} +1 -1
  36. package/dist/client/assets/{index-3O6bsWX3.js → index-Bc4l--Pr.js} +1 -1
  37. package/dist/client/assets/{index-CDJOOMr2.js → index-BrhTwhg3.js} +1 -1
  38. package/dist/client/assets/{index-B102sYPH.js → index-Bsj04x6y.js} +1 -1
  39. package/dist/client/assets/{index-Dmse4WDP.js → index-BtupbjWj.js} +1 -1
  40. package/dist/client/assets/{index-DBnjKdGf.js → index-BvTVbNia.js} +1 -1
  41. package/dist/client/assets/{index-BoLCZb5I.js → index-C-44kyj4.js} +1 -1
  42. package/dist/client/assets/{index-0oNHljPn.js → index-CUvVSQUr.js} +1 -1
  43. package/dist/client/assets/{index-BMTzG2fm.js → index-CjLUJG6j.js} +1 -1
  44. package/dist/client/assets/{index-DgEnCq6K.js → index-Cy1ivKKB.js} +1 -1
  45. package/dist/client/assets/{index-C46YYuZo.js → index-DW-oXjA-.js} +1 -1
  46. package/dist/client/assets/{index-CiKuHiO0.js → index-DrAxRehm.js} +1 -1
  47. package/dist/client/assets/{index-BpxKDn01.js → index-DvKArr4F.js} +1 -1
  48. package/dist/client/assets/{index-BvzISRCa.js → index-abHZx3iS.js} +2 -2
  49. package/dist/client/assets/{index-CfW6UcUl.js → index-kS9W4-gd.js} +1 -1
  50. package/dist/client/assets/{index-D6Afu1pA.js → index-unEuBThJ.js} +1 -1
  51. package/dist/client/assets/infoDiagram-HS3SLOUP-BFYSEig3.js +2 -0
  52. package/dist/client/assets/{journeyDiagram-XKPGCS4Q-Dlf8x32q.js → journeyDiagram-XKPGCS4Q-BxYsQaMT.js} +1 -1
  53. package/dist/client/assets/{kanban-definition-3W4ZIXB7-BVJThDju.js → kanban-definition-3W4ZIXB7-Bv-pDWZ-.js} +1 -1
  54. package/dist/client/assets/{layout-CbZgayJn.js → layout-B77NnSO1.js} +1 -1
  55. package/dist/client/assets/{main-RztHx-sU.js → main-5cZqr4FX.js} +226 -219
  56. package/dist/client/assets/{mindmap-definition-VGOIOE7T-C4kJ6VHG.js → mindmap-definition-VGOIOE7T-CgxHuURf.js} +3 -3
  57. package/dist/client/assets/pieDiagram-ADFJNKIX-DMT2s9he.js +30 -0
  58. package/dist/client/assets/{quadrantDiagram-AYHSOK5B-Bec9Hhh2.js → quadrantDiagram-AYHSOK5B-BXabhtC0.js} +1 -1
  59. package/dist/client/assets/{requirementDiagram-UZGBJVZJ-CsOubtSM.js → requirementDiagram-UZGBJVZJ-DTW7rlcB.js} +1 -1
  60. package/dist/client/assets/{sankeyDiagram-TZEHDZUN-C8Gm96t1.js → sankeyDiagram-TZEHDZUN-BcCwFhUF.js} +5 -5
  61. package/dist/client/assets/{sequenceDiagram-WL72ISMW-Bvgi8x7V.js → sequenceDiagram-WL72ISMW-pM8Di5We.js} +6 -6
  62. package/dist/client/assets/{square-terminal-BHkrAD3A.js → square-terminal-DKjKKzzC.js} +1 -1
  63. package/dist/client/assets/stateDiagram-FKZM4ZOC-Daqd80Rx.js +1 -0
  64. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-BCaxpIKa.js +1 -0
  65. package/dist/client/assets/{timeline-definition-IT6M3QCI-BNBrcAuE.js → timeline-definition-IT6M3QCI-B528DtkS.js} +3 -3
  66. package/dist/client/assets/{treemap-GDKQZRPO-Dt5TrQzS.js → treemap-GDKQZRPO-CSzjIbPP.js} +1 -1
  67. package/dist/client/assets/{workspace._workspaceId-Cx9WUFHK.js → workspace._workspaceId-CDQS6YxL.js} +2 -2
  68. package/dist/client/assets/{workspace._workspaceId-DGQl6asL.js → workspace._workspaceId-DlHLgF3G.js} +1 -1
  69. package/dist/client/assets/{xychartDiagram-PRI3JC2R-BbVpQ6GU.js → xychartDiagram-PRI3JC2R-CZehTq19.js} +2 -2
  70. package/dist/server/assets/{DockviewBrowserContainer-BDsafKFK.js → DockviewBrowserContainer-NHSxR-nz.js} +1 -1
  71. package/dist/server/assets/{DockviewTerminalContainer-CMbrr8wZ.js → DockviewTerminalContainer-CTJJUByH.js} +5 -3
  72. package/dist/server/assets/TerminalPanel-BiNP-nsL.js +425 -0
  73. package/dist/server/assets/{_basePickBy-ljLFy5Cm.js → _basePickBy-C563KIXw.js} +2 -2
  74. package/dist/server/assets/{_baseUniq-DQmNpetJ.js → _baseUniq-d93HSS0F.js} +1 -1
  75. package/dist/server/assets/{_tanstack-start-manifest_v-v9ri0NYD.js → _tanstack-start-manifest_v-D7mA2JWN.js} +1 -1
  76. package/dist/server/assets/{arc-KHCw-8vd.js → arc-jtTutH-i.js} +1 -1
  77. package/dist/server/assets/{architecture-7HQA4BMR-BScKJqpc.js → architecture-7HQA4BMR-DQzLgw80.js} +6 -6
  78. package/dist/server/assets/{architectureDiagram-VXUJARFQ-T9CAFBo1.js → architectureDiagram-VXUJARFQ-DrNJMIEJ.js} +6 -6
  79. package/dist/server/assets/{blockDiagram-VD42YOAC-BKZ2vg7U.js → blockDiagram-VD42YOAC-WUFdSkGk.js} +6 -6
  80. package/dist/server/assets/{c4Diagram-YG6GDRKO-D585k1An.js → c4Diagram-YG6GDRKO-B3FexEXR.js} +2 -2
  81. package/dist/server/assets/{channel-CyG4ozZq.js → channel-CGY9wImP.js} +1 -1
  82. package/dist/server/assets/{chunk-4BX2VUAB-BHWbP2Lt.js → chunk-4BX2VUAB-DWhvAfOu.js} +1 -1
  83. package/dist/server/assets/{chunk-55IACEB6-CrerCu6v.js → chunk-55IACEB6-D9KMaGKQ.js} +1 -1
  84. package/dist/server/assets/{chunk-B4BG7PRW-D3sl50Aa.js → chunk-B4BG7PRW-Bdi0b8I3.js} +4 -4
  85. package/dist/server/assets/{chunk-DI55MBZ5-DR6gThvq.js → chunk-DI55MBZ5-CvFVKOgG.js} +3 -3
  86. package/dist/server/assets/{chunk-FMBD7UC4-Cil9b1Ts.js → chunk-FMBD7UC4-CEf8TJeK.js} +1 -1
  87. package/dist/server/assets/{chunk-QN33PNHL-BAKy9Ygg.js → chunk-QN33PNHL-CmOqP24j.js} +1 -1
  88. package/dist/server/assets/{chunk-QZHKN3VN-G4fU4Ucn.js → chunk-QZHKN3VN-uFFM4Cjm.js} +1 -1
  89. package/dist/server/assets/{chunk-TZMSLE5B-LzSrmWV5.js → chunk-TZMSLE5B-DH8QxQUD.js} +1 -1
  90. package/dist/server/assets/{classDiagram-v2-WZHVMYZB-Ds7CCTUR.js → classDiagram-2ON5EDUG-Dr94MNeD.js} +5 -5
  91. package/dist/server/assets/{classDiagram-2ON5EDUG-Ds7CCTUR.js → classDiagram-v2-WZHVMYZB-Dr94MNeD.js} +5 -5
  92. package/dist/server/assets/{clone-B4KVJdwD.js → clone-DESSLwZZ.js} +1 -1
  93. package/dist/server/assets/{cose-bilkent-S5V4N54A-DaKuQRAN.js → cose-bilkent-S5V4N54A-B-Bym2R2.js} +1 -1
  94. package/dist/server/assets/{dagre-6UL2VRFP-CNIyd6rH.js → dagre-6UL2VRFP-CJdhKZlX.js} +6 -6
  95. package/dist/server/assets/{diagram-PSM6KHXK-ByElNwdP.js → diagram-PSM6KHXK-Bku5j6_i.js} +7 -7
  96. package/dist/server/assets/{diagram-QEK2KX5R-Bpupf8hI.js → diagram-QEK2KX5R-CUdsg8PG.js} +6 -6
  97. package/dist/server/assets/{diagram-S2PKOQOG-CSa3a_oJ.js → diagram-S2PKOQOG-DfZmENnB.js} +6 -6
  98. package/dist/server/assets/{erDiagram-Q2GNP2WA-B3yUU2uu.js → erDiagram-Q2GNP2WA-DgXGwPJi.js} +4 -4
  99. package/dist/server/assets/{flowDiagram-NV44I4VS-CUlvxSwr.js → flowDiagram-NV44I4VS-CCKE-dcR.js} +5 -5
  100. package/dist/server/assets/{ganttDiagram-JELNMOA3-BWxUm4vA.js → ganttDiagram-JELNMOA3-Df1I84HD.js} +1 -1
  101. package/dist/server/assets/{gitGraph-G5XIXVHT-DexlvPgJ.js → gitGraph-G5XIXVHT-Da1EJY5L.js} +6 -6
  102. package/dist/server/assets/{gitGraphDiagram-V2S2FVAM-CepF7ieg.js → gitGraphDiagram-V2S2FVAM-BoLIFjNj.js} +7 -7
  103. package/dist/server/assets/{graph-BB3rQyk7.js → graph-CzqmmHH7.js} +2 -2
  104. package/dist/server/assets/{highlighted-body-B3W2YXNL-CktYi1nO.js → highlighted-body-B3W2YXNL-D44laf8J.js} +1 -1
  105. package/dist/server/assets/{index-BDqHa1DL.js → index-B-dHru1q.js} +5 -5
  106. package/dist/server/assets/{index-CUnnFiRO.js → index-B9n0dcMw.js} +4 -4
  107. package/dist/server/assets/{index-BZSAPXc2.js → index-BVZPT41S.js} +5 -5
  108. package/dist/server/assets/{index-8fW2N3v4.js → index-BbSejcCZ.js} +2 -2
  109. package/dist/server/assets/{index-O03NM4sL.js → index-Bgh1V0xV.js} +2 -2
  110. package/dist/server/assets/{index-B9xqso9p.js → index-C6mmT4Bf.js} +1 -1
  111. package/dist/server/assets/{index-DipxLM5f.js → index-CA1ILOaa.js} +2 -2
  112. package/dist/server/assets/{index-bbP5Ilkt.js → index-CR4BnEcT.js} +3 -3
  113. package/dist/server/assets/{index-5St5BCcJ.js → index-CU2q4Svg.js} +2 -2
  114. package/dist/server/assets/{index-zM-wWcHV.js → index-CbnRNXnI.js} +1 -1
  115. package/dist/server/assets/{index-BiMwh0FT.js → index-CkCmjvnL.js} +3 -3
  116. package/dist/server/assets/{index-DEZw9nkv.js → index-DM7tck_E.js} +2 -2
  117. package/dist/server/assets/{index-DYiuwMzT.js → index-DURk6tcR.js} +2 -2
  118. package/dist/server/assets/{index-DsPBpNpr.js → index-DYATP6mi.js} +2 -2
  119. package/dist/server/assets/{index-DR892S39.js → index-DdEGElQC.js} +2 -2
  120. package/dist/server/assets/{index-dAOow3Ru.js → index-DoPHl__N.js} +2 -2
  121. package/dist/server/assets/{index-igT3OuCm.js → index-JQz2Ac_X.js} +2 -2
  122. package/dist/server/assets/{index-CGm8Czks.js → index-gZfWBVgm.js} +2 -2
  123. package/dist/server/assets/{info-VBDWY6EO-BDX5_HTZ.js → info-VBDWY6EO-CraK2qik.js} +6 -6
  124. package/dist/server/assets/{infoDiagram-HS3SLOUP-BMd22txJ.js → infoDiagram-HS3SLOUP-m71IJidm.js} +5 -5
  125. package/dist/server/assets/{journeyDiagram-XKPGCS4Q-DyIx8DQc.js → journeyDiagram-XKPGCS4Q-Z2B632R6.js} +4 -4
  126. package/dist/server/assets/{kanban-definition-3W4ZIXB7-D6P6mjw2.js → kanban-definition-3W4ZIXB7-B2vyxAFc.js} +2 -2
  127. package/dist/server/assets/{layout-_MqV9Ys8.js → layout-Ciol0TI8.js} +4 -4
  128. package/dist/server/assets/{mermaid-3ZIDBTTL-CIBz4-1r.js → mermaid-3ZIDBTTL-m_-3aBOO.js} +1 -1
  129. package/dist/server/assets/{mermaid-parser.core-Cga0uwWI.js → mermaid-parser.core-DsRAodK1.js} +11 -11
  130. package/dist/server/assets/{mindmap-definition-VGOIOE7T-C2EIvkPG.js → mindmap-definition-VGOIOE7T-B9LDAkQV.js} +3 -3
  131. package/dist/server/assets/{packet-DYOGHKS2-CCOI47dY.js → packet-DYOGHKS2-CU0Rnzfp.js} +6 -6
  132. package/dist/server/assets/{pie-VRWISCQL-BLqEHL1E.js → pie-VRWISCQL-DAKQG59I.js} +6 -6
  133. package/dist/server/assets/{pieDiagram-ADFJNKIX-Cv-DbjH6.js → pieDiagram-ADFJNKIX-C895xIIt.js} +7 -7
  134. package/dist/server/assets/{quadrantDiagram-AYHSOK5B-DFyjNST4.js → quadrantDiagram-AYHSOK5B-6UAdibo5.js} +1 -1
  135. package/dist/server/assets/{radar-ZZBFDIW7-CWlYIMXf.js → radar-ZZBFDIW7-CSkyNl40.js} +6 -6
  136. package/dist/server/assets/{requirementDiagram-UZGBJVZJ-DFM89i-H.js → requirementDiagram-UZGBJVZJ-C9qwWXGY.js} +3 -3
  137. package/dist/server/assets/{router-cAoMUC9Q.js → router-B9BGcvPs.js} +1402 -442
  138. package/dist/server/assets/{sankeyDiagram-TZEHDZUN-Nmb2f9ga.js → sankeyDiagram-TZEHDZUN-BD3BjmcP.js} +1 -1
  139. package/dist/server/assets/{sequenceDiagram-WL72ISMW-BiqqAguj.js → sequenceDiagram-WL72ISMW-CaRznm1o.js} +3 -3
  140. package/dist/server/assets/{square-terminal-DerzWAi-.js → square-terminal-CuW8JOAZ.js} +1 -1
  141. package/dist/server/assets/{stateDiagram-FKZM4ZOC-CkiJXki8.js → stateDiagram-FKZM4ZOC-C7925k-i.js} +8 -8
  142. package/dist/server/assets/{stateDiagram-v2-4FDKWEC3-Bt1BL33e.js → stateDiagram-v2-4FDKWEC3-C0yapgJL.js} +4 -4
  143. package/dist/server/assets/{timeline-definition-IT6M3QCI-DCRlJiLq.js → timeline-definition-IT6M3QCI-DfwL9TFo.js} +2 -2
  144. package/dist/server/assets/{treemap-GDKQZRPO-Ci-r6jiA.js → treemap-GDKQZRPO-kKnTHSv2.js} +6 -6
  145. package/dist/server/assets/{workspace._workspaceId-Dj6Y8WPo.js → workspace._workspaceId-BK83HsBK.js} +1 -1
  146. package/dist/server/assets/{workspace._workspaceId-BMnOV3pd.js → workspace._workspaceId-DEWHh9LI.js} +3 -3
  147. package/dist/server/assets/{xychartDiagram-PRI3JC2R-r_3LO6yK.js → xychartDiagram-PRI3JC2R-CfUYiueD.js} +1 -1
  148. package/dist/server/server.js +2 -2
  149. package/dist/start-server.mjs +31 -4
  150. package/package.json +4 -4
  151. package/dist/client/assets/DockviewTerminalContainer-B_36q2Dz.js +0 -2
  152. package/dist/client/assets/TerminalPanel-DbxLiy2t.js +0 -5
  153. package/dist/client/assets/_baseUniq-Cb5igq_8.js +0 -1
  154. package/dist/client/assets/architectureDiagram-VXUJARFQ-BnV97au3.js +0 -36
  155. package/dist/client/assets/channel-2Of2aNA_.js +0 -1
  156. package/dist/client/assets/chunk-QN33PNHL-yK0yp12G.js +0 -1
  157. package/dist/client/assets/classDiagram-2ON5EDUG-D6UcKhcB.js +0 -1
  158. package/dist/client/assets/classDiagram-v2-WZHVMYZB-D6UcKhcB.js +0 -1
  159. package/dist/client/assets/clone-DBCpY5Fq.js +0 -1
  160. package/dist/client/assets/cose-bilkent-S5V4N54A-BZFGVpWR.js +0 -1
  161. package/dist/client/assets/dagre-6UL2VRFP-DRDPL67k.js +0 -4
  162. package/dist/client/assets/diagram-PSM6KHXK-DYAOsIc0.js +0 -24
  163. package/dist/client/assets/diagram-QEK2KX5R-CnjVQgn2.js +0 -43
  164. package/dist/client/assets/diagram-S2PKOQOG-B8sAgSNe.js +0 -24
  165. package/dist/client/assets/gitGraphDiagram-V2S2FVAM-CZGjCgZ_.js +0 -65
  166. package/dist/client/assets/infoDiagram-HS3SLOUP-Bf3MrisJ.js +0 -2
  167. package/dist/client/assets/pieDiagram-ADFJNKIX-B4aWIFbt.js +0 -30
  168. package/dist/client/assets/stateDiagram-FKZM4ZOC-TzlVvqDv.js +0 -1
  169. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-BibE5lUV.js +0 -1
  170. package/dist/server/assets/TerminalPanel-nFYTCFHx.js +0 -1238
@@ -1,5 +1,5 @@
1
1
  var _a, _b, _c;
2
- import { aa as setDiagramTitle, ab as getDiagramTitle, J as setAccDescription, M as getAccDescription, S as setAccTitle, O as getAccTitle, _ as __name, U as getConfig2, ah as defaultConfig2, V as select, bX as ordinal, aW as setupGraphViewbox, ag as clear, a3 as common_default } from "./router-cAoMUC9Q.js";
2
+ import { ab as setDiagramTitle, ac as getDiagramTitle, M as setAccDescription, O as getAccDescription, U as setAccTitle, S as getAccTitle, _ as __name, V as getConfig2, ai as defaultConfig2, W as select, bY as ordinal, aX as setupGraphViewbox, ah as clear, a4 as common_default } from "./router-B9BGcvPs.js";
3
3
  import "../server.js";
4
4
  import "node:async_hooks";
5
5
  import "node:stream";
@@ -1,7 +1,7 @@
1
1
  var _a;
2
- import { a as drawBackgroundRect, b as getTextObj, g as getNoteRect, d as drawRect, c as drawEmbeddedImage, e as drawImage } from "./chunk-TZMSLE5B-LzSrmWV5.js";
3
- import { _ as __name, a6 as setConfig2, U as getConfig2, V as select, W as log, a1 as distExports, Y as configureSvgSize, Z as assignWithDepth_default, a3 as common_default, S as setAccTitle, J as setAccDescription, aa as setDiagramTitle, O as getAccTitle, M as getAccDescription, ab as getDiagramTitle, ac as load, ad as JSON_SCHEMA, ag as clear, a0 as sanitizeText, a9 as utils_default, aN as hasKatex, aO as calculateMathMLDimensions, aP as parseFontSize, aQ as ZERO_WIDTH_SPACE, aR as getUrl, aS as renderKatexSanitized, ap as getConfig } from "./router-cAoMUC9Q.js";
4
- import { I as ImperativeState } from "./chunk-QZHKN3VN-G4fU4Ucn.js";
2
+ import { a as drawBackgroundRect, b as getTextObj, g as getNoteRect, d as drawRect, c as drawEmbeddedImage, e as drawImage } from "./chunk-TZMSLE5B-DH8QxQUD.js";
3
+ import { _ as __name, a7 as setConfig2, V as getConfig2, W as select, Y as log, a2 as distExports, Z as configureSvgSize, $ as assignWithDepth_default, a4 as common_default, U as setAccTitle, M as setAccDescription, ab as setDiagramTitle, S as getAccTitle, O as getAccDescription, ac as getDiagramTitle, ad as load, ae as JSON_SCHEMA, ah as clear, a1 as sanitizeText, aa as utils_default, aO as hasKatex, aP as calculateMathMLDimensions, aQ as parseFontSize, aR as ZERO_WIDTH_SPACE, aS as getUrl, aT as renderKatexSanitized, aq as getConfig } from "./router-B9BGcvPs.js";
4
+ import { I as ImperativeState } from "./chunk-QZHKN3VN-uFFM4Cjm.js";
5
5
  import "../server.js";
6
6
  import "node:async_hooks";
7
7
  import "node:stream";
@@ -1,4 +1,4 @@
1
- import { m as createLucideIcon } from "./router-cAoMUC9Q.js";
1
+ import { m as createLucideIcon } from "./router-B9BGcvPs.js";
2
2
  const __iconNode = [
3
3
  ["path", { d: "m7 11 2-2-2-2", key: "1lz0vl" }],
4
4
  ["path", { d: "M11 13h4", key: "1p7l4v" }],
@@ -1,9 +1,9 @@
1
- import { s as styles_default, a as stateDiagram_default, S as StateDB } from "./chunk-DI55MBZ5-DR6gThvq.js";
2
- import { _ as __name, U as getConfig2, V as select, W as log, Y as configureSvgSize, a3 as common_default, aM as line, aU as curveBasis, aR as getUrl, a9 as utils_default } from "./router-cAoMUC9Q.js";
3
- import { G as Graph } from "./graph-BB3rQyk7.js";
4
- import { l as layout } from "./layout-_MqV9Ys8.js";
5
- import "./chunk-55IACEB6-CrerCu6v.js";
6
- import "./chunk-QN33PNHL-BAKy9Ygg.js";
1
+ import { s as styles_default, a as stateDiagram_default, S as StateDB } from "./chunk-DI55MBZ5-CvFVKOgG.js";
2
+ import { _ as __name, V as getConfig2, W as select, Y as log, Z as configureSvgSize, a4 as common_default, aN as line, aV as curveBasis, aS as getUrl, aa as utils_default } from "./router-B9BGcvPs.js";
3
+ import { G as Graph } from "./graph-CzqmmHH7.js";
4
+ import { l as layout } from "./layout-Ciol0TI8.js";
5
+ import "./chunk-55IACEB6-D9KMaGKQ.js";
6
+ import "./chunk-QN33PNHL-CmOqP24j.js";
7
7
  import "../server.js";
8
8
  import "node:async_hooks";
9
9
  import "node:stream";
@@ -15,8 +15,8 @@ import "node:stream/web";
15
15
  import "node:process";
16
16
  import "node:path";
17
17
  import "node:url";
18
- import "./_baseUniq-DQmNpetJ.js";
19
- import "./_basePickBy-ljLFy5Cm.js";
18
+ import "./_baseUniq-d93HSS0F.js";
19
+ import "./_basePickBy-C563KIXw.js";
20
20
  var drawStartState = /* @__PURE__ */ __name((g) => g.append("circle").attr("class", "start-state").attr("r", getConfig2().state.sizeUnit).attr("cx", getConfig2().state.padding + getConfig2().state.sizeUnit).attr("cy", getConfig2().state.padding + getConfig2().state.sizeUnit), "drawStartState");
21
21
  var drawDivider = /* @__PURE__ */ __name((g) => g.append("line").style("stroke", "grey").style("stroke-dasharray", "3").attr("x1", getConfig2().state.textHeight).attr("class", "divider").attr("x2", getConfig2().state.textHeight * 2).attr("y1", 0).attr("y2", 0), "drawDivider");
22
22
  var drawSimpleState = /* @__PURE__ */ __name((g, stateDef) => {
@@ -1,7 +1,7 @@
1
- import { s as styles_default, b as stateRenderer_v3_unified_default, a as stateDiagram_default, S as StateDB } from "./chunk-DI55MBZ5-DR6gThvq.js";
2
- import { _ as __name } from "./router-cAoMUC9Q.js";
3
- import "./chunk-55IACEB6-CrerCu6v.js";
4
- import "./chunk-QN33PNHL-BAKy9Ygg.js";
1
+ import { s as styles_default, b as stateRenderer_v3_unified_default, a as stateDiagram_default, S as StateDB } from "./chunk-DI55MBZ5-CvFVKOgG.js";
2
+ import { _ as __name } from "./router-B9BGcvPs.js";
3
+ import "./chunk-55IACEB6-D9KMaGKQ.js";
4
+ import "./chunk-QN33PNHL-CmOqP24j.js";
5
5
  import "../server.js";
6
6
  import "node:async_hooks";
7
7
  import "node:stream";
@@ -1,5 +1,5 @@
1
- import { _ as __name, U as getConfig2, W as log, V as select, aW as setupGraphViewbox, aX as isDark, aY as lighten, aZ as darken, al as __export, a_ as commonDb_exports, ag as clear } from "./router-cAoMUC9Q.js";
2
- import { d as d3arc } from "./arc-KHCw-8vd.js";
1
+ import { _ as __name, V as getConfig2, Y as log, W as select, aX as setupGraphViewbox, aY as isDark, aZ as lighten, a_ as darken, am as __export, a$ as commonDb_exports, ah as clear } from "./router-B9BGcvPs.js";
2
+ import { d as d3arc } from "./arc-jtTutH-i.js";
3
3
  import "../server.js";
4
4
  import "node:async_hooks";
5
5
  import "node:stream";
@@ -1,6 +1,6 @@
1
- import { h as createTreemapServices } from "./mermaid-parser.core-Cga0uwWI.js";
2
- import { T } from "./mermaid-parser.core-Cga0uwWI.js";
3
- import "./router-cAoMUC9Q.js";
1
+ import { h as createTreemapServices } from "./mermaid-parser.core-DsRAodK1.js";
2
+ import { T } 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-DQmNpetJ.js";
16
- import "./_basePickBy-ljLFy5Cm.js";
17
- import "./clone-B4KVJdwD.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,5 +1,5 @@
1
1
  import { j as jsxRuntimeExports } from "../server.js";
2
- import { R as Route, a as Navigate } from "./router-cAoMUC9Q.js";
2
+ import { R as Route, a as Navigate } from "./router-B9BGcvPs.js";
3
3
  import "node:async_hooks";
4
4
  import "node:stream";
5
5
  import "util";
@@ -1,6 +1,6 @@
1
1
  import { j as jsxRuntimeExports, r as reactExports } from "../server.js";
2
- import { bY as Root, bZ as Content, b_ as Close, X, b$ as cn, c0 as Title, c1 as Description, c2 as Portal, c3 as Overlay, bR as MessageSquare, c4 as GitCompare, c5 as FolderOpen, R as Route, bS as useIsDesktop, c6 as useDashboardStore, bV as isDesktop, p as trpc, c7 as DesktopDragRegion, c8 as Menu, c9 as ChevronsUpDown, ca as DiffView, cb as CodeBrowserView, cc as QuickOpenDialog, cd as SearchFilesDialog, ce as WorkspacePickerDialog, bT as ToolbarOverflowProvider, bP as DashboardShell, bU as ToolbarActionBar, cf as useDiffTarget, cg as useSettingsQuery, ch as agentTypeSupportsSessionListing, ci as ChatView } from "./router-cAoMUC9Q.js";
3
- import { S as SquareTerminal } from "./square-terminal-DerzWAi-.js";
2
+ import { bZ as Root, b_ as Content, b$ as Close, X, c0 as cn, c1 as Title, c2 as Description, c3 as Portal, c4 as Overlay, bS as MessageSquare, c5 as GitCompare, c6 as FolderOpen, R as Route, bT as useIsDesktop, c7 as useDashboardStore, bW as isDesktop, p as trpc, c8 as DesktopDragRegion, c9 as Menu, ca as ChevronsUpDown, cb as DiffView, cc as CodeBrowserView, cd as QuickOpenDialog, ce as SearchFilesDialog, cf as WorkspacePickerDialog, bU as ToolbarOverflowProvider, bQ as DashboardShell, bV as ToolbarActionBar, cg as useDiffTarget, ch as useSettingsQuery, ci as agentTypeSupportsSessionListing, cj as ChatView } 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";
@@ -146,7 +146,7 @@ const SessionListContext = reactExports.createContext({
146
146
  function useSessionListContext() {
147
147
  return reactExports.useContext(SessionListContext);
148
148
  }
149
- const DockviewTerminalContainer = reactExports.lazy(() => import("./DockviewTerminalContainer-CMbrr8wZ.js").then((m) => ({
149
+ const DockviewTerminalContainer = reactExports.lazy(() => import("./DockviewTerminalContainer-CTJJUByH.js").then((m) => ({
150
150
  default: m.DockviewTerminalContainer
151
151
  })));
152
152
  function useAppHeight() {
@@ -1,5 +1,5 @@
1
1
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
2
- import { J as setAccDescription, M as getAccDescription, ab as getDiagramTitle, aa as setDiagramTitle, O as getAccTitle, S as setAccTitle, _ as __name, W as log, ar as selectSvgElement, Y as configureSvgSize, ag as clear, ap as getConfig, a0 as sanitizeText, an as cleanAndMerge, ao as defaultConfig_default, aJ as getThemeVariables3, aK as band, aL as computeDimensionOfText, aI as linear, aM as line } from "./router-cAoMUC9Q.js";
2
+ import { M as setAccDescription, O as getAccDescription, ac as getDiagramTitle, ab as setDiagramTitle, S as getAccTitle, U as setAccTitle, _ as __name, Y as log, as as selectSvgElement, Z as configureSvgSize, ah as clear, aq as getConfig, a1 as sanitizeText, ao as cleanAndMerge, ap as defaultConfig_default, aK as getThemeVariables3, aL as band, aM as computeDimensionOfText, aJ as linear, aN as line } from "./router-B9BGcvPs.js";
3
3
  import "../server.js";
4
4
  import "node:async_hooks";
5
5
  import "node:stream";
@@ -19381,7 +19381,7 @@ function getResponse() {
19381
19381
  return event.res;
19382
19382
  }
19383
19383
  async function getStartManifest(matchedRoutes) {
19384
- const { tsrStartManifest } = await import("./assets/_tanstack-start-manifest_v-v9ri0NYD.js");
19384
+ const { tsrStartManifest } = await import("./assets/_tanstack-start-manifest_v-D7mA2JWN.js");
19385
19385
  const startManifest = tsrStartManifest();
19386
19386
  const rootRoute = startManifest.routes[rootRouteId] = startManifest.routes[rootRouteId] || {};
19387
19387
  rootRoute.assets = rootRoute.assets || [];
@@ -19957,7 +19957,7 @@ let entriesPromise;
19957
19957
  let baseManifestPromise;
19958
19958
  let cachedFinalManifestPromise;
19959
19959
  async function loadEntries() {
19960
- const routerEntry = await import("./assets/router-cAoMUC9Q.js").then((n2) => n2.dW);
19960
+ const routerEntry = await import("./assets/router-B9BGcvPs.js").then((n2) => n2.dT);
19961
19961
  const startEntry = await import("./assets/start-HYkvq4Ni.js");
19962
19962
  return { startEntry, routerEntry };
19963
19963
  }
@@ -122790,13 +122790,40 @@ var TerminalPool = class {
122790
122790
  /** terminalId -> Set<listener> for live output streaming */
122791
122791
  outputListeners = /* @__PURE__ */ new Map();
122792
122792
  /**
122793
- * Spawn a new PTY for the given workspace + terminalId.
122793
+ * terminalId -> in-flight spawn promise. A single terminal is created via TWO
122794
+ * concurrent paths — the WebSocket handler (spawn-on-`getSession`-miss) and
122795
+ * the tRPC `terminal.create` mutation. Without deduplication both spawn a PTY
122796
+ * and the second `terminals.set` overwrites the first, so the client stays
122797
+ * wired to one PTY while the server's session map (and thus scrollback /
122798
+ * `terminals output` / reconnect-replay) points at the other. That's the
122799
+ * "output on screen but empty server scrollback until reload" bug
122800
+ * (band-app/band#617). This map makes concurrent spawns share ONE PTY.
122801
+ */
122802
+ spawning = /* @__PURE__ */ new Map();
122803
+ /**
122804
+ * Spawn (or return the already-spawning/spawned) PTY for a terminalId.
122794
122805
  *
122795
- * `workspaceRoot` is the absolute path to the worktree on disk; resolving
122796
- * the workspaceId to a path is the service tier's job so that the pool
122797
- * stays oblivious to the workspace registry.
122806
+ * Idempotent per terminalId: if a session already exists it is returned
122807
+ * as-is, and concurrent spawn calls for the same id share a single in-flight
122808
+ * promise — so the WebSocket and tRPC create paths never create competing
122809
+ * PTYs. `workspaceRoot` is the absolute worktree path; resolving the
122810
+ * workspaceId to a path is the service tier's job so the pool stays oblivious
122811
+ * to the workspace registry.
122798
122812
  */
122799
122813
  async spawn(workspaceId, terminalId, workspaceRoot, options2) {
122814
+ const existing = this.terminals.get(terminalId);
122815
+ if (existing) return existing;
122816
+ const inflight = this.spawning.get(terminalId);
122817
+ if (inflight) return inflight;
122818
+ const promise = this.spawnNew(workspaceId, terminalId, workspaceRoot, options2);
122819
+ this.spawning.set(terminalId, promise);
122820
+ try {
122821
+ return await promise;
122822
+ } finally {
122823
+ this.spawning.delete(terminalId);
122824
+ }
122825
+ }
122826
+ async spawnNew(workspaceId, terminalId, workspaceRoot, options2) {
122800
122827
  const shell = defaultShell();
122801
122828
  const resolvedPath = await shellPath();
122802
122829
  const env = {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@band-app/server",
3
- "version": "0.24.1",
3
+ "version": "0.25.0",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "band-server": "./bin/band-server.mjs"
@@ -117,9 +117,9 @@
117
117
  "ws": "^8.18.0",
118
118
  "zod": "^3.25.67",
119
119
  "zustand": "^5.0.0",
120
- "@band-app/logger": "^0.24.1",
121
- "@band-app/ui": "^0.24.1",
122
- "@band-app/coding-agent": "^0.24.1"
120
+ "@band-app/coding-agent": "^0.25.0",
121
+ "@band-app/ui": "^0.25.0",
122
+ "@band-app/logger": "^0.25.0"
123
123
  },
124
124
  "scripts": {
125
125
  "dev": "NODE_ENV=development tsx watch start-server.ts",
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/TerminalPanel-DbxLiy2t.js","assets/main-RztHx-sU.js","assets/main-DOmWiUwE.css"])))=>i.map(i=>d[i]);
2
- import{u as B,n as U,r as o,o as H,p as h,q as Q,v as K,w as X,x as Y,y as W,j as f,z as Z,A as ee,B as te,C as ne,E as re,F as ie,X as ae,G as oe,H as le,J as ce,_ as se}from"./main-RztHx-sU.js";import{S as ue}from"./square-terminal-BHkrAD3A.js";const fe=o.lazy(()=>se(()=>import("./TerminalPanel-DbxLiy2t.js"),__vite__mapDeps([0,1,2])).then(e=>({default:e.TerminalPanel})));function me(){if(typeof crypto<"u"&&typeof crypto.randomUUID=="function")return crypto.randomUUID();const e=crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;const r=Array.from(e,a=>a.toString(16).padStart(2,"0")).join("");return`${r.slice(0,8)}-${r.slice(8,12)}-${r.slice(12,16)}-${r.slice(16,20)}-${r.slice(20)}`}function A(){return me()}function M(e){return["terminalLayout",e]}const q=new Map;function de(e){if(typeof e=="object"&&e!==null){const r=e.panels;if(typeof r=="object"&&r!==null)return new Set(Object.keys(r))}return new Set}function F(e,r,a){a?.queryClient&&a.queryClient.setQueryData(M(e),{layout:r,terminalIds:de(r)});const l=q.get(e);l&&clearTimeout(l),q.set(e,setTimeout(()=>{q.delete(e),h.terminalLayout.save.mutate({workspaceId:e,tree:r}).catch(d=>{console.error("[DockviewTerminalContainer] failed to persist layout:",d)})},500))}function pe(e){if(typeof e!="object"||e===null)return!1;const r=e;return typeof r.grid=="object"&&typeof r.panels=="object"}const ye={name:"band",className:"dockview-theme-band dockview-terminal-tabs"};function he({params:e,api:r}){const{visible:a}=oe(),l=o.useCallback(c=>{r.setTitle(c)},[r]);if(!e.workspaceId||!e.terminalId)return null;const d=e.command||e.cwd||e.env?{command:e.command,cwd:e.cwd,env:e.env}:void 0;return f.jsx("div",{className:"flex h-full w-full flex-col overflow-hidden","data-testid":`dockview-terminal-tab__visible-${a?"true":"false"}`,children:f.jsx(o.Suspense,{fallback:null,children:f.jsx(fe,{workspaceId:e.workspaceId,terminalId:e.terminalId,visible:a,paneMetadata:d,autoFocus:e.autoFocus,onTitleChange:l})})})}function O(e){const[r,a]=o.useState(e.api.title??"Terminal"),[l,d]=o.useState(e.containerApi.panels.length);o.useEffect(()=>{const y=e.api.onDidTitleChange(()=>{a(e.api.title??"Terminal")});return()=>y.dispose()},[e.api]),o.useEffect(()=>{const y=e.containerApi,v=()=>d(y.panels.length),w=y.onDidAddPanel(v),x=y.onDidRemovePanel(v);return()=>{w.dispose(),x.dispose()}},[e.containerApi]);const c=e.containerApi,p=e.params.terminalId,g=o.useCallback(y=>{y.stopPropagation(),C.get(c.id)?.current?.onClose(p)},[c,p]),R=l>1;return f.jsxs("div",{className:"dv-default-tab",children:[f.jsxs("div",{className:"flex items-center gap-1.5 min-w-0",children:[f.jsx(ue,{className:"size-3.5 shrink-0 text-muted-foreground"}),f.jsx("span",{className:"truncate",children:r})]}),R&&f.jsx("button",{type:"button",className:"ml-1 inline-flex size-4 items-center justify-center rounded-sm opacity-60 hover:opacity-100 hover:bg-accent transition-colors",onClick:g,title:"Close terminal",children:f.jsx(ae,{className:"size-3"})})]})}const C=new Map,ge=te.memo(function(r){const a=(r.location?.type??"grid")==="grid",l=r.containerApi.id,d=r.group.id;return f.jsxs("div",{className:"flex h-full w-full items-center justify-center","data-testid":a?"dockview-terminal__toolbar":void 0,children:[a&&f.jsxs(f.Fragment,{children:[f.jsx("button",{type:"button",className:"inline-flex size-7 items-center justify-center text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors",onClick:()=>C.get(l)?.current?.onSplit(d,"right"),title:"Split right",children:f.jsx(ne,{className:"size-3.5"})}),f.jsx("button",{type:"button",className:"inline-flex size-7 items-center justify-center text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors",onClick:()=>C.get(l)?.current?.onSplit(d,"below"),title:"Split down",children:f.jsx(re,{className:"size-3.5"})})]}),f.jsx("button",{type:"button",className:"inline-flex size-7 items-center justify-center text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors",onClick:()=>C.get(l)?.current?.onAdd(d),title:"New terminal",children:f.jsx(ie,{className:"size-4"})})]})}),be={terminalTab:he},ve={terminalTab:O};function Pe({workspaceId:e,visible:r,wsActive:a}){const l=B(),d=U(),c=o.useRef(null),p=o.useRef(!1),g=o.useRef(null),R=o.useRef(a);R.current=a;const y=o.useRef(null),v=o.useRef(null),{data:w}=H({queryKey:M(e),queryFn:async()=>{const[{tree:t},{terminals:i}]=await Promise.all([h.terminalLayout.get.query({workspaceId:e}).catch(()=>({tree:null})),h.terminal.list.query({workspaceId:e}).catch(()=>({terminals:[]}))]);return{layout:t,terminalIds:new Set(i.map(s=>s.terminalId))}},staleTime:Number.POSITIVE_INFINITY}),x=o.useRef(d);x.current=d;const L=o.useCallback(()=>{if(p.current)return;const t=c.current;t&&F(e,t.toJSON(),{queryClient:x.current})},[e]),D=o.useCallback(()=>{if(p.current||R.current===!1)return;const t=c.current?.activePanel?.id;t&&h.panelFocus.set.mutate({workspaceId:e,panelType:"terminal",panelId:t}).catch(()=>{})},[e]),N=o.useCallback(async t=>{const i=c.current;if(!i)return;const s=A(),m={id:s,component:"terminalTab",tabComponent:"terminalTab",title:"Terminal",params:{workspaceId:e,terminalId:s,autoFocus:!0}};t&&(m.position={referenceGroup:t}),i.addPanel(m);try{await h.terminal.create.mutate({workspaceId:e,id:s})}catch(n){console.error("[DockviewTerminalContainer] error creating terminal:",n)}},[e]),S=o.useCallback(async(t,i)=>{const s=c.current;if(!s)return;const m=A();s.addPanel({id:m,component:"terminalTab",tabComponent:"terminalTab",title:"Terminal",params:{workspaceId:e,terminalId:m,autoFocus:!0},position:{referenceGroup:t,direction:i}});try{await h.terminal.create.mutate({workspaceId:e,id:m})}catch(n){console.error("[DockviewTerminalContainer] error creating split terminal:",n)}},[e]),E=o.useCallback(t=>{const i=c.current;if(!i||i.panels.length<=1)return;Q(i,t);const s=i.getPanel(t);s&&i.removePanel(s),requestAnimationFrame(()=>{const m=i.activePanel;m&&m.view.content.element.querySelector(".xterm-helper-textarea")?.focus()}),h.terminal.kill.mutate({terminalId:t}).catch(m=>{console.error("[DockviewTerminalContainer] failed to kill terminal:",m)})},[]);o.useEffect(()=>{if(!r)return;const t=()=>{const n=c.current?.activePanel;n&&n.view.content.element.querySelector(".xterm-helper-textarea")?.focus()},i=n=>{le(c.current,n,()=>{requestAnimationFrame(t)})},s=n=>{ce(c.current,n,()=>{requestAnimationFrame(t)})},m=n=>{if(!g.current?.contains(document.activeElement))return;const u=n.key.toLowerCase();if(n.ctrlKey&&!n.metaKey&&u==="tab"){n.preventDefault(),n.stopPropagation(),i(n.shiftKey?-1:1);return}if(!(n.metaKey||n.ctrlKey))return;if(n.shiftKey&&(u==="["||u==="]")){n.preventDefault(),n.stopPropagation(),i(u==="]"?1:-1);return}if(!n.shiftKey&&(u==="["||u==="]")){n.preventDefault(),n.stopPropagation(),s(u==="]"?1:-1);return}const b=()=>{const P=c.current;if(!P||P.panels.length<=1)return!1;const I=P.activePanel;return I?(E(I.id),!0):!1};if(u==="t"&&!n.shiftKey)n.preventDefault(),n.stopPropagation(),N();else if(u==="w"&&!n.shiftKey)b()&&(n.preventDefault(),n.stopPropagation());else if(u==="d")if(n.metaKey&&!n.ctrlKey){n.preventDefault(),n.stopPropagation();const P=c.current?.activeGroup;if(!P)return;S(P.id,n.shiftKey?"below":"right")}else n.ctrlKey&&!n.metaKey&&!n.shiftKey?b()&&(n.preventDefault(),n.stopPropagation()):(n.preventDefault(),n.stopPropagation())};return window.addEventListener("keydown",m,!0),()=>window.removeEventListener("keydown",m,!0)},[r,E,S,N]),o.useLayoutEffect(()=>{if(!r)return;const t=c.current,i=g.current;if(!t||!i)return;const s=i.getBoundingClientRect();if(s.width>0&&s.height>0){t.layout(Math.round(s.width),Math.round(s.height),!0);return}const m=new ResizeObserver(n=>{const u=n[0];if(!u)return;const{width:T,height:b}=u.contentRect;T<=0||b<=0||(m.disconnect(),t.layout(Math.round(T),Math.round(b),!0))});return m.observe(i),()=>m.disconnect()},[r]),o.useEffect(()=>{if(!r)return;const t=requestAnimationFrame(()=>{const i=c.current?.activePanel;i&&(i.view.content.element.querySelector(".xterm-helper-textarea")?.focus(),D())});return()=>cancelAnimationFrame(t)},[r,D]),o.useEffect(()=>{const t=i=>{const s=i.detail;!s?.terminalId||s.workspaceId!==e||c.current?.getPanel(s.terminalId)?.api.setActive()};return window.addEventListener("band:terminal-insert",t),()=>window.removeEventListener("band:terminal-insert",t)},[e]),o.useEffect(()=>l.subscribeStatusEvents(t=>{if(t.workspaceId!==e)return;const i=c.current;if(i){if(t.kind==="terminal-created"&&typeof t.terminalId=="string"){if(i.getPanel(t.terminalId))return;i.addPanel({id:t.terminalId,component:"terminalTab",tabComponent:"terminalTab",title:"Terminal",params:{workspaceId:e,terminalId:t.terminalId},position:K(i)})}else if(t.kind==="terminal-killed"&&typeof t.terminalId=="string"){const s=i.getPanel(t.terminalId);s&&(i.removePanel(s),i.panels.length===0&&j(i,e))}}}),[l,e]);const G=o.useRef({onAdd:()=>{},onSplit:()=>{},onClose:()=>{}});G.current={onAdd:N,onSplit:S,onClose:E},o.useEffect(()=>()=>{const t=c.current;t&&C.delete(t.id),y.current?.(),y.current=null,v.current?.(),v.current=null},[]);const k=o.useRef(null);k.current=w?.layout??null;const _=o.useRef(null);_.current=w?.terminalIds??null;const z=o.useRef(r);z.current=r;const J=o.useCallback(t=>{const i=c.current;i&&i.id!==t.api.id&&C.delete(i.id),c.current=t.api,C.set(t.api.id,G);const s=k.current,m=_.current;if(s&&pe(s)){p.current=!0;try{t.api.fromJSON(s)}catch(T){console.error("[DockviewTerminalContainer] fromJSON failed, creating default:",T),j(t.api,e)}let u=0;if(m){const T=t.api.panels.filter(b=>!m.has(b.id));for(const b of T)t.api.removePanel(b),u++;t.api.panels.length===0&&(j(t.api,e),u++)}setTimeout(()=>{p.current=!1},0),u>0&&F(e,t.api.toJSON(),{queryClient:x.current})}else Te(t.api,e,x.current);X(t.api),y.current?.(),y.current=Y(t.api),v.current?.(),g.current&&(v.current=W(g.current,t.api));const n=()=>L();if(t.api.onDidLayoutChange(n),t.api.onDidAddPanel(n),t.api.onDidRemovePanel(n),t.api.onDidActivePanelChange(()=>{n(),D()}),t.api.onDidAddGroup(n),t.api.onDidRemoveGroup(n),z.current&&g.current){const u=g.current.getBoundingClientRect();u.width>0&&u.height>0&&t.api.layout(Math.round(u.width),Math.round(u.height),!0)}},[e,L,D]),$=o.useMemo(()=>({visible:r&&a!==!1,wsActive:a!==!1}),[r,a]);return w?f.jsx("div",{ref:g,className:"flex h-full w-full flex-col overflow-hidden",children:f.jsx(Z.Provider,{value:$,children:f.jsx(ee,{theme:ye,className:"h-full",components:be,tabComponents:ve,defaultTabComponent:O,onReady:J,rightHeaderActionsComponent:ge})})}):f.jsx("div",{className:"flex h-full w-full items-center justify-center"})}function j(e,r){const a=A();e.addPanel({id:a,component:"terminalTab",tabComponent:"terminalTab",title:"Terminal",params:{workspaceId:r,terminalId:a},position:K(e)}),h.terminal.create.mutate({workspaceId:r,id:a}).catch(l=>{console.error("[DockviewTerminalContainer] error creating default terminal:",l)})}async function Te(e,r,a){try{const{config:l}=await h.workspace.getTerminalConfig.query({workspaceId:r});if(l?.layout){const d=V(l.layout);if(d.length>0){for(const c of d)try{const p=A();e.addPanel({id:p,component:"terminalTab",tabComponent:"terminalTab",title:c.name??"Terminal",params:{workspaceId:r,terminalId:p,command:c.command,cwd:c.cwd,env:c.env},position:K(e)}),await h.terminal.create.mutate({workspaceId:r,id:p,command:c.command,cwd:c.cwd,env:c.env})}catch(p){console.error("[DockviewTerminalContainer] error creating terminal from config:",p)}F(r,e.toJSON(),{queryClient:a});return}}}catch{}j(e,r)}function V(e,r=0){if(r>10||typeof e!="object"||e===null)return[];const a=e;if("pane"in a&&typeof a.pane=="object"&&a.pane!==null){const l=a.pane;return[{name:typeof l.name=="string"?l.name:void 0,command:typeof l.command=="string"?l.command:void 0,cwd:typeof l.cwd=="string"?l.cwd:void 0,env:typeof l.env=="object"&&l.env!==null?l.env:void 0}]}if("children"in a&&Array.isArray(a.children)){const l=[];for(const d of a.children)l.push(...V(d,r+1));return l}return[]}export{Pe as DockviewTerminalContainer,A as newTerminalId};
@@ -1,5 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/xterm-AZ511Krh.css"])))=>i.map(i=>d[i]);
2
- import{m as Ce,r as o,cr as Pt,cs as Dt,ct as Mt,cu as Ve,cv as Ze,cw as $e,cx as Je,j as l,cy as jt,X as It,cz as Bt,cj as Wt,_ as q,cA as zt,cB as Ft,cC as Ht,cD as qt,cE as Kt}from"./main-RztHx-sU.js";const Xt=[["path",{d:"M20 4v7a4 4 0 0 1-4 4H4",key:"6o5b7l"}],["path",{d:"m9 10-5 5 5 5",key:"1kshq7"}]],Yt=Ce("corner-down-left",Xt);const Gt=[["path",{d:"M22 2 2 22",key:"y4kqgn"}]],Qt=Ce("slash",Gt);const Ut=[["path",{d:"M12 20h-1a2 2 0 0 1-2-2 2 2 0 0 1-2 2H6",key:"1528k5"}],["path",{d:"M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7",key:"13ksps"}],["path",{d:"M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1",key:"1n9rhb"}],["path",{d:"M6 4h1a2 2 0 0 1 2 2 2 2 0 0 1 2-2h1",key:"1mj8rg"}],["path",{d:"M9 6v12",key:"velyjx"}]],Vt=Ce("text-cursor-input",Ut),Zt=49,et="(hover: none) and (pointer: coarse)";function ot(){const[t,c]=o.useState(()=>typeof window>"u"?!1:window.matchMedia(et).matches),[n,r]=o.useState(0);return o.useEffect(()=>{if(typeof window>"u")return;const s=window.matchMedia(et),h=d=>c(d.matches);return c(s.matches),s.addEventListener("change",h),()=>s.removeEventListener("change",h)},[]),o.useEffect(()=>{if(typeof window>"u")return;if(!t){r(0);return}const s=window.visualViewport;if(!s)return;const h=()=>{const d=Math.max(0,window.innerHeight-(s.offsetTop+s.height));r(d)};return h(),s.addEventListener("resize",h),s.addEventListener("scroll",h),window.addEventListener("resize",h),()=>{s.removeEventListener("resize",h),s.removeEventListener("scroll",h),window.removeEventListener("resize",h)}},[t]),{enabled:t,bottomOffset:n,contentBottomInset:t?Zt:0}}function $t(t){const c=/[A-Za-z0-9._/@~+-]+(?::\d+(?:[-:]\d+)?)?/g,n=[];for(const r of t.matchAll(c)){const s=r[0];Pt(s)&&n.push({text:s,startIndex:r.index,endIndex:r.index+s.length})}return n}function Jt(t,c){const n=[],r=[];let s=0,h;for(let d=0;d<t.cols;d++){if(h=c.getCell(d,h),!h||h.getWidth()===0)continue;const m=h.getChars(),y=m.length>0?m:" ";r[s]=d+1,n.push(y),s+=y.length}return{text:n.join(""),columnForIndex:r}}function en(t,c){return{provideLinks(n,r){const s=t.buffer.active.getLine(n-1);if(!s){r(void 0);return}const{text:h,columnForIndex:d}=Jt(t,s),m=$t(h);if(m.length===0){r(void 0);return}const y=m.map(v=>{const S=d[v.startIndex]??1,x=d[v.endIndex-1]??t.cols;return{text:v.text,range:{start:{x:S,y:n},end:{x,y:n}},decorations:{pointerCursor:!0,underline:!0},activate:D=>{D.preventDefault(),c(v.text)}}});r(y)}}}const Se=/[A-Za-z0-9_./:\-+@~]/;function tn(t,c,n,r){const s=r.getBoundingClientRect();if(s.width<=0||s.height<=0||n.cols<=0||n.rows<=0)return{col:0,row:n.buffer.active.viewportY};const h=s.width/n.cols,d=s.height/n.rows,m=Re(Math.floor((t-s.left)/h),0,n.cols-1),y=Re(Math.floor((c-s.top)/d),0,n.rows-1);return{col:m,row:n.buffer.active.viewportY+y}}function nn(t,c){if(c<0||c>=t.length||!Se.test(t[c])){const s=Re(c,0,Math.max(0,t.length));return{start:s,end:s+1}}let n=c;for(;n>0&&Se.test(t[n-1]);)n--;let r=c+1;for(;r<t.length&&Se.test(t[r]);)r++;return{start:n,end:r}}function rn(t,c){return t.buffer.active.getLine(c)?.translateToString(!1)??""}function on(t,c,n){const r=n.cols,s=Math.max(0,n.buffer.active.length-1);switch(c){case"left":return t.col>0?{col:t.col-1,row:t.row}:t.row>0?{col:r-1,row:t.row-1}:t;case"right":return t.col<r-1?{col:t.col+1,row:t.row}:t.row<s?{col:0,row:t.row+1}:t;case"up":return t.row>0?{col:t.col,row:t.row-1}:t;case"down":return t.row<s?{col:t.col,row:t.row+1}:t}}function ie(t,c,n){const r=t.cols;if(r<=0)return;const s=c.row*r+c.col,h=n.row*r+n.col,d=Math.min(s,h),y=Math.max(s,h)-d+1,v=Math.floor(d/r),S=d-v*r;t.select(S,v,y)}function sn(t,c){const{start:n,end:r}=nn(c,t.col);return{anchor:{col:n,row:t.row},head:{col:Math.max(n,r-1),row:t.row}}}function Re(t,c,n){return t<c?c:t>n?n:t}const cn="\x1B",an=" ",ln="\r",un="/",dn="\x1B[A",fn="\x1B[B",hn="\x1B[C",mn="\x1B[D",T=t=>c=>{c.preventDefault(),t()};function wn({terminal:t,sendInput:c,pendingCtrl:n,onToggleCtrl:r,selectionMode:s,onExtendSelection:h,onExitSelection:d,onSelectAll:m}){const{enabled:y,bottomOffset:v}=ot(),S=o.useCallback(async()=>{if(!t.hasSelection())return;const g=t.getSelection();if(!g)return;await Dt(g)||console.warn("[TerminalToolbar] clipboard write failed")},[t]),x=o.useCallback(async()=>{await S(),d()},[S,d]),D=o.useCallback(async()=>{const g=await Mt();g&&c(g)},[c]),K=o.useMemo(()=>[{label:"Esc",seq:cn,ariaLabel:"Send Escape"},{label:"Tab",seq:an,ariaLabel:"Send Tab"}],[]),le=o.useMemo(()=>[{Icon:Ve,seq:mn,ariaLabel:"Arrow Left"},{Icon:Ze,seq:dn,ariaLabel:"Arrow Up"},{Icon:$e,seq:fn,ariaLabel:"Arrow Down"},{Icon:Je,seq:hn,ariaLabel:"Arrow Right"}],[]),J=o.useMemo(()=>[{Icon:Ve,dir:"left",ariaLabel:"Extend selection left"},{Icon:Ze,dir:"up",ariaLabel:"Extend selection up"},{Icon:$e,dir:"down",ariaLabel:"Extend selection down"},{Icon:Je,dir:"right",ariaLabel:"Extend selection right"}],[]);return y?l.jsx("div",{"data-testid":"terminal-toolbar","data-mode":s?"selection":"idle",role:"toolbar","aria-label":s?"Terminal selection controls":"Terminal accessory keys",style:{bottom:v},className:"fixed inset-x-0 z-50 flex justify-center border-t border-border bg-background/95 shadow-lg backdrop-blur-md",children:l.jsxs("div",{className:"flex w-full max-w-3xl items-center gap-1 px-2 py-1.5",children:[l.jsx("div",{className:"flex min-w-0 flex-1 items-center gap-1 overflow-x-auto",children:s?l.jsxs(l.Fragment,{children:[l.jsxs(_,{ariaLabel:"Copy selection and exit",title:"Copy",onPointerDown:T(x),variant:"primary",children:[l.jsx(jt,{className:"size-4"}),l.jsx("span",{className:"text-xs",children:"Copy"})]}),l.jsxs(_,{ariaLabel:"Exit selection mode",title:"Done",onPointerDown:T(d),children:[l.jsx(It,{className:"size-4"}),l.jsx("span",{className:"text-xs",children:"Done"})]}),l.jsx("div",{className:"mx-1 h-6 w-px shrink-0 bg-border","aria-hidden":"true"}),l.jsx("span",{className:"mr-1 shrink-0 select-none text-xs font-medium uppercase tracking-wide text-muted-foreground","aria-hidden":"true",children:"Extend"}),J.map(({Icon:g,dir:k,ariaLabel:L})=>l.jsx(_,{ariaLabel:L,title:L,onPointerDown:T(()=>h(k)),children:l.jsx(g,{className:"size-4"})},k))]}):l.jsxs(l.Fragment,{children:[l.jsxs(_,{ariaLabel:"Paste from clipboard",title:"Paste",onPointerDown:T(D),children:[l.jsx(Bt,{className:"size-4"}),l.jsx("span",{className:"text-xs",children:"Paste"})]}),l.jsxs(_,{ariaLabel:"Select all",title:"Select all",onPointerDown:T(m),children:[l.jsx(Vt,{className:"size-4"}),l.jsx("span",{className:"text-xs",children:"All"})]}),l.jsx("div",{className:"mx-1 h-6 w-px shrink-0 bg-border","aria-hidden":"true"}),K.map(({label:g,seq:k,ariaLabel:L})=>l.jsx(_,{ariaLabel:L,title:g,onPointerDown:T(()=>c(k)),children:l.jsx("span",{className:"text-xs font-medium",children:g})},g)),l.jsx(_,{ariaLabel:"Send slash",title:"Slash command",onPointerDown:T(()=>c(un)),children:l.jsx(Qt,{className:"size-4"})}),l.jsx(_,{ariaLabel:n?"Cancel pending Ctrl":"Arm Ctrl modifier",title:"Ctrl (sticky — taps the next key as Ctrl+key)",onPointerDown:T(r),active:n,children:l.jsx("span",{className:"text-xs font-medium",children:"Ctrl"})}),l.jsx("div",{className:"mx-1 h-6 w-px shrink-0 bg-border","aria-hidden":"true"}),le.map(({Icon:g,seq:k,ariaLabel:L})=>l.jsx(_,{ariaLabel:L,title:L,onPointerDown:T(()=>c(k)),children:l.jsx(g,{className:"size-4"})},L))]})}),l.jsx("div",{className:"h-6 w-px shrink-0 bg-border","aria-hidden":"true"}),l.jsx(_,{ariaLabel:"Send Enter",title:"Enter",onPointerDown:T(()=>c(ln)),variant:"primary",children:l.jsx(Yt,{className:"size-4"})})]})}):null}function _({ariaLabel:t,title:c,onPointerDown:n,active:r,variant:s="default",disabled:h,children:d}){const m=r?"bg-primary text-primary-foreground":s==="primary"?"bg-primary text-primary-foreground hover:bg-primary/90":"bg-muted/60 hover:bg-muted active:bg-muted";return l.jsx("button",{type:"button","aria-label":t,"aria-pressed":r,title:c,onPointerDown:n,disabled:h,className:["inline-flex h-9 min-w-9 shrink-0 items-center justify-center gap-1 rounded-md px-2","text-foreground transition-colors",m,"disabled:opacity-40"].join(" "),children:d})}const tt=13,pn=500,nt=10,bn={matchBackground:"#515c6a",activeMatchBackground:"#a9913680",matchOverviewRuler:"#a9913680",activeMatchColorOverviewRuler:"#a99136"},vn={caseSensitive:!1,wholeWord:!1,regex:!1};function Le(t){return{caseSensitive:t.caseSensitive,wholeWord:t.wholeWord,regex:t.regex,decorations:bn}}const gn={background:"#1e1e1e",foreground:"#e8e8e8",cursor:"#e8e8e8",selectionBackground:"rgba(255, 255, 255, 0.2)",black:"#000000",red:"#cd3131",green:"#0dbc79",yellow:"#e5e510",blue:"#2472c8",magenta:"#bc3fbc",cyan:"#11a8cd",white:"#e5e5e5",brightBlack:"#666666",brightRed:"#f14c4c",brightGreen:"#23d18b",brightYellow:"#f5f543",brightBlue:"#3b8eea",brightMagenta:"#d670d6",brightCyan:"#29b8db",brightWhite:"#e5e5e5"},xn={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 En(){return document.documentElement.classList.contains("dark")}function rt(){return En()?gn:xn}function Rn({workspaceId:t,terminalId:c,visible:n,paneMetadata:r,autoFocus:s,onTitleChange:h}){const d=o.useRef(null),m=o.useRef(null),y=o.useRef(null),v=o.useRef(null),S=o.useRef(null),x=o.useRef(null),D=o.useRef(null),K=o.useRef(h);K.current=h;const{settings:le}=Wt(),J=le.useWebGLTerminalRenderer??!0,g=o.useRef(J);g.current=J;const[k,L]=o.useState(!1),[C,Ae]=o.useState(""),[M,st]=o.useState(vn),[ct,ue]=o.useState({total:0,current:0}),de=o.useRef(null),Te=o.useRef(()=>{}),_e=o.useRef(()=>{}),[at,ke]=o.useState(!1),B=o.useRef(!1),[it,ee]=o.useState(!1),lt=o.useCallback(()=>{const f=!B.current;B.current=f,ee(f)},[]),O=o.useRef(null),N=o.useRef(null),[ut,X]=o.useState(!1),dt=o.useCallback(()=>{O.current=null,N.current=null,X(!1),m.current?.clearSelection()},[]),ft=o.useCallback(f=>{const p=m.current,E=O.current,A=N.current;if(!p||!E||!A)return;const P=on(A,f,p);N.current=P,ie(p,E,P)},[]),ht=o.useCallback(()=>{const f=m.current;if(!f)return;const p={col:0,row:0},E=Math.max(0,f.buffer.active.length-1),A={col:Math.max(0,f.cols-1),row:E};ie(f,p,A),O.current=p,N.current=A,X(!0),f.blur()},[]);o.useEffect(()=>{if(!d.current)return;let f=!1,p;return Promise.all([q(()=>import("./xterm-iwIWEtGc.js"),[]),q(()=>import("./addon-fit-DX4qG4td.js"),[]),q(()=>import("./addon-web-links-DIbG5aQx.js"),[]),q(()=>import("./addon-search-DCE88ROn.js"),[]),q(()=>import("./addon-webgl-CeRvQWkA.js"),[])]).then(([E,A,P,ne,R])=>{const{Terminal:re}=E,{FitAddon:gt}=A,{WebLinksAddon:xt}=P,{SearchAddon:Et}=ne,{WebglAddon:yt}=R;if(f||!d.current)return;const Oe=g.current;q(()=>Promise.resolve({}),__vite__mapDeps([0]));const a=new re({allowProposedApi:!0,cursorBlink:!0,fontSize:tt*zt(),fontFamily:"'SF Mono', Menlo, Monaco, 'Courier New', monospace",lineHeight:Oe?1.2:1,macOptionIsMeta:!0,scrollback:1e4,theme:rt()}),Ne=new MutationObserver(()=>{a.options.theme=rt()});Ne.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]});const G=new gt;a.loadAddon(G),a.loadAddon(new xt((e,i)=>Ft(i)));const St=a.registerLinkProvider(en(a,e=>{window.dispatchEvent(new CustomEvent("band:open-file",{detail:{filename:e,workspaceId:t}}))}));a.open(d.current);let fe;const he=()=>{try{const e=new yt({customGlyphs:!0});a.loadAddon(e);const u=d.current?.querySelector(".xterm-screen")?.querySelector(":scope > canvas:last-of-type");return u&&(u.style.pointerEvents="none",u.style.touchAction="none"),S.current=e,fe?.dispose(),fe=e.onContextLoss(()=>{console.warn("[TerminalPanel] WebGL context lost, reattaching addon"),e.dispose(),S.current=null,he()}),!0}catch(e){return console.warn("[TerminalPanel] WebGL renderer unavailable, falling back to DOM",e),!1}};Oe&&he();const me=new Et;a.loadAddon(me);const Lt=me.onDidChangeResults(e=>{ue({total:e.resultCount,current:e.resultIndex>=0?e.resultIndex+1:0})});a.attachCustomKeyEventHandler(e=>{if(e.type==="keydown"){if(B.current&&e.key.length===1&&!e.metaKey&&!e.altKey&&!e.ctrlKey){const u=e.key.toLowerCase().charCodeAt(0);if(u>=97&&u<=122)return a.input(String.fromCharCode(u-96)),B.current=!1,ee(!1),e.preventDefault(),!1;B.current=!1,ee(!1)}if((e.metaKey||e.ctrlKey)&&!e.shiftKey&&!e.altKey&&e.key.toLowerCase()==="f")return e.preventDefault(),Te.current(),!1;if(e.key==="Enter"&&e.shiftKey&&!e.altKey&&!e.metaKey&&!e.ctrlKey)return e.preventDefault(),a.input(`
3
- `),!1;if(e.altKey&&!e.metaKey&&!e.ctrlKey){if(e.key==="ArrowLeft")return a.input("\x1Bb"),!1;if(e.key==="ArrowRight")return a.input("\x1Bf"),!1}}return!0}),m.current=a,y.current=G,v.current=me,ke(!0);const w=d.current;let Q=null;const Pe=e=>{Q=e.touches.length===1?e.touches[0].clientY:null},De=e=>{if(e.touches.length!==1||Q===null)return;const i=e.touches[0].clientY,u=Q-i,b=w.querySelector(".xterm-viewport"),I=b&&a.rows>0?b.clientHeight/a.rows:17,$=Math.trunc(u/I);$!==0&&(a.scrollLines($),Q=i+(u-$*I),e.preventDefault())},oe=()=>{Q=null};w.addEventListener("touchstart",Pe,{passive:!0}),w.addEventListener("touchmove",De,{passive:!1}),w.addEventListener("touchend",oe,{passive:!0}),w.addEventListener("touchcancel",oe,{passive:!0});let U=null,W=null;const j=()=>{U!==null&&(window.clearTimeout(U),U=null),W=null},Me=e=>{if(j(),e.touches.length!==1)return;const i=e.touches[0];W={x:i.clientX,y:i.clientY},U=window.setTimeout(()=>{U=null;const u=W;if(!u)return;const b=w.querySelector(".xterm-screen");if(!b)return;const I=tn(u.x,u.y,a,b),$=rn(a,I.row),{anchor:Qe,head:Ue}=sn(I,$);if(ie(a,Qe,Ue),O.current=Qe,N.current=Ue,X(!0),z=null,F=null,a.blur(),typeof navigator.vibrate=="function")try{navigator.vibrate(15)}catch{}},pn)},je=e=>{if(!W||e.touches.length!==1)return;const i=e.touches[0],u=Math.abs(i.clientX-W.x),b=Math.abs(i.clientY-W.y);(u>nt||b>nt)&&j()};w.addEventListener("touchstart",Me,{passive:!0}),w.addEventListener("touchmove",je,{passive:!0}),w.addEventListener("touchend",j,{passive:!0}),w.addEventListener("touchcancel",j,{passive:!0});let z=null,F=null;const Ie=e=>{e.touches.length===1?(z=e.touches[0].clientX,F=e.touches[0].clientY):(z=null,F=null)},Be=e=>{const i=z,u=F;if(z=null,F=null,i===null||u===null||e.changedTouches.length!==1)return;const b=Math.abs(e.changedTouches[0].clientX-i),I=Math.abs(e.changedTouches[0].clientY-u);b<10&&I<10&&(O.current!==null&&(O.current=null,N.current=null,X(!1),a.clearSelection()),a.focus())},We=()=>{z=null,F=null};w.addEventListener("touchstart",Ie,{passive:!0}),w.addEventListener("touchend",Be,{passive:!0}),w.addEventListener("touchcancel",We,{passive:!0});const Rt=`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}/terminal?workspaceId=${encodeURIComponent(t)}&terminalId=${encodeURIComponent(c)}`,Ct=1e4,At=2e4,Tt=500,ze=1e4;let V=!1,we=!1,se=0,H=null,ce=null,pe=0;const be=()=>{H!==null&&(clearTimeout(H),H=null)},ve=()=>{ce!==null&&(clearInterval(ce),ce=null)},Fe=()=>{const e=x.current;if(!(!e||e.readyState!==WebSocket.OPEN)){if(Date.now()-pe>At){e.close();return}try{e.send(JSON.stringify({type:"ping"}))}catch{e.close()}}},_t=()=>{if(V||H!==null)return;const e=Math.min(Tt*2**se,ze);e<ze&&(se+=1),H=setTimeout(()=>{H=null,ge()},e)};function ge(){if(V)return;be();const e=we,i=new WebSocket(Rt);x.current=i,i.binaryType="arraybuffer",i.onopen=()=>{if(se=0,pe=Date.now(),e&&a.reset(),!we&&r&&(r.command||r.cwd||r.env)){const u={type:"init"};r.command&&(u.command=r.command),r.cwd&&(u.cwd=r.cwd),r.env&&(u.env=r.env),i.send(JSON.stringify(u))}we=!0,G.fit(),i.send(JSON.stringify({type:"resize",cols:a.cols,rows:a.rows})),s&&!e&&a.focus(),ve(),ce=setInterval(Fe,Ct),_e.current()},i.onmessage=u=>{if(u.data instanceof ArrayBuffer)a.write(new Uint8Array(u.data));else try{const b=JSON.parse(u.data);b.type==="pong"?pe=Date.now():b.type==="title"&&typeof b.title=="string"&&K.current?.(b.title)}catch{a.write(u.data)}},i.onclose=()=>{x.current===i&&(ve(),!V&&(a.write(`\r
4
- \x1B[90m[Reconnecting…]\x1B[0m\r
5
- `),_t()))}}const xe=()=>{if(V)return;const e=x.current;!e||e.readyState===WebSocket.CLOSED||e.readyState===WebSocket.CLOSING?(se=0,be(),ge()):e.readyState===WebSocket.OPEN&&Fe()},He=()=>{document.hidden||xe()};window.addEventListener("online",xe),document.addEventListener("visibilitychange",He),ge(),a.onData(e=>{const i=x.current;i&&i.readyState===WebSocket.OPEN&&i.send(e)}),a.onTitleChange(e=>{K.current?.(e)});let Z=null;const kt=()=>{Z===null&&(!O.current||!N.current||(Z=requestAnimationFrame(()=>{Z=null;const e=O.current,i=N.current;e&&i&&ie(a,e,i)})))},Ot=a.onResize(kt);let qe=window.devicePixelRatio;const Ke=()=>{const e=x.current;!e||e.readyState!==WebSocket.OPEN||a.cols<=0||a.rows<=0||e.send(JSON.stringify({type:"resize",cols:a.cols,rows:a.rows}))},Ee=(e={})=>{const{newFontSize:i}=e;if(i!==void 0)a.options.fontSize!==i&&(a.options.fontSize=i);else{const b=a.options.fontSize;typeof b=="number"&&(a.options.fontSize=b+1,a.options.fontSize=b)}const u=S.current;u&&(u.dispose(),S.current=null,he()),G.fit()};D.current=()=>Ee();const Xe=()=>{const e=window.devicePixelRatio;return e===qe?!1:(qe=e,Ee(),!0)},Ye=new ResizeObserver(e=>{const i=e[0];if(!i||i.contentRect.width===0||i.contentRect.height===0)return;Xe()||G.fit(),Ke()});Ye.observe(d.current);const Nt=Ht(e=>{const i=Math.round(tt*e*100)/100;a.options.fontSize!==i&&(Ee({newFontSize:i}),Ke())});let ae;const Ge=()=>{ae=window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`),ae.addEventListener("change",ye)},ye=()=>{Xe(),ae?.removeEventListener("change",ye),Ge()};Ge(),p=()=>{V=!0,be(),ve(),window.removeEventListener("online",xe),document.removeEventListener("visibilitychange",He),Ne.disconnect(),Ye.disconnect(),Lt.dispose(),Ot.dispose(),St.dispose(),Z!==null&&cancelAnimationFrame(Z),fe?.dispose(),ae?.removeEventListener("change",ye),Nt(),j(),w.removeEventListener("touchstart",Pe),w.removeEventListener("touchmove",De),w.removeEventListener("touchend",oe),w.removeEventListener("touchcancel",oe),w.removeEventListener("touchstart",Me),w.removeEventListener("touchmove",je),w.removeEventListener("touchend",j),w.removeEventListener("touchcancel",j),w.removeEventListener("touchstart",Ie),w.removeEventListener("touchend",Be),w.removeEventListener("touchcancel",We),x.current?.close(),a.dispose(),m.current=null,y.current=null,v.current=null,S.current=null,D.current=null,x.current=null,O.current=null,N.current=null,B.current=!1,X(!1),ee(!1),ke(!1)}}),()=>{f=!0,p?.()}},[c,t,r,s]),o.useEffect(()=>{if(!n)return;let f=0;const p=5,E=A=>{const P=d.current;if(!P||P.clientWidth===0||P.clientHeight===0){A<p&&(f=requestAnimationFrame(()=>E(A+1)));return}const ne=D.current;ne?ne():y.current?.fit();const R=m.current;R&&R.rows>0&&R.refresh(0,R.rows-1);const re=x.current;R&&re?.readyState===WebSocket.OPEN&&R.cols>0&&R.rows>0&&re.send(JSON.stringify({type:"resize",cols:R.cols,rows:R.rows}))};return f=requestAnimationFrame(()=>E(0)),()=>cancelAnimationFrame(f)},[n]),o.useEffect(()=>{const f=()=>{n&&m.current?.focus()};return window.addEventListener("band:focus-terminal",f),()=>window.removeEventListener("band:focus-terminal",f)},[n]);const te=o.useRef(null),Y=o.useCallback(()=>{const f=te.current;if(!f)return;const p=x.current;p?.readyState===WebSocket.OPEN&&(p.send(f),te.current=null,m.current?.focus())},[]);_e.current=Y,o.useEffect(()=>{n?Y():te.current=null},[n,Y]),o.useEffect(()=>{const f=p=>{const E=p.detail;!E?.reference||E.workspaceId!==t||E.terminalId&&E.terminalId!==c||(te.current=E.reference,n&&Y())};return window.addEventListener("band:terminal-insert",f),()=>window.removeEventListener("band:terminal-insert",f)},[n,t,c,Y]);const mt=o.useCallback(()=>{L(!0),requestAnimationFrame(()=>{de.current?.focus(),de.current?.select()})},[]);Te.current=mt;const wt=o.useCallback(()=>{v.current?.clearDecorations(),L(!1),Ae(""),ue({total:0,current:0}),m.current?.focus()},[]),pt=o.useCallback(()=>{C&&v.current?.findNext(C,Le(M))},[C,M]),bt=o.useCallback(()=>{C&&v.current?.findPrevious(C,Le(M))},[C,M]);o.useEffect(()=>{const f=v.current;if(f){if(!C){f.clearDecorations(),ue({total:0,current:0});return}f.findNext(C,Le(M))}},[C,M]);const{contentBottomInset:vt}=ot();return l.jsxs("div",{className:"relative flex h-full w-full flex-col",children:[k&&l.jsx(qt,{ref:de,query:C,onQueryChange:Ae,options:M,onOptionsChange:st,placeholder:"Find in terminal...",matchInfo:ct,onNext:pt,onPrevious:bt,onClose:wt}),l.jsx("div",{className:"relative min-h-0 flex-1",children:l.jsx("div",{ref:d,className:"absolute inset-x-2 top-2 overflow-hidden",style:{bottom:8+vt,zoom:`calc(1 / var(${Kt}, 1))`}})}),at&&m.current&&l.jsx(wn,{terminal:m.current,sendInput:f=>{const p=x.current;p?.readyState===WebSocket.OPEN&&p.send(f)},pendingCtrl:it,onToggleCtrl:lt,selectionMode:ut,onExtendSelection:ft,onExitSelection:dt,onSelectAll:ht})]})}export{Rn as TerminalPanel};
@@ -1 +0,0 @@
1
- import{dD as S,dE as Rn,dq as T,dF as w,dp as sn,dG as xn,dH as Mn,dI as mn,dJ as un,dK as x,dm as U,dL as Cn,dM as on,dN as Fn,dO as E,dB as gn,dP as R,dk as ln,dQ as Dn,dR as D,dS as Gn,dT as Un,dU as _,dt as Bn,dV as Nn,dn as Kn,dW as X,dX as Hn,dY as jn,ds as qn,dr as dn,dz as Yn,dZ as m}from"./main-RztHx-sU.js";var Zn="[object Symbol]";function B(n){return typeof n=="symbol"||S(n)&&Rn(n)==Zn}function cn(n,r){for(var e=-1,t=n==null?0:n.length,f=Array(t);++e<t;)f[e]=r(n[e],e,n);return f}var J=w?w.prototype:void 0,Q=J?J.toString:void 0;function pn(n){if(typeof n=="string")return n;if(T(n))return cn(n,pn)+"";if(B(n))return Q?Q.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function Xn(){}function An(n,r){for(var e=-1,t=n==null?0:n.length;++e<t&&r(n[e],e,n)!==!1;);return n}function Jn(n,r,e,t){for(var f=n.length,i=e+-1;++i<f;)if(r(n[i],i,n))return i;return-1}function Qn(n){return n!==n}function Wn(n,r,e){for(var t=e-1,f=n.length;++t<f;)if(n[t]===r)return t;return-1}function zn(n,r,e){return r===r?Wn(n,r,e):Jn(n,Qn,e)}function Vn(n,r){var e=n==null?0:n.length;return!!e&&zn(n,r,0)>-1}function $(n){return sn(n)?xn(n):Mn(n)}var kn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,nr=/^\w*$/;function N(n,r){if(T(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||B(n)?!0:nr.test(n)||!kn.test(n)||r!=null&&n in Object(r)}var rr=500;function er(n){var r=mn(n,function(t){return e.size===rr&&e.clear(),t}),e=r.cache;return r}var tr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ir=/\\(\\)?/g,fr=er(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(tr,function(e,t,f,i){r.push(f?i.replace(ir,"$1"):t||e)}),r});function ar(n){return n==null?"":pn(n)}function yn(n,r){return T(n)?n:N(n,r)?[n]:fr(ar(n))}function M(n){if(typeof n=="string"||B(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function bn(n,r){r=yn(r,n);for(var e=0,t=r.length;n!=null&&e<t;)n=n[M(r[e++])];return e&&e==t?n:void 0}function sr(n,r,e){var t=n==null?void 0:bn(n,r);return t===void 0?e:t}function K(n,r){for(var e=-1,t=r.length,f=n.length;++e<t;)n[f+e]=r[e];return n}var W=w?w.isConcatSpreadable:void 0;function ur(n){return T(n)||un(n)||!!(W&&n&&n[W])}function Ot(n,r,e,t,f){var i=-1,a=n.length;for(e||(e=ur),f||(f=[]);++i<a;){var s=n[i];e(s)?K(f,s):t||(f[f.length]=s)}return f}function or(n,r,e,t){var f=-1,i=n==null?0:n.length;for(t&&i&&(e=n[++f]);++f<i;)e=r(e,n[f],f,n);return e}function gr(n,r){return n&&x(r,$(r),n)}function lr(n,r){return n&&x(r,U(r),n)}function Tn(n,r){for(var e=-1,t=n==null?0:n.length,f=0,i=[];++e<t;){var a=n[e];r(a,e,n)&&(i[f++]=a)}return i}function hn(){return[]}var dr=Object.prototype,cr=dr.propertyIsEnumerable,z=Object.getOwnPropertySymbols,H=z?function(n){return n==null?[]:(n=Object(n),Tn(z(n),function(r){return cr.call(n,r)}))}:hn;function pr(n,r){return x(n,H(n),r)}var Ar=Object.getOwnPropertySymbols,wn=Ar?function(n){for(var r=[];n;)K(r,H(n)),n=Cn(n);return r}:hn;function yr(n,r){return x(n,wn(n),r)}function On(n,r,e){var t=r(n);return T(n)?t:K(t,e(n))}function G(n){return On(n,$,H)}function br(n){return On(n,U,wn)}var Tr=Object.prototype,hr=Tr.hasOwnProperty;function wr(n){var r=n.length,e=new n.constructor(r);return r&&typeof n[0]=="string"&&hr.call(n,"index")&&(e.index=n.index,e.input=n.input),e}function Or(n,r){var e=r?on(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}var $r=/\w*$/;function _r(n){var r=new n.constructor(n.source,$r.exec(n));return r.lastIndex=n.lastIndex,r}var V=w?w.prototype:void 0,k=V?V.valueOf:void 0;function Sr(n){return k?Object(k.call(n)):{}}var Er="[object Boolean]",Ir="[object Date]",Pr="[object Map]",vr="[object Number]",Lr="[object RegExp]",Rr="[object Set]",xr="[object String]",Mr="[object Symbol]",mr="[object ArrayBuffer]",Cr="[object DataView]",Fr="[object Float32Array]",Dr="[object Float64Array]",Gr="[object Int8Array]",Ur="[object Int16Array]",Br="[object Int32Array]",Nr="[object Uint8Array]",Kr="[object Uint8ClampedArray]",Hr="[object Uint16Array]",jr="[object Uint32Array]";function qr(n,r,e){var t=n.constructor;switch(r){case mr:return on(n);case Er:case Ir:return new t(+n);case Cr:return Or(n,e);case Fr:case Dr:case Gr:case Ur:case Br:case Nr:case Kr:case Hr:case jr:return Fn(n,e);case Pr:return new t;case vr:case xr:return new t(n);case Lr:return _r(n);case Rr:return new t;case Mr:return Sr(n)}}var Yr="[object Map]";function Zr(n){return S(n)&&E(n)==Yr}var nn=R&&R.isMap,Xr=nn?gn(nn):Zr,Jr="[object Set]";function Qr(n){return S(n)&&E(n)==Jr}var rn=R&&R.isSet,Wr=rn?gn(rn):Qr,zr=1,Vr=2,kr=4,$n="[object Arguments]",ne="[object Array]",re="[object Boolean]",ee="[object Date]",te="[object Error]",_n="[object Function]",ie="[object GeneratorFunction]",fe="[object Map]",ae="[object Number]",Sn="[object Object]",se="[object RegExp]",ue="[object Set]",oe="[object String]",ge="[object Symbol]",le="[object WeakMap]",de="[object ArrayBuffer]",ce="[object DataView]",pe="[object Float32Array]",Ae="[object Float64Array]",ye="[object Int8Array]",be="[object Int16Array]",Te="[object Int32Array]",he="[object Uint8Array]",we="[object Uint8ClampedArray]",Oe="[object Uint16Array]",$e="[object Uint32Array]",g={};g[$n]=g[ne]=g[de]=g[ce]=g[re]=g[ee]=g[pe]=g[Ae]=g[ye]=g[be]=g[Te]=g[fe]=g[ae]=g[Sn]=g[se]=g[ue]=g[oe]=g[ge]=g[he]=g[we]=g[Oe]=g[$e]=!0;g[te]=g[_n]=g[le]=!1;function C(n,r,e,t,f,i){var a,s=r&zr,u=r&Vr,c=r&kr;if(a!==void 0)return a;if(!ln(n))return n;var l=T(n);if(l){if(a=wr(n),!s)return Dn(n,a)}else{var o=E(n),d=o==_n||o==ie;if(D(n))return Gn(n,s);if(o==Sn||o==$n||d&&!f){if(a=u||d?{}:Un(n),!s)return u?yr(n,lr(a,n)):pr(n,gr(a,n))}else{if(!g[o])return f?n:{};a=qr(n,o,s)}}i||(i=new _);var h=i.get(n);if(h)return h;i.set(n,a),Wr(n)?n.forEach(function(p){a.add(C(p,r,e,p,n,i))}):Xr(n)&&n.forEach(function(p,A){a.set(A,C(p,r,e,A,n,i))});var y=c?u?br:G:u?U:$,b=l?void 0:y(n);return An(b||n,function(p,A){b&&(A=p,p=n[A]),Bn(a,A,C(p,r,e,A,n,i))}),a}var _e="__lodash_hash_undefined__";function Se(n){return this.__data__.set(n,_e),this}function Ee(n){return this.__data__.has(n)}function I(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new Nn;++r<e;)this.add(n[r])}I.prototype.add=I.prototype.push=Se;I.prototype.has=Ee;function Ie(n,r){for(var e=-1,t=n==null?0:n.length;++e<t;)if(r(n[e],e,n))return!0;return!1}function En(n,r){return n.has(r)}var Pe=1,ve=2;function In(n,r,e,t,f,i){var a=e&Pe,s=n.length,u=r.length;if(s!=u&&!(a&&u>s))return!1;var c=i.get(n),l=i.get(r);if(c&&l)return c==r&&l==n;var o=-1,d=!0,h=e&ve?new I:void 0;for(i.set(n,r),i.set(r,n);++o<s;){var y=n[o],b=r[o];if(t)var p=a?t(b,y,o,r,n,i):t(y,b,o,n,r,i);if(p!==void 0){if(p)continue;d=!1;break}if(h){if(!Ie(r,function(A,O){if(!En(h,O)&&(y===A||f(y,A,e,t,i)))return h.push(O)})){d=!1;break}}else if(!(y===b||f(y,b,e,t,i))){d=!1;break}}return i.delete(n),i.delete(r),d}function Le(n){var r=-1,e=Array(n.size);return n.forEach(function(t,f){e[++r]=[f,t]}),e}function j(n){var r=-1,e=Array(n.size);return n.forEach(function(t){e[++r]=t}),e}var Re=1,xe=2,Me="[object Boolean]",me="[object Date]",Ce="[object Error]",Fe="[object Map]",De="[object Number]",Ge="[object RegExp]",Ue="[object Set]",Be="[object String]",Ne="[object Symbol]",Ke="[object ArrayBuffer]",He="[object DataView]",en=w?w.prototype:void 0,F=en?en.valueOf:void 0;function je(n,r,e,t,f,i,a){switch(e){case He:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case Ke:return!(n.byteLength!=r.byteLength||!i(new X(n),new X(r)));case Me:case me:case De:return Kn(+n,+r);case Ce:return n.name==r.name&&n.message==r.message;case Ge:case Be:return n==r+"";case Fe:var s=Le;case Ue:var u=t&Re;if(s||(s=j),n.size!=r.size&&!u)return!1;var c=a.get(n);if(c)return c==r;t|=xe,a.set(n,r);var l=In(s(n),s(r),t,f,i,a);return a.delete(n),l;case Ne:if(F)return F.call(n)==F.call(r)}return!1}var qe=1,Ye=Object.prototype,Ze=Ye.hasOwnProperty;function Xe(n,r,e,t,f,i){var a=e&qe,s=G(n),u=s.length,c=G(r),l=c.length;if(u!=l&&!a)return!1;for(var o=u;o--;){var d=s[o];if(!(a?d in r:Ze.call(r,d)))return!1}var h=i.get(n),y=i.get(r);if(h&&y)return h==r&&y==n;var b=!0;i.set(n,r),i.set(r,n);for(var p=a;++o<u;){d=s[o];var A=n[d],O=r[d];if(t)var Z=a?t(O,A,d,r,n,i):t(A,O,d,n,r,i);if(!(Z===void 0?A===O||f(A,O,e,t,i):Z)){b=!1;break}p||(p=d=="constructor")}if(b&&!p){var P=n.constructor,v=r.constructor;P!=v&&"constructor"in n&&"constructor"in r&&!(typeof P=="function"&&P instanceof P&&typeof v=="function"&&v instanceof v)&&(b=!1)}return i.delete(n),i.delete(r),b}var Je=1,tn="[object Arguments]",fn="[object Array]",L="[object Object]",Qe=Object.prototype,an=Qe.hasOwnProperty;function We(n,r,e,t,f,i){var a=T(n),s=T(r),u=a?fn:E(n),c=s?fn:E(r);u=u==tn?L:u,c=c==tn?L:c;var l=u==L,o=c==L,d=u==c;if(d&&D(n)){if(!D(r))return!1;a=!0,l=!1}if(d&&!l)return i||(i=new _),a||Hn(n)?In(n,r,e,t,f,i):je(n,r,u,e,t,f,i);if(!(e&Je)){var h=l&&an.call(n,"__wrapped__"),y=o&&an.call(r,"__wrapped__");if(h||y){var b=h?n.value():n,p=y?r.value():r;return i||(i=new _),f(b,p,e,t,i)}}return d?(i||(i=new _),Xe(n,r,e,t,f,i)):!1}function q(n,r,e,t,f){return n===r?!0:n==null||r==null||!S(n)&&!S(r)?n!==n&&r!==r:We(n,r,e,t,q,f)}var ze=1,Ve=2;function ke(n,r,e,t){var f=e.length,i=f;if(n==null)return!i;for(n=Object(n);f--;){var a=e[f];if(a[2]?a[1]!==n[a[0]]:!(a[0]in n))return!1}for(;++f<i;){a=e[f];var s=a[0],u=n[s],c=a[1];if(a[2]){if(u===void 0&&!(s in n))return!1}else{var l=new _,o;if(!(o===void 0?q(c,u,ze|Ve,t,l):o))return!1}}return!0}function Pn(n){return n===n&&!ln(n)}function nt(n){for(var r=$(n),e=r.length;e--;){var t=r[e],f=n[t];r[e]=[t,f,Pn(f)]}return r}function vn(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function rt(n){var r=nt(n);return r.length==1&&r[0][2]?vn(r[0][0],r[0][1]):function(e){return e===n||ke(e,n,r)}}function et(n,r){return n!=null&&r in Object(n)}function tt(n,r,e){r=yn(r,n);for(var t=-1,f=r.length,i=!1;++t<f;){var a=M(r[t]);if(!(i=n!=null&&e(n,a)))break;n=n[a]}return i||++t!=f?i:(f=n==null?0:n.length,!!f&&jn(f)&&qn(a,f)&&(T(n)||un(n)))}function it(n,r){return n!=null&&tt(n,r,et)}var ft=1,at=2;function st(n,r){return N(n)&&Pn(r)?vn(M(n),r):function(e){var t=sr(e,n);return t===void 0&&t===r?it(e,n):q(r,t,ft|at)}}function ut(n){return function(r){return r?.[n]}}function ot(n){return function(r){return bn(r,n)}}function gt(n){return N(n)?ut(M(n)):ot(n)}function Ln(n){return typeof n=="function"?n:n==null?dn:typeof n=="object"?T(n)?st(n[0],n[1]):rt(n):gt(n)}function lt(n,r){return n&&Yn(n,r,$)}function dt(n,r){return function(e,t){if(e==null)return e;if(!sn(e))return n(e,t);for(var f=e.length,i=-1,a=Object(e);++i<f&&t(a[i],i,a)!==!1;);return e}}var Y=dt(lt);function ct(n){return typeof n=="function"?n:dn}function $t(n,r){var e=T(n)?An:Y;return e(n,ct(r))}function pt(n,r){var e=[];return Y(n,function(t,f,i){r(t,f,i)&&e.push(t)}),e}function _t(n,r){var e=T(n)?Tn:pt;return e(n,Ln(r))}function At(n,r){return cn(r,function(e){return n[e]})}function St(n){return n==null?[]:At(n,$(n))}function Et(n){return n===void 0}function yt(n,r,e,t,f){return f(n,function(i,a,s){e=t?(t=!1,i):r(e,i,a,s)}),e}function It(n,r,e){var t=T(n)?or:yt,f=arguments.length<3;return t(n,Ln(r),e,f,Y)}var bt=1/0,Tt=m&&1/j(new m([,-0]))[1]==bt?function(n){return new m(n)}:Xn,ht=200;function Pt(n,r,e){var t=-1,f=Vn,i=n.length,a=!0,s=[],u=s;if(i>=ht){var c=r?null:Tt(n);if(c)return j(c);a=!1,f=En,u=new I}else u=r?[]:s;n:for(;++t<i;){var l=n[t],o=r?r(l):l;if(l=l!==0?l:0,a&&o===o){for(var d=u.length;d--;)if(u[d]===o)continue n;r&&u.push(o),s.push(l)}else f(u,o,e)||(u!==s&&u.push(o),s.push(l))}return s}export{Tn as A,pt as B,Ie as C,Xn as D,I as S,Pt as a,C as b,Ot as c,$t as d,B as e,_t as f,Ln as g,Jn as h,Et as i,Y as j,$ as k,cn as l,tt as m,yn as n,bn as o,ct as p,lt as q,It as r,it as s,M as t,ar as u,St as v,Vn as w,En as x,zn as y,br as z};