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.
Files changed (313) hide show
  1. package/dist/client/assets/{App-3pt5-ilC.js → App-zSykqDrK.js} +3 -3
  2. package/dist/client/assets/App-zSykqDrK.js.br +0 -0
  3. package/dist/client/assets/App-zSykqDrK.js.gz +0 -0
  4. package/dist/client/assets/{ChangeWalkthroughPanel-BV8mOdXi.js → ChangeWalkthroughPanel-Bhk5u4ei.js} +1 -1
  5. package/dist/client/assets/ChangeWalkthroughPanel-Bhk5u4ei.js.br +0 -0
  6. package/dist/client/assets/ChangeWalkthroughPanel-Bhk5u4ei.js.gz +0 -0
  7. package/dist/client/assets/{DagPlayground-gJS2zbWl.js → DagPlayground-9DE-yoRV.js} +1 -1
  8. package/dist/client/assets/DagPlayground-9DE-yoRV.js.br +0 -0
  9. package/dist/client/assets/DagPlayground-9DE-yoRV.js.gz +0 -0
  10. package/dist/client/assets/{DiffLab-DW2zymWD.js → DiffLab-CjyMoL77.js} +1 -1
  11. package/dist/client/assets/DiffLab-CjyMoL77.js.br +0 -0
  12. package/dist/client/assets/DiffLab-CjyMoL77.js.gz +0 -0
  13. package/dist/client/assets/{DiffReview-9KJ9EdtF.js → DiffReview-kSV-dlGf.js} +1 -1
  14. package/dist/client/assets/DiffReview-kSV-dlGf.js.br +0 -0
  15. package/dist/client/assets/DiffReview-kSV-dlGf.js.gz +0 -0
  16. package/dist/client/assets/{DiffReviewLab-C1jzKsUR.js → DiffReviewLab-DL8o3FzO.js} +1 -1
  17. package/dist/client/assets/DiffReviewLab-DL8o3FzO.js.br +0 -0
  18. package/dist/client/assets/DiffReviewLab-DL8o3FzO.js.gz +0 -0
  19. package/dist/client/assets/{DiffViewer-QEeO1VeZ.js → DiffViewer-8lX1Yp21.js} +1 -1
  20. package/dist/client/assets/DiffViewer-8lX1Yp21.js.br +0 -0
  21. package/dist/client/assets/DiffViewer-8lX1Yp21.js.gz +0 -0
  22. package/dist/client/assets/{ModelPreview-CWgs8gwV.js → ModelPreview-Di9v8eC8.js} +1 -1
  23. package/dist/client/assets/ModelPreview-Di9v8eC8.js.br +0 -0
  24. package/dist/client/assets/ModelPreview-Di9v8eC8.js.gz +0 -0
  25. package/dist/client/assets/{RightSidebar-D4iQycSs.js → RightSidebar-C4BW2Wwm.js} +4 -4
  26. package/dist/client/assets/RightSidebar-C4BW2Wwm.js.br +0 -0
  27. package/dist/client/assets/RightSidebar-C4BW2Wwm.js.gz +0 -0
  28. package/dist/client/assets/{abnfDiagram-VCTEODGH-C68PyHq_.js → abnfDiagram-VCTEODGH-hlnPn1XS.js} +1 -1
  29. package/dist/client/assets/abnfDiagram-VCTEODGH-hlnPn1XS.js.br +0 -0
  30. package/dist/client/assets/abnfDiagram-VCTEODGH-hlnPn1XS.js.gz +0 -0
  31. package/dist/client/assets/app-CSIciOPl.js +35 -0
  32. package/dist/client/assets/app-CSIciOPl.js.br +0 -0
  33. package/dist/client/assets/app-CSIciOPl.js.gz +0 -0
  34. package/dist/client/assets/{arc-BFWEvChC.js → arc-DRWaGXMR.js} +1 -1
  35. package/dist/client/assets/arc-DRWaGXMR.js.br +0 -0
  36. package/dist/client/assets/arc-DRWaGXMR.js.gz +0 -0
  37. package/dist/client/assets/{architectureDiagram-5GKGNRK7-CW9uKAFu.js → architectureDiagram-5GKGNRK7-CGgjTR71.js} +1 -1
  38. package/dist/client/assets/architectureDiagram-5GKGNRK7-CGgjTR71.js.br +0 -0
  39. package/dist/client/assets/architectureDiagram-5GKGNRK7-CGgjTR71.js.gz +0 -0
  40. package/dist/client/assets/{blockDiagram-I7D4REHJ-C7Toh4ra.js → blockDiagram-I7D4REHJ-CoSXp3bo.js} +1 -1
  41. package/dist/client/assets/blockDiagram-I7D4REHJ-CoSXp3bo.js.br +0 -0
  42. package/dist/client/assets/blockDiagram-I7D4REHJ-CoSXp3bo.js.gz +0 -0
  43. package/dist/client/assets/{c4Diagram-7LVT6UL2-C0qVAmVY.js → c4Diagram-7LVT6UL2-T24R2Qbf.js} +1 -1
  44. package/dist/client/assets/c4Diagram-7LVT6UL2-T24R2Qbf.js.br +0 -0
  45. package/dist/client/assets/c4Diagram-7LVT6UL2-T24R2Qbf.js.gz +0 -0
  46. package/dist/client/assets/channel-3gIaLXRE.js +1 -0
  47. package/dist/client/assets/{chunk-2Q5K7J3B-C6Nq29YU.js → chunk-2Q5K7J3B--LXR3vbd.js} +1 -1
  48. package/dist/client/assets/{chunk-5VM5RSS4-CtbqynTp.js → chunk-5VM5RSS4-CCATC1Bu.js} +1 -1
  49. package/dist/client/assets/{chunk-F27PBJKO-BpeUMCig.js → chunk-F27PBJKO-BZcc7Ic4.js} +1 -1
  50. package/dist/client/assets/chunk-F27PBJKO-BZcc7Ic4.js.br +0 -0
  51. package/dist/client/assets/chunk-F27PBJKO-BZcc7Ic4.js.gz +0 -0
  52. package/dist/client/assets/{chunk-IMKFNOWR-CrP5u-oM.js → chunk-IMKFNOWR-CwEcJlSi.js} +1 -1
  53. package/dist/client/assets/chunk-IMKFNOWR-CwEcJlSi.js.br +0 -0
  54. package/dist/client/assets/{chunk-IMKFNOWR-CrP5u-oM.js.gz → chunk-IMKFNOWR-CwEcJlSi.js.gz} +0 -0
  55. package/dist/client/assets/{chunk-JWPE2WC7-BKyQo8Ez.js → chunk-JWPE2WC7-BgzA4uHj.js} +1 -1
  56. package/dist/client/assets/{chunk-POPQ4Y6H-C-rOKTS_.js → chunk-POPQ4Y6H-BS7G7nLt.js} +1 -1
  57. package/dist/client/assets/{chunk-SVP7TREG-D_el56_y.js → chunk-SVP7TREG-MyWxRYxW.js} +1 -1
  58. package/dist/client/assets/chunk-SVP7TREG-MyWxRYxW.js.br +0 -0
  59. package/dist/client/assets/chunk-SVP7TREG-MyWxRYxW.js.gz +0 -0
  60. package/dist/client/assets/{chunk-TICWLB2K-BW4G8nfd.js → chunk-TICWLB2K-By-otV7X.js} +1 -1
  61. package/dist/client/assets/chunk-TICWLB2K-By-otV7X.js.br +0 -0
  62. package/dist/client/assets/chunk-TICWLB2K-By-otV7X.js.gz +0 -0
  63. package/dist/client/assets/{chunk-XXDRQBXY-Bp0To9IO.js → chunk-XXDRQBXY-dFHhSKLr.js} +1 -1
  64. package/dist/client/assets/classDiagram-ZZMXUADV-BZRR_eIG.js +1 -0
  65. package/dist/client/assets/classDiagram-v2-VYDZK3BY-BZRR_eIG.js +1 -0
  66. package/dist/client/assets/{cose-bilkent-JH36ORCC-BZopJ5Vk.js → cose-bilkent-JH36ORCC-S4CHO_jm.js} +1 -1
  67. package/dist/client/assets/cose-bilkent-JH36ORCC-S4CHO_jm.js.br +0 -0
  68. package/dist/client/assets/cose-bilkent-JH36ORCC-S4CHO_jm.js.gz +0 -0
  69. package/dist/client/assets/{cynefin-OW5HDTMX-DodGcb-y.js → cynefin-OW5HDTMX-D-Tdm--u.js} +1 -1
  70. package/dist/client/assets/cynefin-OW5HDTMX-D-Tdm--u.js.br +0 -0
  71. package/dist/client/assets/cynefin-OW5HDTMX-D-Tdm--u.js.gz +0 -0
  72. package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-BrfmChC2.js → cynefinDiagram-5FMLGOSQ-FSHeEj_r.js} +1 -1
  73. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-FSHeEj_r.js.br +0 -0
  74. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-FSHeEj_r.js.gz +0 -0
  75. package/dist/client/assets/{dagre-GXQ25YYZ-DDaQVt3_.js → dagre-GXQ25YYZ-BdeaoJ-E.js} +1 -1
  76. package/dist/client/assets/dagre-GXQ25YYZ-BdeaoJ-E.js.br +0 -0
  77. package/dist/client/assets/dagre-GXQ25YYZ-BdeaoJ-E.js.gz +0 -0
  78. package/dist/client/assets/{diagram-S7CK7UJ4-BdTpDUnW.js → diagram-S7CK7UJ4-BmneUVZf.js} +1 -1
  79. package/dist/client/assets/diagram-S7CK7UJ4-BmneUVZf.js.br +0 -0
  80. package/dist/client/assets/diagram-S7CK7UJ4-BmneUVZf.js.gz +0 -0
  81. package/dist/client/assets/{diagram-UQ7AKVKN-DCrCcCSc.js → diagram-UQ7AKVKN-SsDlu1y-.js} +1 -1
  82. package/dist/client/assets/diagram-UQ7AKVKN-SsDlu1y-.js.br +0 -0
  83. package/dist/client/assets/diagram-UQ7AKVKN-SsDlu1y-.js.gz +0 -0
  84. package/dist/client/assets/{diagram-VSXAHHWV-CsF1Qn8l.js → diagram-VSXAHHWV-D8x3I59I.js} +1 -1
  85. package/dist/client/assets/diagram-VSXAHHWV-D8x3I59I.js.br +0 -0
  86. package/dist/client/assets/diagram-VSXAHHWV-D8x3I59I.js.gz +0 -0
  87. package/dist/client/assets/{diagram-VX7I27RA-BjGnkc9i.js → diagram-VX7I27RA-Cxdgnfbh.js} +1 -1
  88. package/dist/client/assets/diagram-VX7I27RA-Cxdgnfbh.js.br +0 -0
  89. package/dist/client/assets/diagram-VX7I27RA-Cxdgnfbh.js.gz +0 -0
  90. package/dist/client/assets/{diagram-Z3DM3KII-DwYFrSyB.js → diagram-Z3DM3KII-Bn-Md8Cr.js} +1 -1
  91. package/dist/client/assets/diagram-Z3DM3KII-Bn-Md8Cr.js.br +0 -0
  92. package/dist/client/assets/diagram-Z3DM3KII-Bn-Md8Cr.js.gz +0 -0
  93. package/dist/client/assets/{ebnfDiagram-PWID7BFC-DL_jC7vl.js → ebnfDiagram-PWID7BFC-C3FeaeR-.js} +1 -1
  94. package/dist/client/assets/ebnfDiagram-PWID7BFC-C3FeaeR-.js.br +0 -0
  95. package/dist/client/assets/ebnfDiagram-PWID7BFC-C3FeaeR-.js.gz +0 -0
  96. package/dist/client/assets/{erDiagram-RLTQ6QDP-BJRsIcZN.js → erDiagram-RLTQ6QDP-Dkl931on.js} +1 -1
  97. package/dist/client/assets/erDiagram-RLTQ6QDP-Dkl931on.js.br +0 -0
  98. package/dist/client/assets/erDiagram-RLTQ6QDP-Dkl931on.js.gz +0 -0
  99. package/dist/client/assets/{flowDiagram-HODETNUW-DtVbuyGA.js → flowDiagram-HODETNUW-DJHNp3k9.js} +1 -1
  100. package/dist/client/assets/flowDiagram-HODETNUW-DJHNp3k9.js.br +0 -0
  101. package/dist/client/assets/flowDiagram-HODETNUW-DJHNp3k9.js.gz +0 -0
  102. package/dist/client/assets/{ganttDiagram-EL5Y4UJY-Cz8ZjyFr.js → ganttDiagram-EL5Y4UJY-DaY1g-nz.js} +1 -1
  103. package/dist/client/assets/ganttDiagram-EL5Y4UJY-DaY1g-nz.js.br +0 -0
  104. package/dist/client/assets/{ganttDiagram-EL5Y4UJY-Cz8ZjyFr.js.gz → ganttDiagram-EL5Y4UJY-DaY1g-nz.js.gz} +0 -0
  105. package/dist/client/assets/{gestureArbiter-CYnutT7u.js → gestureArbiter-4U4PoLbc.js} +1 -1
  106. package/dist/client/assets/gestureArbiter-4U4PoLbc.js.br +0 -0
  107. package/dist/client/assets/gestureArbiter-4U4PoLbc.js.gz +0 -0
  108. package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-CW73vifz.js → gitGraphDiagram-WWUBYQGX--yhLbQDf.js} +1 -1
  109. package/dist/client/assets/gitGraphDiagram-WWUBYQGX--yhLbQDf.js.br +0 -0
  110. package/dist/client/assets/gitGraphDiagram-WWUBYQGX--yhLbQDf.js.gz +0 -0
  111. package/dist/client/assets/{infoDiagram-27XIBGKW-DCaqT0R9.js → infoDiagram-27XIBGKW-Cx-8WBsL.js} +1 -1
  112. package/dist/client/assets/{ishikawaDiagram-5VMMS53U-DEloHV3_.js → ishikawaDiagram-5VMMS53U-BXGub2Wj.js} +1 -1
  113. package/dist/client/assets/ishikawaDiagram-5VMMS53U-BXGub2Wj.js.br +0 -0
  114. package/dist/client/assets/ishikawaDiagram-5VMMS53U-BXGub2Wj.js.gz +0 -0
  115. package/dist/client/assets/{journeyDiagram-3NMN7TZE-BJ5Ymi6P.js → journeyDiagram-3NMN7TZE-DXFRBC7a.js} +1 -1
  116. package/dist/client/assets/journeyDiagram-3NMN7TZE-DXFRBC7a.js.br +0 -0
  117. package/dist/client/assets/journeyDiagram-3NMN7TZE-DXFRBC7a.js.gz +0 -0
  118. package/dist/client/assets/{kanban-definition-UXKFOSKX-BA1Md7zM.js → kanban-definition-UXKFOSKX-D5DbjYN0.js} +1 -1
  119. package/dist/client/assets/kanban-definition-UXKFOSKX-D5DbjYN0.js.br +0 -0
  120. package/dist/client/assets/kanban-definition-UXKFOSKX-D5DbjYN0.js.gz +0 -0
  121. package/dist/client/assets/{layout-BLPB7zap.js → layout-v1om_wqK.js} +1 -1
  122. package/dist/client/assets/layout-v1om_wqK.js.br +0 -0
  123. package/dist/client/assets/layout-v1om_wqK.js.gz +0 -0
  124. package/dist/client/assets/{linear-DQnd3pCW.js → linear-B0oeh-Ux.js} +1 -1
  125. package/dist/client/assets/{linear-DQnd3pCW.js.br → linear-B0oeh-Ux.js.br} +0 -0
  126. package/dist/client/assets/linear-B0oeh-Ux.js.gz +0 -0
  127. package/dist/client/assets/{mermaid.core-CC0si1rU.js → mermaid.core-Dd5NfkiJ.js} +5 -5
  128. package/dist/client/assets/mermaid.core-Dd5NfkiJ.js.br +0 -0
  129. package/dist/client/assets/mermaid.core-Dd5NfkiJ.js.gz +0 -0
  130. package/dist/client/assets/{mindmap-definition-YA3MSWOX-xj-LqgQH.js → mindmap-definition-YA3MSWOX-aItop2_3.js} +1 -1
  131. package/dist/client/assets/mindmap-definition-YA3MSWOX-aItop2_3.js.br +0 -0
  132. package/dist/client/assets/mindmap-definition-YA3MSWOX-aItop2_3.js.gz +0 -0
  133. package/dist/client/assets/{passwordBootstrap-WkTOy597.js → passwordBootstrap-CkZxpps_.js} +1 -1
  134. package/dist/client/assets/passwordBootstrap-CkZxpps_.js.br +0 -0
  135. package/dist/client/assets/passwordBootstrap-CkZxpps_.js.gz +0 -0
  136. package/dist/client/assets/{pegDiagram-XKGWAZYB-C_tvk3BX.js → pegDiagram-XKGWAZYB-io_H-_O0.js} +1 -1
  137. package/dist/client/assets/pegDiagram-XKGWAZYB-io_H-_O0.js.br +0 -0
  138. package/dist/client/assets/pegDiagram-XKGWAZYB-io_H-_O0.js.gz +0 -0
  139. package/dist/client/assets/{pieDiagram-E7YTZNPT-DavzgCyE.js → pieDiagram-E7YTZNPT-DW51U3Vc.js} +1 -1
  140. package/dist/client/assets/pieDiagram-E7YTZNPT-DW51U3Vc.js.br +0 -0
  141. package/dist/client/assets/pieDiagram-E7YTZNPT-DW51U3Vc.js.gz +0 -0
  142. package/dist/client/assets/{quadrantDiagram-AXDQQJYC-OQcqoEdY.js → quadrantDiagram-AXDQQJYC-Bb7_7BbB.js} +1 -1
  143. package/dist/client/assets/quadrantDiagram-AXDQQJYC-Bb7_7BbB.js.br +0 -0
  144. package/dist/client/assets/quadrantDiagram-AXDQQJYC-Bb7_7BbB.js.gz +0 -0
  145. package/dist/client/assets/{railroadDiagram-O6MQD6OU-CKbyYF7J.js → railroadDiagram-O6MQD6OU-Cch7xSel.js} +1 -1
  146. package/dist/client/assets/railroadDiagram-O6MQD6OU-Cch7xSel.js.br +0 -0
  147. package/dist/client/assets/railroadDiagram-O6MQD6OU-Cch7xSel.js.gz +0 -0
  148. package/dist/client/assets/{referenceLongPress-B7xcIddc.js → referenceLongPress-EA0xcUM0.js} +1 -1
  149. package/dist/client/assets/referenceLongPress-EA0xcUM0.js.br +0 -0
  150. package/dist/client/assets/referenceLongPress-EA0xcUM0.js.gz +0 -0
  151. package/dist/client/assets/{requirementDiagram-BXWQKSXE-C8jPUps0.js → requirementDiagram-BXWQKSXE-VF-s2PGq.js} +1 -1
  152. package/dist/client/assets/requirementDiagram-BXWQKSXE-VF-s2PGq.js.br +0 -0
  153. package/dist/client/assets/requirementDiagram-BXWQKSXE-VF-s2PGq.js.gz +0 -0
  154. package/dist/client/assets/{sankeyDiagram-P5KCCOFB-B1XbZMfI.js → sankeyDiagram-P5KCCOFB-DgyDYPKU.js} +1 -1
  155. package/dist/client/assets/sankeyDiagram-P5KCCOFB-DgyDYPKU.js.br +0 -0
  156. package/dist/client/assets/sankeyDiagram-P5KCCOFB-DgyDYPKU.js.gz +0 -0
  157. package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-TKmv1K4M.js → sequenceDiagram-WJ2MYXX4-tcxB1wCN.js} +1 -1
  158. package/dist/client/assets/sequenceDiagram-WJ2MYXX4-tcxB1wCN.js.br +0 -0
  159. package/dist/client/assets/sequenceDiagram-WJ2MYXX4-tcxB1wCN.js.gz +0 -0
  160. package/dist/client/assets/{sizeCapture-INFHLROL-Ca_kB42l.js → sizeCapture-INFHLROL-4D8RAV4f.js} +1 -1
  161. package/dist/client/assets/sizeCapture-INFHLROL-4D8RAV4f.js.br +0 -0
  162. package/dist/client/assets/sizeCapture-INFHLROL-4D8RAV4f.js.gz +0 -0
  163. package/dist/client/assets/{sparkles-UE5-cQCr.js → sparkles-C_kAT_YI.js} +1 -1
  164. package/dist/client/assets/{stateDiagram-D77RDMKH-dvSeMJMI.js → stateDiagram-D77RDMKH-C5AtNVsT.js} +1 -1
  165. package/dist/client/assets/stateDiagram-D77RDMKH-C5AtNVsT.js.br +0 -0
  166. package/dist/client/assets/stateDiagram-D77RDMKH-C5AtNVsT.js.gz +0 -0
  167. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-BTojZbKH.js +1 -0
  168. package/dist/client/assets/{swimlanes-42K2YHIH-Csz9F-Em.js → swimlanes-42K2YHIH-jeWNfuDW.js} +1 -1
  169. package/dist/client/assets/swimlanes-42K2YHIH-jeWNfuDW.js.br +0 -0
  170. package/dist/client/assets/swimlanes-42K2YHIH-jeWNfuDW.js.gz +0 -0
  171. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DAkPyl3g.js +8 -0
  172. package/dist/client/assets/{timeline-definition-24CTP7MA-D_ixo9p2.js → timeline-definition-24CTP7MA--h_HSNFo.js} +1 -1
  173. package/dist/client/assets/timeline-definition-24CTP7MA--h_HSNFo.js.br +0 -0
  174. package/dist/client/assets/timeline-definition-24CTP7MA--h_HSNFo.js.gz +0 -0
  175. package/dist/client/assets/{triangle-alert-C9EZlPNN.js → triangle-alert-BoF7CWrV.js} +1 -1
  176. package/dist/client/assets/{vennDiagram-4TSXK5OY-Bt3wQ7L4.js → vennDiagram-4TSXK5OY-DtCIS7M_.js} +1 -1
  177. package/dist/client/assets/{vennDiagram-4TSXK5OY-Bt3wQ7L4.js.br → vennDiagram-4TSXK5OY-DtCIS7M_.js.br} +0 -0
  178. package/dist/client/assets/vennDiagram-4TSXK5OY-DtCIS7M_.js.gz +0 -0
  179. package/dist/client/assets/{wardleyDiagram-VM6X3IG4-D-5G4QL_.js → wardleyDiagram-VM6X3IG4-wWbcTCgW.js} +1 -1
  180. package/dist/client/assets/wardleyDiagram-VM6X3IG4-wWbcTCgW.js.br +0 -0
  181. package/dist/client/assets/wardleyDiagram-VM6X3IG4-wWbcTCgW.js.gz +0 -0
  182. package/dist/client/assets/{xychartDiagram-S5SC5T6Z-BcXJGPmd.js → xychartDiagram-S5SC5T6Z-CiqNySOJ.js} +1 -1
  183. package/dist/client/assets/xychartDiagram-S5SC5T6Z-CiqNySOJ.js.br +0 -0
  184. package/dist/client/assets/xychartDiagram-S5SC5T6Z-CiqNySOJ.js.gz +0 -0
  185. package/dist/client/index.html +1 -1
  186. package/dist/client/index.html.br +0 -0
  187. package/dist/client/index.html.gz +0 -0
  188. package/dist/client/sw.js +1 -1
  189. package/dist/client/sw.js.br +0 -0
  190. package/dist/client/sw.js.gz +0 -0
  191. package/dist/server/agent/collaborationPeerTransport.js +49 -14
  192. package/dist/server/agent/collaborationService.js +35 -1
  193. package/dist/server/entry.js +32 -3
  194. package/dist/server/federation/runtime.js +23 -1
  195. package/dist/server/routes/terminal.js +13 -0
  196. package/package.json +1 -1
  197. package/runtime-manifest.json +3 -3
  198. package/dist/client/assets/App-3pt5-ilC.js.br +0 -0
  199. package/dist/client/assets/App-3pt5-ilC.js.gz +0 -0
  200. package/dist/client/assets/ChangeWalkthroughPanel-BV8mOdXi.js.br +0 -0
  201. package/dist/client/assets/ChangeWalkthroughPanel-BV8mOdXi.js.gz +0 -0
  202. package/dist/client/assets/DagPlayground-gJS2zbWl.js.br +0 -0
  203. package/dist/client/assets/DagPlayground-gJS2zbWl.js.gz +0 -0
  204. package/dist/client/assets/DiffLab-DW2zymWD.js.br +0 -0
  205. package/dist/client/assets/DiffLab-DW2zymWD.js.gz +0 -0
  206. package/dist/client/assets/DiffReview-9KJ9EdtF.js.br +0 -0
  207. package/dist/client/assets/DiffReview-9KJ9EdtF.js.gz +0 -0
  208. package/dist/client/assets/DiffReviewLab-C1jzKsUR.js.br +0 -0
  209. package/dist/client/assets/DiffReviewLab-C1jzKsUR.js.gz +0 -0
  210. package/dist/client/assets/DiffViewer-QEeO1VeZ.js.br +0 -0
  211. package/dist/client/assets/DiffViewer-QEeO1VeZ.js.gz +0 -0
  212. package/dist/client/assets/ModelPreview-CWgs8gwV.js.br +0 -0
  213. package/dist/client/assets/ModelPreview-CWgs8gwV.js.gz +0 -0
  214. package/dist/client/assets/RightSidebar-D4iQycSs.js.br +0 -0
  215. package/dist/client/assets/RightSidebar-D4iQycSs.js.gz +0 -0
  216. package/dist/client/assets/abnfDiagram-VCTEODGH-C68PyHq_.js.br +0 -0
  217. package/dist/client/assets/abnfDiagram-VCTEODGH-C68PyHq_.js.gz +0 -0
  218. package/dist/client/assets/app-BU7kQEH9.js +0 -35
  219. package/dist/client/assets/app-BU7kQEH9.js.br +0 -0
  220. package/dist/client/assets/app-BU7kQEH9.js.gz +0 -0
  221. package/dist/client/assets/arc-BFWEvChC.js.br +0 -0
  222. package/dist/client/assets/arc-BFWEvChC.js.gz +0 -0
  223. package/dist/client/assets/architectureDiagram-5GKGNRK7-CW9uKAFu.js.br +0 -0
  224. package/dist/client/assets/architectureDiagram-5GKGNRK7-CW9uKAFu.js.gz +0 -0
  225. package/dist/client/assets/blockDiagram-I7D4REHJ-C7Toh4ra.js.br +0 -0
  226. package/dist/client/assets/blockDiagram-I7D4REHJ-C7Toh4ra.js.gz +0 -0
  227. package/dist/client/assets/c4Diagram-7LVT6UL2-C0qVAmVY.js.br +0 -0
  228. package/dist/client/assets/c4Diagram-7LVT6UL2-C0qVAmVY.js.gz +0 -0
  229. package/dist/client/assets/channel-C_cSN9aY.js +0 -1
  230. package/dist/client/assets/chunk-F27PBJKO-BpeUMCig.js.br +0 -0
  231. package/dist/client/assets/chunk-F27PBJKO-BpeUMCig.js.gz +0 -0
  232. package/dist/client/assets/chunk-IMKFNOWR-CrP5u-oM.js.br +0 -0
  233. package/dist/client/assets/chunk-SVP7TREG-D_el56_y.js.br +0 -0
  234. package/dist/client/assets/chunk-SVP7TREG-D_el56_y.js.gz +0 -0
  235. package/dist/client/assets/chunk-TICWLB2K-BW4G8nfd.js.br +0 -0
  236. package/dist/client/assets/chunk-TICWLB2K-BW4G8nfd.js.gz +0 -0
  237. package/dist/client/assets/classDiagram-ZZMXUADV-g86YsEDj.js +0 -1
  238. package/dist/client/assets/classDiagram-v2-VYDZK3BY-g86YsEDj.js +0 -1
  239. package/dist/client/assets/cose-bilkent-JH36ORCC-BZopJ5Vk.js.br +0 -0
  240. package/dist/client/assets/cose-bilkent-JH36ORCC-BZopJ5Vk.js.gz +0 -0
  241. package/dist/client/assets/cynefin-OW5HDTMX-DodGcb-y.js.br +0 -0
  242. package/dist/client/assets/cynefin-OW5HDTMX-DodGcb-y.js.gz +0 -0
  243. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-BrfmChC2.js.br +0 -0
  244. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-BrfmChC2.js.gz +0 -0
  245. package/dist/client/assets/dagre-GXQ25YYZ-DDaQVt3_.js.br +0 -0
  246. package/dist/client/assets/dagre-GXQ25YYZ-DDaQVt3_.js.gz +0 -0
  247. package/dist/client/assets/diagram-S7CK7UJ4-BdTpDUnW.js.br +0 -0
  248. package/dist/client/assets/diagram-S7CK7UJ4-BdTpDUnW.js.gz +0 -0
  249. package/dist/client/assets/diagram-UQ7AKVKN-DCrCcCSc.js.br +0 -0
  250. package/dist/client/assets/diagram-UQ7AKVKN-DCrCcCSc.js.gz +0 -0
  251. package/dist/client/assets/diagram-VSXAHHWV-CsF1Qn8l.js.br +0 -0
  252. package/dist/client/assets/diagram-VSXAHHWV-CsF1Qn8l.js.gz +0 -0
  253. package/dist/client/assets/diagram-VX7I27RA-BjGnkc9i.js.br +0 -0
  254. package/dist/client/assets/diagram-VX7I27RA-BjGnkc9i.js.gz +0 -0
  255. package/dist/client/assets/diagram-Z3DM3KII-DwYFrSyB.js.br +0 -0
  256. package/dist/client/assets/diagram-Z3DM3KII-DwYFrSyB.js.gz +0 -0
  257. package/dist/client/assets/ebnfDiagram-PWID7BFC-DL_jC7vl.js.br +0 -0
  258. package/dist/client/assets/ebnfDiagram-PWID7BFC-DL_jC7vl.js.gz +0 -0
  259. package/dist/client/assets/erDiagram-RLTQ6QDP-BJRsIcZN.js.br +0 -0
  260. package/dist/client/assets/erDiagram-RLTQ6QDP-BJRsIcZN.js.gz +0 -0
  261. package/dist/client/assets/flowDiagram-HODETNUW-DtVbuyGA.js.br +0 -0
  262. package/dist/client/assets/flowDiagram-HODETNUW-DtVbuyGA.js.gz +0 -0
  263. package/dist/client/assets/ganttDiagram-EL5Y4UJY-Cz8ZjyFr.js.br +0 -0
  264. package/dist/client/assets/gestureArbiter-CYnutT7u.js.br +0 -0
  265. package/dist/client/assets/gestureArbiter-CYnutT7u.js.gz +0 -0
  266. package/dist/client/assets/gitGraphDiagram-WWUBYQGX-CW73vifz.js.br +0 -0
  267. package/dist/client/assets/gitGraphDiagram-WWUBYQGX-CW73vifz.js.gz +0 -0
  268. package/dist/client/assets/ishikawaDiagram-5VMMS53U-DEloHV3_.js.br +0 -0
  269. package/dist/client/assets/ishikawaDiagram-5VMMS53U-DEloHV3_.js.gz +0 -0
  270. package/dist/client/assets/journeyDiagram-3NMN7TZE-BJ5Ymi6P.js.br +0 -0
  271. package/dist/client/assets/journeyDiagram-3NMN7TZE-BJ5Ymi6P.js.gz +0 -0
  272. package/dist/client/assets/kanban-definition-UXKFOSKX-BA1Md7zM.js.br +0 -0
  273. package/dist/client/assets/kanban-definition-UXKFOSKX-BA1Md7zM.js.gz +0 -0
  274. package/dist/client/assets/layout-BLPB7zap.js.br +0 -0
  275. package/dist/client/assets/layout-BLPB7zap.js.gz +0 -0
  276. package/dist/client/assets/linear-DQnd3pCW.js.gz +0 -0
  277. package/dist/client/assets/mermaid.core-CC0si1rU.js.br +0 -0
  278. package/dist/client/assets/mermaid.core-CC0si1rU.js.gz +0 -0
  279. package/dist/client/assets/mindmap-definition-YA3MSWOX-xj-LqgQH.js.br +0 -0
  280. package/dist/client/assets/mindmap-definition-YA3MSWOX-xj-LqgQH.js.gz +0 -0
  281. package/dist/client/assets/passwordBootstrap-WkTOy597.js.br +0 -0
  282. package/dist/client/assets/passwordBootstrap-WkTOy597.js.gz +0 -0
  283. package/dist/client/assets/pegDiagram-XKGWAZYB-C_tvk3BX.js.br +0 -0
  284. package/dist/client/assets/pegDiagram-XKGWAZYB-C_tvk3BX.js.gz +0 -0
  285. package/dist/client/assets/pieDiagram-E7YTZNPT-DavzgCyE.js.br +0 -0
  286. package/dist/client/assets/pieDiagram-E7YTZNPT-DavzgCyE.js.gz +0 -0
  287. package/dist/client/assets/quadrantDiagram-AXDQQJYC-OQcqoEdY.js.br +0 -0
  288. package/dist/client/assets/quadrantDiagram-AXDQQJYC-OQcqoEdY.js.gz +0 -0
  289. package/dist/client/assets/railroadDiagram-O6MQD6OU-CKbyYF7J.js.br +0 -0
  290. package/dist/client/assets/railroadDiagram-O6MQD6OU-CKbyYF7J.js.gz +0 -0
  291. package/dist/client/assets/referenceLongPress-B7xcIddc.js.br +0 -0
  292. package/dist/client/assets/referenceLongPress-B7xcIddc.js.gz +0 -0
  293. package/dist/client/assets/requirementDiagram-BXWQKSXE-C8jPUps0.js.br +0 -0
  294. package/dist/client/assets/requirementDiagram-BXWQKSXE-C8jPUps0.js.gz +0 -0
  295. package/dist/client/assets/sankeyDiagram-P5KCCOFB-B1XbZMfI.js.br +0 -0
  296. package/dist/client/assets/sankeyDiagram-P5KCCOFB-B1XbZMfI.js.gz +0 -0
  297. package/dist/client/assets/sequenceDiagram-WJ2MYXX4-TKmv1K4M.js.br +0 -0
  298. package/dist/client/assets/sequenceDiagram-WJ2MYXX4-TKmv1K4M.js.gz +0 -0
  299. package/dist/client/assets/sizeCapture-INFHLROL-Ca_kB42l.js.br +0 -0
  300. package/dist/client/assets/sizeCapture-INFHLROL-Ca_kB42l.js.gz +0 -0
  301. package/dist/client/assets/stateDiagram-D77RDMKH-dvSeMJMI.js.br +0 -0
  302. package/dist/client/assets/stateDiagram-D77RDMKH-dvSeMJMI.js.gz +0 -0
  303. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-BgD6bkF_.js +0 -1
  304. package/dist/client/assets/swimlanes-42K2YHIH-Csz9F-Em.js.br +0 -0
  305. package/dist/client/assets/swimlanes-42K2YHIH-Csz9F-Em.js.gz +0 -0
  306. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-CtJ_HpaR.js +0 -8
  307. package/dist/client/assets/timeline-definition-24CTP7MA-D_ixo9p2.js.br +0 -0
  308. package/dist/client/assets/timeline-definition-24CTP7MA-D_ixo9p2.js.gz +0 -0
  309. package/dist/client/assets/vennDiagram-4TSXK5OY-Bt3wQ7L4.js.gz +0 -0
  310. package/dist/client/assets/wardleyDiagram-VM6X3IG4-D-5G4QL_.js.br +0 -0
  311. package/dist/client/assets/wardleyDiagram-VM6X3IG4-D-5G4QL_.js.gz +0 -0
  312. package/dist/client/assets/xychartDiagram-S5SC5T6Z-BcXJGPmd.js.br +0 -0
  313. package/dist/client/assets/xychartDiagram-S5SC5T6Z-BcXJGPmd.js.gz +0 -0
@@ -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 connectCollaborationRpc(runtime.identity, peer);
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, connect: peer => connectCollaborationRpc(runtime.identity, peer) });
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.type === 'collaboration-service') {
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "termdock",
3
- "version": "1.4.234",
3
+ "version": "1.4.236",
4
4
  "description": "A complete web-based terminal application with modern UI",
5
5
  "type": "module",
6
6
  "main": ".desktop-dist/main.js",
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "packageName": "termdock",
4
- "version": "1.4.234",
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-nhvsmvXOZsSAZPmQTztOUo074PRH4RrLqcMhe5r4kKk=",
10
- "clientBundleHash": "sha256-NULxnbzNlpIXlrOpTKR4KD9KY3y5ekC2/dn3VWl6AcE=",
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
  }