termdock 1.4.180 → 1.4.182

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 (321) hide show
  1. package/.desktop-dist/main.js +8 -1
  2. package/dist/client/assets/App-C3FhWPuT.js +150 -0
  3. package/dist/client/assets/App-C3FhWPuT.js.br +0 -0
  4. package/dist/client/assets/App-C3FhWPuT.js.gz +0 -0
  5. package/dist/client/assets/{ChangeWalkthroughPanel-DonkfMV2.js → ChangeWalkthroughPanel-C8Z94w2g.js} +1 -1
  6. package/dist/client/assets/ChangeWalkthroughPanel-C8Z94w2g.js.br +0 -0
  7. package/dist/client/assets/ChangeWalkthroughPanel-C8Z94w2g.js.gz +0 -0
  8. package/dist/client/assets/{DagPlayground-CYL8vhaU.js → DagPlayground-B347vPiA.js} +1 -1
  9. package/dist/client/assets/DagPlayground-B347vPiA.js.br +0 -0
  10. package/dist/client/assets/DagPlayground-B347vPiA.js.gz +0 -0
  11. package/dist/client/assets/{DiffLab-COUjebir.js → DiffLab-BK4vZ-Sc.js} +1 -1
  12. package/dist/client/assets/DiffLab-BK4vZ-Sc.js.br +0 -0
  13. package/dist/client/assets/DiffLab-BK4vZ-Sc.js.gz +0 -0
  14. package/dist/client/assets/{DiffReview-DqiRXomQ.js → DiffReview-B4g_JLm6.js} +1 -1
  15. package/dist/client/assets/DiffReview-B4g_JLm6.js.br +0 -0
  16. package/dist/client/assets/DiffReview-B4g_JLm6.js.gz +0 -0
  17. package/dist/client/assets/{DiffReviewLab-Aqib8Qr6.js → DiffReviewLab-BIqZxIKL.js} +1 -1
  18. package/dist/client/assets/DiffReviewLab-BIqZxIKL.js.br +0 -0
  19. package/dist/client/assets/DiffReviewLab-BIqZxIKL.js.gz +0 -0
  20. package/dist/client/assets/{DiffViewer-KR2GhX72.js → DiffViewer-C_sVFKqh.js} +1 -1
  21. package/dist/client/assets/DiffViewer-C_sVFKqh.js.br +0 -0
  22. package/dist/client/assets/DiffViewer-C_sVFKqh.js.gz +0 -0
  23. package/dist/client/assets/{ModelPreview-Bo6giTPm.js → ModelPreview-DUNi542h.js} +1 -1
  24. package/dist/client/assets/ModelPreview-DUNi542h.js.br +0 -0
  25. package/dist/client/assets/ModelPreview-DUNi542h.js.gz +0 -0
  26. package/dist/client/assets/{RightSidebar-rROjRuPY.js → RightSidebar-miu6zd4Q.js} +4 -4
  27. package/dist/client/assets/RightSidebar-miu6zd4Q.js.br +0 -0
  28. package/dist/client/assets/RightSidebar-miu6zd4Q.js.gz +0 -0
  29. package/dist/client/assets/{abnfDiagram-VCTEODGH-m85vHRkF.js → abnfDiagram-VCTEODGH-CiRnIyN8.js} +1 -1
  30. package/dist/client/assets/abnfDiagram-VCTEODGH-CiRnIyN8.js.br +0 -0
  31. package/dist/client/assets/abnfDiagram-VCTEODGH-CiRnIyN8.js.gz +0 -0
  32. package/dist/client/assets/app-D4bi1nKu.js +34 -0
  33. package/dist/client/assets/app-D4bi1nKu.js.br +0 -0
  34. package/dist/client/assets/app-D4bi1nKu.js.gz +0 -0
  35. package/dist/client/assets/{arc-DmZ3EVhj.js → arc-BzlKn7Nj.js} +1 -1
  36. package/dist/client/assets/arc-BzlKn7Nj.js.br +0 -0
  37. package/dist/client/assets/arc-BzlKn7Nj.js.gz +0 -0
  38. package/dist/client/assets/{architectureDiagram-5GKGNRK7-C8yGaNGM.js → architectureDiagram-5GKGNRK7-zqQcKxjn.js} +1 -1
  39. package/dist/client/assets/architectureDiagram-5GKGNRK7-zqQcKxjn.js.br +0 -0
  40. package/dist/client/assets/architectureDiagram-5GKGNRK7-zqQcKxjn.js.gz +0 -0
  41. package/dist/client/assets/{blockDiagram-I7D4REHJ-CZhh__cR.js → blockDiagram-I7D4REHJ-ZLEME22L.js} +1 -1
  42. package/dist/client/assets/blockDiagram-I7D4REHJ-ZLEME22L.js.br +0 -0
  43. package/dist/client/assets/blockDiagram-I7D4REHJ-ZLEME22L.js.gz +0 -0
  44. package/dist/client/assets/{c4Diagram-7LVT6UL2-py7O2OOO.js → c4Diagram-7LVT6UL2-ccB54wpm.js} +1 -1
  45. package/dist/client/assets/c4Diagram-7LVT6UL2-ccB54wpm.js.br +0 -0
  46. package/dist/client/assets/c4Diagram-7LVT6UL2-ccB54wpm.js.gz +0 -0
  47. package/dist/client/assets/channel-DRZxmpId.js +1 -0
  48. package/dist/client/assets/{chunk-2Q5K7J3B-SXGoQcYW.js → chunk-2Q5K7J3B-DQGeXlRV.js} +1 -1
  49. package/dist/client/assets/{chunk-5VM5RSS4-1ZVyPSGv.js → chunk-5VM5RSS4-DIEZzR6i.js} +1 -1
  50. package/dist/client/assets/{chunk-F27PBJKO-DkIqnjYj.js → chunk-F27PBJKO-D9pLPMU7.js} +1 -1
  51. package/dist/client/assets/chunk-F27PBJKO-D9pLPMU7.js.br +0 -0
  52. package/dist/client/assets/chunk-F27PBJKO-D9pLPMU7.js.gz +0 -0
  53. package/dist/client/assets/{chunk-IMKFNOWR-CLS_EByq.js → chunk-IMKFNOWR-DHCutr4q.js} +1 -1
  54. package/dist/client/assets/chunk-IMKFNOWR-DHCutr4q.js.br +0 -0
  55. package/dist/client/assets/chunk-IMKFNOWR-DHCutr4q.js.gz +0 -0
  56. package/dist/client/assets/{chunk-JWPE2WC7-8LtK4UYW.js → chunk-JWPE2WC7-B_NQmUba.js} +1 -1
  57. package/dist/client/assets/{chunk-POPQ4Y6H-D1PhOQEv.js → chunk-POPQ4Y6H-Bo3FQy-v.js} +1 -1
  58. package/dist/client/assets/{chunk-SVP7TREG-cVWIfR_4.js → chunk-SVP7TREG-6oN7NKfa.js} +1 -1
  59. package/dist/client/assets/chunk-SVP7TREG-6oN7NKfa.js.br +0 -0
  60. package/dist/client/assets/chunk-SVP7TREG-6oN7NKfa.js.gz +0 -0
  61. package/dist/client/assets/{chunk-TICWLB2K-BiO8AIZ7.js → chunk-TICWLB2K-C_t_Z6hu.js} +1 -1
  62. package/dist/client/assets/chunk-TICWLB2K-C_t_Z6hu.js.br +0 -0
  63. package/dist/client/assets/chunk-TICWLB2K-C_t_Z6hu.js.gz +0 -0
  64. package/dist/client/assets/{chunk-XXDRQBXY-CwP0rAj8.js → chunk-XXDRQBXY-DL5s_DQ9.js} +1 -1
  65. package/dist/client/assets/classDiagram-ZZMXUADV-BLPOkUsE.js +1 -0
  66. package/dist/client/assets/classDiagram-v2-VYDZK3BY-BLPOkUsE.js +1 -0
  67. package/dist/client/assets/{cose-bilkent-JH36ORCC-Dv9GK27H.js → cose-bilkent-JH36ORCC-DTwwrcsW.js} +1 -1
  68. package/dist/client/assets/cose-bilkent-JH36ORCC-DTwwrcsW.js.br +0 -0
  69. package/dist/client/assets/cose-bilkent-JH36ORCC-DTwwrcsW.js.gz +0 -0
  70. package/dist/client/assets/{cynefin-OW5HDTMX-DDI6luT6.js → cynefin-OW5HDTMX-MYJg4KlQ.js} +1 -1
  71. package/dist/client/assets/cynefin-OW5HDTMX-MYJg4KlQ.js.br +0 -0
  72. package/dist/client/assets/cynefin-OW5HDTMX-MYJg4KlQ.js.gz +0 -0
  73. package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-DQpaBQcE.js → cynefinDiagram-5FMLGOSQ-CukBWCyZ.js} +1 -1
  74. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-CukBWCyZ.js.br +0 -0
  75. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-CukBWCyZ.js.gz +0 -0
  76. package/dist/client/assets/{dagre-GXQ25YYZ-CZ-1rzmK.js → dagre-GXQ25YYZ-BqLMjdBU.js} +1 -1
  77. package/dist/client/assets/dagre-GXQ25YYZ-BqLMjdBU.js.br +0 -0
  78. package/dist/client/assets/dagre-GXQ25YYZ-BqLMjdBU.js.gz +0 -0
  79. package/dist/client/assets/{diagram-S7CK7UJ4-DeYvGv1c.js → diagram-S7CK7UJ4-CgEjBOqO.js} +1 -1
  80. package/dist/client/assets/diagram-S7CK7UJ4-CgEjBOqO.js.br +0 -0
  81. package/dist/client/assets/diagram-S7CK7UJ4-CgEjBOqO.js.gz +0 -0
  82. package/dist/client/assets/{diagram-UQ7AKVKN-BaYQC1t6.js → diagram-UQ7AKVKN-CsQ76PAu.js} +1 -1
  83. package/dist/client/assets/diagram-UQ7AKVKN-CsQ76PAu.js.br +0 -0
  84. package/dist/client/assets/diagram-UQ7AKVKN-CsQ76PAu.js.gz +0 -0
  85. package/dist/client/assets/{diagram-VSXAHHWV-B517BnK0.js → diagram-VSXAHHWV-DNKNKtwm.js} +1 -1
  86. package/dist/client/assets/diagram-VSXAHHWV-DNKNKtwm.js.br +0 -0
  87. package/dist/client/assets/diagram-VSXAHHWV-DNKNKtwm.js.gz +0 -0
  88. package/dist/client/assets/{diagram-VX7I27RA-DyjVlDcv.js → diagram-VX7I27RA-D8wJufea.js} +1 -1
  89. package/dist/client/assets/diagram-VX7I27RA-D8wJufea.js.br +0 -0
  90. package/dist/client/assets/diagram-VX7I27RA-D8wJufea.js.gz +0 -0
  91. package/dist/client/assets/{diagram-Z3DM3KII-Cy9JXHOz.js → diagram-Z3DM3KII-R-tMm1Qf.js} +1 -1
  92. package/dist/client/assets/diagram-Z3DM3KII-R-tMm1Qf.js.br +0 -0
  93. package/dist/client/assets/diagram-Z3DM3KII-R-tMm1Qf.js.gz +0 -0
  94. package/dist/client/assets/{ebnfDiagram-PWID7BFC-xvEH045b.js → ebnfDiagram-PWID7BFC-BdASLvZ2.js} +1 -1
  95. package/dist/client/assets/ebnfDiagram-PWID7BFC-BdASLvZ2.js.br +0 -0
  96. package/dist/client/assets/ebnfDiagram-PWID7BFC-BdASLvZ2.js.gz +0 -0
  97. package/dist/client/assets/{erDiagram-RLTQ6QDP-BTJDgwKq.js → erDiagram-RLTQ6QDP-BSHnpzso.js} +1 -1
  98. package/dist/client/assets/erDiagram-RLTQ6QDP-BSHnpzso.js.br +0 -0
  99. package/dist/client/assets/erDiagram-RLTQ6QDP-BSHnpzso.js.gz +0 -0
  100. package/dist/client/assets/{flowDiagram-HODETNUW-6pq1SF-S.js → flowDiagram-HODETNUW-BWjUOE8Q.js} +1 -1
  101. package/dist/client/assets/flowDiagram-HODETNUW-BWjUOE8Q.js.br +0 -0
  102. package/dist/client/assets/flowDiagram-HODETNUW-BWjUOE8Q.js.gz +0 -0
  103. package/dist/client/assets/{ganttDiagram-EL5Y4UJY-DS_l5v9m.js → ganttDiagram-EL5Y4UJY-CweWng_r.js} +1 -1
  104. package/dist/client/assets/ganttDiagram-EL5Y4UJY-CweWng_r.js.br +0 -0
  105. package/dist/client/assets/ganttDiagram-EL5Y4UJY-CweWng_r.js.gz +0 -0
  106. package/dist/client/assets/{gestureArbiter-FtwbRpdp.js → gestureArbiter-Ct48NAQ_.js} +1 -1
  107. package/dist/client/assets/gestureArbiter-Ct48NAQ_.js.br +0 -0
  108. package/dist/client/assets/gestureArbiter-Ct48NAQ_.js.gz +0 -0
  109. package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-DEGFo3aa.js → gitGraphDiagram-WWUBYQGX-Dtjzi3zx.js} +1 -1
  110. package/dist/client/assets/gitGraphDiagram-WWUBYQGX-Dtjzi3zx.js.br +0 -0
  111. package/dist/client/assets/gitGraphDiagram-WWUBYQGX-Dtjzi3zx.js.gz +0 -0
  112. package/dist/client/assets/{index-PWu1VEN_.css → index-BxbMl-YL.css} +1 -1
  113. package/dist/client/assets/index-BxbMl-YL.css.br +0 -0
  114. package/dist/client/assets/{index-PWu1VEN_.css.gz → index-BxbMl-YL.css.gz} +0 -0
  115. package/dist/client/assets/{infoDiagram-27XIBGKW-CFVSyJdD.js → infoDiagram-27XIBGKW-Wnivn2tb.js} +1 -1
  116. package/dist/client/assets/{ishikawaDiagram-5VMMS53U-_YX0U_wu.js → ishikawaDiagram-5VMMS53U-C8s4yck4.js} +1 -1
  117. package/dist/client/assets/ishikawaDiagram-5VMMS53U-C8s4yck4.js.br +0 -0
  118. package/dist/client/assets/ishikawaDiagram-5VMMS53U-C8s4yck4.js.gz +0 -0
  119. package/dist/client/assets/{journeyDiagram-3NMN7TZE-DCujswss.js → journeyDiagram-3NMN7TZE-bj_0hsI5.js} +1 -1
  120. package/dist/client/assets/journeyDiagram-3NMN7TZE-bj_0hsI5.js.br +0 -0
  121. package/dist/client/assets/journeyDiagram-3NMN7TZE-bj_0hsI5.js.gz +0 -0
  122. package/dist/client/assets/{kanban-definition-UXKFOSKX-DC6lqIBi.js → kanban-definition-UXKFOSKX-DFA_pqJ6.js} +1 -1
  123. package/dist/client/assets/kanban-definition-UXKFOSKX-DFA_pqJ6.js.br +0 -0
  124. package/dist/client/assets/kanban-definition-UXKFOSKX-DFA_pqJ6.js.gz +0 -0
  125. package/dist/client/assets/{layout-D_hlL0MC.js → layout-NBJ7g1jt.js} +1 -1
  126. package/dist/client/assets/layout-NBJ7g1jt.js.br +0 -0
  127. package/dist/client/assets/layout-NBJ7g1jt.js.gz +0 -0
  128. package/dist/client/assets/{linear-BxpjJ2yt.js → linear-BBGB1EJN.js} +1 -1
  129. package/dist/client/assets/linear-BBGB1EJN.js.br +0 -0
  130. package/dist/client/assets/linear-BBGB1EJN.js.gz +0 -0
  131. package/dist/client/assets/{mermaid.core-BRLYB1Uj.js → mermaid.core-DdPTd6HI.js} +5 -5
  132. package/dist/client/assets/mermaid.core-DdPTd6HI.js.br +0 -0
  133. package/dist/client/assets/mermaid.core-DdPTd6HI.js.gz +0 -0
  134. package/dist/client/assets/{mindmap-definition-YA3MSWOX-BF2f-Z54.js → mindmap-definition-YA3MSWOX-B0J8BxhB.js} +1 -1
  135. package/dist/client/assets/mindmap-definition-YA3MSWOX-B0J8BxhB.js.br +0 -0
  136. package/dist/client/assets/mindmap-definition-YA3MSWOX-B0J8BxhB.js.gz +0 -0
  137. package/dist/client/assets/{passwordBootstrap-hj2Lcgoj.js → passwordBootstrap-QDmmLMrv.js} +1 -1
  138. package/dist/client/assets/passwordBootstrap-QDmmLMrv.js.br +0 -0
  139. package/dist/client/assets/passwordBootstrap-QDmmLMrv.js.gz +0 -0
  140. package/dist/client/assets/{pegDiagram-XKGWAZYB-FxHPBhCy.js → pegDiagram-XKGWAZYB-DJ4aFSvp.js} +1 -1
  141. package/dist/client/assets/pegDiagram-XKGWAZYB-DJ4aFSvp.js.br +0 -0
  142. package/dist/client/assets/pegDiagram-XKGWAZYB-DJ4aFSvp.js.gz +0 -0
  143. package/dist/client/assets/{pieDiagram-E7YTZNPT-DqAcArGH.js → pieDiagram-E7YTZNPT-_1N1DmU7.js} +1 -1
  144. package/dist/client/assets/pieDiagram-E7YTZNPT-_1N1DmU7.js.br +0 -0
  145. package/dist/client/assets/pieDiagram-E7YTZNPT-_1N1DmU7.js.gz +0 -0
  146. package/dist/client/assets/{quadrantDiagram-AXDQQJYC-31lk30-Y.js → quadrantDiagram-AXDQQJYC-DILJSnvu.js} +1 -1
  147. package/dist/client/assets/quadrantDiagram-AXDQQJYC-DILJSnvu.js.br +0 -0
  148. package/dist/client/assets/quadrantDiagram-AXDQQJYC-DILJSnvu.js.gz +0 -0
  149. package/dist/client/assets/{railroadDiagram-O6MQD6OU-C-Jt17Wl.js → railroadDiagram-O6MQD6OU-CcLLTkvb.js} +1 -1
  150. package/dist/client/assets/railroadDiagram-O6MQD6OU-CcLLTkvb.js.br +0 -0
  151. package/dist/client/assets/railroadDiagram-O6MQD6OU-CcLLTkvb.js.gz +0 -0
  152. package/dist/client/assets/{referenceLongPress-BPFSnCDQ.js → referenceLongPress-By7VlVun.js} +1 -1
  153. package/dist/client/assets/referenceLongPress-By7VlVun.js.br +0 -0
  154. package/dist/client/assets/referenceLongPress-By7VlVun.js.gz +0 -0
  155. package/dist/client/assets/{requirementDiagram-BXWQKSXE-DdrbsuCJ.js → requirementDiagram-BXWQKSXE-CvUI7HBN.js} +1 -1
  156. package/dist/client/assets/requirementDiagram-BXWQKSXE-CvUI7HBN.js.br +0 -0
  157. package/dist/client/assets/requirementDiagram-BXWQKSXE-CvUI7HBN.js.gz +0 -0
  158. package/dist/client/assets/{sankeyDiagram-P5KCCOFB-CZjs9KFo.js → sankeyDiagram-P5KCCOFB-CZ8GBt8C.js} +1 -1
  159. package/dist/client/assets/sankeyDiagram-P5KCCOFB-CZ8GBt8C.js.br +0 -0
  160. package/dist/client/assets/sankeyDiagram-P5KCCOFB-CZ8GBt8C.js.gz +0 -0
  161. package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-CkD1f6v4.js → sequenceDiagram-WJ2MYXX4-DHWKvAjY.js} +1 -1
  162. package/dist/client/assets/sequenceDiagram-WJ2MYXX4-DHWKvAjY.js.br +0 -0
  163. package/dist/client/assets/sequenceDiagram-WJ2MYXX4-DHWKvAjY.js.gz +0 -0
  164. package/dist/client/assets/{sizeCapture-INFHLROL-BMuKV0gL.js → sizeCapture-INFHLROL-BUSpQr4L.js} +1 -1
  165. package/dist/client/assets/sizeCapture-INFHLROL-BUSpQr4L.js.br +0 -0
  166. package/dist/client/assets/sizeCapture-INFHLROL-BUSpQr4L.js.gz +0 -0
  167. package/dist/client/assets/{sparkles-DuRvUCWG.js → sparkles-G3H33F5a.js} +1 -1
  168. package/dist/client/assets/{stateDiagram-D77RDMKH-B1lLo2WA.js → stateDiagram-D77RDMKH-COA19IfQ.js} +1 -1
  169. package/dist/client/assets/stateDiagram-D77RDMKH-COA19IfQ.js.br +0 -0
  170. package/dist/client/assets/stateDiagram-D77RDMKH-COA19IfQ.js.gz +0 -0
  171. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-BV2nil3q.js +1 -0
  172. package/dist/client/assets/{swimlanes-42K2YHIH-CfC5CNjA.js → swimlanes-42K2YHIH-BMxWf7Tp.js} +1 -1
  173. package/dist/client/assets/swimlanes-42K2YHIH-BMxWf7Tp.js.br +0 -0
  174. package/dist/client/assets/swimlanes-42K2YHIH-BMxWf7Tp.js.gz +0 -0
  175. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-CyhwNCUX.js +8 -0
  176. package/dist/client/assets/{timeline-definition-24CTP7MA-0mM-Skdo.js → timeline-definition-24CTP7MA-C2w_tLYQ.js} +1 -1
  177. package/dist/client/assets/timeline-definition-24CTP7MA-C2w_tLYQ.js.br +0 -0
  178. package/dist/client/assets/timeline-definition-24CTP7MA-C2w_tLYQ.js.gz +0 -0
  179. package/dist/client/assets/{triangle-alert-wyGdnPOg.js → triangle-alert-DZ6cNvXs.js} +1 -1
  180. package/dist/client/assets/{vennDiagram-4TSXK5OY-BYsJo_hU.js → vennDiagram-4TSXK5OY-DNif-SIL.js} +1 -1
  181. package/dist/client/assets/vennDiagram-4TSXK5OY-DNif-SIL.js.br +0 -0
  182. package/dist/client/assets/vennDiagram-4TSXK5OY-DNif-SIL.js.gz +0 -0
  183. package/dist/client/assets/{wardleyDiagram-VM6X3IG4-ree3u-pI.js → wardleyDiagram-VM6X3IG4-myJuGhMo.js} +1 -1
  184. package/dist/client/assets/wardleyDiagram-VM6X3IG4-myJuGhMo.js.br +0 -0
  185. package/dist/client/assets/wardleyDiagram-VM6X3IG4-myJuGhMo.js.gz +0 -0
  186. package/dist/client/assets/{xychartDiagram-S5SC5T6Z-DDono4Wc.js → xychartDiagram-S5SC5T6Z-CCEXVMtR.js} +1 -1
  187. package/dist/client/assets/xychartDiagram-S5SC5T6Z-CCEXVMtR.js.br +0 -0
  188. package/dist/client/assets/xychartDiagram-S5SC5T6Z-CCEXVMtR.js.gz +0 -0
  189. package/dist/client/index.html +51 -4
  190. package/dist/client/index.html.br +0 -0
  191. package/dist/client/index.html.gz +0 -0
  192. package/dist/client/sw.js +1 -1
  193. package/dist/client/sw.js.br +0 -0
  194. package/dist/client/sw.js.gz +0 -0
  195. package/dist/server/agent/collaborationGroupRoutes.js +84 -0
  196. package/dist/server/agent/collaborationStore.js +71 -9
  197. package/dist/server/routes/terminal.js +9 -31
  198. package/package.json +1 -1
  199. package/runtime-manifest.json +3 -3
  200. package/dist/client/assets/App-DBds0RoW.js +0 -150
  201. package/dist/client/assets/App-DBds0RoW.js.br +0 -0
  202. package/dist/client/assets/App-DBds0RoW.js.gz +0 -0
  203. package/dist/client/assets/ChangeWalkthroughPanel-DonkfMV2.js.br +0 -0
  204. package/dist/client/assets/ChangeWalkthroughPanel-DonkfMV2.js.gz +0 -0
  205. package/dist/client/assets/DagPlayground-CYL8vhaU.js.br +0 -0
  206. package/dist/client/assets/DagPlayground-CYL8vhaU.js.gz +0 -0
  207. package/dist/client/assets/DiffLab-COUjebir.js.br +0 -0
  208. package/dist/client/assets/DiffLab-COUjebir.js.gz +0 -0
  209. package/dist/client/assets/DiffReview-DqiRXomQ.js.br +0 -0
  210. package/dist/client/assets/DiffReview-DqiRXomQ.js.gz +0 -0
  211. package/dist/client/assets/DiffReviewLab-Aqib8Qr6.js.br +0 -0
  212. package/dist/client/assets/DiffReviewLab-Aqib8Qr6.js.gz +0 -0
  213. package/dist/client/assets/DiffViewer-KR2GhX72.js.br +0 -0
  214. package/dist/client/assets/DiffViewer-KR2GhX72.js.gz +0 -0
  215. package/dist/client/assets/ModelPreview-Bo6giTPm.js.br +0 -0
  216. package/dist/client/assets/ModelPreview-Bo6giTPm.js.gz +0 -0
  217. package/dist/client/assets/RightSidebar-rROjRuPY.js.br +0 -0
  218. package/dist/client/assets/RightSidebar-rROjRuPY.js.gz +0 -0
  219. package/dist/client/assets/abnfDiagram-VCTEODGH-m85vHRkF.js.br +0 -0
  220. package/dist/client/assets/abnfDiagram-VCTEODGH-m85vHRkF.js.gz +0 -0
  221. package/dist/client/assets/app-Djvvt1Mi.js +0 -34
  222. package/dist/client/assets/app-Djvvt1Mi.js.br +0 -0
  223. package/dist/client/assets/app-Djvvt1Mi.js.gz +0 -0
  224. package/dist/client/assets/arc-DmZ3EVhj.js.br +0 -0
  225. package/dist/client/assets/arc-DmZ3EVhj.js.gz +0 -0
  226. package/dist/client/assets/architectureDiagram-5GKGNRK7-C8yGaNGM.js.br +0 -0
  227. package/dist/client/assets/architectureDiagram-5GKGNRK7-C8yGaNGM.js.gz +0 -0
  228. package/dist/client/assets/blockDiagram-I7D4REHJ-CZhh__cR.js.br +0 -0
  229. package/dist/client/assets/blockDiagram-I7D4REHJ-CZhh__cR.js.gz +0 -0
  230. package/dist/client/assets/c4Diagram-7LVT6UL2-py7O2OOO.js.br +0 -0
  231. package/dist/client/assets/c4Diagram-7LVT6UL2-py7O2OOO.js.gz +0 -0
  232. package/dist/client/assets/channel-BnKOV34C.js +0 -1
  233. package/dist/client/assets/chunk-F27PBJKO-DkIqnjYj.js.br +0 -0
  234. package/dist/client/assets/chunk-F27PBJKO-DkIqnjYj.js.gz +0 -0
  235. package/dist/client/assets/chunk-IMKFNOWR-CLS_EByq.js.br +0 -0
  236. package/dist/client/assets/chunk-IMKFNOWR-CLS_EByq.js.gz +0 -0
  237. package/dist/client/assets/chunk-SVP7TREG-cVWIfR_4.js.br +0 -0
  238. package/dist/client/assets/chunk-SVP7TREG-cVWIfR_4.js.gz +0 -0
  239. package/dist/client/assets/chunk-TICWLB2K-BiO8AIZ7.js.br +0 -0
  240. package/dist/client/assets/chunk-TICWLB2K-BiO8AIZ7.js.gz +0 -0
  241. package/dist/client/assets/classDiagram-ZZMXUADV-CZ5ElqWa.js +0 -1
  242. package/dist/client/assets/classDiagram-v2-VYDZK3BY-CZ5ElqWa.js +0 -1
  243. package/dist/client/assets/cose-bilkent-JH36ORCC-Dv9GK27H.js.br +0 -0
  244. package/dist/client/assets/cose-bilkent-JH36ORCC-Dv9GK27H.js.gz +0 -0
  245. package/dist/client/assets/cynefin-OW5HDTMX-DDI6luT6.js.br +0 -0
  246. package/dist/client/assets/cynefin-OW5HDTMX-DDI6luT6.js.gz +0 -0
  247. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-DQpaBQcE.js.br +0 -0
  248. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-DQpaBQcE.js.gz +0 -0
  249. package/dist/client/assets/dagre-GXQ25YYZ-CZ-1rzmK.js.br +0 -0
  250. package/dist/client/assets/dagre-GXQ25YYZ-CZ-1rzmK.js.gz +0 -0
  251. package/dist/client/assets/diagram-S7CK7UJ4-DeYvGv1c.js.br +0 -0
  252. package/dist/client/assets/diagram-S7CK7UJ4-DeYvGv1c.js.gz +0 -0
  253. package/dist/client/assets/diagram-UQ7AKVKN-BaYQC1t6.js.br +0 -0
  254. package/dist/client/assets/diagram-UQ7AKVKN-BaYQC1t6.js.gz +0 -0
  255. package/dist/client/assets/diagram-VSXAHHWV-B517BnK0.js.br +0 -0
  256. package/dist/client/assets/diagram-VSXAHHWV-B517BnK0.js.gz +0 -0
  257. package/dist/client/assets/diagram-VX7I27RA-DyjVlDcv.js.br +0 -0
  258. package/dist/client/assets/diagram-VX7I27RA-DyjVlDcv.js.gz +0 -0
  259. package/dist/client/assets/diagram-Z3DM3KII-Cy9JXHOz.js.br +0 -0
  260. package/dist/client/assets/diagram-Z3DM3KII-Cy9JXHOz.js.gz +0 -0
  261. package/dist/client/assets/ebnfDiagram-PWID7BFC-xvEH045b.js.br +0 -0
  262. package/dist/client/assets/ebnfDiagram-PWID7BFC-xvEH045b.js.gz +0 -0
  263. package/dist/client/assets/erDiagram-RLTQ6QDP-BTJDgwKq.js.br +0 -0
  264. package/dist/client/assets/erDiagram-RLTQ6QDP-BTJDgwKq.js.gz +0 -0
  265. package/dist/client/assets/flowDiagram-HODETNUW-6pq1SF-S.js.br +0 -0
  266. package/dist/client/assets/flowDiagram-HODETNUW-6pq1SF-S.js.gz +0 -0
  267. package/dist/client/assets/ganttDiagram-EL5Y4UJY-DS_l5v9m.js.br +0 -0
  268. package/dist/client/assets/ganttDiagram-EL5Y4UJY-DS_l5v9m.js.gz +0 -0
  269. package/dist/client/assets/gestureArbiter-FtwbRpdp.js.br +0 -0
  270. package/dist/client/assets/gestureArbiter-FtwbRpdp.js.gz +0 -0
  271. package/dist/client/assets/gitGraphDiagram-WWUBYQGX-DEGFo3aa.js.br +0 -0
  272. package/dist/client/assets/gitGraphDiagram-WWUBYQGX-DEGFo3aa.js.gz +0 -0
  273. package/dist/client/assets/index-PWu1VEN_.css.br +0 -0
  274. package/dist/client/assets/ishikawaDiagram-5VMMS53U-_YX0U_wu.js.br +0 -0
  275. package/dist/client/assets/ishikawaDiagram-5VMMS53U-_YX0U_wu.js.gz +0 -0
  276. package/dist/client/assets/journeyDiagram-3NMN7TZE-DCujswss.js.br +0 -0
  277. package/dist/client/assets/journeyDiagram-3NMN7TZE-DCujswss.js.gz +0 -0
  278. package/dist/client/assets/kanban-definition-UXKFOSKX-DC6lqIBi.js.br +0 -0
  279. package/dist/client/assets/kanban-definition-UXKFOSKX-DC6lqIBi.js.gz +0 -0
  280. package/dist/client/assets/layout-D_hlL0MC.js.br +0 -0
  281. package/dist/client/assets/layout-D_hlL0MC.js.gz +0 -0
  282. package/dist/client/assets/linear-BxpjJ2yt.js.br +0 -0
  283. package/dist/client/assets/linear-BxpjJ2yt.js.gz +0 -0
  284. package/dist/client/assets/mermaid.core-BRLYB1Uj.js.br +0 -0
  285. package/dist/client/assets/mermaid.core-BRLYB1Uj.js.gz +0 -0
  286. package/dist/client/assets/mindmap-definition-YA3MSWOX-BF2f-Z54.js.br +0 -0
  287. package/dist/client/assets/mindmap-definition-YA3MSWOX-BF2f-Z54.js.gz +0 -0
  288. package/dist/client/assets/passwordBootstrap-hj2Lcgoj.js.br +0 -0
  289. package/dist/client/assets/passwordBootstrap-hj2Lcgoj.js.gz +0 -0
  290. package/dist/client/assets/pegDiagram-XKGWAZYB-FxHPBhCy.js.br +0 -0
  291. package/dist/client/assets/pegDiagram-XKGWAZYB-FxHPBhCy.js.gz +0 -0
  292. package/dist/client/assets/pieDiagram-E7YTZNPT-DqAcArGH.js.br +0 -0
  293. package/dist/client/assets/pieDiagram-E7YTZNPT-DqAcArGH.js.gz +0 -0
  294. package/dist/client/assets/quadrantDiagram-AXDQQJYC-31lk30-Y.js.br +0 -0
  295. package/dist/client/assets/quadrantDiagram-AXDQQJYC-31lk30-Y.js.gz +0 -0
  296. package/dist/client/assets/railroadDiagram-O6MQD6OU-C-Jt17Wl.js.br +0 -0
  297. package/dist/client/assets/railroadDiagram-O6MQD6OU-C-Jt17Wl.js.gz +0 -0
  298. package/dist/client/assets/referenceLongPress-BPFSnCDQ.js.br +0 -0
  299. package/dist/client/assets/referenceLongPress-BPFSnCDQ.js.gz +0 -0
  300. package/dist/client/assets/requirementDiagram-BXWQKSXE-DdrbsuCJ.js.br +0 -0
  301. package/dist/client/assets/requirementDiagram-BXWQKSXE-DdrbsuCJ.js.gz +0 -0
  302. package/dist/client/assets/sankeyDiagram-P5KCCOFB-CZjs9KFo.js.br +0 -0
  303. package/dist/client/assets/sankeyDiagram-P5KCCOFB-CZjs9KFo.js.gz +0 -0
  304. package/dist/client/assets/sequenceDiagram-WJ2MYXX4-CkD1f6v4.js.br +0 -0
  305. package/dist/client/assets/sequenceDiagram-WJ2MYXX4-CkD1f6v4.js.gz +0 -0
  306. package/dist/client/assets/sizeCapture-INFHLROL-BMuKV0gL.js.br +0 -0
  307. package/dist/client/assets/sizeCapture-INFHLROL-BMuKV0gL.js.gz +0 -0
  308. package/dist/client/assets/stateDiagram-D77RDMKH-B1lLo2WA.js.br +0 -0
  309. package/dist/client/assets/stateDiagram-D77RDMKH-B1lLo2WA.js.gz +0 -0
  310. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-F5MbngH8.js +0 -1
  311. package/dist/client/assets/swimlanes-42K2YHIH-CfC5CNjA.js.br +0 -0
  312. package/dist/client/assets/swimlanes-42K2YHIH-CfC5CNjA.js.gz +0 -0
  313. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-BqbZwNvL.js +0 -8
  314. package/dist/client/assets/timeline-definition-24CTP7MA-0mM-Skdo.js.br +0 -0
  315. package/dist/client/assets/timeline-definition-24CTP7MA-0mM-Skdo.js.gz +0 -0
  316. package/dist/client/assets/vennDiagram-4TSXK5OY-BYsJo_hU.js.br +0 -0
  317. package/dist/client/assets/vennDiagram-4TSXK5OY-BYsJo_hU.js.gz +0 -0
  318. package/dist/client/assets/wardleyDiagram-VM6X3IG4-ree3u-pI.js.br +0 -0
  319. package/dist/client/assets/wardleyDiagram-VM6X3IG4-ree3u-pI.js.gz +0 -0
  320. package/dist/client/assets/xychartDiagram-S5SC5T6Z-DDono4Wc.js.br +0 -0
  321. package/dist/client/assets/xychartDiagram-S5SC5T6Z-DDono4Wc.js.gz +0 -0
