termdock 1.4.234 → 1.4.236
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/{App-3pt5-ilC.js → App-zSykqDrK.js} +3 -3
- package/dist/client/assets/App-zSykqDrK.js.br +0 -0
- package/dist/client/assets/App-zSykqDrK.js.gz +0 -0
- package/dist/client/assets/{ChangeWalkthroughPanel-BV8mOdXi.js → ChangeWalkthroughPanel-Bhk5u4ei.js} +1 -1
- package/dist/client/assets/ChangeWalkthroughPanel-Bhk5u4ei.js.br +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-Bhk5u4ei.js.gz +0 -0
- package/dist/client/assets/{DagPlayground-gJS2zbWl.js → DagPlayground-9DE-yoRV.js} +1 -1
- package/dist/client/assets/DagPlayground-9DE-yoRV.js.br +0 -0
- package/dist/client/assets/DagPlayground-9DE-yoRV.js.gz +0 -0
- package/dist/client/assets/{DiffLab-DW2zymWD.js → DiffLab-CjyMoL77.js} +1 -1
- package/dist/client/assets/DiffLab-CjyMoL77.js.br +0 -0
- package/dist/client/assets/DiffLab-CjyMoL77.js.gz +0 -0
- package/dist/client/assets/{DiffReview-9KJ9EdtF.js → DiffReview-kSV-dlGf.js} +1 -1
- package/dist/client/assets/DiffReview-kSV-dlGf.js.br +0 -0
- package/dist/client/assets/DiffReview-kSV-dlGf.js.gz +0 -0
- package/dist/client/assets/{DiffReviewLab-C1jzKsUR.js → DiffReviewLab-DL8o3FzO.js} +1 -1
- package/dist/client/assets/DiffReviewLab-DL8o3FzO.js.br +0 -0
- package/dist/client/assets/DiffReviewLab-DL8o3FzO.js.gz +0 -0
- package/dist/client/assets/{DiffViewer-QEeO1VeZ.js → DiffViewer-8lX1Yp21.js} +1 -1
- package/dist/client/assets/DiffViewer-8lX1Yp21.js.br +0 -0
- package/dist/client/assets/DiffViewer-8lX1Yp21.js.gz +0 -0
- package/dist/client/assets/{ModelPreview-CWgs8gwV.js → ModelPreview-Di9v8eC8.js} +1 -1
- package/dist/client/assets/ModelPreview-Di9v8eC8.js.br +0 -0
- package/dist/client/assets/ModelPreview-Di9v8eC8.js.gz +0 -0
- package/dist/client/assets/{RightSidebar-D4iQycSs.js → RightSidebar-C4BW2Wwm.js} +4 -4
- package/dist/client/assets/RightSidebar-C4BW2Wwm.js.br +0 -0
- package/dist/client/assets/RightSidebar-C4BW2Wwm.js.gz +0 -0
- package/dist/client/assets/{abnfDiagram-VCTEODGH-C68PyHq_.js → abnfDiagram-VCTEODGH-hlnPn1XS.js} +1 -1
- package/dist/client/assets/abnfDiagram-VCTEODGH-hlnPn1XS.js.br +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-hlnPn1XS.js.gz +0 -0
- package/dist/client/assets/app-CSIciOPl.js +35 -0
- package/dist/client/assets/app-CSIciOPl.js.br +0 -0
- package/dist/client/assets/app-CSIciOPl.js.gz +0 -0
- package/dist/client/assets/{arc-BFWEvChC.js → arc-DRWaGXMR.js} +1 -1
- package/dist/client/assets/arc-DRWaGXMR.js.br +0 -0
- package/dist/client/assets/arc-DRWaGXMR.js.gz +0 -0
- package/dist/client/assets/{architectureDiagram-5GKGNRK7-CW9uKAFu.js → architectureDiagram-5GKGNRK7-CGgjTR71.js} +1 -1
- package/dist/client/assets/architectureDiagram-5GKGNRK7-CGgjTR71.js.br +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-CGgjTR71.js.gz +0 -0
- package/dist/client/assets/{blockDiagram-I7D4REHJ-C7Toh4ra.js → blockDiagram-I7D4REHJ-CoSXp3bo.js} +1 -1
- package/dist/client/assets/blockDiagram-I7D4REHJ-CoSXp3bo.js.br +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-CoSXp3bo.js.gz +0 -0
- package/dist/client/assets/{c4Diagram-7LVT6UL2-C0qVAmVY.js → c4Diagram-7LVT6UL2-T24R2Qbf.js} +1 -1
- package/dist/client/assets/c4Diagram-7LVT6UL2-T24R2Qbf.js.br +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-T24R2Qbf.js.gz +0 -0
- package/dist/client/assets/channel-3gIaLXRE.js +1 -0
- package/dist/client/assets/{chunk-2Q5K7J3B-C6Nq29YU.js → chunk-2Q5K7J3B--LXR3vbd.js} +1 -1
- package/dist/client/assets/{chunk-5VM5RSS4-CtbqynTp.js → chunk-5VM5RSS4-CCATC1Bu.js} +1 -1
- package/dist/client/assets/{chunk-F27PBJKO-BpeUMCig.js → chunk-F27PBJKO-BZcc7Ic4.js} +1 -1
- package/dist/client/assets/chunk-F27PBJKO-BZcc7Ic4.js.br +0 -0
- package/dist/client/assets/chunk-F27PBJKO-BZcc7Ic4.js.gz +0 -0
- package/dist/client/assets/{chunk-IMKFNOWR-CrP5u-oM.js → chunk-IMKFNOWR-CwEcJlSi.js} +1 -1
- package/dist/client/assets/chunk-IMKFNOWR-CwEcJlSi.js.br +0 -0
- package/dist/client/assets/{chunk-IMKFNOWR-CrP5u-oM.js.gz → chunk-IMKFNOWR-CwEcJlSi.js.gz} +0 -0
- package/dist/client/assets/{chunk-JWPE2WC7-BKyQo8Ez.js → chunk-JWPE2WC7-BgzA4uHj.js} +1 -1
- package/dist/client/assets/{chunk-POPQ4Y6H-C-rOKTS_.js → chunk-POPQ4Y6H-BS7G7nLt.js} +1 -1
- package/dist/client/assets/{chunk-SVP7TREG-D_el56_y.js → chunk-SVP7TREG-MyWxRYxW.js} +1 -1
- package/dist/client/assets/chunk-SVP7TREG-MyWxRYxW.js.br +0 -0
- package/dist/client/assets/chunk-SVP7TREG-MyWxRYxW.js.gz +0 -0
- package/dist/client/assets/{chunk-TICWLB2K-BW4G8nfd.js → chunk-TICWLB2K-By-otV7X.js} +1 -1
- package/dist/client/assets/chunk-TICWLB2K-By-otV7X.js.br +0 -0
- package/dist/client/assets/chunk-TICWLB2K-By-otV7X.js.gz +0 -0
- package/dist/client/assets/{chunk-XXDRQBXY-Bp0To9IO.js → chunk-XXDRQBXY-dFHhSKLr.js} +1 -1
- package/dist/client/assets/classDiagram-ZZMXUADV-BZRR_eIG.js +1 -0
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-BZRR_eIG.js +1 -0
- package/dist/client/assets/{cose-bilkent-JH36ORCC-BZopJ5Vk.js → cose-bilkent-JH36ORCC-S4CHO_jm.js} +1 -1
- package/dist/client/assets/cose-bilkent-JH36ORCC-S4CHO_jm.js.br +0 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-S4CHO_jm.js.gz +0 -0
- package/dist/client/assets/{cynefin-OW5HDTMX-DodGcb-y.js → cynefin-OW5HDTMX-D-Tdm--u.js} +1 -1
- package/dist/client/assets/cynefin-OW5HDTMX-D-Tdm--u.js.br +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-D-Tdm--u.js.gz +0 -0
- package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-BrfmChC2.js → cynefinDiagram-5FMLGOSQ-FSHeEj_r.js} +1 -1
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-FSHeEj_r.js.br +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-FSHeEj_r.js.gz +0 -0
- package/dist/client/assets/{dagre-GXQ25YYZ-DDaQVt3_.js → dagre-GXQ25YYZ-BdeaoJ-E.js} +1 -1
- package/dist/client/assets/dagre-GXQ25YYZ-BdeaoJ-E.js.br +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-BdeaoJ-E.js.gz +0 -0
- package/dist/client/assets/{diagram-S7CK7UJ4-BdTpDUnW.js → diagram-S7CK7UJ4-BmneUVZf.js} +1 -1
- package/dist/client/assets/diagram-S7CK7UJ4-BmneUVZf.js.br +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-BmneUVZf.js.gz +0 -0
- package/dist/client/assets/{diagram-UQ7AKVKN-DCrCcCSc.js → diagram-UQ7AKVKN-SsDlu1y-.js} +1 -1
- package/dist/client/assets/diagram-UQ7AKVKN-SsDlu1y-.js.br +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-SsDlu1y-.js.gz +0 -0
- package/dist/client/assets/{diagram-VSXAHHWV-CsF1Qn8l.js → diagram-VSXAHHWV-D8x3I59I.js} +1 -1
- package/dist/client/assets/diagram-VSXAHHWV-D8x3I59I.js.br +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-D8x3I59I.js.gz +0 -0
- package/dist/client/assets/{diagram-VX7I27RA-BjGnkc9i.js → diagram-VX7I27RA-Cxdgnfbh.js} +1 -1
- package/dist/client/assets/diagram-VX7I27RA-Cxdgnfbh.js.br +0 -0
- package/dist/client/assets/diagram-VX7I27RA-Cxdgnfbh.js.gz +0 -0
- package/dist/client/assets/{diagram-Z3DM3KII-DwYFrSyB.js → diagram-Z3DM3KII-Bn-Md8Cr.js} +1 -1
- package/dist/client/assets/diagram-Z3DM3KII-Bn-Md8Cr.js.br +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-Bn-Md8Cr.js.gz +0 -0
- package/dist/client/assets/{ebnfDiagram-PWID7BFC-DL_jC7vl.js → ebnfDiagram-PWID7BFC-C3FeaeR-.js} +1 -1
- package/dist/client/assets/ebnfDiagram-PWID7BFC-C3FeaeR-.js.br +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-C3FeaeR-.js.gz +0 -0
- package/dist/client/assets/{erDiagram-RLTQ6QDP-BJRsIcZN.js → erDiagram-RLTQ6QDP-Dkl931on.js} +1 -1
- package/dist/client/assets/erDiagram-RLTQ6QDP-Dkl931on.js.br +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-Dkl931on.js.gz +0 -0
- package/dist/client/assets/{flowDiagram-HODETNUW-DtVbuyGA.js → flowDiagram-HODETNUW-DJHNp3k9.js} +1 -1
- package/dist/client/assets/flowDiagram-HODETNUW-DJHNp3k9.js.br +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-DJHNp3k9.js.gz +0 -0
- package/dist/client/assets/{ganttDiagram-EL5Y4UJY-Cz8ZjyFr.js → ganttDiagram-EL5Y4UJY-DaY1g-nz.js} +1 -1
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-DaY1g-nz.js.br +0 -0
- package/dist/client/assets/{ganttDiagram-EL5Y4UJY-Cz8ZjyFr.js.gz → ganttDiagram-EL5Y4UJY-DaY1g-nz.js.gz} +0 -0
- package/dist/client/assets/{gestureArbiter-CYnutT7u.js → gestureArbiter-4U4PoLbc.js} +1 -1
- package/dist/client/assets/gestureArbiter-4U4PoLbc.js.br +0 -0
- package/dist/client/assets/gestureArbiter-4U4PoLbc.js.gz +0 -0
- package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-CW73vifz.js → gitGraphDiagram-WWUBYQGX--yhLbQDf.js} +1 -1
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX--yhLbQDf.js.br +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX--yhLbQDf.js.gz +0 -0
- package/dist/client/assets/{infoDiagram-27XIBGKW-DCaqT0R9.js → infoDiagram-27XIBGKW-Cx-8WBsL.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-5VMMS53U-DEloHV3_.js → ishikawaDiagram-5VMMS53U-BXGub2Wj.js} +1 -1
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-BXGub2Wj.js.br +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-BXGub2Wj.js.gz +0 -0
- package/dist/client/assets/{journeyDiagram-3NMN7TZE-BJ5Ymi6P.js → journeyDiagram-3NMN7TZE-DXFRBC7a.js} +1 -1
- package/dist/client/assets/journeyDiagram-3NMN7TZE-DXFRBC7a.js.br +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-DXFRBC7a.js.gz +0 -0
- package/dist/client/assets/{kanban-definition-UXKFOSKX-BA1Md7zM.js → kanban-definition-UXKFOSKX-D5DbjYN0.js} +1 -1
- package/dist/client/assets/kanban-definition-UXKFOSKX-D5DbjYN0.js.br +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-D5DbjYN0.js.gz +0 -0
- package/dist/client/assets/{layout-BLPB7zap.js → layout-v1om_wqK.js} +1 -1
- package/dist/client/assets/layout-v1om_wqK.js.br +0 -0
- package/dist/client/assets/layout-v1om_wqK.js.gz +0 -0
- package/dist/client/assets/{linear-DQnd3pCW.js → linear-B0oeh-Ux.js} +1 -1
- package/dist/client/assets/{linear-DQnd3pCW.js.br → linear-B0oeh-Ux.js.br} +0 -0
- package/dist/client/assets/linear-B0oeh-Ux.js.gz +0 -0
- package/dist/client/assets/{mermaid.core-CC0si1rU.js → mermaid.core-Dd5NfkiJ.js} +5 -5
- package/dist/client/assets/mermaid.core-Dd5NfkiJ.js.br +0 -0
- package/dist/client/assets/mermaid.core-Dd5NfkiJ.js.gz +0 -0
- package/dist/client/assets/{mindmap-definition-YA3MSWOX-xj-LqgQH.js → mindmap-definition-YA3MSWOX-aItop2_3.js} +1 -1
- package/dist/client/assets/mindmap-definition-YA3MSWOX-aItop2_3.js.br +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-aItop2_3.js.gz +0 -0
- package/dist/client/assets/{passwordBootstrap-WkTOy597.js → passwordBootstrap-CkZxpps_.js} +1 -1
- package/dist/client/assets/passwordBootstrap-CkZxpps_.js.br +0 -0
- package/dist/client/assets/passwordBootstrap-CkZxpps_.js.gz +0 -0
- package/dist/client/assets/{pegDiagram-XKGWAZYB-C_tvk3BX.js → pegDiagram-XKGWAZYB-io_H-_O0.js} +1 -1
- package/dist/client/assets/pegDiagram-XKGWAZYB-io_H-_O0.js.br +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-io_H-_O0.js.gz +0 -0
- package/dist/client/assets/{pieDiagram-E7YTZNPT-DavzgCyE.js → pieDiagram-E7YTZNPT-DW51U3Vc.js} +1 -1
- package/dist/client/assets/pieDiagram-E7YTZNPT-DW51U3Vc.js.br +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-DW51U3Vc.js.gz +0 -0
- package/dist/client/assets/{quadrantDiagram-AXDQQJYC-OQcqoEdY.js → quadrantDiagram-AXDQQJYC-Bb7_7BbB.js} +1 -1
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-Bb7_7BbB.js.br +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-Bb7_7BbB.js.gz +0 -0
- package/dist/client/assets/{railroadDiagram-O6MQD6OU-CKbyYF7J.js → railroadDiagram-O6MQD6OU-Cch7xSel.js} +1 -1
- package/dist/client/assets/railroadDiagram-O6MQD6OU-Cch7xSel.js.br +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-Cch7xSel.js.gz +0 -0
- package/dist/client/assets/{referenceLongPress-B7xcIddc.js → referenceLongPress-EA0xcUM0.js} +1 -1
- package/dist/client/assets/referenceLongPress-EA0xcUM0.js.br +0 -0
- package/dist/client/assets/referenceLongPress-EA0xcUM0.js.gz +0 -0
- package/dist/client/assets/{requirementDiagram-BXWQKSXE-C8jPUps0.js → requirementDiagram-BXWQKSXE-VF-s2PGq.js} +1 -1
- package/dist/client/assets/requirementDiagram-BXWQKSXE-VF-s2PGq.js.br +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-VF-s2PGq.js.gz +0 -0
- package/dist/client/assets/{sankeyDiagram-P5KCCOFB-B1XbZMfI.js → sankeyDiagram-P5KCCOFB-DgyDYPKU.js} +1 -1
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-DgyDYPKU.js.br +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-DgyDYPKU.js.gz +0 -0
- package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-TKmv1K4M.js → sequenceDiagram-WJ2MYXX4-tcxB1wCN.js} +1 -1
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-tcxB1wCN.js.br +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-tcxB1wCN.js.gz +0 -0
- package/dist/client/assets/{sizeCapture-INFHLROL-Ca_kB42l.js → sizeCapture-INFHLROL-4D8RAV4f.js} +1 -1
- package/dist/client/assets/sizeCapture-INFHLROL-4D8RAV4f.js.br +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-4D8RAV4f.js.gz +0 -0
- package/dist/client/assets/{sparkles-UE5-cQCr.js → sparkles-C_kAT_YI.js} +1 -1
- package/dist/client/assets/{stateDiagram-D77RDMKH-dvSeMJMI.js → stateDiagram-D77RDMKH-C5AtNVsT.js} +1 -1
- package/dist/client/assets/stateDiagram-D77RDMKH-C5AtNVsT.js.br +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-C5AtNVsT.js.gz +0 -0
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-BTojZbKH.js +1 -0
- package/dist/client/assets/{swimlanes-42K2YHIH-Csz9F-Em.js → swimlanes-42K2YHIH-jeWNfuDW.js} +1 -1
- package/dist/client/assets/swimlanes-42K2YHIH-jeWNfuDW.js.br +0 -0
- package/dist/client/assets/swimlanes-42K2YHIH-jeWNfuDW.js.gz +0 -0
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DAkPyl3g.js +8 -0
- package/dist/client/assets/{timeline-definition-24CTP7MA-D_ixo9p2.js → timeline-definition-24CTP7MA--h_HSNFo.js} +1 -1
- package/dist/client/assets/timeline-definition-24CTP7MA--h_HSNFo.js.br +0 -0
- package/dist/client/assets/timeline-definition-24CTP7MA--h_HSNFo.js.gz +0 -0
- package/dist/client/assets/{triangle-alert-C9EZlPNN.js → triangle-alert-BoF7CWrV.js} +1 -1
- package/dist/client/assets/{vennDiagram-4TSXK5OY-Bt3wQ7L4.js → vennDiagram-4TSXK5OY-DtCIS7M_.js} +1 -1
- package/dist/client/assets/{vennDiagram-4TSXK5OY-Bt3wQ7L4.js.br → vennDiagram-4TSXK5OY-DtCIS7M_.js.br} +0 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-DtCIS7M_.js.gz +0 -0
- package/dist/client/assets/{wardleyDiagram-VM6X3IG4-D-5G4QL_.js → wardleyDiagram-VM6X3IG4-wWbcTCgW.js} +1 -1
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-wWbcTCgW.js.br +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-wWbcTCgW.js.gz +0 -0
- package/dist/client/assets/{xychartDiagram-S5SC5T6Z-BcXJGPmd.js → xychartDiagram-S5SC5T6Z-CiqNySOJ.js} +1 -1
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-CiqNySOJ.js.br +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-CiqNySOJ.js.gz +0 -0
- package/dist/client/index.html +1 -1
- package/dist/client/index.html.br +0 -0
- package/dist/client/index.html.gz +0 -0
- package/dist/client/sw.js +1 -1
- package/dist/client/sw.js.br +0 -0
- package/dist/client/sw.js.gz +0 -0
- package/dist/server/agent/collaborationPeerTransport.js +49 -14
- package/dist/server/agent/collaborationService.js +35 -1
- package/dist/server/entry.js +32 -3
- package/dist/server/federation/runtime.js +23 -1
- package/dist/server/routes/terminal.js +13 -0
- package/package.json +1 -1
- package/runtime-manifest.json +3 -3
- package/dist/client/assets/App-3pt5-ilC.js.br +0 -0
- package/dist/client/assets/App-3pt5-ilC.js.gz +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-BV8mOdXi.js.br +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-BV8mOdXi.js.gz +0 -0
- package/dist/client/assets/DagPlayground-gJS2zbWl.js.br +0 -0
- package/dist/client/assets/DagPlayground-gJS2zbWl.js.gz +0 -0
- package/dist/client/assets/DiffLab-DW2zymWD.js.br +0 -0
- package/dist/client/assets/DiffLab-DW2zymWD.js.gz +0 -0
- package/dist/client/assets/DiffReview-9KJ9EdtF.js.br +0 -0
- package/dist/client/assets/DiffReview-9KJ9EdtF.js.gz +0 -0
- package/dist/client/assets/DiffReviewLab-C1jzKsUR.js.br +0 -0
- package/dist/client/assets/DiffReviewLab-C1jzKsUR.js.gz +0 -0
- package/dist/client/assets/DiffViewer-QEeO1VeZ.js.br +0 -0
- package/dist/client/assets/DiffViewer-QEeO1VeZ.js.gz +0 -0
- package/dist/client/assets/ModelPreview-CWgs8gwV.js.br +0 -0
- package/dist/client/assets/ModelPreview-CWgs8gwV.js.gz +0 -0
- package/dist/client/assets/RightSidebar-D4iQycSs.js.br +0 -0
- package/dist/client/assets/RightSidebar-D4iQycSs.js.gz +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-C68PyHq_.js.br +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-C68PyHq_.js.gz +0 -0
- package/dist/client/assets/app-BU7kQEH9.js +0 -35
- package/dist/client/assets/app-BU7kQEH9.js.br +0 -0
- package/dist/client/assets/app-BU7kQEH9.js.gz +0 -0
- package/dist/client/assets/arc-BFWEvChC.js.br +0 -0
- package/dist/client/assets/arc-BFWEvChC.js.gz +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-CW9uKAFu.js.br +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-CW9uKAFu.js.gz +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-C7Toh4ra.js.br +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-C7Toh4ra.js.gz +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-C0qVAmVY.js.br +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-C0qVAmVY.js.gz +0 -0
- package/dist/client/assets/channel-C_cSN9aY.js +0 -1
- package/dist/client/assets/chunk-F27PBJKO-BpeUMCig.js.br +0 -0
- package/dist/client/assets/chunk-F27PBJKO-BpeUMCig.js.gz +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-CrP5u-oM.js.br +0 -0
- package/dist/client/assets/chunk-SVP7TREG-D_el56_y.js.br +0 -0
- package/dist/client/assets/chunk-SVP7TREG-D_el56_y.js.gz +0 -0
- package/dist/client/assets/chunk-TICWLB2K-BW4G8nfd.js.br +0 -0
- package/dist/client/assets/chunk-TICWLB2K-BW4G8nfd.js.gz +0 -0
- package/dist/client/assets/classDiagram-ZZMXUADV-g86YsEDj.js +0 -1
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-g86YsEDj.js +0 -1
- package/dist/client/assets/cose-bilkent-JH36ORCC-BZopJ5Vk.js.br +0 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-BZopJ5Vk.js.gz +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-DodGcb-y.js.br +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-DodGcb-y.js.gz +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-BrfmChC2.js.br +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-BrfmChC2.js.gz +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-DDaQVt3_.js.br +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-DDaQVt3_.js.gz +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-BdTpDUnW.js.br +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-BdTpDUnW.js.gz +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-DCrCcCSc.js.br +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-DCrCcCSc.js.gz +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-CsF1Qn8l.js.br +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-CsF1Qn8l.js.gz +0 -0
- package/dist/client/assets/diagram-VX7I27RA-BjGnkc9i.js.br +0 -0
- package/dist/client/assets/diagram-VX7I27RA-BjGnkc9i.js.gz +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-DwYFrSyB.js.br +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-DwYFrSyB.js.gz +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-DL_jC7vl.js.br +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-DL_jC7vl.js.gz +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-BJRsIcZN.js.br +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-BJRsIcZN.js.gz +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-DtVbuyGA.js.br +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-DtVbuyGA.js.gz +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-Cz8ZjyFr.js.br +0 -0
- package/dist/client/assets/gestureArbiter-CYnutT7u.js.br +0 -0
- package/dist/client/assets/gestureArbiter-CYnutT7u.js.gz +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-CW73vifz.js.br +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-CW73vifz.js.gz +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-DEloHV3_.js.br +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-DEloHV3_.js.gz +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-BJ5Ymi6P.js.br +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-BJ5Ymi6P.js.gz +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-BA1Md7zM.js.br +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-BA1Md7zM.js.gz +0 -0
- package/dist/client/assets/layout-BLPB7zap.js.br +0 -0
- package/dist/client/assets/layout-BLPB7zap.js.gz +0 -0
- package/dist/client/assets/linear-DQnd3pCW.js.gz +0 -0
- package/dist/client/assets/mermaid.core-CC0si1rU.js.br +0 -0
- package/dist/client/assets/mermaid.core-CC0si1rU.js.gz +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-xj-LqgQH.js.br +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-xj-LqgQH.js.gz +0 -0
- package/dist/client/assets/passwordBootstrap-WkTOy597.js.br +0 -0
- package/dist/client/assets/passwordBootstrap-WkTOy597.js.gz +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-C_tvk3BX.js.br +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-C_tvk3BX.js.gz +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-DavzgCyE.js.br +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-DavzgCyE.js.gz +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-OQcqoEdY.js.br +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-OQcqoEdY.js.gz +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-CKbyYF7J.js.br +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-CKbyYF7J.js.gz +0 -0
- package/dist/client/assets/referenceLongPress-B7xcIddc.js.br +0 -0
- package/dist/client/assets/referenceLongPress-B7xcIddc.js.gz +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-C8jPUps0.js.br +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-C8jPUps0.js.gz +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-B1XbZMfI.js.br +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-B1XbZMfI.js.gz +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-TKmv1K4M.js.br +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-TKmv1K4M.js.gz +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-Ca_kB42l.js.br +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-Ca_kB42l.js.gz +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-dvSeMJMI.js.br +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-dvSeMJMI.js.gz +0 -0
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-BgD6bkF_.js +0 -1
- package/dist/client/assets/swimlanes-42K2YHIH-Csz9F-Em.js.br +0 -0
- package/dist/client/assets/swimlanes-42K2YHIH-Csz9F-Em.js.gz +0 -0
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-CtJ_HpaR.js +0 -8
- package/dist/client/assets/timeline-definition-24CTP7MA-D_ixo9p2.js.br +0 -0
- package/dist/client/assets/timeline-definition-24CTP7MA-D_ixo9p2.js.gz +0 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-Bt3wQ7L4.js.gz +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-D-5G4QL_.js.br +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-D-5G4QL_.js.gz +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-BcXJGPmd.js.br +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-BcXJGPmd.js.gz +0 -0
package/dist/server/entry.js
CHANGED
|
@@ -408,6 +408,8 @@ export function startServer(options = {}) {
|
|
|
408
408
|
runtimeMonitor,
|
|
409
409
|
});
|
|
410
410
|
const { server, scheme } = createServerForApp(app, options);
|
|
411
|
+
const collaborationChannels = new Map();
|
|
412
|
+
const reverseCollaboration = (id) => [...(collaborationChannels.get(id) ?? [])].find(rpc => !rpc.closed);
|
|
411
413
|
let collaborationService;
|
|
412
414
|
let collaborationTransport;
|
|
413
415
|
let entrySubjectAllowed = (_subjectId) => false;
|
|
@@ -447,6 +449,20 @@ export function startServer(options = {}) {
|
|
|
447
449
|
const federation = createFederationRuntime(app, path.join(homedir(), '.termdock', 'federation'), {
|
|
448
450
|
terminal: handleTerminalWebSocket, control: handleControlWebSocket,
|
|
449
451
|
}, {
|
|
452
|
+
collaborationConnected: (subjectId, rpc) => {
|
|
453
|
+
const channels = collaborationChannels.get(subjectId) ?? new Set();
|
|
454
|
+
channels.add(rpc);
|
|
455
|
+
collaborationChannels.set(subjectId, channels);
|
|
456
|
+
collaborationTransport?.notify(subjectId);
|
|
457
|
+
setImmediate(() => { void collaborationService?.refresh(); });
|
|
458
|
+
return () => { channels.delete(rpc); if (!channels.size)
|
|
459
|
+
collaborationChannels.delete(subjectId); };
|
|
460
|
+
},
|
|
461
|
+
collaborationDescriptor: () => {
|
|
462
|
+
if (!collaborationService)
|
|
463
|
+
throw new Error('COLLABORATION_UNAVAILABLE');
|
|
464
|
+
return collaborationService.descriptor();
|
|
465
|
+
},
|
|
450
466
|
collaborationService: (subjectId, packet) => {
|
|
451
467
|
if (!collaborationService)
|
|
452
468
|
throw new Error('COLLABORATION_UNAVAILABLE');
|
|
@@ -494,12 +510,25 @@ export function startServer(options = {}) {
|
|
|
494
510
|
setPushTargetPeerId(runtime.serviceId);
|
|
495
511
|
refreshDirectTargets();
|
|
496
512
|
app.locals.passwordRuntime = runtime;
|
|
513
|
+
const receiveCollaboration = (subjectId, packet) => {
|
|
514
|
+
if (packet.type === 'collaboration-service' && collaborationService)
|
|
515
|
+
return collaborationService.receive(subjectId, packet);
|
|
516
|
+
if (packet.type === 'collaboration-exchange' && collaborationTransport)
|
|
517
|
+
return collaborationTransport.receive(subjectId, packet);
|
|
518
|
+
throw new Error('COLLABORATION_UNAVAILABLE');
|
|
519
|
+
};
|
|
520
|
+
const connectPeer = (peer) => {
|
|
521
|
+
if (['localhost', '127.0.0.1', '[::1]'].includes(new URL(peer.origin).hostname))
|
|
522
|
+
throw new Error('WAITING_FOR_PEER_CONNECTION');
|
|
523
|
+
return connectCollaborationRpc(runtime.identity, peer, undefined, packet => receiveCollaboration(peer.serviceId, packet));
|
|
524
|
+
};
|
|
497
525
|
collaborationTransport = new CollaborationPeerTransport({
|
|
526
|
+
reverse: reverseCollaboration,
|
|
498
527
|
file: path.join(homedir(), '.termdock', 'federation', 'collaboration-peers.json'), serviceId: runtime.serviceId,
|
|
499
528
|
store: collaborationStore, deliver: deliverPeerCollaboration, activity: collaborationLocalActivity,
|
|
500
529
|
connect: async (peer, via) => {
|
|
501
530
|
if (!via)
|
|
502
|
-
return
|
|
531
|
+
return connectPeer(peer);
|
|
503
532
|
const entry = await connectCollaborationRpc(runtime.identity, via);
|
|
504
533
|
try {
|
|
505
534
|
const ticket = await entry.request({ type: 'route-ticket', serviceId: peer.serviceId });
|
|
@@ -508,7 +537,7 @@ export function startServer(options = {}) {
|
|
|
508
537
|
const url = new URL('/api/federation/relay', via.origin.replace(/^https:/, 'wss:'));
|
|
509
538
|
url.searchParams.set('routeToken', ticket.routeToken);
|
|
510
539
|
// TLS authenticates the entry; Noise pins the final destination.
|
|
511
|
-
return await connectCollaborationRpc(runtime.identity, { ...via, serviceId: peer.serviceId }, url.href);
|
|
540
|
+
return await connectCollaborationRpc(runtime.identity, { ...via, serviceId: peer.serviceId }, url.href, packet => receiveCollaboration(peer.serviceId, packet));
|
|
512
541
|
}
|
|
513
542
|
finally {
|
|
514
543
|
entry.close();
|
|
@@ -525,7 +554,7 @@ export function startServer(options = {}) {
|
|
|
525
554
|
app.locals.collaborationNode = { serviceId: runtime.serviceId, ...(caFingerprint256 ? { caFingerprint256 } : {}) };
|
|
526
555
|
collaborationService = new CollaborationService({ file: path.join(homedir(), '.termdock', 'federation', 'collaboration-services.json'),
|
|
527
556
|
store: collaborationStore, transport: collaborationTransport, node: () => app.locals.collaborationNode,
|
|
528
|
-
sessions: collaborationDirectorySessions,
|
|
557
|
+
sessions: collaborationDirectorySessions, reverse: reverseCollaboration, connect: connectPeer });
|
|
529
558
|
app.locals.collaborationService = collaborationService;
|
|
530
559
|
collaborationService.start();
|
|
531
560
|
server.once('close', () => collaborationService?.close());
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CollaborationRpc } from '../agent/collaborationPeerTransport.js';
|
|
1
2
|
import { PasswordBootstrapServer } from './passwordBootstrap.js';
|
|
2
3
|
import { DeviceProfiles } from './deviceProfiles.js';
|
|
3
4
|
import { DeviceNames } from './deviceNames.js';
|
|
@@ -122,6 +123,8 @@ export async function createFederationRuntime(app, directory, handlers, options
|
|
|
122
123
|
return Array.isArray(inventory.clientSessions) ? inventory.clientSessions : [];
|
|
123
124
|
}
|
|
124
125
|
async function accept(socket, context = {}) {
|
|
126
|
+
let collaborationRpc;
|
|
127
|
+
let unregisterCollaboration;
|
|
125
128
|
const open = (action) => openAccessAllowed(context.allowOpenAccess === true, isAuthEnabled(), action);
|
|
126
129
|
const allowed = (subjectId, action, sessionId) => open(action) || store.authorize({ subjectId, serviceId, action, sessionId }).allowed;
|
|
127
130
|
const full = (subjectId) => open() || store.hasFullServiceAccess({ subjectId, serviceId });
|
|
@@ -251,7 +254,24 @@ export async function createFederationRuntime(app, directory, handlers, options
|
|
|
251
254
|
try {
|
|
252
255
|
if (packet.id.length > 128)
|
|
253
256
|
throw new Error('INVALID_ID');
|
|
254
|
-
if (packet
|
|
257
|
+
if (collaborationRpc?.accept(packet))
|
|
258
|
+
continue;
|
|
259
|
+
if (packet.type === 'collaboration-connect') {
|
|
260
|
+
if (!options.collaborationService || !options.collaborationConnected)
|
|
261
|
+
throw new Error('COLLABORATION_UPGRADE_REQUIRED');
|
|
262
|
+
options.collaborationService(subjectId, { type: 'collaboration-service', id: packet.id, action: 'duplex' });
|
|
263
|
+
if (!collaborationRpc) {
|
|
264
|
+
collaborationRpc = new CollaborationRpc(channel, undefined, true);
|
|
265
|
+
unregisterCollaboration = options.collaborationConnected(subjectId, collaborationRpc);
|
|
266
|
+
}
|
|
267
|
+
send({ type: 'result', id: packet.id, ok: true });
|
|
268
|
+
}
|
|
269
|
+
else if (packet.type === 'collaboration-descriptor') {
|
|
270
|
+
if (!options.collaborationDescriptor)
|
|
271
|
+
throw new Error('COLLABORATION_UPGRADE_REQUIRED');
|
|
272
|
+
send({ type: 'result', id: packet.id, node: options.collaborationDescriptor() });
|
|
273
|
+
}
|
|
274
|
+
else if (packet.type === 'collaboration-service') {
|
|
255
275
|
if (!options.collaborationService)
|
|
256
276
|
throw new Error('COLLABORATION_UPGRADE_REQUIRED');
|
|
257
277
|
send({ type: 'result', id: packet.id, ...options.collaborationService(subjectId, packet) });
|
|
@@ -537,6 +557,8 @@ export async function createFederationRuntime(app, directory, handlers, options
|
|
|
537
557
|
socket.close(4003, 'Secure channel closed');
|
|
538
558
|
}
|
|
539
559
|
finally {
|
|
560
|
+
unregisterCollaboration?.();
|
|
561
|
+
collaborationRpc?.close();
|
|
540
562
|
clearInterval(revokeTimer);
|
|
541
563
|
for (const operation of operations.values())
|
|
542
564
|
cancelHttp(operation);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { assertPeerRegistrationAuthority } from '../agent/collaborationPeerTransport.js';
|
|
1
2
|
import { progressRoutes } from '../notifications/progressRoutes.js';
|
|
2
3
|
import { ensureNodePty } from '../utils/ensureNodePty.js';
|
|
3
4
|
import { PtySpawnBackoff, PtySpawnDeferredError } from '../utils/ptySpawnBackoff.js';
|
|
@@ -5480,6 +5481,18 @@ router.delete('/operations/automations/:automationId', (req, res) => {
|
|
|
5480
5481
|
router.all(['/operations/collaboration-federation', '/operations/collaboration-peers'], (_req, res) => {
|
|
5481
5482
|
res.status(410).json({ code: 'CLIENT_RELAY_REMOVED', error: '协作由服务端处理,请重新加载服务页面' });
|
|
5482
5483
|
});
|
|
5484
|
+
router.post('/operations/collaboration-connections', (req, res) => {
|
|
5485
|
+
try {
|
|
5486
|
+
assertPeerRegistrationAuthority(req);
|
|
5487
|
+
const service = req.app.locals.collaborationService;
|
|
5488
|
+
if (!service)
|
|
5489
|
+
return res.status(503).json({ error: '协作服务正在启动' });
|
|
5490
|
+
res.json(service.connectKnown(req.body?.origin, req.body?.nodes));
|
|
5491
|
+
}
|
|
5492
|
+
catch (error) {
|
|
5493
|
+
res.status(getErrorMessage(error) === 'AUTHORIZATION_DENIED' ? 403 : 400).json({ error: getErrorMessage(error) });
|
|
5494
|
+
}
|
|
5495
|
+
});
|
|
5483
5496
|
router.get('/operations/collaboration-directory', (req, res) => {
|
|
5484
5497
|
const service = req.app.locals.collaborationService;
|
|
5485
5498
|
if (!service)
|
package/package.json
CHANGED
package/runtime-manifest.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"packageName": "termdock",
|
|
4
|
-
"version": "1.4.
|
|
4
|
+
"version": "1.4.236",
|
|
5
5
|
"runtimeProtocolVersion": 1,
|
|
6
6
|
"minimumDesktopVersion": "1.4.46",
|
|
7
7
|
"nodeMajor": 22,
|
|
8
8
|
"dependencyHash": "sha256-K4KyYJuVoQDpZsBM8ZX1Rw3MddOxAzVdp/cPm0iGZz0=",
|
|
9
|
-
"serverBundleHash": "sha256-
|
|
10
|
-
"clientBundleHash": "sha256-
|
|
9
|
+
"serverBundleHash": "sha256-toE4hw6sL499oIYf/oKFE3xAntvR8PAwZGhY60TNDC0=",
|
|
10
|
+
"clientBundleHash": "sha256-trS+ETMzb9TMz5LAjLxWuftR8zROhre6jdKGsnMbg60=",
|
|
11
11
|
"entrypoint": "dist/server/cli.js",
|
|
12
12
|
"clientEntrypoint": "dist/client/index.html"
|
|
13
13
|
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|