@band-app/server 0.18.0 → 0.19.1
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.
- package/dist/client/assets/DockviewBrowserContainer-4SeBGy5m.js +5 -0
- package/dist/client/assets/DockviewTerminalContainer-DWva1wNl.js +2 -0
- package/dist/client/assets/TerminalPanel-CEmBYkjb.js +5 -0
- package/dist/client/assets/_basePickBy-CV44VSwA.js +1 -0
- package/dist/client/assets/{_baseUniq-P2cIT3Cg.js → _baseUniq-Bqa44Er5.js} +1 -1
- package/dist/client/assets/arc-4rU3SEWf.js +1 -0
- package/dist/client/assets/{architectureDiagram-VXUJARFQ-Co2omcgc.js → architectureDiagram-VXUJARFQ-CapSrTlr.js} +1 -1
- package/dist/client/assets/{blockDiagram-VD42YOAC-CawreF4Q.js → blockDiagram-VD42YOAC-DnapbSnI.js} +5 -5
- package/dist/client/assets/{c4Diagram-YG6GDRKO-DGgImgFg.js → c4Diagram-YG6GDRKO-9mZ9PPiM.js} +1 -1
- package/dist/client/assets/channel-NIcS3uxn.js +1 -0
- package/dist/client/assets/{chunk-4BX2VUAB-CdUSDb5d.js → chunk-4BX2VUAB--rr32b4E.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-CZzsVv3f.js → chunk-55IACEB6-DfxuD1M3.js} +1 -1
- package/dist/client/assets/{chunk-B4BG7PRW-CglmZrjp.js → chunk-B4BG7PRW-CxvnNatf.js} +5 -5
- package/dist/client/assets/{chunk-DI55MBZ5-Cj2wjbCm.js → chunk-DI55MBZ5-F51NTwRL.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-BNnnH8qi.js → chunk-FMBD7UC4-S03fYfOP.js} +1 -1
- package/dist/client/assets/chunk-QN33PNHL-BQWA4OqL.js +1 -0
- package/dist/client/assets/{chunk-QZHKN3VN-DQ2f1Og9.js → chunk-QZHKN3VN-DuLFP0og.js} +1 -1
- package/dist/client/assets/{chunk-TZMSLE5B-BkXj9bDE.js → chunk-TZMSLE5B-BXGn_e4G.js} +1 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-8p3oACYV.js +1 -0
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-8p3oACYV.js +1 -0
- package/dist/client/assets/clike-B9uivgTg.js +1 -0
- package/dist/client/assets/clone-Be31g1pc.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-CWt-uxWy.js → cose-bilkent-S5V4N54A-BD5JLmQ6.js} +1 -1
- package/dist/client/assets/dagre-6UL2VRFP-jd9MqFa1.js +4 -0
- package/dist/client/assets/diagram-PSM6KHXK-Bv0WGkj7.js +24 -0
- package/dist/client/assets/{diagram-QEK2KX5R-bcjaRpQy.js → diagram-QEK2KX5R-oszH6q3s.js} +2 -2
- package/dist/client/assets/diagram-S2PKOQOG-D7rVDuLY.js +24 -0
- package/dist/client/assets/{erDiagram-Q2GNP2WA-CaMPsNqm.js → erDiagram-Q2GNP2WA-BL9gntWo.js} +4 -4
- package/dist/client/assets/{flowDiagram-NV44I4VS-DGQOeo3P.js → flowDiagram-NV44I4VS-1FCz1fgN.js} +4 -4
- package/dist/client/assets/ganttDiagram-JELNMOA3-DggjOINy.js +267 -0
- package/dist/client/assets/{gitGraphDiagram-V2S2FVAM-DCGODyFn.js → gitGraphDiagram-V2S2FVAM-uoayvKXp.js} +3 -3
- package/dist/client/assets/{graph-CfCyZ7oE.js → graph-CKeOhxc0.js} +1 -1
- package/dist/client/assets/{highlighted-body-B3W2YXNL-CxMJmJBc.js → highlighted-body-B3W2YXNL-BfaZeU0X.js} +1 -1
- package/dist/client/assets/{index-DU9qIaIU.js → index-BOdO7r_p.js} +1 -1
- package/dist/client/assets/{index-6kWpovKB.js → index-BVhi8EPL.js} +1 -1
- package/dist/client/assets/{index-DTmrp96f.js → index-BZW8u43a.js} +1 -1
- package/dist/client/assets/{index-BomE98r3.js → index-Be24TlVT.js} +1 -1
- package/dist/client/assets/{index-DLyLpX_A.js → index-BhrvrUs_.js} +1 -1
- package/dist/client/assets/{index-BPTxGmQw.js → index-BmEmzTZO.js} +1 -1
- package/dist/client/assets/{index-plMivlE6.js → index-CdwShVnF.js} +1 -1
- package/dist/client/assets/{index-BkI1MMcx.js → index-ChvBXbK8.js} +1 -1
- package/dist/client/assets/{index-DgA9NKMV.js → index-Cx9QoFI1.js} +1 -1
- package/dist/client/assets/{index-DvwEAnql.js → index-DTOEFzQN.js} +1 -1
- package/dist/client/assets/{index-BahJEMSD.js → index-Ddvrjwlp.js} +1 -1
- package/dist/client/assets/{index-DyzP8Zt_.js → index-Doe-oMI1.js} +1 -1
- package/dist/client/assets/{index-CeneentR.js → index-DsvlvI8i.js} +1 -1
- package/dist/client/assets/{index-DxSYOqNl.js → index-DtoczokG.js} +1 -1
- package/dist/client/assets/{index-DawFiDM_.js → index-SC22AP5M.js} +1 -1
- package/dist/client/assets/{index-BJC5nbeg.js → index-bY8CiPGQ.js} +1 -1
- package/dist/client/assets/{index-DL6FOBAZ.js → index-kGHlsI7U.js} +1 -1
- package/dist/client/assets/{index-CUSuiGMh.js → index-ro4XgOVe.js} +1 -1
- package/dist/client/assets/infoDiagram-HS3SLOUP-9HRNM_Iq.js +2 -0
- package/dist/client/assets/{journeyDiagram-XKPGCS4Q-DK-VcCfU.js → journeyDiagram-XKPGCS4Q-BYEjH_SV.js} +4 -4
- package/dist/client/assets/{kanban-definition-3W4ZIXB7-DqVZenrn.js → kanban-definition-3W4ZIXB7-s6ZYKbvm.js} +8 -8
- package/dist/client/assets/{layout-DBSNY4Lg.js → layout-DlcfRJkl.js} +1 -1
- package/dist/client/assets/{main-BMyWFWYN.js → main-Ct1o5WmJ.js} +386 -354
- package/dist/client/assets/main-DsoPLGrb.css +1 -0
- package/dist/client/assets/{mindmap-definition-VGOIOE7T-C0d6PFL2.js → mindmap-definition-VGOIOE7T-CDeQcF1U.js} +3 -3
- package/dist/client/assets/pieDiagram-ADFJNKIX-CWdMTKnD.js +30 -0
- package/dist/client/assets/{quadrantDiagram-AYHSOK5B-CQyKjYLy.js → quadrantDiagram-AYHSOK5B-C-Zcxmv2.js} +3 -3
- package/dist/client/assets/{requirementDiagram-UZGBJVZJ-DdSXmDi9.js → requirementDiagram-UZGBJVZJ-B3JunJUh.js} +4 -4
- package/dist/client/assets/sankeyDiagram-TZEHDZUN-BRUxMlQD.js +10 -0
- package/dist/client/assets/{sequenceDiagram-WL72ISMW-DyxawmBP.js → sequenceDiagram-WL72ISMW--nulyPWN.js} +6 -6
- package/dist/client/assets/{square-terminal-BXuSt2dW.js → square-terminal-xTmJg69x.js} +1 -1
- package/dist/client/assets/stateDiagram-FKZM4ZOC-DUZeZHou.js +1 -0
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-nq3cGsuB.js +1 -0
- package/dist/client/assets/{timeline-definition-IT6M3QCI-BN5646-s.js → timeline-definition-IT6M3QCI-DgsIAJxu.js} +4 -4
- package/dist/client/assets/{treemap-GDKQZRPO-TYUv7aqt.js → treemap-GDKQZRPO-DzbbBVNz.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId-BVuxUwhR.js → workspace._workspaceId-C2eftsxg.js} +1 -1
- package/dist/client/assets/workspace._workspaceId-CX0zbe5I.js +2 -0
- package/dist/client/assets/xychartDiagram-PRI3JC2R-B11oaEXR.js +7 -0
- package/dist/migrations/20260530114329_elite_smasher/migration.sql +22 -0
- package/dist/migrations/20260530114329_elite_smasher/snapshot.json +1091 -0
- package/dist/migrations/20260530141216_next_prowler/migration.sql +9 -0
- package/dist/migrations/20260530141216_next_prowler/snapshot.json +1167 -0
- package/dist/openapi.json +4461 -4127
- package/dist/server/assets/{DockviewBrowserContainer-BHlHNdlw.js → DockviewBrowserContainer-BcfLe0jL.js} +33 -14
- package/dist/server/assets/{DockviewTerminalContainer-B4s5M71S.js → DockviewTerminalContainer-zVckKR1x.js} +35 -20
- package/dist/server/assets/{TerminalPanel-NJ_oHfHq.js → TerminalPanel-7JfdUecD.js} +250 -143
- package/dist/server/assets/{_basePickBy-BstQwUjx.js → _basePickBy-3tZLkfZU.js} +2 -2
- package/dist/server/assets/{_baseUniq-BloU0u1p.js → _baseUniq-Dz_kdarY.js} +1 -1
- package/dist/server/assets/_tanstack-start-manifest_v-BBzH3QaA.js +4 -0
- package/dist/server/assets/{arc-D6eCV6DV.js → arc-B7a2pVpn.js} +1 -1
- package/dist/server/assets/{architecture-7HQA4BMR-CaZikjMP.js → architecture-7HQA4BMR-9XWqJEVf.js} +6 -6
- package/dist/server/assets/{architectureDiagram-VXUJARFQ-B4vqMbhE.js → architectureDiagram-VXUJARFQ-Vt3dNClh.js} +6 -6
- package/dist/server/assets/{blockDiagram-VD42YOAC-CO_-9S_E.js → blockDiagram-VD42YOAC-DR7gt_eL.js} +6 -6
- package/dist/server/assets/{c4Diagram-YG6GDRKO-CD7rCwaq.js → c4Diagram-YG6GDRKO-DYC3sqOW.js} +2 -2
- package/dist/server/assets/{channel-BMp2wZD3.js → channel-DzI1wGYl.js} +1 -1
- package/dist/server/assets/{chunk-4BX2VUAB-DepEjWoL.js → chunk-4BX2VUAB-DVHBGPAd.js} +1 -1
- package/dist/server/assets/{chunk-55IACEB6-Bi12nYoO.js → chunk-55IACEB6-BXeWT-V1.js} +1 -1
- package/dist/server/assets/{chunk-B4BG7PRW-C_aztpTA.js → chunk-B4BG7PRW-BngOdF6s.js} +4 -4
- package/dist/server/assets/{chunk-DI55MBZ5-DyEwLpXK.js → chunk-DI55MBZ5-Co1ugmE2.js} +3 -3
- package/dist/server/assets/{chunk-FMBD7UC4-BInQidDU.js → chunk-FMBD7UC4-BSvY40K1.js} +1 -1
- package/dist/server/assets/{chunk-QN33PNHL-BzMgQvmo.js → chunk-QN33PNHL-Bld2F-bV.js} +1 -1
- package/dist/server/assets/{chunk-QZHKN3VN-DyvushgJ.js → chunk-QZHKN3VN-CbcRrDQ5.js} +1 -1
- package/dist/server/assets/{chunk-TZMSLE5B-Gk23cBC5.js → chunk-TZMSLE5B-FZqT6NRx.js} +1 -1
- package/dist/server/assets/{classDiagram-v2-WZHVMYZB-C2IXOi-1.js → classDiagram-2ON5EDUG-CqTf3oAt.js} +5 -5
- package/dist/server/assets/{classDiagram-2ON5EDUG-C2IXOi-1.js → classDiagram-v2-WZHVMYZB-CqTf3oAt.js} +5 -5
- package/dist/server/assets/clike-xqXYL6ge.js +805 -0
- package/dist/server/assets/{clone-Dw9tAHpg.js → clone-DFaP-n7G.js} +1 -1
- package/dist/server/assets/{cose-bilkent-S5V4N54A-CnP5PKtl.js → cose-bilkent-S5V4N54A-Cm4DnyNk.js} +1 -1
- package/dist/server/assets/{dagre-6UL2VRFP-Hm-Wejtu.js → dagre-6UL2VRFP-DWtR7ypz.js} +6 -6
- package/dist/server/assets/{diagram-PSM6KHXK-C6URVSbQ.js → diagram-PSM6KHXK-3K0tKsmi.js} +7 -10
- package/dist/server/assets/{diagram-QEK2KX5R-D595vsyp.js → diagram-QEK2KX5R-C_GABXU2.js} +6 -6
- package/dist/server/assets/{diagram-S2PKOQOG-C69I055N.js → diagram-S2PKOQOG-x_2H2okG.js} +6 -6
- package/dist/server/assets/{erDiagram-Q2GNP2WA-DKL3OoDz.js → erDiagram-Q2GNP2WA-DYAuTF-e.js} +4 -4
- package/dist/server/assets/{flowDiagram-NV44I4VS-vb-7BBaz.js → flowDiagram-NV44I4VS-CMgKpatm.js} +5 -5
- package/dist/server/assets/{ganttDiagram-JELNMOA3-CryNIjT5.js → ganttDiagram-JELNMOA3-BqUjIeN-.js} +11 -965
- package/dist/server/assets/{gitGraph-G5XIXVHT-DizYGNvA.js → gitGraph-G5XIXVHT-BOFl30qK.js} +6 -6
- package/dist/server/assets/{gitGraphDiagram-V2S2FVAM-BrIjiO3l.js → gitGraphDiagram-V2S2FVAM-CSFtzM0S.js} +7 -7
- package/dist/server/assets/{graph-mppr1RdG.js → graph-Da9wNyd4.js} +2 -2
- package/dist/server/assets/{highlighted-body-B3W2YXNL-CTUp2Nbw.js → highlighted-body-B3W2YXNL-CSDiX8tu.js} +1 -1
- package/dist/server/assets/{index-Be6X1xir.js → index-Av31QpwJ.js} +2 -2
- package/dist/server/assets/{index-HTfoqKS_.js → index-B9YQ_ief.js} +5 -5
- package/dist/server/assets/{index-D8W-WZ8Y.js → index-BXCk5sug.js} +1 -1
- package/dist/server/assets/{index-BCNeT6hv.js → index-BZPQn4AB.js} +3 -3
- package/dist/server/assets/{index-Cb8rr1Cd.js → index-C-7KLTyL.js} +2 -2
- package/dist/server/assets/{index-B69XH0ed.js → index-CFVkYUnG.js} +2 -2
- package/dist/server/assets/{index-CVOspA2K.js → index-CFt-wi4p.js} +2 -2
- package/dist/server/assets/{index-DJTGOXyp.js → index-CS2NcwnS.js} +2 -2
- package/dist/server/assets/{index-CDaDncKA.js → index-CjJe7VSH.js} +4 -4
- package/dist/server/assets/{index-Om1fUMxJ.js → index-CqNkm5pZ.js} +2 -2
- package/dist/server/assets/{index-BIskkFyK.js → index-CrGR0Fcd.js} +2 -2
- package/dist/server/assets/{index-BQJWbe4d.js → index-D9Pfuy6s.js} +2 -2
- package/dist/server/assets/{index-DC7cATF0.js → index-DC0ng9YX.js} +2 -2
- package/dist/server/assets/{index-CNkj1XIM.js → index-DkCUbYql.js} +2 -2
- package/dist/server/assets/{index-CIHMj9rA.js → index-DwBbgNmR.js} +5 -5
- package/dist/server/assets/{index-BzMgAG0v.js → index-ZFp3vFxe.js} +3 -3
- package/dist/server/assets/{index-CbH_b9nh.js → index-iQ9auLjI.js} +2 -2
- package/dist/server/assets/{index-Dpy7oNI-.js → index-ki-c1Gyj.js} +1 -1
- package/dist/server/assets/{info-VBDWY6EO-B627l6on.js → info-VBDWY6EO-mGUaI27c.js} +6 -6
- package/dist/server/assets/{infoDiagram-HS3SLOUP-Bx-2RIP1.js → infoDiagram-HS3SLOUP-CMic1Hhh.js} +5 -5
- package/dist/server/assets/{journeyDiagram-XKPGCS4Q-COrw3Dj9.js → journeyDiagram-XKPGCS4Q-CravZq_h.js} +4 -4
- package/dist/server/assets/{kanban-definition-3W4ZIXB7-CexmIyEk.js → kanban-definition-3W4ZIXB7-Ik9j3Xny.js} +2 -2
- package/dist/server/assets/{layout-CpkjZ_rj.js → layout-DNctAx-v.js} +4 -4
- package/dist/server/assets/{mermaid-3ZIDBTTL-8k9Pr9Qn.js → mermaid-3ZIDBTTL-Bo2_mtnV.js} +1 -1
- package/dist/server/assets/{mermaid-parser.core-ueKoLtpn.js → mermaid-parser.core-oaV6PZnA.js} +11 -11
- package/dist/server/assets/{mindmap-definition-VGOIOE7T-Lf0rrgEi.js → mindmap-definition-VGOIOE7T-DNTQXwUn.js} +3 -3
- package/dist/server/assets/{packet-DYOGHKS2-Bv6REKYk.js → packet-DYOGHKS2-Bm5PEDRe.js} +6 -6
- package/dist/server/assets/{pie-VRWISCQL-DRcS7bNz.js → pie-VRWISCQL-BOs-4VKW.js} +6 -6
- package/dist/server/assets/{pieDiagram-ADFJNKIX-m0hjxyCj.js → pieDiagram-ADFJNKIX-CEDLfCSy.js} +7 -9
- package/dist/server/assets/{quadrantDiagram-AYHSOK5B-omed34Wz.js → quadrantDiagram-AYHSOK5B-CWfJcZnB.js} +1 -4
- package/dist/server/assets/{radar-ZZBFDIW7-Ba1phWAD.js → radar-ZZBFDIW7-CMUO9a2O.js} +6 -6
- package/dist/server/assets/{requirementDiagram-UZGBJVZJ-BCx5DoGU.js → requirementDiagram-UZGBJVZJ-0SINZ3cV.js} +3 -3
- package/dist/server/assets/{router-DXfwP2_o.js → router-PewB2VMR.js} +28930 -6188
- package/dist/server/assets/{sankeyDiagram-TZEHDZUN-9M4Rn44L.js → sankeyDiagram-TZEHDZUN-U0rb6LX8.js} +1 -3
- package/dist/server/assets/{sequenceDiagram-WL72ISMW-DXMFuhl3.js → sequenceDiagram-WL72ISMW-BV5_vSVf.js} +3 -3
- package/dist/server/assets/{square-terminal-CfM5f-d7.js → square-terminal-DdT3sDE4.js} +1 -1
- package/dist/server/assets/{stateDiagram-FKZM4ZOC-CY6AEWa2.js → stateDiagram-FKZM4ZOC-C3wAlRbY.js} +8 -8
- package/dist/server/assets/{stateDiagram-v2-4FDKWEC3-BNKDdzaI.js → stateDiagram-v2-4FDKWEC3-BvzsTmR_.js} +4 -4
- package/dist/server/assets/{timeline-definition-IT6M3QCI-D_io-Tfq.js → timeline-definition-IT6M3QCI-BwVTrWyj.js} +2 -2
- package/dist/server/assets/{treemap-GDKQZRPO-p84SlzEZ.js → treemap-GDKQZRPO-Bohb153V.js} +6 -6
- package/dist/server/assets/{workspace._workspaceId-CJcudFN3.js → workspace._workspaceId-BWs5oKO5.js} +16 -14
- package/dist/server/assets/{workspace._workspaceId-BnLo-dj-.js → workspace._workspaceId-DkyiAy0e.js} +1 -1
- package/dist/server/assets/{xychartDiagram-PRI3JC2R-Y3f7rM8c.js → xychartDiagram-PRI3JC2R-XlYGoU4Z.js} +9 -71
- package/dist/server/server.js +17 -14
- package/dist/start-server.mjs +33664 -29191
- package/package.json +6 -4
- package/dist/client/assets/DockviewBrowserContainer-DjUjHPic.js +0 -5
- package/dist/client/assets/DockviewTerminalContainer-Ms5Ihp7N.js +0 -2
- package/dist/client/assets/TerminalPanel-DFA3TNjT.js +0 -5
- package/dist/client/assets/_basePickBy-arnwX_WB.js +0 -1
- package/dist/client/assets/arc-CQ9imgVi.js +0 -1
- package/dist/client/assets/channel-DufC8eM3.js +0 -1
- package/dist/client/assets/chunk-QN33PNHL-CPGopyck.js +0 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-6OTp0Ijn.js +0 -1
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-6OTp0Ijn.js +0 -1
- package/dist/client/assets/clone-BnAVnjoT.js +0 -1
- package/dist/client/assets/dagre-6UL2VRFP-CjtHExws.js +0 -4
- package/dist/client/assets/defaultLocale-DX6XiGOO.js +0 -1
- package/dist/client/assets/diagram-PSM6KHXK-D63FxUPX.js +0 -24
- package/dist/client/assets/diagram-S2PKOQOG-BNgqexx6.js +0 -24
- package/dist/client/assets/ganttDiagram-JELNMOA3-BFJUVCan.js +0 -267
- package/dist/client/assets/infoDiagram-HS3SLOUP-CNf_MNW6.js +0 -2
- package/dist/client/assets/init-Gi6I4Gst.js +0 -1
- package/dist/client/assets/linear-hC1V8gzM.js +0 -1
- package/dist/client/assets/main-evBJruhw.css +0 -1
- package/dist/client/assets/ordinal-Cboi1Yqb.js +0 -1
- package/dist/client/assets/pieDiagram-ADFJNKIX-BMZI-9Ki.js +0 -30
- package/dist/client/assets/sankeyDiagram-TZEHDZUN-BslS_Swn.js +0 -10
- package/dist/client/assets/stateDiagram-FKZM4ZOC-D_5xUVRu.js +0 -1
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-DDClSQGJ.js +0 -1
- package/dist/client/assets/workspace._workspaceId-DCDakxld.js +0 -2
- package/dist/client/assets/xychartDiagram-PRI3JC2R-TNRUAqXa.js +0 -7
- package/dist/server/assets/_tanstack-start-manifest_v-DxI647M-.js +0 -4
- package/dist/server/assets/defaultLocale-B2RvLBDe.js +0 -206
- package/dist/server/assets/init-ZxktEp_H.js +0 -16
- package/dist/server/assets/linear-DhOj0qpX.js +0 -340
- package/dist/server/assets/ordinal-CxptdPJm.js +0 -76
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as reactExports, j as jsxRuntimeExports } from "../server.js";
|
|
2
|
-
import { m as createLucideIcon,
|
|
2
|
+
import { m as createLucideIcon, bX as ArrowLeft, cc as ArrowUp, cd as ArrowDown, ce as ArrowRight, X, cf as ClipboardPaste, c3 as useSettingsQuery, cg as getCurrentZoomLevel, ch as openExternalUrl, ci as subscribeToZoomChanges, cj as SearchBar, ck as ZOOM_CSS_VAR } from "./router-PewB2VMR.js";
|
|
3
3
|
import "node:async_hooks";
|
|
4
4
|
import "node:stream";
|
|
5
5
|
import "util";
|
|
@@ -10,14 +10,21 @@ import "node:stream/web";
|
|
|
10
10
|
import "node:process";
|
|
11
11
|
import "node:path";
|
|
12
12
|
import "node:url";
|
|
13
|
-
const __iconNode$
|
|
13
|
+
const __iconNode$3 = [
|
|
14
14
|
["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", ry: "1", key: "tgr4d6" }],
|
|
15
15
|
["path", { d: "M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2", key: "4jdomd" }],
|
|
16
16
|
["path", { d: "M16 4h2a2 2 0 0 1 2 2v4", key: "3hqy98" }],
|
|
17
17
|
["path", { d: "M21 14H11", key: "1bme5i" }],
|
|
18
18
|
["path", { d: "m15 10-4 4 4 4", key: "5dvupr" }]
|
|
19
19
|
];
|
|
20
|
-
const ClipboardCopy = createLucideIcon("clipboard-copy", __iconNode$
|
|
20
|
+
const ClipboardCopy = createLucideIcon("clipboard-copy", __iconNode$3);
|
|
21
|
+
const __iconNode$2 = [
|
|
22
|
+
["path", { d: "M20 4v7a4 4 0 0 1-4 4H4", key: "6o5b7l" }],
|
|
23
|
+
["path", { d: "m9 10-5 5 5 5", key: "1kshq7" }]
|
|
24
|
+
];
|
|
25
|
+
const CornerDownLeft = createLucideIcon("corner-down-left", __iconNode$2);
|
|
26
|
+
const __iconNode$1 = [["path", { d: "M22 2 2 22", key: "y4kqgn" }]];
|
|
27
|
+
const Slash = createLucideIcon("slash", __iconNode$1);
|
|
21
28
|
const __iconNode = [
|
|
22
29
|
["path", { d: "M12 20h-1a2 2 0 0 1-2-2 2 2 0 0 1-2 2H6", key: "1528k5" }],
|
|
23
30
|
["path", { d: "M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7", key: "13ksps" }],
|
|
@@ -191,6 +198,8 @@ async function readClipboardText() {
|
|
|
191
198
|
}
|
|
192
199
|
const SEQ_ESC = "\x1B";
|
|
193
200
|
const SEQ_TAB = " ";
|
|
201
|
+
const SEQ_ENTER = "\r";
|
|
202
|
+
const SEQ_SLASH = "/";
|
|
194
203
|
const SEQ_ARROW_UP = "\x1B[A";
|
|
195
204
|
const SEQ_ARROW_DOWN = "\x1B[B";
|
|
196
205
|
const SEQ_ARROW_RIGHT = "\x1B[C";
|
|
@@ -235,18 +244,18 @@ function TerminalToolbar({
|
|
|
235
244
|
const idleArrows = reactExports.useMemo(
|
|
236
245
|
() => [
|
|
237
246
|
{ Icon: ArrowLeft, seq: SEQ_ARROW_LEFT, ariaLabel: "Arrow Left" },
|
|
238
|
-
{ Icon: ArrowRight, seq: SEQ_ARROW_RIGHT, ariaLabel: "Arrow Right" },
|
|
239
247
|
{ Icon: ArrowUp, seq: SEQ_ARROW_UP, ariaLabel: "Arrow Up" },
|
|
240
|
-
{ Icon: ArrowDown, seq: SEQ_ARROW_DOWN, ariaLabel: "Arrow Down" }
|
|
248
|
+
{ Icon: ArrowDown, seq: SEQ_ARROW_DOWN, ariaLabel: "Arrow Down" },
|
|
249
|
+
{ Icon: ArrowRight, seq: SEQ_ARROW_RIGHT, ariaLabel: "Arrow Right" }
|
|
241
250
|
],
|
|
242
251
|
[]
|
|
243
252
|
);
|
|
244
253
|
const selectionArrows = reactExports.useMemo(
|
|
245
254
|
() => [
|
|
246
255
|
{ Icon: ArrowLeft, dir: "left", ariaLabel: "Extend selection left" },
|
|
247
|
-
{ Icon: ArrowRight, dir: "right", ariaLabel: "Extend selection right" },
|
|
248
256
|
{ Icon: ArrowUp, dir: "up", ariaLabel: "Extend selection up" },
|
|
249
|
-
{ Icon: ArrowDown, dir: "down", ariaLabel: "Extend selection down" }
|
|
257
|
+
{ Icon: ArrowDown, dir: "down", ariaLabel: "Extend selection down" },
|
|
258
|
+
{ Icon: ArrowRight, dir: "right", ariaLabel: "Extend selection right" }
|
|
250
259
|
],
|
|
251
260
|
[]
|
|
252
261
|
);
|
|
@@ -260,109 +269,131 @@ function TerminalToolbar({
|
|
|
260
269
|
"aria-label": selectionMode ? "Terminal selection controls" : "Terminal accessory keys",
|
|
261
270
|
style: { bottom: bottomOffset },
|
|
262
271
|
className: "fixed inset-x-0 z-50 flex justify-center border-t border-border bg-background/95 shadow-lg backdrop-blur-md",
|
|
263
|
-
children: /* @__PURE__ */ jsxRuntimeExports.
|
|
264
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
272
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex w-full max-w-3xl items-center gap-1 px-2 py-1.5", children: [
|
|
273
|
+
/* @__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: [
|
|
274
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
275
|
+
ToolbarButton,
|
|
276
|
+
{
|
|
277
|
+
ariaLabel: "Copy selection and exit",
|
|
278
|
+
title: "Copy",
|
|
279
|
+
onPointerDown: tap(handleCopyAndExit),
|
|
280
|
+
variant: "primary",
|
|
281
|
+
children: [
|
|
282
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ClipboardCopy, { className: "size-4" }),
|
|
283
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs", children: "Copy" })
|
|
284
|
+
]
|
|
285
|
+
}
|
|
286
|
+
),
|
|
287
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
288
|
+
ToolbarButton,
|
|
289
|
+
{
|
|
290
|
+
ariaLabel: "Exit selection mode",
|
|
291
|
+
title: "Done",
|
|
292
|
+
onPointerDown: tap(onExitSelection),
|
|
293
|
+
children: [
|
|
294
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(X, { className: "size-4" }),
|
|
295
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs", children: "Done" })
|
|
296
|
+
]
|
|
297
|
+
}
|
|
298
|
+
),
|
|
299
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mx-1 h-6 w-px shrink-0 bg-border", "aria-hidden": "true" }),
|
|
300
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
301
|
+
"span",
|
|
302
|
+
{
|
|
303
|
+
className: "mr-1 shrink-0 select-none text-xs font-medium uppercase tracking-wide text-muted-foreground",
|
|
304
|
+
"aria-hidden": "true",
|
|
305
|
+
children: "Extend"
|
|
306
|
+
}
|
|
307
|
+
),
|
|
308
|
+
selectionArrows.map(({ Icon, dir, ariaLabel }) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
309
|
+
ToolbarButton,
|
|
310
|
+
{
|
|
311
|
+
ariaLabel,
|
|
312
|
+
title: ariaLabel,
|
|
313
|
+
onPointerDown: tap(() => onExtendSelection(dir)),
|
|
314
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { className: "size-4" })
|
|
315
|
+
},
|
|
316
|
+
dir
|
|
317
|
+
))
|
|
318
|
+
] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
319
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
320
|
+
ToolbarButton,
|
|
321
|
+
{
|
|
322
|
+
ariaLabel: "Paste from clipboard",
|
|
323
|
+
title: "Paste",
|
|
324
|
+
onPointerDown: tap(handlePaste),
|
|
325
|
+
children: [
|
|
326
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ClipboardPaste, { className: "size-4" }),
|
|
327
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs", children: "Paste" })
|
|
328
|
+
]
|
|
329
|
+
}
|
|
330
|
+
),
|
|
331
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
332
|
+
ToolbarButton,
|
|
333
|
+
{
|
|
334
|
+
ariaLabel: "Select all",
|
|
335
|
+
title: "Select all",
|
|
336
|
+
onPointerDown: tap(onSelectAll),
|
|
337
|
+
children: [
|
|
338
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TextCursorInput, { className: "size-4" }),
|
|
339
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs", children: "All" })
|
|
340
|
+
]
|
|
341
|
+
}
|
|
342
|
+
),
|
|
343
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mx-1 h-6 w-px shrink-0 bg-border", "aria-hidden": "true" }),
|
|
344
|
+
idleKeyButtons.map(({ label, seq, ariaLabel }) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
345
|
+
ToolbarButton,
|
|
346
|
+
{
|
|
347
|
+
ariaLabel,
|
|
348
|
+
title: label,
|
|
349
|
+
onPointerDown: tap(() => sendInput(seq)),
|
|
350
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs font-medium", children: label })
|
|
351
|
+
},
|
|
352
|
+
label
|
|
353
|
+
)),
|
|
354
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
355
|
+
ToolbarButton,
|
|
356
|
+
{
|
|
357
|
+
ariaLabel: "Send slash",
|
|
358
|
+
title: "Slash command",
|
|
359
|
+
onPointerDown: tap(() => sendInput(SEQ_SLASH)),
|
|
360
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Slash, { className: "size-4" })
|
|
361
|
+
}
|
|
362
|
+
),
|
|
363
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
364
|
+
ToolbarButton,
|
|
365
|
+
{
|
|
366
|
+
ariaLabel: pendingCtrl ? "Cancel pending Ctrl" : "Arm Ctrl modifier",
|
|
367
|
+
title: "Ctrl (sticky — taps the next key as Ctrl+key)",
|
|
368
|
+
onPointerDown: tap(onToggleCtrl),
|
|
369
|
+
active: pendingCtrl,
|
|
370
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs font-medium", children: "Ctrl" })
|
|
371
|
+
}
|
|
372
|
+
),
|
|
373
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mx-1 h-6 w-px shrink-0 bg-border", "aria-hidden": "true" }),
|
|
374
|
+
idleArrows.map(({ Icon, seq, ariaLabel }) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
375
|
+
ToolbarButton,
|
|
376
|
+
{
|
|
377
|
+
ariaLabel,
|
|
378
|
+
title: ariaLabel,
|
|
379
|
+
onPointerDown: tap(() => sendInput(seq)),
|
|
380
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { className: "size-4" })
|
|
381
|
+
},
|
|
382
|
+
ariaLabel
|
|
383
|
+
))
|
|
384
|
+
] }) }),
|
|
385
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "h-6 w-px shrink-0 bg-border", "aria-hidden": "true" }),
|
|
344
386
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
345
387
|
ToolbarButton,
|
|
346
388
|
{
|
|
347
|
-
ariaLabel:
|
|
348
|
-
title: "
|
|
349
|
-
onPointerDown: tap(
|
|
350
|
-
|
|
351
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
389
|
+
ariaLabel: "Send Enter",
|
|
390
|
+
title: "Enter",
|
|
391
|
+
onPointerDown: tap(() => sendInput(SEQ_ENTER)),
|
|
392
|
+
variant: "primary",
|
|
393
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(CornerDownLeft, { className: "size-4" })
|
|
352
394
|
}
|
|
353
|
-
)
|
|
354
|
-
|
|
355
|
-
idleArrows.map(({ Icon, seq, ariaLabel }) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
356
|
-
ToolbarButton,
|
|
357
|
-
{
|
|
358
|
-
ariaLabel,
|
|
359
|
-
title: ariaLabel,
|
|
360
|
-
onPointerDown: tap(() => sendInput(seq)),
|
|
361
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { className: "size-4" })
|
|
362
|
-
},
|
|
363
|
-
ariaLabel
|
|
364
|
-
))
|
|
365
|
-
] }) })
|
|
395
|
+
)
|
|
396
|
+
] })
|
|
366
397
|
}
|
|
367
398
|
);
|
|
368
399
|
}
|
|
@@ -774,50 +805,120 @@ function TerminalPanel({
|
|
|
774
805
|
containerEl.addEventListener("touchend", onTapEnd, { passive: true });
|
|
775
806
|
containerEl.addEventListener("touchcancel", onTapCancel, { passive: true });
|
|
776
807
|
const proto = location.protocol === "https:" ? "wss:" : "ws:";
|
|
777
|
-
const
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
808
|
+
const wsUrl = `${proto}//${location.host}/terminal?workspaceId=${encodeURIComponent(workspaceId)}&terminalId=${encodeURIComponent(terminalId)}`;
|
|
809
|
+
const HEARTBEAT_INTERVAL_MS = 1e4;
|
|
810
|
+
const HEARTBEAT_TIMEOUT_MS = 2e4;
|
|
811
|
+
const RECONNECT_BASE_MS = 500;
|
|
812
|
+
const RECONNECT_MAX_MS = 1e4;
|
|
813
|
+
let intentionalClose = false;
|
|
814
|
+
let didConnectOnce = false;
|
|
815
|
+
let reconnectAttempts = 0;
|
|
816
|
+
let reconnectTimer = null;
|
|
817
|
+
let heartbeatTimer = null;
|
|
818
|
+
let lastPongAt = 0;
|
|
819
|
+
const clearReconnectTimer = () => {
|
|
820
|
+
if (reconnectTimer !== null) {
|
|
821
|
+
clearTimeout(reconnectTimer);
|
|
822
|
+
reconnectTimer = null;
|
|
789
823
|
}
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
rows: terminal.rows
|
|
796
|
-
})
|
|
797
|
-
);
|
|
798
|
-
if (autoFocus) {
|
|
799
|
-
terminal.focus();
|
|
824
|
+
};
|
|
825
|
+
const stopHeartbeat = () => {
|
|
826
|
+
if (heartbeatTimer !== null) {
|
|
827
|
+
clearInterval(heartbeatTimer);
|
|
828
|
+
heartbeatTimer = null;
|
|
800
829
|
}
|
|
801
830
|
};
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
831
|
+
const probeConnection = () => {
|
|
832
|
+
const ws = wsRef.current;
|
|
833
|
+
if (!ws || ws.readyState !== WebSocket.OPEN) return;
|
|
834
|
+
if (Date.now() - lastPongAt > HEARTBEAT_TIMEOUT_MS) {
|
|
835
|
+
ws.close();
|
|
836
|
+
return;
|
|
837
|
+
}
|
|
838
|
+
try {
|
|
839
|
+
ws.send(JSON.stringify({ type: "ping" }));
|
|
840
|
+
} catch {
|
|
841
|
+
ws.close();
|
|
842
|
+
}
|
|
843
|
+
};
|
|
844
|
+
const scheduleReconnect = () => {
|
|
845
|
+
if (intentionalClose || reconnectTimer !== null) return;
|
|
846
|
+
const delay = Math.min(RECONNECT_BASE_MS * 2 ** reconnectAttempts, RECONNECT_MAX_MS);
|
|
847
|
+
if (delay < RECONNECT_MAX_MS) reconnectAttempts += 1;
|
|
848
|
+
reconnectTimer = setTimeout(() => {
|
|
849
|
+
reconnectTimer = null;
|
|
850
|
+
connect();
|
|
851
|
+
}, delay);
|
|
852
|
+
};
|
|
853
|
+
function connect() {
|
|
854
|
+
if (intentionalClose) return;
|
|
855
|
+
clearReconnectTimer();
|
|
856
|
+
const isReconnect = didConnectOnce;
|
|
857
|
+
const ws = new WebSocket(wsUrl);
|
|
858
|
+
wsRef.current = ws;
|
|
859
|
+
ws.binaryType = "arraybuffer";
|
|
860
|
+
ws.onopen = () => {
|
|
861
|
+
reconnectAttempts = 0;
|
|
862
|
+
lastPongAt = Date.now();
|
|
863
|
+
if (isReconnect) terminal.reset();
|
|
864
|
+
if (!didConnectOnce && paneMetadata && (paneMetadata.command || paneMetadata.cwd || paneMetadata.env)) {
|
|
865
|
+
const initMsg = { type: "init" };
|
|
866
|
+
if (paneMetadata.command) initMsg.command = paneMetadata.command;
|
|
867
|
+
if (paneMetadata.cwd) initMsg.cwd = paneMetadata.cwd;
|
|
868
|
+
if (paneMetadata.env) initMsg.env = paneMetadata.env;
|
|
869
|
+
ws.send(JSON.stringify(initMsg));
|
|
870
|
+
}
|
|
871
|
+
didConnectOnce = true;
|
|
872
|
+
fitAddon.fit();
|
|
873
|
+
ws.send(JSON.stringify({ type: "resize", cols: terminal.cols, rows: terminal.rows }));
|
|
874
|
+
if (autoFocus && !isReconnect) terminal.focus();
|
|
875
|
+
stopHeartbeat();
|
|
876
|
+
heartbeatTimer = setInterval(probeConnection, HEARTBEAT_INTERVAL_MS);
|
|
877
|
+
};
|
|
878
|
+
ws.onmessage = (event) => {
|
|
879
|
+
if (event.data instanceof ArrayBuffer) {
|
|
880
|
+
terminal.write(new Uint8Array(event.data));
|
|
881
|
+
} else {
|
|
882
|
+
try {
|
|
883
|
+
const msg = JSON.parse(event.data);
|
|
884
|
+
if (msg.type === "pong") {
|
|
885
|
+
lastPongAt = Date.now();
|
|
886
|
+
} else if (msg.type === "title" && typeof msg.title === "string") {
|
|
887
|
+
onTitleChangeRef.current?.(msg.title);
|
|
888
|
+
}
|
|
889
|
+
} catch {
|
|
890
|
+
terminal.write(event.data);
|
|
810
891
|
}
|
|
811
|
-
} catch {
|
|
812
|
-
terminal.write(event.data);
|
|
813
892
|
}
|
|
893
|
+
};
|
|
894
|
+
ws.onclose = () => {
|
|
895
|
+
if (wsRef.current !== ws) return;
|
|
896
|
+
stopHeartbeat();
|
|
897
|
+
if (intentionalClose) return;
|
|
898
|
+
terminal.write("\r\n\x1B[90m[Reconnecting…]\x1B[0m\r\n");
|
|
899
|
+
scheduleReconnect();
|
|
900
|
+
};
|
|
901
|
+
}
|
|
902
|
+
const handleResume = () => {
|
|
903
|
+
if (intentionalClose) return;
|
|
904
|
+
const ws = wsRef.current;
|
|
905
|
+
if (!ws || ws.readyState === WebSocket.CLOSED || ws.readyState === WebSocket.CLOSING) {
|
|
906
|
+
reconnectAttempts = 0;
|
|
907
|
+
clearReconnectTimer();
|
|
908
|
+
connect();
|
|
909
|
+
} else if (ws.readyState === WebSocket.OPEN) {
|
|
910
|
+
probeConnection();
|
|
814
911
|
}
|
|
815
912
|
};
|
|
816
|
-
|
|
817
|
-
|
|
913
|
+
const handleVisibility = () => {
|
|
914
|
+
if (!document.hidden) handleResume();
|
|
818
915
|
};
|
|
916
|
+
window.addEventListener("online", handleResume);
|
|
917
|
+
document.addEventListener("visibilitychange", handleVisibility);
|
|
918
|
+
connect();
|
|
819
919
|
terminal.onData((data) => {
|
|
820
|
-
|
|
920
|
+
const ws = wsRef.current;
|
|
921
|
+
if (ws && ws.readyState === WebSocket.OPEN) {
|
|
821
922
|
ws.send(data);
|
|
822
923
|
}
|
|
823
924
|
});
|
|
@@ -838,7 +939,8 @@ function TerminalPanel({
|
|
|
838
939
|
const selectionResizeDisposable = terminal.onResize(reapplySelectionOnNextFrame);
|
|
839
940
|
let lastDpr = window.devicePixelRatio;
|
|
840
941
|
const sendPtyResize = () => {
|
|
841
|
-
|
|
942
|
+
const ws = wsRef.current;
|
|
943
|
+
if (!ws || ws.readyState !== WebSocket.OPEN) return;
|
|
842
944
|
if (terminal.cols <= 0 || terminal.rows <= 0) return;
|
|
843
945
|
ws.send(
|
|
844
946
|
JSON.stringify({
|
|
@@ -903,6 +1005,11 @@ function TerminalPanel({
|
|
|
903
1005
|
};
|
|
904
1006
|
bindDprListener();
|
|
905
1007
|
cleanup = () => {
|
|
1008
|
+
intentionalClose = true;
|
|
1009
|
+
clearReconnectTimer();
|
|
1010
|
+
stopHeartbeat();
|
|
1011
|
+
window.removeEventListener("online", handleResume);
|
|
1012
|
+
document.removeEventListener("visibilitychange", handleVisibility);
|
|
906
1013
|
themeObserver.disconnect();
|
|
907
1014
|
resizeObserver.disconnect();
|
|
908
1015
|
searchResultsDisposable.dispose();
|
|
@@ -923,7 +1030,7 @@ function TerminalPanel({
|
|
|
923
1030
|
containerEl.removeEventListener("touchstart", onTapStart);
|
|
924
1031
|
containerEl.removeEventListener("touchend", onTapEnd);
|
|
925
1032
|
containerEl.removeEventListener("touchcancel", onTapCancel);
|
|
926
|
-
|
|
1033
|
+
wsRef.current?.close();
|
|
927
1034
|
terminal.dispose();
|
|
928
1035
|
terminalRef.current = null;
|
|
929
1036
|
fitAddonRef.current = null;
|
|
@@ -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-
|
|
2
|
-
import {
|
|
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-Dz_kdarY.js";
|
|
2
|
+
import { c_ as isObject, bv as baseRest, c$ as isIterateeCall, d0 as keysIn, d1 as eq, d2 as isArrayLike, d3 as isArray, d4 as identity, d5 as isIndex, d6 as assignValue } from "./router-PewB2VMR.js";
|
|
3
3
|
var reWhitespace = /\s/;
|
|
4
4
|
function trimmedEndIndex(string) {
|
|
5
5
|
var index = string.length;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { dg as isObjectLike, dh as baseGetTag, d3 as isArray, di as Symbol$1, d2 as isArrayLike, dj as arrayLikeKeys, dk as baseKeys, dl as memoize, dm as isArguments, dn as copyObject, d0 as keysIn, dp as getPrototype, dq as cloneArrayBuffer, dr as cloneTypedArray, ds as getTag, de as baseUnary, dt as nodeUtil, c_ as isObject, du as copyArray, dv as isBuffer, dw as cloneBuffer, dx as initCloneObject, dy as Stack, d6 as assignValue, dz as MapCache, d1 as eq, dA as Uint8Array, dB as isTypedArray, dC as isLength, d5 as isIndex, d4 as identity, dc as baseFor, dD as Set } from "./router-PewB2VMR.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-Ct1o5WmJ.js"], "assets": [{ "tag": "link", "attrs": { "rel": "stylesheet", "href": "/assets/main-DsoPLGrb.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-DsoPLGrb.css", "type": "text/css" } }], "preloads": ["/assets/index-Cx9QoFI1.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-DsoPLGrb.css", "type": "text/css" } }], "preloads": ["/assets/workspace._workspaceId-CX0zbe5I.js", "/assets/square-terminal-xTmJg69x.js"] } }, "clientEntry": "/assets/main-Ct1o5WmJ.js" });
|
|
2
|
+
export {
|
|
3
|
+
tsrStartManifest
|
|
4
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
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-PewB2VMR.js";
|
|
2
2
|
function arcInnerRadius(d) {
|
|
3
3
|
return d.innerRadius;
|
|
4
4
|
}
|
package/dist/server/assets/{architecture-7HQA4BMR-CaZikjMP.js → architecture-7HQA4BMR-9XWqJEVf.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { e as createArchitectureServices } from "./mermaid-parser.core-
|
|
2
|
-
import { A } from "./mermaid-parser.core-
|
|
3
|
-
import "./router-
|
|
1
|
+
import { e as createArchitectureServices } from "./mermaid-parser.core-oaV6PZnA.js";
|
|
2
|
+
import { A } from "./mermaid-parser.core-oaV6PZnA.js";
|
|
3
|
+
import "./router-PewB2VMR.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-
|
|
16
|
-
import "./_basePickBy-
|
|
17
|
-
import "./clone-
|
|
15
|
+
import "./_baseUniq-Dz_kdarY.js";
|
|
16
|
+
import "./_basePickBy-3tZLkfZU.js";
|
|
17
|
+
import "./clone-DFaP-n7G.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,
|
|
3
|
-
import { p as populateCommonDb } from "./chunk-4BX2VUAB-
|
|
4
|
-
import { p as parse } from "./mermaid-parser.core-
|
|
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, c9 as getIconSVG, a0 as sanitizeText, V as select, af as getEdgeId, ca as registerIconPacks, cb as unknownIcon } from "./router-PewB2VMR.js";
|
|
3
|
+
import { p as populateCommonDb } from "./chunk-4BX2VUAB-DVHBGPAd.js";
|
|
4
|
+
import { p as parse } from "./mermaid-parser.core-oaV6PZnA.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-
|
|
11
|
-
import "./_basePickBy-
|
|
12
|
-
import "./clone-
|
|
10
|
+
import "./_baseUniq-Dz_kdarY.js";
|
|
11
|
+
import "./_basePickBy-3tZLkfZU.js";
|
|
12
|
+
import "./clone-DFaP-n7G.js";
|
|
13
13
|
import "util";
|
|
14
14
|
import "path";
|
|
15
15
|
import "os";
|
package/dist/server/assets/{blockDiagram-VD42YOAC-CO_-9S_E.js → blockDiagram-VD42YOAC-DR7gt_eL.js}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { g as getIconStyles } from "./chunk-FMBD7UC4-
|
|
2
|
-
import { _ as __name,
|
|
3
|
-
import { c as clone } from "./clone-
|
|
4
|
-
import { G as Graph } from "./graph-
|
|
5
|
-
import { c as channel } from "./channel-
|
|
1
|
+
import { g as getIconStyles } from "./chunk-FMBD7UC4-BSvY40K1.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-PewB2VMR.js";
|
|
3
|
+
import { c as clone } from "./clone-DFaP-n7G.js";
|
|
4
|
+
import { G as Graph } from "./graph-Da9wNyd4.js";
|
|
5
|
+
import { c as channel } from "./channel-DzI1wGYl.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-
|
|
17
|
+
import "./_baseUniq-Dz_kdarY.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) ;
|
package/dist/server/assets/{c4Diagram-YG6GDRKO-CD7rCwaq.js → c4Diagram-YG6GDRKO-DYC3sqOW.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var _a, _b;
|
|
2
|
-
import { g as getNoteRect, d as drawRect } from "./chunk-TZMSLE5B-
|
|
3
|
-
import {
|
|
2
|
+
import { g as getNoteRect, d as drawRect } from "./chunk-TZMSLE5B-FZqT6NRx.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-PewB2VMR.js";
|
|
4
4
|
import "../server.js";
|
|
5
5
|
import "node:async_hooks";
|
|
6
6
|
import "node:stream";
|