@@ -70,6 +70,34 @@ export class CollaborationStore {
70
70
  this.persist();
71
71
  return true;
72
72
  }
73
+ /** A drag between two groups commits both memberships (or neither). */
74
+ moveMember(input) {
75
+ const source = this.getGroup(input.sourceGroupId);
76
+ const target = this.getGroup(input.targetGroupId);
77
+ if (!source || source.deleted || !target || target.deleted)
78
+ throw new CollaborationError('GROUP_NOT_FOUND', '协作组已删除,请刷新列表', 404);
79
+ if (source.id === target.id || !source.sessionIds.includes(input.sessionId)
80
+ || source.updatedAt !== input.expectedSourceUpdatedAt || target.updatedAt !== input.expectedTargetUpdatedAt) {
81
+ throw new CollaborationError('GROUP_CHANGED', '协作组已变化,请刷新后重新移动成员', 409);
82
+ }
83
+ const sourceIds = source.sessionIds.filter((id) => id !== input.sessionId);
84
+ const dissolved = sourceIds.length < 2;
85
+ const now = Date.now();
86
+ this.document = { ...this.document,
87
+ groups: this.document.groups.flatMap((group) => {
88
+ if (group.id === source.id) {
89
+ if (dissolved)
90
+ return group.federated ? [{ ...group, deleted: true, updatedAt: Math.max(now, group.updatedAt + 1) }] : [];
91
+ return [{ ...group, sessionIds: sourceIds,
92
+ ...(group.remoteSessions ? { remoteSessions: group.remoteSessions.filter((session) => sourceIds.includes(session.sessionId)) } : {}),
93
+ updatedAt: Math.max(now, group.updatedAt + 1) }];
94
+ }
95
+ return group.id === target.id ? [{ ...group, sessionIds: [...new Set([...group.sessionIds, input.sessionId])], updatedAt: Math.max(now, group.updatedAt + 1) }] : [group];
96
+ }),
97
+ messages: dissolved ? this.document.messages.filter((message) => message.groupId !== source.id) : this.document.messages,
98
+ };
99
+ this.persist();
100
+ }
73
101
  removeSession(sessionId) {
74
102
  const affected = this.document.groups.filter((group) => group.sessionIds.includes(sessionId));
75
103
  if (affected.length === 0)
@@ -196,15 +224,7 @@ export class CollaborationStore {
196
224
  return { groups, messages, transportDiagnostics: Object.fromEntries(messages.flatMap((message) => this.document.transport?.[message.id] ? [[message.id, this.document.transport[message.id]]] : [])) };
197
225
  }
198
226
  mergeFederatedGroup(group) {
199
- if (!group.federated || typeof group.id !== 'string' || !group.id.startsWith('cross-') || typeof group.name !== 'string' || !group.name.trim()
200
- || !Number.isFinite(group.updatedAt) || !Number.isFinite(group.createdAt)
201
- || !Array.isArray(group.sessionIds) || group.sessionIds.some((id) => typeof id !== 'string')
202
- || !Array.isArray(group.remoteSessions) || group.remoteSessions.some((session) => !session
203
- || typeof session.sessionId !== 'string' || !session.sessionId.startsWith('remote:')
204
- || typeof session.serviceOrigin !== 'string' || typeof session.serviceLabel !== 'string'
205
- || typeof session.name !== 'string' || !group.sessionIds.includes(session.sessionId))
206
- || (!group.deleted && new Set(group.sessionIds).size < 2))
207
- throw new Error('跨服务工作组无效');
227
+ validateFederatedGroup(group);
208
228
  const existing = this.getGroup(group.id);
209
229
  if (existing && (!existing.federated || existing.updatedAt > group.updatedAt))
210
230
  return;
@@ -213,6 +233,37 @@ export class CollaborationStore {
213
233
  this.document.messages = this.document.messages.filter((item) => item.groupId !== group.id);
214
234
  this.persist();
215
235
  }
236
+ /** Promote the source group and its complete history in one atomic file replacement. */
237
+ promoteGroup(id, group, expectedUpdatedAt) {
238
+ validateFederatedGroup(group);
239
+ const existing = this.getGroup(id);
240
+ if (!existing || existing.deleted)
241
+ throw new CollaborationError('GROUP_NOT_FOUND', '协作组已删除,请刷新列表', 404);
242
+ if (existing.federated || existing.updatedAt !== expectedUpdatedAt || this.getGroup(group.id)) {
243
+ throw new CollaborationError('GROUP_CHANGED', '协作组已被修改,请重新打开成员管理后再保存', 409);
244
+ }
245
+ const promoted = { ...group, createdAt: existing.createdAt, updatedAt: Math.max(Date.now(), existing.updatedAt + 1, group.updatedAt) };
246
+ const idempotency = { ...this.document.idempotency };
247
+ for (const [key, value] of Object.entries(idempotency)) {
248
+ let parts;
249
+ try {
250
+ parts = JSON.parse(key);
251
+ }
252
+ catch {
253
+ continue;
254
+ }
255
+ if (Array.isArray(parts) && parts[0] === id) {
256
+ delete idempotency[key];
257
+ idempotency[JSON.stringify([promoted.id, ...parts.slice(1)])] = value;
258
+ }
259
+ }
260
+ this.document = { ...this.document, idempotency,
261
+ groups: this.document.groups.map((item) => item.id === id ? promoted : item),
262
+ messages: this.document.messages.map((message) => message.groupId === id ? { ...message, groupId: promoted.id } : message),
263
+ };
264
+ this.persist();
265
+ return promoted;
266
+ }
216
267
  mergeFederatedMessages(messages) {
217
268
  let changed = false;
218
269
  const rank = STATUS_RANK;
@@ -439,3 +490,14 @@ function stableJson(value) {
439
490
  return JSON.stringify(value, (_key, entry) => entry && typeof entry === 'object' && !Array.isArray(entry)
440
491
  ? Object.fromEntries(Object.entries(entry).sort(([a], [b]) => a.localeCompare(b))) : entry);
441
492
  }
493
+ function validateFederatedGroup(group) {
494
+ if (!group.federated || typeof group.id !== 'string' || !group.id.startsWith('cross-') || typeof group.name !== 'string' || !group.name.trim()
495
+ || !Number.isFinite(group.updatedAt) || !Number.isFinite(group.createdAt)
496
+ || !Array.isArray(group.sessionIds) || group.sessionIds.some((id) => typeof id !== 'string')
497
+ || !Array.isArray(group.remoteSessions) || group.remoteSessions.some((session) => !session
498
+ || typeof session.sessionId !== 'string' || !session.sessionId.startsWith('remote:')
499
+ || typeof session.serviceOrigin !== 'string' || typeof session.serviceLabel !== 'string'
500
+ || typeof session.name !== 'string' || !group.sessionIds.includes(session.sessionId))
501
+ || (!group.deleted && new Set(group.sessionIds).size < 2))
502
+ throw new Error('跨服务工作组无效');
503
+ }
@@ -1,3 +1,4 @@
1
+ import { collaborationGroupRoutes } from '../agent/collaborationGroupRoutes.js';
1
2
  import { TerminalClientAttachment } from '../utils/terminalClientAttachment.js';
2
3
  import { redrawTmuxClient } from '../utils/tmuxClientRedraw.js';
3
4
  import { TmuxInitialScreen } from '../utils/tmuxInitialScreen.js';
@@ -5386,7 +5387,12 @@ router.post('/operations/collaboration-federation', (req, res) => {
5386
5387
  throw new Error('跨服务工作组无效');
5387
5388
  const remoteIds = new Set(group.remoteSessions.map((session) => session.sessionId));
5388
5389
  const localIds = new Set(globalSessionState.sessions.map((session) => session.sessionId));
5389
- if (!group.deleted && group.sessionIds.some((id) => !localIds.has(id) && !remoteIds.has(id))) {
5390
+ const existing = collaborationStore.getGroup(group.id);
5391
+ if (req.body.expectedUpdatedAt !== undefined && req.body.expectedUpdatedAt !== existing?.updatedAt) {
5392
+ return res.status(409).json({ code: 'GROUP_CHANGED', error: '协作组已被修改,请重新打开成员管理后再保存' });
5393
+ }
5394
+ const retainedIds = new Set(existing?.sessionIds ?? []);
5395
+ if (!group.deleted && group.sessionIds.some((id) => !localIds.has(id) && !remoteIds.has(id) && !retainedIds.has(id))) {
5390
5396
  throw new Error('工作组包含不存在的本服务会话,请刷新成员列表');
5391
5397
  }
5392
5398
  collaborationStore.mergeFederatedGroup(group);
@@ -5411,31 +5417,8 @@ router.post('/operations/collaboration-federation', (req, res) => {
5411
5417
  res.status(400).json({ error: getErrorMessage(error) });
5412
5418
  }
5413
5419
  });
5414
- router.get('/operations/collaboration-groups', (_req, res) => {
5415
- res.json({
5416
- federationVersion: 1,
5417
- groups: collaborationStore.list(),
5418
- sessions: globalSessionState.sessions.map(orchestrationSessionSnapshot),
5419
- });
5420
- });
5421
- router.post('/operations/collaboration-groups', (req, res) => {
5422
- const name = typeof req.body?.name === 'string' ? req.body.name.trim() : '';
5423
- const sessionIds = Array.isArray(req.body?.sessionIds)
5424
- ? req.body.sessionIds.filter((id) => typeof id === 'string')
5425
- : [];
5426
- const existingGroup = typeof req.body?.id === 'string' ? collaborationStore.getGroup(req.body.id) : null;
5427
- const knownIds = new Set([...globalSessionState.sessions.map((session) => session.sessionId),
5428
- ...(existingGroup?.remoteSessions?.map((session) => session.sessionId) ?? [])]);
5429
- const normalizedIds = Array.from(new Set(sessionIds.filter((id) => knownIds.has(id))));
5430
- if (!name || normalizedIds.length < 2)
5431
- return res.status(400).json({ error: '协作组至少需要两个有效会话' });
5432
- const group = collaborationStore.save({
5433
- id: typeof req.body?.id === 'string' ? req.body.id : undefined,
5434
- name,
5435
- sessionIds: normalizedIds,
5436
- });
5437
- res.json({ group });
5438
- });
5420
+ router.use('/operations', collaborationGroupRoutes({ store: collaborationStore,
5421
+ sessions: () => globalSessionState.sessions.map(orchestrationSessionSnapshot) }));
5439
5422
  router.post('/operations/collaboration-groups/:groupId/spawn', async (req, res) => {
5440
5423
  const group = collaborationStore.getGroup(req.params.groupId);
5441
5424
  if (!group)
@@ -5449,11 +5432,6 @@ router.post('/operations/collaboration-groups/:groupId/spawn', async (req, res)
5449
5432
  res.status(400).json({ error: getErrorMessage(error) });
5450
5433
  }
5451
5434
  });
5452
- router.delete('/operations/collaboration-groups/:groupId', (req, res) => {
5453
- if (!collaborationStore.remove(req.params.groupId))
5454
- return res.status(404).json({ error: '协作组不存在' });
5455
- res.status(204).send();
5456
- });
5457
5435
  router.get('/operations/collaboration-groups/:groupId/messages', (req, res) => {
5458
5436
  const group = collaborationStore.getGroup(req.params.groupId);
5459
5437
  if (!group)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "termdock",
3
- "version": "1.4.180",
3
+ "version": "1.4.182",
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.180",
4
+ "version": "1.4.182",
5
5
  "runtimeProtocolVersion": 1,
6
6
  "minimumDesktopVersion": "1.4.46",
7
7
  "nodeMajor": 22,
8
8
  "dependencyHash": "sha256-kSujny2SLOFnZ1ffxm1FYtli7g1vEN8d3vj1oQeLLdc=",
9
- "serverBundleHash": "sha256-OJ83J67z97pdLmRW6AEkj8r5LkhdkmNIeAxu2L4niig=",
10
- "clientBundleHash": "sha256-uS0kVZf+KwoYUsvNs5oQQ2EOdE7L45iUtfuHunLnQ2Q=",
9
+ "serverBundleHash": "sha256-//OpMMWFXRg8QzpFFBu/P7z4cA1+K9ZU3DV4Ns/JAwM=",
10
+ "clientBundleHash": "sha256-rOSRLeHb4VBWyEhI/7IksBgRpLQ7992JvYgehNN+Zyw=",
11
11
  "entrypoint": "dist/server/cli.js",
12
12
  "clientEntrypoint": "dist/client/index.html"
13
13
  }