termdock 1.4.289 → 1.4.290
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{App-DO9hNWfr.js → App-BRfw5oCQ.js} +26 -26
- package/dist/client/assets/App-BRfw5oCQ.js.br +0 -0
- package/dist/client/assets/App-BRfw5oCQ.js.gz +0 -0
- package/dist/client/assets/{ChangeWalkthroughPanel-DME2doq6.js → ChangeWalkthroughPanel-DUFzetwT.js} +1 -1
- package/dist/client/assets/ChangeWalkthroughPanel-DUFzetwT.js.br +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-DUFzetwT.js.gz +0 -0
- package/dist/client/assets/{DagPlayground-BjQZWBv8.js → DagPlayground-QDVRN9ql.js} +1 -1
- package/dist/client/assets/DagPlayground-QDVRN9ql.js.br +0 -0
- package/dist/client/assets/DagPlayground-QDVRN9ql.js.gz +0 -0
- package/dist/client/assets/{DiffLab-CGuxs_3I.js → DiffLab-BRm8mEqo.js} +1 -1
- package/dist/client/assets/DiffLab-BRm8mEqo.js.br +0 -0
- package/dist/client/assets/DiffLab-BRm8mEqo.js.gz +0 -0
- package/dist/client/assets/{DiffReview-DNZwLnGu.js → DiffReview-BSBMoPxt.js} +1 -1
- package/dist/client/assets/DiffReview-BSBMoPxt.js.br +0 -0
- package/dist/client/assets/{DiffReview-DNZwLnGu.js.gz → DiffReview-BSBMoPxt.js.gz} +0 -0
- package/dist/client/assets/{DiffReviewLab-CMQZtlZe.js → DiffReviewLab-C9T2eqhX.js} +1 -1
- package/dist/client/assets/DiffReviewLab-C9T2eqhX.js.br +0 -0
- package/dist/client/assets/DiffReviewLab-C9T2eqhX.js.gz +0 -0
- package/dist/client/assets/{DiffViewer-Fn5aSy5i.js → DiffViewer-VYM2HODg.js} +1 -1
- package/dist/client/assets/DiffViewer-VYM2HODg.js.br +0 -0
- package/dist/client/assets/DiffViewer-VYM2HODg.js.gz +0 -0
- package/dist/client/assets/{ModelPreview-BcG4qIOX.js → ModelPreview-grokLRQl.js} +1 -1
- package/dist/client/assets/ModelPreview-grokLRQl.js.br +0 -0
- package/dist/client/assets/{ModelPreview-BcG4qIOX.js.gz → ModelPreview-grokLRQl.js.gz} +0 -0
- package/dist/client/assets/{RightSidebar-BcLxXe2i.js → RightSidebar-CZSFLQRc.js} +4 -4
- package/dist/client/assets/RightSidebar-CZSFLQRc.js.br +0 -0
- package/dist/client/assets/RightSidebar-CZSFLQRc.js.gz +0 -0
- package/dist/client/assets/{abnfDiagram-VCTEODGH-BnEXkfWX.js → abnfDiagram-VCTEODGH-BYngtuHa.js} +1 -1
- package/dist/client/assets/abnfDiagram-VCTEODGH-BYngtuHa.js.br +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-BYngtuHa.js.gz +0 -0
- package/dist/client/assets/{app-BBaOClN_.js → app-WrWkLxV3.js} +3 -3
- package/dist/client/assets/app-WrWkLxV3.js.br +0 -0
- package/dist/client/assets/app-WrWkLxV3.js.gz +0 -0
- package/dist/client/assets/{arc-DQlpzsxW.js → arc-CgTj3eTF.js} +1 -1
- package/dist/client/assets/arc-CgTj3eTF.js.br +0 -0
- package/dist/client/assets/arc-CgTj3eTF.js.gz +0 -0
- package/dist/client/assets/{architectureDiagram-5GKGNRK7-ChZ0jJsW.js → architectureDiagram-5GKGNRK7-B1UNoz0d.js} +1 -1
- package/dist/client/assets/architectureDiagram-5GKGNRK7-B1UNoz0d.js.br +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-B1UNoz0d.js.gz +0 -0
- package/dist/client/assets/{blockDiagram-I7D4REHJ-BsftKvs5.js → blockDiagram-I7D4REHJ-gjQ0MV_O.js} +1 -1
- package/dist/client/assets/blockDiagram-I7D4REHJ-gjQ0MV_O.js.br +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-gjQ0MV_O.js.gz +0 -0
- package/dist/client/assets/{c4Diagram-7LVT6UL2-DS-sa6DV.js → c4Diagram-7LVT6UL2-Uq-5UDO-.js} +1 -1
- package/dist/client/assets/{c4Diagram-7LVT6UL2-DS-sa6DV.js.br → c4Diagram-7LVT6UL2-Uq-5UDO-.js.br} +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-Uq-5UDO-.js.gz +0 -0
- package/dist/client/assets/channel-LGsCNuMP.js +1 -0
- package/dist/client/assets/{chunk-2Q5K7J3B-BPnioT0F.js → chunk-2Q5K7J3B-BTGyexuO.js} +1 -1
- package/dist/client/assets/{chunk-5VM5RSS4-DlgR2SqU.js → chunk-5VM5RSS4-B-RaeItk.js} +1 -1
- package/dist/client/assets/{chunk-F27PBJKO-i0upzKtt.js → chunk-F27PBJKO-9GDc4Fq2.js} +1 -1
- package/dist/client/assets/chunk-F27PBJKO-9GDc4Fq2.js.br +0 -0
- package/dist/client/assets/chunk-F27PBJKO-9GDc4Fq2.js.gz +0 -0
- package/dist/client/assets/{chunk-IMKFNOWR-kawD7AVB.js → chunk-IMKFNOWR-I22kQkL8.js} +1 -1
- package/dist/client/assets/chunk-IMKFNOWR-I22kQkL8.js.br +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-I22kQkL8.js.gz +0 -0
- package/dist/client/assets/{chunk-JWPE2WC7-cdnceboc.js → chunk-JWPE2WC7-CNiTC-ja.js} +1 -1
- package/dist/client/assets/{chunk-POPQ4Y6H-DCnkFKqT.js → chunk-POPQ4Y6H-CtWkICsf.js} +1 -1
- package/dist/client/assets/{chunk-SVP7TREG-D5yBarlr.js → chunk-SVP7TREG-BomKTR6s.js} +1 -1
- package/dist/client/assets/chunk-SVP7TREG-BomKTR6s.js.br +0 -0
- package/dist/client/assets/chunk-SVP7TREG-BomKTR6s.js.gz +0 -0
- package/dist/client/assets/{chunk-TICWLB2K-BVrLi4qB.js → chunk-TICWLB2K-DgkaTFQ4.js} +1 -1
- package/dist/client/assets/chunk-TICWLB2K-DgkaTFQ4.js.br +0 -0
- package/dist/client/assets/chunk-TICWLB2K-DgkaTFQ4.js.gz +0 -0
- package/dist/client/assets/{chunk-XXDRQBXY-Cs3dilV5.js → chunk-XXDRQBXY-UXD0AiLk.js} +1 -1
- package/dist/client/assets/classDiagram-ZZMXUADV-4PiJ-tGG.js +1 -0
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-4PiJ-tGG.js +1 -0
- package/dist/client/assets/{cose-bilkent-JH36ORCC-DUq27XZL.js → cose-bilkent-JH36ORCC-Bw_Qgg8r.js} +1 -1
- package/dist/client/assets/cose-bilkent-JH36ORCC-Bw_Qgg8r.js.br +0 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-Bw_Qgg8r.js.gz +0 -0
- package/dist/client/assets/{cynefin-OW5HDTMX-36NF5Vtn.js → cynefin-OW5HDTMX-CwCMT9I6.js} +1 -1
- package/dist/client/assets/cynefin-OW5HDTMX-CwCMT9I6.js.br +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-CwCMT9I6.js.gz +0 -0
- package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-Bf5NCIM-.js → cynefinDiagram-5FMLGOSQ-Cek759TX.js} +1 -1
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-Cek759TX.js.br +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-Cek759TX.js.gz +0 -0
- package/dist/client/assets/{dagre-GXQ25YYZ-DhNvsSKc.js → dagre-GXQ25YYZ-BRE6cUzf.js} +1 -1
- package/dist/client/assets/dagre-GXQ25YYZ-BRE6cUzf.js.br +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-BRE6cUzf.js.gz +0 -0
- package/dist/client/assets/{diagram-S7CK7UJ4-CO4HzscH.js → diagram-S7CK7UJ4-DNIAwDHI.js} +1 -1
- package/dist/client/assets/diagram-S7CK7UJ4-DNIAwDHI.js.br +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-DNIAwDHI.js.gz +0 -0
- package/dist/client/assets/{diagram-UQ7AKVKN-2qQ6_uCC.js → diagram-UQ7AKVKN-32TmHr9X.js} +1 -1
- package/dist/client/assets/diagram-UQ7AKVKN-32TmHr9X.js.br +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-32TmHr9X.js.gz +0 -0
- package/dist/client/assets/{diagram-VSXAHHWV-DcQo0HLW.js → diagram-VSXAHHWV-BnbnRgTj.js} +1 -1
- package/dist/client/assets/diagram-VSXAHHWV-BnbnRgTj.js.br +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-BnbnRgTj.js.gz +0 -0
- package/dist/client/assets/{diagram-VX7I27RA-ih-Z4vj0.js → diagram-VX7I27RA-BPVe5qtf.js} +1 -1
- package/dist/client/assets/diagram-VX7I27RA-BPVe5qtf.js.br +0 -0
- package/dist/client/assets/diagram-VX7I27RA-BPVe5qtf.js.gz +0 -0
- package/dist/client/assets/{diagram-Z3DM3KII-BTHDFyKz.js → diagram-Z3DM3KII-DM-BaEdf.js} +1 -1
- package/dist/client/assets/diagram-Z3DM3KII-DM-BaEdf.js.br +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-DM-BaEdf.js.gz +0 -0
- package/dist/client/assets/{ebnfDiagram-PWID7BFC-QBmMW3SL.js → ebnfDiagram-PWID7BFC-BMv8tg48.js} +1 -1
- package/dist/client/assets/ebnfDiagram-PWID7BFC-BMv8tg48.js.br +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-BMv8tg48.js.gz +0 -0
- package/dist/client/assets/{erDiagram-RLTQ6QDP-BeXwLYvX.js → erDiagram-RLTQ6QDP-DlfI4odw.js} +1 -1
- package/dist/client/assets/erDiagram-RLTQ6QDP-DlfI4odw.js.br +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-DlfI4odw.js.gz +0 -0
- package/dist/client/assets/{flowDiagram-HODETNUW-BTlp7zXk.js → flowDiagram-HODETNUW-Zr3pLYms.js} +1 -1
- package/dist/client/assets/flowDiagram-HODETNUW-Zr3pLYms.js.br +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-Zr3pLYms.js.gz +0 -0
- package/dist/client/assets/{ganttDiagram-EL5Y4UJY-D_VLsu_f.js → ganttDiagram-EL5Y4UJY-DXiaYowd.js} +1 -1
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-DXiaYowd.js.br +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-DXiaYowd.js.gz +0 -0
- package/dist/client/assets/{gestureArbiter-CvDpkY8G.js → gestureArbiter-BBL6vZuq.js} +1 -1
- package/dist/client/assets/gestureArbiter-BBL6vZuq.js.br +0 -0
- package/dist/client/assets/gestureArbiter-BBL6vZuq.js.gz +0 -0
- package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-Cmzv6LTD.js → gitGraphDiagram-WWUBYQGX-BXu_hKvx.js} +1 -1
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-BXu_hKvx.js.br +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-BXu_hKvx.js.gz +0 -0
- package/dist/client/assets/{infoDiagram-27XIBGKW-B8Ot2e3J.js → infoDiagram-27XIBGKW-BcyCTuHG.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-5VMMS53U-4JJmT76_.js → ishikawaDiagram-5VMMS53U-Cs4GKW-5.js} +1 -1
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-Cs4GKW-5.js.br +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-Cs4GKW-5.js.gz +0 -0
- package/dist/client/assets/{journeyDiagram-3NMN7TZE-DpBd1_Uo.js → journeyDiagram-3NMN7TZE-DbL6s0jl.js} +1 -1
- package/dist/client/assets/journeyDiagram-3NMN7TZE-DbL6s0jl.js.br +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-DbL6s0jl.js.gz +0 -0
- package/dist/client/assets/{kanban-definition-UXKFOSKX-D2TRb6Ue.js → kanban-definition-UXKFOSKX-CZ4kIY3-.js} +1 -1
- package/dist/client/assets/kanban-definition-UXKFOSKX-CZ4kIY3-.js.br +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-CZ4kIY3-.js.gz +0 -0
- package/dist/client/assets/{layout-Xl-7PjK-.js → layout-CHJ6LkYq.js} +1 -1
- package/dist/client/assets/layout-CHJ6LkYq.js.br +0 -0
- package/dist/client/assets/layout-CHJ6LkYq.js.gz +0 -0
- package/dist/client/assets/{linear-NTXOcSx7.js → linear-B6kwtO_L.js} +1 -1
- package/dist/client/assets/linear-B6kwtO_L.js.br +0 -0
- package/dist/client/assets/linear-B6kwtO_L.js.gz +0 -0
- package/dist/client/assets/{mermaid.core-CF2hoohj.js → mermaid.core-CdLYagbK.js} +5 -5
- package/dist/client/assets/mermaid.core-CdLYagbK.js.br +0 -0
- package/dist/client/assets/mermaid.core-CdLYagbK.js.gz +0 -0
- package/dist/client/assets/{mindmap-definition-YA3MSWOX-Cm3vd3oy.js → mindmap-definition-YA3MSWOX-VtVTSOI-.js} +1 -1
- package/dist/client/assets/mindmap-definition-YA3MSWOX-VtVTSOI-.js.br +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-VtVTSOI-.js.gz +0 -0
- package/dist/client/assets/{passwordBootstrap-CMcT-qHV.js → passwordBootstrap-EpqZxsKC.js} +1 -1
- package/dist/client/assets/passwordBootstrap-EpqZxsKC.js.br +0 -0
- package/dist/client/assets/passwordBootstrap-EpqZxsKC.js.gz +0 -0
- package/dist/client/assets/{pegDiagram-XKGWAZYB-Bvp5sY2G.js → pegDiagram-XKGWAZYB-18Oyrzm7.js} +1 -1
- package/dist/client/assets/pegDiagram-XKGWAZYB-18Oyrzm7.js.br +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-18Oyrzm7.js.gz +0 -0
- package/dist/client/assets/{pieDiagram-E7YTZNPT-a2Aj4vAu.js → pieDiagram-E7YTZNPT-CyVoUArW.js} +1 -1
- package/dist/client/assets/pieDiagram-E7YTZNPT-CyVoUArW.js.br +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-CyVoUArW.js.gz +0 -0
- package/dist/client/assets/{quadrantDiagram-AXDQQJYC-BPJtNPZr.js → quadrantDiagram-AXDQQJYC-DafLfSr2.js} +1 -1
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-DafLfSr2.js.br +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-DafLfSr2.js.gz +0 -0
- package/dist/client/assets/{railroadDiagram-O6MQD6OU-FwewCDKV.js → railroadDiagram-O6MQD6OU-6WVVp5-H.js} +1 -1
- package/dist/client/assets/railroadDiagram-O6MQD6OU-6WVVp5-H.js.br +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-6WVVp5-H.js.gz +0 -0
- package/dist/client/assets/{referenceLongPress-CDniTo9C.js → referenceLongPress-B7dOeBNb.js} +1 -1
- package/dist/client/assets/referenceLongPress-B7dOeBNb.js.br +0 -0
- package/dist/client/assets/referenceLongPress-B7dOeBNb.js.gz +0 -0
- package/dist/client/assets/{requirementDiagram-BXWQKSXE-BHqOBKNN.js → requirementDiagram-BXWQKSXE-zcFyhnF9.js} +1 -1
- package/dist/client/assets/requirementDiagram-BXWQKSXE-zcFyhnF9.js.br +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-zcFyhnF9.js.gz +0 -0
- package/dist/client/assets/{sankeyDiagram-P5KCCOFB-BfFEuHuv.js → sankeyDiagram-P5KCCOFB-DP7EHiy7.js} +1 -1
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-DP7EHiy7.js.br +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-DP7EHiy7.js.gz +0 -0
- package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-B9H-BLuj.js → sequenceDiagram-WJ2MYXX4-BgR-5FJN.js} +1 -1
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-BgR-5FJN.js.br +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-BgR-5FJN.js.gz +0 -0
- package/dist/client/assets/{sizeCapture-INFHLROL-DxDGZRGa.js → sizeCapture-INFHLROL-C0YbFscC.js} +1 -1
- package/dist/client/assets/sizeCapture-INFHLROL-C0YbFscC.js.br +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-C0YbFscC.js.gz +0 -0
- package/dist/client/assets/{sparkles-Bt1s8fHs.js → sparkles-rFSDrf_I.js} +1 -1
- package/dist/client/assets/{stateDiagram-D77RDMKH-FJw5L6Lp.js → stateDiagram-D77RDMKH-CySYGIny.js} +1 -1
- package/dist/client/assets/stateDiagram-D77RDMKH-CySYGIny.js.br +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-CySYGIny.js.gz +0 -0
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-C71Jnb6U.js +1 -0
- package/dist/client/assets/{swimlanes-42K2YHIH-CZTRIbT8.js → swimlanes-42K2YHIH-C5UqN3hH.js} +1 -1
- package/dist/client/assets/swimlanes-42K2YHIH-C5UqN3hH.js.br +0 -0
- package/dist/client/assets/swimlanes-42K2YHIH-C5UqN3hH.js.gz +0 -0
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-C5eUZjar.js +8 -0
- package/dist/client/assets/{timeline-definition-24CTP7MA-D49p4VJH.js → timeline-definition-24CTP7MA-BGOciDkc.js} +1 -1
- package/dist/client/assets/timeline-definition-24CTP7MA-BGOciDkc.js.br +0 -0
- package/dist/client/assets/timeline-definition-24CTP7MA-BGOciDkc.js.gz +0 -0
- package/dist/client/assets/{triangle-alert-DGiCuAca.js → triangle-alert-CEW-dYfR.js} +1 -1
- package/dist/client/assets/{vennDiagram-4TSXK5OY-BMFKlrdV.js → vennDiagram-4TSXK5OY-CDlohyt_.js} +1 -1
- package/dist/client/assets/{vennDiagram-4TSXK5OY-BMFKlrdV.js.br → vennDiagram-4TSXK5OY-CDlohyt_.js.br} +0 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-CDlohyt_.js.gz +0 -0
- package/dist/client/assets/{videoCompression-Dqmc1CES.js → videoCompression-hU6j0_Jf.js} +1 -1
- package/dist/client/assets/videoCompression-hU6j0_Jf.js.br +0 -0
- package/dist/client/assets/videoCompression-hU6j0_Jf.js.gz +0 -0
- package/dist/client/assets/{wardleyDiagram-VM6X3IG4-BVz62_bo.js → wardleyDiagram-VM6X3IG4-D-yg9nFw.js} +1 -1
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-D-yg9nFw.js.br +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-D-yg9nFw.js.gz +0 -0
- package/dist/client/assets/{xychartDiagram-S5SC5T6Z-U-2Pt2uJ.js → xychartDiagram-S5SC5T6Z-DabOIbyK.js} +1 -1
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-DabOIbyK.js.br +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-DabOIbyK.js.gz +0 -0
- package/dist/client/index.html +1 -1
- 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/package.json +1 -1
- package/runtime-manifest.json +2 -2
- package/dist/client/assets/App-DO9hNWfr.js.br +0 -0
- package/dist/client/assets/App-DO9hNWfr.js.gz +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-DME2doq6.js.br +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-DME2doq6.js.gz +0 -0
- package/dist/client/assets/DagPlayground-BjQZWBv8.js.br +0 -0
- package/dist/client/assets/DagPlayground-BjQZWBv8.js.gz +0 -0
- package/dist/client/assets/DiffLab-CGuxs_3I.js.br +0 -0
- package/dist/client/assets/DiffLab-CGuxs_3I.js.gz +0 -0
- package/dist/client/assets/DiffReview-DNZwLnGu.js.br +0 -0
- package/dist/client/assets/DiffReviewLab-CMQZtlZe.js.br +0 -0
- package/dist/client/assets/DiffReviewLab-CMQZtlZe.js.gz +0 -0
- package/dist/client/assets/DiffViewer-Fn5aSy5i.js.br +0 -0
- package/dist/client/assets/DiffViewer-Fn5aSy5i.js.gz +0 -0
- package/dist/client/assets/ModelPreview-BcG4qIOX.js.br +0 -0
- package/dist/client/assets/RightSidebar-BcLxXe2i.js.br +0 -0
- package/dist/client/assets/RightSidebar-BcLxXe2i.js.gz +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-BnEXkfWX.js.br +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-BnEXkfWX.js.gz +0 -0
- package/dist/client/assets/app-BBaOClN_.js.br +0 -0
- package/dist/client/assets/app-BBaOClN_.js.gz +0 -0
- package/dist/client/assets/arc-DQlpzsxW.js.br +0 -0
- package/dist/client/assets/arc-DQlpzsxW.js.gz +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-ChZ0jJsW.js.br +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-ChZ0jJsW.js.gz +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-BsftKvs5.js.br +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-BsftKvs5.js.gz +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-DS-sa6DV.js.gz +0 -0
- package/dist/client/assets/channel-CvejKgi6.js +0 -1
- package/dist/client/assets/chunk-F27PBJKO-i0upzKtt.js.br +0 -0
- package/dist/client/assets/chunk-F27PBJKO-i0upzKtt.js.gz +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-kawD7AVB.js.br +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-kawD7AVB.js.gz +0 -0
- package/dist/client/assets/chunk-SVP7TREG-D5yBarlr.js.br +0 -0
- package/dist/client/assets/chunk-SVP7TREG-D5yBarlr.js.gz +0 -0
- package/dist/client/assets/chunk-TICWLB2K-BVrLi4qB.js.br +0 -0
- package/dist/client/assets/chunk-TICWLB2K-BVrLi4qB.js.gz +0 -0
- package/dist/client/assets/classDiagram-ZZMXUADV-CPdFhdrV.js +0 -1
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-CPdFhdrV.js +0 -1
- package/dist/client/assets/cose-bilkent-JH36ORCC-DUq27XZL.js.br +0 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-DUq27XZL.js.gz +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-36NF5Vtn.js.br +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-36NF5Vtn.js.gz +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-Bf5NCIM-.js.br +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-Bf5NCIM-.js.gz +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-DhNvsSKc.js.br +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-DhNvsSKc.js.gz +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-CO4HzscH.js.br +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-CO4HzscH.js.gz +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-2qQ6_uCC.js.br +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-2qQ6_uCC.js.gz +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-DcQo0HLW.js.br +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-DcQo0HLW.js.gz +0 -0
- package/dist/client/assets/diagram-VX7I27RA-ih-Z4vj0.js.br +0 -0
- package/dist/client/assets/diagram-VX7I27RA-ih-Z4vj0.js.gz +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-BTHDFyKz.js.br +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-BTHDFyKz.js.gz +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-QBmMW3SL.js.br +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-QBmMW3SL.js.gz +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-BeXwLYvX.js.br +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-BeXwLYvX.js.gz +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-BTlp7zXk.js.br +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-BTlp7zXk.js.gz +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-D_VLsu_f.js.br +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-D_VLsu_f.js.gz +0 -0
- package/dist/client/assets/gestureArbiter-CvDpkY8G.js.br +0 -0
- package/dist/client/assets/gestureArbiter-CvDpkY8G.js.gz +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-Cmzv6LTD.js.br +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-Cmzv6LTD.js.gz +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-4JJmT76_.js.br +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-4JJmT76_.js.gz +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-DpBd1_Uo.js.br +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-DpBd1_Uo.js.gz +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-D2TRb6Ue.js.br +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-D2TRb6Ue.js.gz +0 -0
- package/dist/client/assets/layout-Xl-7PjK-.js.br +0 -0
- package/dist/client/assets/layout-Xl-7PjK-.js.gz +0 -0
- package/dist/client/assets/linear-NTXOcSx7.js.br +0 -0
- package/dist/client/assets/linear-NTXOcSx7.js.gz +0 -0
- package/dist/client/assets/mermaid.core-CF2hoohj.js.br +0 -0
- package/dist/client/assets/mermaid.core-CF2hoohj.js.gz +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-Cm3vd3oy.js.br +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-Cm3vd3oy.js.gz +0 -0
- package/dist/client/assets/passwordBootstrap-CMcT-qHV.js.br +0 -0
- package/dist/client/assets/passwordBootstrap-CMcT-qHV.js.gz +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-Bvp5sY2G.js.br +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-Bvp5sY2G.js.gz +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-a2Aj4vAu.js.br +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-a2Aj4vAu.js.gz +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-BPJtNPZr.js.br +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-BPJtNPZr.js.gz +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-FwewCDKV.js.br +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-FwewCDKV.js.gz +0 -0
- package/dist/client/assets/referenceLongPress-CDniTo9C.js.br +0 -0
- package/dist/client/assets/referenceLongPress-CDniTo9C.js.gz +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-BHqOBKNN.js.br +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-BHqOBKNN.js.gz +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-BfFEuHuv.js.br +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-BfFEuHuv.js.gz +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-B9H-BLuj.js.br +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-B9H-BLuj.js.gz +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-DxDGZRGa.js.br +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-DxDGZRGa.js.gz +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-FJw5L6Lp.js.br +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-FJw5L6Lp.js.gz +0 -0
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-C1GBwAky.js +0 -1
- package/dist/client/assets/swimlanes-42K2YHIH-CZTRIbT8.js.br +0 -0
- package/dist/client/assets/swimlanes-42K2YHIH-CZTRIbT8.js.gz +0 -0
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-2QpUvLqb.js +0 -8
- package/dist/client/assets/timeline-definition-24CTP7MA-D49p4VJH.js.br +0 -0
- package/dist/client/assets/timeline-definition-24CTP7MA-D49p4VJH.js.gz +0 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-BMFKlrdV.js.gz +0 -0
- package/dist/client/assets/videoCompression-Dqmc1CES.js.br +0 -0
- package/dist/client/assets/videoCompression-Dqmc1CES.js.gz +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-BVz62_bo.js.br +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-BVz62_bo.js.gz +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-U-2Pt2uJ.js.br +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-U-2Pt2uJ.js.gz +0 -0
|
Binary file
|
|
Binary file
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ModelPreview-
|
|
2
|
-
import{a7 as or,cS as kt,bk as t,g as po,d0 as Lt,bD as ht,a as Ys,aS as Cu,C as go,c as Xs,X as Yt,cP as lo,b8 as fm,H as Ts,aq as hm,cW as Y,bc as mm,be as wl,bf as pm,bg as Nu,bd as Is,aD as gm,E as bm,j as xm,bb as vm,bF as wm,bH as ym,bI as km,b3 as Sm,bG as Rd,G as Ct,f as jm,L as wt,i as $i,y as Rm,b as Cm,cR as Li,b2 as Cd,az as Nd,av as Nm,aH as Ai,aI as Ed,d1 as Gs,am as Ds,aJ as Em,cQ as Ya,bw as Mm,cB as Md,aB as $m,cN as Lm,c8 as Am,aM as Pm,U as $d,R as Tm,aw as Ld,aA as Im,aF as Ad,ca as Dm,u as Pd,n as Td,z as Eu,ah as Fm,_ as Js,c1 as _m,c_ as Bm,br as Om,d as Hs,l as Um,ak as Hm}from"./app-BBaOClN_.js";import{b as a,r as Fr}from"./dnd-BCFAPC0L.js";import{q as Mu,k as zm,r as Id,v as co,g as Wm,V as Gm,P as Km,o as qm,i as Vm,M as Ym,R as uo,w as $u,x as Xm,S as ss,D as Jm,e as Lu,c as Qm,N as Au,A as Pi,J as Zm,E as En,y as ep,z as tp,I as rp,K as np,B as Dd,O as Fd,T as _d,H as Bd,f as Od,n as Ti,m as Xa,d as sp,s as ap,l as op,h as ip,t as lp,F as Ud,C as cp,a as dp,G as up}from"./App-DO9hNWfr.js";import{a as Hd,S as zd,b as Pu,c as Zi,F as fp}from"./gestureArbiter-CvDpkY8G.js";import{D as el,C as Ks,L as Tu,f as hp,n as mp}from"./DiffReview-DNZwLnGu.js";import{T as pp,L as bo,M as Iu,G as vr}from"./triangle-alert-DGiCuAca.js";import{S as Qs}from"./sparkles-Bt1s8fHs.js";import{C as Du,M as Fu}from"./ChangeWalkthroughPanel-DME2doq6.js";import{r as _u,s as Bu,l as Ou,a as Wd,h as tl,u as gp,g as rl,b as Uu}from"./DiffViewer-Fn5aSy5i.js";import{u as Hu,G as zu}from"./referenceLongPress-CDniTo9C.js";const bp=[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]],xp=or("archive",bp);const vp=[["path",{d:"m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16",key:"d5nyq2"}],["path",{d:"M22 9v7",key:"pvm9v3"}],["path",{d:"M3.304 13h6.392",key:"1q3zxz"}],["circle",{cx:"18.5",cy:"12.5",r:"3.5",key:"z97x68"}]],wp=or("case-sensitive",vp);const yp=[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],kp=or("eye-off",yp);const Sp=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],nl=or("eye",Sp);const jp=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],sl=or("file-text",jp);const Rp=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],Cp=or("funnel",Rp);const Np=[["path",{d:"M16 5h6",key:"1vod17"}],["path",{d:"M19 2v6",key:"4bpg5p"}],["path",{d:"M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5",key:"1ue2ih"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}]],Ep=or("image-plus",Np);const Mp=[["path",{d:"M17 3v10",key:"15fgeh"}],["path",{d:"m12.67 5.5 8.66 5",key:"1gpheq"}],["path",{d:"m12.67 10.5 8.66-5",key:"1dkfa6"}],["path",{d:"M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z",key:"swwfx4"}]],$p=or("regex",Mp);const Lp=[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}]],Ap=or("scan",Lp);const Pp=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],Tp=or("upload",Pp);const Ip=[["circle",{cx:"7",cy:"12",r:"3",key:"12clwm"}],["path",{d:"M10 9v6",key:"17i7lo"}],["circle",{cx:"17",cy:"12",r:"3",key:"gl7c2s"}],["path",{d:"M14 7v8",key:"dl84cr"}],["path",{d:"M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1",key:"lt2kga"}]],Dp=or("whole-word",Ip);function Gd({children:r,actions:n}){const{t:s}=kt(),[l,f]=a.useState(!1),d=a.useId(),h=a.useRef(null),g=a.useRef(null),p=()=>{f(!1),h.current?.focus({preventScroll:!0})};return a.useLayoutEffect(()=>{if(!l)return;const m=h.current,u=g.current;if(!m||!u)return;const k=window.visualViewport,b=()=>{const A=m.getBoundingClientRect(),F=(k?.offsetLeft??0)+8,B=(k?.offsetTop??0)+8,_=Math.max(0,(k?.width??window.innerWidth)-16),C=B+(k?.height??window.innerHeight)-16,N=Math.min(240,_),T=Math.max(0,A.top-B-6),U=Math.max(0,C-A.bottom-6),P=u.scrollHeight>U&&T>U;Object.assign(u.style,{width:`${N}px`,left:`${Math.max(F,Math.min(A.right-N,F+_-N))}px`,top:`${P?A.top-6:A.bottom+6}px`,maxHeight:`${P?T:U}px`,transform:P?"translateY(-100%)":"none"})};b();const E=typeof ResizeObserver>"u"?null:new ResizeObserver(b);return E?.observe(m),E?.observe(u),window.addEventListener("resize",b),window.addEventListener("scroll",b,!0),k?.addEventListener("resize",b),k?.addEventListener("scroll",b),()=>{E?.disconnect(),window.removeEventListener("resize",b),window.removeEventListener("scroll",b,!0),k?.removeEventListener("resize",b),k?.removeEventListener("scroll",b)}},[l]),a.useEffect(()=>{if(!l)return;g.current?.querySelector("button:not(:disabled)")?.focus({preventScroll:!0});const m=u=>{u.target instanceof Node&&!h.current?.contains(u.target)&&!g.current?.contains(u.target)&&f(!1)};return document.addEventListener("pointerdown",m),()=>document.removeEventListener("pointerdown",m)},[l]),t.jsxs("div",{className:"mt-2",children:[t.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-1.5",children:[r,t.jsxs("button",{ref:h,type:"button","aria-haspopup":"menu","aria-expanded":l,"aria-controls":l?d:void 0,onClick:()=>f(m=>!m),onKeyDown:m=>{(m.key==="ArrowDown"||m.key==="ArrowUp")&&(m.preventDefault(),f(!0))},className:`ml-auto inline-flex h-8 shrink-0 items-center gap-1.5 whitespace-nowrap rounded-md px-2 text-[11px] font-medium transition focus-visible:outline focus-visible:outline-2 focus-visible:outline-primary ${l?"bg-surface-2 text-foreground":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,children:[t.jsx(po,{size:14}),s("sidebar.moreActions")]})]}),typeof document<"u"&&Fr.createPortal(t.jsx("div",{ref:g,id:d,hidden:!l,role:"menu","data-sidebar-gesture-ignore":!0,"aria-label":s("sidebar.moreActions"),className:"fixed z-menu-panel overflow-y-auto overscroll-contain rounded-lg border border-border/30 bg-surface p-1 shadow-[0_8px_24px_var(--app-shadow-soft)]",onKeyDown:m=>{if(!m.currentTarget.contains(m.target))return;const u=[...m.currentTarget.querySelectorAll("button:not(:disabled)")],k=u.indexOf(document.activeElement);let b;if(m.key==="Escape"){m.preventDefault(),m.stopPropagation(),p();return}if(m.key==="Tab"){p();return}if(m.key==="ArrowDown")b=(k+1)%u.length;else if(m.key==="ArrowUp")b=(k-1+u.length)%u.length;else if(m.key==="Home")b=0;else if(m.key==="End")b=u.length-1;else return;m.preventDefault(),u[b]?.focus({preventScroll:!0})},children:n(p)}),document.body)]})}const Ii="a[href],button,input,select,textarea,[tabindex],[contenteditable],iframe,summary,audio[controls],video[controls]",Ja=a.memo(function({active:n,mounted:s=!0,fallback:l=null,children:f}){const d=a.useRef(null);return a.useLayoutEffect(()=>{const h=d.current;if(!h||n)return;const g=new Map,p=k=>{g.has(k)||(g.set(k,k.inert),k.inert=!0)},m=k=>{k instanceof HTMLElement&&k.matches(Ii)&&p(k),k.querySelectorAll(Ii).forEach(p)};m(h);const u=new MutationObserver(k=>{for(const b of k)b.type==="attributes"?b.target instanceof HTMLElement&&b.target.matches(Ii)&&p(b.target):b.addedNodes.forEach(E=>{E instanceof Element&&m(E)})});return u.observe(h,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["tabindex","href","contenteditable","controls"]}),()=>{u.disconnect();for(const[k,b]of g)k.inert=b}},[n,s]),t.jsx("div",{ref:d,className:"absolute inset-0 min-h-0 overflow-hidden bg-surface text-foreground",style:n?void 0:{clipPath:"inset(100%)"},"aria-hidden":!n,children:s?typeof f=="function"?f():f:l})},(r,n)=>!r.active&&!n.active&&r.mounted===n.mounted);async function Fp(r){let n;try{await Promise.race([r(),new Promise(s=>{n=setTimeout(s,3e3)})])}catch{}finally{clearTimeout(n)}}function _p({active:r,rootPath:n,loading:s,delay:l,lastStartedRoot:f,load:d}){a.useEffect(()=>{if(!r||!n||s||f.current===n)return;const h=window.setTimeout(()=>{f.current=n,d(n)},l);return()=>window.clearTimeout(h)},[r,n,s,l,f,d])}function Bp(r,n,s){try{const l=r instanceof HTMLImageElement?r.naturalWidth:r.width,f=r instanceof HTMLImageElement?r.naturalHeight:r.height;if(!l||!f)return Promise.resolve(null);const d=r instanceof HTMLImageElement?1400/Math.max(l,f):Math.min(1,1400/Math.max(l,f)),h=document.createElement("canvas");h.width=Math.max(1,Math.round(l*d)),h.height=Math.max(1,Math.round(f*d));const g=h.getContext("2d");if(!g)return Promise.resolve(null);const p=getComputedStyle(document.documentElement);if(g.fillStyle=p.getPropertyValue("--surface").trim()||"white",g.fillRect(0,0,h.width,h.height),g.drawImage(r,0,0,h.width,h.height),s){const m=Math.max(10,Math.min(16,h.width/35));g.font=`${m}px sans-serif`;const u=[];let k="";for(const b of s.split(" "))k&&g.measureText(`${k} ${b}`).width>h.width-20?(u.push(k),k=b):k=k?`${k} ${b}`:b;k&&u.push(k),g.fillStyle=p.getPropertyValue("--surface").trim()||"white",g.fillRect(0,0,h.width,u.length*(m+4)+12),g.fillStyle=p.getPropertyValue("--foreground").trim()||"black",u.forEach((b,E)=>g.fillText(b,10,8+m+E*(m+4)))}if(n){const m=n.xPercent*h.width/100,u=n.yPercent*h.height/100,k=Math.max(4,Math.min(12,Math.min(h.width,h.height)*.015)),b=k*1.6;g.strokeStyle=p.getPropertyValue("--primary").trim()||"black",g.lineWidth=Math.max(1,k/3),g.beginPath(),g.arc(m,u,k,0,Math.PI*2),g.stroke(),g.beginPath(),g.moveTo(m-b,u),g.lineTo(m+b,u),g.moveTo(m,u-b),g.lineTo(m,u+b),g.stroke()}return new Promise(m=>h.toBlob(m,"image/png"))}catch{return Promise.resolve(null)}}function Op(r,n,s,l){return[r.trim(),n.trim(),l?`截图:${l}`:""].filter(Boolean).join(`
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ModelPreview-grokLRQl.js","assets/app-WrWkLxV3.js","assets/react-XDCjal2T.js","assets/dnd-BCFAPC0L.js","assets/terminal-C7X98Amf.js","assets/index-DUCUcxTy.css","assets/App-BRfw5oCQ.js","assets/gestureArbiter-BBL6vZuq.js","assets/gestureArbiter-C2J0D0kV.css","assets/triangle-alert-CEW-dYfR.js","assets/referenceLongPress-B7dOeBNb.js","assets/DiffReview-BSBMoPxt.js","assets/sparkles-rFSDrf_I.js","assets/DiffViewer-VYM2HODg.js","assets/DiffViewer-T3uj2-aP.css","assets/ChangeWalkthroughPanel-DUFzetwT.js","assets/katex-55ZPZeOF.css","assets/mermaid.core-CdLYagbK.js","assets/purify.es-4eNOHKSq.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{a7 as or,cS as kt,bk as t,g as po,d0 as Lt,bD as ht,a as Ys,aS as Cu,C as go,c as Xs,X as Yt,cP as lo,b8 as fm,H as Ts,aq as hm,cW as Y,bc as mm,be as wl,bf as pm,bg as Nu,bd as Is,aD as gm,E as bm,j as xm,bb as vm,bF as wm,bH as ym,bI as km,b3 as Sm,bG as Rd,G as Ct,f as jm,L as wt,i as $i,y as Rm,b as Cm,cR as Li,b2 as Cd,az as Nd,av as Nm,aH as Ai,aI as Ed,d1 as Gs,am as Ds,aJ as Em,cQ as Ya,bw as Mm,cB as Md,aB as $m,cN as Lm,c8 as Am,aM as Pm,U as $d,R as Tm,aw as Ld,aA as Im,aF as Ad,ca as Dm,u as Pd,n as Td,z as Eu,ah as Fm,_ as Js,c1 as _m,c_ as Bm,br as Om,d as Hs,l as Um,ak as Hm}from"./app-WrWkLxV3.js";import{b as a,r as Fr}from"./dnd-BCFAPC0L.js";import{q as Mu,k as zm,r as Id,v as co,g as Wm,V as Gm,P as Km,o as qm,i as Vm,M as Ym,R as uo,w as $u,x as Xm,S as ss,D as Jm,e as Lu,c as Qm,N as Au,A as Pi,J as Zm,E as En,y as ep,z as tp,I as rp,K as np,B as Dd,O as Fd,T as _d,H as Bd,f as Od,n as Ti,m as Xa,d as sp,s as ap,l as op,h as ip,t as lp,F as Ud,C as cp,a as dp,G as up}from"./App-BRfw5oCQ.js";import{a as Hd,S as zd,b as Pu,c as Zi,F as fp}from"./gestureArbiter-BBL6vZuq.js";import{D as el,C as Ks,L as Tu,f as hp,n as mp}from"./DiffReview-BSBMoPxt.js";import{T as pp,L as bo,M as Iu,G as vr}from"./triangle-alert-CEW-dYfR.js";import{S as Qs}from"./sparkles-rFSDrf_I.js";import{C as Du,M as Fu}from"./ChangeWalkthroughPanel-DUFzetwT.js";import{r as _u,s as Bu,l as Ou,a as Wd,h as tl,u as gp,g as rl,b as Uu}from"./DiffViewer-VYM2HODg.js";import{u as Hu,G as zu}from"./referenceLongPress-B7dOeBNb.js";const bp=[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]],xp=or("archive",bp);const vp=[["path",{d:"m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16",key:"d5nyq2"}],["path",{d:"M22 9v7",key:"pvm9v3"}],["path",{d:"M3.304 13h6.392",key:"1q3zxz"}],["circle",{cx:"18.5",cy:"12.5",r:"3.5",key:"z97x68"}]],wp=or("case-sensitive",vp);const yp=[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],kp=or("eye-off",yp);const Sp=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],nl=or("eye",Sp);const jp=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],sl=or("file-text",jp);const Rp=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],Cp=or("funnel",Rp);const Np=[["path",{d:"M16 5h6",key:"1vod17"}],["path",{d:"M19 2v6",key:"4bpg5p"}],["path",{d:"M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5",key:"1ue2ih"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}]],Ep=or("image-plus",Np);const Mp=[["path",{d:"M17 3v10",key:"15fgeh"}],["path",{d:"m12.67 5.5 8.66 5",key:"1gpheq"}],["path",{d:"m12.67 10.5 8.66-5",key:"1dkfa6"}],["path",{d:"M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z",key:"swwfx4"}]],$p=or("regex",Mp);const Lp=[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}]],Ap=or("scan",Lp);const Pp=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],Tp=or("upload",Pp);const Ip=[["circle",{cx:"7",cy:"12",r:"3",key:"12clwm"}],["path",{d:"M10 9v6",key:"17i7lo"}],["circle",{cx:"17",cy:"12",r:"3",key:"gl7c2s"}],["path",{d:"M14 7v8",key:"dl84cr"}],["path",{d:"M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1",key:"lt2kga"}]],Dp=or("whole-word",Ip);function Gd({children:r,actions:n}){const{t:s}=kt(),[l,f]=a.useState(!1),d=a.useId(),h=a.useRef(null),g=a.useRef(null),p=()=>{f(!1),h.current?.focus({preventScroll:!0})};return a.useLayoutEffect(()=>{if(!l)return;const m=h.current,u=g.current;if(!m||!u)return;const k=window.visualViewport,b=()=>{const A=m.getBoundingClientRect(),F=(k?.offsetLeft??0)+8,B=(k?.offsetTop??0)+8,_=Math.max(0,(k?.width??window.innerWidth)-16),C=B+(k?.height??window.innerHeight)-16,N=Math.min(240,_),T=Math.max(0,A.top-B-6),U=Math.max(0,C-A.bottom-6),P=u.scrollHeight>U&&T>U;Object.assign(u.style,{width:`${N}px`,left:`${Math.max(F,Math.min(A.right-N,F+_-N))}px`,top:`${P?A.top-6:A.bottom+6}px`,maxHeight:`${P?T:U}px`,transform:P?"translateY(-100%)":"none"})};b();const E=typeof ResizeObserver>"u"?null:new ResizeObserver(b);return E?.observe(m),E?.observe(u),window.addEventListener("resize",b),window.addEventListener("scroll",b,!0),k?.addEventListener("resize",b),k?.addEventListener("scroll",b),()=>{E?.disconnect(),window.removeEventListener("resize",b),window.removeEventListener("scroll",b,!0),k?.removeEventListener("resize",b),k?.removeEventListener("scroll",b)}},[l]),a.useEffect(()=>{if(!l)return;g.current?.querySelector("button:not(:disabled)")?.focus({preventScroll:!0});const m=u=>{u.target instanceof Node&&!h.current?.contains(u.target)&&!g.current?.contains(u.target)&&f(!1)};return document.addEventListener("pointerdown",m),()=>document.removeEventListener("pointerdown",m)},[l]),t.jsxs("div",{className:"mt-2",children:[t.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-1.5",children:[r,t.jsxs("button",{ref:h,type:"button","aria-haspopup":"menu","aria-expanded":l,"aria-controls":l?d:void 0,onClick:()=>f(m=>!m),onKeyDown:m=>{(m.key==="ArrowDown"||m.key==="ArrowUp")&&(m.preventDefault(),f(!0))},className:`ml-auto inline-flex h-8 shrink-0 items-center gap-1.5 whitespace-nowrap rounded-md px-2 text-[11px] font-medium transition focus-visible:outline focus-visible:outline-2 focus-visible:outline-primary ${l?"bg-surface-2 text-foreground":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,children:[t.jsx(po,{size:14}),s("sidebar.moreActions")]})]}),typeof document<"u"&&Fr.createPortal(t.jsx("div",{ref:g,id:d,hidden:!l,role:"menu","data-sidebar-gesture-ignore":!0,"aria-label":s("sidebar.moreActions"),className:"fixed z-menu-panel overflow-y-auto overscroll-contain rounded-lg border border-border/30 bg-surface p-1 shadow-[0_8px_24px_var(--app-shadow-soft)]",onKeyDown:m=>{if(!m.currentTarget.contains(m.target))return;const u=[...m.currentTarget.querySelectorAll("button:not(:disabled)")],k=u.indexOf(document.activeElement);let b;if(m.key==="Escape"){m.preventDefault(),m.stopPropagation(),p();return}if(m.key==="Tab"){p();return}if(m.key==="ArrowDown")b=(k+1)%u.length;else if(m.key==="ArrowUp")b=(k-1+u.length)%u.length;else if(m.key==="Home")b=0;else if(m.key==="End")b=u.length-1;else return;m.preventDefault(),u[b]?.focus({preventScroll:!0})},children:n(p)}),document.body)]})}const Ii="a[href],button,input,select,textarea,[tabindex],[contenteditable],iframe,summary,audio[controls],video[controls]",Ja=a.memo(function({active:n,mounted:s=!0,fallback:l=null,children:f}){const d=a.useRef(null);return a.useLayoutEffect(()=>{const h=d.current;if(!h||n)return;const g=new Map,p=k=>{g.has(k)||(g.set(k,k.inert),k.inert=!0)},m=k=>{k instanceof HTMLElement&&k.matches(Ii)&&p(k),k.querySelectorAll(Ii).forEach(p)};m(h);const u=new MutationObserver(k=>{for(const b of k)b.type==="attributes"?b.target instanceof HTMLElement&&b.target.matches(Ii)&&p(b.target):b.addedNodes.forEach(E=>{E instanceof Element&&m(E)})});return u.observe(h,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["tabindex","href","contenteditable","controls"]}),()=>{u.disconnect();for(const[k,b]of g)k.inert=b}},[n,s]),t.jsx("div",{ref:d,className:"absolute inset-0 min-h-0 overflow-hidden bg-surface text-foreground",style:n?void 0:{clipPath:"inset(100%)"},"aria-hidden":!n,children:s?typeof f=="function"?f():f:l})},(r,n)=>!r.active&&!n.active&&r.mounted===n.mounted);async function Fp(r){let n;try{await Promise.race([r(),new Promise(s=>{n=setTimeout(s,3e3)})])}catch{}finally{clearTimeout(n)}}function _p({active:r,rootPath:n,loading:s,delay:l,lastStartedRoot:f,load:d}){a.useEffect(()=>{if(!r||!n||s||f.current===n)return;const h=window.setTimeout(()=>{f.current=n,d(n)},l);return()=>window.clearTimeout(h)},[r,n,s,l,f,d])}function Bp(r,n,s){try{const l=r instanceof HTMLImageElement?r.naturalWidth:r.width,f=r instanceof HTMLImageElement?r.naturalHeight:r.height;if(!l||!f)return Promise.resolve(null);const d=r instanceof HTMLImageElement?1400/Math.max(l,f):Math.min(1,1400/Math.max(l,f)),h=document.createElement("canvas");h.width=Math.max(1,Math.round(l*d)),h.height=Math.max(1,Math.round(f*d));const g=h.getContext("2d");if(!g)return Promise.resolve(null);const p=getComputedStyle(document.documentElement);if(g.fillStyle=p.getPropertyValue("--surface").trim()||"white",g.fillRect(0,0,h.width,h.height),g.drawImage(r,0,0,h.width,h.height),s){const m=Math.max(10,Math.min(16,h.width/35));g.font=`${m}px sans-serif`;const u=[];let k="";for(const b of s.split(" "))k&&g.measureText(`${k} ${b}`).width>h.width-20?(u.push(k),k=b):k=k?`${k} ${b}`:b;k&&u.push(k),g.fillStyle=p.getPropertyValue("--surface").trim()||"white",g.fillRect(0,0,h.width,u.length*(m+4)+12),g.fillStyle=p.getPropertyValue("--foreground").trim()||"black",u.forEach((b,E)=>g.fillText(b,10,8+m+E*(m+4)))}if(n){const m=n.xPercent*h.width/100,u=n.yPercent*h.height/100,k=Math.max(4,Math.min(12,Math.min(h.width,h.height)*.015)),b=k*1.6;g.strokeStyle=p.getPropertyValue("--primary").trim()||"black",g.lineWidth=Math.max(1,k/3),g.beginPath(),g.arc(m,u,k,0,Math.PI*2),g.stroke(),g.beginPath(),g.moveTo(m-b,u),g.lineTo(m+b,u),g.moveTo(m,u-b),g.lineTo(m,u+b),g.stroke()}return new Promise(m=>h.toBlob(m,"image/png"))}catch{return Promise.resolve(null)}}function Op(r,n,s,l){return[r.trim(),n.trim(),l?`截图:${l}`:""].filter(Boolean).join(`
|
|
3
3
|
`)}function _x(r,n,s){const l=n*Math.PI/360,f=Math.min(l,Math.atan(Math.tan(l)*Math.max(s,.05)));return Math.max(r,1e-6)/Math.sin(f)*1.15}async function Up(r,n,s,l){if(!s?.snapshot){l.isCurrent()&&l.insert(r,n);return}const f=new Date().toISOString(),d=new AbortController;let h,g;try{g=await Promise.race([(async()=>{const p=await s.snapshot;if(!(!p||d.signal.aborted||!l.isCurrent()))return l.upload(new File([p],`termdock-review-${crypto.randomUUID()}.png`,{type:"image/png"}),d.signal)})(),new Promise(p=>{h=setTimeout(()=>{d.abort(),p(void 0)},3e3)})])}catch{}finally{clearTimeout(h),d.abort()}l.isCurrent()&&l.insert(g?Op(r,"",f,g):r,n)}function Hp(r,n){return r===n||n.endsWith(`/${r}`)||r.endsWith(`/${n}`)}function Kd(r,n){return`${r??""}\0${n}`}function zp(r,n,s){if(!r||r.length===0||!s)return{explained:0,stale:0};const l=Kd(n,s);let f=0,d=0;for(const h of r){const g=[h.filePath,h.newPath,h.oldPath].filter(m=>typeof m=="string"&&m.length>0);(g.some(m=>Kd(h.repoRoot,m)===l)||g.some(m=>Hp(m,s)))&&(f+=1)}return{explained:f,stale:d}}function Wp({status:r}){if(!r)return null;const n=r.stale>0&&r.explained===0;if(!(r.explained>0||r.stale>0))return null;const l=n?"AI audit explanation is stale":"AI audit explanation available";return t.jsx("span",{className:`inline-flex h-4 w-4 shrink-0 items-center justify-center rounded-full ${n?"bg-[color:var(--warning)]/15 text-[color:var(--warning)]":"bg-accent/10 text-accent"}`,title:l,"aria-label":l,children:n?t.jsx(pp,{size:10}):t.jsx(Qs,{size:10})})}function al({changeStatus:r,auditStatus:n,renderChangeBadge:s}){return t.jsxs("span",{className:"inline-flex items-center gap-1",children:[s(r),t.jsx(Wp,{status:n})]})}const Wu="termdock:right-sidebar:diff-change-list-mode:v1";function Gp(r){return r==="list"||r==="tree"}function Kp(){return ht(Wu,Gp)??"tree"}function qp(r){for(const l of r){const f=l.hunk;if(f.oldPath&&f.newPath&&f.oldPath!==f.newPath)return"renamed";if(!f.oldPath&&f.newPath)return"added";if(f.oldPath&&!f.newPath)return"deleted"}const n=r.some(l=>l.hunk.additions>0),s=r.some(l=>l.hunk.deletions>0);return n&&!s?"added":!n&&s?"deleted":"modified"}function Vp(r){const n=new Map;for(const l of r){const f=n.get(l.hunk.filePath)??{key:l.hunk.filePath,filePath:l.hunk.filePath,items:[],additions:0,deletions:0,explained:0,stale:0,changeType:"modified"};f.items.push(l),f.additions+=l.hunk.additions,f.deletions+=l.hunk.deletions,l.current&&(f.explained+=1),l.stale&&(f.stale+=1),n.set(l.hunk.filePath,f)}const s=Array.from(n.values()).sort((l,f)=>l.filePath.localeCompare(f.filePath));for(const l of s)l.changeType=qp(l.items);return s}function Yp(r){const n=r.filePath.split("/").pop()??r.filePath;return{key:r.key,path:r.filePath,displayName:n,displayDir:r.filePath.includes("/")?r.filePath.slice(0,-n.length-1):"",status:r.changeType,title:r.filePath}}function Xp(r,n){const s=r.filter(d=>d.trim().length>0);if(s.length<=1)return s[0]??"";const l=[],f=new Set;for(const[d,h]of s.entries()){const g=h.split(`
|
|
4
4
|
`),p=g.findIndex(k=>k.startsWith("@@ "));if(p<0){l.push(...g);continue}d===0&&l.push(...g.slice(0,p));const m=n[d];let u=p;for(;u>=0&&u<g.length;){const k=g.findIndex((_,C)=>C>u&&_.startsWith("@@ ")),b=k>=0?k:g.length,E=g.slice(u,b),A=E[0]??"",F=m?A===m:!0,B=A||m||E.join(`
|
|
5
5
|
`);F&&!f.has(B)&&(l.push(...E),f.add(B)),u=k}}return l.join(`
|
|
@@ -1635,12 +1635,12 @@ function installPreviewRuntime(capability, base, externalOrigins, shimUrl) {
|
|
|
1635
1635
|
`,eo="/api/terminal/fs/preview/",Bg=8*1024*1024,Og=32*1024*1024,Ug=128,Hg="data:,";function $t(r){throw new Error(r)}function zg(r){return JSON.stringify(r).replace(/</g,"\\u003c")}async function Qd(r,n,s){let l="",f=0;for(const d of r.matchAll(n))l+=r.slice(f,d.index)+await s(d),f=d.index+d[0].length;return l+r.slice(f)}async function Yu(r,n){const s=n.origin??location.origin,l=new URL(r,s);(l.origin!==s||!Ts(l.pathname)?.startsWith(eo))&&$t("预览地址不是有效的本地文件入口");const f=crypto.randomUUID(),d=`https://termdock-preview.invalid/${f}/`,h=[],g=W=>{!h.includes(W)&&h.length<20&&h.push(W)},p=new Set,m=[],u=new Set,k=new Map,b=new Map;let E=0,A=!1;const F=new Set,B=()=>{A=!0;for(const W of[...F])W();p.clear(),m.length=0};async function _(W){W.ok||$t(`预览资源读取失败(${W.status})`);const Z=W.body?.getReader(),L=[];let D=0;try{if(Z)for(;;){const me=await Z.read();if(me.done)break;D+=me.value.byteLength,E+=me.value.byteLength,(D>Bg||E>Og)&&$t("预览资源超出大小限制"),L.push(me.value)}}catch(me){throw await Z?.cancel().catch(()=>{}),me}finally{Z?.releaseLock()}const X=new Uint8Array(D);let ue=0;for(const me of L)X.set(me,ue),ue+=me.length;return{bytes:X,type:W.headers.get("content-type")??"application/octet-stream",status:W.status}}let C=l,N;for(let W=0;W<4;W++){const Z=await n.fetch(C.pathname+C.search,{signal:n.signal,redirect:"manual"});if(![301,302,303,307,308].includes(Z.status)){N=Z;break}const L=Z.headers.get("location");await Z.body?.cancel(),L||$t("预览重定向缺少目标");const D=new URL(L,C);(D.origin!==s||!Ts(D.pathname)?.startsWith(eo))&&$t("预览重定向越出文件范围"),C=D}N||$t("预览重定向次数过多");const T=Ts(C.pathname),U=T.slice(eo.length).split("/");/^[a-f0-9]{32}$/.test(U[0])||$t("服务未提供有效的预览资源授权");const P=Ts(l.pathname).slice(eo.length).split("/");/^[a-f0-9]{32}$/.test(P[0])&&P.shift(),P.join("/").replace(/\/$/,"")!==U.slice(1).join("/").replace(/\/$/,"")&&$t("预览重定向改变了文件范围");const y=T.endsWith("/")?T:T.slice(0,T.lastIndexOf("/")+1),o=new URL(C.pathname.endsWith("/")?C.pathname:C.pathname.slice(0,C.pathname.lastIndexOf("/")+1),s);function O(W,Z){const L=new URL(W,Z);return L.origin!==s?null:(Ts(L.pathname)?.startsWith(y)||$t("已阻止预览访问目录之外的资源"),L)}function z(W){const Z=new URL(W,d);(Z.origin!==new URL(d).origin||!Z.pathname.startsWith(new URL(d).pathname))&&$t("已阻止预览访问服务接口或目录之外的资源");const L=Z.pathname.slice(new URL(d).pathname.length)+Z.search;return O(L,o)??$t("预览资源无效")}function re(W){const Z=W.pathname+W.search,L=k.get(Z);if(L)return L;if(A||n.signal?.aborted)return Promise.reject(new Error("预览已关闭"));if(k.size>=Ug)return Promise.reject(new Error("预览资源数量超出限制"));const D=n.fetch(Z,{signal:n.signal,redirect:"manual"}).then(_);return k.set(Z,D),D}function M(W,Z){A&&$t("预览已关闭");const L=`termdock-resource-${f}-${m.length}`;return m.push({token:L,data:W,type:Z}),p.add(L),L}async function q(W,Z,L,D=new Set){if(!W||W.startsWith("#")||/^data:(?:image|font)\//i.test(W)&&L==="resource")return W;try{const X=O(W,Z);if(!X){const Ce=new URL(W,Z);return(Ce.protocol!=="https:"||Ce.username||Ce.password||Ce.origin===new URL(d).origin)&&$t("已阻止不安全的外部资源"),u.add(Ce.origin),Ce.href}const ue=`${L}:${X.href}`;(D.has(ue)||D.size>=8)&&$t("预览资源存在循环或过深引用");const me=b.get(ue);if(me)return me;const we=new Set(D);we.add(ue);const je=(async()=>{const Ce=await re(X);return L==="css"?M(await pe(new TextDecoder().decode(Ce.bytes),X,we),"text/css"):L==="script"?M(Ce.bytes,"text/javascript"):M(Ce.bytes,Ce.type)})();return b.set(ue,je),await je}catch(X){return g(X instanceof Error?X.message:"部分预览资源未能加载"),Hg}}async function pe(W,Z,L){return W=await Qd(W,/@import\s+(?:url\(\s*)?["']([^"']+)["']\s*\)?([^;]*);/gi,async D=>`@import url("${await q(D[1],Z,"css",L)}")${D[2]};`),Qd(W,/url\(\s*(?:"([^"]*)"|'([^']*)'|([^)]*))\s*\)/gi,async D=>{const X=(D[1]??D[2]??D[3]).trim();return p.has(X)?D[0]:`url("${await q(X,Z,"resource",L)}")`})}try{const W=await _(N),Z=M(Fg,"text/javascript"),L=new DOMParser().parseFromString(new TextDecoder().decode(W.bytes),"text/html");L.querySelectorAll("base,meta[http-equiv],iframe,frame,object,embed").forEach($=>$.remove());for(const $ of L.querySelectorAll("*")){if($.removeAttribute("ping"),$.removeAttribute("srcdoc"),$.hasAttribute("style")&&$.setAttribute("style",await pe($.getAttribute("style"),C,new Set)),$.tagName==="STYLE"&&($.textContent=await pe($.textContent??"",C,new Set)),$.tagName==="A"||$.tagName==="AREA"){const J=$.getAttribute("href");try{if(J&&!J.startsWith("#")){const ne=O(J,C);if(ne)$.setAttribute("href",new URL(ne.pathname.slice(o.pathname.length)+ne.search+ne.hash,d).href);else{const Le=new URL(J,C);if(Le.protocol!=="https:"){$.removeAttribute("href");continue}u.add(Le.origin),$.setAttribute("href",Le.href)}}}catch(ne){$.removeAttribute("href"),g(ne instanceof Error?ne.message:"预览链接无法加载")}}for(const J of["data","manifest"])$.removeAttribute(J);if($.tagName==="SCRIPT"&&$.getAttribute("type")==="module"){$.setAttribute("type","module-shim");const J=$.getAttribute("src");if(J){const ne=O(J,C);if(ne)$.setAttribute("src",new URL(ne.pathname.slice(o.pathname.length)+ne.search,d).href);else{const Le=new URL(J,C);if(Le.protocol!=="https:"){$.remove();continue}u.add(Le.origin),$.setAttribute("src",Le.href)}}continue}if($.tagName==="SCRIPT"&&$.getAttribute("type")==="importmap"){$.setAttribute("type","importmap-shim");continue}if($.tagName==="LINK"){const J=($.getAttribute("rel")??"").toLowerCase();if(!["stylesheet","icon"].includes(J)){$.remove();continue}const ne=$.getAttribute("href");ne&&$.setAttribute("href",await q(ne,C,J==="stylesheet"?"css":"resource"))}if($.hasAttribute("src")&&$.setAttribute("src",await q($.getAttribute("src"),C,$.tagName==="SCRIPT"?"script":"resource")),$.hasAttribute("poster")&&$.setAttribute("poster",await q($.getAttribute("poster"),C,"resource")),$.hasAttribute("srcset")){const J=$.getAttribute("srcset");/data:/i.test(J)?($.removeAttribute("srcset"),g("混合内嵌图片候选暂不支持安全预览")):$.setAttribute("srcset",(await Promise.all(J.split(",").map(async ne=>{const[Le,...Ye]=ne.trim().split(/\s+/);return`${await q(Le,C,"resource")} ${Ye.join(" ")}`}))).join(", "))}$.setAttribute("referrerpolicy","no-referrer"),$.removeAttribute("integrity"),$.removeAttribute("crossorigin")}const D=[...u].join(" "),X=L.createElement("meta");X.httpEquiv="Content-Security-Policy",X.content=`default-src 'none'; script-src 'unsafe-inline' 'wasm-unsafe-eval' blob: ${D}; style-src 'unsafe-inline' blob: ${D}; img-src blob: data: ${D}; font-src blob: data: ${D}; media-src blob: data: ${D}; connect-src blob: ${D} ${[...u].map($=>$.replace(/^https:/,"wss:")).join(" ")}; worker-src blob:; frame-src 'none'; object-src 'none'; base-uri https://termdock-preview.invalid; form-action 'none'`;const ue=L.createElement("base");ue.href=d;const me=L.createElement("meta");me.name="referrer",me.content="no-referrer";const we=L.createElement("script");we.textContent=_g+`
|
|
1636
1636
|
installPreviewRuntime(`+[f,d,[...u],Z].map(zg).join(",")+");";const je=L.createElement("script");je.src=Z,L.head.prepend(X,me,ue,we,je);const Ce=`<!doctype html>
|
|
1637
1637
|
`+L.documentElement.outerHTML;return{html:Ce,shellUrl:`/preview-shell.html#${f}`,errors:h,attach($,J){const ne=new Set,Le=De=>{if(De.source!==$.contentWindow||De.data?.capability!==f)return;if(De.data.type==="preview-ready"){$.contentWindow?.postMessage({type:"preview-init",capability:f,html:Ce,resources:m},"*");return}if(De.data.type==="preview-error"){J("部分动态内容被安全预览限制");return}if(De.data.type==="preview-navigate"){(async()=>{const _e=z(String(De.data.url)),R=await Yu(_e.pathname+_e.search,n);if(A){R.dispose();return}const se=R.attach($,J);F.add(()=>{se(),R.dispose()}),$.src=R.shellUrl.replace("#","?navigation="+crypto.randomUUID()+"#")})().catch(_e=>J(_e instanceof Error?_e.message:"无法打开预览页面"));return}if(De.data.type==="preview-external"){try{const _e=new URL(String(De.data.url));_e.protocol==="https:"&&u.has(_e.origin)&&window.open(_e.href,"_blank","noopener,noreferrer")}catch{}return}if(De.data.type!=="preview-fetch"||De.ports.length!==1)return;const rt=De.ports[0];if(ne.size>=8||!["GET","HEAD"].includes(De.data.method)){rt.postMessage({error:"预览仅允许读取已授权目录资源"}),rt.close();return}ne.add(rt),(async()=>{const _e=z(String(De.data.url)),R=await re(_e);if(!ne.has(rt)||A)return;const se=De.data.method==="HEAD"?new Uint8Array:R.bytes.slice();rt.postMessage({status:R.status,headers:{"content-type":R.type},data:se.buffer},[se.buffer])})().catch(()=>{rt.postMessage({error:"预览资源不在授权范围或无法加载"}),J("部分动态资源不可用或超出预览目录")}).finally(()=>{ne.delete(rt),rt.close()})};window.addEventListener("message",Le);const Ye=()=>{window.removeEventListener("message",Le);for(const De of ne)De.close();ne.clear(),F.delete(Ye)};return F.add(Ye),Ye},dispose:B}}catch(W){throw B(),W}}const Wg=a.forwardRef(function({src:n,title:s,exitFullscreenLabel:l,onFullscreenChange:f},d){const h=a.useRef(null),[g,p]=a.useState(null),[m,u]=a.useState(),[k,b]=a.useState("");a.useEffect(()=>{const T=new AbortController;let U;return u(void 0),b(""),(async()=>{const P=await hm();if(U=await Yu(n,{fetch:(y,o)=>P.fetch(y,o),signal:T.signal}),T.signal.aborted){U.dispose();return}u(U),U.errors.length&&b(U.errors.join(";"))})().catch(P=>{T.signal.aborted||b(P instanceof Error?P.message:"安全预览加载失败")}),()=>{T.abort(),U?.dispose()}},[n]),a.useEffect(()=>{if(!(!m||!g))return m.attach(g,b)},[m,g]);const[E,A]=a.useState(!1),[F,B]=a.useState(!1),_=E||F;a.useEffect(()=>{f?.(_)},[_,f]),a.useEffect(()=>{const T=()=>{A(document.fullscreenElement===h.current)};return document.addEventListener("fullscreenchange",T),()=>document.removeEventListener("fullscreenchange",T)},[]),a.useEffect(()=>{if(!F)return;const T=U=>{U.key==="Escape"&&B(!1)};return document.addEventListener("keydown",T),()=>document.removeEventListener("keydown",T)},[F]);const C=a.useCallback(async()=>{const T=h.current;if(T){if(F){B(!1);return}if(document.fullscreenElement===T){await document.exitFullscreen();return}if(T.requestFullscreen&&document.fullscreenEnabled!==!1)try{await T.requestFullscreen();return}catch{}B(!0)}},[F]);a.useImperativeHandle(d,()=>({toggleFullscreen:C}),[C]);const N=t.jsxs("div",{ref:h,"data-html-preview-frame":!0,className:_?"fixed inset-0 z-modal-panel flex min-h-0 flex-col overflow-hidden bg-surface pt-[env(safe-area-inset-top,0px)] text-foreground":"flex h-full min-h-0 flex-col overflow-hidden bg-surface",children:[_&&t.jsxs("div",{className:"flex h-12 shrink-0 items-center justify-between gap-3 border-b border-border/15 bg-[var(--chrome-bg)] px-3",children:[t.jsx("span",{className:"min-w-0 truncate text-[12px] font-semibold",children:s}),t.jsx("button",{type:"button",onClick:()=>{C()},"aria-label":l,title:`${l} (Esc)`,className:"inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-surface-2 text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground active:scale-95",children:t.jsx(Fu,{size:15})})]}),k&&t.jsx("div",{role:"status",className:"shrink-0 border-b border-border px-3 py-2 text-xs text-muted-foreground",children:k}),!m&&!k&&t.jsx("div",{role:"status",className:"p-3 text-xs text-muted-foreground",children:"正在安全加载预览资源…"}),t.jsx("iframe",{ref:p,src:m?.shellUrl,referrerPolicy:"no-referrer",title:s,sandbox:"allow-scripts",className:"block min-h-0 w-full flex-1 border-0 bg-white"})]});return F?Fr.createPortal(N,document.body):N}),Xu="termdock-file-search-match",ll="termdock-file-search-current";function Gg(r){const n=r.metaKey||r.ctrlKey,s=r.key.toLocaleLowerCase();return n&&s==="f"?"open":n&&s==="g"||r.key==="F3"?r.shiftKey?"previous":"next":r.key==="Escape"?"close":null}function Kg(r){return r.parentElement?.closest("[data-markdown-preview-block-start], [data-file-preview-line]")??null}function qg(r,n){const s=n.trim().toLocaleLowerCase();if(!s)return[];const l=[];let f="",d=null;const h=document.createTreeWalker(r,NodeFilter.SHOW_TEXT);for(let u=h.nextNode();u;u=h.nextNode()){if(!(u instanceof Text)||!u.data)continue;const k=Kg(u);if(!k)continue;d&&d!==k&&(f+=`
|
|
1638
|
-
`);const b=f.length;f+=u.data,l.push({node:u,start:b,end:f.length,group:k}),d=k}const g=f.toLocaleLowerCase(),p=[];let m=0;for(;m<=g.length-s.length;){const u=g.indexOf(s,m);if(u<0)break;const k=u+s.length,b=l.find(A=>A.start<=u&&A.end>u),E=l.find(A=>A.start<k&&A.end>=k);if(b&&E&&b.group===E.group){const A=document.createRange();A.setStart(b.node,u-b.start),A.setEnd(E.node,k-E.start),p.push(A)}m=u+Math.max(s.length,1)}return p}function Ju(){return typeof CSS<"u"&&CSS.highlights?CSS.highlights:null}function to(){const r=Ju();r?.delete(Xu),r?.delete(ll)}function Zd(r,n){const s=Ju();if(!s||typeof Highlight>"u")return;s.set(Xu,new Highlight(...r));const l=r[n];l?s.set(ll,new Highlight(l)):s.delete(ll)}function eu(r){r?.startContainer.parentElement?.scrollIntoView({block:"center",inline:"nearest",behavior:"smooth"})}function Vg(r){return Array.from(new Set(r.split(/[\n,]/).map(n=>n.trim().replace(/^!+/,"")).filter(Boolean))).slice(0,24)}function Yg(r,n){const s=n.trim();return!s||s==="."?r:/^(?:[/\\]|[A-Za-z]:[/\\])/.test(s)?s.replace(/[\\/]+$/,""):`${r.replace(/[\\/]+$/,"")}/${s.replace(/^\.?[\\/]+/,"").replace(/[\\/]+$/,"")}`}function Xg(r,n){if(n===r)return".";const s=`${r.replace(/[\\/]+$/,"")}/`;return n.startsWith(s)?n.slice(s.length):n}function Qu(r,n,s){return n?r:Fr.createPortal(r,s)}const yl="termdock:right-sidebar:file-tree-scroll:v1",kl="termdock:right-sidebar:file-preview-reading-state:v1",zs="termdock:right-sidebar:file-tree-width:v1",Zu="termdock:right-sidebar:markdown-view-mode:v1",ef="termdock:right-sidebar:diff-change-list-mode:v1",tf="termdock:right-sidebar:diff-wrap:v1",rf="termdock:diff-viewer:view-type:v1",nf="termdock:right-sidebar:file-search-mode:v1",_i="termdock:right-sidebar:collapsed-git-repo-groups:v1",tu="termdock:right-sidebar:collapsed-diff-directories:v1",Bi="termdock:right-sidebar:branch-audit-module-open:v1",sf="termdock:right-sidebar:branch-audit-module:v1",Jg=150,ru="termdock:right-sidebar:context-draft-enabled:v1",nu="termdock:right-sidebar:context-draft-collapsed:v1",su="termdock:right-sidebar:context-draft-auto-collapse:v1",Oi="termdock:right-sidebar:context-draft-text:v1",Qg=300,Zg=20,eb=120,tb=250,rb=250,nb=120,sb=700,Ui=600,ab=6e4;function Fs(r){return!!(r&&Y.getState().nestedGitScanRoots[r])}const au=[2e3,5e3,15e3,3e4],ob=320,ib=500,lb=20,cb=12e3,cl=300,ou=240,db=560,af="border-r px-2 py-1.5 sm:px-3 sm:py-2",xo="min-w-full max-w-[18rem] whitespace-normal break-words sm:max-w-[27rem]",of=`${af} border-b border-border/15 font-semibold last:border-r-0`,lf=`${af} border-border/10 align-top text-muted-foreground last:border-r-0`,Sl="termdock-file-preview-horizontal-scroll",iu=a.lazy(()=>Js(()=>import("./ModelPreview-BcG4qIOX.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]))),cf=`${Sl} termdock-md-table-scroll max-w-full overflow-x-auto overflow-y-hidden rounded-lg border border-border/20 bg-surface`;function df(r,n,s){return r&&!n?"unified":s}const ub=new Set([".md",".markdown",".mdown",".mkdn",".mkd"]);function fb(r){return r==="preview"||r==="source"}function hb(r){return r==="list"||r==="tree"||r==="ai"}function lu(){return ht(Zu,fb)??"preview"}function mb(){return ht(ef,hb)??"tree"}function Ws(r){return typeof r=="boolean"}function pb(r){return typeof r=="string"}function gb(){return ht(tf,Ws)??!0}function bb(r){return r==="unified"||r==="split"}function xb(){return ht(rf,bb)??"unified"}function vb(r){return r==="name"||r==="content"||r==="regex"}function wb(){return ht(nf,vb)??"name"}function uf(r){return r.repositories??(r.context?.root?[{id:r.context.root,root:r.context.root,relativeRoot:".",name:yt(r.context.root)||r.context.root,depth:0,nested:!1,available:r.available,files:r.files,context:r.context,error:r.error}]:[])}function yb(r,n){if(!n)return null;const s=new Set((r.repoFilters??[]).map(l=>l.root));return s.has(n)?n:s.size>0?null:(r.repositories??[]).some(l=>l.root===n)?n:null}function dl(r){return!r.activeGitRepoRoot&&(r.groupCount>1||r.label!==r.rootName)}function ff(...r){const n=new Set;for(const s of r)for(const l of s)n.add(l.root);return n}function ul(r){return Array.isArray(r)&&r.every(n=>typeof n=="string")}function cu(r){const n=ht(r,ul);return n?new Set(n):new Set}function Hi(r,n){Lt(r,[...n])}function kb(r){if(!r||typeof r!="object"||Array.isArray(r))return!1;const n=r;return typeof n.filePath=="string"&&typeof n.hunkHeader=="string"&&typeof n.hunkIndex=="number"&&typeof n.fingerprint=="string"&&typeof n.additions=="number"&&typeof n.deletions=="number"&&typeof n.diff=="string"&&(n.oldPath===void 0||n.oldPath===null||typeof n.oldPath=="string")&&(n.newPath===void 0||n.newPath===null||typeof n.newPath=="string")&&(n.source===void 0||n.source==="committed"||n.source==="uncommitted"||n.source==="unknown")&&(n.commit===void 0||n.commit===null||typeof n.commit=="string")}function Sb(r){if(!r||typeof r!="object"||Array.isArray(r))return!1;const n=r;return typeof n.available=="boolean"&&(n.repoRoot===void 0||typeof n.repoRoot=="string")&&(n.workspaceRoot===void 0||typeof n.workspaceRoot=="string")&&(n.baseRef===void 0||typeof n.baseRef=="string")&&(n.baseBranch===void 0||typeof n.baseBranch=="string")&&(n.currentBranch===void 0||n.currentBranch===null||typeof n.currentBranch=="string")&&(n.headRef===void 0||n.headRef===null||typeof n.headRef=="string")&&(n.diffFingerprint===void 0||typeof n.diffFingerprint=="string")&&(n.stat===void 0||typeof n.stat=="string")&&(n.files===void 0||ul(n.files))&&(n.hunks===void 0||Array.isArray(n.hunks)&&n.hunks.every(kb))&&(n.commits===void 0||ul(n.commits))&&(n.commitCount===void 0||typeof n.commitCount=="number")&&(n.diff===void 0||typeof n.diff=="string")&&(n.truncated===void 0||typeof n.truncated=="boolean")&&(n.error===void 0||typeof n.error=="string")}function jb(r){if(!r||typeof r!="object"||Array.isArray(r))return!1;const n=r;return typeof n.key=="string"&&Sb(n.diff)&&typeof n.repoLabel=="string"&&typeof n.createdAt=="number"}function Rb(r){return!r||typeof r!="object"||Array.isArray(r)?!1:Object.values(r).every(n=>{if(!n||typeof n!="object"||Array.isArray(n))return!1;const s=n;return Array.isArray(s.selectedRepoRoots)&&s.selectedRepoRoots.every(l=>typeof l=="string")&&!!s.repoTargetBranches&&typeof s.repoTargetBranches=="object"&&!Array.isArray(s.repoTargetBranches)&&Object.values(s.repoTargetBranches).every(l=>typeof l=="string")&&(s.repoBaseBranches===void 0||!!s.repoBaseBranches&&typeof s.repoBaseBranches=="object"&&!Array.isArray(s.repoBaseBranches)&&Object.values(s.repoBaseBranches).every(l=>typeof l=="string"))&&(s.previewEntries===void 0||Array.isArray(s.previewEntries)&&s.previewEntries.every(jb))&&(s.selectedPreviewKey===void 0||s.selectedPreviewKey===null||typeof s.selectedPreviewKey=="string")&&(s.selectedPreviewFileKey===void 0||s.selectedPreviewFileKey===null||typeof s.selectedPreviewFileKey=="string")&&(s.previewDetailOpen===void 0||typeof s.previewDetailOpen=="boolean")&&(s.previewScrollTops===void 0||!!s.previewScrollTops&&typeof s.previewScrollTops=="object"&&!Array.isArray(s.previewScrollTops)&&Object.values(s.previewScrollTops).every(l=>typeof l=="number"))&&(s.previewMobileSlideIndex===void 0||typeof s.previewMobileSlideIndex=="number")&&(s.repoIncludeUncommitted===void 0||!!s.repoIncludeUncommitted&&typeof s.repoIncludeUncommitted=="object"&&!Array.isArray(s.repoIncludeUncommitted)&&Object.values(s.repoIncludeUncommitted).every(l=>typeof l=="boolean"))&&(s.includeUncommitted===void 0||typeof s.includeUncommitted=="boolean")&&typeof s.updatedAt=="number"})}function du(){return ht(sf,Rb)??{}}function uu(r){return[r.repoRoot,r.baseRef,r.branchName??"",r.headRef??"",r.diffFingerprint??""].join("\0")}function fu(r){const n=r?.trim()??"",s=n.indexOf("/");return s>=0?n.slice(s+1):n}function hf(r,n){const s=r?.trim(),l=n?.trim();return!s||!l?!1:s===l||fu(s)===fu(l)}function hu(r){const n=r?.branch??null;return[r?.upstream,...r?.remoteBranches??[],...r?.branches??[]].find(l=>l&&!hf(l,n))??""}function fl(r,n){const s=Math.max(ou,n-320),l=Math.min(db,s);return Math.min(l,Math.max(ou,r))}function Cb(r){return typeof r=="number"&&Number.isFinite(r)}function Nb(r){return fl(ht(zs,Cb)??cl,r)}function mf(r){const n=r.split(/[\\/]/).pop()??r,s=n.lastIndexOf(".");return s>=0?n.slice(s).toLowerCase():""}function _s(r){return ub.has(mf(r))}function pf(r){const n=r.trim().replace(/\s+/g,"");return/^-{3,}$/.test(n)||/^\*{3,}$/.test(n)||/^_{3,}$/.test(n)}function hl(r){const n=r.trim();return/^#{1,6}\s+/.test(n)||pf(r)||/^>\s?/.test(n)||/^(```|~~~)/.test(n)||/^(?:[-+*]|\d+[.)])\s+/.test(n)}function gf(r){const n=r.trim();return/^(https?:|mailto:|#|\/|\.\/|\.\.\/)/i.test(n)||!/^[a-z][a-z0-9+.-]*:/i.test(n)&&!/[<>]/.test(n)?n:null}const bf=a.createContext(null);function ho(r){return r.trim().replace(/\s+/g," ").toLowerCase()}function xf(r){return r.replace(/!\[([^\]]*)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\[[^\]]*\]/g,"$1").replace(/[`*_~]/g,"").replace(/<[^>]+>/g,"").trim()}function vf(r){return r.replace(/\s+#+\s*$/,"").trim()}function ml(r,n){const l=xf(r).toLowerCase().replace(/[^\p{L}\p{N}\s-]/gu,"").trim().replace(/\s+/g,"-")||"section",f=n.headingSlugCounts.get(l)??0;return n.headingSlugCounts.set(l,f+1),f===0?l:`${l}-${f}`}function mu(r){return xf(r)||r.trim()}function vo(r){const n=r.match(/^\s{0,3}\[([^\]]+)\]:\s+(.+?)\s*$/);if(!n)return null;const s=gl(n[2]);return s?{id:ho(n[1]),definition:{href:s.href,title:s.title}}:null}function Eb(r){const n=new Map;for(const s of r){const l=vo(s);l&&n.set(l.id,l.definition)}return n}function wf(r){return r.trim().toLowerCase()}function yf(r){const n=r.match(/^\s{0,3}\[\^([^\]]+)\]:\s+(.+)\s*$/);return n?{id:wf(n[1]),text:n[2]}:null}function Mb(r){const n=new Map;let s=null;for(const l of r){const f=yf(l);if(f){s=f.id,n.set(f.id,{id:f.id,text:f.text,index:n.size+1});continue}if(s&&/^\s{4,}\S/.test(l)){const d=n.get(s);d&&(d.text=`${d.text} ${l.trim()}`);continue}l.trim()&&(s=null)}return n}function kf(r){const n=new Set;let s=!1;return r.forEach((l,f)=>{if(yf(l)){n.add(f),s=!0;return}if(s&&/^\s{4,}\S/.test(l)){n.add(f);return}l.trim()&&(s=!1)}),n}function $b(r){const n=[...r];let s=0;const l=r[0]?.trim();if(l==="---"||l==="+++"){for(n[0]="",s=1;s<r.length&&r[s].trim()!==l;)n[s]="",s+=1;s<r.length&&(n[s]="",s+=1)}for(;s<r.length;){const f=r[s].trim();if(f.startsWith("<!--")){if(n[s]="",!f.includes("-->")){for(s+=1;s<r.length&&!r[s].includes("-->");)n[s]="",s+=1;s<r.length&&(n[s]="")}s+=1;continue}s+=1}return n}function Sf(r){const n=r.replace(/\/+$/,""),s=n.lastIndexOf("/");return s<=0?s===0?"/":"":n.slice(0,s)}function qs(r){const n=r.split(/[?#]/,1)[0],s=n.startsWith("/"),l=[];for(const d of n.split("/"))if(!(!d||d===".")){if(d===".."){l.length>0&&l.pop();continue}l.push(d)}return`${s?"/":""}${l.join("/")}`||(s?"/":".")}function jl(r,n,s){const l=r.trim();if(!l||/^(?:https?:|mailto:|javascript:|data:)/i.test(l)||/^[a-z][a-z0-9+.-]*:/i.test(l))return null;if(l.startsWith("#")){if(!n)return null;try{return{path:n,fragment:decodeURIComponent(l.slice(1))||null,directory:!1}}catch{return null}}const f=l.indexOf("#"),d=f>=0?l.slice(0,f):l,h=f>=0?l.slice(f+1):"",g=d.split("?",1)[0];if(!g)return null;let p,m=null;try{p=decodeURIComponent(g),m=h?decodeURIComponent(h):null}catch{return null}const u=s?qs(s):null;let k;if(p.startsWith("/")){const b=u&&(p===u||p.startsWith(`${u}/`));k=qs(u&&!b?`${u}/${p.slice(1)}`:p)}else{if(!n)return null;k=qs(`${Sf(n)}/${p}`)}return u&&k!==u&&!k.startsWith(`${u}/`)?null:{path:k,fragment:m,directory:/\/$/.test(g)}}function Rl(r,n,s,l,f){const d=r.trim();if(!d||/^(?:javascript|data):/i.test(d))return null;if(/^https?:\/\//i.test(d))return d;if(!l(d.split(/[?#]/,1)[0]))return null;let h;if(d.startsWith("/")){const g=s&&(d===s||d.startsWith(`${s}/`));h=qs(s&&!g?`${s}/${d.slice(1)}`:d)}else{if(!n)return null;h=qs(`${Sf(n)}/${d}`)}return f(h)}function Lb(r,n,s){return Rl(r,n,s,wl,l=>`/api/terminal/fs/blob?path=${encodeURIComponent(l)}`)}function Ab(r,n,s){return Rl(r,n,s,Nu,Eu)}const pl=128,Pb=360,zi=480;function No(r){try{return/\.svg(?=$|[?#&])/i.test(decodeURIComponent(r))}catch{return!1}}function jf(r,n,s,l,f=0){if(!n||!s)return null;let d,h;return f>0?(d=l>0?Math.min(f,l):f,h=s*d/n):No(r)?(h=Math.min(Math.max(s,pl),Pb),d=n*h/s):(d=n,h=s),l>0&&d>l&&(h=h*l/d,d=l),h>zi&&(d=d*zi/h,h=zi),{width:Math.max(1,Math.round(d)),height:Math.max(1,Math.round(h))}}function Tb(r){if(!r.startsWith("/api/terminal/fs/blob?"))return null;try{return new URLSearchParams(r.slice(r.indexOf("?"))).get("path")}catch{return null}}function Rf(r){const n=Tb(r),s=Y(l=>n?(l.fileChangeVersions.get(n)??0)+l.fileWatchEpoch:0);return n&&s>0?`${r}&v=${s}`:r}function Ib({src:r,alt:n,title:s,requestedWidthPx:l}){const f=No(r),d=Rf(r),h=Ro(d),g=a.useRef(null),[p,m]=a.useState(!1),[u,k]=a.useState(0),[b,E]=a.useState({status:"loading"}),[A,F]=a.useState(null);a.useLayoutEffect(()=>{const C=g.current;let N=C?.parentElement?.parentElement??C?.parentElement;for(;N;){const y=window.getComputedStyle(N).display;if(y!=="inline"&&y!=="contents")break;N=N.parentElement}if(!N)return;const T=N,U=()=>{const y=window.getComputedStyle(T),o=(parseFloat(y.paddingLeft)||0)+(parseFloat(y.paddingRight)||0);k(Math.max(0,T.clientWidth-o))};if(U(),typeof ResizeObserver>"u")return;const P=new ResizeObserver(U);return P.observe(T),()=>P.disconnect()},[]),a.useEffect(()=>{if(p)return;const C=g.current;if(!C||typeof IntersectionObserver>"u"){m(!0);return}const N=new IntersectionObserver(T=>{T.some(U=>U.isIntersecting)&&(m(!0),N.disconnect())},{rootMargin:"400px"});return N.observe(C),()=>N.disconnect()},[p]),a.useEffect(()=>{if(!p)return;const C=new AbortController;let N=null;E({status:"loading"});const T=window.setTimeout(()=>{C.abort(new DOMException("Image fetch timed out","TimeoutError"))},15e3);return Hm(d,{signal:C.signal}).then(async U=>{if(!U.ok)throw new Error(`HTTP ${U.status}`);const P=Number(U.headers.get("X-Image-Width"))||0,y=Number(U.headers.get("X-Image-Height"))||0;return{blob:await U.blob(),width:P,height:y}}).then(({blob:U,width:P,height:y})=>{C.signal.aborted||(N=URL.createObjectURL(U),P>0&&y>0&&F({width:P,height:y}),E({status:"ready",objectUrl:N}))}).catch(()=>{const U=C.signal.reason;C.signal.aborted&&!(U instanceof DOMException&&U.name==="TimeoutError")||E({status:"fallback"})}).finally(()=>{window.clearTimeout(T)}),()=>{window.clearTimeout(T),C.abort(),N&&URL.revokeObjectURL(N)}},[p,d]);const B=jf(r,A?.width??0,A?.height??0,u,l??0),_=B??(l?{width:u>0?Math.min(l,u):l,height:Math.round(l*.75)}:{width:pl*2,height:pl});return t.jsx("div",{ref:g,className:"block max-w-full",style:B?{width:B.width,height:B.height}:void 0,children:b.status==="ready"?t.jsx("img",{src:b.objectUrl,alt:n,title:s,decoding:"async",className:`${f?"":"termdock-fade-in "}block max-h-[480px] max-w-full object-contain`,style:B?{width:B.width,height:B.height}:void 0,onLoad:C=>{const N=C.currentTarget;N.naturalWidth>0&&N.naturalHeight>0&&(A?.width!==N.naturalWidth||A?.height!==N.naturalHeight)&&F({width:N.naturalWidth,height:N.naturalHeight})}}):b.status==="fallback"?t.jsx("img",{src:h,alt:n,title:s,loading:"lazy",decoding:"async",className:"block max-h-[480px] max-w-full object-contain",style:B?{width:B.width,height:B.height}:void 0,onLoad:C=>{const N=C.currentTarget;N.naturalWidth>0&&N.naturalHeight>0&&(A?.width!==N.naturalWidth||A?.height!==N.naturalHeight)&&F({width:N.naturalWidth,height:N.naturalHeight})}}):t.jsx("div",{"aria-hidden":!0,className:"flex max-w-full animate-pulse items-center justify-center rounded bg-surface-elevated/60",style:{width:_.width,height:_.height},children:t.jsx("span",{className:"text-[10px] text-muted-foreground/60",children:n||"…"})})})}function Vs(r,n,s,l,f,d){const h=Lb(s,f.markdownFilePath,f.rootPath);if(!h)return d?.fallbackText??``;const g=f.images.length;f.images.push({kind:"image",src:h,alt:n,title:l});const p=t.jsx(Ib,{src:h,alt:n,title:l,requestedWidthPx:d?.requestedWidthPx});return f.onImageOpen&&d?.interactive!==!1?t.jsx("button",{type:"button",className:"my-2 block max-w-full overflow-hidden rounded-md border border-border/20 bg-surface-2 text-left transition hover:border-border-strong focus:outline-none focus:ring-2 focus:ring-ring/45",title:l||n||"Open image",onClick:m=>{m.stopPropagation(),f.onImageOpen?.(g)},children:p},r):t.jsx("span",{className:"my-2 block max-w-full overflow-hidden rounded-md border border-border/20 bg-surface-2",children:p},r)}function Wi(r){let n=r,s="";for(;/[.,;:!?)]$/.test(n);)s=`${n.slice(-1)}${s}`,n=n.slice(0,-1);return{linkText:n,suffix:s}}function pu(r){return/^[^\s@<>]+@[^\s@<>]+\.[^\s@<>]+$/.test(r)}function gl(r){const n=r.trim(),s=n.match(/^<([^>]+)>(?:\s+(?:"([^"]*)"|'([^']*)'|\(([^)]*)\)))?$/);if(s)return{href:s[1],title:s[2]??s[3]??s[4]};const l=n.match(/^(\S+)(?:\s+(?:"([^"]*)"|'([^']*)'|\(([^)]*)\)))?$/);return l?{href:l[1],title:l[2]??l[3]??l[4]}:null}const Cf="",Db=/\\([\\`*{}\[\]#+\-.!_|~>$])/g;function Fb(r){return r.replace(Db,(n,s)=>`${Cf}${s.charCodeAt(0).toString(16).padStart(4,"0")}`)}function gu(r){return r.replace(new RegExp(`${Cf}([0-9a-f]{4})`,"g"),(n,s)=>String.fromCharCode(Number.parseInt(s,16))).replace(/\\([()])/g,"$1")}function _b(r){const n=r.replace(/[\r\n]+/g," ");return/^ .+ $/.test(n)&&/[^ ]/.test(n.slice(1,-1))?n.slice(1,-1):n}const Nf={ALLOWED_TAGS:["a","abbr","b","blockquote","br","code","del","details","div","em","i","kbd","li","mark","ol","p","pre","s","span","strong","sub","summary","sup","table","tbody","td","th","thead","tr","u","ul"],ALLOWED_ATTR:["href","title","class","id","colspan","rowspan"],ALLOW_DATA_ATTR:!1,ALLOW_ARIA_ATTR:!0};let ro=null;function Ef(){return ro||(ro=Js(()=>import("./purify.es-4eNOHKSq.js"),[]).then(r=>r.default??r).catch(r=>{throw ro=null,r})),ro}function Mf({html:r}){const{t:n}=kt(),[s,l]=a.useState(null);return a.useEffect(()=>{let f=!1;return l(null),Ef().then(d=>{f||l(d.sanitize(r,Nf))}).catch(()=>{f||l("")}),()=>{f=!0}},[r]),s===null?t.jsx("div",{className:"py-2 text-xs text-muted-foreground",children:n("rightSidebar.renderingHtml")}):s?t.jsx("div",{className:"text-muted-foreground",dangerouslySetInnerHTML:{__html:s}}):null}function Bb({html:r}){const[n,s]=a.useState(null);return a.useEffect(()=>{let l=!1;return s(null),Ef().then(f=>{l||s(f.sanitize(r,Nf))}).catch(()=>{l||s("")}),()=>{l=!0}},[r]),n===null?null:n?t.jsx("span",{dangerouslySetInnerHTML:{__html:n}}):r}function $f(r){const n=r.trim().match(/^<(div|section|article|aside|table|p|ul|ol|li|blockquote|pre|figure|figcaption)\b[^>]*>/i);if(!n)return null;const s=n[1].toLowerCase();return{tag:s,selfContained:new RegExp(`</${s}>`,"i").test(r)}}let no=null;function Ob(){return no||(no=Promise.all([Js(()=>import("./katex-DnlPpQZa.js"),[]),Js(()=>Promise.resolve({}),__vite__mapDeps([16]))]).then(([r])=>r.default??r).catch(r=>{throw no=null,r})),no}function Zs({tex:r,display:n=!1}){const[s,l]=a.useState(null),[f,d]=a.useState(!1);if(a.useEffect(()=>{let g=!1;return l(null),d(!1),Ob().then(p=>{g||l(p.renderToString(r,{displayMode:n,throwOnError:!1,trust:!1,strict:"ignore"}))}).catch(()=>{g||d(!0)}),()=>{g=!0}},[n,r]),f)return t.jsx("code",{className:"rounded bg-surface-2 px-1 py-0.5 font-mono text-[0.92em] text-foreground",children:n?`$$${r}$$`:`$${r}$`});if(!s)return t.jsx("span",{className:"text-muted-foreground/70",children:n?"Rendering formula...":r});const h=n?"my-2 overflow-auto rounded-md bg-surface-2 px-3 py-2 text-center":"inline-block align-middle";return t.jsx("span",{className:h,dangerouslySetInnerHTML:{__html:s}})}function Cl(r){const n=new Map;for(const s of r.matchAll(/([a-zA-Z_:][-a-zA-Z0-9_:.]*)\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'=<>`]+))/gi))n.set(s[1].toLowerCase(),s[2]??s[3]??s[4]);return n}function bu(r){const n=Cl(r),s=n.get("src")?.trim()??"",l=n.get("width")?.trim().match(/^(\d+(?:\.\d+)?)(?:px)?$/i);return{src:s,alt:n.get("alt"),title:n.get("title"),widthPx:l?Number(l[1]):void 0}}function Ub(r){const n=r.indexOf(">"),s=n<0?r:r.slice(0,n+1),l=Cl(s),f=l.get("src")?.trim()??"",d=l.get("width")?.trim().match(/^(\d+(?:\.\d+)?)(?:px)?$/i),h=s.replace(/=\s*(?:"[^"]*"|'[^']*')/g," "),g=n<0?"":r.slice(n+1).replace(/<\/video\s*>$/i,"").replace(/<[^>]*>/g,"").trim();return{src:f,fallbackText:g,widthPx:d?Number(d[1]):void 0,controls:/\bcontrols\b/i.test(h)}}function Hb({url:r,fallbackText:n,widthPx:s,hasControls:l}){const{t:f}=kt(),[d,h]=a.useState(!1),g=Ro(r,()=>h(!0));return g?t.jsx("span",{className:"my-2 block max-w-full overflow-hidden rounded-md border border-border/20 bg-surface-2",children:d?t.jsx("span",{className:"block px-3 py-2 text-xs text-muted-foreground",children:n?.trim()||f("rightSidebar.videoUnsupported")}):t.jsx("video",{className:"block max-w-full",src:g,style:s?{width:`${s}px`}:void 0,controls:l,preload:"metadata",playsInline:!0,onError:()=>h(!0)})}):null}function zb(r,n,s){if(/^<a\b[^>]*>\s*<\s*img\b[^>]*>\s*<\/a\s*>$/i.test(r)){const h=r.slice(0,r.indexOf(">")+1),g=Cl(h).get("href")?.trim()??"",p=r.match(/<\s*img\b[^>]*>/i)?.[0]??"",{src:m,alt:u,title:k,widthPx:b}=bu(p);if(!m)return null;const E=Rl(m,s.markdownFilePath,s.rootPath,wl,C=>C);if(!E)return null;const A=g?jl(g,s.markdownFilePath,s.rootPath):null,B=!!!(A&&A.path===E)&&g?gf(g):null,_=Vs(n,u??"",m,k,s,{requestedWidthPx:b,interactive:B?!1:void 0});return B?t.jsx("a",{href:B,target:"_blank",rel:"noreferrer",children:_},n):_}if(/^<\s*img\b[^>]*>$/i.test(r)){const{src:h,alt:g,title:p,widthPx:m}=bu(r);return h?Vs(n,g??"",h,p,s,{fallbackText:r,requestedWidthPx:m}):null}if(/^<\s*video\b[^>]*>[\s\S]*?<\/video\s*>$/i.test(r)){const{src:h,fallbackText:g,widthPx:p,controls:m}=Ub(r);if(!h)return null;const u=Ab(h,s.markdownFilePath,s.rootPath);return u?t.jsx(Hb,{url:u,fallbackText:g,widthPx:p,hasControls:m},n):null}if(/^<br\s*\/?>$/i.test(r))return t.jsx("br",{},n);const l=r.match(/^<(kbd|mark|sub|sup)>(.*?)<\/\1>$/i);if(!l)return/^<(a|abbr|span|b|strong|em|i|u|s|del|code)\b[\s\S]*<\/\1>$/i.test(r)?t.jsx(Bb,{html:r},n):null;const f=l[1].toLowerCase(),d=ct(l[2],`${n}-${f}`,!0,s);return f==="kbd"?t.jsx("kbd",{className:"rounded border border-border/30 bg-surface-2 px-1.5 py-0.5 font-mono text-[0.85em] text-foreground shadow-sm",children:d},n):f==="mark"?t.jsx("mark",{className:"rounded bg-warning/25 px-0.5 text-foreground",children:d},n):f==="sub"?t.jsx("sub",{children:d},n):t.jsx("sup",{children:d},n)}function ct(r,n,s=!0,l){const f=Fb(r),d=/(\\\([^)]*\\\)|\$[^$\n]+\$|<br\s*\/?>|<\s*img\b[^>]*>|<\s*video\b[^>]*>[\s\S]*?<\/video\s*>|<(?:a|abbr|span|b|strong|em|i|u|s|del|code|kbd|mark|sub|sup)\b[\s\S]*?<\/(?:a|abbr|span|b|strong|em|i|u|s|del|code|kbd|mark|sub|sup)>|!?\[[^\]]*\]\((?:<[^>]+>|(?:[^\s()]+|\([^()\s]*\))+)(?:\s+(?:"[^"]*"|'[^']*'|\([^)]*\)))?\)|!?\[[^\]]+\]\[[^\]]*\]|!?\[[^\]]+\]|\[\^[^\]]+\]|(`+)([\s\S]*?)\2|~~[^~]+~~|\*\*[^*]+\*\*|__[^_]+__|\*[^*\s][^*]*\*|_[^_\s][^_]*_|<https?:\/\/[^>\s]+>|<[^\s@<>]+@[^\s@<>]+\.[^\s@<>]+>|https?:\/\/[^\s<]+|www\.[^\s<]+|[^\s@<>]+@[^\s@<>]+\.[^\s@<>]+)/gi,h=[];let g=0,p;for(;(p=d.exec(f))!==null;){p.index>g&&h.push(gu(f.slice(g,p.index)));const m=p[0],u=`${n}-${p.index}`,k=m.startsWith("<")?zb(m,u,l):null;if(k)h.push(k);else if(m.startsWith("\\(")&&m.endsWith("\\)"))h.push(t.jsx(Zs,{tex:m.slice(2,-2)},u));else if(m.startsWith("$")&&m.endsWith("$"))h.push(t.jsx(Zs,{tex:m.slice(1,-1)},u));else if(m.startsWith("`")){const b=m.match(/^`+/)?.[0].length??1;h.push(t.jsx("code",{className:`${s?"break-all":"whitespace-nowrap"} rounded bg-surface-2 px-1 py-0.5 font-mono text-[0.92em] text-foreground`,children:_b(m.slice(b,-b))},u))}else if(m.startsWith("~~"))h.push(t.jsx("del",{className:"text-muted-foreground decoration-border-strong",children:ct(m.slice(2,-2),`${u}-del`,s,l)},u));else if(m.startsWith("**")||m.startsWith("__"))h.push(t.jsx("strong",{className:"font-semibold text-foreground",children:ct(m.slice(2,-2),`${u}-strong`,s,l)},u));else if(m.startsWith("*")||m.startsWith("_"))h.push(t.jsx("em",{className:"italic",children:ct(m.slice(1,-1),`${u}-em`,s,l)},u));else if(m.startsWith("![")){const b=m.match(/^!\[([^\]]*)\]\((.*)\)$/),E=m.match(/^!\[([^\]]+)\]\[([^\]]*)\]$/),A=m.match(/^!\[([^\]]+)\]$/);if(b){const F=gl(b[2]);h.push(F?Vs(u,b[1],F.href,F.title,l):m)}else if(E){const F=E[2]||E[1],B=l.referenceDefinitions.get(ho(F));h.push(B?Vs(u,E[1],B.href,B.title,l):m)}else if(A){const F=l.referenceDefinitions.get(ho(A[1]));h.push(F?Vs(u,A[1],F.href,F.title,l):m)}else h.push(m)}else if(m.startsWith("[^")){const b=wf(m.slice(2,-1)),E=l.footnoteDefinitions.get(b);h.push(E?t.jsx("sup",{id:`fnref-${E.id}`,title:E.text,className:"ml-0.5 rounded bg-surface-2 px-1 text-[0.72em] font-semibold text-primary",children:t.jsx("a",{href:`#fn-${E.id}`,className:"text-primary no-underline",children:E.index})},u):m)}else if(m.startsWith("<http")){const b=m.slice(1,-1);h.push(t.jsx("a",{href:b,target:"_blank",rel:"noreferrer",className:`${s?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:b},u))}else if(m.startsWith("<")&&m.endsWith(">")&&pu(m.slice(1,-1))){const b=m.slice(1,-1);h.push(t.jsx("a",{href:`mailto:${b}`,className:`${s?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:b},u))}else if(pu(Wi(m).linkText)){const{linkText:b,suffix:E}=Wi(m);h.push(t.jsx("a",{href:`mailto:${b}`,className:`${s?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:b},u)),E&&h.push(E)}else if(m.startsWith("http")||m.startsWith("www.")){const{linkText:b,suffix:E}=Wi(m),A=b.startsWith("www.")?`https://${b}`:b;h.push(t.jsx("a",{href:A,target:"_blank",rel:"noreferrer",className:`${s?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:b},u)),E&&h.push(E)}else{const b=m.match(/^\[([^\]]+)\]\((.*)\)$/),E=m.match(/^\[([^\]]+)\]\[([^\]]*)\]$/),A=m.match(/^\[([^\]]+)\]$/),F=E?E[2]||E[1]:A?.[1]??null,B=F?l.referenceDefinitions.get(ho(F)):null,_=b?gl(b[2]):null,C=_?.href??B?.href??null,N=C?gf(C):null,T=b?.[1]??E?.[1]??A?.[1]??"";h.push(N?t.jsx("a",{href:N,title:_?.title??B?.title,target:"_blank",rel:"noreferrer",className:`${s?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:ct(T,`${u}-link`,s,l)},u):m)}g=d.lastIndex}return g<f.length&&h.push(gu(f.slice(g))),h.length>0?h:[r]}function Lf(r){return/(?: {2,}|\\)$/.test(r)}function Af(r){return r.replace(/(?: {2,}|\\)$/,"")}function wo(r){return/^(?: {4}|\t)/.test(r)}function Pf(r){return r.startsWith(" ")?r.slice(1):r.replace(/^ {4}/,"")}function Tf(r,n,s){const l=[];return r.forEach((f,d)=>{const h=Lf(f);l.push(...ct(Af(f),`${n}-${d}`,!0,s)),d<r.length-1&&l.push(h?t.jsx("br",{},`${n}-${d}-br`):" ")}),l}function bl(r,n,s){const l=[],f=[];return r.forEach((d,h)=>{f.push(Lf(d)),l.push(ct(Af(d),`${n}-${h}`,!0,s))}),{perLine:l,hardBreaks:f}}function xl(r,n,s,l,f){const d=[];return r.forEach((h,g)=>{const p=s[g]??0,m=!!(f&&p>=f.start&&p<=f.end);d.push(t.jsx("span",{"data-md-ref-start":p,"data-md-ref-end":p,"data-selected":m?"true":void 0,children:h},`${l}-ref-${g}`)),g<r.length-1&&d.push(n[g]?t.jsx("br",{},`${l}-${g}-br`):" ")}),d}function ea(r){const n=r.trim().replace(/^\|/,"").replace(/\|$/,""),s=[];let l="",f=!1,d=0,h=0;for(let g=0;g<n.length;g+=1){const p=n[g];if(f){l+=p,f=!1;continue}if(p==="\\"){f=!0;continue}if(p==="`"){const m=g;for(;g+1<n.length&&n[g+1]==="`";)g+=1;const u=g-m+1;l+="`".repeat(u),d===0?d=u:d===u&&(d=0);continue}if(d===0&&p==="["?h+=1:d===0&&p==="]"&&h>0&&(h-=1),p==="|"&&d===0&&h===0){s.push(l.trim()),l="";continue}l+=p}return f&&(l+="\\"),s.push(l.trim()),s}function If(r){return ea(r).map(n=>/^:-+:$/.test(n)?"center":/^-+:$/.test(n)?"right":/^:-+$/.test(n)?"left":null)}function yo(r){return r==="center"?"text-center":r==="right"?"text-right":"text-left"}function ko(r){return/^\|?\s*:?-{3,}:?\s*(?:\|\s*:?-{3,}:?\s*)*\|?$/.test(r.trim())}function Df(r,n){return r>96||r>44&&n>.35}function Eo(r){return(r.match(/^\s*/)?.[0]??"").replace(/\t/g," ").length}function ta(r){const n=r.trim().match(/^([-+*]|\d+[.)])\s+(.+)$/);if(!n)return null;const s=/^\d+[.)]$/.test(n[1]);return{ordered:s,start:s?Number.parseInt(n[1],10):void 0,content:n[2]}}function Nl(r,n,s,l,f,d=new Set){const h=[],g=[];let p=n;for(;p<r.length;){const m=r[p];if(f&&(vo(m)||d.has(p))){p+=1;continue}const u=ta(m),k=Eo(m);if(!u){if(k>s&&g.length>0){([...g].reverse().find(F=>F.indent<k)?.item??g[g.length-1].item).paragraphs.push(m.trim());for(const F of g)F.item.lineEnd=p+1;p+=1;continue}break}if(k<s||k===s&&u.ordered!==l)break;const b={content:u.content,ordered:u.ordered,start:u.start,children:[],paragraphs:[],lineStart:p+1,lineEnd:p+1};for(;g.length>0&&g[g.length-1].indent>=k;)g.pop();const E=g[g.length-1]?.item??null;E?E.children.push(b):h.push(b),g.push({indent:k,item:b});for(const A of g)A.item.lineEnd=p+1;p+=1}return{items:h,nextIndex:p}}function Wb(r){const n=r.find(l=>ta(l));if(!n)return[];const s=ta(n);return s?Nl(r,0,Eo(n),s.ordered,!0,kf(r)).items:[]}function El(r,n,s,l=0){return r.map((f,d)=>{const h=f.content.match(/^\[([ xX])\]\s+(.+)$/);return{key:`item-${d}`,taskItem:!!h,refStart:f.lineStart+l,refEnd:f.lineEnd+l,content:t.jsxs(t.Fragment,{children:[h?t.jsx("input",{type:"checkbox",checked:h[1].toLowerCase()==="x",readOnly:!0,className:"mr-2 align-[-2px] accent-primary"}):null,ct(h?.[2]??f.content,`li-${n}-${d}`,!0,s),f.paragraphs.length>0&&t.jsx("div",{className:"mt-1 space-y-1 text-muted-foreground",children:f.paragraphs.map((g,p)=>t.jsx("p",{children:ct(g,`li-${n}-${d}-p-${p}`,!0,s)},`paragraph-${p}`))})]}),groups:Gb(f.children,`${n}-${d}`,s,l)}})}function Gb(r,n,s,l=0){const f=[];for(const d of r){const h=f[f.length-1];h&&h.ordered===d.ordered?h.items.push(d):f.push({ordered:d.ordered,items:[d]})}return f.map((d,h)=>({ordered:d.ordered,start:d.ordered?d.items[0]?.start:void 0,items:El(d.items,`${n}-g${h}`,s,l)}))}function Ml(r,n){return r.map(s=>{const l=!!(n&&s.refStart<=n.end&&s.refEnd>=n.start);return t.jsxs("li",{className:s.taskItem?"list-none":void 0,"data-md-ref-start":s.refStart,"data-md-ref-end":s.refEnd,"data-selected":l?"true":void 0,children:[s.content,s.groups.length>0&&Kb(s.groups,n)]},s.key)})}function Kb(r,n){return r.map((s,l)=>{const f=s.ordered?"ol":"ul";return t.jsx(f,{start:s.start,className:`${s.ordered?"list-decimal":"list-disc"} mt-1 space-y-0.5 pl-4 marker:text-muted-foreground/60`,children:Ml(s.items,n)},`nested-${l}`)})}function qb(r){const n=Array.from(r.footnoteDefinitions.values()).sort((s,l)=>s.index-l.index);return n.length===0?null:t.jsxs("section",{className:"mt-3 border-t border-border/20 pt-2 text-[12px] leading-5 text-muted-foreground",children:[t.jsx("div",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground/80",children:r.footnotesLabel}),t.jsx("ol",{className:"list-decimal space-y-1 pl-5",children:n.map(s=>t.jsxs("li",{id:`fn-${s.id}`,children:[ct(s.text,`footnote-${s.id}`,!0,r)," ",t.jsx("a",{href:`#fnref-${s.id}`,className:"text-primary no-underline","aria-label":r.backToFootnoteLabel(s.index),children:"↩"})]},s.id))})]})}function Vb(r,n,s,l){const f=[];let d=0;const h=g=>l?.[g]??g+1;for(;d<r.length;){const g=r[d],p=g.trim();if(!p){d+=1;continue}if(/^<details>\s*$/i.test(p)){const _=d;let C="Details";const N=[];for(d+=1;d<r.length&&!/^<\/details>\s*$/i.test(r[d].trim());){const T=r[d].trim().match(/^<summary>(.*?)<\/summary>\s*$/i);T?C=T[1].trim()||C:N.push(r[d].trimStart()),d+=1}d<r.length&&(d+=1),f.push({kind:"static",node:t.jsxs("details",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface px-3 py-2 text-muted-foreground",children:[t.jsx("summary",{className:"cursor-pointer text-sm font-semibold text-foreground",children:ct(C,`${n}-details-${_}-summary`,!0,s)}),N.length>0&&t.jsx("div",{className:"mt-2 text-sm leading-6",children:Tf(N,`${n}-details-${_}`,s)})]},`${n}-details-${_}`)});continue}const m=$f(g);if(m){const _=[g],C=d;for(d+=1;d<r.length&&!m.selfContained&&!new RegExp(`</${m.tag}>`,"i").test(r[d]);)_.push(r[d]),d+=1;d<r.length&&!m.selfContained&&(_.push(r[d]),d+=1),f.push({kind:"static",node:t.jsx(Mf,{html:_.join(`
|
|
1638
|
+
`);const b=f.length;f+=u.data,l.push({node:u,start:b,end:f.length,group:k}),d=k}const g=f.toLocaleLowerCase(),p=[];let m=0;for(;m<=g.length-s.length;){const u=g.indexOf(s,m);if(u<0)break;const k=u+s.length,b=l.find(A=>A.start<=u&&A.end>u),E=l.find(A=>A.start<k&&A.end>=k);if(b&&E&&b.group===E.group){const A=document.createRange();A.setStart(b.node,u-b.start),A.setEnd(E.node,k-E.start),p.push(A)}m=u+Math.max(s.length,1)}return p}function Ju(){return typeof CSS<"u"&&CSS.highlights?CSS.highlights:null}function to(){const r=Ju();r?.delete(Xu),r?.delete(ll)}function Zd(r,n){const s=Ju();if(!s||typeof Highlight>"u")return;s.set(Xu,new Highlight(...r));const l=r[n];l?s.set(ll,new Highlight(l)):s.delete(ll)}function eu(r){r?.startContainer.parentElement?.scrollIntoView({block:"center",inline:"nearest",behavior:"smooth"})}function Vg(r){return Array.from(new Set(r.split(/[\n,]/).map(n=>n.trim().replace(/^!+/,"")).filter(Boolean))).slice(0,24)}function Yg(r,n){const s=n.trim();return!s||s==="."?r:/^(?:[/\\]|[A-Za-z]:[/\\])/.test(s)?s.replace(/[\\/]+$/,""):`${r.replace(/[\\/]+$/,"")}/${s.replace(/^\.?[\\/]+/,"").replace(/[\\/]+$/,"")}`}function Xg(r,n){if(n===r)return".";const s=`${r.replace(/[\\/]+$/,"")}/`;return n.startsWith(s)?n.slice(s.length):n}function Qu(r,n,s){return n?r:Fr.createPortal(r,s)}const yl="termdock:right-sidebar:file-tree-scroll:v1",kl="termdock:right-sidebar:file-preview-reading-state:v1",zs="termdock:right-sidebar:file-tree-width:v1",Zu="termdock:right-sidebar:markdown-view-mode:v1",ef="termdock:right-sidebar:diff-change-list-mode:v1",tf="termdock:right-sidebar:diff-wrap:v1",rf="termdock:diff-viewer:view-type:v1",nf="termdock:right-sidebar:file-search-mode:v1",_i="termdock:right-sidebar:collapsed-git-repo-groups:v1",tu="termdock:right-sidebar:collapsed-diff-directories:v1",Bi="termdock:right-sidebar:branch-audit-module-open:v1",sf="termdock:right-sidebar:branch-audit-module:v1",Jg=150,ru="termdock:right-sidebar:context-draft-enabled:v1",nu="termdock:right-sidebar:context-draft-collapsed:v1",su="termdock:right-sidebar:context-draft-auto-collapse:v1",Oi="termdock:right-sidebar:context-draft-text:v1",Qg=300,Zg=20,eb=120,tb=250,rb=250,nb=120,sb=700,Ui=600,ab=6e4;function Fs(r){return!!(r&&Y.getState().nestedGitScanRoots[r])}const au=[2e3,5e3,15e3,3e4],ob=320,ib=500,lb=20,cb=12e3,cl=300,ou=240,db=560,af="border-r px-2 py-1.5 sm:px-3 sm:py-2",xo="min-w-full max-w-[18rem] whitespace-normal break-words sm:max-w-[27rem]",of=`${af} border-b border-border/15 font-semibold last:border-r-0`,lf=`${af} border-border/10 align-top text-muted-foreground last:border-r-0`,Sl="termdock-file-preview-horizontal-scroll",iu=a.lazy(()=>Js(()=>import("./ModelPreview-grokLRQl.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]))),cf=`${Sl} termdock-md-table-scroll max-w-full overflow-x-auto overflow-y-hidden rounded-lg border border-border/20 bg-surface`;function df(r,n,s){return r&&!n?"unified":s}const ub=new Set([".md",".markdown",".mdown",".mkdn",".mkd"]);function fb(r){return r==="preview"||r==="source"}function hb(r){return r==="list"||r==="tree"||r==="ai"}function lu(){return ht(Zu,fb)??"preview"}function mb(){return ht(ef,hb)??"tree"}function Ws(r){return typeof r=="boolean"}function pb(r){return typeof r=="string"}function gb(){return ht(tf,Ws)??!0}function bb(r){return r==="unified"||r==="split"}function xb(){return ht(rf,bb)??"unified"}function vb(r){return r==="name"||r==="content"||r==="regex"}function wb(){return ht(nf,vb)??"name"}function uf(r){return r.repositories??(r.context?.root?[{id:r.context.root,root:r.context.root,relativeRoot:".",name:yt(r.context.root)||r.context.root,depth:0,nested:!1,available:r.available,files:r.files,context:r.context,error:r.error}]:[])}function yb(r,n){if(!n)return null;const s=new Set((r.repoFilters??[]).map(l=>l.root));return s.has(n)?n:s.size>0?null:(r.repositories??[]).some(l=>l.root===n)?n:null}function dl(r){return!r.activeGitRepoRoot&&(r.groupCount>1||r.label!==r.rootName)}function ff(...r){const n=new Set;for(const s of r)for(const l of s)n.add(l.root);return n}function ul(r){return Array.isArray(r)&&r.every(n=>typeof n=="string")}function cu(r){const n=ht(r,ul);return n?new Set(n):new Set}function Hi(r,n){Lt(r,[...n])}function kb(r){if(!r||typeof r!="object"||Array.isArray(r))return!1;const n=r;return typeof n.filePath=="string"&&typeof n.hunkHeader=="string"&&typeof n.hunkIndex=="number"&&typeof n.fingerprint=="string"&&typeof n.additions=="number"&&typeof n.deletions=="number"&&typeof n.diff=="string"&&(n.oldPath===void 0||n.oldPath===null||typeof n.oldPath=="string")&&(n.newPath===void 0||n.newPath===null||typeof n.newPath=="string")&&(n.source===void 0||n.source==="committed"||n.source==="uncommitted"||n.source==="unknown")&&(n.commit===void 0||n.commit===null||typeof n.commit=="string")}function Sb(r){if(!r||typeof r!="object"||Array.isArray(r))return!1;const n=r;return typeof n.available=="boolean"&&(n.repoRoot===void 0||typeof n.repoRoot=="string")&&(n.workspaceRoot===void 0||typeof n.workspaceRoot=="string")&&(n.baseRef===void 0||typeof n.baseRef=="string")&&(n.baseBranch===void 0||typeof n.baseBranch=="string")&&(n.currentBranch===void 0||n.currentBranch===null||typeof n.currentBranch=="string")&&(n.headRef===void 0||n.headRef===null||typeof n.headRef=="string")&&(n.diffFingerprint===void 0||typeof n.diffFingerprint=="string")&&(n.stat===void 0||typeof n.stat=="string")&&(n.files===void 0||ul(n.files))&&(n.hunks===void 0||Array.isArray(n.hunks)&&n.hunks.every(kb))&&(n.commits===void 0||ul(n.commits))&&(n.commitCount===void 0||typeof n.commitCount=="number")&&(n.diff===void 0||typeof n.diff=="string")&&(n.truncated===void 0||typeof n.truncated=="boolean")&&(n.error===void 0||typeof n.error=="string")}function jb(r){if(!r||typeof r!="object"||Array.isArray(r))return!1;const n=r;return typeof n.key=="string"&&Sb(n.diff)&&typeof n.repoLabel=="string"&&typeof n.createdAt=="number"}function Rb(r){return!r||typeof r!="object"||Array.isArray(r)?!1:Object.values(r).every(n=>{if(!n||typeof n!="object"||Array.isArray(n))return!1;const s=n;return Array.isArray(s.selectedRepoRoots)&&s.selectedRepoRoots.every(l=>typeof l=="string")&&!!s.repoTargetBranches&&typeof s.repoTargetBranches=="object"&&!Array.isArray(s.repoTargetBranches)&&Object.values(s.repoTargetBranches).every(l=>typeof l=="string")&&(s.repoBaseBranches===void 0||!!s.repoBaseBranches&&typeof s.repoBaseBranches=="object"&&!Array.isArray(s.repoBaseBranches)&&Object.values(s.repoBaseBranches).every(l=>typeof l=="string"))&&(s.previewEntries===void 0||Array.isArray(s.previewEntries)&&s.previewEntries.every(jb))&&(s.selectedPreviewKey===void 0||s.selectedPreviewKey===null||typeof s.selectedPreviewKey=="string")&&(s.selectedPreviewFileKey===void 0||s.selectedPreviewFileKey===null||typeof s.selectedPreviewFileKey=="string")&&(s.previewDetailOpen===void 0||typeof s.previewDetailOpen=="boolean")&&(s.previewScrollTops===void 0||!!s.previewScrollTops&&typeof s.previewScrollTops=="object"&&!Array.isArray(s.previewScrollTops)&&Object.values(s.previewScrollTops).every(l=>typeof l=="number"))&&(s.previewMobileSlideIndex===void 0||typeof s.previewMobileSlideIndex=="number")&&(s.repoIncludeUncommitted===void 0||!!s.repoIncludeUncommitted&&typeof s.repoIncludeUncommitted=="object"&&!Array.isArray(s.repoIncludeUncommitted)&&Object.values(s.repoIncludeUncommitted).every(l=>typeof l=="boolean"))&&(s.includeUncommitted===void 0||typeof s.includeUncommitted=="boolean")&&typeof s.updatedAt=="number"})}function du(){return ht(sf,Rb)??{}}function uu(r){return[r.repoRoot,r.baseRef,r.branchName??"",r.headRef??"",r.diffFingerprint??""].join("\0")}function fu(r){const n=r?.trim()??"",s=n.indexOf("/");return s>=0?n.slice(s+1):n}function hf(r,n){const s=r?.trim(),l=n?.trim();return!s||!l?!1:s===l||fu(s)===fu(l)}function hu(r){const n=r?.branch??null;return[r?.upstream,...r?.remoteBranches??[],...r?.branches??[]].find(l=>l&&!hf(l,n))??""}function fl(r,n){const s=Math.max(ou,n-320),l=Math.min(db,s);return Math.min(l,Math.max(ou,r))}function Cb(r){return typeof r=="number"&&Number.isFinite(r)}function Nb(r){return fl(ht(zs,Cb)??cl,r)}function mf(r){const n=r.split(/[\\/]/).pop()??r,s=n.lastIndexOf(".");return s>=0?n.slice(s).toLowerCase():""}function _s(r){return ub.has(mf(r))}function pf(r){const n=r.trim().replace(/\s+/g,"");return/^-{3,}$/.test(n)||/^\*{3,}$/.test(n)||/^_{3,}$/.test(n)}function hl(r){const n=r.trim();return/^#{1,6}\s+/.test(n)||pf(r)||/^>\s?/.test(n)||/^(```|~~~)/.test(n)||/^(?:[-+*]|\d+[.)])\s+/.test(n)}function gf(r){const n=r.trim();return/^(https?:|mailto:|#|\/|\.\/|\.\.\/)/i.test(n)||!/^[a-z][a-z0-9+.-]*:/i.test(n)&&!/[<>]/.test(n)?n:null}const bf=a.createContext(null);function ho(r){return r.trim().replace(/\s+/g," ").toLowerCase()}function xf(r){return r.replace(/!\[([^\]]*)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\[[^\]]*\]/g,"$1").replace(/[`*_~]/g,"").replace(/<[^>]+>/g,"").trim()}function vf(r){return r.replace(/\s+#+\s*$/,"").trim()}function ml(r,n){const l=xf(r).toLowerCase().replace(/[^\p{L}\p{N}\s-]/gu,"").trim().replace(/\s+/g,"-")||"section",f=n.headingSlugCounts.get(l)??0;return n.headingSlugCounts.set(l,f+1),f===0?l:`${l}-${f}`}function mu(r){return xf(r)||r.trim()}function vo(r){const n=r.match(/^\s{0,3}\[([^\]]+)\]:\s+(.+?)\s*$/);if(!n)return null;const s=gl(n[2]);return s?{id:ho(n[1]),definition:{href:s.href,title:s.title}}:null}function Eb(r){const n=new Map;for(const s of r){const l=vo(s);l&&n.set(l.id,l.definition)}return n}function wf(r){return r.trim().toLowerCase()}function yf(r){const n=r.match(/^\s{0,3}\[\^([^\]]+)\]:\s+(.+)\s*$/);return n?{id:wf(n[1]),text:n[2]}:null}function Mb(r){const n=new Map;let s=null;for(const l of r){const f=yf(l);if(f){s=f.id,n.set(f.id,{id:f.id,text:f.text,index:n.size+1});continue}if(s&&/^\s{4,}\S/.test(l)){const d=n.get(s);d&&(d.text=`${d.text} ${l.trim()}`);continue}l.trim()&&(s=null)}return n}function kf(r){const n=new Set;let s=!1;return r.forEach((l,f)=>{if(yf(l)){n.add(f),s=!0;return}if(s&&/^\s{4,}\S/.test(l)){n.add(f);return}l.trim()&&(s=!1)}),n}function $b(r){const n=[...r];let s=0;const l=r[0]?.trim();if(l==="---"||l==="+++"){for(n[0]="",s=1;s<r.length&&r[s].trim()!==l;)n[s]="",s+=1;s<r.length&&(n[s]="",s+=1)}for(;s<r.length;){const f=r[s].trim();if(f.startsWith("<!--")){if(n[s]="",!f.includes("-->")){for(s+=1;s<r.length&&!r[s].includes("-->");)n[s]="",s+=1;s<r.length&&(n[s]="")}s+=1;continue}s+=1}return n}function Sf(r){const n=r.replace(/\/+$/,""),s=n.lastIndexOf("/");return s<=0?s===0?"/":"":n.slice(0,s)}function qs(r){const n=r.split(/[?#]/,1)[0],s=n.startsWith("/"),l=[];for(const d of n.split("/"))if(!(!d||d===".")){if(d===".."){l.length>0&&l.pop();continue}l.push(d)}return`${s?"/":""}${l.join("/")}`||(s?"/":".")}function jl(r,n,s){const l=r.trim();if(!l||/^(?:https?:|mailto:|javascript:|data:)/i.test(l)||/^[a-z][a-z0-9+.-]*:/i.test(l))return null;if(l.startsWith("#")){if(!n)return null;try{return{path:n,fragment:decodeURIComponent(l.slice(1))||null,directory:!1}}catch{return null}}const f=l.indexOf("#"),d=f>=0?l.slice(0,f):l,h=f>=0?l.slice(f+1):"",g=d.split("?",1)[0];if(!g)return null;let p,m=null;try{p=decodeURIComponent(g),m=h?decodeURIComponent(h):null}catch{return null}const u=s?qs(s):null;let k;if(p.startsWith("/")){const b=u&&(p===u||p.startsWith(`${u}/`));k=qs(u&&!b?`${u}/${p.slice(1)}`:p)}else{if(!n)return null;k=qs(`${Sf(n)}/${p}`)}return u&&k!==u&&!k.startsWith(`${u}/`)?null:{path:k,fragment:m,directory:/\/$/.test(g)}}function Rl(r,n,s,l,f){const d=r.trim();if(!d||/^(?:javascript|data):/i.test(d))return null;if(/^https?:\/\//i.test(d))return d;if(!l(d.split(/[?#]/,1)[0]))return null;let h;if(d.startsWith("/")){const g=s&&(d===s||d.startsWith(`${s}/`));h=qs(s&&!g?`${s}/${d.slice(1)}`:d)}else{if(!n)return null;h=qs(`${Sf(n)}/${d}`)}return f(h)}function Lb(r,n,s){return Rl(r,n,s,wl,l=>`/api/terminal/fs/blob?path=${encodeURIComponent(l)}`)}function Ab(r,n,s){return Rl(r,n,s,Nu,Eu)}const pl=128,Pb=360,zi=480;function No(r){try{return/\.svg(?=$|[?#&])/i.test(decodeURIComponent(r))}catch{return!1}}function jf(r,n,s,l,f=0){if(!n||!s)return null;let d,h;return f>0?(d=l>0?Math.min(f,l):f,h=s*d/n):No(r)?(h=Math.min(Math.max(s,pl),Pb),d=n*h/s):(d=n,h=s),l>0&&d>l&&(h=h*l/d,d=l),h>zi&&(d=d*zi/h,h=zi),{width:Math.max(1,Math.round(d)),height:Math.max(1,Math.round(h))}}function Tb(r){if(!r.startsWith("/api/terminal/fs/blob?"))return null;try{return new URLSearchParams(r.slice(r.indexOf("?"))).get("path")}catch{return null}}function Rf(r){const n=Tb(r),s=Y(l=>n?(l.fileChangeVersions.get(n)??0)+l.fileWatchEpoch:0);return n&&s>0?`${r}&v=${s}`:r}function Ib({src:r,alt:n,title:s,requestedWidthPx:l}){const f=No(r),d=Rf(r),h=Ro(d),g=a.useRef(null),[p,m]=a.useState(!1),[u,k]=a.useState(0),[b,E]=a.useState({status:"loading"}),[A,F]=a.useState(null);a.useLayoutEffect(()=>{const C=g.current;let N=C?.parentElement?.parentElement??C?.parentElement;for(;N;){const y=window.getComputedStyle(N).display;if(y!=="inline"&&y!=="contents")break;N=N.parentElement}if(!N)return;const T=N,U=()=>{const y=window.getComputedStyle(T),o=(parseFloat(y.paddingLeft)||0)+(parseFloat(y.paddingRight)||0);k(Math.max(0,T.clientWidth-o))};if(U(),typeof ResizeObserver>"u")return;const P=new ResizeObserver(U);return P.observe(T),()=>P.disconnect()},[]),a.useEffect(()=>{if(p)return;const C=g.current;if(!C||typeof IntersectionObserver>"u"){m(!0);return}const N=new IntersectionObserver(T=>{T.some(U=>U.isIntersecting)&&(m(!0),N.disconnect())},{rootMargin:"400px"});return N.observe(C),()=>N.disconnect()},[p]),a.useEffect(()=>{if(!p)return;const C=new AbortController;let N=null;E({status:"loading"});const T=window.setTimeout(()=>{C.abort(new DOMException("Image fetch timed out","TimeoutError"))},15e3);return Hm(d,{signal:C.signal}).then(async U=>{if(!U.ok)throw new Error(`HTTP ${U.status}`);const P=Number(U.headers.get("X-Image-Width"))||0,y=Number(U.headers.get("X-Image-Height"))||0;return{blob:await U.blob(),width:P,height:y}}).then(({blob:U,width:P,height:y})=>{C.signal.aborted||(N=URL.createObjectURL(U),P>0&&y>0&&F({width:P,height:y}),E({status:"ready",objectUrl:N}))}).catch(()=>{const U=C.signal.reason;C.signal.aborted&&!(U instanceof DOMException&&U.name==="TimeoutError")||E({status:"fallback"})}).finally(()=>{window.clearTimeout(T)}),()=>{window.clearTimeout(T),C.abort(),N&&URL.revokeObjectURL(N)}},[p,d]);const B=jf(r,A?.width??0,A?.height??0,u,l??0),_=B??(l?{width:u>0?Math.min(l,u):l,height:Math.round(l*.75)}:{width:pl*2,height:pl});return t.jsx("div",{ref:g,className:"block max-w-full",style:B?{width:B.width,height:B.height}:void 0,children:b.status==="ready"?t.jsx("img",{src:b.objectUrl,alt:n,title:s,decoding:"async",className:`${f?"":"termdock-fade-in "}block max-h-[480px] max-w-full object-contain`,style:B?{width:B.width,height:B.height}:void 0,onLoad:C=>{const N=C.currentTarget;N.naturalWidth>0&&N.naturalHeight>0&&(A?.width!==N.naturalWidth||A?.height!==N.naturalHeight)&&F({width:N.naturalWidth,height:N.naturalHeight})}}):b.status==="fallback"?t.jsx("img",{src:h,alt:n,title:s,loading:"lazy",decoding:"async",className:"block max-h-[480px] max-w-full object-contain",style:B?{width:B.width,height:B.height}:void 0,onLoad:C=>{const N=C.currentTarget;N.naturalWidth>0&&N.naturalHeight>0&&(A?.width!==N.naturalWidth||A?.height!==N.naturalHeight)&&F({width:N.naturalWidth,height:N.naturalHeight})}}):t.jsx("div",{"aria-hidden":!0,className:"flex max-w-full animate-pulse items-center justify-center rounded bg-surface-elevated/60",style:{width:_.width,height:_.height},children:t.jsx("span",{className:"text-[10px] text-muted-foreground/60",children:n||"…"})})})}function Vs(r,n,s,l,f,d){const h=Lb(s,f.markdownFilePath,f.rootPath);if(!h)return d?.fallbackText??``;const g=f.images.length;f.images.push({kind:"image",src:h,alt:n,title:l});const p=t.jsx(Ib,{src:h,alt:n,title:l,requestedWidthPx:d?.requestedWidthPx});return f.onImageOpen&&d?.interactive!==!1?t.jsx("button",{type:"button",className:"my-2 block max-w-full overflow-hidden rounded-md border border-border/20 bg-surface-2 text-left transition hover:border-border-strong focus:outline-none focus:ring-2 focus:ring-ring/45",title:l||n||"Open image",onClick:m=>{m.stopPropagation(),f.onImageOpen?.(g)},children:p},r):t.jsx("span",{className:"my-2 block max-w-full overflow-hidden rounded-md border border-border/20 bg-surface-2",children:p},r)}function Wi(r){let n=r,s="";for(;/[.,;:!?)]$/.test(n);)s=`${n.slice(-1)}${s}`,n=n.slice(0,-1);return{linkText:n,suffix:s}}function pu(r){return/^[^\s@<>]+@[^\s@<>]+\.[^\s@<>]+$/.test(r)}function gl(r){const n=r.trim(),s=n.match(/^<([^>]+)>(?:\s+(?:"([^"]*)"|'([^']*)'|\(([^)]*)\)))?$/);if(s)return{href:s[1],title:s[2]??s[3]??s[4]};const l=n.match(/^(\S+)(?:\s+(?:"([^"]*)"|'([^']*)'|\(([^)]*)\)))?$/);return l?{href:l[1],title:l[2]??l[3]??l[4]}:null}const Cf="",Db=/\\([\\`*{}\[\]#+\-.!_|~>$])/g;function Fb(r){return r.replace(Db,(n,s)=>`${Cf}${s.charCodeAt(0).toString(16).padStart(4,"0")}`)}function gu(r){return r.replace(new RegExp(`${Cf}([0-9a-f]{4})`,"g"),(n,s)=>String.fromCharCode(Number.parseInt(s,16))).replace(/\\([()])/g,"$1")}function _b(r){const n=r.replace(/[\r\n]+/g," ");return/^ .+ $/.test(n)&&/[^ ]/.test(n.slice(1,-1))?n.slice(1,-1):n}const Nf={ALLOWED_TAGS:["a","abbr","b","blockquote","br","code","del","details","div","em","i","kbd","li","mark","ol","p","pre","s","span","strong","sub","summary","sup","table","tbody","td","th","thead","tr","u","ul"],ALLOWED_ATTR:["href","title","class","id","colspan","rowspan"],ALLOW_DATA_ATTR:!1,ALLOW_ARIA_ATTR:!0};let ro=null;function Ef(){return ro||(ro=Js(()=>import("./purify.es-4eNOHKSq.js"),[]).then(r=>r.default??r).catch(r=>{throw ro=null,r})),ro}function Mf({html:r}){const{t:n}=kt(),[s,l]=a.useState(null);return a.useEffect(()=>{let f=!1;return l(null),Ef().then(d=>{f||l(d.sanitize(r,Nf))}).catch(()=>{f||l("")}),()=>{f=!0}},[r]),s===null?t.jsx("div",{className:"py-2 text-xs text-muted-foreground",children:n("rightSidebar.renderingHtml")}):s?t.jsx("div",{className:"text-muted-foreground",dangerouslySetInnerHTML:{__html:s}}):null}function Bb({html:r}){const[n,s]=a.useState(null);return a.useEffect(()=>{let l=!1;return s(null),Ef().then(f=>{l||s(f.sanitize(r,Nf))}).catch(()=>{l||s("")}),()=>{l=!0}},[r]),n===null?null:n?t.jsx("span",{dangerouslySetInnerHTML:{__html:n}}):r}function $f(r){const n=r.trim().match(/^<(div|section|article|aside|table|p|ul|ol|li|blockquote|pre|figure|figcaption)\b[^>]*>/i);if(!n)return null;const s=n[1].toLowerCase();return{tag:s,selfContained:new RegExp(`</${s}>`,"i").test(r)}}let no=null;function Ob(){return no||(no=Promise.all([Js(()=>import("./katex-DnlPpQZa.js"),[]),Js(()=>Promise.resolve({}),__vite__mapDeps([16]))]).then(([r])=>r.default??r).catch(r=>{throw no=null,r})),no}function Zs({tex:r,display:n=!1}){const[s,l]=a.useState(null),[f,d]=a.useState(!1);if(a.useEffect(()=>{let g=!1;return l(null),d(!1),Ob().then(p=>{g||l(p.renderToString(r,{displayMode:n,throwOnError:!1,trust:!1,strict:"ignore"}))}).catch(()=>{g||d(!0)}),()=>{g=!0}},[n,r]),f)return t.jsx("code",{className:"rounded bg-surface-2 px-1 py-0.5 font-mono text-[0.92em] text-foreground",children:n?`$$${r}$$`:`$${r}$`});if(!s)return t.jsx("span",{className:"text-muted-foreground/70",children:n?"Rendering formula...":r});const h=n?"my-2 overflow-auto rounded-md bg-surface-2 px-3 py-2 text-center":"inline-block align-middle";return t.jsx("span",{className:h,dangerouslySetInnerHTML:{__html:s}})}function Cl(r){const n=new Map;for(const s of r.matchAll(/([a-zA-Z_:][-a-zA-Z0-9_:.]*)\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'=<>`]+))/gi))n.set(s[1].toLowerCase(),s[2]??s[3]??s[4]);return n}function bu(r){const n=Cl(r),s=n.get("src")?.trim()??"",l=n.get("width")?.trim().match(/^(\d+(?:\.\d+)?)(?:px)?$/i);return{src:s,alt:n.get("alt"),title:n.get("title"),widthPx:l?Number(l[1]):void 0}}function Ub(r){const n=r.indexOf(">"),s=n<0?r:r.slice(0,n+1),l=Cl(s),f=l.get("src")?.trim()??"",d=l.get("width")?.trim().match(/^(\d+(?:\.\d+)?)(?:px)?$/i),h=s.replace(/=\s*(?:"[^"]*"|'[^']*')/g," "),g=n<0?"":r.slice(n+1).replace(/<\/video\s*>$/i,"").replace(/<[^>]*>/g,"").trim();return{src:f,fallbackText:g,widthPx:d?Number(d[1]):void 0,controls:/\bcontrols\b/i.test(h)}}function Hb({url:r,fallbackText:n,widthPx:s,hasControls:l}){const{t:f}=kt(),[d,h]=a.useState(!1),g=Ro(r,()=>h(!0));return g?t.jsx("span",{className:"my-2 block max-w-full overflow-hidden rounded-md border border-border/20 bg-surface-2",children:d?t.jsx("span",{className:"block px-3 py-2 text-xs text-muted-foreground",children:n?.trim()||f("rightSidebar.videoUnsupported")}):t.jsx("video",{className:"block max-w-full",src:g,style:s?{width:`${s}px`}:void 0,controls:l,preload:"metadata",playsInline:!0,onError:()=>h(!0)})}):null}function zb(r,n,s){if(/^<a\b[^>]*>\s*<\s*img\b[^>]*>\s*<\/a\s*>$/i.test(r)){const h=r.slice(0,r.indexOf(">")+1),g=Cl(h).get("href")?.trim()??"",p=r.match(/<\s*img\b[^>]*>/i)?.[0]??"",{src:m,alt:u,title:k,widthPx:b}=bu(p);if(!m)return null;const E=Rl(m,s.markdownFilePath,s.rootPath,wl,C=>C);if(!E)return null;const A=g?jl(g,s.markdownFilePath,s.rootPath):null,B=!!!(A&&A.path===E)&&g?gf(g):null,_=Vs(n,u??"",m,k,s,{requestedWidthPx:b,interactive:B?!1:void 0});return B?t.jsx("a",{href:B,target:"_blank",rel:"noreferrer",children:_},n):_}if(/^<\s*img\b[^>]*>$/i.test(r)){const{src:h,alt:g,title:p,widthPx:m}=bu(r);return h?Vs(n,g??"",h,p,s,{fallbackText:r,requestedWidthPx:m}):null}if(/^<\s*video\b[^>]*>[\s\S]*?<\/video\s*>$/i.test(r)){const{src:h,fallbackText:g,widthPx:p,controls:m}=Ub(r);if(!h)return null;const u=Ab(h,s.markdownFilePath,s.rootPath);return u?t.jsx(Hb,{url:u,fallbackText:g,widthPx:p,hasControls:m},n):null}if(/^<br\s*\/?>$/i.test(r))return t.jsx("br",{},n);const l=r.match(/^<(kbd|mark|sub|sup)>(.*?)<\/\1>$/i);if(!l)return/^<(a|abbr|span|b|strong|em|i|u|s|del|code)\b[\s\S]*<\/\1>$/i.test(r)?t.jsx(Bb,{html:r},n):null;const f=l[1].toLowerCase(),d=ct(l[2],`${n}-${f}`,!0,s);return f==="kbd"?t.jsx("kbd",{className:"rounded border border-border/30 bg-surface-2 px-1.5 py-0.5 font-mono text-[0.85em] text-foreground shadow-sm",children:d},n):f==="mark"?t.jsx("mark",{className:"rounded bg-warning/25 px-0.5 text-foreground",children:d},n):f==="sub"?t.jsx("sub",{children:d},n):t.jsx("sup",{children:d},n)}function ct(r,n,s=!0,l){const f=Fb(r),d=/(\\\([^)]*\\\)|\$[^$\n]+\$|<br\s*\/?>|<\s*img\b[^>]*>|<\s*video\b[^>]*>[\s\S]*?<\/video\s*>|<(?:a|abbr|span|b|strong|em|i|u|s|del|code|kbd|mark|sub|sup)\b[\s\S]*?<\/(?:a|abbr|span|b|strong|em|i|u|s|del|code|kbd|mark|sub|sup)>|!?\[[^\]]*\]\((?:<[^>]+>|(?:[^\s()]+|\([^()\s]*\))+)(?:\s+(?:"[^"]*"|'[^']*'|\([^)]*\)))?\)|!?\[[^\]]+\]\[[^\]]*\]|!?\[[^\]]+\]|\[\^[^\]]+\]|(`+)([\s\S]*?)\2|~~[^~]+~~|\*\*[^*]+\*\*|__[^_]+__|\*[^*\s][^*]*\*|_[^_\s][^_]*_|<https?:\/\/[^>\s]+>|<[^\s@<>]+@[^\s@<>]+\.[^\s@<>]+>|https?:\/\/[^\s<]+|www\.[^\s<]+|[^\s@<>]+@[^\s@<>]+\.[^\s@<>]+)/gi,h=[];let g=0,p;for(;(p=d.exec(f))!==null;){p.index>g&&h.push(gu(f.slice(g,p.index)));const m=p[0],u=`${n}-${p.index}`,k=m.startsWith("<")?zb(m,u,l):null;if(k)h.push(k);else if(m.startsWith("\\(")&&m.endsWith("\\)"))h.push(t.jsx(Zs,{tex:m.slice(2,-2)},u));else if(m.startsWith("$")&&m.endsWith("$"))h.push(t.jsx(Zs,{tex:m.slice(1,-1)},u));else if(m.startsWith("`")){const b=m.match(/^`+/)?.[0].length??1;h.push(t.jsx("code",{className:`${s?"break-all":"whitespace-nowrap"} rounded bg-surface-2 px-1 py-0.5 font-mono text-[0.92em] text-foreground`,children:_b(m.slice(b,-b))},u))}else if(m.startsWith("~~"))h.push(t.jsx("del",{className:"text-muted-foreground decoration-border-strong",children:ct(m.slice(2,-2),`${u}-del`,s,l)},u));else if(m.startsWith("**")||m.startsWith("__"))h.push(t.jsx("strong",{className:"font-semibold text-foreground",children:ct(m.slice(2,-2),`${u}-strong`,s,l)},u));else if(m.startsWith("*")||m.startsWith("_"))h.push(t.jsx("em",{className:"italic",children:ct(m.slice(1,-1),`${u}-em`,s,l)},u));else if(m.startsWith("![")){const b=m.match(/^!\[([^\]]*)\]\((.*)\)$/),E=m.match(/^!\[([^\]]+)\]\[([^\]]*)\]$/),A=m.match(/^!\[([^\]]+)\]$/);if(b){const F=gl(b[2]);h.push(F?Vs(u,b[1],F.href,F.title,l):m)}else if(E){const F=E[2]||E[1],B=l.referenceDefinitions.get(ho(F));h.push(B?Vs(u,E[1],B.href,B.title,l):m)}else if(A){const F=l.referenceDefinitions.get(ho(A[1]));h.push(F?Vs(u,A[1],F.href,F.title,l):m)}else h.push(m)}else if(m.startsWith("[^")){const b=wf(m.slice(2,-1)),E=l.footnoteDefinitions.get(b);h.push(E?t.jsx("sup",{id:`fnref-${E.id}`,title:E.text,className:"ml-0.5 rounded bg-surface-2 px-1 text-[0.72em] font-semibold text-primary",children:t.jsx("a",{href:`#fn-${E.id}`,className:"text-primary no-underline",children:E.index})},u):m)}else if(m.startsWith("<http")){const b=m.slice(1,-1);h.push(t.jsx("a",{href:b,target:"_blank",rel:"noreferrer",className:`${s?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:b},u))}else if(m.startsWith("<")&&m.endsWith(">")&&pu(m.slice(1,-1))){const b=m.slice(1,-1);h.push(t.jsx("a",{href:`mailto:${b}`,className:`${s?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:b},u))}else if(pu(Wi(m).linkText)){const{linkText:b,suffix:E}=Wi(m);h.push(t.jsx("a",{href:`mailto:${b}`,className:`${s?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:b},u)),E&&h.push(E)}else if(m.startsWith("http")||m.startsWith("www.")){const{linkText:b,suffix:E}=Wi(m),A=b.startsWith("www.")?`https://${b}`:b;h.push(t.jsx("a",{href:A,target:"_blank",rel:"noreferrer",className:`${s?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:b},u)),E&&h.push(E)}else{const b=m.match(/^\[([^\]]+)\]\((.*)\)$/),E=m.match(/^\[([^\]]+)\]\[([^\]]*)\]$/),A=m.match(/^\[([^\]]+)\]$/),F=E?E[2]||E[1]:A?.[1]??null,B=F?l.referenceDefinitions.get(ho(F)):null,_=b?gl(b[2]):null,C=_?.href??B?.href??null,N=C?gf(C):null,T=b?.[1]??E?.[1]??A?.[1]??"";h.push(N?t.jsx("a",{href:N,title:_?.title??B?.title,target:"_blank",rel:"noreferrer",className:`${s?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:ct(T,`${u}-link`,s,l)},u):m)}g=d.lastIndex}return g<f.length&&h.push(gu(f.slice(g))),h.length>0?h:[r]}function Lf(r){return/(?: {2,}|\\)$/.test(r)}function Af(r){return r.replace(/(?: {2,}|\\)$/,"")}function wo(r){return/^(?: {4}|\t)/.test(r)}function Pf(r){return r.startsWith(" ")?r.slice(1):r.replace(/^ {4}/,"")}function Tf(r,n,s){const l=[];return r.forEach((f,d)=>{const h=Lf(f);l.push(...ct(Af(f),`${n}-${d}`,!0,s)),d<r.length-1&&l.push(h?t.jsx("br",{},`${n}-${d}-br`):" ")}),l}function bl(r,n,s){const l=[],f=[];return r.forEach((d,h)=>{f.push(Lf(d)),l.push(ct(Af(d),`${n}-${h}`,!0,s))}),{perLine:l,hardBreaks:f}}function xl(r,n,s,l,f){const d=[];return r.forEach((h,g)=>{const p=s[g]??0,m=!!(f&&p>=f.start&&p<=f.end);d.push(t.jsx("span",{"data-md-ref-start":p,"data-md-ref-end":p,"data-selected":m?"true":void 0,children:h},`${l}-ref-${g}`)),g<r.length-1&&d.push(n[g]?t.jsx("br",{},`${l}-${g}-br`):" ")}),d}function ea(r){const n=r.trim().replace(/^\|/,"").replace(/\|$/,""),s=[];let l="",f=!1,d=0,h=0;for(let g=0;g<n.length;g+=1){const p=n[g];if(f){l+=p,f=!1;continue}if(p==="\\"){f=!0;continue}if(p==="`"){const m=g;for(;g+1<n.length&&n[g+1]==="`";)g+=1;const u=g-m+1;l+="`".repeat(u),d===0?d=u:d===u&&(d=0);continue}if(d===0&&p==="["?h+=1:d===0&&p==="]"&&h>0&&(h-=1),p==="|"&&d===0&&h===0){s.push(l.trim()),l="";continue}l+=p}return f&&(l+="\\"),s.push(l.trim()),s}function If(r){return ea(r).map(n=>/^:-+:$/.test(n)?"center":/^-+:$/.test(n)?"right":/^:-+$/.test(n)?"left":null)}function yo(r){return r==="center"?"text-center":r==="right"?"text-right":"text-left"}function ko(r){return/^\|?\s*:?-{3,}:?\s*(?:\|\s*:?-{3,}:?\s*)*\|?$/.test(r.trim())}function Df(r,n){return r>96||r>44&&n>.35}function Eo(r){return(r.match(/^\s*/)?.[0]??"").replace(/\t/g," ").length}function ta(r){const n=r.trim().match(/^([-+*]|\d+[.)])\s+(.+)$/);if(!n)return null;const s=/^\d+[.)]$/.test(n[1]);return{ordered:s,start:s?Number.parseInt(n[1],10):void 0,content:n[2]}}function Nl(r,n,s,l,f,d=new Set){const h=[],g=[];let p=n;for(;p<r.length;){const m=r[p];if(f&&(vo(m)||d.has(p))){p+=1;continue}const u=ta(m),k=Eo(m);if(!u){if(k>s&&g.length>0){([...g].reverse().find(F=>F.indent<k)?.item??g[g.length-1].item).paragraphs.push(m.trim());for(const F of g)F.item.lineEnd=p+1;p+=1;continue}break}if(k<s||k===s&&u.ordered!==l)break;const b={content:u.content,ordered:u.ordered,start:u.start,children:[],paragraphs:[],lineStart:p+1,lineEnd:p+1};for(;g.length>0&&g[g.length-1].indent>=k;)g.pop();const E=g[g.length-1]?.item??null;E?E.children.push(b):h.push(b),g.push({indent:k,item:b});for(const A of g)A.item.lineEnd=p+1;p+=1}return{items:h,nextIndex:p}}function Wb(r){const n=r.find(l=>ta(l));if(!n)return[];const s=ta(n);return s?Nl(r,0,Eo(n),s.ordered,!0,kf(r)).items:[]}function El(r,n,s,l=0){return r.map((f,d)=>{const h=f.content.match(/^\[([ xX])\]\s+(.+)$/);return{key:`item-${d}`,taskItem:!!h,refStart:f.lineStart+l,refEnd:f.lineEnd+l,content:t.jsxs(t.Fragment,{children:[h?t.jsx("input",{type:"checkbox",checked:h[1].toLowerCase()==="x",readOnly:!0,className:"mr-2 align-[-2px] accent-primary"}):null,ct(h?.[2]??f.content,`li-${n}-${d}`,!0,s),f.paragraphs.length>0&&t.jsx("div",{className:"mt-1 space-y-1 text-muted-foreground",children:f.paragraphs.map((g,p)=>t.jsx("p",{children:ct(g,`li-${n}-${d}-p-${p}`,!0,s)},`paragraph-${p}`))})]}),groups:Gb(f.children,`${n}-${d}`,s,l)}})}function Gb(r,n,s,l=0){const f=[];for(const d of r){const h=f[f.length-1];h&&h.ordered===d.ordered?h.items.push(d):f.push({ordered:d.ordered,items:[d]})}return f.map((d,h)=>({ordered:d.ordered,start:d.ordered?d.items[0]?.start:void 0,items:El(d.items,`${n}-g${h}`,s,l)}))}function Ml(r,n){return r.map(s=>{const l=!!(n&&s.refStart<=n.end&&s.refEnd>=n.start);return t.jsxs("li",{className:s.taskItem?"list-none":void 0,"data-md-ref-start":s.refStart,"data-md-ref-end":s.refEnd,"data-selected":l?"true":void 0,children:[s.content,s.groups.length>0&&Kb(s.groups,n)]},s.key)})}function Kb(r,n){return r.map((s,l)=>{const f=s.ordered?"ol":"ul";return t.jsx(f,{start:s.start,className:`${s.ordered?"list-decimal":"list-disc"} mt-1 space-y-0.5 pl-4 marker:text-muted-foreground/60`,children:Ml(s.items,n)},`nested-${l}`)})}function qb(r){const n=Array.from(r.footnoteDefinitions.values()).sort((s,l)=>s.index-l.index);return n.length===0?null:t.jsxs("section",{className:"mt-3 border-t border-border/20 pt-2 text-[12px] leading-5 text-muted-foreground",children:[t.jsx("div",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground/80",children:r.footnotesLabel}),t.jsx("ol",{className:"list-decimal space-y-1 pl-5",children:n.map(s=>t.jsxs("li",{id:`fn-${s.id}`,children:[ct(s.text,`footnote-${s.id}`,!0,r)," ",t.jsx("a",{href:`#fnref-${s.id}`,className:"text-primary no-underline","aria-label":r.backToFootnoteLabel(s.index),children:"↩"})]},s.id))})]})}function Vb(r,n,s,l){const f=[];let d=0;const h=g=>l?.[g]??g+1;for(;d<r.length;){const g=r[d],p=g.trim();if(!p){d+=1;continue}if(/^<details>\s*$/i.test(p)){const _=d;let C="Details";const N=[];for(d+=1;d<r.length&&!/^<\/details>\s*$/i.test(r[d].trim());){const T=r[d].trim().match(/^<summary>(.*?)<\/summary>\s*$/i);T?C=T[1].trim()||C:N.push(r[d].trimStart()),d+=1}d<r.length&&(d+=1),f.push({kind:"static",node:t.jsxs("details",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface px-3 py-2 text-muted-foreground",children:[t.jsx("summary",{className:"cursor-pointer text-sm font-semibold text-foreground",children:ct(C,`${n}-details-${_}-summary`,!0,s)}),N.length>0&&t.jsx("div",{className:"mt-2 text-sm leading-6",children:Tf(N,`${n}-details-${_}`,s)})]},`${n}-details-${_}`)});continue}const m=$f(g);if(m){const _=[g],C=d;for(d+=1;d<r.length&&!m.selfContained&&!new RegExp(`</${m.tag}>`,"i").test(r[d]);)_.push(r[d]),d+=1;d<r.length&&!m.selfContained&&(_.push(r[d]),d+=1),f.push({kind:"static",node:t.jsx(Mf,{html:_.join(`
|
|
1639
1639
|
`)},`${n}-html-${C}`)});continue}const u=p.match(/^(```|~~~)\s*(.*)$/);if(u){const _=[],C=u[1],N=u[2]?.trim(),T=d;for(d+=1;d<r.length&&!r[d].trim().startsWith(C);)_.push(r[d]),d+=1;d<r.length&&(d+=1),N.toLowerCase()==="mermaid"?f.push({kind:"static",node:t.jsx(_f,{code:_.join(`
|
|
1640
1640
|
`),blockKey:`${n}-code-${T}`},`${n}-code-${T}`)}):["math","latex","tex"].includes(N.toLowerCase())?f.push({kind:"static",node:t.jsx(Zs,{tex:_.join(`
|
|
1641
1641
|
`),display:!0},`${n}-code-${T}`)}):f.push({kind:"code",key:`${n}-code-${T}`,code:_.join(`
|
|
1642
1642
|
`),lang:N,blockKey:`${n}-code-${T}`,codeStartLine:h(T)+1});continue}if(wo(g)){const _=[],C=d;for(;d<r.length&&(wo(r[d])||!r[d].trim());)_.push(r[d].trim()?Pf(r[d]):""),d+=1;f.push({kind:"code",key:`${n}-indented-code-${C}`,code:_.join(`
|
|
1643
|
-
`).replace(/\n+$/,""),lang:"",blockKey:`${n}-indented-code-${C}`,codeStartLine:h(C)});continue}const k=p.match(/^(#{1,6})\s+(.+)$/);if(k){const C=`h${Math.min(6,k[1].length+1)}`,N=vf(k[2]),T=ml(N,s);f.push({kind:"static",node:t.jsx(C,{id:T,className:"scroll-mt-16 font-semibold text-foreground",children:ct(N,`${n}-heading-${d}`,!0,s)},`${n}-heading-${d}`)}),d+=1;continue}if(d+1<r.length&&g.includes("|")&&ko(r[d+1])){const _=ea(g),C=If(r[d+1]),N=[],T=d;for(d+=2;d<r.length&&r[d].includes("|")&&r[d].trim();)N.push(ea(r[d])),d+=1;f.push({kind:"static",node:t.jsx("div",{className:cf,"data-markdown-table-scroll":!0,children:t.jsxs("table",{className:"w-max min-w-full max-w-none table-auto border-collapse text-left text-[11px] sm:text-xs",children:[t.jsx("thead",{className:"bg-surface-2 text-foreground",children:t.jsx("tr",{children:_.map((U,P)=>t.jsx("th",{className:`${of} ${yo(C[P]??null)}`,children:t.jsx("div",{className:xo,children:ct(U,`${n}-th-${T}-${P}`,!0,s)})},`h-${P}`))})}),t.jsx("tbody",{children:N.map((U,P)=>t.jsx("tr",{className:"border-t border-border/10",children:_.map((y,o)=>t.jsx("td",{className:`${lf} ${yo(C[o]??null)}`,children:t.jsx("div",{className:xo,children:ct(U[o]??"",`${n}-td-${T}-${P}-${o}`,!0,s)})},`c-${o}`))},`r-${P}`))})]})},`${n}-table-${T}`)});continue}const b=ta(g);if(b){const _=b.ordered,C=Eo(g),N=b.start,T=d,U=Nl(r,d,C,_,!1);d=U.nextIndex,f.push({kind:"list",keyPrefix:`${n}-list-${T}`,ordered:_,start:_?N:void 0,renders:El(U.items,`${n}-list-${T}`,s,h(0)-1)});continue}const E=[g.trimStart()],A=[h(d)],F=d;for(d+=1;d<r.length&&r[d].trim()&&!hl(r[d])&&!(d+1<r.length&&r[d].includes("|")&&ko(r[d+1]));)E.push(r[d].trimStart()),A.push(h(d)),d+=1;const B=bl(E,`${n}-p-${F}`,s);f.push({kind:"paragraph",keyPrefix:`${n}-p-${F}`,perLine:B.perLine,hardBreaks:B.hardBreaks,lineNums:A})}return f}function Yb(r,n){return r.map(s=>{switch(s.kind){case"static":return s.node;case"paragraph":return t.jsx("p",{children:xl(s.perLine,s.hardBreaks,s.lineNums,s.keyPrefix,n)},s.keyPrefix);case"list":{const l=s.ordered?"ol":"ul";return t.jsx(l,{start:s.start,className:`${s.ordered?"list-decimal":"list-disc"} space-y-0.5 pl-4 marker:text-muted-foreground/70`,children:Ml(s.renders,n)},s.keyPrefix)}case"code":return t.jsx(So,{code:s.code,lang:s.lang,blockKey:s.blockKey,codeStartLine:s.codeStartLine,lineRange:n},s.key)}})}let so=null,xu=!1;const ao=16,Ff=192;function Xb(){return so||(so=Js(()=>import("./mermaid.core-
|
|
1643
|
+
`).replace(/\n+$/,""),lang:"",blockKey:`${n}-indented-code-${C}`,codeStartLine:h(C)});continue}const k=p.match(/^(#{1,6})\s+(.+)$/);if(k){const C=`h${Math.min(6,k[1].length+1)}`,N=vf(k[2]),T=ml(N,s);f.push({kind:"static",node:t.jsx(C,{id:T,className:"scroll-mt-16 font-semibold text-foreground",children:ct(N,`${n}-heading-${d}`,!0,s)},`${n}-heading-${d}`)}),d+=1;continue}if(d+1<r.length&&g.includes("|")&&ko(r[d+1])){const _=ea(g),C=If(r[d+1]),N=[],T=d;for(d+=2;d<r.length&&r[d].includes("|")&&r[d].trim();)N.push(ea(r[d])),d+=1;f.push({kind:"static",node:t.jsx("div",{className:cf,"data-markdown-table-scroll":!0,children:t.jsxs("table",{className:"w-max min-w-full max-w-none table-auto border-collapse text-left text-[11px] sm:text-xs",children:[t.jsx("thead",{className:"bg-surface-2 text-foreground",children:t.jsx("tr",{children:_.map((U,P)=>t.jsx("th",{className:`${of} ${yo(C[P]??null)}`,children:t.jsx("div",{className:xo,children:ct(U,`${n}-th-${T}-${P}`,!0,s)})},`h-${P}`))})}),t.jsx("tbody",{children:N.map((U,P)=>t.jsx("tr",{className:"border-t border-border/10",children:_.map((y,o)=>t.jsx("td",{className:`${lf} ${yo(C[o]??null)}`,children:t.jsx("div",{className:xo,children:ct(U[o]??"",`${n}-td-${T}-${P}-${o}`,!0,s)})},`c-${o}`))},`r-${P}`))})]})},`${n}-table-${T}`)});continue}const b=ta(g);if(b){const _=b.ordered,C=Eo(g),N=b.start,T=d,U=Nl(r,d,C,_,!1);d=U.nextIndex,f.push({kind:"list",keyPrefix:`${n}-list-${T}`,ordered:_,start:_?N:void 0,renders:El(U.items,`${n}-list-${T}`,s,h(0)-1)});continue}const E=[g.trimStart()],A=[h(d)],F=d;for(d+=1;d<r.length&&r[d].trim()&&!hl(r[d])&&!(d+1<r.length&&r[d].includes("|")&&ko(r[d+1]));)E.push(r[d].trimStart()),A.push(h(d)),d+=1;const B=bl(E,`${n}-p-${F}`,s);f.push({kind:"paragraph",keyPrefix:`${n}-p-${F}`,perLine:B.perLine,hardBreaks:B.hardBreaks,lineNums:A})}return f}function Yb(r,n){return r.map(s=>{switch(s.kind){case"static":return s.node;case"paragraph":return t.jsx("p",{children:xl(s.perLine,s.hardBreaks,s.lineNums,s.keyPrefix,n)},s.keyPrefix);case"list":{const l=s.ordered?"ol":"ul";return t.jsx(l,{start:s.start,className:`${s.ordered?"list-decimal":"list-disc"} space-y-0.5 pl-4 marker:text-muted-foreground/70`,children:Ml(s.renders,n)},s.keyPrefix)}case"code":return t.jsx(So,{code:s.code,lang:s.lang,blockKey:s.blockKey,codeStartLine:s.codeStartLine,lineRange:n},s.key)}})}let so=null,xu=!1;const ao=16,Ff=192;function Xb(){return so||(so=Js(()=>import("./mermaid.core-CdLYagbK.js").then(r=>r.bl),__vite__mapDeps([17,1,2,3,4,5,18])).then(r=>r.default??r).catch(r=>{throw so=null,r})),so}function Jb(r){xu||(r.initialize({startOnLoad:!1,securityLevel:"strict",theme:"neutral"}),xu=!0)}function Qb(r){const n=r.match(/\sviewBox=(["'])([^"']+)\1/i);if(!n)return r;const[,,s]=n,l=s.trim().split(/[\s,]+/).map(Number),[,,f,d]=l;if(!Number.isFinite(f)||!Number.isFinite(d)||f<=0||d<=0)return r;const h=Math.max(Ff,Math.ceil(f)),g=Math.ceil(h/f*d);return r.replace(/<svg\b([^>]*)>/i,(p,m)=>`<svg${m.replace(/\s(?:width|height)=(["']).*?\1/gi,"").replace(/\sstyle=(["']).*?\1/gi,"")} width="${h}" height="${g}">`)}function Zb(r){const n=r?.querySelector("svg");if(!n)return;let s;try{s=n.getBBox()}catch{return}if(!Number.isFinite(s.width)||!Number.isFinite(s.height)||s.width<=0||s.height<=0)return;const l=s.x-ao,f=s.y-ao,d=s.width+ao*2,h=s.height+ao*2,g=Math.max(Ff,Math.ceil(d)),p=Math.ceil(g/d*h);n.setAttribute("viewBox",`${l} ${f} ${d} ${h}`),n.setAttribute("width",String(g)),n.setAttribute("height",String(p)),n.removeAttribute("style")}function ex(r){const n=r.trim().split(/\s+/,1)[0]?.toLowerCase();if(!n)return null;const s=n.replace(/^language-/,"");return _u(`code.${s}`)??s}function _f({code:r,blockKey:n}){const{t:s}=kt(),[l,f]=a.useState(null),[d,h]=a.useState(!1),g=a.useRef(null),p=a.useContext(bf);a.useEffect(()=>{let u=!1;return f(null),h(!1),Xb().then(async k=>{Jb(k);const b=`termdock-md-mermaid-${n.replace(/[^a-zA-Z0-9_-]/g,"-")}`,{svg:E}=await k.render(b,r);u||f(Qb(E))}).catch(()=>{u||h(!0)}),()=>{u=!0}},[n,r]),a.useLayoutEffect(()=>{l&&Zb(g.current)},[l]);const m=a.useCallback(()=>{const u=g.current?.querySelector("svg")?.outerHTML??l;u&&p?.(u)},[p,l]);return d?t.jsx(So,{code:r,lang:"mermaid",blockKey:`${n}-fallback`}):t.jsxs("div",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface shadow-sm",children:[t.jsx("div",{className:"border-b border-border/15 bg-surface-2 px-3 py-1.5 text-[10px] uppercase tracking-wide text-muted-foreground",children:"mermaid"}),t.jsx("div",{className:"bg-surface p-3",children:l?t.jsx("button",{type:"button",className:"block max-w-full rounded text-left focus:outline-none focus:ring-2 focus:ring-ring/45",title:s("rightSidebar.openMermaidDiagram"),onClick:u=>{u.stopPropagation(),m()},children:t.jsx("span",{ref:g,role:"img","aria-label":s("rightSidebar.mermaidDiagram"),className:"block max-h-[70vh] max-w-full overflow-auto rounded bg-white p-2 text-slate-900 [&_svg]:block [&_svg]:h-auto [&_svg]:max-w-full",dangerouslySetInnerHTML:{__html:l}})}):t.jsx("div",{className:"py-6 text-center text-xs text-muted-foreground",children:s("rightSidebar.renderingDiagram")})})]})}function So({code:r,lang:n,blockKey:s,codeStartLine:l,lineRange:f}){const d=ex(n),[h,g]=a.useState(null);a.useEffect(()=>{if(!d||!Bu(r)){g(null);return}let m=!1;return Ou().then(u=>{if(m||!u.registered(d)){m||g(null);return}try{g(Uu(u,r,d))}catch{m||g(null)}}).catch(()=>{m||g(null)}),()=>{m=!0}},[s,r,d]);const p=h??(r||" ").split(`
|
|
1644
1644
|
`).map(m=>[m||" "]);return t.jsxs("div",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface shadow-sm",children:[n&&t.jsx("div",{className:"border-b border-border/15 bg-surface-2 px-3 py-1.5 text-[10px] uppercase tracking-wide text-muted-foreground",children:n}),t.jsx("pre",{className:`${Sl} termdock-code overflow-auto p-3 text-[11px] leading-relaxed text-foreground`,children:t.jsx("code",{children:p.map((m,u)=>{const k=l!=null?l+u:null,b=!!(f&&k!=null&&k>=f.start&&k<=f.end);return t.jsxs("span",{"data-md-ref-start":k??void 0,"data-md-ref-end":k??void 0,"data-selected":b?"true":void 0,children:[m,u<p.length-1?`
|
|
1645
1645
|
`:null]},`${s}-line-${u}`)})})})]})}function $l(r,n,s,l,f){r=$b(r);const d=Eb(r),h=kf(r),g=[],p={markdownFilePath:n,rootPath:s,referenceDefinitions:d,footnoteDefinitions:Mb(r),headingSlugCounts:new Map,images:g,onImageOpen:l,footnotesLabel:f?.footnotes??"Footnotes",backToFootnoteLabel:f?.backToFootnote??(b=>`Back to footnote ${b}`)},m=[];let u=0;for(;u<r.length;){const b=r[u],E=b.trim();if(vo(b)||h.has(u)){u+=1;continue}if(!E){u+=1;continue}if(/^<details>\s*$/i.test(E)){const P=u;let y="Details";const o=[];for(u+=1;u<r.length&&!/^<\/details>\s*$/i.test(r[u].trim());){const O=r[u].trim().match(/^<summary>(.*?)<\/summary>\s*$/i);O?y=O[1].trim()||y:o.push(r[u].trimStart()),u+=1}u<r.length&&(u+=1),m.push({key:`details-${P}`,startLine:P+1,endLine:u,content:t.jsxs("details",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface px-3 py-2 text-muted-foreground",children:[t.jsx("summary",{className:"cursor-pointer text-sm font-semibold text-foreground",children:ct(y,`details-${P}-summary`,!0,p)}),o.length>0&&t.jsx("div",{className:"mt-2 text-sm leading-6",children:Tf(o,`details-${P}`,p)})]})});continue}const A=$f(b);if(A){const P=[b],y=u;for(u+=1;u<r.length&&!A.selfContained&&!new RegExp(`</${A.tag}>`,"i").test(r[u]);)P.push(r[u]),u+=1;u<r.length&&!A.selfContained&&(P.push(r[u]),u+=1),m.push({key:`html-${y}`,startLine:y+1,endLine:u,content:t.jsx(Mf,{html:P.join(`
|
|
1646
1646
|
`)})});continue}const F=E.match(/^(```|~~~)\s*(.*)$/);if(F){const P=[],y=F[1],o=F[2]?.trim(),O=u;for(u+=1;u<r.length&&!r[u].trim().startsWith(y);)P.push(r[u]),u+=1;u<r.length&&(u+=1),m.push({key:`code-${O}`,startLine:O+1,endLine:u,fineGrained:o.toLowerCase()!=="mermaid"&&!["math","latex","tex"].includes(o.toLowerCase()),content:o.toLowerCase()==="mermaid"?t.jsx(_f,{code:P.join(`
|
|
Binary file
|
|
Binary file
|
package/dist/client/assets/{abnfDiagram-VCTEODGH-BnEXkfWX.js → abnfDiagram-VCTEODGH-BYngtuHa.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as p,r as u,d as a}from"./chunk-SVP7TREG-
|
|
1
|
+
import{g as p,r as u,d as a}from"./chunk-SVP7TREG-BomKTR6s.js";import{p as f}from"./chunk-JWPE2WC7-CNiTC-ja.js";import{d as n,bg as o}from"./mermaid.core-CdLYagbK.js";import{M as c,c as d}from"./cynefin-OW5HDTMX-CwCMT9I6.js";import"./app-WrWkLxV3.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-C7X98Amf.js";import"./purify.es-4eNOHKSq.js";var g=d().RailroadAbnf.parser.LangiumParser,i=n(e=>{const r=e.alternatives.map(v);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),v=n(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=n(e=>{if(e.includes("*")){const[t,s]=e.split("*"),m=t?parseInt(t,10):0,l=s?parseInt(s,10):1/0;return{min:m,max:l}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=n(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=n(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=n(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=n(e=>{f(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(P(r)))},"populateDb"),R={parse:n(e=>{a.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=g.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a}},D={parser:R,db:a,renderer:u,styles:p};export{D as diagram};
|
|
Binary file
|
|
Binary file
|