termdock 1.4.167 → 1.4.169
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/ChangeWalkthroughPanel-u9y3e-pI.js +2 -0
- package/dist/client/assets/ChangeWalkthroughPanel-u9y3e-pI.js.br +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-u9y3e-pI.js.gz +0 -0
- package/dist/client/assets/DagPlayground-BLUwaOMM.js +1 -0
- package/dist/client/assets/DagPlayground-BLUwaOMM.js.br +0 -0
- package/dist/client/assets/DagPlayground-BLUwaOMM.js.gz +0 -0
- package/dist/client/assets/DiffLab-ThgXydJA.js +370 -0
- package/dist/client/assets/DiffLab-ThgXydJA.js.br +0 -0
- package/dist/client/assets/DiffLab-ThgXydJA.js.gz +0 -0
- package/dist/client/assets/DiffReview-DNkXOQ2y.js +1 -0
- package/dist/client/assets/DiffReview-DNkXOQ2y.js.br +0 -0
- package/dist/client/assets/DiffReview-DNkXOQ2y.js.gz +0 -0
- package/dist/client/assets/DiffReviewLab-CHyV1WMR.js +2 -0
- package/dist/client/assets/DiffReviewLab-CHyV1WMR.js.br +0 -0
- package/dist/client/assets/DiffReviewLab-CHyV1WMR.js.gz +0 -0
- package/dist/client/assets/DiffViewer-CxxOpsVz.js +35 -0
- package/dist/client/assets/DiffViewer-CxxOpsVz.js.br +0 -0
- package/dist/client/assets/DiffViewer-CxxOpsVz.js.gz +0 -0
- package/dist/client/assets/DiffViewer-T3uj2-aP.css +1 -0
- package/dist/client/assets/DiffViewer-T3uj2-aP.css.br +0 -0
- package/dist/client/assets/DiffViewer-T3uj2-aP.css.gz +0 -0
- package/dist/client/assets/ModelPreview-DZzx3Tzo.js +4112 -0
- package/dist/client/assets/ModelPreview-DZzx3Tzo.js.br +0 -0
- package/dist/client/assets/ModelPreview-DZzx3Tzo.js.gz +0 -0
- package/dist/client/assets/RightSidebar-Bv8Y6hqx.js +55 -0
- package/dist/client/assets/RightSidebar-Bv8Y6hqx.js.br +0 -0
- package/dist/client/assets/RightSidebar-Bv8Y6hqx.js.gz +0 -0
- package/dist/client/assets/RightSidebar-DW-JEgm2.css +1 -0
- package/dist/client/assets/{abnfDiagram-VRR7QNED-evEaZuvk.js → abnfDiagram-VCTEODGH-DKmZLRlf.js} +1 -1
- package/dist/client/assets/abnfDiagram-VCTEODGH-DKmZLRlf.js.br +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-DKmZLRlf.js.gz +0 -0
- package/dist/client/assets/app-tT08GaCs.js +175 -0
- package/dist/client/assets/app-tT08GaCs.js.br +0 -0
- package/dist/client/assets/app-tT08GaCs.js.gz +0 -0
- package/dist/client/assets/arc-CjmHoRed.js +1 -0
- package/dist/client/assets/arc-CjmHoRed.js.br +0 -0
- package/dist/client/assets/arc-CjmHoRed.js.gz +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-B0EDOwYH.js +36 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-B0EDOwYH.js.br +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-B0EDOwYH.js.gz +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-CW-AaouZ.js +129 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-CW-AaouZ.js.br +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-CW-AaouZ.js.gz +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-aE7hFKfo.js +38 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-aE7hFKfo.js.br +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-aE7hFKfo.js.gz +0 -0
- package/dist/client/assets/channel-DhsPQnwY.js +1 -0
- package/dist/client/assets/{chunk-2Q5K7J3B-mc5fifzP.js → chunk-2Q5K7J3B-FAEL5P17.js} +1 -1
- package/dist/client/assets/{chunk-5VM5RSS4-BZB3rwoP.js → chunk-5VM5RSS4-BQJAvucM.js} +1 -1
- package/dist/client/assets/chunk-F27PBJKO-DEkt187T.js +1 -0
- package/dist/client/assets/chunk-F27PBJKO-DEkt187T.js.br +0 -0
- package/dist/client/assets/chunk-F27PBJKO-DEkt187T.js.gz +0 -0
- package/dist/client/assets/{chunk-EX3LRPZG-Bvw9RqK9.js → chunk-IMKFNOWR-BfOJ-x_l.js} +5 -5
- package/dist/client/assets/chunk-IMKFNOWR-BfOJ-x_l.js.br +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-BfOJ-x_l.js.gz +0 -0
- package/dist/client/assets/{chunk-JWPE2WC7-CSO1rP6P.js → chunk-JWPE2WC7-BN6q6jKH.js} +1 -1
- package/dist/client/assets/chunk-POPQ4Y6H-BrhQRNCn.js +1 -0
- package/dist/client/assets/{chunk-MOJQB5TN-Ds4d9rRG.js → chunk-SVP7TREG-CjZOC5Dj.js} +4 -4
- package/dist/client/assets/chunk-SVP7TREG-CjZOC5Dj.js.br +0 -0
- package/dist/client/assets/chunk-SVP7TREG-CjZOC5Dj.js.gz +0 -0
- package/dist/client/assets/{chunk-V7JOEXUC-DXbeWqbK.js → chunk-TICWLB2K-Wshj9ws7.js} +3 -3
- package/dist/client/assets/chunk-TICWLB2K-Wshj9ws7.js.br +0 -0
- package/dist/client/assets/chunk-TICWLB2K-Wshj9ws7.js.gz +0 -0
- package/dist/client/assets/{chunk-XXDRQBXY-CQVKeEmY.js → chunk-XXDRQBXY-BPPghuc3.js} +1 -1
- package/dist/client/assets/classDiagram-ZZMXUADV-2OomHNTG.js +1 -0
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-2OomHNTG.js +1 -0
- package/dist/client/assets/{cose-bilkent-JH36ORCC-CweTDwez.js → cose-bilkent-JH36ORCC-BjxJYQH8.js} +1 -1
- package/dist/client/assets/cose-bilkent-JH36ORCC-BjxJYQH8.js.br +0 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-BjxJYQH8.js.gz +0 -0
- package/dist/client/assets/{cynefin-VYW2F7L2-B_1TU70O.js → cynefin-OW5HDTMX-QmUTVmd_.js} +38 -38
- package/dist/client/assets/cynefin-OW5HDTMX-QmUTVmd_.js.br +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-QmUTVmd_.js.gz +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-CBJtWB9m.js +62 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-CBJtWB9m.js.br +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-CBJtWB9m.js.gz +0 -0
- package/dist/client/assets/cytoscape.esm-D3_iZ_3b.js.br +0 -0
- package/dist/client/assets/cytoscape.esm-D3_iZ_3b.js.gz +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-CJFctjtR.js +4 -0
- package/dist/client/assets/dagre-GXQ25YYZ-CJFctjtR.js.br +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-CJFctjtR.js.gz +0 -0
- package/dist/client/assets/defaultLocale-CrowFXzY.js.br +0 -0
- package/dist/client/assets/defaultLocale-CrowFXzY.js.gz +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-e7Jn-RGH.js +30 -0
- package/dist/client/assets/diagram-S7CK7UJ4-e7Jn-RGH.js.br +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-e7Jn-RGH.js.gz +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-B1G-uMf2.js +41 -0
- package/dist/client/assets/diagram-UQ7AKVKN-B1G-uMf2.js.br +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-B1G-uMf2.js.gz +0 -0
- package/dist/client/assets/{diagram-FQU43EPY-CA9ZCbUn.js → diagram-VSXAHHWV-cp7u53yF.js} +3 -3
- package/dist/client/assets/diagram-VSXAHHWV-cp7u53yF.js.br +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-cp7u53yF.js.gz +0 -0
- package/dist/client/assets/diagram-VX7I27RA-DJWrVfMd.js +24 -0
- package/dist/client/assets/diagram-VX7I27RA-DJWrVfMd.js.br +0 -0
- package/dist/client/assets/diagram-VX7I27RA-DJWrVfMd.js.gz +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-B-IZbqzJ.js +24 -0
- package/dist/client/assets/diagram-Z3DM3KII-B-IZbqzJ.js.br +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-B-IZbqzJ.js.gz +0 -0
- package/dist/client/assets/diffWorker-CAzvFFr7.js +27 -0
- package/dist/client/assets/diffWorker-CAzvFFr7.js.br +0 -0
- package/dist/client/assets/diffWorker-CAzvFFr7.js.gz +0 -0
- package/dist/client/assets/{ebnfDiagram-CCIWWBDH-C01FJ1W6.js → ebnfDiagram-PWID7BFC-Bt4zDbpn.js} +1 -1
- package/dist/client/assets/ebnfDiagram-PWID7BFC-Bt4zDbpn.js.br +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-Bt4zDbpn.js.gz +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-DUPOkndO.js +99 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-DUPOkndO.js.br +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-DUPOkndO.js.gz +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-CBSvTIxa.js +168 -0
- package/dist/client/assets/flowDiagram-HODETNUW-CBSvTIxa.js.br +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-CBSvTIxa.js.gz +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-C7BvkSc8.js +292 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-C7BvkSc8.js.br +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-C7BvkSc8.js.gz +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-C4v6Do2L.js +106 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-C4v6Do2L.js.br +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-C4v6Do2L.js.gz +0 -0
- package/dist/client/assets/index-BaBARzax.css +1 -0
- package/dist/client/assets/index-BaBARzax.css.br +0 -0
- package/dist/client/assets/index-BaBARzax.css.gz +0 -0
- package/dist/client/assets/{index-Ca-rq7yX.js → index-UqXCGE5m.js} +4 -4
- package/dist/client/assets/index-UqXCGE5m.js.br +0 -0
- package/dist/client/assets/index-UqXCGE5m.js.gz +0 -0
- package/dist/client/assets/infoDiagram-27XIBGKW-CVQtEdgb.js +2 -0
- package/dist/client/assets/{ishikawaDiagram-FXEZZL3T-B_RdP3jn.js → ishikawaDiagram-5VMMS53U-Cf7tUoyW.js} +5 -5
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-Cf7tUoyW.js.br +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-Cf7tUoyW.js.gz +0 -0
- package/dist/client/assets/{journeyDiagram-5HDEW3XC-B2nObc7o.js → journeyDiagram-3NMN7TZE-B-9CWrlr.js} +5 -5
- package/dist/client/assets/journeyDiagram-3NMN7TZE-B-9CWrlr.js.br +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-B-9CWrlr.js.gz +0 -0
- package/dist/client/assets/{kanban-definition-HUTT4EX6-7b37SN5M.js → kanban-definition-UXKFOSKX-LDN2IZeo.js} +7 -7
- package/dist/client/assets/kanban-definition-UXKFOSKX-LDN2IZeo.js.br +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-LDN2IZeo.js.gz +0 -0
- package/dist/client/assets/katex-55ZPZeOF.css.br +0 -0
- package/dist/client/assets/katex-55ZPZeOF.css.gz +0 -0
- package/dist/client/assets/katex-DnlPpQZa.js.br +0 -0
- package/dist/client/assets/katex-DnlPpQZa.js.gz +0 -0
- package/dist/client/assets/katex-HP8lGamR.js.br +0 -0
- package/dist/client/assets/katex-HP8lGamR.js.gz +0 -0
- package/dist/client/assets/layout-DvqSuFgF.js +1 -0
- package/dist/client/assets/layout-DvqSuFgF.js.br +0 -0
- package/dist/client/assets/layout-DvqSuFgF.js.gz +0 -0
- package/dist/client/assets/{linear-6VNI0WmU.js → linear-D43LQnis.js} +1 -1
- package/dist/client/assets/linear-D43LQnis.js.br +0 -0
- package/dist/client/assets/linear-D43LQnis.js.gz +0 -0
- package/dist/client/assets/mermaid.core-DiblHLKe.js +308 -0
- package/dist/client/assets/mermaid.core-DiblHLKe.js.br +0 -0
- package/dist/client/assets/mermaid.core-DiblHLKe.js.gz +0 -0
- package/dist/client/assets/{mindmap-definition-LN4V7U3C-DjuOw0RL.js → mindmap-definition-YA3MSWOX-k3f4uWuu.js} +3 -3
- package/dist/client/assets/mindmap-definition-YA3MSWOX-k3f4uWuu.js.br +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-k3f4uWuu.js.gz +0 -0
- package/dist/client/assets/ordinal-Cboi1Yqb.js.br +0 -0
- package/dist/client/assets/ordinal-Cboi1Yqb.js.gz +0 -0
- package/dist/client/assets/{pegDiagram-2B236MQR-CflwKQn8.js → pegDiagram-XKGWAZYB-Dj32Fl3j.js} +1 -1
- package/dist/client/assets/pegDiagram-XKGWAZYB-Dj32Fl3j.js.br +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-Dj32Fl3j.js.gz +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-DWGSixfl.js +39 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-DWGSixfl.js.br +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-DWGSixfl.js.gz +0 -0
- package/dist/client/assets/purify.es-4eNOHKSq.js +3 -0
- package/dist/client/assets/purify.es-4eNOHKSq.js.br +0 -0
- package/dist/client/assets/purify.es-4eNOHKSq.js.gz +0 -0
- package/dist/client/assets/{quadrantDiagram-ABIIQ3AL-XlkePQlX.js → quadrantDiagram-AXDQQJYC-BPScfZWR.js} +1 -1
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-BPScfZWR.js.br +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-BPScfZWR.js.gz +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-CL00HIC2.js +1 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-CL00HIC2.js.br +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-CL00HIC2.js.gz +0 -0
- package/dist/client/assets/react-XDCjal2T.js.br +0 -0
- package/dist/client/assets/react-XDCjal2T.js.gz +0 -0
- package/dist/client/assets/{requirementDiagram-TGXJPOKE-DQzmk2Py.js → requirementDiagram-BXWQKSXE-CosES4L6.js} +12 -12
- package/dist/client/assets/requirementDiagram-BXWQKSXE-CosES4L6.js.br +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-CosES4L6.js.gz +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-CjM8CYFn.js +40 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-CjM8CYFn.js.br +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-CjM8CYFn.js.gz +0 -0
- package/dist/client/assets/{sequenceDiagram-DBY2YBRQ-COlWE5v4.js → sequenceDiagram-WJ2MYXX4-3RKv_35o.js} +1 -1
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-3RKv_35o.js.br +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-3RKv_35o.js.gz +0 -0
- package/dist/client/assets/{sizeCapture-X5ZJPWSS-BAyWY8FR.js → sizeCapture-INFHLROL-BrVkA4VD.js} +1 -1
- package/dist/client/assets/sizeCapture-INFHLROL-BrVkA4VD.js.br +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-BrVkA4VD.js.gz +0 -0
- package/dist/client/assets/sparkles-B3pwUd8-.js +1 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-DeWhyAVC.js +1 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-DeWhyAVC.js.br +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-DeWhyAVC.js.gz +0 -0
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-DvdrGmTm.js +1 -0
- package/dist/client/assets/swimlanes-42K2YHIH-i2m0Wmhn.js +1 -0
- package/dist/client/assets/swimlanes-42K2YHIH-i2m0Wmhn.js.br +0 -0
- package/dist/client/assets/swimlanes-42K2YHIH-i2m0Wmhn.js.gz +0 -0
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DIzij9pB.js +8 -0
- package/dist/client/assets/terminal-C7X98Amf.js.br +0 -0
- package/dist/client/assets/terminal-C7X98Amf.js.gz +0 -0
- package/dist/client/assets/{timeline-definition-FHXFAJF6-CBpp3qTq.js → timeline-definition-24CTP7MA-BImN0AS_.js} +1 -1
- package/dist/client/assets/timeline-definition-24CTP7MA-BImN0AS_.js.br +0 -0
- package/dist/client/assets/timeline-definition-24CTP7MA-BImN0AS_.js.gz +0 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-DVUHKmvC.js +34 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-DVUHKmvC.js.br +0 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-DVUHKmvC.js.gz +0 -0
- package/dist/client/assets/{wardleyDiagram-EHGQE667-BgYh502A.js → wardleyDiagram-VM6X3IG4-B9qi-hc7.js} +4 -4
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-B9qi-hc7.js.br +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-B9qi-hc7.js.gz +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-3jgBcYVl.js +7 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-3jgBcYVl.js.br +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-3jgBcYVl.js.gz +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Bold-icons-38-022d7c89c800.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Bold-icons-39-63f8fa5b3eba.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Bold-icons-3a-2d8d46cc4dca.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Bold-icons-3b-e75aed5d3969.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Bold-icons-3c-ac2534aae681.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Bold-icons-3c0-8c49a98e75c4.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Bold-icons-3c1-971c5e7a86ce.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Bold-icons-3c2-e5c4893acfb9.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Bold-icons-3c3-156f2560c871.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Bold-icons-3c4-49f0d18a7492.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Bold-icons-3c5-33d81ad28c5c.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Bold-icons-3c6-5c301879d053.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Bold-icons-3d-52c90894de44.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Bold-text-9e8d9df2dd02.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-BoldItalic-icons-38-7942d3c93afb.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-BoldItalic-icons-39-19989a2be535.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-BoldItalic-icons-3a-7786ff4a4dd9.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-BoldItalic-icons-3b-a759fd623d7e.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-BoldItalic-icons-3c-2a1178076740.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-BoldItalic-icons-3c0-6f2c7518f354.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-BoldItalic-icons-3c1-4bf64cae9dd2.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-BoldItalic-icons-3c2-7f26d4c7240b.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-BoldItalic-icons-3c3-fc8e5a85d620.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-BoldItalic-icons-3c4-91819b7977d3.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-BoldItalic-icons-3c5-26933eec54e2.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-BoldItalic-icons-3c6-af186404c8af.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-BoldItalic-icons-3d-b004d85f5642.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-BoldItalic-text-da002b4e56d3.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Italic-icons-38-b3e69191d92f.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Italic-icons-39-c4d8d66882cb.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Italic-icons-3a-27609324e8a3.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Italic-icons-3b-5e73d85d7506.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Italic-icons-3c-7e535d65bbdb.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Italic-icons-3c0-6465060a06a1.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Italic-icons-3c1-9fd72ccd9350.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Italic-icons-3c2-ea7dd77de270.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Italic-icons-3c3-12808f88907a.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Italic-icons-3c4-14b598e5e739.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Italic-icons-3c5-3d40530ce6c2.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Italic-icons-3c6-7020aec0d9e1.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Italic-icons-3d-19831897003a.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Italic-text-b7a9c776b048.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Regular-icons-38-a637901140d8.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Regular-icons-39-838726e8eeca.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Regular-icons-3a-ec149087d0b9.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Regular-icons-3b-db8e5a24d580.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Regular-icons-3c-2290d2ad4621.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Regular-icons-3c0-3b9edaf85d65.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Regular-icons-3c1-5e7fb0696bbc.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Regular-icons-3c2-cfad2884adf5.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Regular-icons-3c3-d641de88278b.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Regular-icons-3c4-3b0227356b3b.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Regular-icons-3c5-9dc67c4d20b4.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Regular-icons-3c6-c5b444110c62.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Regular-icons-3d-2b19b65bb43a.woff2 +0 -0
- package/dist/client/fonts/terminal/JetBrainsMonoNLNerdFontMono-Regular-text-d7b9316fdf4f.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-4e-46bdca5c323f.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-4f-17200dc0dd0d.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-50-370e36250c30.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-51-66352f738581.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-52-191f4025d2b5.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-53-fb0a637c39bf.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-54-66f2e72c9ca0.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-55-54b538fd4fd8.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-56-88f45aeb2030.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-57-154d4324f0ce.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-58-1660c86b8a05.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-59-31a4c5afa3aa.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-5a-fa1d1941710e.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-5b-031a2b2ebeb7.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-5c-065b634c07b3.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-5d-71f6cd3ed180.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-5e-f59de7a6e5c5.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-5f-8cbe737b6011.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-60-22913526da09.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-61-c810c1d1a3a3.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-62-9464d5d87d65.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-63-79564d99f5da.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-64-4b7cff1dae6f.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-65-8dd48db5e297.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-66-a808e22a3d14.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-67-ae5f61af3f79.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-68-a46bf47bd9ba.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-69-28210414eafb.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-6a-6bfb1f5e4fb7.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-6b-39be890e04e4.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-6c-79a4ff740d98.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-6d-2de5a763980e.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-6e-8e55b339244d.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-6f-a56caf9fc7fc.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-70-d70c6ee8e03c.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-71-ac6f5f86dfef.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-72-db3d346ecc61.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-73-e7371bd71f0b.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-74-43946d9b2f0b.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-75-ea7cf53e31fa.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-76-04c7fa4e0ebf.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-77-24d70898f6b8.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-78-c6a5d7135296.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-79-7812cb6432aa.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-7a-6e123be5cd36.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-7b-a183ddc6890f.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-7c-0895291ece9c.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-7d-1d44252384cf.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-7e-7be4dc6f056e.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-7f-0d8e987db151.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-80-c0c154bb8be0.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-81-5343baca5ce7.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-82-6d89af9614ce.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-83-fa17ef529c5b.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-84-287ecb493fad.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-85-fea695c48165.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-86-8bb35373cb82.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-87-f83e9f70a6cc.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-88-894cd19292c1.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-89-2903a6eaf546.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-8a-3ce275bfcf96.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-8b-3aaeb26309a6.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-8c-719b6608b746.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-8d-a7f1ccd0dfb7.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-8e-d503ad5c4958.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-8f-18c6d04746c8.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-90-e9d94d915dfe.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-91-c258b07ec626.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-92-e4833a556b60.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-94-0889f5b84499.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-95-7ef116efe7ee.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-96-afbc0d2cacda.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-97-df3903d86f65.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-98-0f21094931ee.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-99-eb95f4bead58.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-9a-764e8b8723ec.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-9b-33a540b9196a.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-9c-60d6040aa049.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-9e-4a64c65bf44d.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-cjk-9f-4d84fba11345.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Bold-Subset-punctuation-f1b7708e797a.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-4e-bb1ec5541ecc.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-4f-d6e8daa67360.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-50-63c2ae7f85e8.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-51-41b6e0624888.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-52-57de15003b8d.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-53-94382657e2bc.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-54-177141086f32.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-55-5ec6fae9813a.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-56-720aa493b429.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-57-a8884711a286.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-58-42a3e7e1fe9a.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-59-887ee4253daa.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-5a-c45806889e3c.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-5b-da142b99dca9.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-5c-2bb495e5b511.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-5d-9da87d6061f2.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-5e-e4010764e593.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-5f-a9c9021f6e01.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-60-306f229a68e0.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-61-6e4546c5f52a.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-62-a73e47933059.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-63-e8f49f472799.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-64-37b54957eadc.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-65-2742b20127ad.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-66-239656e7fe56.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-67-5dfa72b26c3f.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-68-fe3d1fc05aae.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-69-22535dbbd090.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-6a-c4117cd520aa.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-6b-895d3349f7de.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-6c-56a0c71eb1b4.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-6d-9ec807661604.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-6e-3b633363cd57.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-6f-91a1f1c31b75.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-70-3a904a2a2371.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-71-e8efb60879b0.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-72-591318b99498.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-73-d8f444050aa7.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-74-55a832a12d7e.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-75-660977996a4c.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-76-441a04df9fb5.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-77-5915143c4398.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-78-242fbc33c745.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-79-24d13953150a.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-7a-41973af74017.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-7b-f9661fdaf003.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-7c-ef5167770bf7.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-7d-d84ad5d95f37.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-7e-66841a1c6381.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-7f-5090e017351a.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-80-9ad74a67c2b9.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-81-423a60a6dcf1.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-82-aad812217807.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-83-3dc74dbac89c.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-84-68db7802ffe8.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-85-fa235a7160e4.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-86-75a6a33d0db2.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-87-7d98ea8ce063.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-88-363fa8f178aa.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-89-f2d185e8721f.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-8a-e372253a07f5.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-8b-0af53db9bdc1.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-8c-6a43d3643480.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-8d-09c4b5345b99.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-8e-122a752954a6.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-8f-c651bbfffeb3.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-90-ab0a5fef3083.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-91-e07b5cbe4792.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-92-cba0a8ee6758.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-94-e7a6bd14e248.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-95-420f721d52ba.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-96-90fd476b83f2.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-97-34036fc287f7.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-98-5c3cdd76911e.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-99-73e6090fd7c8.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-9a-673ebaebe683.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-9b-90a5a3ee22d6.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-9c-116d201c978b.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-9e-78db36865caa.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-cjk-9f-27e8d16243d5.woff2 +0 -0
- package/dist/client/fonts/terminal/NotoSansMonoCJKsc-Subset-punctuation-a4288065ed29.woff2 +0 -0
- package/dist/client/fonts/terminal/manifest.json +1349 -0
- package/dist/client/fonts/terminal/manifest.json.br +0 -0
- package/dist/client/fonts/terminal/manifest.json.gz +0 -0
- package/dist/client/icons/agents/claude.svg.br +0 -0
- package/dist/client/icons/agents/claude.svg.gz +0 -0
- package/dist/client/icons/agents/codex.svg.br +0 -0
- package/dist/client/icons/agents/codex.svg.gz +0 -0
- package/dist/client/icons/agents/copilot.svg.br +0 -0
- package/dist/client/icons/agents/copilot.svg.gz +0 -0
- package/dist/client/icons/agents/droid.svg.br +0 -0
- package/dist/client/icons/agents/droid.svg.gz +0 -0
- package/dist/client/icons/agents/gemini.svg.br +0 -0
- package/dist/client/icons/agents/gemini.svg.gz +0 -0
- package/dist/client/icons/agents/goose.svg.br +0 -0
- package/dist/client/icons/agents/goose.svg.gz +0 -0
- package/dist/client/index.html +7 -52
- package/dist/client/index.html.br +0 -0
- package/dist/client/index.html.gz +0 -0
- package/dist/client/sw-notifications.js.br +0 -0
- package/dist/client/sw-notifications.js.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/client/workbox-9845bf53.js.br +0 -0
- package/dist/client/workbox-9845bf53.js.gz +0 -0
- package/dist/server/agent/installers.js +47 -27
- package/dist/server/cli.js +4 -4
- package/dist/server/entry.js +57 -145
- package/dist/server/routes/auth.js +9 -3
- package/dist/server/routes/filesystem.js +39 -9
- package/dist/server/routes/local.js +3 -2
- package/dist/server/routes/terminal.js +337 -225
- package/dist/server/utils/apiAccess.js +27 -0
- package/dist/server/utils/apiCachePolicy.js +10 -0
- package/dist/server/utils/authProtection.js +140 -38
- package/dist/server/utils/cookieSecurity.js +3 -2
- package/dist/server/utils/csrfProtection.js +2 -6
- package/dist/server/utils/previewValidation.js +16 -0
- package/dist/server/utils/publicSecurity.js +44 -0
- package/dist/server/utils/requestDeadline.js +2 -0
- package/dist/server/utils/requestSecurity.js +23 -28
- package/dist/server/utils/staticAssets.js +97 -0
- package/dist/server/utils/terminalClientAttachment.js +61 -0
- package/dist/server/utils/terminalHandshakeDimensions.js +9 -0
- package/dist/server/utils/terminalOutputDelivery.js +90 -0
- package/dist/server/utils/tmuxClientRedraw.js +16 -0
- package/dist/server/utils/tmuxInitialScreen.js +50 -0
- package/dist/server/utils/tmuxResizeReady.js +56 -0
- package/dist/server/utils/webSocketSecurity.js +28 -0
- package/package.json +7 -4
- package/runtime-manifest.json +4 -4
- package/scripts/generate-font-subsets.py +88 -0
- package/scripts/precompress-client.mjs +28 -0
- package/dist/client/assets/ModelPreview-BzNON-7A.js +0 -4108
- package/dist/client/assets/app-qUUCmslY.js +0 -632
- package/dist/client/assets/arc-Cc4T1vtw.js +0 -1
- package/dist/client/assets/architectureDiagram-ZJ3FMSHR-CA5578rJ.js +0 -36
- package/dist/client/assets/blockDiagram-677ZJIJ3-CCyKnFX-.js +0 -132
- package/dist/client/assets/c4Diagram-LMCZKHZV-SjGfmHL4.js +0 -10
- package/dist/client/assets/channel-DsQFJkms.js +0 -1
- package/dist/client/assets/chunk-32BRIVSS-CF9O6bVF.js +0 -1
- package/dist/client/assets/chunk-RYQCIY6F-DaVQTtgL.js +0 -1
- package/dist/client/assets/chunk-VR4S4FIN-DEcVDuQJ.js +0 -1
- package/dist/client/assets/classDiagram-OUVF2IWQ-BiBG6J-j.js +0 -1
- package/dist/client/assets/classDiagram-v2-EOCWNBFH-BiBG6J-j.js +0 -1
- package/dist/client/assets/cynefinDiagram-TSTJHNR4-DGjbhF2-.js +0 -62
- package/dist/client/assets/dagre-VKFMJZFB-CoLOphm4.js +0 -4
- package/dist/client/assets/diagram-G47NLZAW-BpR2yCdT.js +0 -24
- package/dist/client/assets/diagram-NH7WQ7WH-DIZpypfO.js +0 -24
- package/dist/client/assets/diagram-OA4YK3LP-S9oRNVSL.js +0 -30
- package/dist/client/assets/diagram-WEI45ONY-Dv-XqhXv.js +0 -41
- package/dist/client/assets/diffWorker-Bg2YXCD-.js +0 -27
- package/dist/client/assets/erDiagram-Q63AITRT-CMDd2A57.js +0 -85
- package/dist/client/assets/flowDiagram-23GEKE2U-Bu5kfa1t.js +0 -156
- package/dist/client/assets/ganttDiagram-NO4QXBWP-tfVpOhLu.js +0 -292
- package/dist/client/assets/gitGraphDiagram-IHSO6WYX-CWM8oPLo.js +0 -106
- package/dist/client/assets/graph-D2o_JWn5.js +0 -1
- package/dist/client/assets/index-C13NrW5y.css +0 -1
- package/dist/client/assets/infoDiagram-FWYZ7A6U-CYuG0BfG.js +0 -2
- package/dist/client/assets/layout-1eBIAoSl.js +0 -1
- package/dist/client/assets/map-BdqsVdb3.js +0 -1
- package/dist/client/assets/mermaid.core-BMGv3SNm.js +0 -306
- package/dist/client/assets/pieDiagram-ENE6RG2P-Dp5j3kXt.js +0 -39
- package/dist/client/assets/purify.es-CC4Brkr_.js +0 -3
- package/dist/client/assets/railroadDiagram-RFXS5EU6-Dzq5SEwb.js +0 -1
- package/dist/client/assets/sankeyDiagram-HTMAVEWB-Yuu-Dn7F.js +0 -40
- package/dist/client/assets/stateDiagram-2N3HPSRC-DE_g6UKp.js +0 -1
- package/dist/client/assets/stateDiagram-v2-6OUMAXLB-CuFHnjvX.js +0 -1
- package/dist/client/assets/swimlanes-5IMT3BWC-SdPYQWPe.js +0 -2
- package/dist/client/assets/swimlanesDiagram-G3AALYLV-f7M07VuB.js +0 -8
- package/dist/client/assets/vennDiagram-L72KCM5P-Cfm5mfc0.js +0 -34
- package/dist/client/assets/xychartDiagram-FW5EYKEG-mAm5oI6Y.js +0 -7
- package/dist/client/registerSW.js +0 -1
|
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
|
package/dist/client/index.html
CHANGED
|
@@ -119,12 +119,11 @@
|
|
|
119
119
|
<title>Termdock</title>
|
|
120
120
|
|
|
121
121
|
<!-- Preload the faces commonly present in the first terminal viewport.
|
|
122
|
-
|
|
122
|
+
Only text shards are preloaded; CJK and Nerd glyph ranges load on demand.
|
|
123
|
+
Text faces must settle before xterm opens; loading a bold face afterward
|
|
123
124
|
makes the DOM renderer temporarily rebuild every visible row. -->
|
|
124
|
-
<link rel="preload" href="/fonts/JetBrainsMonoNLNerdFontMono-Regular.woff2" as="font" type="font/woff2" crossorigin="anonymous">
|
|
125
|
-
<link rel="preload" href="/fonts/JetBrainsMonoNLNerdFontMono-Bold.woff2" as="font" type="font/woff2" crossorigin="anonymous">
|
|
126
|
-
<link rel="preload" href="/fonts/NotoSansMonoCJKsc-Subset.woff2" as="font" type="font/woff2" crossorigin="anonymous">
|
|
127
|
-
<link rel="preload" href="/fonts/NotoSansMonoCJKsc-Bold-Subset.woff2" as="font" type="font/woff2" crossorigin="anonymous">
|
|
125
|
+
<link rel="preload" href="/fonts/terminal/JetBrainsMonoNLNerdFontMono-Regular-text-d7b9316fdf4f.woff2" as="font" type="font/woff2" crossorigin="anonymous">
|
|
126
|
+
<link rel="preload" href="/fonts/terminal/JetBrainsMonoNLNerdFontMono-Bold-text-9e8d9df2dd02.woff2" as="font" type="font/woff2" crossorigin="anonymous">
|
|
128
127
|
<link rel="preload" href="/fonts/TermdockStarSymbol-Subset.woff2" as="font" type="font/woff2" crossorigin="anonymous">
|
|
129
128
|
<link rel="preload" href="/fonts/NotoSansSymbols2-Subset.woff2" as="font" type="font/woff2" crossorigin="anonymous">
|
|
130
129
|
|
|
@@ -138,34 +137,6 @@
|
|
|
138
137
|
Mono NL 的无连字风格,同时内置 Nerd Font / Powerline / devicons。
|
|
139
138
|
使用 Mono 版本保证图标按终端 cell 设计;首屏强等字体,避免从
|
|
140
139
|
fallback/tofu 跳到完整图标。 */
|
|
141
|
-
@font-face {
|
|
142
|
-
font-family: 'Termdock Mono';
|
|
143
|
-
src: url('/fonts/JetBrainsMonoNLNerdFontMono-Regular.woff2') format('woff2');
|
|
144
|
-
font-weight: 400;
|
|
145
|
-
font-style: normal;
|
|
146
|
-
font-display: block;
|
|
147
|
-
}
|
|
148
|
-
@font-face {
|
|
149
|
-
font-family: 'Termdock Mono';
|
|
150
|
-
src: url('/fonts/JetBrainsMonoNLNerdFontMono-Bold.woff2') format('woff2');
|
|
151
|
-
font-weight: 700;
|
|
152
|
-
font-style: normal;
|
|
153
|
-
font-display: block;
|
|
154
|
-
}
|
|
155
|
-
@font-face {
|
|
156
|
-
font-family: 'Termdock Mono';
|
|
157
|
-
src: url('/fonts/JetBrainsMonoNLNerdFontMono-Italic.woff2') format('woff2');
|
|
158
|
-
font-weight: 400;
|
|
159
|
-
font-style: italic;
|
|
160
|
-
font-display: block;
|
|
161
|
-
}
|
|
162
|
-
@font-face {
|
|
163
|
-
font-family: 'Termdock Mono';
|
|
164
|
-
src: url('/fonts/JetBrainsMonoNLNerdFontMono-BoldItalic.woff2') format('woff2');
|
|
165
|
-
font-weight: 700;
|
|
166
|
-
font-style: italic;
|
|
167
|
-
font-display: block;
|
|
168
|
-
}
|
|
169
140
|
/* Termdock Star Symbol —— 从 Menlo Regular 抽取 U+2726/U+2727
|
|
170
141
|
(✦/✧) 的子集。Menlo 是 macOS 上这两个符号与等宽文本视觉大小
|
|
171
142
|
最接近的系统字形,避免手机端走系统符号 fallback 后偏大。
|
|
@@ -206,29 +177,13 @@
|
|
|
206
177
|
U+3400-4DBF (CJK Ext A) 和 U+FE30-FE4F (CJK Compat Forms) 在子集
|
|
207
178
|
里为空,不声明,避免无谓的字体回退查找。
|
|
208
179
|
Regular + Bold 两种变体自托管,替代 xterm 合成 bold CJK。 */
|
|
209
|
-
@font-face {
|
|
210
|
-
font-family: 'Noto Sans Mono CJK SC';
|
|
211
|
-
src: url('/fonts/NotoSansMonoCJKsc-Subset.woff2') format('woff2');
|
|
212
|
-
font-weight: 400;
|
|
213
|
-
font-style: normal;
|
|
214
|
-
font-display: swap;
|
|
215
|
-
unicode-range: U+3000-303F, U+4E00-9FFF, U+FF00-FFEF;
|
|
216
|
-
}
|
|
217
|
-
@font-face {
|
|
218
|
-
font-family: 'Noto Sans Mono CJK SC';
|
|
219
|
-
src: url('/fonts/NotoSansMonoCJKsc-Bold-Subset.woff2') format('woff2');
|
|
220
|
-
font-weight: 700;
|
|
221
|
-
font-style: normal;
|
|
222
|
-
font-display: swap;
|
|
223
|
-
unicode-range: U+3000-303F, U+4E00-9FFF, U+FF00-FFEF;
|
|
224
|
-
}
|
|
225
180
|
</style>
|
|
226
|
-
<script type="module" crossorigin src="/assets/app-
|
|
181
|
+
<script type="module" crossorigin src="/assets/app-tT08GaCs.js"></script>
|
|
227
182
|
<link rel="modulepreload" crossorigin href="/assets/react-XDCjal2T.js">
|
|
228
183
|
<link rel="modulepreload" crossorigin href="/assets/dnd-BCFAPC0L.js">
|
|
229
184
|
<link rel="modulepreload" crossorigin href="/assets/terminal-C7X98Amf.js">
|
|
230
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
231
|
-
<link rel="manifest" href="/manifest.webmanifest"
|
|
185
|
+
<link rel="stylesheet" crossorigin href="/assets/index-BaBARzax.css">
|
|
186
|
+
<link rel="manifest" href="/manifest.webmanifest"></head>
|
|
232
187
|
<body>
|
|
233
188
|
<div id="root">
|
|
234
189
|
<div class="termdock-boot">
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/client/sw.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
if(!self.define){let e,s={};const
|
|
1
|
+
if(!self.define){let e,s={};const n=(n,i)=>(n=new URL(n+".js",i).href,s[n]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=n,e.onload=s,document.head.appendChild(e)}else e=n,importScripts(n),s()}).then(()=>{let e=s[n];if(!e)throw new Error(`Module ${n} didn’t register its module`);return e}));self.define=(i,a)=>{const c=e||("document"in self?document.currentScript.src:"")||location.href;if(s[c])return;let o={};const r=e=>n(e,c),t={module:{uri:c},exports:o,require:r};s[c]=Promise.all(i.map(e=>t[e]||r(e))).then(e=>(a(...e),o))}}define(["./workbox-9845bf53"],function(e){"use strict";importScripts("sw-notifications.js"),self.addEventListener("message",e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()}),e.clientsClaim(),e.precacheAndRoute([{url:"index.html",revision:"4d335cfd193dbf0fce4f4d9fc503cae9"},{url:"assets/app-tT08GaCs.js",revision:null},{url:"assets/react-XDCjal2T.js",revision:null},{url:"assets/dnd-BCFAPC0L.js",revision:null},{url:"assets/terminal-C7X98Amf.js",revision:null},{url:"assets/index-BaBARzax.css",revision:null},{url:"icons/agents/opencode.svg",revision:"851c2931d95821ba2b39b68587b48976"},{url:"icons/agents/kimi.svg",revision:"5366c710f4f763022fe159a69cf17409"},{url:"icons/agents/grok.svg",revision:"cd745b0b964545bc7a6b4f36021c3298"},{url:"icons/agents/goose.svg",revision:"c79b927278983c19098d77b4b0c11ab3"},{url:"icons/agents/gemini.svg",revision:"7a64f6d6f80a908255e9c0256903882e"},{url:"icons/agents/droid.svg",revision:"f28723b8c5c115e0908ba3c72613e256"},{url:"icons/agents/cursor.svg",revision:"a1528f3d3cda497f75a5db28defb19de"},{url:"icons/agents/copilot.svg",revision:"dd52e96c1eac0b6ec4bedcd0ddd3b52d"},{url:"icons/agents/codex.svg",revision:"608e55babb0b217e1f2da287342b46d3"},{url:"icons/agents/claude.svg",revision:"08af0225b7acdd8e8f573f3247e5e1c3"},{url:"icons/agents/amp.svg",revision:"af12f8b33faa81e4d46ea7b93c7e43f3"},{url:"apple-touch-icon-180x180.png",revision:"628c2e2f28a9b545aa57be1352025643"},{url:"favicon.ico",revision:"2994debfa6f59a0898e24eb0c54d64b5"},{url:"maskable-icon-512x512.png",revision:"4d489331fd81f0713c400b26426442b9"},{url:"pwa-192x192.png",revision:"4d6f899888cfb8ccd7a1fd3c9e583ad2"},{url:"pwa-512x512.png",revision:"0885dd7ec8932e7f878b013d51a380a4"},{url:"robots.txt",revision:"d9339907142917dee4aac78494ac9cfe"},{url:"sw-notifications.js",revision:"051f4ad0b9931c67d8094c2db255ac34"},{url:"manifest.webmanifest",revision:"83f9a43b74c236012adafb077fb6d774"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html"),{denylist:[/^\/api\//,/^\/health$/]})),e.registerRoute(/\/assets\/.*\.(?:js|css)$/,new e.CacheFirst({cacheName:"termdock-lazy-assets-v1",plugins:[new e.CacheableResponsePlugin({statuses:[0,200]}),new e.ExpirationPlugin({maxEntries:96,maxAgeSeconds:2592e3})]}),"GET"),e.registerRoute(/\/fonts\/terminal\/[^/]+-[a-f0-9]{12}\.woff2$/,new e.CacheFirst({cacheName:"termdock-fonts-v2",plugins:[new e.CacheableResponsePlugin({statuses:[0,200]}),new e.ExpirationPlugin({maxEntries:384,maxAgeSeconds:2592e3})]}),"GET"),e.registerRoute(/\/fonts\/.*\.(?:woff2|ttf)$/,new e.StaleWhileRevalidate({cacheName:"termdock-fonts-v1",plugins:[new e.ExpirationPlugin({maxEntries:24,maxAgeSeconds:2592e3})]}),"GET")});
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -130,6 +130,10 @@ const CODEX_HOOK_EVENTS = [
|
|
|
130
130
|
['Stop', 'stop'],
|
|
131
131
|
['SessionEnd', 'session-end'],
|
|
132
132
|
];
|
|
133
|
+
/** Shared budget for Termdock status emitters, in seconds. */
|
|
134
|
+
function hookTimeout(event) {
|
|
135
|
+
return event === 'session-end' ? 1 : 5;
|
|
136
|
+
}
|
|
133
137
|
/**
|
|
134
138
|
* Kimi Code's hook events (~/.kimi-code/config.toml `[[hooks]]` entries, TOML).
|
|
135
139
|
* `PermissionRequest` is the genuine block (fires right before the approval
|
|
@@ -150,9 +154,6 @@ export const KIMI_HOOK_EVENTS = [
|
|
|
150
154
|
['Interrupt', 'stop'],
|
|
151
155
|
['SessionEnd', 'session-end'],
|
|
152
156
|
];
|
|
153
|
-
/** Seconds Kimi gives one termdock hook before killing it (its default is
|
|
154
|
-
* 30s; ours writes a few bytes). */
|
|
155
|
-
const KIMI_HOOK_TIMEOUT_SECS = 5;
|
|
156
157
|
/**
|
|
157
158
|
* Grok Build's hook events — Claude Code's vocabulary (grok mirrors it
|
|
158
159
|
* deliberately, it even reads ~/.claude/settings.json) — plus the matcher
|
|
@@ -171,9 +172,6 @@ const GROK_HOOK_EVENTS = [
|
|
|
171
172
|
['Stop', 'stop', null],
|
|
172
173
|
['SessionEnd', 'session-end', null],
|
|
173
174
|
];
|
|
174
|
-
/** Seconds grok gives one termdock hook before killing it (its default is
|
|
175
|
-
* 600s — a budget for hooks that run test suites; ours writes a few bytes). */
|
|
176
|
-
const GROK_HOOK_TIMEOUT_SECS = 10;
|
|
177
175
|
function readJsonObject(file) {
|
|
178
176
|
let text;
|
|
179
177
|
try {
|
|
@@ -226,6 +224,12 @@ function hookMapState(file, agent, events) {
|
|
|
226
224
|
any = true;
|
|
227
225
|
if (ours !== hookCommand(agent, sentinel))
|
|
228
226
|
complete = false;
|
|
227
|
+
if (Array.isArray(list)) {
|
|
228
|
+
const entry = list.find((entry) => markerCommand(entry, mark) === ours);
|
|
229
|
+
const handler = entry.hooks.find((h) => h?.command === ours);
|
|
230
|
+
if (handler.timeout !== hookTimeout(sentinel))
|
|
231
|
+
complete = false;
|
|
232
|
+
}
|
|
229
233
|
}
|
|
230
234
|
else {
|
|
231
235
|
complete = false;
|
|
@@ -269,7 +273,9 @@ function hookMapInstall(file, agent, events) {
|
|
|
269
273
|
continue; // malformed user config; leave it alone
|
|
270
274
|
// Drop any previous termdock entry (stale exe path), then append ours.
|
|
271
275
|
const kept = list.filter((entry) => markerCommand(entry, mark) === null);
|
|
272
|
-
|
|
276
|
+
const handler = { type: 'command', command };
|
|
277
|
+
handler.timeout = hookTimeout(sentinel);
|
|
278
|
+
kept.push({ hooks: [handler] });
|
|
273
279
|
hooks[hookEvent] = kept;
|
|
274
280
|
}
|
|
275
281
|
writeAtomic(file, JSON.stringify(root, null, 2));
|
|
@@ -331,19 +337,19 @@ function enableCodexHooksFeature() {
|
|
|
331
337
|
* every JSON file in that directory. Event names are Copilot's camelCase
|
|
332
338
|
* vocabulary. `notification` is passed through and filtered in the emitter. */
|
|
333
339
|
function copilotHooksJson() {
|
|
334
|
-
const hook = (event
|
|
340
|
+
const hook = (event) => [{
|
|
335
341
|
type: 'command',
|
|
336
342
|
bash: hookCommand('copilot', event),
|
|
337
|
-
timeoutSec,
|
|
343
|
+
timeoutSec: hookTimeout(event),
|
|
338
344
|
}];
|
|
339
345
|
return JSON.stringify({
|
|
340
346
|
version: 1,
|
|
341
347
|
hooks: {
|
|
342
|
-
sessionStart: hook('session-start'
|
|
343
|
-
userPromptSubmitted: hook('prompt-submit'
|
|
344
|
-
agentStop: hook('stop'
|
|
345
|
-
sessionEnd: hook('session-end'
|
|
346
|
-
notification: hook('notification'
|
|
348
|
+
sessionStart: hook('session-start'),
|
|
349
|
+
userPromptSubmitted: hook('prompt-submit'),
|
|
350
|
+
agentStop: hook('stop'),
|
|
351
|
+
sessionEnd: hook('session-end'),
|
|
352
|
+
notification: hook('notification'),
|
|
347
353
|
},
|
|
348
354
|
}, null, 2);
|
|
349
355
|
}
|
|
@@ -357,7 +363,7 @@ function grokHooksJson() {
|
|
|
357
363
|
hooks: [{
|
|
358
364
|
type: 'command',
|
|
359
365
|
command: hookCommand('grok', sentinel),
|
|
360
|
-
timeout:
|
|
366
|
+
timeout: hookTimeout(sentinel),
|
|
361
367
|
}],
|
|
362
368
|
};
|
|
363
369
|
if (match)
|
|
@@ -372,18 +378,28 @@ function grokHooksJson() {
|
|
|
372
378
|
* emitter. Inert outside termdock (both the JS guard and the emitter check
|
|
373
379
|
* TERMDOCK). */
|
|
374
380
|
export function opencodePluginJs() {
|
|
375
|
-
const
|
|
381
|
+
const node = JSON.stringify(process.execPath);
|
|
382
|
+
const script = JSON.stringify(resolveHookScript().script);
|
|
376
383
|
return `// termdock agent-hook opencode bridge — generated by termdock, do not edit.
|
|
377
384
|
// Bridges OpenCode plugin events onto the termdock agent-hook emitter,
|
|
378
385
|
// which is inert outside termdock (gated on the TERMDOCK env var).
|
|
379
|
-
|
|
386
|
+
import { execFile } from "node:child_process";
|
|
387
|
+
export const TermdockPresence = async () => {
|
|
380
388
|
if (!process.env["TERMDOCK"]) return {}
|
|
381
|
-
const
|
|
389
|
+
const exe = ${node}
|
|
390
|
+
const script = ${script}
|
|
382
391
|
const announced = new Set()
|
|
383
392
|
const childSessions = new Set()
|
|
384
393
|
const emit = (event, sessionID) => {
|
|
385
394
|
const payload = JSON.stringify(sessionID ? { session_id: sessionID } : {})
|
|
386
|
-
return
|
|
395
|
+
return new Promise((resolve) => {
|
|
396
|
+
const child = execFile(exe, [script, "agent-hook", "opencode", event], {
|
|
397
|
+
timeout: event === "session-end" ? ${hookTimeout('session-end') * 1000} : ${hookTimeout('stop') * 1000},
|
|
398
|
+
killSignal: "SIGKILL",
|
|
399
|
+
}, () => resolve())
|
|
400
|
+
child.stdin?.on("error", () => {})
|
|
401
|
+
child.stdin?.end(payload)
|
|
402
|
+
})
|
|
387
403
|
}
|
|
388
404
|
const ensureSession = async (sessionID) => {
|
|
389
405
|
if (!sessionID || childSessions.has(sessionID) || announced.has(sessionID)) return false
|
|
@@ -458,7 +474,11 @@ const SCRIPT = ${script};
|
|
|
458
474
|
|
|
459
475
|
function emit(event: string): void {
|
|
460
476
|
try {
|
|
461
|
-
spawnSync(EXE, [SCRIPT, "agent-hook", "pi", event], {
|
|
477
|
+
spawnSync(EXE, [SCRIPT, "agent-hook", "pi", event], {
|
|
478
|
+
stdio: ["ignore", "ignore", "ignore"],
|
|
479
|
+
timeout: event === "session-end" ? ${hookTimeout('session-end') * 1000} : ${hookTimeout('stop') * 1000},
|
|
480
|
+
killSignal: "SIGKILL",
|
|
481
|
+
});
|
|
462
482
|
} catch {}
|
|
463
483
|
}
|
|
464
484
|
|
|
@@ -575,8 +595,8 @@ function tomlSectionCommand(section) {
|
|
|
575
595
|
}
|
|
576
596
|
/** One `[[hooks]]` block as termdock writes it. Kimi allows exactly the
|
|
577
597
|
* fields event/matcher/command/timeout. */
|
|
578
|
-
function tomlHookBlock(hookEvent, command) {
|
|
579
|
-
return `[[hooks]]\nevent = "${hookEvent}"\ncommand = '${command}'\ntimeout = ${
|
|
598
|
+
function tomlHookBlock(hookEvent, command, sentinel) {
|
|
599
|
+
return `[[hooks]]\nevent = "${hookEvent}"\ncommand = '${command}'\ntimeout = ${hookTimeout(sentinel)}`;
|
|
580
600
|
}
|
|
581
601
|
function readTextFile(file) {
|
|
582
602
|
try {
|
|
@@ -598,7 +618,8 @@ export function tomlHooksState(file, agent, events) {
|
|
|
598
618
|
return 'not-installed';
|
|
599
619
|
for (const [hookEvent, sentinel] of events) {
|
|
600
620
|
const expected = hookCommand(agent, sentinel);
|
|
601
|
-
const ok = ours.some((s) => tomlSectionEvent(s) === hookEvent && tomlSectionCommand(s) === expected
|
|
621
|
+
const ok = ours.some((s) => tomlSectionEvent(s) === hookEvent && tomlSectionCommand(s) === expected
|
|
622
|
+
&& Number(s.match(/^\s*timeout\s*=\s*(\d+)\s*(?:#.*)?$/m)?.[1]) === hookTimeout(sentinel));
|
|
602
623
|
if (!ok)
|
|
603
624
|
return 'outdated';
|
|
604
625
|
}
|
|
@@ -619,7 +640,7 @@ export function tomlHooksInstall(file, agent, events) {
|
|
|
619
640
|
if (out.trim().length > 0)
|
|
620
641
|
out += '\n';
|
|
621
642
|
out += events
|
|
622
|
-
.map(([hookEvent, sentinel]) => tomlHookBlock(hookEvent, hookCommand(agent, sentinel)))
|
|
643
|
+
.map(([hookEvent, sentinel]) => tomlHookBlock(hookEvent, hookCommand(agent, sentinel), sentinel))
|
|
623
644
|
.join('\n\n');
|
|
624
645
|
out += '\n';
|
|
625
646
|
writeAtomic(file, out);
|
|
@@ -898,7 +919,7 @@ export function pluginHooksState(slug, file, events) {
|
|
|
898
919
|
: {};
|
|
899
920
|
if (handler.command !== hookCommandForPlugin(slug, sentinel, status)
|
|
900
921
|
|| (matcher ?? undefined) !== group.matcher
|
|
901
|
-
|| (timeout ??
|
|
922
|
+
|| (timeout ?? hookTimeout(sentinel)) !== handler.timeout)
|
|
902
923
|
complete = false;
|
|
903
924
|
}
|
|
904
925
|
else {
|
|
@@ -944,8 +965,7 @@ export function installPluginHooks(slug, file, events) {
|
|
|
944
965
|
continue;
|
|
945
966
|
const kept = list.filter((entry) => markerCommand(entry, mark) === null);
|
|
946
967
|
const handler = { type: 'command', command };
|
|
947
|
-
|
|
948
|
-
handler.timeout = timeout;
|
|
968
|
+
handler.timeout = timeout ?? hookTimeout(sentinel);
|
|
949
969
|
const entry = { hooks: [handler] };
|
|
950
970
|
if (matcher)
|
|
951
971
|
entry.matcher = matcher;
|
package/dist/server/cli.js
CHANGED
|
@@ -1138,7 +1138,7 @@ async function runSetPassword() {
|
|
|
1138
1138
|
const wasEnabled = isAuthEnabled();
|
|
1139
1139
|
if (isTty) {
|
|
1140
1140
|
console.log(`${ICON.lock} ${c.bold('Termdock — set access password')}`);
|
|
1141
|
-
console.log(c.dim(' Password must be at least
|
|
1141
|
+
console.log(c.dim(' Password must be at least 16 characters. Input is hidden.'));
|
|
1142
1142
|
console.log('');
|
|
1143
1143
|
}
|
|
1144
1144
|
const password = await promptHidden(' New password: ');
|
|
@@ -1146,8 +1146,8 @@ async function runSetPassword() {
|
|
|
1146
1146
|
console.error(`\n${ICON.err} ${c.red('Password cannot be empty.')}`);
|
|
1147
1147
|
process.exit(1);
|
|
1148
1148
|
}
|
|
1149
|
-
if (password.length <
|
|
1150
|
-
console.error(`\n${ICON.err} ${c.red('Password must be at least
|
|
1149
|
+
if (password.length < 16) {
|
|
1150
|
+
console.error(`\n${ICON.err} ${c.red('Password must be at least 16 characters.')}`);
|
|
1151
1151
|
process.exit(1);
|
|
1152
1152
|
}
|
|
1153
1153
|
if (isTty) {
|
|
@@ -1158,7 +1158,7 @@ async function runSetPassword() {
|
|
|
1158
1158
|
}
|
|
1159
1159
|
}
|
|
1160
1160
|
const hash = hashPassword(password);
|
|
1161
|
-
writeAuthFile(hash);
|
|
1161
|
+
writeAuthFile(hash, password.length);
|
|
1162
1162
|
// Changing the password invalidates all existing sessions so old clients
|
|
1163
1163
|
// are forced to re-authenticate.
|
|
1164
1164
|
destroyAllSessions();
|