termdock 1.4.168 → 1.4.170
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/.desktop-dist/main.js +155 -20
- 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-BPFn9m09.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-CXqAcWtO.js → chunk-2Q5K7J3B-FAEL5P17.js} +1 -1
- package/dist/client/assets/{chunk-5VM5RSS4-B2ewCivF.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-DcpNYccw.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-DJGW22NC.js → chunk-JWPE2WC7-BN6q6jKH.js} +1 -1
- package/dist/client/assets/chunk-POPQ4Y6H-BrhQRNCn.js +1 -0
- package/dist/client/assets/{chunk-MOJQB5TN-CI12TXOM.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-D2J88tQk.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-DFycwWDp.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-D8eG4PZe.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-B9Z9SAtQ.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-BSU4bMc7.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-N_k0E7sQ.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-Ew07ODU5.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-BUjwylu4.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-Cjv8zokk.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-C6Z8ZZfN.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-DACHJUhw.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-C6YRG4Sp.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-DugxSPrH.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-BzaF87gc.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-B1gfbBUX.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-Cx3c55P-.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-Dmjeiy4n.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-C0Qt8nhi.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-BVdIA5hh.js +0 -4108
- package/dist/client/assets/app-uayLhfKS.js +0 -632
- package/dist/client/assets/arc-BrdWVufU.js +0 -1
- package/dist/client/assets/architectureDiagram-ZJ3FMSHR-M74Mohos.js +0 -36
- package/dist/client/assets/blockDiagram-677ZJIJ3-D6OG5gyC.js +0 -132
- package/dist/client/assets/c4Diagram-LMCZKHZV-C2w-_Jc4.js +0 -10
- package/dist/client/assets/channel-B3PaW8my.js +0 -1
- package/dist/client/assets/chunk-32BRIVSS-CEtSQTtD.js +0 -1
- package/dist/client/assets/chunk-RYQCIY6F-DS5ufo5c.js +0 -1
- package/dist/client/assets/chunk-VR4S4FIN-0lqTHFzc.js +0 -1
- package/dist/client/assets/classDiagram-OUVF2IWQ-CLK6o5ur.js +0 -1
- package/dist/client/assets/classDiagram-v2-EOCWNBFH-CLK6o5ur.js +0 -1
- package/dist/client/assets/cynefinDiagram-TSTJHNR4-DLfD0XDP.js +0 -62
- package/dist/client/assets/dagre-VKFMJZFB-BVcVxS_K.js +0 -4
- package/dist/client/assets/diagram-G47NLZAW-U4SDLU5l.js +0 -24
- package/dist/client/assets/diagram-NH7WQ7WH-DzUUOLaX.js +0 -24
- package/dist/client/assets/diagram-OA4YK3LP-CkCRYrYh.js +0 -30
- package/dist/client/assets/diagram-WEI45ONY-D5_8zUCk.js +0 -41
- package/dist/client/assets/diffWorker-Bg2YXCD-.js +0 -27
- package/dist/client/assets/erDiagram-Q63AITRT-CaBjWdJp.js +0 -85
- package/dist/client/assets/flowDiagram-23GEKE2U-CVOqw7CA.js +0 -156
- package/dist/client/assets/ganttDiagram-NO4QXBWP-DI8IFeJE.js +0 -292
- package/dist/client/assets/gitGraphDiagram-IHSO6WYX-CnpSm3yq.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-C-dKF4KW.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-B13cUj_d.js +0 -306
- package/dist/client/assets/pieDiagram-ENE6RG2P-7cfuhoAx.js +0 -39
- package/dist/client/assets/purify.es-CC4Brkr_.js +0 -3
- package/dist/client/assets/railroadDiagram-RFXS5EU6-BhRp2Kow.js +0 -1
- package/dist/client/assets/sankeyDiagram-HTMAVEWB-4yvODBzh.js +0 -40
- package/dist/client/assets/stateDiagram-2N3HPSRC-CyZ_X_VK.js +0 -1
- package/dist/client/assets/stateDiagram-v2-6OUMAXLB-9hsqTyV0.js +0 -1
- package/dist/client/assets/swimlanes-5IMT3BWC-BZPAGrt1.js +0 -2
- package/dist/client/assets/swimlanesDiagram-G3AALYLV-DYvi0MbZ.js +0 -8
- package/dist/client/assets/vennDiagram-L72KCM5P-BC2FrHDP.js +0 -34
- package/dist/client/assets/xychartDiagram-FW5EYKEG-cQNpjzG4.js +0 -7
- package/dist/client/registerSW.js +0 -1
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
import{as as t}from"./app-tT08GaCs.js";import{b as a}from"./dnd-BCFAPC0L.js";import{c as k,S as C,D as _}from"./DiffViewer-CxxOpsVz.js";import"./react-XDCjal2T.js";import"./terminal-C7X98Amf.js";const u={kotlin:{label:"Kotlin function signature + callback",path:"SearchHintIconHelper.kt",diff:`diff --git a/SearchHintIconHelper.kt b/SearchHintIconHelper.kt
|
|
2
|
+
--- a/SearchHintIconHelper.kt
|
|
3
|
+
+++ b/SearchHintIconHelper.kt
|
|
4
|
+
@@ -43,15 +43,20 @@ object SearchHintIconHelper {
|
|
5
|
+
|
|
6
|
+
/** _________________________ Hybrid 标 _________________________ **/
|
|
7
|
+
|
|
8
|
+
- fun buildNinePatchHybridIcon(alpha: Int, searchHintBeen: SearchHintBeen?, url: String, appendString: String?, tv: EditText, iconLeftMargin: Int, rootView: ViewGroup?, isSaaS: Boolean? = false) {
|
|
9
|
+
+ fun buildNinePatchHybridIcon(alpha: Int, searchHintBeen: SearchHintBeen?, url: String, appendString: String?, tv: EditText, iconLeftMargin: Int, rootView: ViewGroup?, isSaaS: Boolean? = false, shouldAttach: () -> Boolean = { true }) {
|
|
10
|
+
val ninePatchTV = buildNinePatchTextView(
|
|
11
|
+
text = SearchHintIconStrategy.getHintIconText(searchHintBeen),
|
|
12
|
+
color = SearchHintIconStrategy.getHintIconTextColor(searchHintBeen),
|
|
13
|
+
)
|
|
14
|
+
ResizableImageLoader.loadResizableImage(ninePatchTV, url, object :
|
|
15
|
+
ResizableImageLoader.LoadResizableImageCallback {
|
|
16
|
+
override fun onSuccess(ninePatchDrawable: NinePatchDrawable) {
|
|
17
|
+
+ if (!shouldAttach()) {
|
|
18
|
+
+ return
|
|
19
|
+
+ }
|
|
20
|
+
createTagView(alpha, appendString, tv, iconLeftMargin, rootView, isSaaS, ninePatchTV, null)
|
|
21
|
+
}
|
|
22
|
+
})
|
|
23
|
+
@@ -79,7 +84,7 @@ object SearchHintIconHelper {
|
|
24
|
+
rootView?.addView(ninePatchTV)
|
|
25
|
+
ninePatchTV.setOnClickListener {
|
|
26
|
+
- tracker.reportClick(searchHintBeen, url)
|
|
27
|
+
+ tracker.reportClick(searchHintBeen, url, source = "hint_icon")
|
|
28
|
+
}
|
|
29
|
+
}`},formatting:{label:"Formatting and whitespace noise",path:"settings.ts",diff:`diff --git a/settings.ts b/settings.ts
|
|
30
|
+
--- a/settings.ts
|
|
31
|
+
+++ b/settings.ts
|
|
32
|
+
@@ -10,14 +10,16 @@ export function normalizeSettings(input: Partial<Settings>): Settings {
|
|
33
|
+
- return { theme: input.theme ?? 'dark', fontSize: input.fontSize ?? 13, wrap: input.wrap ?? true };
|
|
34
|
+
+ return {
|
|
35
|
+
+ theme: input.theme ?? 'dark',
|
|
36
|
+
+ fontSize: input.fontSize ?? 13,
|
|
37
|
+
+ wrap: input.wrap ?? true,
|
|
38
|
+
+ };
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export function isEnabled(value: string | null): boolean {
|
|
42
|
+
- return value === '1' || value === 'true' || value === 'yes'
|
|
43
|
+
+ return value === '1' || value === 'true' || value === 'yes';
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export const DEFAULT_FILTERS = [
|
|
47
|
+
- 'node_modules', 'dist', 'coverage',
|
|
48
|
+
+ 'node_modules',
|
|
49
|
+
+ 'dist',
|
|
50
|
+
+ 'coverage',
|
|
51
|
+
];`},json:{label:"JSON long-line mutation",path:"payload.json",diff:`diff --git a/payload.json b/payload.json
|
|
52
|
+
--- a/payload.json
|
|
53
|
+
+++ b/payload.json
|
|
54
|
+
@@ -1,9 +1,11 @@
|
|
55
|
+
{
|
|
56
|
+
"workspaceRoot": "/Users/bytedance/vscode/termdock",
|
|
57
|
+
- "mode": "basic",
|
|
58
|
+
+ "mode": "advanced",
|
|
59
|
+
"features": {
|
|
60
|
+
"diff": true,
|
|
61
|
+
- "inline": "chars"
|
|
62
|
+
+ "inline": "words",
|
|
63
|
+
+ "split": true,
|
|
64
|
+
+ "ignoreWhitespace": "trim"
|
|
65
|
+
},
|
|
66
|
+
- "updatedAt": 1783660000
|
|
67
|
+
+ "updatedAt": 1783661200
|
|
68
|
+
}`},moved:{label:"Moved block + small edits",path:"DiffToolbar.tsx",diff:`diff --git a/DiffToolbar.tsx b/DiffToolbar.tsx
|
|
69
|
+
--- a/DiffToolbar.tsx
|
|
70
|
+
+++ b/DiffToolbar.tsx
|
|
71
|
+
@@ -1,28 +1,32 @@
|
|
72
|
+
export function DiffToolbar({ settings, onChange }: Props) {
|
|
73
|
+
- const inlineOptions = [
|
|
74
|
+
- { value: 'words', label: 'Words' },
|
|
75
|
+
- { value: 'chars', label: 'Characters' },
|
|
76
|
+
- { value: 'none', label: 'Off' },
|
|
77
|
+
- ];
|
|
78
|
+
-
|
|
79
|
+
const algorithmOptions = [
|
|
80
|
+
{ value: 'default', label: 'Default' },
|
|
81
|
+
+ { value: 'histogram', label: 'Histogram' },
|
|
82
|
+
{ value: 'patience', label: 'Patience' },
|
|
83
|
+
- { value: 'histogram', label: 'Histogram' },
|
|
84
|
+
];
|
|
85
|
+
|
|
86
|
+
const whitespaceOptions = [
|
|
87
|
+
{ value: 'default', label: 'All' },
|
|
88
|
+
{ value: 'trim', label: 'Trim' },
|
|
89
|
+
{ value: 'ignore', label: 'Ignore' },
|
|
90
|
+
+ { value: 'ignore-blank-lines', label: 'No blank lines' },
|
|
91
|
+
];
|
|
92
|
+
|
|
93
|
+
+ const inlineOptions = [
|
|
94
|
+
+ { value: 'words', label: 'Words' },
|
|
95
|
+
+ { value: 'chars', label: 'Characters' },
|
|
96
|
+
+ { value: 'none', label: 'Off' },
|
|
97
|
+
+ ];
|
|
98
|
+
+
|
|
99
|
+
return (
|
|
100
|
+
<div className="toolbar">
|
|
101
|
+
- <Select label="Inline" value={settings.inline} options={inlineOptions} onChange={onChange.inline} />
|
|
102
|
+
<Select label="Algorithm" value={settings.algorithm} options={algorithmOptions} onChange={onChange.algorithm} />
|
|
103
|
+
<Select label="Whitespace" value={settings.whitespace} options={whitespaceOptions} onChange={onChange.whitespace} />
|
|
104
|
+
+ <Select label="Inline" value={settings.inline} options={inlineOptions} onChange={onChange.inline} />
|
|
105
|
+
</div>
|
|
106
|
+
);
|
|
107
|
+
}`},imports:{label:"Import-only noise",path:"SearchPresenter.kt",diff:`diff --git a/SearchPresenter.kt b/SearchPresenter.kt
|
|
108
|
+
--- a/SearchPresenter.kt
|
|
109
|
+
+++ b/SearchPresenter.kt
|
|
110
|
+
@@ -1,10 +1,11 @@
|
|
111
|
+
package com.example.search
|
|
112
|
+
|
|
113
|
+
-import com.example.search.model.OldWord
|
|
114
|
+
import com.example.search.model.SuggestWord
|
|
115
|
+
+import com.example.search.model.SearchHint
|
|
116
|
+
import com.example.search.tracker.SearchTracker
|
|
117
|
+
+import com.example.search.util.SearchSession
|
|
118
|
+
import kotlinx.coroutines.CoroutineScope
|
|
119
|
+
-import kotlinx.coroutines.Job
|
|
120
|
+
+import kotlinx.coroutines.SupervisorJob
|
|
121
|
+
|
|
122
|
+
class SearchPresenter(
|
|
123
|
+
private val tracker: SearchTracker,
|
|
124
|
+
)`},importTypeExpansion:{label:"Same-line import type expansion",path:"DiffStreamItem.tsx",diff:`diff --git a/src/lib/components/sidebar/DiffStreamItem.tsx b/src/lib/components/sidebar/DiffStreamItem.tsx
|
|
125
|
+
--- a/src/lib/components/sidebar/DiffStreamItem.tsx
|
|
126
|
+
+++ b/src/lib/components/sidebar/DiffStreamItem.tsx
|
|
127
|
+
@@ -1,6 +1,6 @@
|
|
128
|
+
import { useEffect, useState, useRef } from 'react';
|
|
129
|
+
-import type { ChangeAuditRecord, GitChangedFile } from '../../terminal/api';
|
|
130
|
+
-import { DiffViewer, type DiffViewType } from './DiffViewer';
|
|
131
|
+
+import type { ChangeAuditRecord, GitChangedFile, GitDiffOptions } from '../../terminal/api';
|
|
132
|
+
+import { DiffViewer, type DiffInlineMode, type DiffViewType } from './DiffViewer';
|
|
133
|
+
|
|
134
|
+
export interface DiffStreamFile {
|
|
135
|
+
path: string;`},commentContext:{label:"Kotlin block comment across hunks",path:"CommentContext.kt",oldSource:`class CommentContext {
|
|
136
|
+
/**
|
|
137
|
+
* Explains old behavior.
|
|
138
|
+
*/
|
|
139
|
+
fun activeValue(): String {
|
|
140
|
+
return "old"
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* A second comment that ends before the next function.
|
|
145
|
+
*/
|
|
146
|
+
fun nextValue(): String {
|
|
147
|
+
return "next"
|
|
148
|
+
}
|
|
149
|
+
}`,diff:`diff --git a/CommentContext.kt b/CommentContext.kt
|
|
150
|
+
--- a/CommentContext.kt
|
|
151
|
+
+++ b/CommentContext.kt
|
|
152
|
+
@@ -1,8 +1,8 @@
|
|
153
|
+
class CommentContext {
|
|
154
|
+
/**
|
|
155
|
+
- * Explains old behavior.
|
|
156
|
+
+ * Explains new behavior.
|
|
157
|
+
*/
|
|
158
|
+
fun activeValue(): String {
|
|
159
|
+
- return "old"
|
|
160
|
+
+ return "new"
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
@@ -10,6 +10,9 @@ class CommentContext {
|
|
164
|
+
* A second comment that ends before the next function.
|
|
165
|
+
*/
|
|
166
|
+
fun nextValue(): String {
|
|
167
|
+
- return "next"
|
|
168
|
+
+ val value = "next"
|
|
169
|
+
+ println(value)
|
|
170
|
+
+ return value
|
|
171
|
+
}
|
|
172
|
+
}`},insertThenModify:{label:"Insert block then modify next line",path:"InsertThenModify.ts",diff:`diff --git a/InsertThenModify.ts b/InsertThenModify.ts
|
|
173
|
+
--- a/InsertThenModify.ts
|
|
174
|
+
+++ b/InsertThenModify.ts
|
|
175
|
+
@@ -1,7 +1,10 @@
|
|
176
|
+
export function buildConfig(input: Input): Config {
|
|
177
|
+
const config = createBaseConfig(input);
|
|
178
|
+
+ config.enableDiffLab = true;
|
|
179
|
+
+ config.inlineMode = 'words';
|
|
180
|
+
+ config.algorithm = 'histogram';
|
|
181
|
+
- config.timeoutMs = 1000;
|
|
182
|
+
+ config.timeoutMs = 1500;
|
|
183
|
+
config.retry = 2;
|
|
184
|
+
return config;
|
|
185
|
+
}`},unrelatedReplacement:{label:"Unrelated replacement lines",path:"UnrelatedReplacement.ts",diff:`diff --git a/UnrelatedReplacement.ts b/UnrelatedReplacement.ts
|
|
186
|
+
--- a/UnrelatedReplacement.ts
|
|
187
|
+
+++ b/UnrelatedReplacement.ts
|
|
188
|
+
@@ -1,5 +1,5 @@
|
|
189
|
+
export function updateSession(request: Request) {
|
|
190
|
+
- const retries = calculateRetryBudget(request);
|
|
191
|
+
+ notifyObservers(session.status);
|
|
192
|
+
return session;
|
|
193
|
+
}`},repeatedScaffolding:{label:"Repeated code with one real replacement",path:"RepeatedScaffolding.ts",diff:`diff --git a/RepeatedScaffolding.ts b/RepeatedScaffolding.ts
|
|
194
|
+
--- a/RepeatedScaffolding.ts
|
|
195
|
+
+++ b/RepeatedScaffolding.ts
|
|
196
|
+
@@ -1,6 +1,7 @@
|
|
197
|
+
export function renderItems(items: Item[]) {
|
|
198
|
+
- items.map((item) => renderLegacy(item));
|
|
199
|
+
- items.map((item) => renderLegacy(item));
|
|
200
|
+
+ logger.debug('rendering modern items');
|
|
201
|
+
+ items.map((item) => renderModern(item));
|
|
202
|
+
+ items.map((item) => renderLegacy(item));
|
|
203
|
+
flushRenderQueue();
|
|
204
|
+
}`},movedAndEdited:{label:"Moved block across hunks with an edit",path:"MovedAndEdited.ts",diff:`diff --git a/MovedAndEdited.ts b/MovedAndEdited.ts
|
|
205
|
+
--- a/MovedAndEdited.ts
|
|
206
|
+
+++ b/MovedAndEdited.ts
|
|
207
|
+
@@ -1,8 +1,5 @@
|
|
208
|
+
export function run(input: Input) {
|
|
209
|
+
- const timeoutMs = config.timeoutMs;
|
|
210
|
+
- return runTask(timeoutMs);
|
|
211
|
+
-
|
|
212
|
+
prepare(input);
|
|
213
|
+
return execute(input);
|
|
214
|
+
}
|
|
215
|
+
@@ -20,4 +17,7 @@ export function configure(config: Config) {
|
|
216
|
+
validate(config);
|
|
217
|
+
+ const timeoutMs = config.timeoutMs;
|
|
218
|
+
+ return runTask(timeoutMs, signal);
|
|
219
|
+
+
|
|
220
|
+
persist(config);
|
|
221
|
+
}`},ifWrapper:{label:"Wrap an unchanged block in an if",path:"TaskRunner.ts",diff:`diff --git a/TaskRunner.ts b/TaskRunner.ts
|
|
222
|
+
--- a/TaskRunner.ts
|
|
223
|
+
+++ b/TaskRunner.ts
|
|
224
|
+
@@ -8,7 +8,9 @@ export function runTask(input: Input) {
|
|
225
|
+
const context = createContext(input);
|
|
226
|
+
- prepare(context);
|
|
227
|
+
- executeTask(context);
|
|
228
|
+
- finish(context);
|
|
229
|
+
+ if (shouldRun(context)) {
|
|
230
|
+
+ prepare(context);
|
|
231
|
+
+ executeTask(context);
|
|
232
|
+
+ finish(context);
|
|
233
|
+
+ }
|
|
234
|
+
return context;
|
|
235
|
+
}`},loopNesting:{label:"Reorder nested loops while preserving the inner block",path:"BlockRanges.ts",diff:`diff --git a/BlockRanges.ts b/BlockRanges.ts
|
|
236
|
+
--- a/BlockRanges.ts
|
|
237
|
+
+++ b/BlockRanges.ts
|
|
238
|
+
@@ -1,8 +1,9 @@
|
|
239
|
+
function projectBlockRanges(ranges: InlineDiffRange[], block: BlockText) {
|
|
240
|
+
- for (const range of ranges) {
|
|
241
|
+
- const rangeEnd = range.start + range.length;
|
|
242
|
+
- for (const line of block.lines) {
|
|
243
|
+
+ for (const line of block.lines) {
|
|
244
|
+
+ const lineRanges: InlineDiffRange[] = [];
|
|
245
|
+
+ for (const range of ranges) {
|
|
246
|
+
+ const rangeEnd = range.start + range.length;
|
|
247
|
+
const start = Math.max(range.start, line.start);
|
|
248
|
+
const end = Math.min(rangeEnd, line.end);
|
|
249
|
+
if (end <= start) continue;
|
|
250
|
+
}`},addedFile:{label:"Entirely added file",path:"NewFeature.ts",diff:`diff --git a/NewFeature.ts b/NewFeature.ts
|
|
251
|
+
new file mode 100644
|
|
252
|
+
--- /dev/null
|
|
253
|
+
+++ b/NewFeature.ts
|
|
254
|
+
@@ -0,0 +1,5 @@
|
|
255
|
+
+export function newFeature(): string {
|
|
256
|
+
+ const status = 'ready';
|
|
257
|
+
+ announce(status);
|
|
258
|
+
+ return status;
|
|
259
|
+
+}`},deletedFile:{label:"Entirely deleted file",path:"LegacyFeature.ts",diff:`diff --git a/LegacyFeature.ts b/LegacyFeature.ts
|
|
260
|
+
deleted file mode 100644
|
|
261
|
+
--- a/LegacyFeature.ts
|
|
262
|
+
+++ /dev/null
|
|
263
|
+
@@ -1,5 +0,0 @@
|
|
264
|
+
-export function legacyFeature(): string {
|
|
265
|
+
- const status = 'deprecated';
|
|
266
|
+
- warn(status);
|
|
267
|
+
- return status;
|
|
268
|
+
-}`},renameOnly:{label:"Rename without content changes",path:"NewName.ts",diff:`diff --git a/OldName.ts b/NewName.ts
|
|
269
|
+
similarity index 100%
|
|
270
|
+
rename from OldName.ts
|
|
271
|
+
rename to NewName.ts`},renamedWithEdit:{label:"Rename with a content edit",path:"NewConfig.ts",diff:`diff --git a/OldConfig.ts b/NewConfig.ts
|
|
272
|
+
similarity index 88%
|
|
273
|
+
rename from OldConfig.ts
|
|
274
|
+
rename to NewConfig.ts
|
|
275
|
+
--- a/OldConfig.ts
|
|
276
|
+
+++ b/NewConfig.ts
|
|
277
|
+
@@ -1,3 +1,3 @@
|
|
278
|
+
export const config = {
|
|
279
|
+
- timeoutMs: 1000,
|
|
280
|
+
+ timeoutMs: 1500,
|
|
281
|
+
};`},binaryFile:{label:"Binary file changed",path:"preview.png",diff:`diff --git a/preview.png b/preview.png
|
|
282
|
+
index 1111111..2222222 100644
|
|
283
|
+
Binary files a/preview.png and b/preview.png differ`},blankAndTabs:{label:"Blank lines + tabs/spaces only",path:"Whitespace.ts",diff:`diff --git a/Whitespace.ts b/Whitespace.ts
|
|
284
|
+
--- a/Whitespace.ts
|
|
285
|
+
+++ b/Whitespace.ts
|
|
286
|
+
@@ -1,6 +1,6 @@
|
|
287
|
+
export function whitespace() {
|
|
288
|
+
- const value = readValue();
|
|
289
|
+
-
|
|
290
|
+
+ const value = readValue();
|
|
291
|
+
+
|
|
292
|
+
return value;
|
|
293
|
+
}`.replace(/\n/gu,`\r
|
|
294
|
+
`)},noFinalNewline:{label:"No final newline marker",path:"NoFinalNewline.txt",diff:`diff --git a/NoFinalNewline.txt b/NoFinalNewline.txt
|
|
295
|
+
--- a/NoFinalNewline.txt
|
|
296
|
+
+++ b/NoFinalNewline.txt
|
|
297
|
+
@@ -1 +1 @@
|
|
298
|
+
-status=old
|
|
299
|
+
\
|
|
300
|
+
+status=new
|
|
301
|
+
\`},unicodeGraphemes:{label:"CJK + emoji + combining marks",path:"messages.ts",diff:`diff --git a/messages.ts b/messages.ts
|
|
302
|
+
--- a/messages.ts
|
|
303
|
+
+++ b/messages.ts
|
|
304
|
+
@@ -1,5 +1,5 @@
|
|
305
|
+
export const messages = {
|
|
306
|
+
- status: '正在连接 👩💻 café',
|
|
307
|
+
+ status: '连接成功 👩🏽💻 café',
|
|
308
|
+
action: '继续',
|
|
309
|
+
};`},longLine:{label:"Very long line with one mutation",path:"generated.ts",diff:`diff --git a/generated.ts b/generated.ts
|
|
310
|
+
--- a/generated.ts
|
|
311
|
+
+++ b/generated.ts
|
|
312
|
+
@@ -1,3 +1,3 @@
|
|
313
|
+
export const generated = {
|
|
314
|
+
- payload: "${"stable-segment-".repeat(90)}OLD_VALUE${"-stable-tail".repeat(35)}",
|
|
315
|
+
+ payload: "${"stable-segment-".repeat(90)}NEW_VALUE${"-stable-tail".repeat(35)}",
|
|
316
|
+
};`},ambiguousDuplicates:{label:"Ambiguous duplicate lines",path:"DuplicatePipeline.ts",diff:`diff --git a/DuplicatePipeline.ts b/DuplicatePipeline.ts
|
|
317
|
+
--- a/DuplicatePipeline.ts
|
|
318
|
+
+++ b/DuplicatePipeline.ts
|
|
319
|
+
@@ -1,8 +1,9 @@
|
|
320
|
+
export function pipeline(item: Item) {
|
|
321
|
+
- process(item);
|
|
322
|
+
- process(item);
|
|
323
|
+
- saveLegacy(item);
|
|
324
|
+
- process(item);
|
|
325
|
+
+ process(item);
|
|
326
|
+
+ audit(item);
|
|
327
|
+
+ process(item);
|
|
328
|
+
+ saveModern(item);
|
|
329
|
+
+ process(item);
|
|
330
|
+
finish(item);
|
|
331
|
+
}`},commentStringCollision:{label:"Comment/string similarity collision",path:"RetryLogger.ts",diff:`diff --git a/RetryLogger.ts b/RetryLogger.ts
|
|
332
|
+
--- a/RetryLogger.ts
|
|
333
|
+
+++ b/RetryLogger.ts
|
|
334
|
+
@@ -1,6 +1,6 @@
|
|
335
|
+
export function reportRetry(error: Error) {
|
|
336
|
+
- // retry request after backoff
|
|
337
|
+
- logger.info('request failed');
|
|
338
|
+
+ logger.info('retry request after backoff');
|
|
339
|
+
+ // request failed permanently
|
|
340
|
+
capture(error);
|
|
341
|
+
}`},multiHunkMixed:{label:"Multiple hunks with mixed change types",path:"MixedChanges.ts",diff:`diff --git a/MixedChanges.ts b/MixedChanges.ts
|
|
342
|
+
--- a/MixedChanges.ts
|
|
343
|
+
+++ b/MixedChanges.ts
|
|
344
|
+
@@ -1,5 +1,6 @@
|
|
345
|
+
export function start(config: Config) {
|
|
346
|
+
- connect(config, 1000);
|
|
347
|
+
+ connect(config, 1500);
|
|
348
|
+
+ logConnection(config);
|
|
349
|
+
return config;
|
|
350
|
+
}
|
|
351
|
+
@@ -20,6 +21,5 @@ export function stop(session: Session) {
|
|
352
|
+
flush(session);
|
|
353
|
+
- reportLegacyMetrics(session);
|
|
354
|
+
disconnect(session);
|
|
355
|
+
return session;
|
|
356
|
+
}`},multiFilePatch:{label:"Multiple files in one patch",path:"First.ts",diff:`diff --git a/First.ts b/First.ts
|
|
357
|
+
--- a/First.ts
|
|
358
|
+
+++ b/First.ts
|
|
359
|
+
@@ -1 +1 @@
|
|
360
|
+
-export const first = 'old';
|
|
361
|
+
\
|
|
362
|
+
+export const first = 'new';
|
|
363
|
+
\
|
|
364
|
+
diff --git a/Second.ts b/Second.ts
|
|
365
|
+
new file mode 100644
|
|
366
|
+
--- /dev/null
|
|
367
|
+
+++ b/Second.ts
|
|
368
|
+
@@ -0,0 +1,2 @@
|
|
369
|
+
+export const second = true;
|
|
370
|
+
+announce(second);`}};function h(){if(typeof window>"u")return"kotlin";const o=new URLSearchParams(window.location.search).get("fixture");return o&&o in u?o:"kotlin"}function b(){return typeof window>"u"?"unified":new URLSearchParams(window.location.search).get("view")==="split"?"split":"unified"}function x(){if(typeof window>"u")return"words";const i=new URLSearchParams(window.location.search).get("inline");return i==="none"||i==="chars"||i==="words"?i:"words"}function w(){return typeof window>"u"?!0:new URLSearchParams(window.location.search).get("wrap")!=="off"}function L(){const[i,o]=a.useState(()=>h()),[d,c]=a.useState(()=>b()),[p,v]=a.useState(()=>k()),[f,m]=a.useState(()=>x()),[s,g]=a.useState(()=>w()),l=u[i],S=a.useMemo(()=>Object.entries(u),[]),r=d==="split"&&!p?"unified":d;return a.useEffect(()=>{if(typeof window>"u"||typeof window.matchMedia!="function")return;const e=window.matchMedia(C),n=()=>v(e.matches);return n(),e.addEventListener?.("change",n),()=>e.removeEventListener?.("change",n)},[]),a.useEffect(()=>{if(typeof window>"u")return;let e=window.location.search;const n=()=>{window.location.search!==e&&(e=window.location.search,o(h()),c(b()),m(x()),g(w()))};window.addEventListener("popstate",n),window.addEventListener("pageshow",n),window.addEventListener("focus",n);const y=window.setInterval(n,250);return()=>{window.removeEventListener("popstate",n),window.removeEventListener("pageshow",n),window.removeEventListener("focus",n),window.clearInterval(y)}},[]),t.jsx("div",{className:"min-h-screen bg-background-subtle text-foreground","data-diff-lab":!0,"data-diff-lab-fixture":i,"data-diff-lab-view":r,"data-diff-lab-requested-view":d,"data-diff-lab-inline":f,"data-diff-lab-wrap":s?"on":"off",children:t.jsxs("div",{className:"mx-auto flex min-h-screen max-w-[1180px] flex-col px-4 py-4",children:[t.jsxs("header",{className:"mb-3 flex flex-wrap items-center justify-between gap-3 border-b border-border/20 pb-3",children:[t.jsxs("div",{children:[t.jsx("div",{className:"text-sm font-semibold",children:"Diff Lab"}),t.jsx("div",{className:"mt-0.5 text-[11px] text-muted-foreground",children:"Fixed fixtures for iterating diff rendering without app auth, PWA state, or live Git data."})]}),t.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[t.jsx("select",{value:i,onChange:e=>o(e.target.value),"aria-label":"Fixture",className:"h-8 rounded-md border border-border/30 bg-surface px-2 text-xs text-foreground outline-none",children:S.map(([e,n])=>t.jsx("option",{value:e,children:n.label},e))}),t.jsxs("div",{className:"inline-flex h-8 overflow-hidden rounded-full bg-surface-2 p-0.5",children:[t.jsx("button",{type:"button",onClick:()=>c("unified"),"aria-pressed":r==="unified",className:`rounded-full px-3 text-xs font-semibold ${r==="unified"?"bg-surface-elevated text-foreground":"text-muted-foreground"}`,children:"Unified"}),t.jsx("button",{type:"button",onClick:()=>c("split"),disabled:!p,"aria-pressed":r==="split",className:`rounded-full px-3 text-xs font-semibold ${r==="split"?"bg-surface-elevated text-foreground":"text-muted-foreground"} disabled:cursor-not-allowed disabled:opacity-40`,children:"Split"})]}),t.jsx("div",{className:"inline-flex h-8 overflow-hidden rounded-full bg-surface-2 p-0.5",children:["none","words","chars"].map(e=>t.jsx("button",{type:"button",onClick:()=>m(e),className:`rounded-full px-3 text-xs font-semibold ${f===e?"bg-surface-elevated text-foreground":"text-muted-foreground"}`,children:e},e))}),t.jsxs("button",{type:"button",onClick:()=>g(e=>!e),className:`h-8 rounded-full px-3 text-xs font-semibold ${s?"bg-primary/15 text-primary":"bg-surface-2 text-muted-foreground"}`,children:["Wrap ",s?"on":"off"]})]})]}),t.jsx("main",{className:"min-h-0 flex-1 overflow-auto rounded-lg border border-border/20 bg-surface",children:t.jsx(_,{filePath:l.path,repoRoot:"/tmp/termdock-diff-lab",changedFile:{path:l.path,absolutePath:`/tmp/termdock-diff-lab/${l.path}`,repoRoot:"/tmp/termdock-diff-lab",status:"modified",staged:!1,unstaged:!0,untracked:!1,tracked:!0,canStage:!1,canUnstage:!1,canStash:!1,canRestoreWorktree:!1},diffOverride:l.diff,oldSourceOverride:l.oldSource,active:!0,wrap:s,showScrollHint:!s,viewType:r,inlineMode:f})})]})})}export{u as DIFF_FIXTURES,L as DiffLab};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a0 as He,as as r,ak as tt,l as mt,e as pt,d as xt,aJ as gt,aP as vt,a3 as yt,B as bt,G as qe,aO as wt,av as kt,X as Rt,aL as Nt}from"./app-tT08GaCs.js";import{b as a,r as rt}from"./dnd-BCFAPC0L.js";import{S as nt}from"./sparkles-B3pwUd8-.js";import{D as jt,p as Dt,i as Mt}from"./DiffViewer-CxxOpsVz.js";const Tt=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],St=He("arrow-left",Tt);const It=[["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"M3 10a2 2 0 0 0 2 2h3",key:"1npucw"}],["path",{d:"M3 5v12a2 2 0 0 0 2 2h3",key:"x1gjn2"}]],Et=He("list-tree",It);const Ct=[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]],Ft=He("list",Ct);function st({selected:t,depth:o=0,title:i,leading:x,children:m,trailing:c,role:b,tabIndex:v,ariaExpanded:g,onClick:f,onKeyDown:y,onPointerDown:L,onPointerUp:T,onPointerCancel:E,dataAttributes:B}){return r.jsxs("div",{role:b,tabIndex:v,"aria-expanded":g,title:i,onClick:f,onKeyDown:y,onPointerDown:L,onPointerUp:T,onPointerCancel:E,...B,className:`group flex w-full cursor-pointer items-center gap-1 rounded px-2 py-1.5 text-left text-[13px] transition active:scale-[0.99] ${t?"bg-surface-elevated text-foreground":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,style:{paddingLeft:`${o*14+8}px`},children:[r.jsx("span",{className:"flex min-w-[14px] shrink-0 items-center justify-center text-muted-foreground/80",children:x}),r.jsx("span",{className:"min-w-0 flex-1",children:m}),c]})}function ot(t){return t.path.replace(/^\/+/,"")}function _t(t){if(t.displayName!==void 0||t.displayDir!==void 0)return{name:t.displayName||t.path,dir:t.displayDir||""};const o=t.path.split("/").filter(Boolean);return{name:o.pop()||t.path,dir:o.join("/")}}function at(t,o){const i=new Map,x=(c,b,v,g)=>{const f=c.get(b);if(f)return f;const y={path:v,name:b,childCount:0,directories:[],files:[]};return c.set(b,y),g?.directories.push(y),y};for(const c of t){const b=o(c).split("/").filter(Boolean);if(b.length<=1)continue;let v=i,g=null,f="";for(const y of b.slice(0,-1)){f=f?`${f}/${y}`:y;const L=x(v,y,f,g);g=L,v=new Map(L.directories.map(T=>[T.name,T]))}g?.files.push(c)}const m=c=>{const b=c.directories.map(m).sort((g,f)=>g.name.localeCompare(f.name)),v=c.files.sort((g,f)=>g.path.localeCompare(f.path));return{...c,directories:b,files:v,childCount:b.reduce((g,f)=>g+f.childCount,0)+v.length}};return Array.from(i.values()).map(m).sort((c,b)=>c.name.localeCompare(b.name))}function Be(t,o,i=0){const x=o.selectedKey===t.key||o.selectedKey===t.path||o.selectedKey===t.absolutePath,m=_t(t);return r.jsx(st,{selected:x,role:"button",tabIndex:0,title:t.title??t.absolutePath??t.path,onClick:()=>{tt()||o.onSelectFile(t)},onKeyDown:c=>{c.key!=="Enter"&&c.key!==" "||(c.preventDefault(),o.onSelectFile(t))},leading:o.renderLeading(t),depth:i,trailing:o.renderTrailing?.(t),dataAttributes:{"data-diff-selection-path":t.key,"data-diff-file-path":t.path,"data-diff-absolute-path":t.absolutePath??"","data-diff-status":t.status},children:r.jsxs("span",{className:"select-text","data-sidebar-selectable":!0,children:[r.jsx("span",{className:`block truncate leading-snug ${x?"font-medium":""}`,children:m.name}),o.mode!=="tree"&&m.dir&&r.jsx("span",{className:"block truncate text-[10px] text-muted-foreground/75",children:m.dir}),o.renderSubtitle?.(t)]})},t.key)}function ct(t,o,i,x,m){let c=t;const b=[t.name];for(;c.files.length===0&&c.directories.length===1;)c=c.directories[0],b.push(c.name);const v=b.join("/"),g=`${o}:${c.path}`,f=i.collapsedDirectoryKeys.has(g);return r.jsxs("div",{className:"space-y-px",children:[r.jsx(st,{role:"button",tabIndex:0,onClick:()=>{tt()||i.onToggleDirectory(g)},onKeyDown:y=>{y.key!=="Enter"&&y.key!==" "||(y.preventDefault(),i.onToggleDirectory(g))},ariaExpanded:!f,depth:x,title:c.path,leading:f?r.jsx(pt,{size:13}):r.jsx(xt,{size:13}),trailing:r.jsxs("span",{className:"flex shrink-0 items-center gap-1",children:[r.jsx("span",{className:"shrink-0 rounded bg-surface-2 px-1.5 py-0.5 text-[10px] text-muted-foreground/60 transition group-hover:text-muted-foreground",children:c.childCount}),i.renderDirectoryTrailing?.(c.path,m)]}),children:r.jsxs("span",{className:"flex min-w-0 items-center gap-1",children:[r.jsx(mt,{size:14,className:"shrink-0 text-[color:var(--folder)]"}),r.jsx("span",{className:"min-w-0 flex-1 truncate leading-snug select-text","data-sidebar-selectable":!0,children:v})]})}),!f&&r.jsxs("div",{className:"space-y-px",children:[c.directories.map(y=>ct(y,o,i,x+1,m)),c.files.length>0&&r.jsx("div",{className:"space-y-px",children:c.files.map(y=>Be(y,i,x+1))})]})]},g)}function At(t,o){const i=o.getFileTreePath??ot,x=t.files.filter(c=>i(c).split("/").filter(Boolean).length<=1),m=at(t.files,i);return r.jsxs("div",{className:"space-y-px",children:[m.map(c=>ct(c,t.key,o,0,t)),x.length>0&&r.jsx("div",{className:"space-y-px",children:x.map(c=>Be(c,o))})]})}function Pt(t,o=ot){const i=[],x=c=>{for(const b of c.directories)x(b);i.push(...c.files)};for(const c of at(t,o))x(c);const m=new Set(i.map(c=>c.key));return i.push(...t.filter(c=>!m.has(c.key))),i}function zt(t){return r.jsx("div",{className:t.mode==="tree"?"space-y-px pt-1":"space-y-2",children:t.groups.map(o=>{const i=!!o.header,x=!!o.collapsed;return r.jsxs("section",{className:i?"overflow-hidden rounded-lg border border-border/15 bg-surface/60":"",children:[o.header,!x&&r.jsx("div",{className:t.mode==="tree"?i?"space-y-px bg-surface/60 p-1":"space-y-px":i?"space-y-px bg-surface/60 p-1.5":"space-y-px",children:t.mode==="tree"?At(o,t):o.files.map(m=>Be(m,t))})]},o.key)})})}const Ee="termdock:diff-review:list-width:v1",Lt=120,Le=320,Ue=220,Ht=560;function Bt(t){return typeof t=="number"&&Number.isFinite(t)}function Ye(t,o){const i=Math.max(Ue,o-360),x=Math.min(Ht,i);return Math.min(x,Math.max(Ue,t))}function Wt(){return kt(Ee,Bt)??Le}function $t({list:t,detail:o,mobile:i,mobileListHeader:x,mobileDetailHeader:m,desktopListHeader:c,backLabel:b,onMobileSlideChange:v,externalSwiperRef:g,desktopLayout:f="split",onDetailScroll:y,desktopSidePanel:L,desktopListClassName:T,detailOwnsScroll:E=!1}){const{t:B}=gt(),W=a.useRef(null),$=a.useRef(null),C=a.useRef(null),[O,V]=a.useState(Wt);a.useEffect(()=>{if(i||f!=="split")return;const p=$.current;p&&V(j=>Ye(j,p.clientWidth))},[f,i]);const ne=a.useCallback(p=>{i||f!=="split"||(p.preventDefault(),C.current={startX:p.clientX,startWidth:O,pointerId:p.pointerId},p.currentTarget.setPointerCapture(p.pointerId))},[f,O,i]),ie=a.useCallback(p=>{const j=C.current;if(!j||j.pointerId!==p.pointerId)return;const P=$.current?.clientWidth??window.innerWidth,D=Ye(j.startWidth+p.clientX-j.startX,P);V(D),vt(Ee,D,Lt)},[]),se=a.useCallback(p=>{const j=C.current;if(!(!j||j.pointerId!==p.pointerId)){C.current=null,yt(Ee);try{p.currentTarget.releasePointerCapture(p.pointerId)}catch{}}},[]);if(i){const p=()=>{const w=W.current;w&&w.slideTo(1)},j=()=>{const w=W.current;w&&w.slideTo(0)},P=typeof t=="function"?t({slideToDetail:p}):t,D=typeof m=="function"?m({slideToList:j,slideToDetail:p}):m;return r.jsxs(bt,{className:"h-full min-h-0 w-full",slidesPerView:1,resistanceRatio:.45,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:".swiper-no-swiping",allowTouchMove:!1,touchAngle:75,touchStartPreventDefault:!1,onSwiper:w=>{W.current=w,g&&(g.current=w)},onSlideChange:w=>{v?.(w.activeIndex)},children:[r.jsx(qe,{className:"h-full min-h-0",children:r.jsxs("div",{className:"flex h-full min-h-0 flex-col overflow-hidden",children:[x&&r.jsx("div",{className:"shrink-0 border-b border-border/15 px-3 py-2",children:x}),r.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto overscroll-contain",children:P})]})}),r.jsx(qe,{className:"h-full min-h-0",children:r.jsxs("div",{className:"flex h-full min-h-0 flex-col overflow-hidden bg-surface",children:[r.jsx("div",{className:"shrink-0 border-b border-border/15 px-3 py-2",children:D??r.jsxs("button",{type:"button",onClick:j,className:"inline-flex h-9 shrink-0 items-center gap-1.5 rounded-full bg-surface-2 px-3 text-xs font-semibold text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground active:scale-95",children:[r.jsx(St,{size:14}),b]})}),r.jsx("div",{className:E?"min-h-0 flex-1 overflow-hidden":"termdock-diff-stream-scroller min-h-0 flex-1 overflow-y-auto overscroll-contain",onScroll:E?void 0:w=>y?.(w.currentTarget),children:o})]})})]})}const G=typeof t=="function"?t({slideToDetail:()=>{}}):t;return f==="stacked"?E?r.jsxs("div",{className:"termdock-native-select min-h-0 flex-1 overflow-hidden px-2 pb-[calc(env(safe-area-inset-bottom)+4.5rem)]",children:[c&&r.jsx("div",{className:"sticky top-0 z-10 border-b border-border/15 bg-surface px-2 py-2",children:c}),G,r.jsx("div",{className:"mt-3 h-[calc(100%-3rem)] min-h-0 overflow-hidden rounded-xl border border-border/15 bg-surface",children:o})]}):r.jsxs("div",{className:"termdock-native-select termdock-diff-stream-scroller min-h-0 flex-1 overflow-y-auto overscroll-contain px-2 pb-[calc(env(safe-area-inset-bottom)+4.5rem)]",onScroll:p=>y?.(p.currentTarget),children:[c&&r.jsx("div",{className:"sticky top-0 z-10 border-b border-border/15 bg-surface px-2 py-2",children:c}),G,r.jsx("div",{className:"mt-3 overflow-hidden rounded-xl border border-border/15 bg-surface",children:o})]}):r.jsxs("div",{ref:$,className:"flex h-full min-h-0 overflow-hidden",children:[L,r.jsxs("div",{className:T??"shrink-0 overflow-y-auto overscroll-contain border-r border-border/15 bg-surface",style:{width:O},children:[c&&r.jsx("div",{className:"sticky top-0 z-10 border-b border-border/15 bg-surface px-2 py-2",children:c}),G]}),r.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":B("diffViewer.resizeNavigation"),title:B("diffViewer.resizeNavigation"),className:"group relative z-10 w-2 shrink-0 cursor-col-resize touch-none border-r border-border/15 bg-surface",onPointerDown:ne,onPointerMove:ie,onPointerUp:se,onPointerCancel:se,onDoubleClick:()=>{V(Le),wt(Ee,Le)},children:r.jsx("span",{className:"pointer-events-none absolute inset-y-0 left-1/2 w-px -translate-x-1/2 bg-border/30 transition group-hover:bg-primary/60"})}),r.jsx("div",{className:E?"min-w-0 flex-1 overflow-hidden":"termdock-diff-stream-scroller min-w-0 flex-1 overflow-y-auto overscroll-contain",onScroll:E?void 0:p=>y?.(p.currentTarget),children:o})]})}function Ot({mode:t,onModeChange:o,showAi:i=!1}){return r.jsxs("div",{className:"inline-flex h-7 shrink-0 overflow-hidden rounded-full bg-surface-2 p-0.5",children:[r.jsx("button",{type:"button",onClick:()=>o("list"),"aria-pressed":t==="list",className:`inline-flex h-6 w-7 items-center justify-center rounded-full transition active:scale-95 ${t==="list"?"bg-surface-elevated text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`,children:r.jsx(Ft,{size:13})}),r.jsx("button",{type:"button",onClick:()=>o("tree"),"aria-pressed":t==="tree",className:`inline-flex h-6 w-7 items-center justify-center rounded-full transition active:scale-95 ${t==="tree"?"bg-surface-elevated text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`,children:r.jsx(Et,{size:13})}),i&&r.jsx("button",{type:"button",onClick:()=>o("ai"),"aria-pressed":t==="ai",className:`inline-flex h-6 w-7 items-center justify-center rounded-full transition active:scale-95 ${t==="ai"?"bg-surface-elevated text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`,children:r.jsx(nt,{size:13})})]})}function Vt({groups:t,mode:o,onModeChange:i,selectedKey:x,collapsedDirectoryKeys:m,onToggleDirectory:c,onSelectFile:b,renderLeading:v,renderTrailing:g,renderDirectoryTrailing:f,renderSubtitle:y,detail:L,mobile:T,backLabel:E,compact:B=!1,emptyContent:W,listPrefix:$,aiContent:C,listContainerClassName:O="px-2 py-2",detailContainerClassName:V="termdock-native-select termdock-diff-stream-scroller min-h-0",renderListHeader:ne,renderMobileDetailHeader:ie,externalSwiperRef:se,onMobileSlideChange:G,slideToDetailOnMobile:p=!0,desktopLayout:j="split",onDetailScroll:P,desktopSidePanel:D,desktopListClassName:w,detailOwnsScroll:z}){const[X,oe]=a.useState(!1);a.useEffect(()=>{if(!X)return;const F=_=>{_.key==="Escape"&&oe(!1)};return document.addEventListener("keydown",F),()=>document.removeEventListener("keydown",F)},[X]);const le=r.jsx(Ot,{mode:o,onModeChange:i,showAi:!!C}),be=o==="tree"?"tree":"list",ue=ne?ne(le):r.jsx("div",{className:"flex justify-end",children:le}),de=t.some(F=>F.files.length>0),U=r.jsx($t,{mobile:X?!1:T,backLabel:E,externalSwiperRef:se,onMobileSlideChange:G,desktopLayout:X?"split":j,onDetailScroll:P,desktopSidePanel:D,desktopListClassName:w,detailOwnsScroll:z,mobileListHeader:T?ue:void 0,desktopListHeader:T?void 0:ue,mobileDetailHeader:ie,list:({slideToDetail:F})=>r.jsx("div",{className:O,children:o==="ai"?typeof C=="function"?C({slideToDetail:F,fullscreen:X,toggleFullscreen:()=>oe(_=>!_)}):C??W:r.jsxs(r.Fragment,{children:[$,de?r.jsx(zt,{groups:t,selectedKey:x,mode:be,mobile:T,compact:B,collapsedDirectoryKeys:m,onToggleDirectory:c,onSelectFile:_=>{b(_),T&&p&&window.requestAnimationFrame(F)},renderLeading:v,renderTrailing:g,renderDirectoryTrailing:f,renderSubtitle:y}):W]})}),detail:r.jsx("div",{className:z?"h-full min-h-0":V,children:L})});return!X||typeof document>"u"?U:rt.createPortal(r.jsxs("div",{className:"fixed inset-0 z-modal-panel flex min-h-0 flex-col bg-surface text-foreground",children:[r.jsxs("div",{className:"flex h-12 shrink-0 items-center justify-between border-b border-border/15 bg-[var(--chrome-bg)] px-3",children:[r.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[r.jsx(nt,{size:15,className:"shrink-0 text-primary"}),r.jsx("span",{className:"truncate text-[12px] font-semibold",children:"DAG Review"}),r.jsx("span",{className:"hidden text-[10px] text-muted-foreground sm:inline",children:"Select a step to inspect its exact change"})]}),r.jsx("button",{type:"button",onClick:()=>oe(!1),className:"inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-md text-muted-foreground transition hover:bg-surface-2 hover:text-foreground active:scale-95",title:"Exit full-screen DAG review (Esc)","aria-label":"Exit full-screen DAG review",children:r.jsx(Rt,{size:16})})]}),r.jsx("div",{className:"min-h-0 flex-1",children:U})]}),document.body)}const Gt=96,Pe=44;function Xt({file:t,repoRoot:o,selectionPath:i,displayName:x,displayDir:m,selected:c,activePane:b,visible:v,reusableContent:g=!1,estimatedHeight:f,lightweight:y=!1,wrap:L,showScrollHint:T,viewType:E,inlineMode:B,diffOptions:W,reloadKey:$=0,auditRecords:C,diffOverride:O,preparedDiff:V,renderBadge:ne,onInsertDiffReference:ie,onHunkGitAction:se,onReferenceCopied:G,insertedReferenceKey:p,copiedReferenceKey:j,onClearAuditRecord:P,onContentReady:D,onHeightChange:w}){const z=a.useRef(null),X=a.useRef(null),oe=a.useRef(null),[le,be]=a.useState(null),ue=a.useRef(64),de=a.useRef(f??104),U=a.useRef(null),F=a.useRef(null),_=a.useRef(!1),ae=a.useRef(!1),A=a.useRef(null),[K,fe]=a.useState(!1),[we,Me]=a.useState(!1),ke=t.absolutePath||(o?`${o}/${t.path}`:t.path),J=a.useCallback(()=>{ae.current||(ae.current=!0,Me(!0),D?.(i))},[D,i]);a.useLayoutEffect(()=>(_.current=!1,ae.current=!1,U.current=null,F.current=null,A.current!==null&&(window.clearTimeout(A.current),A.current=null),fe(!1),Me(!1),()=>{A.current!==null&&(window.clearTimeout(A.current),A.current=null)}),[O,V,$,g,v]),a.useLayoutEffect(()=>{const k=U.current;!K||k===null||Math.abs((f??104)-k)>=1||(U.current=null,J())},[J,f,K]),a.useLayoutEffect(()=>{if(!v||!K)return;const k=oe.current;if(!k)return;const q=()=>{if(!_.current||ae.current)return;const ce=Math.ceil(Math.max(k.getBoundingClientRect().height,k.scrollHeight)),Te=ue.current;ce>0&&Te!==ce&&(ue.current=ce,be(ce));const Z=z.current;if(!Z)return;const he=X.current?.getBoundingClientRect().height??Pe,ee=Math.ceil(Math.max(Z.scrollHeight,he+ce+1));ee<=0||F.current===ee||(F.current=ee,A.current!==null&&window.clearTimeout(A.current),A.current=window.setTimeout(()=>{if(A.current=null,!_.current||ae.current)return;const I=F.current;if(I===null)return;const S=de.current;if(U.current=I,Math.abs(S-I)<1||!w){de.current=I,U.current=null,J();return}de.current=I,w(i,S,I)},Gt))};if(q(),typeof ResizeObserver>"u")return;const Ne=new ResizeObserver(q);return Ne.observe(k),()=>Ne.disconnect()},[J,w,i,K,v]);const Re=v&&!we;return r.jsxs("div",{ref:z,"data-diff-stream-item":i,"data-diff-selection-path":i,"data-diff-file-path":t.path,"data-diff-absolute-path":ke,className:`scroll-mt-3 border-b border-border/15 last:border-b-0 ${Re||!v?"overflow-hidden":""} ${c?"bg-surface-elevated/35":""}`,style:v?Re?{height:f??104}:void 0:{height:f??104},children:[r.jsxs("div",{ref:X,"data-diff-stream-header":!0,className:`sticky top-0 z-10 flex min-w-0 items-center gap-2 border-b border-border/15 px-3 py-2 backdrop-blur ${c?"bg-surface-elevated/95":"bg-surface/95"}`,children:[ne(t.status),r.jsxs("div",{className:"min-w-0 flex-1",title:ke,children:[r.jsx("div",{className:"truncate text-xs font-semibold text-foreground",children:x}),m&&r.jsx("div",{className:"truncate text-[10px] text-muted-foreground",children:m})]})]}),r.jsxs("div",{ref:oe,className:"relative","data-diff-stream-body":!0,style:v?{minHeight:we?64:Math.max(le??64,(f??104)-Pe)}:{height:Math.max(le??64,(f??104)-Pe)},children:[v?r.jsx(jt,{active:b,repoRoot:o,filePath:t.path,referenceFilePath:ke,changedFile:t,wrap:L,showScrollHint:T,viewType:E,inlineMode:B,diffOptions:W,reloadKey:$,embedded:!0,lightweight:y,auditRecords:C,diffOverride:O,preparedDiff:V,onClearAuditRecord:P,onContentReady:()=>{if(g){_.current=!0,fe(!0),J();return}_.current||(_.current=!0,fe(!0))},onInsertDiffReference:ie,onHunkGitAction:se,onReferenceCopied:G,insertedReferenceKey:p,copiedReferenceKey:j}):r.jsx("div",{className:"flex h-full min-h-16 items-center justify-center bg-surface px-3 py-4 text-center text-xs text-muted-foreground",children:t.path}),v&&K&&!we&&r.jsx("div",{"data-diff-measuring-overlay":!0,className:"absolute inset-0 z-20 bg-surface"})]})]})}const Qe=8,Kt=3,Je=2,ze=1600,Ze=104,qt=1e3,ye=new Map;function Ut(t,o){for(ye.delete(t),ye.set(t,o);ye.size>qt;){const i=ye.keys().next().value;if(i===void 0)break;ye.delete(i)}}function Yt(t,o){return!!(t&&t.diffOverride===o.diffOverride&&t.reloadKey===o.reloadKey&&t.wrap===o.wrap&&t.showScrollHint===o.showScrollHint&&t.viewType===o.viewType&&t.inlineMode===o.inlineMode&&t.algorithm===o.algorithm&&t.whitespace===o.whitespace&&t.context===o.context)}const Qt={added:{label:"A",className:"text-[color:var(--diff-insert-strong)]",title:"Added"},modified:{label:"M",className:"text-[color:var(--diff-hunk-accent)]",title:"Modified"},deleted:{label:"D",className:"text-[color:var(--diff-delete-strong)]",title:"Deleted"},renamed:{label:"R",className:"text-muted-foreground",title:"Renamed"},copied:{label:"C",className:"text-[color:var(--diff-insert-strong)]",title:"Copied"},untracked:{label:"U",className:"text-[color:var(--diff-insert-strong)]",title:"Untracked (new file)"},conflicted:{label:"!",className:"text-destructive",title:"Conflicted"},unknown:{label:"?",className:"text-muted-foreground",title:"Unknown"}};function nr({status:t}){const o=Qt[t]??{label:"?",className:"text-muted-foreground",title:t};return r.jsx("span",{className:`w-4 shrink-0 text-center text-[10px] font-mono font-bold ${o.className}`,title:o.title,children:o.label})}function sr(t,o){return o?{key:o,nonce:t.nonce+1}:t}function or({files:t,groups:o,selectedKey:i,onSelectFile:x,mode:m,onModeChange:c,collapsedDirectoryKeys:b,onToggleDirectory:v,renderLeading:g,renderTrailing:f,renderDirectoryTrailing:y,renderSubtitle:L,renderStreamBadge:T,onInsertDiffReference:E,onHunkGitAction:B,onReferenceCopied:W,insertedReferenceKey:$,copiedReferenceKey:C,onClearAuditRecord:O,mobile:V,backLabel:ne,compact:ie,desktopLayout:se,wrap:G,showScrollHint:p,diffViewType:j,inlineMode:P,diffOptions:D,activePane:w,reloadKey:z=0,renderListHeader:X,renderMobileDetailHeader:oe,emptyContent:le,listPrefix:be,aiContent:ue,listContainerClassName:de,detailContainerClassName:U,desktopSidePanel:F,desktopListClassName:_,onDetailScroll:ae,initialDetailScrollTop:A,scrollToKey:K,scrollToKeyNonce:fe=0,externalSwiperRef:we,onMobileSlideChange:Me,slideToDetailOnMobile:ke}){const J=Nt(e=>e.rootPath),Re=a.useMemo(()=>e=>i===e.key||i===e.path||i===e.absolutePath,[i]),k=a.useMemo(()=>{const e=new Map;for(const s of t)e.set(s.key,s),s.path&&e.set(s.path,s),s.absolutePath&&e.set(s.absolutePath,s);const n=[],l=new Set;for(const s of o){const d=m==="tree"?Pt(s.files):s.files;for(const h of d){const u=e.get(h.key);!u||l.has(u.key)||(n.push(u),l.add(u.key))}}for(const s of t)l.has(s.key)||n.push(s);return n},[t,o,m]),q=a.useRef(null),Ne=a.useRef(null),ce=a.useRef(null),Te=a.useRef(z),Z=a.useRef(0),he=a.useRef(null),ee=a.useRef(new Map(ye)),I=a.useRef({key:null,top:0}),S=a.useRef(new Set),je=a.useRef(new Map),Ce=a.useRef(new Map),H=a.useRef(null),We=a.useRef(()=>{}),De=a.useRef([]),pe=a.useRef(new Map),$e=a.useRef({tops:[],heights:[],bottom:0}),[Oe,it]=a.useState(()=>new Set),[lt,ut]=a.useState(0),[te,xe]=a.useState({top:0,height:0}),Se=a.useMemo(()=>k.map(e=>e.key),[k]),Ie=Se.join("");Ce.current=new Map(k.map(e=>[e.key,{diffOverride:e.diffOverride,reloadKey:z,wrap:G,showScrollHint:p,viewType:j,inlineMode:P,algorithm:D?.algorithm,whitespace:D?.whitespace,context:D?.context}])),De.current=Se,pe.current=new Map(Se.map((e,n)=>[e,n]));const R=a.useMemo(()=>{const e=Se.map(s=>ee.current.get(s)??Ze),n=new Array(e.length);for(let s=0;s<e.length;s+=1)n[s]=s===0?0:n[s-1]+e[s-1];const l=e.length>0?n[e.length-1]+e[e.length-1]:0;return{tops:n,heights:e,bottom:l}},[lt,Ie]);$e.current=R;const me=a.useMemo(()=>K?k.find(e=>K===e.key||K===e.path||K===e.absolutePath)?.key??null:null,[k,K]),Fe=a.useMemo(()=>i?k.find(e=>i===e.key||i===e.path||i===e.absolutePath)?.key??null:null,[k,i]),Y=a.useMemo(()=>{const e=R.tops.length;if(e===0)return-1;let n=0,l=e;for(;n<l;){const s=Math.floor((n+l)/2);R.tops[s]<=te.top+1?n=s+1:l=s}return Math.min(e-1,Math.max(0,n-1))},[R.tops,te.top]);a.useEffect(()=>{if(!w||Y<0)return;const e=[Y];for(let s=1;s<=Kt;s+=1)e.push(Y+s),e.push(Y-s);const n=e.filter((s,d)=>s>=0&&s<k.length&&e.indexOf(s)===d).map(s=>k[s]).filter(s=>s.diffOverride===void 0&&!!(s.repoRoot??J));let l=!1;return(async()=>{for(let s=0;s<n.length&&!l;s+=Je){const d=n.slice(s,s+Je);await Promise.all(d.map(h=>{const u=h.repoRoot??J,N=et(h.path,u);return Dt(N,u??void 0,P??"words",D).catch(()=>{})}))}})(),()=>{l=!0}},[w,k,D,P,J,Y]);const re=a.useCallback(e=>{S.current=e,it(e)},[]),Ve=a.useMemo(()=>{const e=te.top-ze,n=te.top+te.height+ze,l=new Set;let s=0,d=R.tops.length;for(;s<d;){const u=Math.floor((s+d)/2);R.tops[u]<=e?s=u+1:d=u}const h=Math.max(0,s-1);for(let u=h;u<R.tops.length;u+=1){const N=R.tops[u];if(N>n)break;N+R.heights[u]>=e&&N<=n&&l.add(u)}for(let u=Y-1;u<=Y+1;u+=1)u>=0&&u<R.tops.length&&l.add(u);return Array.from(l).sort((u,N)=>u-N)},[R,te,Y]),_e=a.useCallback(()=>{if(H.current)return;const e=De.current;if(e.length===0)return;const n=I.current.key,l=Math.min(e.length-1,(n!==null?pe.current.get(n):void 0)??Math.max(0,Y)),s=u=>Math.abs((pe.current.get(u)??0)-l),d=[];S.current.has(e[l])||d.push(e[l]);for(let u=1;u<=Qe;u+=1){const N=l+u,M=l-u;N<e.length&&!S.current.has(e[N])&&d.push(e[N]),M>=0&&!S.current.has(e[M])&&d.push(e[M])}const h=d[0];if(h){if(S.current.size>=Qe){const u=s(h),N=Array.from(S.current).filter(Q=>Q!==H.current).sort((Q,ve)=>s(ve)-s(Q))[0];if(!N||s(N)<=u)return;const M=new Set(S.current);M.delete(N),re(M)}H.current=h,re(new Set(S.current).add(h))}},[re,Y]);We.current=_e;const ge=a.useCallback(e=>{if(S.current.has(e))return;const n=H.current;if(n&&n!==e){const l=new Set(S.current);l.delete(n),re(l),H.current=null}H.current=e,re(new Set(S.current).add(e))},[re]),Ge=a.useCallback(e=>{if(!S.current.has(e))return;const n=Ce.current.get(e);n&&je.current.set(e,n),H.current===e&&(H.current=null),window.requestAnimationFrame(()=>We.current())},[]),Xe=a.useCallback((e,n,l)=>{if(Math.abs(l-n)<1)return;const s=ee.current.get(e);s!==void 0&&Math.abs(s-l)<1||(ee.current.set(e,l),Ut(e,l),ut(d=>d+1))},[]);a.useLayoutEffect(()=>{if(Te.current!==z){Te.current=z;for(const e of k){if(e.diffOverride!==void 0)continue;const n=et(e.path,e.repoRoot);Mt(n,e.repoRoot??void 0,D)}}},[k,D,z]),a.useLayoutEffect(()=>{const e=q.current;if(!e)return;const n=()=>{const s=Math.max(0,Math.ceil(e.clientHeight));if(s===0)return;const d=e.scrollTop;xe(h=>h.height===s&&h.top===d?h:{top:d,height:s})};if(n(),typeof ResizeObserver>"u")return;const l=new ResizeObserver(n);return l.observe(e),()=>l.disconnect()},[V]),a.useEffect(()=>{Fe&&ge(Fe)},[ge,Fe]),a.useEffect(()=>{const e=new Set(De.current);for(const n of Array.from(ee.current.keys()))e.has(n)||ee.current.delete(n);for(const n of Array.from(S.current))if(!e.has(n)){const l=new Set(S.current);l.delete(n),re(l)}for(const n of Array.from(je.current.keys()))e.has(n)||je.current.delete(n);if(H.current&&!e.has(H.current)&&(H.current=null),k.length===0){H.current=null,je.current.clear(),re(new Set);return}_e()},[k.length,Ie,_e,Ve,re]);const Ke=a.useCallback(e=>{q.current=e;const n=Z.current,l=e.scrollTop;Z.current=l;const s=d=>{const h=$e.current,u=De.current;let N=0,M=h.tops.length;for(;N<M;){const Ae=Math.floor((N+M)/2);h.tops[Ae]<=d+1?N=Ae+1:M=Ae}const Q=Math.min(u.length-1,Math.max(0,N-1)),ve=u[Q]??null;I.current={key:ve,top:h.tops[Q]??0},ve&&ge(ve)};Math.abs(l-n)>=ze?(rt.flushSync(()=>{xe({top:l,height:e.clientHeight})}),s(l)):he.current===null&&(he.current=window.requestAnimationFrame(()=>{he.current=null;const d=q.current;if(d){const h=d.scrollTop;xe({top:h,height:d.clientHeight}),s(h)}})),ae?.(e)},[ae,ge]);a.useEffect(()=>()=>{he.current!==null&&window.cancelAnimationFrame(he.current)},[]),a.useLayoutEffect(()=>{const e=q.current;if(!e)return;const n=I.current;if(n.key===null)return;const l=pe.current.get(n.key);if(l===void 0)return;const s=(R.tops[l]??n.top)-n.top;if(Math.abs(s)<1)return;const d=e.scrollTop+s;Z.current=d,xe(h=>({top:d,height:h.height})),typeof e.scrollTo=="function"?e.scrollTo({top:d,behavior:"instant"}):e.scrollTop=d},[R]),a.useLayoutEffect(()=>{const e=De.current,n=R.tops;if(e.length===0){I.current={key:null,top:0};return}const l=Z.current,s=l+(q.current?.clientHeight??te.height),d=I.current;if(d.key!==null){const M=pe.current.get(d.key);if(M!==void 0){const Q=n[M]??0;if(Q+(R.heights[M]??Ze)>l&&Q<s){I.current={key:d.key,top:Q};return}}}let h=0,u=n.length;for(;h<u;){const M=Math.floor((h+u)/2);n[M]<=l+1?h=M+1:u=M}const N=Math.min(n.length-1,Math.max(0,h-1));I.current={key:e[N]??null,top:n[N]??0}}),a.useLayoutEffect(()=>{if(!me||Ne.current===fe)return;const e=pe.current.get(me);if(e===void 0)return;ge(me),I.current={key:me,top:R.tops[e]??0};const n=q.current;if(!n)return;Ne.current=fe;const l=R.tops[e]??0;typeof n.scrollTo=="function"?n.scrollTo({top:l,behavior:"instant"}):n.scrollTop=l;const s=n.scrollTop;Z.current=s,xe({top:s,height:n.clientHeight})},[R,te.height,ge,me,fe]),a.useLayoutEffect(()=>{if(A===void 0||me)return;const e=Ie;if(ce.current===e)return;const n=q.current;if(!n)return;ce.current=e;const l=Math.max(0,R.bottom-n.clientHeight),s=Math.min(Math.max(0,A),l);typeof n.scrollTo=="function"?n.scrollTo({top:s,behavior:"instant"}):n.scrollTop=s;const d=n.scrollTop;Z.current=d,xe({top:d,height:n.clientHeight})},[R.bottom,A,Ie,me]);const dt=a.useCallback((e,n)=>{const l=Re(e),s=Ce.current.get(e.key),d=s!==void 0&&Yt(je.current.get(e.key),s);return r.jsx(Xt,{file:Jt(e),repoRoot:e.repoRoot,selectionPath:e.key,displayName:e.displayName,displayDir:e.displayDir,selected:l,activePane:w,visible:Oe.has(e.key),reusableContent:d,estimatedHeight:n,lightweight:!1,wrap:G,showScrollHint:p,viewType:j,inlineMode:P,diffOptions:D,reloadKey:z,auditRecords:e.auditRecords,diffOverride:e.diffOverride,renderBadge:h=>T(h,e),onInsertDiffReference:e.onInsertDiffReference??E,onHunkGitAction:e.onHunkGitAction??B,onReferenceCopied:W,insertedReferenceKey:$,copiedReferenceKey:C,onClearAuditRecord:O,onContentReady:Ge,onHeightChange:Xe})},[w,C,D,j,Ge,Xe,P,$,Re,Oe,O,B,E,W,z,T,p,G]),ft=r.jsx("div",{"data-diff-stream-content":!0,"data-diff-stream-canvas":!0,className:"termdock-diff-stream relative overflow-clip bg-surface will-change-transform",style:{height:Math.max(te.height,R.bottom)},children:Ve.map(e=>{const n=k[e];return n?r.jsx("div",{"data-diff-canvas-slot":n.key,className:"absolute inset-x-0",style:{top:R.tops[e]},children:dt(n,R.heights[e])},n.key):null})}),ht=r.jsx("div",{ref:q,className:"termdock-diff-stream termdock-diff-stream-scroller h-full max-h-full min-h-0 overflow-y-auto overscroll-contain bg-surface [overflow-anchor:none]",onScroll:e=>Ke(e.currentTarget),children:ft});return r.jsx(Vt,{groups:o,mode:m,onModeChange:c,selectedKey:i,collapsedDirectoryKeys:b,onToggleDirectory:v,onSelectFile:x,renderLeading:g,renderTrailing:f,renderDirectoryTrailing:y,renderSubtitle:L,detail:ht,mobile:V,backLabel:ne,compact:ie,emptyContent:le,listPrefix:be,aiContent:ue,listContainerClassName:de,detailContainerClassName:U,renderListHeader:X,renderMobileDetailHeader:oe,externalSwiperRef:we,onMobileSlideChange:Me,slideToDetailOnMobile:ke,desktopLayout:se,onDetailScroll:Ke,desktopSidePanel:F,desktopListClassName:_,detailOwnsScroll:!0})}function Jt(t){return{path:t.path,absolutePath:t.absolutePath,status:t.status}}function et(t,o){if(t)return o&&t.startsWith(`${o}/`)?t.slice(o.length+1):t}export{St as A,nr as C,or as D,Et as L,Pt as f,sr as n};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{as as u}from"./app-tT08GaCs.js";import{b as o}from"./dnd-BCFAPC0L.js";import{D}from"./DiffReview-DNkXOQ2y.js";import"./react-XDCjal2T.js";import"./terminal-C7X98Amf.js";import"./sparkles-B3pwUd8-.js";import"./DiffViewer-CxxOpsVz.js";const w=40,p="/tmp/termdock-diff-review-lab";function h(n,l){const i=[`diff --git a/${n} b/${n}`,`--- a/${n}`,`+++ b/${n}`,`@@ -1,${l} +1,${l} @@`];for(let t=0;t<l;t+=1)t%5===0&&i.push(`-const removed_${t} = ${t};`),t%3===0&&i.push(`+const added_${t} = ${t} * 2;`),i.push(` context line ${t} in ${n}`);return i.join(`
|
|
2
|
+
`)}function j(n,l){return Array.from({length:w},(i,t)=>{const r=6+t*7%60,d=`src/module${String(t).padStart(2,"0")}/File${t}.ts`,a=`${p}/${d}`,f=h(d,r),m=h(d,1);return{key:a,path:d,absolutePath:a,status:"modified",repoRoot:p,displayName:`File${t}.ts`,displayDir:`src/module${String(t).padStart(2,"0")} · ${r} lines`,diffOverride:!l||n.has(t)?f:m,auditRecords:[]}})}function K(){const n=o.useMemo(()=>{if(typeof window>"u")return 0;const e=new URLSearchParams(window.location.search).get("delay"),s=e===null?0:Number.parseInt(e,10);return Number.isInteger(s)&&s>0?s:0},[]),l=n>0,[i,t]=o.useState(()=>new Set);o.useEffect(()=>{if(!l)return;const e=Array.from({length:w},(s,c)=>window.setTimeout(()=>{t(R=>{const y=new Set(R);return y.add(c),y})},n+c*20));return()=>e.forEach(s=>window.clearTimeout(s))},[l,n]);const r=o.useMemo(()=>j(i,l),[i,l]),d=o.useMemo(()=>[{key:"mock-repo",root:p,label:"diff-review-lab",files:r.map(e=>({key:e.key,path:e.path,absolutePath:e.absolutePath,displayName:e.displayName,displayDir:e.displayDir,status:e.status}))}],[r]),a=o.useMemo(()=>{if(typeof window>"u")return null;const e=new URLSearchParams(window.location.search).get("select");if(e===null)return null;const s=Number.parseInt(e,10);return Number.isInteger(s)&&s>=0&&s<r.length?s:null},[r.length]),[f,m]=o.useState(()=>a!==null?r[a].key:null),[b,g]=o.useState(()=>({key:a!==null?r[a].key:null,nonce:a!==null?1:0})),[S,x]=o.useState("list"),[$,k]=o.useState(new Set),[v,N]=o.useState(a!==null?1:0);return u.jsxs("div",{className:"flex h-screen flex-col bg-background text-foreground","data-diff-review-lab":!0,children:[u.jsxs("div",{className:"shrink-0 border-b border-border/20 px-3 py-2 text-xs text-muted-foreground",children:["DiffReview Lab · ",r.length," mock files · selected: ",u.jsx("span",{"data-lab-selected":!0,children:f??"none"})," · slide ",v]}),u.jsx("div",{className:"min-h-0 flex-1",children:u.jsx(D,{mobile:!0,backLabel:"Back",files:r,groups:d,selectedKey:f,scrollToKey:b.key,scrollToKeyNonce:b.nonce,mode:S,onModeChange:e=>{e!=="ai"&&x(e)},collapsedDirectoryKeys:$,onToggleDirectory:e=>k(s=>{const c=new Set(s);return c.has(e)?c.delete(e):c.add(e),c}),onSelectFile:e=>{m(e.key),g(s=>({key:e.key,nonce:s.nonce+1}))},onMobileSlideChange:N,renderLeading:()=>null,renderStreamBadge:e=>u.jsx("span",{className:"text-[10px] text-muted-foreground",children:e}),wrap:!0,showScrollHint:!1,activePane:!0})})]})}export{K as DiffReviewLab};
|
|
Binary file
|
|
Binary file
|