termdock 1.4.222 → 1.4.224
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/README.md +30 -0
- package/dist/client/assets/App-Cld3O8C2.js +155 -0
- package/dist/client/assets/App-Cld3O8C2.js.br +0 -0
- package/dist/client/assets/App-Cld3O8C2.js.gz +0 -0
- package/dist/client/assets/{ChangeWalkthroughPanel-CuKGb2vm.js → ChangeWalkthroughPanel-C5RRvTfo.js} +2 -2
- package/dist/client/assets/ChangeWalkthroughPanel-C5RRvTfo.js.br +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-C5RRvTfo.js.gz +0 -0
- package/dist/client/assets/{DagPlayground-PkAiSUqv.js → DagPlayground-Cb99juZB.js} +1 -1
- package/dist/client/assets/DagPlayground-Cb99juZB.js.br +0 -0
- package/dist/client/assets/DagPlayground-Cb99juZB.js.gz +0 -0
- package/dist/client/assets/{DiffLab-rqBUCnUj.js → DiffLab-CLftmGmh.js} +1 -1
- package/dist/client/assets/DiffLab-CLftmGmh.js.br +0 -0
- package/dist/client/assets/DiffLab-CLftmGmh.js.gz +0 -0
- package/dist/client/assets/{DiffReview-uLyEyKGh.js → DiffReview-DQri2Ybs.js} +1 -1
- package/dist/client/assets/DiffReview-DQri2Ybs.js.br +0 -0
- package/dist/client/assets/DiffReview-DQri2Ybs.js.gz +0 -0
- package/dist/client/assets/{DiffReviewLab-M9OnURIF.js → DiffReviewLab-DboW5kVe.js} +1 -1
- package/dist/client/assets/DiffReviewLab-DboW5kVe.js.br +0 -0
- package/dist/client/assets/DiffReviewLab-DboW5kVe.js.gz +0 -0
- package/dist/client/assets/{DiffViewer-CSYkLmfZ.js → DiffViewer-DFCeAPLJ.js} +4 -4
- package/dist/client/assets/DiffViewer-DFCeAPLJ.js.br +0 -0
- package/dist/client/assets/DiffViewer-DFCeAPLJ.js.gz +0 -0
- package/dist/client/assets/{ModelPreview-C2__4PcL.js → ModelPreview-CCG0pfHi.js} +1 -1
- package/dist/client/assets/ModelPreview-CCG0pfHi.js.br +0 -0
- package/dist/client/assets/ModelPreview-CCG0pfHi.js.gz +0 -0
- package/dist/client/assets/{RightSidebar-CxN_uNGK.js → RightSidebar-g_aBUJMG.js} +46 -46
- package/dist/client/assets/RightSidebar-g_aBUJMG.js.br +0 -0
- package/dist/client/assets/RightSidebar-g_aBUJMG.js.gz +0 -0
- package/dist/client/assets/{abnfDiagram-VCTEODGH-DF12U-Dn.js → abnfDiagram-VCTEODGH-BJpFAXlO.js} +1 -1
- package/dist/client/assets/abnfDiagram-VCTEODGH-BJpFAXlO.js.br +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-BJpFAXlO.js.gz +0 -0
- package/dist/client/assets/app-C6b0uY52.js +35 -0
- package/dist/client/assets/app-C6b0uY52.js.br +0 -0
- package/dist/client/assets/app-C6b0uY52.js.gz +0 -0
- package/dist/client/assets/{arc-DB0T9mv4.js → arc-BdJDW1lu.js} +1 -1
- package/dist/client/assets/arc-BdJDW1lu.js.br +0 -0
- package/dist/client/assets/arc-BdJDW1lu.js.gz +0 -0
- package/dist/client/assets/{architectureDiagram-5GKGNRK7-CPAaChHX.js → architectureDiagram-5GKGNRK7-fbj0F3dM.js} +1 -1
- package/dist/client/assets/architectureDiagram-5GKGNRK7-fbj0F3dM.js.br +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-fbj0F3dM.js.gz +0 -0
- package/dist/client/assets/{blockDiagram-I7D4REHJ-Bch_ccgD.js → blockDiagram-I7D4REHJ-B7pADDyc.js} +1 -1
- package/dist/client/assets/blockDiagram-I7D4REHJ-B7pADDyc.js.br +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-B7pADDyc.js.gz +0 -0
- package/dist/client/assets/{c4Diagram-7LVT6UL2-CHvaTFm7.js → c4Diagram-7LVT6UL2-4QmMGHz9.js} +1 -1
- package/dist/client/assets/c4Diagram-7LVT6UL2-4QmMGHz9.js.br +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-4QmMGHz9.js.gz +0 -0
- package/dist/client/assets/channel-CVdWcjpf.js +1 -0
- package/dist/client/assets/{chunk-2Q5K7J3B-DJBrVN2-.js → chunk-2Q5K7J3B-DOOBZfu4.js} +1 -1
- package/dist/client/assets/{chunk-5VM5RSS4-DMJ2N_u7.js → chunk-5VM5RSS4-B_3rAi5P.js} +1 -1
- package/dist/client/assets/{chunk-F27PBJKO-BhTQR78r.js → chunk-F27PBJKO-YNbIq50s.js} +1 -1
- package/dist/client/assets/chunk-F27PBJKO-YNbIq50s.js.br +0 -0
- package/dist/client/assets/chunk-F27PBJKO-YNbIq50s.js.gz +0 -0
- package/dist/client/assets/{chunk-IMKFNOWR-CITSHCd2.js → chunk-IMKFNOWR-0BVWaDVc.js} +1 -1
- package/dist/client/assets/chunk-IMKFNOWR-0BVWaDVc.js.br +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-0BVWaDVc.js.gz +0 -0
- package/dist/client/assets/{chunk-JWPE2WC7-DmQ_i8W8.js → chunk-JWPE2WC7-eSY9TWMP.js} +1 -1
- package/dist/client/assets/{chunk-POPQ4Y6H-Bz8KvQzJ.js → chunk-POPQ4Y6H-D39v1dzx.js} +1 -1
- package/dist/client/assets/{chunk-SVP7TREG-QAi_E4VI.js → chunk-SVP7TREG-BXHTF277.js} +1 -1
- package/dist/client/assets/chunk-SVP7TREG-BXHTF277.js.br +0 -0
- package/dist/client/assets/chunk-SVP7TREG-BXHTF277.js.gz +0 -0
- package/dist/client/assets/{chunk-TICWLB2K-DXh1I4n3.js → chunk-TICWLB2K-CYJgRp3n.js} +1 -1
- package/dist/client/assets/chunk-TICWLB2K-CYJgRp3n.js.br +0 -0
- package/dist/client/assets/chunk-TICWLB2K-CYJgRp3n.js.gz +0 -0
- package/dist/client/assets/{chunk-XXDRQBXY-DOIry6Wc.js → chunk-XXDRQBXY-CbzDQZH7.js} +1 -1
- package/dist/client/assets/classDiagram-ZZMXUADV-Dw2Jkvjn.js +1 -0
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-Dw2Jkvjn.js +1 -0
- package/dist/client/assets/{cose-bilkent-JH36ORCC-BKe41TZy.js → cose-bilkent-JH36ORCC-D8dthIbT.js} +1 -1
- package/dist/client/assets/cose-bilkent-JH36ORCC-D8dthIbT.js.br +0 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-D8dthIbT.js.gz +0 -0
- package/dist/client/assets/{cynefin-OW5HDTMX-BPxcvHsH.js → cynefin-OW5HDTMX-PBaLFt2i.js} +1 -1
- package/dist/client/assets/cynefin-OW5HDTMX-PBaLFt2i.js.br +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-PBaLFt2i.js.gz +0 -0
- package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-D0WT5xpa.js → cynefinDiagram-5FMLGOSQ-4Bv4ySZu.js} +1 -1
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-4Bv4ySZu.js.br +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-4Bv4ySZu.js.gz +0 -0
- package/dist/client/assets/{dagre-GXQ25YYZ-1aHx1jHJ.js → dagre-GXQ25YYZ-DIojN35W.js} +1 -1
- package/dist/client/assets/dagre-GXQ25YYZ-DIojN35W.js.br +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-DIojN35W.js.gz +0 -0
- package/dist/client/assets/{diagram-S7CK7UJ4-C3EoNHOa.js → diagram-S7CK7UJ4-DYa3GOaX.js} +1 -1
- package/dist/client/assets/diagram-S7CK7UJ4-DYa3GOaX.js.br +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-DYa3GOaX.js.gz +0 -0
- package/dist/client/assets/{diagram-UQ7AKVKN-CPFyA7uT.js → diagram-UQ7AKVKN-MZArHUml.js} +1 -1
- package/dist/client/assets/diagram-UQ7AKVKN-MZArHUml.js.br +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-MZArHUml.js.gz +0 -0
- package/dist/client/assets/{diagram-VSXAHHWV-DUNhd6k2.js → diagram-VSXAHHWV-DOg-qopG.js} +1 -1
- package/dist/client/assets/diagram-VSXAHHWV-DOg-qopG.js.br +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-DOg-qopG.js.gz +0 -0
- package/dist/client/assets/{diagram-VX7I27RA-243N_jy3.js → diagram-VX7I27RA-Cl1hWkHe.js} +1 -1
- package/dist/client/assets/diagram-VX7I27RA-Cl1hWkHe.js.br +0 -0
- package/dist/client/assets/diagram-VX7I27RA-Cl1hWkHe.js.gz +0 -0
- package/dist/client/assets/{diagram-Z3DM3KII-Bi5rovI0.js → diagram-Z3DM3KII-B_DYMsTz.js} +1 -1
- package/dist/client/assets/diagram-Z3DM3KII-B_DYMsTz.js.br +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-B_DYMsTz.js.gz +0 -0
- package/dist/client/assets/{ebnfDiagram-PWID7BFC-DlrVdduC.js → ebnfDiagram-PWID7BFC-DKkQawMy.js} +1 -1
- package/dist/client/assets/ebnfDiagram-PWID7BFC-DKkQawMy.js.br +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-DKkQawMy.js.gz +0 -0
- package/dist/client/assets/{erDiagram-RLTQ6QDP-DQS5M4b5.js → erDiagram-RLTQ6QDP-Dn9ywQPh.js} +1 -1
- package/dist/client/assets/erDiagram-RLTQ6QDP-Dn9ywQPh.js.br +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-Dn9ywQPh.js.gz +0 -0
- package/dist/client/assets/{flowDiagram-HODETNUW-mLbIp0uj.js → flowDiagram-HODETNUW-fySCe0cE.js} +1 -1
- package/dist/client/assets/flowDiagram-HODETNUW-fySCe0cE.js.br +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-fySCe0cE.js.gz +0 -0
- package/dist/client/assets/{ganttDiagram-EL5Y4UJY-B2seYQXF.js → ganttDiagram-EL5Y4UJY-C03JLSbZ.js} +1 -1
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-C03JLSbZ.js.br +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-C03JLSbZ.js.gz +0 -0
- package/dist/client/assets/{gestureArbiter-BHJqBOYt.js → gestureArbiter-Ca_CSCVo.js} +1 -1
- package/dist/client/assets/gestureArbiter-Ca_CSCVo.js.br +0 -0
- package/dist/client/assets/gestureArbiter-Ca_CSCVo.js.gz +0 -0
- package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-B_ShtYt_.js → gitGraphDiagram-WWUBYQGX-BSAe1f_B.js} +1 -1
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-BSAe1f_B.js.br +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-BSAe1f_B.js.gz +0 -0
- package/dist/client/assets/{index-D-2UYHja.css → index-DF6ug-qD.css} +1 -1
- package/dist/client/assets/index-DF6ug-qD.css.br +0 -0
- package/dist/client/assets/{index-D-2UYHja.css.gz → index-DF6ug-qD.css.gz} +0 -0
- package/dist/client/assets/{infoDiagram-27XIBGKW-Cszf7rNB.js → infoDiagram-27XIBGKW-VTsV1pM4.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-5VMMS53U-gcChM9AT.js → ishikawaDiagram-5VMMS53U-C7DJxPEv.js} +1 -1
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-C7DJxPEv.js.br +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-C7DJxPEv.js.gz +0 -0
- package/dist/client/assets/{journeyDiagram-3NMN7TZE-De_pY7WJ.js → journeyDiagram-3NMN7TZE-DgRhdTHR.js} +1 -1
- package/dist/client/assets/journeyDiagram-3NMN7TZE-DgRhdTHR.js.br +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-DgRhdTHR.js.gz +0 -0
- package/dist/client/assets/{kanban-definition-UXKFOSKX-B1JSuNpC.js → kanban-definition-UXKFOSKX-DaWZbETt.js} +1 -1
- package/dist/client/assets/kanban-definition-UXKFOSKX-DaWZbETt.js.br +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-DaWZbETt.js.gz +0 -0
- package/dist/client/assets/{layout-CCzdJbmI.js → layout-DNda62xi.js} +1 -1
- package/dist/client/assets/layout-DNda62xi.js.br +0 -0
- package/dist/client/assets/layout-DNda62xi.js.gz +0 -0
- package/dist/client/assets/{linear-DrfFkTtI.js → linear-CadrI0GP.js} +1 -1
- package/dist/client/assets/linear-CadrI0GP.js.br +0 -0
- package/dist/client/assets/linear-CadrI0GP.js.gz +0 -0
- package/dist/client/assets/{mermaid.core-DEUGaS9p.js → mermaid.core-HFssyUb5.js} +5 -5
- package/dist/client/assets/mermaid.core-HFssyUb5.js.br +0 -0
- package/dist/client/assets/mermaid.core-HFssyUb5.js.gz +0 -0
- package/dist/client/assets/{mindmap-definition-YA3MSWOX-CSudeofQ.js → mindmap-definition-YA3MSWOX-BLX420et.js} +1 -1
- package/dist/client/assets/mindmap-definition-YA3MSWOX-BLX420et.js.br +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-BLX420et.js.gz +0 -0
- package/dist/client/assets/{passwordBootstrap-CL6A4jgo.js → passwordBootstrap-B4C87XkY.js} +2 -2
- package/dist/client/assets/passwordBootstrap-B4C87XkY.js.br +0 -0
- package/dist/client/assets/passwordBootstrap-B4C87XkY.js.gz +0 -0
- package/dist/client/assets/{pegDiagram-XKGWAZYB-GvJqArvT.js → pegDiagram-XKGWAZYB-DMHN3Uz6.js} +1 -1
- package/dist/client/assets/pegDiagram-XKGWAZYB-DMHN3Uz6.js.br +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-DMHN3Uz6.js.gz +0 -0
- package/dist/client/assets/{pieDiagram-E7YTZNPT-v2I8vefl.js → pieDiagram-E7YTZNPT-u3MQV9-X.js} +1 -1
- package/dist/client/assets/pieDiagram-E7YTZNPT-u3MQV9-X.js.br +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-u3MQV9-X.js.gz +0 -0
- package/dist/client/assets/{quadrantDiagram-AXDQQJYC-Dwl9ynUP.js → quadrantDiagram-AXDQQJYC-B0iS0MxY.js} +1 -1
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-B0iS0MxY.js.br +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-B0iS0MxY.js.gz +0 -0
- package/dist/client/assets/{railroadDiagram-O6MQD6OU-C5P0Vrje.js → railroadDiagram-O6MQD6OU-Cny1bhbK.js} +1 -1
- package/dist/client/assets/railroadDiagram-O6MQD6OU-Cny1bhbK.js.br +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-Cny1bhbK.js.gz +0 -0
- package/dist/client/assets/referenceLongPress-CRjkeJkj.js +1 -0
- package/dist/client/assets/referenceLongPress-CRjkeJkj.js.br +0 -0
- package/dist/client/assets/referenceLongPress-CRjkeJkj.js.gz +0 -0
- package/dist/client/assets/{requirementDiagram-BXWQKSXE-Ch7mWqTe.js → requirementDiagram-BXWQKSXE-gQqK4Hig.js} +1 -1
- package/dist/client/assets/{requirementDiagram-BXWQKSXE-Ch7mWqTe.js.br → requirementDiagram-BXWQKSXE-gQqK4Hig.js.br} +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-gQqK4Hig.js.gz +0 -0
- package/dist/client/assets/{sankeyDiagram-P5KCCOFB-XNhXUjTd.js → sankeyDiagram-P5KCCOFB-5ZoSBB75.js} +1 -1
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-5ZoSBB75.js.br +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-5ZoSBB75.js.gz +0 -0
- package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-yW-mK8dy.js → sequenceDiagram-WJ2MYXX4-Cq1VlUlL.js} +1 -1
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-Cq1VlUlL.js.br +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-Cq1VlUlL.js.gz +0 -0
- package/dist/client/assets/{sizeCapture-INFHLROL-BFl2AgCE.js → sizeCapture-INFHLROL-lLK8eFcJ.js} +1 -1
- package/dist/client/assets/sizeCapture-INFHLROL-lLK8eFcJ.js.br +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-lLK8eFcJ.js.gz +0 -0
- package/dist/client/assets/{sparkles-DqJudZhx.js → sparkles-BNQv3v-n.js} +1 -1
- package/dist/client/assets/{stateDiagram-D77RDMKH-B7o3ltV5.js → stateDiagram-D77RDMKH-Xtxea1-c.js} +1 -1
- package/dist/client/assets/stateDiagram-D77RDMKH-Xtxea1-c.js.br +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-Xtxea1-c.js.gz +0 -0
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-1BGERJKu.js +1 -0
- package/dist/client/assets/{swimlanes-42K2YHIH-ChCdr5XE.js → swimlanes-42K2YHIH-CpVFOhSV.js} +1 -1
- package/dist/client/assets/swimlanes-42K2YHIH-CpVFOhSV.js.br +0 -0
- package/dist/client/assets/swimlanes-42K2YHIH-CpVFOhSV.js.gz +0 -0
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-C1U7ALsL.js +8 -0
- package/dist/client/assets/{timeline-definition-24CTP7MA-DoJRJjZJ.js → timeline-definition-24CTP7MA-BGM7_COx.js} +1 -1
- package/dist/client/assets/timeline-definition-24CTP7MA-BGM7_COx.js.br +0 -0
- package/dist/client/assets/timeline-definition-24CTP7MA-BGM7_COx.js.gz +0 -0
- package/dist/client/assets/{triangle-alert-CxA0lQgO.js → triangle-alert-t6xUbEkq.js} +1 -1
- package/dist/client/assets/{vennDiagram-4TSXK5OY-zKAx920b.js → vennDiagram-4TSXK5OY-DxxWi2bH.js} +1 -1
- package/dist/client/assets/{vennDiagram-4TSXK5OY-zKAx920b.js.br → vennDiagram-4TSXK5OY-DxxWi2bH.js.br} +0 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-DxxWi2bH.js.gz +0 -0
- package/dist/client/assets/{wardleyDiagram-VM6X3IG4-DywJyU0p.js → wardleyDiagram-VM6X3IG4-BIBrAH7x.js} +1 -1
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-BIBrAH7x.js.br +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-BIBrAH7x.js.gz +0 -0
- package/dist/client/assets/{xychartDiagram-S5SC5T6Z-CZGjZLhe.js → xychartDiagram-S5SC5T6Z-KxQx_cvI.js} +1 -1
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-KxQx_cvI.js.br +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-KxQx_cvI.js.gz +0 -0
- package/dist/client/index.html +2 -2
- package/dist/client/index.html.br +0 -0
- package/dist/client/index.html.gz +0 -0
- package/dist/client/sw.js +1 -1
- package/dist/client/sw.js.br +0 -0
- package/dist/client/sw.js.gz +0 -0
- package/dist/server/agent/notifyCli.js +65 -0
- package/dist/server/cli.js +47 -0
- package/dist/server/notifications/progressRoutes.js +26 -0
- package/dist/server/routes/filesystem.js +3 -19
- package/dist/server/routes/terminal.js +28 -1
- package/dist/server/utils/recentCommitHistory.js +45 -0
- package/dist/server/utils/settings.js +16 -0
- package/package.json +1 -1
- package/runtime-manifest.json +3 -3
- package/dist/client/assets/App-DyJ9kO7R.js +0 -156
- package/dist/client/assets/App-DyJ9kO7R.js.br +0 -0
- package/dist/client/assets/App-DyJ9kO7R.js.gz +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-CuKGb2vm.js.br +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-CuKGb2vm.js.gz +0 -0
- package/dist/client/assets/DagPlayground-PkAiSUqv.js.br +0 -0
- package/dist/client/assets/DagPlayground-PkAiSUqv.js.gz +0 -0
- package/dist/client/assets/DiffLab-rqBUCnUj.js.br +0 -0
- package/dist/client/assets/DiffLab-rqBUCnUj.js.gz +0 -0
- package/dist/client/assets/DiffReview-uLyEyKGh.js.br +0 -0
- package/dist/client/assets/DiffReview-uLyEyKGh.js.gz +0 -0
- package/dist/client/assets/DiffReviewLab-M9OnURIF.js.br +0 -0
- package/dist/client/assets/DiffReviewLab-M9OnURIF.js.gz +0 -0
- package/dist/client/assets/DiffViewer-CSYkLmfZ.js.br +0 -0
- package/dist/client/assets/DiffViewer-CSYkLmfZ.js.gz +0 -0
- package/dist/client/assets/ModelPreview-C2__4PcL.js.br +0 -0
- package/dist/client/assets/ModelPreview-C2__4PcL.js.gz +0 -0
- package/dist/client/assets/RightSidebar-CxN_uNGK.js.br +0 -0
- package/dist/client/assets/RightSidebar-CxN_uNGK.js.gz +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-DF12U-Dn.js.br +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-DF12U-Dn.js.gz +0 -0
- package/dist/client/assets/app-C5_tJqmt.js +0 -34
- package/dist/client/assets/app-C5_tJqmt.js.br +0 -0
- package/dist/client/assets/app-C5_tJqmt.js.gz +0 -0
- package/dist/client/assets/arc-DB0T9mv4.js.br +0 -0
- package/dist/client/assets/arc-DB0T9mv4.js.gz +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-CPAaChHX.js.br +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-CPAaChHX.js.gz +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-Bch_ccgD.js.br +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-Bch_ccgD.js.gz +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-CHvaTFm7.js.br +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-CHvaTFm7.js.gz +0 -0
- package/dist/client/assets/channel-CEI-kuiJ.js +0 -1
- package/dist/client/assets/chunk-F27PBJKO-BhTQR78r.js.br +0 -0
- package/dist/client/assets/chunk-F27PBJKO-BhTQR78r.js.gz +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-CITSHCd2.js.br +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-CITSHCd2.js.gz +0 -0
- package/dist/client/assets/chunk-SVP7TREG-QAi_E4VI.js.br +0 -0
- package/dist/client/assets/chunk-SVP7TREG-QAi_E4VI.js.gz +0 -0
- package/dist/client/assets/chunk-TICWLB2K-DXh1I4n3.js.br +0 -0
- package/dist/client/assets/chunk-TICWLB2K-DXh1I4n3.js.gz +0 -0
- package/dist/client/assets/classDiagram-ZZMXUADV-BzKuQFWs.js +0 -1
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-BzKuQFWs.js +0 -1
- package/dist/client/assets/cose-bilkent-JH36ORCC-BKe41TZy.js.br +0 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-BKe41TZy.js.gz +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-BPxcvHsH.js.br +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-BPxcvHsH.js.gz +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-D0WT5xpa.js.br +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-D0WT5xpa.js.gz +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-1aHx1jHJ.js.br +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-1aHx1jHJ.js.gz +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-C3EoNHOa.js.br +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-C3EoNHOa.js.gz +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-CPFyA7uT.js.br +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-CPFyA7uT.js.gz +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-DUNhd6k2.js.br +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-DUNhd6k2.js.gz +0 -0
- package/dist/client/assets/diagram-VX7I27RA-243N_jy3.js.br +0 -0
- package/dist/client/assets/diagram-VX7I27RA-243N_jy3.js.gz +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-Bi5rovI0.js.br +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-Bi5rovI0.js.gz +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-DlrVdduC.js.br +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-DlrVdduC.js.gz +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-DQS5M4b5.js.br +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-DQS5M4b5.js.gz +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-mLbIp0uj.js.br +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-mLbIp0uj.js.gz +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-B2seYQXF.js.br +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-B2seYQXF.js.gz +0 -0
- package/dist/client/assets/gestureArbiter-BHJqBOYt.js.br +0 -0
- package/dist/client/assets/gestureArbiter-BHJqBOYt.js.gz +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-B_ShtYt_.js.br +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-B_ShtYt_.js.gz +0 -0
- package/dist/client/assets/index-D-2UYHja.css.br +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-gcChM9AT.js.br +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-gcChM9AT.js.gz +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-De_pY7WJ.js.br +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-De_pY7WJ.js.gz +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-B1JSuNpC.js.br +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-B1JSuNpC.js.gz +0 -0
- package/dist/client/assets/layout-CCzdJbmI.js.br +0 -0
- package/dist/client/assets/layout-CCzdJbmI.js.gz +0 -0
- package/dist/client/assets/linear-DrfFkTtI.js.br +0 -0
- package/dist/client/assets/linear-DrfFkTtI.js.gz +0 -0
- package/dist/client/assets/mermaid.core-DEUGaS9p.js.br +0 -0
- package/dist/client/assets/mermaid.core-DEUGaS9p.js.gz +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-CSudeofQ.js.br +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-CSudeofQ.js.gz +0 -0
- package/dist/client/assets/passwordBootstrap-CL6A4jgo.js.br +0 -0
- package/dist/client/assets/passwordBootstrap-CL6A4jgo.js.gz +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-GvJqArvT.js.br +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-GvJqArvT.js.gz +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-v2I8vefl.js.br +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-v2I8vefl.js.gz +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-Dwl9ynUP.js.br +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-Dwl9ynUP.js.gz +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-C5P0Vrje.js.br +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-C5P0Vrje.js.gz +0 -0
- package/dist/client/assets/referenceLongPress-BPZ3zpO3.js +0 -1
- package/dist/client/assets/referenceLongPress-BPZ3zpO3.js.br +0 -0
- package/dist/client/assets/referenceLongPress-BPZ3zpO3.js.gz +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-Ch7mWqTe.js.gz +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-XNhXUjTd.js.br +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-XNhXUjTd.js.gz +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-yW-mK8dy.js.br +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-yW-mK8dy.js.gz +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-BFl2AgCE.js.br +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-BFl2AgCE.js.gz +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-B7o3ltV5.js.br +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-B7o3ltV5.js.gz +0 -0
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-0TFe3GLN.js +0 -1
- package/dist/client/assets/swimlanes-42K2YHIH-ChCdr5XE.js.br +0 -0
- package/dist/client/assets/swimlanes-42K2YHIH-ChCdr5XE.js.gz +0 -0
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-bs9RM1xq.js +0 -8
- package/dist/client/assets/timeline-definition-24CTP7MA-DoJRJjZJ.js.br +0 -0
- package/dist/client/assets/timeline-definition-24CTP7MA-DoJRJjZJ.js.gz +0 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-zKAx920b.js.gz +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-DywJyU0p.js.br +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-DywJyU0p.js.gz +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-CZGjZLhe.js.br +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-CZGjZLhe.js.gz +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-UqXCGE5m.js","assets/react-XDCjal2T.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{
|
|
2
|
+
import{b8 as h,_ as ti,cJ as At,bq as Et,cz as ri,cD as si,ax as ii,bu as oi,x as ai,L as pr,e as li,c as ci,b2 as ui,av as Yr}from"./app-C6b0uY52.js";import{b as S}from"./dnd-BCFAPC0L.js";import{u as fi,G as Nt}from"./referenceLongPress-CRjkeJkj.js";function wr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable}))),n.push.apply(n,r)}return n}function Z(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?wr(Object(n),!0).forEach((function(r){Dt(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):wr(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function Dt(e,t,n){return(t=(function(r){var s=(function(i,o){if(typeof i!="object"||i===null)return i;var a=i[Symbol.toPrimitive];if(a!==void 0){var l=a.call(i,o);if(typeof l!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(o==="string"?String:Number)(i)})(r,"string");return typeof s=="symbol"?s:String(s)})(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function on(e,t){if(e==null)return{};var n,r,s=(function(o,a){if(o==null)return{};var l,c,u={},f=Object.keys(o);for(c=0;c<f.length;c++)l=f[c],a.indexOf(l)>=0||(u[l]=o[l]);return u})(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}function Me(e,t){return hi(e)||(function(n,r){var s=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(s!=null){var i,o,a,l,c=[],u=!0,f=!1;try{if(a=(s=s.call(n)).next,r===0){if(Object(s)!==s)return;u=!1}else for(;!(u=(i=a.call(s)).done)&&(c.push(i.value),c.length!==r);u=!0);}catch(d){f=!0,o=d}finally{try{if(!u&&s.return!=null&&(l=s.return(),Object(l)!==l))return}finally{if(f)throw o}}return c}})(e,t)||Bt(e,t)||mi()}function di(e){return(function(t){if(Array.isArray(t))return $t(t)})(e)||gi(e)||Bt(e)||(function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
3
3
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)})()}function hi(e){if(Array.isArray(e))return e}function gi(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Bt(e,t){if(e){if(typeof e=="string")return $t(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$t(e,t):void 0}}function $t(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function mi(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
4
4
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function vi(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=Bt(e))||t){n&&(e=n);var r=0,s=function(){};return{s,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(l){throw l},f:s}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
5
5
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i,o=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var l=n.next();return o=l.done,l},e:function(l){a=!0,i=l},f:function(){try{o||n.return==null||n.return()}finally{if(a)throw i}}}}var Hn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Mn(e,t){return e(t={exports:{}},t.exports),t.exports}var le=Mn((function(e){(function(){var t={}.hasOwnProperty;function n(){for(var r=[],s=0;s<arguments.length;s++){var i=arguments[s];if(i){var o=typeof i;if(o==="string"||o==="number")r.push(i);else if(Array.isArray(i)){if(i.length){var a=n.apply(null,i);a&&r.push(a)}}else if(o==="object"){if(i.toString!==Object.prototype.toString&&!i.toString.toString().includes("[native code]")){r.push(i.toString());continue}for(var l in i)t.call(i,l)&&i[l]&&r.push(l)}}}return r.join(" ")}e.exports?(n.default=n,e.exports=n):window.classNames=n})()})),ie={hunkClassName:"",lineClassName:"",gutterClassName:"",codeClassName:"",monotonous:!1,gutterType:"default",viewType:"split",widgets:{},hideGutter:!1,selectedChanges:[],generateAnchorID:function(){},generateLineClassName:function(){},renderGutter:function(e){var t=e.renderDefault;return(0,e.wrapInAnchor)(t())},codeEvents:{},gutterEvents:{}},Jr=S.createContext(ie),bi=Jr.Provider,pi=function(){return S.useContext(Jr)};Mn((function(e,t){(function(n){function r(i){var o=i.slice(11),a=null,l=null;switch(o.indexOf('"')){case-1:a=(f=o.split(" "))[0].slice(2),l=f[1].slice(2);break;case 0:var c=o.indexOf('"',2);a=o.slice(3,c);var u=o.indexOf('"',c+1);l=u<0?o.slice(c+4):o.slice(u+3,-1);break;default:var f;a=(f=o.split(" "))[0].slice(2),l=f[1].slice(3,-1)}return{oldPath:a,newPath:l}}var s={parse:function(i){for(var o,a,l,c,u,f=[],d=2,g=i.split(`
|
|
@@ -11,7 +11,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
11
11
|
`)||t.includes(`
|
|
12
12
|
`))return!0;const n=Br(e),r=Br(t);return n===r||n==="blank"||r==="blank"}function Vr(e){return e.trim().replace(/(['"`])(?:\\.|[^\\])*?\1/gu,(t,n)=>`${n}${n}`).replace(/\b\d+(?:\.\d+)?\b/gu,"0").replace(/\s+/gu," ")}function Ga(e,t){const n=e.trim(),r=t.trim();if(e===t)return n?/[\p{L}\p{N}_$]/u.test(n)?1:.3:.1;if(n===r)return n?/[\p{L}\p{N}_$]/u.test(n)?.99:.3:.1;if(!Va(e,t))return 0;const s=Fr(n),i=Fr(r);if(s.length===0||i.length===0)return 0;const a=2*ws(s,i).length/(s.length+i.length),l=Hr(s,i),c=Hr(zr(n),zr(r)),u=a*.5+l*.2+c*.3,f=Vr(n),d=Vr(r);return f===d&&/[\p{L}\p{N}_$]/u.test(f)?Math.max(.72,u):u}function Wa(e){const t=e.filter(Ia),n=e.filter(Fa),r=ws(t.map(a=>a.content.trim()),n.map(a=>a.content.trim())),s=[];let i=0,o=0;for(const a of r)(i<a.left||o<a.right)&&s.push({deletes:t.slice(i,a.left),inserts:n.slice(o,a.right),anchored:!1}),s.push({deletes:[t[a.left]],inserts:[n[a.right]],anchored:!0}),i=a.left+1,o=a.right+1;return(i<t.length||o<n.length)&&s.push({deletes:t.slice(i),inserts:n.slice(o),anchored:!1}),s}function Ua(e,t,n=.7){const r=[];if(e.length*t.length>5e4){const c=new Map;for(const[f,d]of t.entries()){const g=d.content.trim();if(!/[\p{L}\p{N}_$]/u.test(g))continue;const m=c.get(g);m?m.push(f):c.set(g,[f])}const u=new Map(e.map(f=>[f.content.trim(),0]));for(const f of e){const d=f.content.trim();u.set(d,(u.get(d)??0)+1)}for(const[f,d]of e.entries()){const g=d.content.trim(),m=c.get(g);if(u.get(g)!==1||m?.length!==1)continue;const b=m[0];r.push({oldLineNumber:d.lineNumber,newLineNumber:t[b].lineNumber,score:1,oldIndex:f,newIndex:b})}}else for(const[c,u]of e.entries())for(const[f,d]of t.entries()){const g=Ga(u.content,d.content);g<n||r.push({oldLineNumber:u.lineNumber,newLineNumber:d.lineNumber,score:g,oldIndex:c,newIndex:f})}r.sort((c,u)=>u.score-c.score||c.oldIndex-u.oldIndex||c.newIndex-u.newIndex);const s=new Set,i=new Set,o=r.filter(c=>s.has(c.oldIndex)||i.has(c.newIndex)?!1:(s.add(c.oldIndex),i.add(c.newIndex),!0)).sort((c,u)=>c.oldIndex-u.oldIndex),a=[];for(const c of o){const u=a[a.length-1],f=u?.[u.length-1];f&&c.oldIndex===f.oldIndex+1&&c.newIndex===f.newIndex+1?u.push(c):a.push([c])}return a.flatMap(c=>{if(c.length<2)return[];if(c.reduce((b,w)=>b+w.score,0)/c.length<.82||!c.some(b=>b.score>=.95))return[];const f=c[0].oldLineNumber,d=c[c.length-1].oldLineNumber,g=c[0].newLineNumber,m=c[c.length-1].newLineNumber;return g>d+1||f>m+1?c:[]}).map(({oldLineNumber:c,newLineNumber:u,score:f})=>({oldLineNumber:c,newLineNumber:u,score:f}))}function Ka(e,t){const n=Array.from({length:e.length+1},()=>Array(t.length+1).fill(0));for(let r=e.length-1;r>=0;r-=1)for(let s=t.length-1;s>=0;s-=1)n[r][s]=e[r]===t[s]?n[r+1][s+1]+1:Math.max(n[r+1][s],n[r][s+1]);return n}function Xa(e){if(e.length===0)return[];const t=[],n=new Int32Array(e.length).fill(-1);for(let i=0;i<e.length;i+=1){let o=0,a=t.length;for(;o<a;){const l=o+a>>>1;e[t[l]].right<e[i].right?o=l+1:a=l}o>0&&(n[i]=t[o-1]),t[o]=i}const r=[];let s=t[t.length-1]??-1;for(;s>=0;)r.push(e[s]),s=n[s];return r.reverse()}function Ya(e,t){const n=new Map,r=new Map,s=(o,a,l)=>{const c=o.get(a);c?c.push(l):o.set(a,[l])};e.forEach((o,a)=>s(n,o,a)),t.forEach((o,a)=>s(r,o,a));const i=[];for(const[o,a]of n){const l=r.get(o);a.length===1&&l?.length===1&&i.push({left:a[0],right:l[0]})}return i.sort((o,a)=>o.left-a.left),Xa(i)}function Ja(e,t){const n=[];let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];)n.push({left:r,right:r}),r+=1;const s=[];let i=e.length-1,o=t.length-1;for(;i>=r&&o>=r&&e[i]===t[o];)s.push({left:i,right:o}),i-=1,o-=1;return[...n,...s.reverse()]}function ws(e,t){if(e.length===0||t.length===0)return[];if(e.length*t.length>12e5){const o=Ya(e,t);return o.length>0?o:Ja(e,t)}const n=Ka(e,t),r=[];let s=0,i=0;for(;s<e.length&&i<t.length;)e[s]===t[i]?(r.push({left:s,right:i}),s+=1,i+=1):n[s+1][i]>=n[s][i+1]?s+=1:i+=1;return r}let Ge=null,Za=0;const yn=new Map;function Qa(){return Ge||(Ge=new Worker(new URL("/assets/diffWorker-Czt5l8iy.js",import.meta.url),{type:"module"}),Ge.onmessage=e=>{const t=e.data,n=yn.get(t.id);if(n){if(yn.delete(t.id),!t.ok){n.reject(new Error(t.error));return}n.resolve({files:t.files,tokens:new Map(t.tokens),parseMs:t.parseMs,tokenizeMs:t.tokenizeMs})}},Ge.onerror=e=>{const t=new Error(e.message||"Diff worker failed");for(const n of yn.values())n.reject(t);yn.clear(),Ge?.terminate(),Ge=null}),Ge}function qa(e,t,n,r){const s=++Za;return new Promise((i,o)=>{yn.set(s,{resolve:i,reject:o}),Qa().postMessage({id:s,diffContent:e,inlineMode:t,oldSource:n,language:r})})}function el({enabled:e,className:t,label:n,children:r}){const s=S.useRef(null),i=S.useRef([]),o=S.useRef(0),a=S.useRef(0),[l,c]=S.useState(!1),u=d=>{const g=s.current;if(!g)return;const m=Math.max(0,Math.min(a.current,d));o.current=m;for(const b of[...i.current,...g.querySelectorAll("[data-diff-horizontal-scroll]")])Math.abs(b.scrollLeft-m)>.5&&(b.scrollLeft=m)};S.useLayoutEffect(()=>{const d=s.current;if(!d)return;if(!e){for(const v of i.current)v.scrollLeft=0;i.current=[],o.current=a.current=0,d.style.removeProperty("--diff-scroll-overflow"),c(!1);return}const g=()=>{i.current=Array.from(d.querySelectorAll(".diff-code"));let v=0;for(const y of i.current){const k=document.createRange();if(k.selectNodeContents(y),typeof k.getBoundingClientRect!="function")continue;const A=getComputedStyle(y),j=k.getBoundingClientRect().width+parseFloat(A.paddingLeft)+parseFloat(A.paddingRight);v=Math.max(v,Math.ceil(j-y.clientWidth))}a.current=v,d.style.setProperty("--diff-scroll-overflow",`${v}px`),c(v>0),u(o.current)};g();const m=typeof ResizeObserver<"u"?new ResizeObserver(g):null;m?.observe(d);let b=!1;document.fonts?.ready.then(()=>{b||g()});const w=v=>{if(v.ctrlKey||v.metaKey)return;const y=v.deltaX||(v.shiftKey?v.deltaY:0);if(!y||a.current===0)return;const k=v.deltaMode===1?16:v.deltaMode===2?d.clientWidth/2:1;u(o.current+y*k),v.preventDefault()};return d.addEventListener("wheel",w,{passive:!1}),()=>{b=!0,m?.disconnect(),d.removeEventListener("wheel",w)}},[e,r]);const f=d=>{if(!e)return;const g=d.target;g.matches(".diff-code, [data-diff-horizontal-scroll]")&&Math.abs(g.scrollLeft-o.current)>.5&&u(g.scrollLeft)};return h.jsxs("div",{ref:s,className:`${t} ${e?"termdock-diff-split-nowrap":""}`,onScrollCapture:f,children:[r,e&&l&&h.jsx("div",{className:"termdock-diff-horizontal-bars",children:[0,1].map(d=>h.jsx("div",{"data-diff-horizontal-scroll":!0,tabIndex:0,role:"region","aria-label":n,children:h.jsx("div",{})},d))})]})}const nl=1024*1024,tl=2e4,Gr=2e3,Wr={js:"javascript",mjs:"javascript",cjs:"javascript",jsx:"jsx",ts:"typescript",mts:"typescript",cts:"typescript",tsx:"tsx",json:"json",json5:"json5",jsonc:"json",html:"markup",htm:"markup",xml:"markup",svg:"markup",vue:"markup",css:"css",scss:"scss",sass:"sass",less:"less",styl:"stylus",py:"python",pyw:"python",rb:"ruby",php:"php",go:"go",rs:"rust",java:"java",kt:"kotlin",kts:"kotlin",scala:"scala",groovy:"groovy",clj:"clojure",cljs:"clojure",c:"c",h:"c",cpp:"cpp",cc:"cpp",cxx:"cpp",hpp:"cpp",hxx:"cpp",cs:"csharp",fs:"fsharp",swift:"swift",m:"objectivec",mm:"objectivec",dart:"dart",lua:"lua",r:"r",jl:"julia",ex:"elixir",exs:"elixir",erl:"erlang",hrl:"erlang",hs:"haskell",ml:"ocaml",nim:"nim",pl:"perl",pm:"perl",d:"d",zig:"clike",v:"clike",sh:"bash",bash:"bash",zsh:"bash",fish:"bash",ksh:"bash",ps1:"powershell",psm1:"powershell",bat:"batch",cmd:"batch",yml:"yaml",yaml:"yaml",toml:"toml",ini:"ini",cfg:"ini",conf:"ini",properties:"properties",env:"bash",dockerfile:"docker",makefile:"makefile",mk:"makefile",cmake:"cmake",gradle:"groovy",sql:"sql",graphql:"graphql",gql:"graphql",md:"markdown",markdown:"markdown",tex:"latex",proto:"protobuf",diff:"diff",patch:"diff",vim:"vim",nginx:"nginx",apacheconf:"apacheconf",asm:"asm6502",tf:"hcl",hcl:"hcl",sol:"solidity",wasm:"wasm",wat:"wasm"},rl={dockerfile:"docker",makefile:"makefile",cmakelists:"cmake",".bashrc":"bash",".zshrc":"bash",".profile":"bash",".gitconfig":"ini",".npmrc":"ini"};function sl(e){return e.split(/[\\/]/).pop()??e}function Ct(e){if(!e)return null;const t=sl(e).toLowerCase(),n=rl[t];if(n)return n;const r=t.lastIndexOf(".");if(r<=0)return Wr[t]??null;const s=t.slice(r+1);return Wr[s]??null}function ec(e){if(e.length>nl)return!1;let t=1,n=0;for(let r=0;r<e.length;r+=1)if(e.charCodeAt(r)===10){if(r-n>Gr||(t+=1,t>tl))return!1;n=r+1}return!(e.length-n>Gr)}let Gn=null;function nc(){return Gn||(Gn=ti(()=>import("./index-UqXCGE5m.js").then(e=>e.i),__vite__mapDeps([0,1])).then(e=>e.default??e).catch(e=>{throw Gn=null,e})),Gn}function tc(e,t,n){if(!e.registered(n))return t.split(`
|
|
13
13
|
`).map(u=>[u||" "]);const r=e.highlight(t,n),s=[];let i=[],o=0,a=0;const l=()=>{s.push(i.length>0?i:[" "]),i=[],o+=1},c=(u,f)=>{for(const d of u)if(d.type==="text"){const g=d.value.split(`
|
|
14
|
-
`);for(let m=0;m<g.length;m+=1){m>0&&l();const b=g[m];b.length!==0&&(f?(a+=1,i.push(S.createElement("span",{key:`t-${o}-${a}`,className:f},b))):i.push(b))}}else{const g=Array.isArray(d.properties?.className)?d.properties.className.join(" "):void 0,m=f?g?`${f} ${g}`:f:g;c(d.children,m)}};return c(r,void 0),l(),s}const ys="termdock:diff-viewer:whitespace:v1",_s="termdock:diff-viewer:context:v1";function il(e){return e==="default"||e==="trim"||e==="ignore"||e==="ignore-blank-lines"}function ol(e){return e==="all"||e===3||e===10||e===25}function al(){return{whitespace:Et(ys,il)??"default",context:Et(_s,ol)??3}}let _n=al();const Ft=new Set;function ll(e){return Ft.add(e),()=>{Ft.delete(e)}}function cl(){return _n}function Ns(e){const t={..._n,...e};if(!(t.whitespace===_n.whitespace&&t.context===_n.context)){_n=t,At(ys,t.whitespace),At(_s,t.context);for(const n of Ft)n()}}function ul(e){Ns({whitespace:e})}function fl(e){Ns({context:e})}function dl(){return{...S.useSyncExternalStore(ll,cl),setWhitespace:ul,setContext:fl}}const hl=24,gl=32,ml=8e3,ks="termdock:diff-viewer:view-type:v1",Ss="(min-width: 900px)",te=new Map,re=new Map,Ce=new Map,Ie=new Map,ae=new Map,Ue=new Map;let vl=0,bl=0,pl=0;function X(e,t={}){if(typeof window>"u")return;const n=JSON.stringify({level:"info",message:`DIFF_VIEWER ${e}`,data:{seq:++vl,ts:Date.now(),...t}});fetch("/api/client-log",{method:"POST",headers:{"Content-Type":"application/json"},body:n,keepalive:!0}).catch(()=>{})}function Wn(e,t={}){if(typeof window>"u")return;const n=JSON.stringify({level:e==="still_active"?"warn":"info",message:`DIFF_LOADING ${e}`,data:{ts:Date.now(),...t}});fetch("/api/client-log",{method:"POST",headers:{"Content-Type":"application/json"},body:n,keepalive:!0}).catch(()=>{})}function wl(e){const t=e?.context===void 0?"default":String(e.context);return`${e?.algorithm??"default"}:${e?.whitespace??"default"}:${t}`}function cn(e,t,n){return`${t??""}\0${e??""}\0${wl(n)}`}function Yn(e,t,n,r,s){return`${cn(e,t,n)}\0${r}\0${s??""}`}function yl(e,t){for(ae.delete(e),ae.set(e,t);ae.size>gl;){const n=ae.keys().next().value;if(n===void 0)break;ae.delete(n)}return t.result}function _l(e,t,n,r,s,i,o){const a=Yn(n,r,s,i,o),l=ae.get(a);if(l?.diffContent===e&&l.oldSource===t)return ae.delete(a),ae.set(a,l),Promise.resolve(l.result);const c=Ue.get(a);if(c?.diffContent===e&&c.oldSource===t)return c.promise;const u=qa(e,i,t,o).then(f=>Ue.get(a)?.promise===u?yl(a,{diffContent:e,oldSource:t,result:f}):f).finally(()=>{Ue.get(a)?.promise===u&&Ue.delete(a)});return Ue.set(a,{diffContent:e,oldSource:t,promise:u}),u}function Nl(e,t,n){const r=`${cn(e,t,n)}\0`;for(const s of Array.from(ae.keys()))s.startsWith(r)&&ae.delete(s);for(const s of Array.from(Ue.keys()))s.startsWith(r)&&Ue.delete(s)}function js(e,t){if(t.error)return t;for(te.has(e)&&te.delete(e),te.set(e,t);te.size>hl;){const n=te.keys().next().value;if(n===void 0)break;te.delete(n)}return t}function Qn(e){const t=Ie.get(e);t&&(Ie.delete(e),t.abort())}function kl(e,t,n,r,s,i){const o=re.get(e);if(o)return X("preload_reuse_pending",{traceId:s,key:e,filePath:t,cwd:n}),o;const a=new AbortController;Ie.set(e,a),X("preload_start",{traceId:s,key:e,filePath:t,cwd:n,version:r});const l=Yr(t,void 0,n,a.signal,"preload_diff",s,void 0,void 0,i).then(c=>(X("preload_result",{traceId:s,key:e,filePath:t,cwd:n,bytes:c.diff?.length??0,error:c.error??null,tooLarge:!!c.tooLarge}),(Ce.get(e)??0)===r?js(e,c):c)).catch(c=>{throw X("preload_error",{traceId:s,key:e,filePath:t,cwd:n,error:c instanceof Error?c.message:String(c)}),c}).finally(()=>{re.get(e)===l&&re.delete(e),Ie.get(e)===a&&Ie.delete(e)});return re.set(e,l),l}function Ht(e,t,n){const r=cn(e,t,n),s=te.get(r);return s&&(te.delete(r),te.set(r,s)),s}function Sl(e,t,n){const r=cn(e,t,n);Qn(r),re.delete(r);const s=(Ce.get(r)??0)+1;return Ce.set(r,s),kl(r,e,t,s,void 0,n)}function rc(e,t,n){const r=cn(e,t,n);Qn(r),te.delete(r),re.delete(r),Nl(e,t,n),Ce.set(r,(Ce.get(r)??0)+1)}function jl(e,t,n,r=!1,s,i,o,a){const l=cn(e,t,a);r&&(Qn(l),te.delete(l),re.delete(l),Ce.set(l,(Ce.get(l)??0)+1));const c=Ht(e,t,a);if(c&&!r)return X("visible_cache_hit",{traceId:s,key:l,filePath:e,cwd:t,bytes:c.diff?.length??0,error:c.error??null}),Promise.resolve(c);const u=Ce.get(l)??0,f=re.get(l);if(f&&!r)return X("visible_reuse_pending",{traceId:s,key:l,filePath:e,cwd:t}),f;Qn(l),X("visible_start",{interactionId:i,requestSlotId:o,traceId:s,key:l,filePath:e,cwd:t,force:r,version:u,replacedPreload:!!f,pendingExists:!!f,cacheSize:te.size,promiseSize:re.size});const d=new AbortController;Ie.set(l,d);const g=Yr(e,void 0,t,d.signal,"view_diff",s,i??void 0,void 0,a).then(m=>(X("visible_result",{interactionId:i,requestSlotId:o,traceId:s,key:l,filePath:e,cwd:t,bytes:m.diff?.length??0,error:m.error??null,tooLarge:!!m.tooLarge,truncated:!!m.truncated}),(Ce.get(l)??0)===u?js(l,m):m)).catch(m=>{throw X("visible_error",{interactionId:i,requestSlotId:o,traceId:s,key:l,filePath:e,cwd:t,error:m instanceof Error?m.message:String(m),aborted:d.signal.aborted,abortReason:d.signal.aborted?String(d.signal.reason??""):void 0,viewerAborted:n.aborted}),m}).finally(()=>{re.get(l)===g&&re.delete(l),Ie.get(l)===d&&Ie.delete(l)});return re.set(l,g),g}function Un(e,t){if(e)return t&&e.startsWith(`${t}/`)?e.slice(t.length+1):e}function Cl(e,t){return!e||!
|
|
14
|
+
`);for(let m=0;m<g.length;m+=1){m>0&&l();const b=g[m];b.length!==0&&(f?(a+=1,i.push(S.createElement("span",{key:`t-${o}-${a}`,className:f},b))):i.push(b))}}else{const g=Array.isArray(d.properties?.className)?d.properties.className.join(" "):void 0,m=f?g?`${f} ${g}`:f:g;c(d.children,m)}};return c(r,void 0),l(),s}const ys="termdock:diff-viewer:whitespace:v1",_s="termdock:diff-viewer:context:v1";function il(e){return e==="default"||e==="trim"||e==="ignore"||e==="ignore-blank-lines"}function ol(e){return e==="all"||e===3||e===10||e===25}function al(){return{whitespace:Et(ys,il)??"default",context:Et(_s,ol)??3}}let _n=al();const Ft=new Set;function ll(e){return Ft.add(e),()=>{Ft.delete(e)}}function cl(){return _n}function Ns(e){const t={..._n,...e};if(!(t.whitespace===_n.whitespace&&t.context===_n.context)){_n=t,At(ys,t.whitespace),At(_s,t.context);for(const n of Ft)n()}}function ul(e){Ns({whitespace:e})}function fl(e){Ns({context:e})}function dl(){return{...S.useSyncExternalStore(ll,cl),setWhitespace:ul,setContext:fl}}const hl=24,gl=32,ml=8e3,ks="termdock:diff-viewer:view-type:v1",Ss="(min-width: 900px)",te=new Map,re=new Map,Ce=new Map,Ie=new Map,ae=new Map,Ue=new Map;let vl=0,bl=0,pl=0;function X(e,t={}){if(typeof window>"u")return;const n=JSON.stringify({level:"info",message:`DIFF_VIEWER ${e}`,data:{seq:++vl,ts:Date.now(),...t}});fetch("/api/client-log",{method:"POST",headers:{"Content-Type":"application/json"},body:n,keepalive:!0}).catch(()=>{})}function Wn(e,t={}){if(typeof window>"u")return;const n=JSON.stringify({level:e==="still_active"?"warn":"info",message:`DIFF_LOADING ${e}`,data:{ts:Date.now(),...t}});fetch("/api/client-log",{method:"POST",headers:{"Content-Type":"application/json"},body:n,keepalive:!0}).catch(()=>{})}function wl(e){const t=e?.context===void 0?"default":String(e.context);return`${e?.algorithm??"default"}:${e?.whitespace??"default"}:${t}`}function cn(e,t,n){return`${t??""}\0${e??""}\0${wl(n)}`}function Yn(e,t,n,r,s){return`${cn(e,t,n)}\0${r}\0${s??""}`}function yl(e,t){for(ae.delete(e),ae.set(e,t);ae.size>gl;){const n=ae.keys().next().value;if(n===void 0)break;ae.delete(n)}return t.result}function _l(e,t,n,r,s,i,o){const a=Yn(n,r,s,i,o),l=ae.get(a);if(l?.diffContent===e&&l.oldSource===t)return ae.delete(a),ae.set(a,l),Promise.resolve(l.result);const c=Ue.get(a);if(c?.diffContent===e&&c.oldSource===t)return c.promise;const u=qa(e,i,t,o).then(f=>Ue.get(a)?.promise===u?yl(a,{diffContent:e,oldSource:t,result:f}):f).finally(()=>{Ue.get(a)?.promise===u&&Ue.delete(a)});return Ue.set(a,{diffContent:e,oldSource:t,promise:u}),u}function Nl(e,t,n){const r=`${cn(e,t,n)}\0`;for(const s of Array.from(ae.keys()))s.startsWith(r)&&ae.delete(s);for(const s of Array.from(Ue.keys()))s.startsWith(r)&&Ue.delete(s)}function js(e,t){if(t.error)return t;for(te.has(e)&&te.delete(e),te.set(e,t);te.size>hl;){const n=te.keys().next().value;if(n===void 0)break;te.delete(n)}return t}function Qn(e){const t=Ie.get(e);t&&(Ie.delete(e),t.abort())}function kl(e,t,n,r,s,i){const o=re.get(e);if(o)return X("preload_reuse_pending",{traceId:s,key:e,filePath:t,cwd:n}),o;const a=new AbortController;Ie.set(e,a),X("preload_start",{traceId:s,key:e,filePath:t,cwd:n,version:r});const l=Yr(t,void 0,n,a.signal,"preload_diff",s,void 0,void 0,i).then(c=>(X("preload_result",{traceId:s,key:e,filePath:t,cwd:n,bytes:c.diff?.length??0,error:c.error??null,tooLarge:!!c.tooLarge}),(Ce.get(e)??0)===r?js(e,c):c)).catch(c=>{throw X("preload_error",{traceId:s,key:e,filePath:t,cwd:n,error:c instanceof Error?c.message:String(c)}),c}).finally(()=>{re.get(e)===l&&re.delete(e),Ie.get(e)===a&&Ie.delete(e)});return re.set(e,l),l}function Ht(e,t,n){const r=cn(e,t,n),s=te.get(r);return s&&(te.delete(r),te.set(r,s)),s}function Sl(e,t,n){const r=cn(e,t,n);Qn(r),re.delete(r);const s=(Ce.get(r)??0)+1;return Ce.set(r,s),kl(r,e,t,s,void 0,n)}function rc(e,t,n){const r=cn(e,t,n);Qn(r),te.delete(r),re.delete(r),Nl(e,t,n),Ce.set(r,(Ce.get(r)??0)+1)}function jl(e,t,n,r=!1,s,i,o,a){const l=cn(e,t,a);r&&(Qn(l),te.delete(l),re.delete(l),Ce.set(l,(Ce.get(l)??0)+1));const c=Ht(e,t,a);if(c&&!r)return X("visible_cache_hit",{traceId:s,key:l,filePath:e,cwd:t,bytes:c.diff?.length??0,error:c.error??null}),Promise.resolve(c);const u=Ce.get(l)??0,f=re.get(l);if(f&&!r)return X("visible_reuse_pending",{traceId:s,key:l,filePath:e,cwd:t}),f;Qn(l),X("visible_start",{interactionId:i,requestSlotId:o,traceId:s,key:l,filePath:e,cwd:t,force:r,version:u,replacedPreload:!!f,pendingExists:!!f,cacheSize:te.size,promiseSize:re.size});const d=new AbortController;Ie.set(l,d);const g=Yr(e,void 0,t,d.signal,"view_diff",s,i??void 0,void 0,a).then(m=>(X("visible_result",{interactionId:i,requestSlotId:o,traceId:s,key:l,filePath:e,cwd:t,bytes:m.diff?.length??0,error:m.error??null,tooLarge:!!m.tooLarge,truncated:!!m.truncated}),(Ce.get(l)??0)===u?js(l,m):m)).catch(m=>{throw X("visible_error",{interactionId:i,requestSlotId:o,traceId:s,key:l,filePath:e,cwd:t,error:m instanceof Error?m.message:String(m),aborted:d.signal.aborted,abortReason:d.signal.aborted?String(d.signal.reason??""):void 0,viewerAborted:n.aborted}),m}).finally(()=>{re.get(l)===g&&re.delete(l),Ie.get(l)===d&&Ie.delete(l)});return re.set(l,g),g}function Un(e,t){if(e)return t&&e.startsWith(`${t}/`)?e.slice(t.length+1):e}function Cl(e,t){return!e||!ui(e)?!1:t?.status!=="deleted"&&t?.status!=="renamed"&&t?.status!=="copied"}function Ur(e,t){if(!e)return t;const n=e.split("/").filter(Boolean);return{name:n.pop()||e,dir:n.join("/")}}function de(e){return e==="/dev/null"||e==="dev/null"}function zt(e,t){return t?de(t)||t.startsWith("/")?t:e?`${e}/${t}`:t:null}function _e(e,t){return!e||de(e)?"/dev/null":e.startsWith("/")?e:t.referenceFilePath&&e===t.selectedFilePath?t.referenceFilePath:zt(t.repoRoot,e)??e}function Re(e,t){return de(t)?"/dev/null":t.startsWith("/")?t:`${e}/${t}`}function xl(e){if(e.length<2||!e.startsWith('"')||!e.endsWith('"'))return null;let t="";for(let n=1;n<e.length-1;n+=1){const r=e[n];if(r!=="\\"){t+=r;continue}if(n+=1,n>=e.length-1)return null;const s=e[n];if(s==="\\"||s==='"')t+=s;else if(s==="n")t+=`
|
|
15
15
|
`;else if(s==="t")t+=" ";else if(s==="r")t+="\r";else if(/[0-7]/.test(s)&&/^[0-7]{3}$/.test(e.slice(n,n+3)))t+=String.fromCharCode(parseInt(e.slice(n,n+3),8)),n+=2;else return null}return t}function Kr(e,t,n){if(!e||!n)return!1;let r=e.slice(4).trimEnd();const s=r.indexOf(" ");if(s>=0&&(r=r.slice(0,s)),de(n))return r==="/dev/null";const i=`${t}/${n}`;return r===i?!0:r.startsWith('"')?xl(r)===i:!1}function Ml(e,t,n,r){if(!e)return null;const s=e.split(`
|
|
16
16
|
`),i=[];for(let v=0;v<s.length;v+=1)s[v].startsWith("diff --git ")&&i.push(v);if(n>=i.length)return null;const o=i[n],a=n+1<i.length?i[n+1]:s.length,l=[];for(let v=o;v<a;v+=1)s[v].startsWith("@@ ")&&l.push(v);if(l.length===0||r>=l.length)return null;const c=s.slice(o,l[0]),u=c.find(v=>v.startsWith("--- ")),f=c.find(v=>v.startsWith("+++ "));if(!u||!f)return null;const d=t.oldPath&&!de(t.oldPath)?t.oldPath:"/dev/null",g=t.newPath&&!de(t.newPath)?t.newPath:"/dev/null";if(!Kr(u,"a",d)||!Kr(f,"b",g))return null;const m=l[r],b=r+1<l.length?l[r+1]:a,w=[...c,...s.slice(m,b)].join(`
|
|
17
17
|
`);return w.endsWith(`
|
|
@@ -30,6 +30,6 @@ ${r.length>0?`${r.join(`
|
|
|
30
30
|
`),{hunks:[o]})}function Pl(e){const t=e.changes.filter(s=>s.type==="insert"||s.type==="delete").map(s=>`${s.type}:${s.content}`),n=t.length>0?t.join(`
|
|
31
31
|
`):e.changes.map(s=>s.content).join(`
|
|
32
32
|
`);let r=2166136261;for(let s=0;s<n.length;s+=1)r^=n.charCodeAt(s),r=Math.imul(r,16777619);return(r>>>0).toString(16).padStart(8,"0")}function Cs(e){const t=e.changes.filter(r=>r.type==="insert"||r.type==="delete").map(r=>`${r.type}:${r.content}`).join(`
|
|
33
|
-
`);let n=2166136261;for(let r=0;r<t.length;r+=1)n^=t.charCodeAt(r),n=Math.imul(n,16777619);return(n>>>0).toString(16).padStart(8,"0")}function xs(e){return e&&"lineNumber"in e&&typeof e.lineNumber=="number"?e.lineNumber:null}function Ll(e){const t=Array.from(e.matchAll(/^diff --git /gmu),n=>n.index);return t.length===0?e?[e]:[]:t.map((n,r)=>e.slice(n,t[r+1]??e.length))}function Ol(e){const t=e.trim();return t?/^(import|export\s+type|using|#include)\b/.test(t)||/^from\s+[\w.'"/-]+\s+import\b/.test(t)||/^package\s+[\w.]+;?$/.test(t):!0}function Rl(e){const t=e.changes.filter(r=>r.type==="insert"||r.type==="delete");if(t.length===0||!t.every(r=>Ol(r.content)))return!1;const n=new Set;for(const r of t){const s=xs(r);if(s!==null){if(n.has(s))return!1;n.add(s)}}return!0}function Il(e){const t=[];let n=0;for(;n<e.changes.length;){const r=e.changes[n];if(r.type==="normal"){t.push(r),n+=1;continue}const s=[];for(;n<e.changes.length&&e.changes[n].type!=="normal";)s.push(e.changes[n]),n+=1;for(const{deletes:i,inserts:o}of Wa(s))for(let a=0;a<Math.max(i.length,o.length);a+=1)i[a]&&t.push(i[a]),o[a]&&t.push(o[a])}return{...e,changes:t}}function qn(e,t){return`${e??""}\0${t}`}function Ms(e,t){return e===t||t.endsWith(`/${e}`)||e.endsWith(`/${t}`)}function Fl(e){return typeof e.sectionIndex=="number"||typeof e.sectionFingerprint=="string"&&e.sectionFingerprint.length>0}function Hl(e,t,n,r,s){if(!e||e.length===0)return{fingerprint:s};const i=qn(t,n);let o;for(const a of e){if(Fl(a))continue;const l=[a.filePath,a.newPath,a.oldPath].filter(d=>typeof d=="string"&&d.length>0),c=l.some(d=>qn(a.repoRoot,d)===i),u=l.some(d=>Ms(d,n));if(c||u){if(a.fingerprint===s)return{current:a,fingerprint:s};!o&&a.hunkHeader===r&&(o=a)}}return{stale:o,fingerprint:s}}function zl(e,t,n,r,s,i,o){if(!e||e.length===0)return{fingerprint:o};const a=qn(t,n);let l;for(const c of e){const u=[c.filePath,c.newPath,c.oldPath].filter(d=>typeof d=="string"&&d.length>0);if(!(!(u.some(d=>qn(c.repoRoot,d)===a)||u.some(d=>Ms(d,n)))||c.hunkHeader!==r)){if(c.sectionFingerprint===o)return{current:c,fingerprint:o};!l&&c.fingerprint===s&&c.sectionIndex===i&&(l=c)}}return{stale:l,fingerprint:o}}function Bl(e){const t=e.changes[e.changes.length-1];return t?xe(t):null}function Vl(e){let t=0;for(const n of e)t=Math.max(t,n.oldStart+Math.max(0,n.oldLines-1),n.newStart+Math.max(0,n.newLines-1));return Math.max(3,String(t).length+.5)}function Gl(e){return e instanceof DOMException&&e.name==="AbortError"}function xt(e){return typeof e!="number"||!Number.isFinite(e)?null:e>=1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:e>=1024?`${Math.ceil(e/1024)} KB`:`${e} bytes`}function Mt(e){if(e.tooLarge){const t=xt(e.size),n=xt(e.maxBytes);return`Diff is too large${t?` (${t}`:""}${n?`${t?", ":" ("}limit ${n}`:""}${t||n?")":""}.`}if(e.skippedFiles&&e.skippedFiles.length>0){const t=e.skippedFiles[0],n=xt(t.size),r=e.skippedFiles.length>1?` and ${e.skippedFiles.length-1} more file(s)`:"";return t.reason==="binary-file"?`Binary file changed: ${t.path}${n?` (${n})`:""}. Content was not loaded${r}.`:`Skipped large untracked file ${t.path}${n?` (${n})`:""}${r}.`}return null}function Wl(e){if(!e)return!1;let t=1;for(let n=0;n<e.length;n+=1)if(e.charCodeAt(n)===10&&(t+=1,t>ml))return!0;return!1}function Ul(e){return e==="unified"||e==="split"}function Kl(){return Et(ks,Ul)??"unified"}function Xl(e,t){return typeof e!="number"||!Number.isFinite(e)||e<=0?null:new Intl.DateTimeFormat(t==="zh"?"zh-CN":"en",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(new Date(e))}function Yl(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia(Ss).matches}function Jl(e){return typeof HTMLElement>"u"||!(e instanceof HTMLElement)?!1:e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.isContentEditable||!!e.closest(".xterm")}function sc({filePath:e,repoRoot:t,referenceFilePath:n,interactionId:r,requestSlotId:s,changedFile:i,onInsertDiffReference:o,onHunkGitAction:a,onReferenceCopied:l,insertedReferenceKey:c,copiedReferenceKey:u,wrap:f=!1,reloadKey:d=0,embedded:g=!1,active:m=!0,lightweight:b=!1,auditRecords:w,diffOverride:v,preparedDiff:y,viewType:k,inlineMode:A="words",diffOptions:j,oldSourceOverride:D,onClearAuditRecord:E,onContentReady:P,onSummaryChange:T}){const{t:p,locale:R}=ri(),B=si(N=>N.rootPath),F=S.useRef(null);if(F.current===null){const N=i?.repoRoot??t??(e?.startsWith("/")?null:B),x=Un(e,N),_=v===void 0&&y===void 0?Ht(x,N??void 0,j):void 0,C=v!==void 0?v:_?.diff??null,L=b?"none":A,O=Ct(e)??void 0,$=Yn(x,N??void 0,j,L,O),M=C?ae.get($):void 0,W=M?.diffContent===C?M:void 0;W&&(ae.delete($),ae.set($,W)),F.current={diffContent:C,diffNotice:_?Mt(_):null,diffError:_?.error??null,diffLoading:!!(m&&v===void 0&&y===void 0&&!_),parsedFiles:W?.result.files??[],workerTokens:W?.result.tokens??new Map,parsedDiffInput:W?{cacheKey:$,diffContent:C,oldSource:W.oldSource}:null,oldSourceContent:W?.oldSource??null,oldSourceResolvedFromCache:W?.oldSource!==void 0}}const G=F.current,[me,De]=S.useState(()=>Kl()),[ve,Fe]=S.useState(()=>Yl()),[q,He]=S.useState(G.diffContent),[be,ce]=S.useState(G.diffNotice),[ot,pe]=S.useState(G.diffLoading),[at,ue]=S.useState(G.diffError),[lt,$e]=S.useState(G.parsedFiles),[An,Te]=S.useState(G.workerTokens),[Ye,Pe]=S.useState(G.parsedDiffInput),[Le,we]=S.useState(G.oldSourceContent),[ct,ee]=S.useState(()=>!!(m&&y===void 0&&D===void 0&&v===void 0&&(i?.repoRoot??t??B)&&e&&!i?.untracked&&i?.status!=="added"&&!G.oldSourceResolvedFromCache)),As=S.useRef(G.oldSourceResolvedFromCache?d:null),[Es,Ds]=S.useState(()=>new Set),[ye,un]=S.useState(null),qt=S.useRef(d),Oe=ui(l),he=(k??me)==="split"&&ve?"split":"unified";S.useEffect(()=>{if(typeof window>"u"||typeof window.matchMedia!="function")return;const N=window.matchMedia(Ss),x=()=>Fe(N.matches);return x(),N.addEventListener?.("change",x),()=>N.removeEventListener?.("change",x)},[]);const er=S.useCallback(N=>{De(N),At(ks,N)},[]),{whitespace:$s,context:Ts,setWhitespace:Ps,setContext:Ls}=dl(),nr=v!==void 0||y!==void 0,En=S.useRef(null),fn=S.useRef(!1),[Os,tr]=S.useState(null),Dn=S.useCallback(N=>{const x=En.current;if(!x)return;const _=x.querySelectorAll("[data-diff-hunk-anchor]");_.length!==0&&tr(C=>{const O=((C!==null&&C>=0&&C<_.length?C:N===1?-1:0)+N+_.length)%_.length,$=_[O];return $ instanceof HTMLElement&&$.scrollIntoView({behavior:"smooth",block:"start"}),O})},[]);S.useEffect(()=>{const N=x=>{if(x.key!=="F7")return;const _=En.current;if(!_)return;const C=document.activeElement,L=C instanceof Node&&_.contains(C);!fn.current&&!L||Jl(C)||(x.preventDefault(),Dn(x.shiftKey?-1:1))};return window.addEventListener("keydown",N),()=>window.removeEventListener("keydown",N)},[Dn]);const fe=i?.repoRoot??null,dn=i?.status??null,rr=fe??t??B,$n=fe??t??B,ut=n??i?.absolutePath??zt($n,e);S.useEffect(()=>{if(y!==void 0){we(null),ee(!1);return}if(D!==void 0){we(D),ee(!1);return}const N=fe??t??B;if(!m||v!==void 0||!N||!e||i?.untracked||dn==="added"){we(null),ee(!1);return}if(As.current===d){ee(!1);return}we(null),ee(!0);const x=new AbortController;return ii(e,N,"HEAD",x.signal,"ref").then(C=>{x.signal.aborted||(we(C.truncated||C.error?null:C.content),ee(!1))}).catch(()=>{x.signal.aborted||(we(null),ee(!1))}),()=>x.abort()},[m,i?.untracked,fe,dn,v,e,D,y,d,t,B]),S.useEffect(()=>{if(y!==void 0)return;if(v!==void 0){He(v),ce(null),ue(null),pe(!1),un(null);return}if(!m){pe(!1),X("effect_skip_inactive",{interactionId:r,requestSlotId:s,filePath:e,repoRoot:t,changedFileRepoRoot:fe,rootPath:B});return}let N=!1,x=null;const _=new AbortController,C=e,L=fe??t??(C?.startsWith("/")?null:B),O=++bl,$=`diff-${Date.now().toString(36)}-${(++pl).toString(36)}`;let M=!1;const W=performance.now(),H=(I,Se={})=>{M||(M=!0,Wn("end",{loadingId:O,interactionId:r,requestSlotId:s,traceId:$,reason:I,durationMs:Math.round(performance.now()-W),filePath:C,gitRoot:L,...Se}))},se=Un(C,L),Be=C&&L&&!C.startsWith("/")?`${L}/${C}`:C,oe=qt.current!==d;if(qt.current=d,C&&!L){X("effect_wait_for_repo_root",{interactionId:r,requestSlotId:s,traceId:$,filePath:C,repoRoot:t,changedFileRepoRoot:fe,rootPath:B}),He(null),ce(null),ue(null),un(null),pe(!1),H("waiting_for_repo_root");return}const K=Ht(se,L??void 0,j);Wn("start",{loadingId:O,interactionId:r,requestSlotId:s,traceId:$,filePath:C,requestPath:se,gitRoot:L,readablePath:Be,forceReload:oe,hasCachedDiff:!!K,embedded:g,active:m});const ht=window.setTimeout(()=>{M||N||Wn("still_active",{loadingId:O,interactionId:r,requestSlotId:s,traceId:$,filePath:C,requestPath:se,gitRoot:L,durationMs:Math.round(performance.now()-W),hasCachedDiff:!!K,controllerAborted:_.signal.aborted,abortReason:_.signal.aborted?String(_.signal.reason??""):void 0,cacheSize:te.size,promiseSize:re.size})},3e3),gt=window.setTimeout(()=>{M||N||(Wn("still_active_long",{loadingId:O,interactionId:r,requestSlotId:s,traceId:$,filePath:C,requestPath:se,gitRoot:L,durationMs:Math.round(performance.now()-W),hasCachedDiff:!!K,controllerAborted:_.signal.aborted,abortReason:_.signal.aborted?String(_.signal.reason??""):void 0,cacheSize:te.size,promiseSize:re.size}),ue("Diff response is taking too long to finish in the browser. Try selecting the file again."),pe(!1),H("client_watchdog_timeout"))},1e4);X("effect_start",{interactionId:r,requestSlotId:s,traceId:$,loadingId:O,filePath:C,requestPath:se,gitRoot:L,readablePath:Be,forceReload:oe,hasCachedDiff:!!K,cachedBytes:K?.diff?.length??0}),He(K?.diff??null),ce(K?Mt(K):null),pe(!K),ue(K?.error??null),un(null);const Je=()=>(oe&&K?Sl(se,L??void 0,j):jl(se,L??void 0,_.signal,oe,$,r,s,j)).then(I=>{if(N)return;const Se=Mt(I),bn=Wl(I.diff);ce(bn?"Diff has too many lines to preview safely.":Se),He(I.tooLarge||bn?"":I.diff),ue(I.error??null),X("state_set_result",{interactionId:r,requestSlotId:s,traceId:$,loadingId:O,filePath:C,requestPath:se,gitRoot:L,bytes:I.diff?.length??0,tooLargeToRender:bn,resultTooLarge:!!I.tooLarge,error:I.error??null})}).catch(I=>{if(N||Gl(I))return;const Se=I instanceof Error?I.message:"Failed to load diff";K?.diff?(ce(Se),ue(null)):(He(null),ce(null),ue(Se)),X("state_set_error",{interactionId:r,requestSlotId:s,traceId:$,filePath:C,requestPath:se,gitRoot:L,error:Se,hadCachedDiff:!!K?.diff})}).finally(()=>{N||pe(!1),H(N?"cancelled_finally":"finally"),X("load_text_finally",{interactionId:r,requestSlotId:s,traceId:$,loadingId:O,filePath:C,requestPath:se,gitRoot:L,cancelled:N})});return K&&!oe?(pe(!1),H("cache_hit")):K&&oe?Je():Cl(Be,dn?{status:dn}:null)?oi(Be,_.signal,"view_diff_image",s?`${s}:image`:void 0).then(I=>{N||(x=URL.createObjectURL(I.blob),un({objectUrl:x,size:I.size,mimeType:I.mimeType}),H("image_preview_loaded",{bytes:I.size,mimeType:I.mimeType}))}).catch(()=>{if(!(N||_.signal.aborted))return Je()}).finally(()=>{N||pe(!1),N&&H("image_cancelled_finally")}):Je(),()=>{N=!0,_.abort(),ai(s),window.clearTimeout(ht),window.clearTimeout(gt),x&&URL.revokeObjectURL(x),H("cleanup"),X("effect_cleanup",{interactionId:r,requestSlotId:s,traceId:$,loadingId:O,filePath:C,requestPath:se,gitRoot:L,loadingEnded:M,signalAborted:_.signal.aborted,abortReason:_.signal.aborted?String(_.signal.reason??""):void 0,cacheSize:te.size,promiseSize:re.size})}},[m,fe,dn,j,v,e,r,y,d,t,s,B]),S.useEffect(()=>{if(y!==void 0)return;if(!q||q.trim()===""){$e([]),Te(new Map),Pe(null);return}let N=!1;const x=performance.now(),_=fe??t??(e?.startsWith("/")?null:B),C=Un(e,_),L=b?"none":A,O=Ct(e)??void 0,$=Yn(C,_??void 0,j,L,O);return _l(q,Le??void 0,C,_??void 0,j,L,O).then(M=>{N||($e(M.files),Te(M.tokens),Pe({cacheKey:$,diffContent:q,oldSource:Le??void 0}),X("worker_parse_done",{filePath:e,bytes:q.length,files:M.files.length,parseMs:M.parseMs,tokenizeMs:M.tokenizeMs,durationMs:Math.round(performance.now()-x)}))}).catch(M=>{N||($e([]),Te(new Map),Pe({cacheKey:$,diffContent:q,oldSource:Le??void 0}),ue(M instanceof Error?M.message:String(M)),X("worker_parse_error",{filePath:e,bytes:q.length,durationMs:Math.round(performance.now()-x),error:M instanceof Error?M.message:String(M)}))}),()=>{N=!0}},[fe,q,j,e,A,b,Le,y,t,B]);const ge=y!==void 0?y?.diffContent??null:q,hn=y!==void 0?y?.diffNotice??null:be,sr=y!==void 0?y?.diffError??null:at,gn=sr?.toLowerCase().includes("signal is aborted")?null:sr,ir=fe??t??(e?.startsWith("/")?null:B),Rs=Un(e,ir),Is=Yn(Rs,ir??void 0,j,b?"none":A,Ct(e)??void 0),Fs=!q||Ye?.cacheKey===Is&&Ye.diffContent===q&&Ye.oldSource===(Le??void 0),ft=y!==void 0?!1:ot||ct||!Fs,or=y!==void 0?y?.files??[]:lt,V=S.useMemo(()=>or.map(N=>N.type==="modify"&&N.oldPath!==N.newPath&&N.oldPath!=="/dev/null"&&N.newPath!=="/dev/null"?{...N,type:"rename"}:N),[or]);S.useEffect(()=>{!m||ft||ge===null&&!gn&&!ye&&v===void 0&&y===void 0||P?.()},[m,ge,gn,ft,v,ye,P,y]);const ar=w??[],Hs=y!==void 0?y?.tokens??new Map:An,Tn=S.useMemo(()=>{let N=0,x=0;for(const _ of V)for(const C of _.hunks)for(const L of C.changes)L.type==="insert"&&(N+=1),L.type==="delete"&&(x+=1);return{additions:N,deletions:x}},[V]);S.useEffect(()=>{T&&T(V.length>0?{files:V.length,...Tn}:null)},[V.length,T,Tn]);const zs=S.useMemo(()=>{const N=new Map;for(const x of V){let _=0,C=0;for(const L of x.hunks)for(const O of L.changes)O.type==="insert"&&(_+=1),O.type==="delete"&&(C+=1);N.set(`${x.oldRevision}-${x.newRevision}-${x.newPath}`,{additions:_,deletions:C})}return N},[V]),ke=Ur(e,{name:p("diffViewer.workingTree"),dir:p("diffViewer.allUnstaged")}),ze=`diff:whole:${e??"all"}`,Pn=S.useMemo(()=>{if(!ge)return"";const N={repoRoot:$n,selectedFilePath:e,referenceFilePath:ut},x=V.flatMap(_=>{const C=_.newPath&&!de(_.newPath)?_.newPath:_.oldPath&&!de(_.oldPath)?_.oldPath:"unknown file",L=_e(C,N);return _.hunks.map((O,$)=>({filePath:L,hunkIndex:$,hunk:O}))});return Jn(Al(ge,V,N),{hunks:x})},[ge,e,V,$n,ut]),Bs=S.useCallback(()=>{!Pn||!o||o(e?`${ke.name} diff`:p("diffViewer.allDiffLabel"),Pn,ze)},[e,o,p,ke.name,ze,Pn]),[dt,lr]=S.useState(null),[Ln,On]=S.useState(null),[mn,Rn]=S.useState(null);S.useEffect(()=>{On(null),Rn(null)},[V]),S.useEffect(()=>{if(!mn)return;const N=window.setTimeout(()=>Rn(null),5e3);return()=>window.clearTimeout(N)},[mn]);const vn=fe??t??(e?.startsWith("/")?null:B),cr=!!(a&&vn&&v==null&&y==null),ur=S.useCallback(async(N,x,_,C,L,O)=>{if(!a||!vn)return;const $=ge?Ml(ge,_,C,L):null;if(!$){On({key:x,message:p("diffViewer.hunkActionUnavailable")});return}lr(x),On(null);try{await a({mode:N,patch:$,cwd:vn,path:zt(vn,O)??O})}catch(M){On({key:x,message:M instanceof Error?M.message:String(M)})}finally{lr(M=>M===x?null:M),Rn(M=>M===x?null:M)}},[a,vn,ge,p]),Vs=S.useMemo(()=>{const N=new Map;for(const x of V){const _=b?[]:x.hunks.flatMap(O=>O.changes.filter($=>$.type==="delete").map($=>({content:$.content,lineNumber:$.lineNumber}))),C=b?[]:x.hunks.flatMap(O=>O.changes.filter($=>$.type==="insert").map($=>({content:$.content,lineNumber:$.lineNumber}))),L=b?[]:Ua(_,C);for(const O of x.hunks){const $=new Set(O.changes.filter(H=>H.type==="delete").map(H=>H.lineNumber)),M=new Set(O.changes.filter(H=>H.type==="insert").map(H=>H.lineNumber)),W=L.filter(H=>$.has(H.oldLineNumber)||M.has(H.newLineNumber));N.set(O,{hunkSections:b?[]:$l(O),movedCandidates:W,movedOldLines:new Set(W.map(H=>H.oldLineNumber)),movedNewLines:new Set(W.map(H=>H.newLineNumber)),importOnlyHunk:Rl(O),displayHunk:he==="split"?Il(O):O})}}return N},[V,b,he]),fr=S.useMemo(()=>V.reduce((N,x)=>N+x.hunks.length,0),[V]),Gs=S.useMemo(()=>Ll(ge??""),[ge]);S.useEffect(()=>{tr(null)},[V]);const dr=N=>{let x=0;return h.jsx(h.Fragment,{children:V.map((_,C)=>{const L=`${_.oldRevision}-${_.newRevision}-${_.newPath}`,O=Gs[C]?.includes("\")??!1,$=zs.get(L)??{additions:0,deletions:0},M=_.newPath&&!de(_.newPath)?_.newPath:_.oldPath&&!de(_.oldPath)?_.oldPath:"unknown file",W={repoRoot:$n,selectedFilePath:e,referenceFilePath:ut},H=_e(M,W),se=_e(_.oldPath||M,W),Be=_e(_.newPath||M,W),oe=Ur(M,{name:"unknown file",dir:""}),K=_.type==="rename"&&_.oldPath&&_.newPath&&_.oldPath!==_.newPath?`${_.oldPath} → ${_.newPath}`:null,ht=!N||V.length>1,gt=[`diff --git ${Re("a",se)} ${Re("b",Be)}`,..._.hunks.flatMap(Y=>[Y.content,...Y.changes.map(Nn)])].join(`
|
|
33
|
+
`);let n=2166136261;for(let r=0;r<t.length;r+=1)n^=t.charCodeAt(r),n=Math.imul(n,16777619);return(n>>>0).toString(16).padStart(8,"0")}function xs(e){return e&&"lineNumber"in e&&typeof e.lineNumber=="number"?e.lineNumber:null}function Ll(e){const t=Array.from(e.matchAll(/^diff --git /gmu),n=>n.index);return t.length===0?e?[e]:[]:t.map((n,r)=>e.slice(n,t[r+1]??e.length))}function Ol(e){const t=e.trim();return t?/^(import|export\s+type|using|#include)\b/.test(t)||/^from\s+[\w.'"/-]+\s+import\b/.test(t)||/^package\s+[\w.]+;?$/.test(t):!0}function Rl(e){const t=e.changes.filter(r=>r.type==="insert"||r.type==="delete");if(t.length===0||!t.every(r=>Ol(r.content)))return!1;const n=new Set;for(const r of t){const s=xs(r);if(s!==null){if(n.has(s))return!1;n.add(s)}}return!0}function Il(e){const t=[];let n=0;for(;n<e.changes.length;){const r=e.changes[n];if(r.type==="normal"){t.push(r),n+=1;continue}const s=[];for(;n<e.changes.length&&e.changes[n].type!=="normal";)s.push(e.changes[n]),n+=1;for(const{deletes:i,inserts:o}of Wa(s))for(let a=0;a<Math.max(i.length,o.length);a+=1)i[a]&&t.push(i[a]),o[a]&&t.push(o[a])}return{...e,changes:t}}function qn(e,t){return`${e??""}\0${t}`}function Ms(e,t){return e===t||t.endsWith(`/${e}`)||e.endsWith(`/${t}`)}function Fl(e){return typeof e.sectionIndex=="number"||typeof e.sectionFingerprint=="string"&&e.sectionFingerprint.length>0}function Hl(e,t,n,r,s){if(!e||e.length===0)return{fingerprint:s};const i=qn(t,n);let o;for(const a of e){if(Fl(a))continue;const l=[a.filePath,a.newPath,a.oldPath].filter(d=>typeof d=="string"&&d.length>0),c=l.some(d=>qn(a.repoRoot,d)===i),u=l.some(d=>Ms(d,n));if(c||u){if(a.fingerprint===s)return{current:a,fingerprint:s};!o&&a.hunkHeader===r&&(o=a)}}return{stale:o,fingerprint:s}}function zl(e,t,n,r,s,i,o){if(!e||e.length===0)return{fingerprint:o};const a=qn(t,n);let l;for(const c of e){const u=[c.filePath,c.newPath,c.oldPath].filter(d=>typeof d=="string"&&d.length>0);if(!(!(u.some(d=>qn(c.repoRoot,d)===a)||u.some(d=>Ms(d,n)))||c.hunkHeader!==r)){if(c.sectionFingerprint===o)return{current:c,fingerprint:o};!l&&c.fingerprint===s&&c.sectionIndex===i&&(l=c)}}return{stale:l,fingerprint:o}}function Bl(e){const t=e.changes[e.changes.length-1];return t?xe(t):null}function Vl(e){let t=0;for(const n of e)t=Math.max(t,n.oldStart+Math.max(0,n.oldLines-1),n.newStart+Math.max(0,n.newLines-1));return Math.max(3,String(t).length+.5)}function Gl(e){return e instanceof DOMException&&e.name==="AbortError"}function xt(e){return typeof e!="number"||!Number.isFinite(e)?null:e>=1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:e>=1024?`${Math.ceil(e/1024)} KB`:`${e} bytes`}function Mt(e){if(e.tooLarge){const t=xt(e.size),n=xt(e.maxBytes);return`Diff is too large${t?` (${t}`:""}${n?`${t?", ":" ("}limit ${n}`:""}${t||n?")":""}.`}if(e.skippedFiles&&e.skippedFiles.length>0){const t=e.skippedFiles[0],n=xt(t.size),r=e.skippedFiles.length>1?` and ${e.skippedFiles.length-1} more file(s)`:"";return t.reason==="binary-file"?`Binary file changed: ${t.path}${n?` (${n})`:""}. Content was not loaded${r}.`:`Skipped large untracked file ${t.path}${n?` (${n})`:""}${r}.`}return null}function Wl(e){if(!e)return!1;let t=1;for(let n=0;n<e.length;n+=1)if(e.charCodeAt(n)===10&&(t+=1,t>ml))return!0;return!1}function Ul(e){return e==="unified"||e==="split"}function Kl(){return Et(ks,Ul)??"unified"}function Xl(e,t){return typeof e!="number"||!Number.isFinite(e)||e<=0?null:new Intl.DateTimeFormat(t==="zh"?"zh-CN":"en",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(new Date(e))}function Yl(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia(Ss).matches}function Jl(e){return typeof HTMLElement>"u"||!(e instanceof HTMLElement)?!1:e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.isContentEditable||!!e.closest(".xterm")}function sc({filePath:e,repoRoot:t,referenceFilePath:n,interactionId:r,requestSlotId:s,changedFile:i,onInsertDiffReference:o,onHunkGitAction:a,onReferenceCopied:l,insertedReferenceKey:c,copiedReferenceKey:u,wrap:f=!1,reloadKey:d=0,embedded:g=!1,active:m=!0,lightweight:b=!1,auditRecords:w,diffOverride:v,preparedDiff:y,viewType:k,inlineMode:A="words",diffOptions:j,oldSourceOverride:D,onClearAuditRecord:E,onContentReady:P,onSummaryChange:T}){const{t:p,locale:R}=ri(),B=si(N=>N.rootPath),F=S.useRef(null);if(F.current===null){const N=i?.repoRoot??t??(e?.startsWith("/")?null:B),x=Un(e,N),_=v===void 0&&y===void 0?Ht(x,N??void 0,j):void 0,C=v!==void 0?v:_?.diff??null,L=b?"none":A,O=Ct(e)??void 0,$=Yn(x,N??void 0,j,L,O),M=C?ae.get($):void 0,W=M?.diffContent===C?M:void 0;W&&(ae.delete($),ae.set($,W)),F.current={diffContent:C,diffNotice:_?Mt(_):null,diffError:_?.error??null,diffLoading:!!(m&&v===void 0&&y===void 0&&!_),parsedFiles:W?.result.files??[],workerTokens:W?.result.tokens??new Map,parsedDiffInput:W?{cacheKey:$,diffContent:C,oldSource:W.oldSource}:null,oldSourceContent:W?.oldSource??null,oldSourceResolvedFromCache:W?.oldSource!==void 0}}const G=F.current,[me,De]=S.useState(()=>Kl()),[ve,Fe]=S.useState(()=>Yl()),[q,He]=S.useState(G.diffContent),[be,ce]=S.useState(G.diffNotice),[ot,pe]=S.useState(G.diffLoading),[at,ue]=S.useState(G.diffError),[lt,$e]=S.useState(G.parsedFiles),[An,Te]=S.useState(G.workerTokens),[Ye,Pe]=S.useState(G.parsedDiffInput),[Le,we]=S.useState(G.oldSourceContent),[ct,ee]=S.useState(()=>!!(m&&y===void 0&&D===void 0&&v===void 0&&(i?.repoRoot??t??B)&&e&&!i?.untracked&&i?.status!=="added"&&!G.oldSourceResolvedFromCache)),As=S.useRef(G.oldSourceResolvedFromCache?d:null),[Es,Ds]=S.useState(()=>new Set),[ye,un]=S.useState(null),qt=S.useRef(d),Oe=fi(l),he=(k??me)==="split"&&ve?"split":"unified";S.useEffect(()=>{if(typeof window>"u"||typeof window.matchMedia!="function")return;const N=window.matchMedia(Ss),x=()=>Fe(N.matches);return x(),N.addEventListener?.("change",x),()=>N.removeEventListener?.("change",x)},[]);const er=S.useCallback(N=>{De(N),At(ks,N)},[]),{whitespace:$s,context:Ts,setWhitespace:Ps,setContext:Ls}=dl(),nr=v!==void 0||y!==void 0,En=S.useRef(null),fn=S.useRef(!1),[Os,tr]=S.useState(null),Dn=S.useCallback(N=>{const x=En.current;if(!x)return;const _=x.querySelectorAll("[data-diff-hunk-anchor]");_.length!==0&&tr(C=>{const O=((C!==null&&C>=0&&C<_.length?C:N===1?-1:0)+N+_.length)%_.length,$=_[O];return $ instanceof HTMLElement&&$.scrollIntoView({behavior:"smooth",block:"start"}),O})},[]);S.useEffect(()=>{const N=x=>{if(x.key!=="F7")return;const _=En.current;if(!_)return;const C=document.activeElement,L=C instanceof Node&&_.contains(C);!fn.current&&!L||Jl(C)||(x.preventDefault(),Dn(x.shiftKey?-1:1))};return window.addEventListener("keydown",N),()=>window.removeEventListener("keydown",N)},[Dn]);const fe=i?.repoRoot??null,dn=i?.status??null,rr=fe??t??B,$n=fe??t??B,ut=n??i?.absolutePath??zt($n,e);S.useEffect(()=>{if(y!==void 0){we(null),ee(!1);return}if(D!==void 0){we(D),ee(!1);return}const N=fe??t??B;if(!m||v!==void 0||!N||!e||i?.untracked||dn==="added"){we(null),ee(!1);return}if(As.current===d){ee(!1);return}we(null),ee(!0);const x=new AbortController;return ii(e,N,"HEAD",x.signal,"ref").then(C=>{x.signal.aborted||(we(C.truncated||C.error?null:C.content),ee(!1))}).catch(()=>{x.signal.aborted||(we(null),ee(!1))}),()=>x.abort()},[m,i?.untracked,fe,dn,v,e,D,y,d,t,B]),S.useEffect(()=>{if(y!==void 0)return;if(v!==void 0){He(v),ce(null),ue(null),pe(!1),un(null);return}if(!m){pe(!1),X("effect_skip_inactive",{interactionId:r,requestSlotId:s,filePath:e,repoRoot:t,changedFileRepoRoot:fe,rootPath:B});return}let N=!1,x=null;const _=new AbortController,C=e,L=fe??t??(C?.startsWith("/")?null:B),O=++bl,$=`diff-${Date.now().toString(36)}-${(++pl).toString(36)}`;let M=!1;const W=performance.now(),H=(I,Se={})=>{M||(M=!0,Wn("end",{loadingId:O,interactionId:r,requestSlotId:s,traceId:$,reason:I,durationMs:Math.round(performance.now()-W),filePath:C,gitRoot:L,...Se}))},se=Un(C,L),Be=C&&L&&!C.startsWith("/")?`${L}/${C}`:C,oe=qt.current!==d;if(qt.current=d,C&&!L){X("effect_wait_for_repo_root",{interactionId:r,requestSlotId:s,traceId:$,filePath:C,repoRoot:t,changedFileRepoRoot:fe,rootPath:B}),He(null),ce(null),ue(null),un(null),pe(!1),H("waiting_for_repo_root");return}const K=Ht(se,L??void 0,j);Wn("start",{loadingId:O,interactionId:r,requestSlotId:s,traceId:$,filePath:C,requestPath:se,gitRoot:L,readablePath:Be,forceReload:oe,hasCachedDiff:!!K,embedded:g,active:m});const ht=window.setTimeout(()=>{M||N||Wn("still_active",{loadingId:O,interactionId:r,requestSlotId:s,traceId:$,filePath:C,requestPath:se,gitRoot:L,durationMs:Math.round(performance.now()-W),hasCachedDiff:!!K,controllerAborted:_.signal.aborted,abortReason:_.signal.aborted?String(_.signal.reason??""):void 0,cacheSize:te.size,promiseSize:re.size})},3e3),gt=window.setTimeout(()=>{M||N||(Wn("still_active_long",{loadingId:O,interactionId:r,requestSlotId:s,traceId:$,filePath:C,requestPath:se,gitRoot:L,durationMs:Math.round(performance.now()-W),hasCachedDiff:!!K,controllerAborted:_.signal.aborted,abortReason:_.signal.aborted?String(_.signal.reason??""):void 0,cacheSize:te.size,promiseSize:re.size}),ue("Diff response is taking too long to finish in the browser. Try selecting the file again."),pe(!1),H("client_watchdog_timeout"))},1e4);X("effect_start",{interactionId:r,requestSlotId:s,traceId:$,loadingId:O,filePath:C,requestPath:se,gitRoot:L,readablePath:Be,forceReload:oe,hasCachedDiff:!!K,cachedBytes:K?.diff?.length??0}),He(K?.diff??null),ce(K?Mt(K):null),pe(!K),ue(K?.error??null),un(null);const Je=()=>(oe&&K?Sl(se,L??void 0,j):jl(se,L??void 0,_.signal,oe,$,r,s,j)).then(I=>{if(N)return;const Se=Mt(I),bn=Wl(I.diff);ce(bn?"Diff has too many lines to preview safely.":Se),He(I.tooLarge||bn?"":I.diff),ue(I.error??null),X("state_set_result",{interactionId:r,requestSlotId:s,traceId:$,loadingId:O,filePath:C,requestPath:se,gitRoot:L,bytes:I.diff?.length??0,tooLargeToRender:bn,resultTooLarge:!!I.tooLarge,error:I.error??null})}).catch(I=>{if(N||Gl(I))return;const Se=I instanceof Error?I.message:"Failed to load diff";K?.diff?(ce(Se),ue(null)):(He(null),ce(null),ue(Se)),X("state_set_error",{interactionId:r,requestSlotId:s,traceId:$,filePath:C,requestPath:se,gitRoot:L,error:Se,hadCachedDiff:!!K?.diff})}).finally(()=>{N||pe(!1),H(N?"cancelled_finally":"finally"),X("load_text_finally",{interactionId:r,requestSlotId:s,traceId:$,loadingId:O,filePath:C,requestPath:se,gitRoot:L,cancelled:N})});return K&&!oe?(pe(!1),H("cache_hit")):K&&oe?Je():Cl(Be,dn?{status:dn}:null)?oi(Be,_.signal,"view_diff_image",s?`${s}:image`:void 0).then(I=>{N||(x=URL.createObjectURL(I.blob),un({objectUrl:x,size:I.size,mimeType:I.mimeType}),H("image_preview_loaded",{bytes:I.size,mimeType:I.mimeType}))}).catch(()=>{if(!(N||_.signal.aborted))return Je()}).finally(()=>{N||pe(!1),N&&H("image_cancelled_finally")}):Je(),()=>{N=!0,_.abort(),ai(s),window.clearTimeout(ht),window.clearTimeout(gt),x&&URL.revokeObjectURL(x),H("cleanup"),X("effect_cleanup",{interactionId:r,requestSlotId:s,traceId:$,loadingId:O,filePath:C,requestPath:se,gitRoot:L,loadingEnded:M,signalAborted:_.signal.aborted,abortReason:_.signal.aborted?String(_.signal.reason??""):void 0,cacheSize:te.size,promiseSize:re.size})}},[m,fe,dn,j,v,e,r,y,d,t,s,B]),S.useEffect(()=>{if(y!==void 0)return;if(!q||q.trim()===""){$e([]),Te(new Map),Pe(null);return}let N=!1;const x=performance.now(),_=fe??t??(e?.startsWith("/")?null:B),C=Un(e,_),L=b?"none":A,O=Ct(e)??void 0,$=Yn(C,_??void 0,j,L,O);return _l(q,Le??void 0,C,_??void 0,j,L,O).then(M=>{N||($e(M.files),Te(M.tokens),Pe({cacheKey:$,diffContent:q,oldSource:Le??void 0}),X("worker_parse_done",{filePath:e,bytes:q.length,files:M.files.length,parseMs:M.parseMs,tokenizeMs:M.tokenizeMs,durationMs:Math.round(performance.now()-x)}))}).catch(M=>{N||($e([]),Te(new Map),Pe({cacheKey:$,diffContent:q,oldSource:Le??void 0}),ue(M instanceof Error?M.message:String(M)),X("worker_parse_error",{filePath:e,bytes:q.length,durationMs:Math.round(performance.now()-x),error:M instanceof Error?M.message:String(M)}))}),()=>{N=!0}},[fe,q,j,e,A,b,Le,y,t,B]);const ge=y!==void 0?y?.diffContent??null:q,hn=y!==void 0?y?.diffNotice??null:be,sr=y!==void 0?y?.diffError??null:at,gn=sr?.toLowerCase().includes("signal is aborted")?null:sr,ir=fe??t??(e?.startsWith("/")?null:B),Rs=Un(e,ir),Is=Yn(Rs,ir??void 0,j,b?"none":A,Ct(e)??void 0),Fs=!q||Ye?.cacheKey===Is&&Ye.diffContent===q&&Ye.oldSource===(Le??void 0),ft=y!==void 0?!1:ot||ct||!Fs,or=y!==void 0?y?.files??[]:lt,V=S.useMemo(()=>or.map(N=>N.type==="modify"&&N.oldPath!==N.newPath&&N.oldPath!=="/dev/null"&&N.newPath!=="/dev/null"?{...N,type:"rename"}:N),[or]);S.useEffect(()=>{!m||ft||ge===null&&!gn&&!ye&&v===void 0&&y===void 0||P?.()},[m,ge,gn,ft,v,ye,P,y]);const ar=w??[],Hs=y!==void 0?y?.tokens??new Map:An,Tn=S.useMemo(()=>{let N=0,x=0;for(const _ of V)for(const C of _.hunks)for(const L of C.changes)L.type==="insert"&&(N+=1),L.type==="delete"&&(x+=1);return{additions:N,deletions:x}},[V]);S.useEffect(()=>{T&&T(V.length>0?{files:V.length,...Tn}:null)},[V.length,T,Tn]);const zs=S.useMemo(()=>{const N=new Map;for(const x of V){let _=0,C=0;for(const L of x.hunks)for(const O of L.changes)O.type==="insert"&&(_+=1),O.type==="delete"&&(C+=1);N.set(`${x.oldRevision}-${x.newRevision}-${x.newPath}`,{additions:_,deletions:C})}return N},[V]),ke=Ur(e,{name:p("diffViewer.workingTree"),dir:p("diffViewer.allUnstaged")}),ze=`diff:whole:${e??"all"}`,Pn=S.useMemo(()=>{if(!ge)return"";const N={repoRoot:$n,selectedFilePath:e,referenceFilePath:ut},x=V.flatMap(_=>{const C=_.newPath&&!de(_.newPath)?_.newPath:_.oldPath&&!de(_.oldPath)?_.oldPath:"unknown file",L=_e(C,N);return _.hunks.map((O,$)=>({filePath:L,hunkIndex:$,hunk:O}))});return Jn(Al(ge,V,N),{hunks:x})},[ge,e,V,$n,ut]),Bs=S.useCallback(()=>{!Pn||!o||o(e?`${ke.name} diff`:p("diffViewer.allDiffLabel"),Pn,ze)},[e,o,p,ke.name,ze,Pn]),[dt,lr]=S.useState(null),[Ln,On]=S.useState(null),[mn,Rn]=S.useState(null);S.useEffect(()=>{On(null),Rn(null)},[V]),S.useEffect(()=>{if(!mn)return;const N=window.setTimeout(()=>Rn(null),5e3);return()=>window.clearTimeout(N)},[mn]);const vn=fe??t??(e?.startsWith("/")?null:B),cr=!!(a&&vn&&v==null&&y==null),ur=S.useCallback(async(N,x,_,C,L,O)=>{if(!a||!vn)return;const $=ge?Ml(ge,_,C,L):null;if(!$){On({key:x,message:p("diffViewer.hunkActionUnavailable")});return}lr(x),On(null);try{await a({mode:N,patch:$,cwd:vn,path:zt(vn,O)??O})}catch(M){On({key:x,message:M instanceof Error?M.message:String(M)})}finally{lr(M=>M===x?null:M),Rn(M=>M===x?null:M)}},[a,vn,ge,p]),Vs=S.useMemo(()=>{const N=new Map;for(const x of V){const _=b?[]:x.hunks.flatMap(O=>O.changes.filter($=>$.type==="delete").map($=>({content:$.content,lineNumber:$.lineNumber}))),C=b?[]:x.hunks.flatMap(O=>O.changes.filter($=>$.type==="insert").map($=>({content:$.content,lineNumber:$.lineNumber}))),L=b?[]:Ua(_,C);for(const O of x.hunks){const $=new Set(O.changes.filter(H=>H.type==="delete").map(H=>H.lineNumber)),M=new Set(O.changes.filter(H=>H.type==="insert").map(H=>H.lineNumber)),W=L.filter(H=>$.has(H.oldLineNumber)||M.has(H.newLineNumber));N.set(O,{hunkSections:b?[]:$l(O),movedCandidates:W,movedOldLines:new Set(W.map(H=>H.oldLineNumber)),movedNewLines:new Set(W.map(H=>H.newLineNumber)),importOnlyHunk:Rl(O),displayHunk:he==="split"?Il(O):O})}}return N},[V,b,he]),fr=S.useMemo(()=>V.reduce((N,x)=>N+x.hunks.length,0),[V]),Gs=S.useMemo(()=>Ll(ge??""),[ge]);S.useEffect(()=>{tr(null)},[V]);const dr=N=>{let x=0;return h.jsx(h.Fragment,{children:V.map((_,C)=>{const L=`${_.oldRevision}-${_.newRevision}-${_.newPath}`,O=Gs[C]?.includes("\")??!1,$=zs.get(L)??{additions:0,deletions:0},M=_.newPath&&!de(_.newPath)?_.newPath:_.oldPath&&!de(_.oldPath)?_.oldPath:"unknown file",W={repoRoot:$n,selectedFilePath:e,referenceFilePath:ut},H=_e(M,W),se=_e(_.oldPath||M,W),Be=_e(_.newPath||M,W),oe=Ur(M,{name:"unknown file",dir:""}),K=_.type==="rename"&&_.oldPath&&_.newPath&&_.oldPath!==_.newPath?`${_.oldPath} → ${_.newPath}`:null,ht=!N||V.length>1,gt=[`diff --git ${Re("a",se)} ${Re("b",Be)}`,..._.hunks.flatMap(Y=>[Y.content,...Y.changes.map(Nn)])].join(`
|
|
34
34
|
`),Je=Jn(gt,{hunks:_.hunks.map((Y,ne)=>({filePath:H,hunkIndex:ne,hunk:Y}))}),I=`diff:file:${M}`,Se=c===I||u===I,bn={"--termdock-diff-gutter-width":`${Vl(_.hunks)}ch`};return h.jsxs("div",{"data-diff-file-anchor":M,className:g?"overflow-hidden bg-surface":"mt-3 border border-border/20 bg-surface",style:bn,children:[ht&&h.jsxs("div",{className:"sticky top-0 z-10 flex items-center justify-between gap-3 border-b border-border/15 bg-surface-2/95 px-2 py-1.5 backdrop-blur",children:[h.jsxs("div",{className:"min-w-0",title:K??(_.newPath||_.oldPath),children:[h.jsx("div",{className:"truncate font-mono text-[11px] text-foreground",children:K??oe.name}),!K&&oe.dir&&h.jsx("div",{className:"truncate font-mono text-[10px] text-muted-foreground/70",children:oe.dir})]}),h.jsxs("div",{className:"flex shrink-0 items-center gap-1.5",children:[h.jsxs("span",{className:"text-[10px] font-medium text-[color:var(--diff-insert-strong)]",children:["+",$.additions]}),h.jsxs("span",{className:"text-[10px] font-medium text-[color:var(--diff-delete-strong)]",children:["-",$.deletions]}),o&&V.length>1&&h.jsx("button",{type:"button",onClick:()=>o(`${oe.name} diff`,Je,I),...Oe(Je,I),className:`rounded-full px-2 py-0.5 text-[10px] font-semibold active:scale-95 ${Se?"bg-surface-elevated text-foreground":"bg-primary/10 text-primary hover:bg-primary/20"}`,title:p("diffViewer.insertFileDiff"),children:p(u===I?"rightSidebar.copied":c===I?"rightSidebar.inserted":"diffViewer.insertFileShort")}),h.jsx("span",{className:"text-[10px] font-medium uppercase tracking-[0.12em] text-muted-foreground",children:_.type})]})]}),_.hunks.length===0?h.jsxs("div",{className:"bg-surface-2 px-3 py-5 text-center text-xs text-muted-foreground",children:[h.jsx(Nt,{size:18,className:"mx-auto mb-2 text-muted-foreground/80"}),p("diffViewer.binaryOrEmpty")]}):h.jsx(el,{enabled:he==="split"&&!f,label:p("rightSidebar.horizontalScrollHint"),className:`termdock-native-select overflow-x-auto termdock-diff-scroll ${he==="split"?"diff-split":""} ${f?"termdock-diff-wrap":""}`,children:h.jsxs("div",{className:"min-w-full",children:[_.hunks.map((Y,ne)=>{const Us=x;x+=1;const gr=`diff --git ${Re("a",se)} ${Re("b",Be)}`,mr=Jn([gr,Y.content,...Y.changes.map(Nn)].join(`
|
|
35
|
-
`),{hunks:[{filePath:H,hunkIndex:ne,hunk:Y}]}),mt=Pl(Y),je=Hl(ar,rr,M,Y.content,mt),Ze=`diff:hunk:${M}:${ne}`,Ks=c===Ze||u===Ze,vt=`stage:${M}:${ne}`,Ve=`revert:${M}:${ne}`,vr=dt!==null,Xs=cr&&(!i||i.unstaged||i.untracked),bt=Ln&&(Ln.key===vt||Ln.key===Ve)?Ln.message:null,In=`${M}\0${ne}\0${Y.content}`,Qe=Vs.get(Y),Ys=Qe?.hunkSections??[],pt=Qe?.movedCandidates??[],wt=Qe?.importOnlyHunk??!1,yt=wt&&!Es.has(In),Js=Qe?.movedOldLines??new Set,Zs=Qe?.movedNewLines??new Set,Qs=Qe?.displayHunk??Y,qs=Ys.reduce((J,U)=>{const pn=Cs(U),Fn=zl(ar,rr,M,Y.content,mt,U.index,pn),Q=Fn.current??Fn.stale;if(!Q&&!o)return J;const qe=Bl(U);if(!qe)return J;const en=`diff:section:${M}:${ne}:${U.index}`,br=o?Tl(H,ne,Y,U,gr):"",ni=c===en||u===en,_t=o?h.jsx("button",{type:"button",onClick:()=>o(`${oe.name} hunk ${ne+1}.${U.index+1}`,br,en),...Oe(br,en),className:`shrink-0 rounded px-1.5 py-0.5 text-[10px] font-medium transition active:scale-95 ${ni?"bg-surface-elevated text-foreground":Q?"text-primary/80 hover:bg-primary/10 hover:text-primary":"text-muted-foreground/45 hover:bg-surface-2 hover:text-muted-foreground"}`,title:Q?Q.summary??Q.explanation:"Insert this hunk section",children:p(u===en?"rightSidebar.copied":c===en?"rightSidebar.inserted":"diffViewer.insertHunkShort")}):null;return J[qe]=h.jsx("div",{"data-diff-section-anchor":M,"data-diff-section-audit":M,"data-diff-hunk-index":ne,"data-diff-section-index":U.index,"data-diff-section-fingerprint":pn,className:Q?`mx-2 my-1 min-w-0 rounded-md border px-2 py-1.5 text-[11px] leading-relaxed ${f?"max-w-full overflow-hidden":"w-max"} ${Fn.current?"border-primary/20 bg-primary/10 text-foreground":"border-[rgb(var(--warning-rgb)_/_0.26)] bg-[rgb(var(--warning-rgb)_/_0.12)] text-muted-foreground"}`:"mx-2 my-0.5 flex min-w-0 justify-end text-[10px] leading-none",children:Q?h.jsxs(h.Fragment,{children:[(Q.summary||_t||E)&&h.jsxs("div",{className:"mb-0.5 flex min-w-0 items-center gap-1.5",children:[Q.summary?h.jsx("span",{className:"min-w-0 flex-1 truncate text-[10px] font-semibold text-foreground",children:Q.summary}):h.jsx("span",{className:"min-w-0 flex-1"}),_t,E&&h.jsx("button",{type:"button",onClick:()=>E(Q.id),className:"ml-auto shrink-0 rounded p-0.5 text-muted-foreground/60 transition hover:bg-surface-2 hover:text-foreground",title:p("diffViewer.auditClear"),children:h.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M18 6 6 18"}),h.jsx("path",{d:"m6 6 12 12"})]})})]}),h.jsx("div",{className:"termdock-diff-audit-explanation min-w-0",children:Q.explanation})]}):_t}),J},{}),ei=({changes:J,defaultGenerate:U})=>{const pn=U();return J.some(Q=>{const qe=xs(Q);return qe===null?!1:Q?.type==="delete"?Js.has(qe):Q?.type==="insert"&&Zs.has(qe)})?`${pn} diff-line-moved`:pn};return h.jsxs("div",{className:`diff-hunk scroll-mt-16 ${wt?"diff-hunk-imports":""} ${Us===Os?"diff-hunk--jump-target":""}`,"data-diff-hunk-anchor":M,"data-diff-hunk-index":ne,"data-diff-hunk-fingerprint":mt,children:[h.jsxs("div",{className:"diff-decoration diff-hunk-meta-row bg-[rgba(var(--diff-accent-rgb),0.035)] px-2 py-1",children:[h.jsxs("div",{className:`diff-hunk-header flex min-w-0 items-center gap-2 ${f?"max-w-full flex-wrap overflow-hidden":"w-max whitespace-nowrap"}`,children:[o&&h.jsx("button",{type:"button",onClick:()=>o(`${oe.name} hunk ${ne+1}`,mr,Ze),...Oe(mr,Ze),className:`inline-flex h-6 shrink-0 items-center rounded-full px-2 text-[10px] font-semibold active:scale-95 ${Ks?"bg-surface-elevated text-foreground":"bg-primary/15 text-primary hover:bg-primary/25"}`,title:p("diffViewer.insertHunkDiff"),children:p(u===Ze?"rightSidebar.copied":c===Ze?"rightSidebar.inserted":"diffViewer.insertHunkShort")}),Xs&&h.jsx("button",{type:"button",disabled:vr,onClick:()=>{ur("stage",vt,_,C,ne,M)},className:"inline-flex h-6 shrink-0 items-center rounded-full bg-accent/10 px-2 text-[10px] font-semibold text-accent transition hover:bg-accent/20 active:scale-95 disabled:opacity-50",title:p("diffViewer.stageHunkTitle"),children:p(dt===vt?"diffViewer.hunkActionApplying":"diffViewer.stageHunk")}),cr&&h.jsx("button",{type:"button",disabled:vr,onClick:()=>{if(mn!==Ve){Rn(Ve);return}ur("revert-worktree",Ve,_,C,ne,M)},className:`inline-flex h-6 shrink-0 items-center rounded-full px-2 text-[10px] font-semibold transition active:scale-95 disabled:opacity-50 ${mn===Ve?"bg-destructive/15 text-destructive hover:bg-destructive/25":"bg-surface-2 text-muted-foreground hover:bg-surface-elevated hover:text-foreground"}`,title:p("diffViewer.revertHunkTitle"),children:p(dt===Ve?"diffViewer.hunkActionApplying":mn===Ve?"diffViewer.revertHunkConfirm":"diffViewer.revertHunk")}),h.jsx("span",{className:"min-w-0 flex-1 truncate",children:Y.content}),pt.length>0&&h.jsxs("span",{className:"shrink-0 rounded bg-surface-2 px-1.5 py-0.5 text-[10px] font-semibold text-[color:var(--diff-hunk-accent)]",title:pt.map(J=>`-${J.oldLineNumber} -> +${J.newLineNumber}`).join(", "),children:["moved ",pt.length]}),wt&&h.jsxs(h.Fragment,{children:[h.jsx("span",{className:"shrink-0 rounded bg-surface-2 px-1.5 py-0.5 text-[10px] font-semibold text-muted-foreground",children:"imports"}),h.jsx("button",{type:"button",onClick:()=>{Ds(J=>{const U=new Set(J);return U.has(In)?U.delete(In):U.add(In),U})},className:"shrink-0 rounded bg-surface-2 px-1.5 py-0.5 text-[10px] font-semibold text-muted-foreground transition hover:text-foreground",children:yt?"show":"hide"})]})]}),bt&&h.jsx("div",{className:"mt-1 truncate text-[10px] text-destructive",title:bt,children:p("diffViewer.hunkActionFailed",{message:bt})}),yt&&h.jsx("div",{className:"mt-1 rounded bg-surface-2 px-2 py-1 text-[10px] text-muted-foreground",children:"Import-only changes collapsed."}),(je.current||je.stale)&&(()=>{const J=je.current??je.stale,U=Xl(J?.injectedAt,R);return h.jsxs("div",{className:`mt-1 min-w-0 rounded-md border px-2 py-1.5 text-[11px] leading-relaxed ${f?"max-w-full overflow-hidden":"w-max"} ${je.current?"border-primary/20 bg-primary/10 text-foreground":"border-[rgb(var(--warning-rgb)_/_0.26)] bg-[rgb(var(--warning-rgb)_/_0.12)] text-muted-foreground"}`,children:[h.jsxs("div",{className:"mb-0.5 flex min-w-0 items-center gap-1.5",children:[h.jsx("span",{className:"font-semibold text-foreground",children:je.current?p("diffViewer.auditExplanation"):p("diffViewer.auditStale")}),h.jsx("span",{className:"font-mono text-[10px] text-muted-foreground",children:je.fingerprint}),U&&h.jsx("span",{className:"truncate text-[10px] text-muted-foreground/70",children:p("diffViewer.auditGeneratedAt",{time:U})}),E&&h.jsx("button",{type:"button",onClick:()=>J&&E(J.id),className:"ml-auto shrink-0 rounded p-0.5 text-muted-foreground/60 transition hover:bg-surface-2 hover:text-foreground",title:p("diffViewer.auditClear"),children:h.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M18 6 6 18"}),h.jsx("path",{d:"m6 6 12 12"})]})})]}),h.jsx("div",{className:"termdock-diff-audit-explanation min-w-0",children:je.current?.explanation??je.stale?.explanation})]})})()]}),!yt&&h.jsx(Ra,{viewType:he,diffType:_.type,hunks:[Qs],tokens:Hs.get(L),generateLineClassName:ei,widgets:qs,children:J=>J.map(U=>h.jsx(ps,{hunk:U},U.content))})]},Y.content)}),O&&h.jsx("div",{className:"diff-decoration bg-surface-2 px-3 py-1.5 text-[10px] text-muted-foreground",children:p("diffViewer.noFinalNewline")})]})})]},L)})})};if(ft)return g?h.jsxs("div",{className:"absolute inset-0 z-20 flex min-h-16 items-center justify-center gap-2 bg-surface-2 text-xs text-muted-foreground",children:[h.jsx(pr,{size:18,className:"animate-spin"}),h.jsx("span",{children:p("diffViewer.loading")})]}):h.jsxs("div",{className:"mx-3 mt-3 flex items-center justify-center gap-2 border border-border/15 bg-surface-2 py-8 text-sm text-muted-foreground",children:[h.jsx(pr,{size:20,className:"animate-spin"}),h.jsx("span",{children:p("diffViewer.loading")})]});if(gn)return g?h.jsx("div",{className:"bg-destructive/5 px-3 py-3 text-xs text-destructive",children:gn}):h.jsx("div",{className:"mx-3 mt-3 border border-destructive/20 bg-destructive/5 px-4 py-4 text-sm text-destructive",children:gn});if(hn&&!ge)return g?h.jsx("div",{className:"bg-[rgb(var(--warning-rgb)_/_0.12)] px-3 py-3 text-xs text-[color:var(--warning)]",children:hn}):h.jsx("div",{className:"mx-3 mt-3 border border-[rgb(var(--warning-rgb)_/_0.24)] bg-[rgb(var(--warning-rgb)_/_0.12)] px-4 py-4 text-sm text-[color:var(--warning)]",children:hn});if(ye){const N=h.jsxs("div",{className:"bg-surface p-3",children:[h.jsxs("div",{className:"mb-2 flex flex-wrap items-center gap-2 text-[10px] text-muted-foreground",children:[h.jsx("span",{children:p("rightSidebar.imagePreviewHint")}),ye.size!==null&&h.jsxs("span",{children:[ye.size.toLocaleString()," bytes"]}),h.jsx("span",{children:ye.mimeType}),ye.dimensions&&h.jsxs("span",{children:[ye.dimensions.width," × ",ye.dimensions.height]})]}),h.jsx("div",{className:"flex min-h-64 items-center justify-center",children:h.jsx("img",{src:ye.objectUrl,alt:ke.name,className:"max-h-[70vh] max-w-full rounded border border-border/15 bg-surface object-contain shadow-sm",onLoad:x=>{const _=x.currentTarget;un(C=>C&&{...C,dimensions:{width:_.naturalWidth,height:_.naturalHeight}})},onError:()=>ue(p("rightSidebar.imageLoadFailed"))})})]});return g?h.jsxs("div",{className:"termdock-native-select overflow-hidden bg-surface",children:[Oe.popoverNode,N]}):h.jsxs("div",{className:"termdock-diff px-3 py-2",children:[Oe.popoverNode,h.jsxs("div",{className:"border-b border-border/15 px-1 pb-2",children:[h.jsx("div",{className:"truncate text-sm font-medium text-foreground",title:e??void 0,children:ke.name}),h.jsx("div",{className:"mt-0.5 flex min-w-0 items-center gap-2 text-[11px] text-muted-foreground",children:ke.dir&&h.jsx("span",{className:"min-w-0 truncate",children:ke.dir})})]}),h.jsx("div",{className:"mt-3 overflow-hidden border border-border/20 bg-surface",children:N})]})}const hr=hn?h.jsx("div",{className:"mb-2 border border-[rgb(var(--warning-rgb)_/_0.24)] bg-[rgb(var(--warning-rgb)_/_0.12)] px-3 py-2 text-xs text-[color:var(--warning)]",children:hn}):null;if(V.length===0)return g?h.jsxs("div",{className:"bg-surface-2 px-3 py-5 text-center text-xs text-muted-foreground",children:[h.jsx(Nt,{size:20,className:"mx-auto mb-2 text-muted-foreground/80"}),p(e?"diffViewer.noFileChanges":"diffViewer.noUnstagedChanges")]}):h.jsxs("div",{className:"mx-3 mt-3 border border-border/15 bg-surface-2 px-4 py-8 text-center text-sm text-muted-foreground",children:[h.jsx(Nt,{size:24,className:"mx-auto mb-2 text-muted-foreground/80"}),p(e?"diffViewer.noFileChanges":"diffViewer.noUnstagedChanges")]});if(g)return h.jsxs("div",{ref:En,onMouseEnter:()=>{fn.current=!0},onMouseLeave:()=>{fn.current=!1},className:"termdock-diff termdock-native-select termdock-diff-card-mobile overflow-hidden rounded-b-xl","data-diff-viewer":!0,"data-diff-view-type":he,"data-diff-inline-mode":A,children:[Oe.popoverNode,hr,dr(!0)]});const Ws=c===ze||u===ze;return h.jsxs("div",{ref:En,onMouseEnter:()=>{fn.current=!0},onMouseLeave:()=>{fn.current=!1},className:"termdock-diff termdock-native-select px-3 py-2","data-diff-viewer":!0,"data-diff-view-type":he,"data-diff-inline-mode":A,children:[Oe.popoverNode,h.jsx("div",{className:"sticky top-0 z-10 border-b border-border/15 bg-surface/95 px-1 pb-2 pt-0 backdrop-blur",children:h.jsxs("div",{className:"flex items-start justify-between gap-2",children:[h.jsxs("div",{className:"min-w-0",children:[h.jsx("div",{className:"truncate text-sm font-medium text-foreground",title:e??void 0,children:ke.name}),h.jsxs("div",{className:"mt-0.5 flex min-w-0 items-center gap-2 text-[11px] text-muted-foreground",children:[ke.dir&&h.jsx("span",{className:"min-w-0 truncate",children:ke.dir}),h.jsxs("span",{children:[V.length," file",V.length>1?"s":""]}),h.jsxs("span",{className:"text-[color:var(--diff-insert-strong)]",children:["+",Tn.additions]}),h.jsxs("span",{className:"text-[color:var(--diff-delete-strong)]",children:["-",Tn.deletions]})]})]}),h.jsxs("div",{className:"flex shrink-0 items-center gap-1.5",children:[h.jsxs("div",{className:"inline-flex h-7 shrink-0 items-center rounded-full bg-surface-2 p-0.5",children:[h.jsx("button",{type:"button",onClick:()=>Dn(-1),disabled:fr<2,"aria-label":p("diffViewer.prevHunk"),className:"inline-flex h-6 items-center rounded-full px-1.5 text-muted-foreground transition hover:text-foreground active:scale-95 disabled:cursor-not-allowed disabled:opacity-45",title:`${p("diffViewer.prevHunk")} (Shift+F7)`,children:h.jsx(fi,{size:13})}),h.jsx("button",{type:"button",onClick:()=>Dn(1),disabled:fr<2,"aria-label":p("diffViewer.nextHunk"),className:"inline-flex h-6 items-center rounded-full px-1.5 text-muted-foreground transition hover:text-foreground active:scale-95 disabled:cursor-not-allowed disabled:opacity-45",title:`${p("diffViewer.nextHunk")} (F7)`,children:h.jsx(li,{size:13})})]}),h.jsxs("select",{value:$s,disabled:nr,onChange:N=>Ps(N.target.value),"aria-label":p("diffViewer.whitespace"),className:"h-7 shrink-0 rounded-full border border-border/20 bg-surface-2 px-2 text-[10px] font-semibold text-muted-foreground outline-none transition hover:text-foreground disabled:cursor-not-allowed disabled:opacity-45",title:p("diffViewer.whitespace"),children:[h.jsx("option",{value:"default",children:p("diffViewer.whitespaceDefault")}),h.jsx("option",{value:"trim",children:p("diffViewer.whitespaceTrim")}),h.jsx("option",{value:"ignore",children:p("diffViewer.whitespaceIgnore")}),h.jsx("option",{value:"ignore-blank-lines",children:p("diffViewer.whitespaceIgnoreBlankLines")})]}),h.jsxs("select",{value:String(Ts),disabled:nr,onChange:N=>Ls(N.target.value==="all"?"all":Number(N.target.value)),"aria-label":p("diffViewer.context"),className:"h-7 shrink-0 rounded-full border border-border/20 bg-surface-2 px-2 text-[10px] font-semibold text-muted-foreground outline-none transition hover:text-foreground disabled:cursor-not-allowed disabled:opacity-45",title:p("diffViewer.context"),children:[[3,10,25].map(N=>h.jsx("option",{value:String(N),children:p("diffViewer.contextLines",{count:N})},N)),h.jsx("option",{value:"all",children:p("diffViewer.contextAll")})]}),h.jsxs("div",{className:"inline-flex h-7 shrink-0 overflow-hidden rounded-full bg-surface-2 p-0.5","aria-label":p("diffViewer.view"),children:[h.jsx("button",{type:"button",onClick:()=>er("unified"),"aria-pressed":he==="unified",className:`inline-flex h-6 items-center rounded-full px-2 text-[10px] font-semibold transition active:scale-95 ${he==="unified"?"bg-surface-elevated text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`,title:p("diffViewer.unifiedMode"),children:p("diffViewer.unified")}),h.jsx("button",{type:"button",onClick:()=>er("split"),disabled:!ve,"aria-pressed":he==="split",className:`inline-flex h-6 items-center rounded-full px-2 text-[10px] font-semibold transition active:scale-95 disabled:cursor-not-allowed disabled:opacity-45 ${he==="split"?"bg-surface-elevated text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`,title:p(ve?"diffViewer.splitMode":"diffViewer.unifiedMode"),children:p("diffViewer.split")})]}),o&&h.jsx("button",{type:"button",onClick:Bs,...Oe(Pn,ze),className:`inline-flex h-8 shrink-0 items-center rounded-full px-3 text-[11px] font-semibold transition active:scale-95 ${Ws?"bg-surface-elevated text-foreground":"bg-primary/15 text-primary hover:bg-primary/25"}`,title:p("diffViewer.insertAllDiff"),children:p(u===ze?"rightSidebar.copied":c===ze?"rightSidebar.inserted":"diffViewer.insertAllShort")})]})]})}),hr,dr(!1)]})}export{sc as D,Ss as S,Yl as c,tc as h,rc as i,nc as l,Ct as r,ec as s,dl as u};
|
|
35
|
+
`),{hunks:[{filePath:H,hunkIndex:ne,hunk:Y}]}),mt=Pl(Y),je=Hl(ar,rr,M,Y.content,mt),Ze=`diff:hunk:${M}:${ne}`,Ks=c===Ze||u===Ze,vt=`stage:${M}:${ne}`,Ve=`revert:${M}:${ne}`,vr=dt!==null,Xs=cr&&(!i||i.unstaged||i.untracked),bt=Ln&&(Ln.key===vt||Ln.key===Ve)?Ln.message:null,In=`${M}\0${ne}\0${Y.content}`,Qe=Vs.get(Y),Ys=Qe?.hunkSections??[],pt=Qe?.movedCandidates??[],wt=Qe?.importOnlyHunk??!1,yt=wt&&!Es.has(In),Js=Qe?.movedOldLines??new Set,Zs=Qe?.movedNewLines??new Set,Qs=Qe?.displayHunk??Y,qs=Ys.reduce((J,U)=>{const pn=Cs(U),Fn=zl(ar,rr,M,Y.content,mt,U.index,pn),Q=Fn.current??Fn.stale;if(!Q&&!o)return J;const qe=Bl(U);if(!qe)return J;const en=`diff:section:${M}:${ne}:${U.index}`,br=o?Tl(H,ne,Y,U,gr):"",ni=c===en||u===en,_t=o?h.jsx("button",{type:"button",onClick:()=>o(`${oe.name} hunk ${ne+1}.${U.index+1}`,br,en),...Oe(br,en),className:`shrink-0 rounded px-1.5 py-0.5 text-[10px] font-medium transition active:scale-95 ${ni?"bg-surface-elevated text-foreground":Q?"text-primary/80 hover:bg-primary/10 hover:text-primary":"text-muted-foreground/45 hover:bg-surface-2 hover:text-muted-foreground"}`,title:Q?Q.summary??Q.explanation:"Insert this hunk section",children:p(u===en?"rightSidebar.copied":c===en?"rightSidebar.inserted":"diffViewer.insertHunkShort")}):null;return J[qe]=h.jsx("div",{"data-diff-section-anchor":M,"data-diff-section-audit":M,"data-diff-hunk-index":ne,"data-diff-section-index":U.index,"data-diff-section-fingerprint":pn,className:Q?`mx-2 my-1 min-w-0 rounded-md border px-2 py-1.5 text-[11px] leading-relaxed ${f?"max-w-full overflow-hidden":"w-max"} ${Fn.current?"border-primary/20 bg-primary/10 text-foreground":"border-[rgb(var(--warning-rgb)_/_0.26)] bg-[rgb(var(--warning-rgb)_/_0.12)] text-muted-foreground"}`:"mx-2 my-0.5 flex min-w-0 justify-end text-[10px] leading-none",children:Q?h.jsxs(h.Fragment,{children:[(Q.summary||_t||E)&&h.jsxs("div",{className:"mb-0.5 flex min-w-0 items-center gap-1.5",children:[Q.summary?h.jsx("span",{className:"min-w-0 flex-1 truncate text-[10px] font-semibold text-foreground",children:Q.summary}):h.jsx("span",{className:"min-w-0 flex-1"}),_t,E&&h.jsx("button",{type:"button",onClick:()=>E(Q.id),className:"ml-auto shrink-0 rounded p-0.5 text-muted-foreground/60 transition hover:bg-surface-2 hover:text-foreground",title:p("diffViewer.auditClear"),children:h.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M18 6 6 18"}),h.jsx("path",{d:"m6 6 12 12"})]})})]}),h.jsx("div",{className:"termdock-diff-audit-explanation min-w-0",children:Q.explanation})]}):_t}),J},{}),ei=({changes:J,defaultGenerate:U})=>{const pn=U();return J.some(Q=>{const qe=xs(Q);return qe===null?!1:Q?.type==="delete"?Js.has(qe):Q?.type==="insert"&&Zs.has(qe)})?`${pn} diff-line-moved`:pn};return h.jsxs("div",{className:`diff-hunk scroll-mt-16 ${wt?"diff-hunk-imports":""} ${Us===Os?"diff-hunk--jump-target":""}`,"data-diff-hunk-anchor":M,"data-diff-hunk-index":ne,"data-diff-hunk-fingerprint":mt,children:[h.jsxs("div",{className:"diff-decoration diff-hunk-meta-row bg-[rgba(var(--diff-accent-rgb),0.035)] px-2 py-1",children:[h.jsxs("div",{className:`diff-hunk-header flex min-w-0 items-center gap-2 ${f?"max-w-full flex-wrap overflow-hidden":"w-max whitespace-nowrap"}`,children:[o&&h.jsx("button",{type:"button",onClick:()=>o(`${oe.name} hunk ${ne+1}`,mr,Ze),...Oe(mr,Ze),className:`inline-flex h-6 shrink-0 items-center rounded-full px-2 text-[10px] font-semibold active:scale-95 ${Ks?"bg-surface-elevated text-foreground":"bg-primary/15 text-primary hover:bg-primary/25"}`,title:p("diffViewer.insertHunkDiff"),children:p(u===Ze?"rightSidebar.copied":c===Ze?"rightSidebar.inserted":"diffViewer.insertHunkShort")}),Xs&&h.jsx("button",{type:"button",disabled:vr,onClick:()=>{ur("stage",vt,_,C,ne,M)},className:"inline-flex h-6 shrink-0 items-center rounded-full bg-accent/10 px-2 text-[10px] font-semibold text-accent transition hover:bg-accent/20 active:scale-95 disabled:opacity-50",title:p("diffViewer.stageHunkTitle"),children:p(dt===vt?"diffViewer.hunkActionApplying":"diffViewer.stageHunk")}),cr&&h.jsx("button",{type:"button",disabled:vr,onClick:()=>{if(mn!==Ve){Rn(Ve);return}ur("revert-worktree",Ve,_,C,ne,M)},className:`inline-flex h-6 shrink-0 items-center rounded-full px-2 text-[10px] font-semibold transition active:scale-95 disabled:opacity-50 ${mn===Ve?"bg-destructive/15 text-destructive hover:bg-destructive/25":"bg-surface-2 text-muted-foreground hover:bg-surface-elevated hover:text-foreground"}`,title:p("diffViewer.revertHunkTitle"),children:p(dt===Ve?"diffViewer.hunkActionApplying":mn===Ve?"diffViewer.revertHunkConfirm":"diffViewer.revertHunk")}),h.jsx("span",{className:"min-w-0 flex-1 truncate",children:Y.content}),pt.length>0&&h.jsxs("span",{className:"shrink-0 rounded bg-surface-2 px-1.5 py-0.5 text-[10px] font-semibold text-[color:var(--diff-hunk-accent)]",title:pt.map(J=>`-${J.oldLineNumber} -> +${J.newLineNumber}`).join(", "),children:["moved ",pt.length]}),wt&&h.jsxs(h.Fragment,{children:[h.jsx("span",{className:"shrink-0 rounded bg-surface-2 px-1.5 py-0.5 text-[10px] font-semibold text-muted-foreground",children:"imports"}),h.jsx("button",{type:"button",onClick:()=>{Ds(J=>{const U=new Set(J);return U.has(In)?U.delete(In):U.add(In),U})},className:"shrink-0 rounded bg-surface-2 px-1.5 py-0.5 text-[10px] font-semibold text-muted-foreground transition hover:text-foreground",children:yt?"show":"hide"})]})]}),bt&&h.jsx("div",{className:"mt-1 truncate text-[10px] text-destructive",title:bt,children:p("diffViewer.hunkActionFailed",{message:bt})}),yt&&h.jsx("div",{className:"mt-1 rounded bg-surface-2 px-2 py-1 text-[10px] text-muted-foreground",children:"Import-only changes collapsed."}),(je.current||je.stale)&&(()=>{const J=je.current??je.stale,U=Xl(J?.injectedAt,R);return h.jsxs("div",{className:`mt-1 min-w-0 rounded-md border px-2 py-1.5 text-[11px] leading-relaxed ${f?"max-w-full overflow-hidden":"w-max"} ${je.current?"border-primary/20 bg-primary/10 text-foreground":"border-[rgb(var(--warning-rgb)_/_0.26)] bg-[rgb(var(--warning-rgb)_/_0.12)] text-muted-foreground"}`,children:[h.jsxs("div",{className:"mb-0.5 flex min-w-0 items-center gap-1.5",children:[h.jsx("span",{className:"font-semibold text-foreground",children:je.current?p("diffViewer.auditExplanation"):p("diffViewer.auditStale")}),h.jsx("span",{className:"font-mono text-[10px] text-muted-foreground",children:je.fingerprint}),U&&h.jsx("span",{className:"truncate text-[10px] text-muted-foreground/70",children:p("diffViewer.auditGeneratedAt",{time:U})}),E&&h.jsx("button",{type:"button",onClick:()=>J&&E(J.id),className:"ml-auto shrink-0 rounded p-0.5 text-muted-foreground/60 transition hover:bg-surface-2 hover:text-foreground",title:p("diffViewer.auditClear"),children:h.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M18 6 6 18"}),h.jsx("path",{d:"m6 6 12 12"})]})})]}),h.jsx("div",{className:"termdock-diff-audit-explanation min-w-0",children:je.current?.explanation??je.stale?.explanation})]})})()]}),!yt&&h.jsx(Ra,{viewType:he,diffType:_.type,hunks:[Qs],tokens:Hs.get(L),generateLineClassName:ei,widgets:qs,children:J=>J.map(U=>h.jsx(ps,{hunk:U},U.content))})]},Y.content)}),O&&h.jsx("div",{className:"diff-decoration bg-surface-2 px-3 py-1.5 text-[10px] text-muted-foreground",children:p("diffViewer.noFinalNewline")})]})})]},L)})})};if(ft)return g?h.jsxs("div",{className:"absolute inset-0 z-20 flex min-h-16 items-center justify-center gap-2 bg-surface-2 text-xs text-muted-foreground",children:[h.jsx(pr,{size:18,className:"animate-spin"}),h.jsx("span",{children:p("diffViewer.loading")})]}):h.jsxs("div",{className:"mx-3 mt-3 flex items-center justify-center gap-2 border border-border/15 bg-surface-2 py-8 text-sm text-muted-foreground",children:[h.jsx(pr,{size:20,className:"animate-spin"}),h.jsx("span",{children:p("diffViewer.loading")})]});if(gn)return g?h.jsx("div",{className:"bg-destructive/5 px-3 py-3 text-xs text-destructive",children:gn}):h.jsx("div",{className:"mx-3 mt-3 border border-destructive/20 bg-destructive/5 px-4 py-4 text-sm text-destructive",children:gn});if(hn&&!ge)return g?h.jsx("div",{className:"bg-[rgb(var(--warning-rgb)_/_0.12)] px-3 py-3 text-xs text-[color:var(--warning)]",children:hn}):h.jsx("div",{className:"mx-3 mt-3 border border-[rgb(var(--warning-rgb)_/_0.24)] bg-[rgb(var(--warning-rgb)_/_0.12)] px-4 py-4 text-sm text-[color:var(--warning)]",children:hn});if(ye){const N=h.jsxs("div",{className:"bg-surface p-3",children:[h.jsxs("div",{className:"mb-2 flex flex-wrap items-center gap-2 text-[10px] text-muted-foreground",children:[h.jsx("span",{children:p("rightSidebar.imagePreviewHint")}),ye.size!==null&&h.jsxs("span",{children:[ye.size.toLocaleString()," bytes"]}),h.jsx("span",{children:ye.mimeType}),ye.dimensions&&h.jsxs("span",{children:[ye.dimensions.width," × ",ye.dimensions.height]})]}),h.jsx("div",{className:"flex min-h-64 items-center justify-center",children:h.jsx("img",{src:ye.objectUrl,alt:ke.name,className:"max-h-[70vh] max-w-full rounded border border-border/15 bg-surface object-contain shadow-sm",onLoad:x=>{const _=x.currentTarget;un(C=>C&&{...C,dimensions:{width:_.naturalWidth,height:_.naturalHeight}})},onError:()=>ue(p("rightSidebar.imageLoadFailed"))})})]});return g?h.jsxs("div",{className:"termdock-native-select overflow-hidden bg-surface",children:[Oe.popoverNode,N]}):h.jsxs("div",{className:"termdock-diff px-3 py-2",children:[Oe.popoverNode,h.jsxs("div",{className:"border-b border-border/15 px-1 pb-2",children:[h.jsx("div",{className:"truncate text-sm font-medium text-foreground",title:e??void 0,children:ke.name}),h.jsx("div",{className:"mt-0.5 flex min-w-0 items-center gap-2 text-[11px] text-muted-foreground",children:ke.dir&&h.jsx("span",{className:"min-w-0 truncate",children:ke.dir})})]}),h.jsx("div",{className:"mt-3 overflow-hidden border border-border/20 bg-surface",children:N})]})}const hr=hn?h.jsx("div",{className:"mb-2 border border-[rgb(var(--warning-rgb)_/_0.24)] bg-[rgb(var(--warning-rgb)_/_0.12)] px-3 py-2 text-xs text-[color:var(--warning)]",children:hn}):null;if(V.length===0)return g?h.jsxs("div",{className:"bg-surface-2 px-3 py-5 text-center text-xs text-muted-foreground",children:[h.jsx(Nt,{size:20,className:"mx-auto mb-2 text-muted-foreground/80"}),p(e?"diffViewer.noFileChanges":"diffViewer.noUnstagedChanges")]}):h.jsxs("div",{className:"mx-3 mt-3 border border-border/15 bg-surface-2 px-4 py-8 text-center text-sm text-muted-foreground",children:[h.jsx(Nt,{size:24,className:"mx-auto mb-2 text-muted-foreground/80"}),p(e?"diffViewer.noFileChanges":"diffViewer.noUnstagedChanges")]});if(g)return h.jsxs("div",{ref:En,onMouseEnter:()=>{fn.current=!0},onMouseLeave:()=>{fn.current=!1},className:"termdock-diff termdock-native-select termdock-diff-card-mobile overflow-hidden rounded-b-xl","data-diff-viewer":!0,"data-diff-view-type":he,"data-diff-inline-mode":A,children:[Oe.popoverNode,hr,dr(!0)]});const Ws=c===ze||u===ze;return h.jsxs("div",{ref:En,onMouseEnter:()=>{fn.current=!0},onMouseLeave:()=>{fn.current=!1},className:"termdock-diff termdock-native-select px-3 py-2","data-diff-viewer":!0,"data-diff-view-type":he,"data-diff-inline-mode":A,children:[Oe.popoverNode,h.jsx("div",{className:"sticky top-0 z-10 border-b border-border/15 bg-surface/95 px-1 pb-2 pt-0 backdrop-blur",children:h.jsxs("div",{className:"flex items-start justify-between gap-2",children:[h.jsxs("div",{className:"min-w-0",children:[h.jsx("div",{className:"truncate text-sm font-medium text-foreground",title:e??void 0,children:ke.name}),h.jsxs("div",{className:"mt-0.5 flex min-w-0 items-center gap-2 text-[11px] text-muted-foreground",children:[ke.dir&&h.jsx("span",{className:"min-w-0 truncate",children:ke.dir}),h.jsxs("span",{children:[V.length," file",V.length>1?"s":""]}),h.jsxs("span",{className:"text-[color:var(--diff-insert-strong)]",children:["+",Tn.additions]}),h.jsxs("span",{className:"text-[color:var(--diff-delete-strong)]",children:["-",Tn.deletions]})]})]}),h.jsxs("div",{className:"flex shrink-0 items-center gap-1.5",children:[h.jsxs("div",{className:"inline-flex h-7 shrink-0 items-center rounded-full bg-surface-2 p-0.5",children:[h.jsx("button",{type:"button",onClick:()=>Dn(-1),disabled:fr<2,"aria-label":p("diffViewer.prevHunk"),className:"inline-flex h-6 items-center rounded-full px-1.5 text-muted-foreground transition hover:text-foreground active:scale-95 disabled:cursor-not-allowed disabled:opacity-45",title:`${p("diffViewer.prevHunk")} (Shift+F7)`,children:h.jsx(li,{size:13})}),h.jsx("button",{type:"button",onClick:()=>Dn(1),disabled:fr<2,"aria-label":p("diffViewer.nextHunk"),className:"inline-flex h-6 items-center rounded-full px-1.5 text-muted-foreground transition hover:text-foreground active:scale-95 disabled:cursor-not-allowed disabled:opacity-45",title:`${p("diffViewer.nextHunk")} (F7)`,children:h.jsx(ci,{size:13})})]}),h.jsxs("select",{value:$s,disabled:nr,onChange:N=>Ps(N.target.value),"aria-label":p("diffViewer.whitespace"),className:"h-7 shrink-0 rounded-full border border-border/20 bg-surface-2 px-2 text-[10px] font-semibold text-muted-foreground outline-none transition hover:text-foreground disabled:cursor-not-allowed disabled:opacity-45",title:p("diffViewer.whitespace"),children:[h.jsx("option",{value:"default",children:p("diffViewer.whitespaceDefault")}),h.jsx("option",{value:"trim",children:p("diffViewer.whitespaceTrim")}),h.jsx("option",{value:"ignore",children:p("diffViewer.whitespaceIgnore")}),h.jsx("option",{value:"ignore-blank-lines",children:p("diffViewer.whitespaceIgnoreBlankLines")})]}),h.jsxs("select",{value:String(Ts),disabled:nr,onChange:N=>Ls(N.target.value==="all"?"all":Number(N.target.value)),"aria-label":p("diffViewer.context"),className:"h-7 shrink-0 rounded-full border border-border/20 bg-surface-2 px-2 text-[10px] font-semibold text-muted-foreground outline-none transition hover:text-foreground disabled:cursor-not-allowed disabled:opacity-45",title:p("diffViewer.context"),children:[[3,10,25].map(N=>h.jsx("option",{value:String(N),children:p("diffViewer.contextLines",{count:N})},N)),h.jsx("option",{value:"all",children:p("diffViewer.contextAll")})]}),h.jsxs("div",{className:"inline-flex h-7 shrink-0 overflow-hidden rounded-full bg-surface-2 p-0.5","aria-label":p("diffViewer.view"),children:[h.jsx("button",{type:"button",onClick:()=>er("unified"),"aria-pressed":he==="unified",className:`inline-flex h-6 items-center rounded-full px-2 text-[10px] font-semibold transition active:scale-95 ${he==="unified"?"bg-surface-elevated text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`,title:p("diffViewer.unifiedMode"),children:p("diffViewer.unified")}),h.jsx("button",{type:"button",onClick:()=>er("split"),disabled:!ve,"aria-pressed":he==="split",className:`inline-flex h-6 items-center rounded-full px-2 text-[10px] font-semibold transition active:scale-95 disabled:cursor-not-allowed disabled:opacity-45 ${he==="split"?"bg-surface-elevated text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`,title:p(ve?"diffViewer.splitMode":"diffViewer.unifiedMode"),children:p("diffViewer.split")})]}),o&&h.jsx("button",{type:"button",onClick:Bs,...Oe(Pn,ze),className:`inline-flex h-8 shrink-0 items-center rounded-full px-3 text-[11px] font-semibold transition active:scale-95 ${Ws?"bg-surface-elevated text-foreground":"bg-primary/15 text-primary hover:bg-primary/25"}`,title:p("diffViewer.insertAllDiff"),children:p(u===ze?"rightSidebar.copied":c===ze?"rightSidebar.inserted":"diffViewer.insertAllShort")})]})]})}),hr,dr(!1)]})}export{sc as D,Ss as S,Yl as c,tc as h,rc as i,nc as l,Ct as r,ec as s,dl as u};
|
|
Binary file
|
|
Binary file
|