termdock 1.4.267 → 1.4.268
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-BqE8LI-u.js → App-B_gjv_L4.js} +29 -29
- package/dist/client/assets/App-B_gjv_L4.js.br +0 -0
- package/dist/client/assets/App-B_gjv_L4.js.gz +0 -0
- package/dist/client/assets/{ChangeWalkthroughPanel-DQ9OebFq.js → ChangeWalkthroughPanel-B7xfrwV0.js} +1 -1
- package/dist/client/assets/ChangeWalkthroughPanel-B7xfrwV0.js.br +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-B7xfrwV0.js.gz +0 -0
- package/dist/client/assets/{DagPlayground-DeV5N-IP.js → DagPlayground-DD8Mudl0.js} +1 -1
- package/dist/client/assets/DagPlayground-DD8Mudl0.js.br +0 -0
- package/dist/client/assets/DagPlayground-DD8Mudl0.js.gz +0 -0
- package/dist/client/assets/{DiffLab-O24yUnne.js → DiffLab-DfMaEfdB.js} +1 -1
- package/dist/client/assets/DiffLab-DfMaEfdB.js.br +0 -0
- package/dist/client/assets/DiffLab-DfMaEfdB.js.gz +0 -0
- package/dist/client/assets/{DiffReview-D4QwNQmG.js → DiffReview-FIaqdDPy.js} +1 -1
- package/dist/client/assets/DiffReview-FIaqdDPy.js.br +0 -0
- package/dist/client/assets/DiffReview-FIaqdDPy.js.gz +0 -0
- package/dist/client/assets/{DiffReviewLab-CQC9aCyy.js → DiffReviewLab-CkC9diid.js} +1 -1
- package/dist/client/assets/DiffReviewLab-CkC9diid.js.br +0 -0
- package/dist/client/assets/DiffReviewLab-CkC9diid.js.gz +0 -0
- package/dist/client/assets/{DiffViewer-Bw703Keh.js → DiffViewer-CYEoT3NM.js} +1 -1
- package/dist/client/assets/DiffViewer-CYEoT3NM.js.br +0 -0
- package/dist/client/assets/DiffViewer-CYEoT3NM.js.gz +0 -0
- package/dist/client/assets/{ModelPreview-iqwfAi-Q.js → ModelPreview-38AXZG5e.js} +1 -1
- package/dist/client/assets/ModelPreview-38AXZG5e.js.br +0 -0
- package/dist/client/assets/ModelPreview-38AXZG5e.js.gz +0 -0
- package/dist/client/assets/{RightSidebar-CJ5Ro_lE.js → RightSidebar-A1dkYC_K.js} +4 -4
- package/dist/client/assets/RightSidebar-A1dkYC_K.js.br +0 -0
- package/dist/client/assets/RightSidebar-A1dkYC_K.js.gz +0 -0
- package/dist/client/assets/{abnfDiagram-VCTEODGH-CPSz-oKS.js → abnfDiagram-VCTEODGH-BvFKrJvp.js} +1 -1
- package/dist/client/assets/abnfDiagram-VCTEODGH-BvFKrJvp.js.br +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-BvFKrJvp.js.gz +0 -0
- package/dist/client/assets/{app-CG4wRJiV.js → app-CojGYCuR.js} +4 -4
- package/dist/client/assets/app-CojGYCuR.js.br +0 -0
- package/dist/client/assets/app-CojGYCuR.js.gz +0 -0
- package/dist/client/assets/{arc-DEku29dO.js → arc-KrauQCou.js} +1 -1
- package/dist/client/assets/arc-KrauQCou.js.br +0 -0
- package/dist/client/assets/arc-KrauQCou.js.gz +0 -0
- package/dist/client/assets/{architectureDiagram-5GKGNRK7-D-mHitIB.js → architectureDiagram-5GKGNRK7-m4EFlQe5.js} +1 -1
- package/dist/client/assets/architectureDiagram-5GKGNRK7-m4EFlQe5.js.br +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-m4EFlQe5.js.gz +0 -0
- package/dist/client/assets/{blockDiagram-I7D4REHJ-CrNXWWMo.js → blockDiagram-I7D4REHJ-DYKVPCAg.js} +1 -1
- package/dist/client/assets/blockDiagram-I7D4REHJ-DYKVPCAg.js.br +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-DYKVPCAg.js.gz +0 -0
- package/dist/client/assets/{c4Diagram-7LVT6UL2-Aabqu3DW.js → c4Diagram-7LVT6UL2-Bom-ry7C.js} +1 -1
- package/dist/client/assets/{c4Diagram-7LVT6UL2-Aabqu3DW.js.br → c4Diagram-7LVT6UL2-Bom-ry7C.js.br} +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-Bom-ry7C.js.gz +0 -0
- package/dist/client/assets/channel-DPQ_m-tX.js +1 -0
- package/dist/client/assets/{chunk-2Q5K7J3B-CtS0wd2P.js → chunk-2Q5K7J3B-DruGlr2i.js} +1 -1
- package/dist/client/assets/{chunk-5VM5RSS4-BmRWnayq.js → chunk-5VM5RSS4-BzuDLW6I.js} +1 -1
- package/dist/client/assets/{chunk-F27PBJKO-B1Xs_Obp.js → chunk-F27PBJKO-BmOruelE.js} +1 -1
- package/dist/client/assets/chunk-F27PBJKO-BmOruelE.js.br +0 -0
- package/dist/client/assets/chunk-F27PBJKO-BmOruelE.js.gz +0 -0
- package/dist/client/assets/{chunk-IMKFNOWR-DGBc6K0o.js → chunk-IMKFNOWR-C_QAjdvx.js} +1 -1
- package/dist/client/assets/chunk-IMKFNOWR-C_QAjdvx.js.br +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-C_QAjdvx.js.gz +0 -0
- package/dist/client/assets/{chunk-JWPE2WC7-ZSQlXy77.js → chunk-JWPE2WC7-COrvoLHM.js} +1 -1
- package/dist/client/assets/{chunk-POPQ4Y6H-lOdiBcDa.js → chunk-POPQ4Y6H-B1ZbbBXT.js} +1 -1
- package/dist/client/assets/{chunk-SVP7TREG-BEAii929.js → chunk-SVP7TREG-D1tHVHrA.js} +1 -1
- package/dist/client/assets/chunk-SVP7TREG-D1tHVHrA.js.br +0 -0
- package/dist/client/assets/chunk-SVP7TREG-D1tHVHrA.js.gz +0 -0
- package/dist/client/assets/{chunk-TICWLB2K-DYDwgjz6.js → chunk-TICWLB2K-CUf6WDYE.js} +1 -1
- package/dist/client/assets/chunk-TICWLB2K-CUf6WDYE.js.br +0 -0
- package/dist/client/assets/chunk-TICWLB2K-CUf6WDYE.js.gz +0 -0
- package/dist/client/assets/{chunk-XXDRQBXY-DTyJgD5V.js → chunk-XXDRQBXY-DSiiDaTY.js} +1 -1
- package/dist/client/assets/classDiagram-ZZMXUADV-Kz6tCBai.js +1 -0
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-Kz6tCBai.js +1 -0
- package/dist/client/assets/{cose-bilkent-JH36ORCC-B_LczeML.js → cose-bilkent-JH36ORCC-T3qCojhn.js} +1 -1
- package/dist/client/assets/cose-bilkent-JH36ORCC-T3qCojhn.js.br +0 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-T3qCojhn.js.gz +0 -0
- package/dist/client/assets/{cynefin-OW5HDTMX-iUNCJhXp.js → cynefin-OW5HDTMX-KpUgbXRL.js} +1 -1
- package/dist/client/assets/cynefin-OW5HDTMX-KpUgbXRL.js.br +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-KpUgbXRL.js.gz +0 -0
- package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-D0qz1YON.js → cynefinDiagram-5FMLGOSQ-DPYl0L-K.js} +1 -1
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-DPYl0L-K.js.br +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-DPYl0L-K.js.gz +0 -0
- package/dist/client/assets/{dagre-GXQ25YYZ-DoNbof8W.js → dagre-GXQ25YYZ-Bxp13G_N.js} +1 -1
- package/dist/client/assets/dagre-GXQ25YYZ-Bxp13G_N.js.br +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-Bxp13G_N.js.gz +0 -0
- package/dist/client/assets/{diagram-S7CK7UJ4-CjmclMId.js → diagram-S7CK7UJ4-CpE50wgs.js} +1 -1
- package/dist/client/assets/diagram-S7CK7UJ4-CpE50wgs.js.br +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-CpE50wgs.js.gz +0 -0
- package/dist/client/assets/{diagram-UQ7AKVKN-CL9cPDna.js → diagram-UQ7AKVKN-CQJFD7tB.js} +1 -1
- package/dist/client/assets/diagram-UQ7AKVKN-CQJFD7tB.js.br +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-CQJFD7tB.js.gz +0 -0
- package/dist/client/assets/{diagram-VSXAHHWV-BuSsBHdW.js → diagram-VSXAHHWV-CcCMRaVS.js} +1 -1
- package/dist/client/assets/diagram-VSXAHHWV-CcCMRaVS.js.br +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-CcCMRaVS.js.gz +0 -0
- package/dist/client/assets/{diagram-VX7I27RA-83S-m6VI.js → diagram-VX7I27RA-BJHjGgyM.js} +1 -1
- package/dist/client/assets/diagram-VX7I27RA-BJHjGgyM.js.br +0 -0
- package/dist/client/assets/diagram-VX7I27RA-BJHjGgyM.js.gz +0 -0
- package/dist/client/assets/{diagram-Z3DM3KII-DVBe23Hs.js → diagram-Z3DM3KII-Ctr0Mur_.js} +1 -1
- package/dist/client/assets/diagram-Z3DM3KII-Ctr0Mur_.js.br +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-Ctr0Mur_.js.gz +0 -0
- package/dist/client/assets/{ebnfDiagram-PWID7BFC-Dg-KWuTD.js → ebnfDiagram-PWID7BFC-CKEPPhZD.js} +1 -1
- package/dist/client/assets/ebnfDiagram-PWID7BFC-CKEPPhZD.js.br +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-CKEPPhZD.js.gz +0 -0
- package/dist/client/assets/{erDiagram-RLTQ6QDP-DSSWaahL.js → erDiagram-RLTQ6QDP-CFjw9WX4.js} +1 -1
- package/dist/client/assets/erDiagram-RLTQ6QDP-CFjw9WX4.js.br +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-CFjw9WX4.js.gz +0 -0
- package/dist/client/assets/{flowDiagram-HODETNUW-BdLuB2iN.js → flowDiagram-HODETNUW-ahJZ_2Y3.js} +1 -1
- package/dist/client/assets/flowDiagram-HODETNUW-ahJZ_2Y3.js.br +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-ahJZ_2Y3.js.gz +0 -0
- package/dist/client/assets/{ganttDiagram-EL5Y4UJY-Chs1ygCY.js → ganttDiagram-EL5Y4UJY-CZvH1BVH.js} +1 -1
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-CZvH1BVH.js.br +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-CZvH1BVH.js.gz +0 -0
- package/dist/client/assets/{gestureArbiter-CRTAj9c5.js → gestureArbiter-CYcLJOkb.js} +1 -1
- package/dist/client/assets/gestureArbiter-CYcLJOkb.js.br +0 -0
- package/dist/client/assets/gestureArbiter-CYcLJOkb.js.gz +0 -0
- package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-BAo61MYb.js → gitGraphDiagram-WWUBYQGX-5k2btOuf.js} +1 -1
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-5k2btOuf.js.br +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-5k2btOuf.js.gz +0 -0
- package/dist/client/assets/{infoDiagram-27XIBGKW-D_VLCYHJ.js → infoDiagram-27XIBGKW-B75F2r0B.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-5VMMS53U-CbDv2mvs.js → ishikawaDiagram-5VMMS53U-D82lZtnM.js} +1 -1
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-D82lZtnM.js.br +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-D82lZtnM.js.gz +0 -0
- package/dist/client/assets/{journeyDiagram-3NMN7TZE-CV_iBuZn.js → journeyDiagram-3NMN7TZE-DDco1Uz5.js} +1 -1
- package/dist/client/assets/journeyDiagram-3NMN7TZE-DDco1Uz5.js.br +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-DDco1Uz5.js.gz +0 -0
- package/dist/client/assets/{kanban-definition-UXKFOSKX-C7O4Bh1q.js → kanban-definition-UXKFOSKX-bFUaJw_7.js} +1 -1
- package/dist/client/assets/kanban-definition-UXKFOSKX-bFUaJw_7.js.br +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-bFUaJw_7.js.gz +0 -0
- package/dist/client/assets/{layout-klNTG6uR.js → layout-DqoIDxOD.js} +1 -1
- package/dist/client/assets/layout-DqoIDxOD.js.br +0 -0
- package/dist/client/assets/layout-DqoIDxOD.js.gz +0 -0
- package/dist/client/assets/{linear-BGNAzPTT.js → linear-iI_YMQHc.js} +1 -1
- package/dist/client/assets/linear-iI_YMQHc.js.br +0 -0
- package/dist/client/assets/linear-iI_YMQHc.js.gz +0 -0
- package/dist/client/assets/{mermaid.core-BSzAHLGl.js → mermaid.core-5yt2YuB8.js} +5 -5
- package/dist/client/assets/mermaid.core-5yt2YuB8.js.br +0 -0
- package/dist/client/assets/mermaid.core-5yt2YuB8.js.gz +0 -0
- package/dist/client/assets/{mindmap-definition-YA3MSWOX-p44N-fmd.js → mindmap-definition-YA3MSWOX-ChlqCeNZ.js} +1 -1
- package/dist/client/assets/mindmap-definition-YA3MSWOX-ChlqCeNZ.js.br +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-ChlqCeNZ.js.gz +0 -0
- package/dist/client/assets/{passwordBootstrap-FAUekDm3.js → passwordBootstrap-CYPeNLru.js} +1 -1
- package/dist/client/assets/{passwordBootstrap-FAUekDm3.js.br → passwordBootstrap-CYPeNLru.js.br} +0 -0
- package/dist/client/assets/passwordBootstrap-CYPeNLru.js.gz +0 -0
- package/dist/client/assets/{pegDiagram-XKGWAZYB-D_9s0OO_.js → pegDiagram-XKGWAZYB-Crg6gf5W.js} +1 -1
- package/dist/client/assets/pegDiagram-XKGWAZYB-Crg6gf5W.js.br +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-Crg6gf5W.js.gz +0 -0
- package/dist/client/assets/{pieDiagram-E7YTZNPT-B7EbdgJt.js → pieDiagram-E7YTZNPT-BXdoZQZj.js} +1 -1
- package/dist/client/assets/pieDiagram-E7YTZNPT-BXdoZQZj.js.br +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-BXdoZQZj.js.gz +0 -0
- package/dist/client/assets/{quadrantDiagram-AXDQQJYC-BY028AbD.js → quadrantDiagram-AXDQQJYC-DX07rl7R.js} +1 -1
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-DX07rl7R.js.br +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-DX07rl7R.js.gz +0 -0
- package/dist/client/assets/{railroadDiagram-O6MQD6OU-C_SqJJH4.js → railroadDiagram-O6MQD6OU-C2ZzDGxp.js} +1 -1
- package/dist/client/assets/railroadDiagram-O6MQD6OU-C2ZzDGxp.js.br +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-C2ZzDGxp.js.gz +0 -0
- package/dist/client/assets/{referenceLongPress-zPADrRaZ.js → referenceLongPress-gi-7KSUT.js} +1 -1
- package/dist/client/assets/referenceLongPress-gi-7KSUT.js.br +0 -0
- package/dist/client/assets/referenceLongPress-gi-7KSUT.js.gz +0 -0
- package/dist/client/assets/{requirementDiagram-BXWQKSXE-CROJTpxc.js → requirementDiagram-BXWQKSXE-FuuHXQEq.js} +1 -1
- package/dist/client/assets/requirementDiagram-BXWQKSXE-FuuHXQEq.js.br +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-FuuHXQEq.js.gz +0 -0
- package/dist/client/assets/{sankeyDiagram-P5KCCOFB-CiWfwd5j.js → sankeyDiagram-P5KCCOFB-Bk1BrUVk.js} +1 -1
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-Bk1BrUVk.js.br +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-Bk1BrUVk.js.gz +0 -0
- package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-Bv-q4vX3.js → sequenceDiagram-WJ2MYXX4-9A9f6S8W.js} +1 -1
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-9A9f6S8W.js.br +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-9A9f6S8W.js.gz +0 -0
- package/dist/client/assets/{sizeCapture-INFHLROL-TQt_I2TN.js → sizeCapture-INFHLROL-DQBQsVnW.js} +1 -1
- package/dist/client/assets/sizeCapture-INFHLROL-DQBQsVnW.js.br +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-DQBQsVnW.js.gz +0 -0
- package/dist/client/assets/{sparkles-Cm5WG6yy.js → sparkles-VMoDkivK.js} +1 -1
- package/dist/client/assets/{stateDiagram-D77RDMKH-CxWjp4b2.js → stateDiagram-D77RDMKH-BXufbeMX.js} +1 -1
- package/dist/client/assets/stateDiagram-D77RDMKH-BXufbeMX.js.br +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-BXufbeMX.js.gz +0 -0
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-QrSvO0ee.js +1 -0
- package/dist/client/assets/{swimlanes-42K2YHIH-gPs5aEkb.js → swimlanes-42K2YHIH-DrRwVG23.js} +1 -1
- package/dist/client/assets/swimlanes-42K2YHIH-DrRwVG23.js.br +0 -0
- package/dist/client/assets/swimlanes-42K2YHIH-DrRwVG23.js.gz +0 -0
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-C1DRM79Q.js +8 -0
- package/dist/client/assets/{timeline-definition-24CTP7MA-CSCxdiQd.js → timeline-definition-24CTP7MA-CWgWzJ8C.js} +1 -1
- package/dist/client/assets/timeline-definition-24CTP7MA-CWgWzJ8C.js.br +0 -0
- package/dist/client/assets/timeline-definition-24CTP7MA-CWgWzJ8C.js.gz +0 -0
- package/dist/client/assets/{triangle-alert-CgKcVAti.js → triangle-alert-BvcHjqm6.js} +1 -1
- package/dist/client/assets/{vennDiagram-4TSXK5OY-BY2UkIDT.js → vennDiagram-4TSXK5OY-CRUebJIC.js} +1 -1
- package/dist/client/assets/vennDiagram-4TSXK5OY-CRUebJIC.js.br +0 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-CRUebJIC.js.gz +0 -0
- package/dist/client/assets/{wardleyDiagram-VM6X3IG4-D8yK4oK5.js → wardleyDiagram-VM6X3IG4-BFSHgvns.js} +1 -1
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-BFSHgvns.js.br +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-BFSHgvns.js.gz +0 -0
- package/dist/client/assets/{xychartDiagram-S5SC5T6Z-C4MnXqQN.js → xychartDiagram-S5SC5T6Z-B9YiYLj1.js} +1 -1
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-B9YiYLj1.js.br +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-B9YiYLj1.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/dist/server/android/liveBitrate.js +78 -18
- package/dist/server/android/scrcpy.js +20 -6
- package/dist/server/routes/android.js +3 -2
- package/dist/server/routes/filesystem.js +29 -15
- package/package.json +1 -1
- package/runtime-manifest.json +3 -3
- package/scripts/android-bitrate/CaptureReset.java +17 -7
- package/scripts/android-bitrate/README.md +18 -6
- package/scripts/android-bitrate/bitrate.jar +0 -0
- package/scripts/android-bitrate/fetch-server.sh +12 -0
- package/scripts/android-bitrate/scrcpy-server-v3.3.4 +0 -0
- package/dist/client/assets/App-BqE8LI-u.js.br +0 -0
- package/dist/client/assets/App-BqE8LI-u.js.gz +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-DQ9OebFq.js.br +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-DQ9OebFq.js.gz +0 -0
- package/dist/client/assets/DagPlayground-DeV5N-IP.js.br +0 -0
- package/dist/client/assets/DagPlayground-DeV5N-IP.js.gz +0 -0
- package/dist/client/assets/DiffLab-O24yUnne.js.br +0 -0
- package/dist/client/assets/DiffLab-O24yUnne.js.gz +0 -0
- package/dist/client/assets/DiffReview-D4QwNQmG.js.br +0 -0
- package/dist/client/assets/DiffReview-D4QwNQmG.js.gz +0 -0
- package/dist/client/assets/DiffReviewLab-CQC9aCyy.js.br +0 -0
- package/dist/client/assets/DiffReviewLab-CQC9aCyy.js.gz +0 -0
- package/dist/client/assets/DiffViewer-Bw703Keh.js.br +0 -0
- package/dist/client/assets/DiffViewer-Bw703Keh.js.gz +0 -0
- package/dist/client/assets/ModelPreview-iqwfAi-Q.js.br +0 -0
- package/dist/client/assets/ModelPreview-iqwfAi-Q.js.gz +0 -0
- package/dist/client/assets/RightSidebar-CJ5Ro_lE.js.br +0 -0
- package/dist/client/assets/RightSidebar-CJ5Ro_lE.js.gz +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-CPSz-oKS.js.br +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-CPSz-oKS.js.gz +0 -0
- package/dist/client/assets/app-CG4wRJiV.js.br +0 -0
- package/dist/client/assets/app-CG4wRJiV.js.gz +0 -0
- package/dist/client/assets/arc-DEku29dO.js.br +0 -0
- package/dist/client/assets/arc-DEku29dO.js.gz +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-D-mHitIB.js.br +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-D-mHitIB.js.gz +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-CrNXWWMo.js.br +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-CrNXWWMo.js.gz +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-Aabqu3DW.js.gz +0 -0
- package/dist/client/assets/channel-C8osiAYX.js +0 -1
- package/dist/client/assets/chunk-F27PBJKO-B1Xs_Obp.js.br +0 -0
- package/dist/client/assets/chunk-F27PBJKO-B1Xs_Obp.js.gz +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-DGBc6K0o.js.br +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-DGBc6K0o.js.gz +0 -0
- package/dist/client/assets/chunk-SVP7TREG-BEAii929.js.br +0 -0
- package/dist/client/assets/chunk-SVP7TREG-BEAii929.js.gz +0 -0
- package/dist/client/assets/chunk-TICWLB2K-DYDwgjz6.js.br +0 -0
- package/dist/client/assets/chunk-TICWLB2K-DYDwgjz6.js.gz +0 -0
- package/dist/client/assets/classDiagram-ZZMXUADV-Dym5rIMp.js +0 -1
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-Dym5rIMp.js +0 -1
- package/dist/client/assets/cose-bilkent-JH36ORCC-B_LczeML.js.br +0 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-B_LczeML.js.gz +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-iUNCJhXp.js.br +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-iUNCJhXp.js.gz +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-D0qz1YON.js.br +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-D0qz1YON.js.gz +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-DoNbof8W.js.br +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-DoNbof8W.js.gz +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-CjmclMId.js.br +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-CjmclMId.js.gz +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-CL9cPDna.js.br +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-CL9cPDna.js.gz +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-BuSsBHdW.js.br +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-BuSsBHdW.js.gz +0 -0
- package/dist/client/assets/diagram-VX7I27RA-83S-m6VI.js.br +0 -0
- package/dist/client/assets/diagram-VX7I27RA-83S-m6VI.js.gz +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-DVBe23Hs.js.br +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-DVBe23Hs.js.gz +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-Dg-KWuTD.js.br +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-Dg-KWuTD.js.gz +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-DSSWaahL.js.br +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-DSSWaahL.js.gz +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-BdLuB2iN.js.br +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-BdLuB2iN.js.gz +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-Chs1ygCY.js.br +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-Chs1ygCY.js.gz +0 -0
- package/dist/client/assets/gestureArbiter-CRTAj9c5.js.br +0 -0
- package/dist/client/assets/gestureArbiter-CRTAj9c5.js.gz +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-BAo61MYb.js.br +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-BAo61MYb.js.gz +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-CbDv2mvs.js.br +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-CbDv2mvs.js.gz +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-CV_iBuZn.js.br +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-CV_iBuZn.js.gz +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-C7O4Bh1q.js.br +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-C7O4Bh1q.js.gz +0 -0
- package/dist/client/assets/layout-klNTG6uR.js.br +0 -0
- package/dist/client/assets/layout-klNTG6uR.js.gz +0 -0
- package/dist/client/assets/linear-BGNAzPTT.js.br +0 -0
- package/dist/client/assets/linear-BGNAzPTT.js.gz +0 -0
- package/dist/client/assets/mermaid.core-BSzAHLGl.js.br +0 -0
- package/dist/client/assets/mermaid.core-BSzAHLGl.js.gz +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-p44N-fmd.js.br +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-p44N-fmd.js.gz +0 -0
- package/dist/client/assets/passwordBootstrap-FAUekDm3.js.gz +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-D_9s0OO_.js.br +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-D_9s0OO_.js.gz +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-B7EbdgJt.js.br +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-B7EbdgJt.js.gz +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-BY028AbD.js.br +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-BY028AbD.js.gz +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-C_SqJJH4.js.br +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-C_SqJJH4.js.gz +0 -0
- package/dist/client/assets/referenceLongPress-zPADrRaZ.js.br +0 -0
- package/dist/client/assets/referenceLongPress-zPADrRaZ.js.gz +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-CROJTpxc.js.br +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-CROJTpxc.js.gz +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-CiWfwd5j.js.br +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-CiWfwd5j.js.gz +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-Bv-q4vX3.js.br +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-Bv-q4vX3.js.gz +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-TQt_I2TN.js.br +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-TQt_I2TN.js.gz +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-CxWjp4b2.js.br +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-CxWjp4b2.js.gz +0 -0
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-DALwTJPG.js +0 -1
- package/dist/client/assets/swimlanes-42K2YHIH-gPs5aEkb.js.br +0 -0
- package/dist/client/assets/swimlanes-42K2YHIH-gPs5aEkb.js.gz +0 -0
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DZL57C2F.js +0 -8
- package/dist/client/assets/timeline-definition-24CTP7MA-CSCxdiQd.js.br +0 -0
- package/dist/client/assets/timeline-definition-24CTP7MA-CSCxdiQd.js.gz +0 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-BY2UkIDT.js.br +0 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-BY2UkIDT.js.gz +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-D8yK4oK5.js.br +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-D8yK4oK5.js.gz +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-C4MnXqQN.js.br +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-C4MnXqQN.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{a5 as Tr,cL as mt,bh as e,g as eo,cV as Mt,bz as ut,a as Ts,aQ as tu,C as Mi,c as Is,X as Kt,cI as $i,L as wt,b5 as _h,F as ws,ao as Bh,cP as J,b9 as Oh,bb as Zi,bc as Uh,bd as ru,ba as ks,aB as Hh,E as zh,i as Wh,b8 as Gh,bB as Kh,bD as qh,bE as Vh,b0 as Yh,bC as ed,z as jt,f as Xh,w as Jh,b as Qh,cK as td,a$ as rd,ax as nd,at as Zh,aF as ci,aG as sd,cW as $s,ak as Ss,aH as em,cJ as Ia,bt as tm,cu as ad,az as rm,cG as nm,c2 as sm,aK as am,Q as od,O as om,au as im,ay as lm,aD as id,c4 as cm,s as dm,d as Da,m as ld,x as nu,af as um,_ as Ds,bY as fm,cT as hm,bo as mm,ai as pm}from"./app-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ModelPreview-38AXZG5e.js","assets/app-CojGYCuR.js","assets/react-XDCjal2T.js","assets/dnd-BCFAPC0L.js","assets/terminal-C7X98Amf.js","assets/index--h47b0ln.css","assets/App-B_gjv_L4.js","assets/gestureArbiter-CYcLJOkb.js","assets/gestureArbiter-C2J0D0kV.css","assets/triangle-alert-BvcHjqm6.js","assets/referenceLongPress-gi-7KSUT.js","assets/DiffReview-FIaqdDPy.js","assets/sparkles-VMoDkivK.js","assets/DiffViewer-CYEoT3NM.js","assets/DiffViewer-T3uj2-aP.css","assets/ChangeWalkthroughPanel-B7xfrwV0.js","assets/katex-55ZPZeOF.css","assets/mermaid.core-5yt2YuB8.js","assets/purify.es-4eNOHKSq.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{a5 as Tr,cL as mt,bh as e,g as eo,cV as Mt,bz as ut,a as Ts,aQ as tu,C as Mi,c as Is,X as Kt,cI as $i,L as wt,b5 as _h,F as ws,ao as Bh,cP as J,b9 as Oh,bb as Zi,bc as Uh,bd as ru,ba as ks,aB as Hh,E as zh,i as Wh,b8 as Gh,bB as Kh,bD as qh,bE as Vh,b0 as Yh,bC as ed,z as jt,f as Xh,w as Jh,b as Qh,cK as td,a$ as rd,ax as nd,at as Zh,aF as ci,aG as sd,cW as $s,ak as Ss,aH as em,cJ as Ia,bt as tm,cu as ad,az as rm,cG as nm,c2 as sm,aK as am,Q as od,O as om,au as im,ay as lm,aD as id,c4 as cm,s as dm,d as Da,m as ld,x as nu,af as um,_ as Ds,bY as fm,cT as hm,bo as mm,ai as pm}from"./app-CojGYCuR.js";import{b as a,r as Ir}from"./dnd-BCFAPC0L.js";import{r as su,l as gm,s as cd,w as Xa,g as bm,D as xm,J as vm,E as ym,V as wm,P as km,p as Sm,j as jm,M as Rm,R as Li,x as au,y as Cm,S as Xn,h as Nm,e as ou,c as Em,O as iu,A as dd,N as Mm,I as Fa,z as $m,B as Lm,K as ud,Q as fd,T as hd,H as md,f as pd,o as di,n as _a,d as Am,t as Pm,m as Tm,i as Im,u as Dm,F as gd,C as Fm,a as _m,G as Bm}from"./App-B_gjv_L4.js";import{a as bd,S as xd,b as lu,c as Ai,F as Om}from"./gestureArbiter-CYcLJOkb.js";import{D as Pi,C as Ls,L as cu,f as Um,n as Hm}from"./DiffReview-FIaqdDPy.js";import{T as zm,L as to,M as du,G as Ar}from"./triangle-alert-BvcHjqm6.js";import{S as Fs}from"./sparkles-VMoDkivK.js";import{C as uu,M as fu}from"./ChangeWalkthroughPanel-B7xfrwV0.js";import{r as hu,s as mu,l as pu,a as vd,h as Ti,u as Wm,g as Ii,b as gu}from"./DiffViewer-CYEoT3NM.js";import{u as bu,G as xu}from"./referenceLongPress-gi-7KSUT.js";const Gm=[["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"}]],Km=Tr("case-sensitive",Gm);const qm=[["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"}]],Vm=Tr("eye-off",qm);const Ym=[["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"}]],Di=Tr("eye",Ym);const Xm=[["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"}]],Fi=Tr("file-text",Xm);const Jm=[["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"}]],Qm=Tr("image-plus",Jm);const Zm=[["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"}]],ep=Tr("regex",Zm);const tp=[["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"}]],rp=Tr("scan",tp);const np=[["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"}]],sp=Tr("upload",np);const ap=[["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"}]],op=Tr("whole-word",ap);function yd({children:r,actions:n}){const{t:s}=mt(),[l,u]=a.useState(!1),c=a.useId(),h=a.useRef(null);return e.jsxs("div",{className:"mt-2",children:[e.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-1.5",children:[r,e.jsxs("button",{ref:h,type:"button","aria-expanded":l,"aria-controls":c,onClick:()=>u(m=>!m),className:`ml-auto inline-flex h-8 shrink-0 items-center gap-1 rounded-md px-2 text-[11px] font-medium transition active:scale-95 ${l?"bg-surface-elevated text-foreground":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,children:[e.jsx(eo,{size:14}),s("sidebar.moreActions")]})]}),l&&e.jsx("div",{id:c,role:"region","aria-label":s("sidebar.moreActions"),className:"mt-2 flex flex-wrap items-center gap-2 rounded-xl border border-border/15 bg-surface-2 p-2 [&_button]:min-h-9",onKeyDown:m=>{m.key!=="Escape"||!m.currentTarget.contains(m.target)||(m.stopPropagation(),u(!1),h.current?.focus())},children:n})]})}async function ip(r){let n;try{await Promise.race([r(),new Promise(s=>{n=setTimeout(s,3e3)})])}catch{}finally{clearTimeout(n)}}function lp({active:r,rootPath:n,loading:s,delay:l,lastStartedRoot:u,load:c}){a.useEffect(()=>{if(!r||!n||s||u.current===n)return;const h=window.setTimeout(()=>{u.current=n,c(n)},l);return()=>window.clearTimeout(h)},[r,n,s,l,u,c])}function cp(r,n,s){try{const l=r instanceof HTMLImageElement?r.naturalWidth:r.width,u=r instanceof HTMLImageElement?r.naturalHeight:r.height;if(!l||!u)return Promise.resolve(null);const c=r instanceof HTMLImageElement?1400/Math.max(l,u):Math.min(1,1400/Math.max(l,u)),h=document.createElement("canvas");h.width=Math.max(1,Math.round(l*c)),h.height=Math.max(1,Math.round(u*c));const m=h.getContext("2d");if(!m)return Promise.resolve(null);const g=getComputedStyle(document.documentElement);if(m.fillStyle=g.getPropertyValue("--surface").trim()||"white",m.fillRect(0,0,h.width,h.height),m.drawImage(r,0,0,h.width,h.height),s){const b=Math.max(10,Math.min(16,h.width/35));m.font=`${b}px sans-serif`;const f=[];let k="";for(const y of s.split(" "))k&&m.measureText(`${k} ${y}`).width>h.width-20?(f.push(k),k=y):k=k?`${k} ${y}`:y;k&&f.push(k),m.fillStyle=g.getPropertyValue("--surface").trim()||"white",m.fillRect(0,0,h.width,f.length*(b+4)+12),m.fillStyle=g.getPropertyValue("--foreground").trim()||"black",f.forEach((y,N)=>m.fillText(y,10,8+b+N*(b+4)))}if(n){const b=n.xPercent*h.width/100,f=n.yPercent*h.height/100,k=Math.max(4,Math.min(12,Math.min(h.width,h.height)*.015)),y=k*1.6;m.strokeStyle=g.getPropertyValue("--primary").trim()||"black",m.lineWidth=Math.max(1,k/3),m.beginPath(),m.arc(b,f,k,0,Math.PI*2),m.stroke(),m.beginPath(),m.moveTo(b-y,f),m.lineTo(b+y,f),m.moveTo(b,f-y),m.lineTo(b,f+y),m.stroke()}return new Promise(b=>h.toBlob(b,"image/png"))}catch{return Promise.resolve(null)}}function dp(r,n,s,l){return[r.trim(),n.trim(),l?`截图:${l}`:""].filter(Boolean).join(`
|
|
3
3
|
`)}function cx(r,n,s){const l=n*Math.PI/360,u=Math.min(l,Math.atan(Math.tan(l)*Math.max(s,.05)));return Math.max(r,1e-6)/Math.sin(u)*1.15}async function up(r,n,s,l){if(!s?.snapshot){l.isCurrent()&&l.insert(r,n);return}const u=new Date().toISOString(),c=new AbortController;let h,m;try{m=await Promise.race([(async()=>{const g=await s.snapshot;if(!(!g||c.signal.aborted||!l.isCurrent()))return l.upload(new File([g],`termdock-review-${crypto.randomUUID()}.png`,{type:"image/png"}),c.signal)})(),new Promise(g=>{h=setTimeout(()=>{c.abort(),g(void 0)},3e3)})])}catch{}finally{clearTimeout(h),c.abort()}l.isCurrent()&&l.insert(m?dp(r,"",u,m):r,n)}function fp(r,n){return r===n||n.endsWith(`/${r}`)||r.endsWith(`/${n}`)}function wd(r,n){return`${r??""}\0${n}`}function hp(r,n,s){if(!r||r.length===0||!s)return{explained:0,stale:0};const l=wd(n,s);let u=0,c=0;for(const h of r){const m=[h.filePath,h.newPath,h.oldPath].filter(b=>typeof b=="string"&&b.length>0);(m.some(b=>wd(h.repoRoot,b)===l)||m.some(b=>fp(b,s)))&&(u+=1)}return{explained:u,stale:c}}function mp({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 e.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?e.jsx(zm,{size:10}):e.jsx(Fs,{size:10})})}function _i({changeStatus:r,auditStatus:n,renderChangeBadge:s}){return e.jsxs("span",{className:"inline-flex items-center gap-1",children:[s(r),e.jsx(mp,{status:n})]})}const vu="termdock:right-sidebar:diff-change-list-mode:v1";function pp(r){return r==="list"||r==="tree"}function gp(){return ut(vu,pp)??"tree"}function bp(r){for(const l of r){const u=l.hunk;if(u.oldPath&&u.newPath&&u.oldPath!==u.newPath)return"renamed";if(!u.oldPath&&u.newPath)return"added";if(u.oldPath&&!u.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 xp(r){const n=new Map;for(const l of r){const u=n.get(l.hunk.filePath)??{key:l.hunk.filePath,filePath:l.hunk.filePath,items:[],additions:0,deletions:0,explained:0,stale:0,changeType:"modified"};u.items.push(l),u.additions+=l.hunk.additions,u.deletions+=l.hunk.deletions,l.current&&(u.explained+=1),l.stale&&(u.stale+=1),n.set(l.hunk.filePath,u)}const s=Array.from(n.values()).sort((l,u)=>l.filePath.localeCompare(u.filePath));for(const l of s)l.changeType=bp(l.items);return s}function vp(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 yp(r,n){const s=r.filter(c=>c.trim().length>0);if(s.length<=1)return s[0]??"";const l=[],u=new Set;for(const[c,h]of s.entries()){const m=h.split(`
|
|
4
4
|
`),g=m.findIndex(k=>k.startsWith("@@ "));if(g<0){l.push(...m);continue}c===0&&l.push(...m.slice(0,g));const b=n[c];let f=g;for(;f>=0&&f<m.length;){const k=m.findIndex(($,E)=>E>f&&$.startsWith("@@ ")),y=k>=0?k:m.length,N=m.slice(f,y),I=N[0]??"",_=b?I===b:!0,B=I||b||N.join(`
|
|
5
5
|
`);_&&!u.has(B)&&(l.push(...N),u.add(B)),f=k}}return l.join(`
|
|
@@ -1635,12 +1635,12 @@ function installPreviewRuntime(capability, base, externalOrigins, shimUrl) {
|
|
|
1635
1635
|
`,Ua="/api/terminal/fs/preview/",dg=8*1024*1024,ug=32*1024*1024,fg=128,hg="data:,";function Et(r){throw new Error(r)}function mg(r){return JSON.stringify(r).replace(/</g,"\\u003c")}async function Nd(r,n,s){let l="",u=0;for(const c of r.matchAll(n))l+=r.slice(u,c.index)+await s(c),u=c.index+c[0].length;return l+r.slice(u)}async function ju(r,n){const s=n.origin??location.origin,l=new URL(r,s);(l.origin!==s||!ws(l.pathname)?.startsWith(Ua))&&Et("预览地址不是有效的本地文件入口");const u=crypto.randomUUID(),c=`https://termdock-preview.invalid/${u}/`,h=[],m=W=>{!h.includes(W)&&h.length<20&&h.push(W)},g=new Set,b=[],f=new Set,k=new Map,y=new Map;let N=0,I=!1;const _=new Set,B=()=>{I=!0;for(const W of[..._])W();g.clear(),b.length=0};async function $(W){W.ok||Et(`预览资源读取失败(${W.status})`);const Y=W.body?.getReader(),A=[];let D=0;try{if(Y)for(;;){const le=await Y.read();if(le.done)break;D+=le.value.byteLength,N+=le.value.byteLength,(D>dg||N>ug)&&Et("预览资源超出大小限制"),A.push(le.value)}}catch(le){throw await Y?.cancel().catch(()=>{}),le}finally{Y?.releaseLock()}const K=new Uint8Array(D);let re=0;for(const le of A)K.set(le,re),re+=le.length;return{bytes:K,type:W.headers.get("content-type")??"application/octet-stream",status:W.status}}let E=l,C;for(let W=0;W<4;W++){const Y=await n.fetch(E.pathname+E.search,{signal:n.signal,redirect:"manual"});if(![301,302,303,307,308].includes(Y.status)){C=Y;break}const A=Y.headers.get("location");await Y.body?.cancel(),A||Et("预览重定向缺少目标");const D=new URL(A,E);(D.origin!==s||!ws(D.pathname)?.startsWith(Ua))&&Et("预览重定向越出文件范围"),E=D}C||Et("预览重定向次数过多");const M=ws(E.pathname),O=M.slice(Ua.length).split("/");/^[a-f0-9]{32}$/.test(O[0])||Et("服务未提供有效的预览资源授权");const F=ws(l.pathname).slice(Ua.length).split("/");/^[a-f0-9]{32}$/.test(F[0])&&F.shift(),F.join("/").replace(/\/$/,"")!==O.slice(1).join("/").replace(/\/$/,"")&&Et("预览重定向改变了文件范围");const p=M.endsWith("/")?M:M.slice(0,M.lastIndexOf("/")+1),i=new URL(E.pathname.endsWith("/")?E.pathname:E.pathname.slice(0,E.pathname.lastIndexOf("/")+1),s);function U(W,Y){const A=new URL(W,Y);return A.origin!==s?null:(ws(A.pathname)?.startsWith(p)||Et("已阻止预览访问目录之外的资源"),A)}function R(W){const Y=new URL(W,c);(Y.origin!==new URL(c).origin||!Y.pathname.startsWith(new URL(c).pathname))&&Et("已阻止预览访问服务接口或目录之外的资源");const A=Y.pathname.slice(new URL(c).pathname.length)+Y.search;return U(A,i)??Et("预览资源无效")}function G(W){const Y=W.pathname+W.search,A=k.get(Y);if(A)return A;if(I||n.signal?.aborted)return Promise.reject(new Error("预览已关闭"));if(k.size>=fg)return Promise.reject(new Error("预览资源数量超出限制"));const D=n.fetch(Y,{signal:n.signal,redirect:"manual"}).then($);return k.set(Y,D),D}function fe(W,Y){I&&Et("预览已关闭");const A=`termdock-resource-${u}-${b.length}`;return b.push({token:A,data:W,type:Y}),g.add(A),A}async function te(W,Y,A,D=new Set){if(!W||W.startsWith("#")||/^data:(?:image|font)\//i.test(W)&&A==="resource")return W;try{const K=U(W,Y);if(!K){const Ee=new URL(W,Y);return(Ee.protocol!=="https:"||Ee.username||Ee.password||Ee.origin===new URL(c).origin)&&Et("已阻止不安全的外部资源"),f.add(Ee.origin),Ee.href}const re=`${A}:${K.href}`;(D.has(re)||D.size>=8)&&Et("预览资源存在循环或过深引用");const le=y.get(re);if(le)return le;const ve=new Set(D);ve.add(re);const pe=(async()=>{const Ee=await G(K);return A==="css"?fe(await xe(new TextDecoder().decode(Ee.bytes),K,ve),"text/css"):A==="script"?fe(Ee.bytes,"text/javascript"):fe(Ee.bytes,Ee.type)})();return y.set(re,pe),await pe}catch(K){return m(K instanceof Error?K.message:"部分预览资源未能加载"),hg}}async function xe(W,Y,A){return W=await Nd(W,/@import\s+(?:url\(\s*)?["']([^"']+)["']\s*\)?([^;]*);/gi,async D=>`@import url("${await te(D[1],Y,"css",A)}")${D[2]};`),Nd(W,/url\(\s*(?:"([^"]*)"|'([^']*)'|([^)]*))\s*\)/gi,async D=>{const K=(D[1]??D[2]??D[3]).trim();return g.has(K)?D[0]:`url("${await te(K,Y,"resource",A)}")`})}try{const W=await $(C),Y=fe(lg,"text/javascript"),A=new DOMParser().parseFromString(new TextDecoder().decode(W.bytes),"text/html");A.querySelectorAll("base,meta[http-equiv],iframe,frame,object,embed").forEach(L=>L.remove());for(const L of A.querySelectorAll("*")){if(L.removeAttribute("ping"),L.removeAttribute("srcdoc"),L.hasAttribute("style")&&L.setAttribute("style",await xe(L.getAttribute("style"),E,new Set)),L.tagName==="STYLE"&&(L.textContent=await xe(L.textContent??"",E,new Set)),L.tagName==="A"||L.tagName==="AREA"){const Q=L.getAttribute("href");try{if(Q&&!Q.startsWith("#")){const he=U(Q,E);if(he)L.setAttribute("href",new URL(he.pathname.slice(i.pathname.length)+he.search+he.hash,c).href);else{const Ne=new URL(Q,E);if(Ne.protocol!=="https:"){L.removeAttribute("href");continue}f.add(Ne.origin),L.setAttribute("href",Ne.href)}}}catch(he){L.removeAttribute("href"),m(he instanceof Error?he.message:"预览链接无法加载")}}for(const Q of["data","manifest"])L.removeAttribute(Q);if(L.tagName==="SCRIPT"&&L.getAttribute("type")==="module"){L.setAttribute("type","module-shim");const Q=L.getAttribute("src");if(Q){const he=U(Q,E);if(he)L.setAttribute("src",new URL(he.pathname.slice(i.pathname.length)+he.search,c).href);else{const Ne=new URL(Q,E);if(Ne.protocol!=="https:"){L.remove();continue}f.add(Ne.origin),L.setAttribute("src",Ne.href)}}continue}if(L.tagName==="SCRIPT"&&L.getAttribute("type")==="importmap"){L.setAttribute("type","importmap-shim");continue}if(L.tagName==="LINK"){const Q=(L.getAttribute("rel")??"").toLowerCase();if(!["stylesheet","icon"].includes(Q)){L.remove();continue}const he=L.getAttribute("href");he&&L.setAttribute("href",await te(he,E,Q==="stylesheet"?"css":"resource"))}if(L.hasAttribute("src")&&L.setAttribute("src",await te(L.getAttribute("src"),E,L.tagName==="SCRIPT"?"script":"resource")),L.hasAttribute("poster")&&L.setAttribute("poster",await te(L.getAttribute("poster"),E,"resource")),L.hasAttribute("srcset")){const Q=L.getAttribute("srcset");/data:/i.test(Q)?(L.removeAttribute("srcset"),m("混合内嵌图片候选暂不支持安全预览")):L.setAttribute("srcset",(await Promise.all(Q.split(",").map(async he=>{const[Ne,...Ve]=he.trim().split(/\s+/);return`${await te(Ne,E,"resource")} ${Ve.join(" ")}`}))).join(", "))}L.setAttribute("referrerpolicy","no-referrer"),L.removeAttribute("integrity"),L.removeAttribute("crossorigin")}const D=[...f].join(" "),K=A.createElement("meta");K.httpEquiv="Content-Security-Policy",K.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} ${[...f].map(L=>L.replace(/^https:/,"wss:")).join(" ")}; worker-src blob:; frame-src 'none'; object-src 'none'; base-uri https://termdock-preview.invalid; form-action 'none'`;const re=A.createElement("base");re.href=c;const le=A.createElement("meta");le.name="referrer",le.content="no-referrer";const ve=A.createElement("script");ve.textContent=cg+`
|
|
1636
1636
|
installPreviewRuntime(`+[u,c,[...f],Y].map(mg).join(",")+");";const pe=A.createElement("script");pe.src=Y,A.head.prepend(K,le,re,ve,pe);const Ee=`<!doctype html>
|
|
1637
1637
|
`+A.documentElement.outerHTML;return{html:Ee,shellUrl:`/preview-shell.html#${u}`,errors:h,attach(L,Q){const he=new Set,Ne=Re=>{if(Re.source!==L.contentWindow||Re.data?.capability!==u)return;if(Re.data.type==="preview-ready"){L.contentWindow?.postMessage({type:"preview-init",capability:u,html:Ee,resources:b},"*");return}if(Re.data.type==="preview-error"){Q("部分动态内容被安全预览限制");return}if(Re.data.type==="preview-navigate"){(async()=>{const Ie=R(String(Re.data.url)),S=await ju(Ie.pathname+Ie.search,n);if(I){S.dispose();return}const Z=S.attach(L,Q);_.add(()=>{Z(),S.dispose()}),L.src=S.shellUrl.replace("#","?navigation="+crypto.randomUUID()+"#")})().catch(Ie=>Q(Ie instanceof Error?Ie.message:"无法打开预览页面"));return}if(Re.data.type==="preview-external"){try{const Ie=new URL(String(Re.data.url));Ie.protocol==="https:"&&f.has(Ie.origin)&&window.open(Ie.href,"_blank","noopener,noreferrer")}catch{}return}if(Re.data.type!=="preview-fetch"||Re.ports.length!==1)return;const Ye=Re.ports[0];if(he.size>=8||!["GET","HEAD"].includes(Re.data.method)){Ye.postMessage({error:"预览仅允许读取已授权目录资源"}),Ye.close();return}he.add(Ye),(async()=>{const Ie=R(String(Re.data.url)),S=await G(Ie);if(!he.has(Ye)||I)return;const Z=Re.data.method==="HEAD"?new Uint8Array:S.bytes.slice();Ye.postMessage({status:S.status,headers:{"content-type":S.type},data:Z.buffer},[Z.buffer])})().catch(()=>{Ye.postMessage({error:"预览资源不在授权范围或无法加载"}),Q("部分动态资源不可用或超出预览目录")}).finally(()=>{he.delete(Ye),Ye.close()})};window.addEventListener("message",Ne);const Ve=()=>{window.removeEventListener("message",Ne);for(const Re of he)Re.close();he.clear(),_.delete(Ve)};return _.add(Ve),Ve},dispose:B}}catch(W){throw B(),W}}const pg=a.forwardRef(function({src:n,title:s,exitFullscreenLabel:l,onFullscreenChange:u},c){const h=a.useRef(null),[m,g]=a.useState(null),[b,f]=a.useState(),[k,y]=a.useState("");a.useEffect(()=>{const M=new AbortController;let O;return f(void 0),y(""),(async()=>{const F=await Bh();if(O=await ju(n,{fetch:(p,i)=>F.fetch(p,i),signal:M.signal}),M.signal.aborted){O.dispose();return}f(O),O.errors.length&&y(O.errors.join(";"))})().catch(F=>{M.signal.aborted||y(F instanceof Error?F.message:"安全预览加载失败")}),()=>{M.abort(),O?.dispose()}},[n]),a.useEffect(()=>{if(!(!b||!m))return b.attach(m,y)},[b,m]);const[N,I]=a.useState(!1),[_,B]=a.useState(!1),$=N||_;a.useEffect(()=>{u?.($)},[$,u]),a.useEffect(()=>{const M=()=>{I(document.fullscreenElement===h.current)};return document.addEventListener("fullscreenchange",M),()=>document.removeEventListener("fullscreenchange",M)},[]),a.useEffect(()=>{if(!_)return;const M=O=>{O.key==="Escape"&&B(!1)};return document.addEventListener("keydown",M),()=>document.removeEventListener("keydown",M)},[_]);const E=a.useCallback(async()=>{const M=h.current;if(M){if(_){B(!1);return}if(document.fullscreenElement===M){await document.exitFullscreen();return}if(M.requestFullscreen&&document.fullscreenEnabled!==!1)try{await M.requestFullscreen();return}catch{}B(!0)}},[_]);a.useImperativeHandle(c,()=>({toggleFullscreen:E}),[E]);const C=e.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:[$&&e.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:[e.jsx("span",{className:"min-w-0 truncate text-[12px] font-semibold",children:s}),e.jsx("button",{type:"button",onClick:()=>{E()},"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:e.jsx(fu,{size:15})})]}),k&&e.jsx("div",{role:"status",className:"shrink-0 border-b border-border px-3 py-2 text-xs text-muted-foreground",children:k}),!b&&!k&&e.jsx("div",{role:"status",className:"p-3 text-xs text-muted-foreground",children:"正在安全加载预览资源…"}),e.jsx("iframe",{ref:g,src:b?.shellUrl,referrerPolicy:"no-referrer",title:s,sandbox:"allow-scripts",className:"block min-h-0 w-full flex-1 border-0 bg-white"})]});return _?Ir.createPortal(C,document.body):C}),Ru="termdock-file-search-match",Ui="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 bg(r){return r.parentElement?.closest("[data-markdown-preview-block-start], [data-file-preview-line]")??null}function xg(r,n){const s=n.trim().toLocaleLowerCase();if(!s)return[];const l=[];let u="",c=null;const h=document.createTreeWalker(r,NodeFilter.SHOW_TEXT);for(let f=h.nextNode();f;f=h.nextNode()){if(!(f instanceof Text)||!f.data)continue;const k=bg(f);if(!k)continue;c&&c!==k&&(u+=`
|
|
1638
|
-
`);const y=u.length;u+=f.data,l.push({node:f,start:y,end:u.length,group:k}),c=k}const m=u.toLocaleLowerCase(),g=[];let b=0;for(;b<=m.length-s.length;){const f=m.indexOf(s,b);if(f<0)break;const k=f+s.length,y=l.find(I=>I.start<=f&&I.end>f),N=l.find(I=>I.start<k&&I.end>=k);if(y&&N&&y.group===N.group){const I=document.createRange();I.setStart(y.node,f-y.start),I.setEnd(N.node,k-N.start),g.push(I)}b=f+Math.max(s.length,1)}return g}function Cu(){return typeof CSS<"u"&&CSS.highlights?CSS.highlights:null}function Ha(){const r=Cu();r?.delete(Ru),r?.delete(Ui)}function Ed(r,n){const s=Cu();if(!s||typeof Highlight>"u")return;s.set(Ru,new Highlight(...r));const l=r[n];l?s.set(Ui,new Highlight(l)):s.delete(Ui)}function Md(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 wg(r,n){if(n===r)return".";const s=`${r.replace(/[\\/]+$/,"")}/`;return n.startsWith(s)?n.slice(s.length):n}function Nu(r,n,s){return n?r:Ir.createPortal(r,s)}const el="termdock:right-sidebar:file-tree-scroll:v1",tl="termdock:right-sidebar:file-preview-reading-state:v1",Es="termdock:right-sidebar:file-tree-width:v1",Eu="termdock:right-sidebar:markdown-view-mode:v1",Mu="termdock:right-sidebar:diff-change-list-mode:v1",$u="termdock:right-sidebar:diff-wrap:v1",Lu="termdock:diff-viewer:view-type:v1",Au="termdock:right-sidebar:file-search-mode:v1",hi="termdock:right-sidebar:collapsed-git-repo-groups:v1",$d="termdock:right-sidebar:collapsed-diff-directories:v1",mi="termdock:right-sidebar:branch-audit-module-open:v1",Pu="termdock:right-sidebar:branch-audit-module:v1",kg=150,Ld="termdock:right-sidebar:context-draft-enabled:v1",Ad="termdock:right-sidebar:context-draft-collapsed:v1",Pd="termdock:right-sidebar:context-draft-auto-collapse:v1",pi="termdock:right-sidebar:context-draft-text:v1",Sg=300,jg=20,Rg=120,Cg=250,Ng=250,Eg=120,Mg=700,gi=600,$g=6e4;function js(r){return!!(r&&J.getState().nestedGitScanRoots[r])}const Td=[2e3,5e3,15e3,3e4],Lg=320,Ag=500,Pg=20,Tg=12e3,Hi=300,Id=240,Ig=560,Tu="border-r px-2 py-1.5 sm:px-3 sm:py-2",ro="min-w-full max-w-[18rem] whitespace-normal break-words sm:max-w-[27rem]",Iu=`${Tu} border-b border-border/15 font-semibold last:border-r-0`,Du=`${Tu} border-border/10 align-top text-muted-foreground last:border-r-0`,rl="termdock-file-preview-horizontal-scroll",Dd=a.lazy(()=>Ds(()=>import("./ModelPreview-iqwfAi-Q.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]))),Fu=`${rl} termdock-md-table-scroll max-w-full overflow-x-auto overflow-y-hidden rounded-lg border border-border/20 bg-surface`;function _u(r,n,s){return r&&!n?"unified":s}const Dg=new Set([".md",".markdown",".mdown",".mkdn",".mkd"]);function Fg(r){return r==="preview"||r==="source"}function _g(r){return r==="list"||r==="tree"||r==="ai"}function Fd(){return ut(Eu,Fg)??"preview"}function Bg(){return ut(Mu,_g)??"tree"}function Ms(r){return typeof r=="boolean"}function Og(r){return typeof r=="string"}function Ug(){return ut($u,Ms)??!0}function Hg(r){return r==="unified"||r==="split"}function zg(){return ut(Lu,Hg)??"unified"}function Wg(r){return r==="name"||r==="content"||r==="regex"}function Gg(){return ut(Au,Wg)??"name"}function Bu(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 Kg(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 zi(r){return!r.activeGitRepoRoot&&(r.groupCount>1||r.label!==r.rootName)}function Ou(...r){const n=new Set;for(const s of r)for(const l of s)n.add(l.root);return n}function Wi(r){return Array.isArray(r)&&r.every(n=>typeof n=="string")}function _d(r){const n=ut(r,Wi);return n?new Set(n):new Set}function bi(r,n){Mt(r,[...n])}function qg(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 Vg(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||Wi(n.files))&&(n.hunks===void 0||Array.isArray(n.hunks)&&n.hunks.every(qg))&&(n.commits===void 0||Wi(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 Yg(r){if(!r||typeof r!="object"||Array.isArray(r))return!1;const n=r;return typeof n.key=="string"&&Vg(n.diff)&&typeof n.repoLabel=="string"&&typeof n.createdAt=="number"}function Xg(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(Yg))&&(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.includeUncommitted===void 0||typeof s.includeUncommitted=="boolean")&&typeof s.updatedAt=="number"})}function Bd(){return ut(Pu,Xg)??{}}function Od(r){return[r.repoRoot,r.baseRef,r.branchName??"",r.headRef??"",r.diffFingerprint??""].join("\0")}function Ud(r){const n=r?.trim()??"",s=n.indexOf("/");return s>=0?n.slice(s+1):n}function Uu(r,n){const s=r?.trim(),l=n?.trim();return!s||!l?!1:s===l||Ud(s)===Ud(l)}function Hd(r){const n=r?.branch??null;return[r?.upstream,...r?.remoteBranches??[],...r?.branches??[]].find(l=>l&&!Uu(l,n))??""}function Gi(r,n){const s=Math.max(Id,n-320),l=Math.min(Ig,s);return Math.min(l,Math.max(Id,r))}function Jg(r){return typeof r=="number"&&Number.isFinite(r)}function Qg(r){return Gi(ut(Es,Jg)??Hi,r)}function Hu(r){const n=r.split(/[\\/]/).pop()??r,s=n.lastIndexOf(".");return s>=0?n.slice(s).toLowerCase():""}function Rs(r){return Dg.has(Hu(r))}function zu(r){const n=r.trim().replace(/\s+/g,"");return/^-{3,}$/.test(n)||/^\*{3,}$/.test(n)||/^_{3,}$/.test(n)}function Ki(r){const n=r.trim();return/^#{1,6}\s+/.test(n)||zu(r)||/^>\s?/.test(n)||/^(```|~~~)/.test(n)||/^(?:[-+*]|\d+[.)])\s+/.test(n)}function Wu(r){const n=r.trim();return/^(https?:|mailto:|#|\/|\.\/|\.\.\/)/i.test(n)||!/^[a-z][a-z0-9+.-]*:/i.test(n)&&!/[<>]/.test(n)?n:null}const Gu=a.createContext(null);function Qa(r){return r.trim().replace(/\s+/g," ").toLowerCase()}function Ku(r){return r.replace(/!\[([^\]]*)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\[[^\]]*\]/g,"$1").replace(/[`*_~]/g,"").replace(/<[^>]+>/g,"").trim()}function qu(r){return r.replace(/\s+#+\s*$/,"").trim()}function qi(r,n){const l=Ku(r).toLowerCase().replace(/[^\p{L}\p{N}\s-]/gu,"").trim().replace(/\s+/g,"-")||"section",u=n.headingSlugCounts.get(l)??0;return n.headingSlugCounts.set(l,u+1),u===0?l:`${l}-${u}`}function zd(r){return Ku(r)||r.trim()}function no(r){const n=r.match(/^\s{0,3}\[([^\]]+)\]:\s+(.+?)\s*$/);if(!n)return null;const s=Yi(n[2]);return s?{id:Qa(n[1]),definition:{href:s.href,title:s.title}}:null}function Zg(r){const n=new Map;for(const s of r){const l=no(s);l&&n.set(l.id,l.definition)}return n}function Vu(r){return r.trim().toLowerCase()}function Yu(r){const n=r.match(/^\s{0,3}\[\^([^\]]+)\]:\s+(.+)\s*$/);return n?{id:Vu(n[1]),text:n[2]}:null}function eb(r){const n=new Map;let s=null;for(const l of r){const u=Yu(l);if(u){s=u.id,n.set(u.id,{id:u.id,text:u.text,index:n.size+1});continue}if(s&&/^\s{4,}\S/.test(l)){const c=n.get(s);c&&(c.text=`${c.text} ${l.trim()}`);continue}l.trim()&&(s=null)}return n}function Xu(r){const n=new Set;let s=!1;return r.forEach((l,u)=>{if(Yu(l)){n.add(u),s=!0;return}if(s&&/^\s{4,}\S/.test(l)){n.add(u);return}l.trim()&&(s=!1)}),n}function tb(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 u=r[s].trim();if(u.startsWith("<!--")){if(n[s]="",!u.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 Ju(r){const n=r.replace(/\/+$/,""),s=n.lastIndexOf("/");return s<=0?s===0?"/":"":n.slice(0,s)}function As(r){const n=r.split(/[?#]/,1)[0],s=n.startsWith("/"),l=[];for(const c of n.split("/"))if(!(!c||c===".")){if(c===".."){l.length>0&&l.pop();continue}l.push(c)}return`${s?"/":""}${l.join("/")}`||(s?"/":".")}function nl(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 u=l.indexOf("#"),c=u>=0?l.slice(0,u):l,h=u>=0?l.slice(u+1):"",m=c.split("?",1)[0];if(!m)return null;let g,b=null;try{g=decodeURIComponent(m),b=h?decodeURIComponent(h):null}catch{return null}const f=s?As(s):null;let k;if(g.startsWith("/")){const y=f&&(g===f||g.startsWith(`${f}/`));k=As(f&&!y?`${f}/${g.slice(1)}`:g)}else{if(!n)return null;k=As(`${Ju(n)}/${g}`)}return f&&k!==f&&!k.startsWith(`${f}/`)?null:{path:k,fragment:b,directory:/\/$/.test(m)}}function sl(r,n,s,l,u){const c=r.trim();if(!c||/^(?:javascript|data):/i.test(c))return null;if(/^https?:\/\//i.test(c))return c;if(!l(c.split(/[?#]/,1)[0]))return null;let h;if(c.startsWith("/")){const m=s&&(c===s||c.startsWith(`${s}/`));h=As(s&&!m?`${s}/${c.slice(1)}`:c)}else{if(!n)return null;h=As(`${Ju(n)}/${c}`)}return u(h)}function rb(r,n,s){return sl(r,n,s,Zi,l=>`/api/terminal/fs/blob?path=${encodeURIComponent(l)}`)}function nb(r,n,s){return sl(r,n,s,ru,nu)}const Vi=128,sb=360,xi=480;function fo(r){try{return/\.svg(?=$|[?#&])/i.test(decodeURIComponent(r))}catch{return!1}}function Qu(r,n,s,l,u=0){if(!n||!s)return null;let c,h;return u>0?(c=l>0?Math.min(u,l):u,h=s*c/n):fo(r)?(h=Math.min(Math.max(s,Vi),sb),c=n*h/s):(c=n,h=s),l>0&&c>l&&(h=h*l/c,c=l),h>xi&&(c=c*xi/h,h=xi),{width:Math.max(1,Math.round(c)),height:Math.max(1,Math.round(h))}}function ab(r){if(!r.startsWith("/api/terminal/fs/blob?"))return null;try{return new URLSearchParams(r.slice(r.indexOf("?"))).get("path")}catch{return null}}function Zu(r){const n=ab(r),s=J(l=>n?(l.fileChangeVersions.get(n)??0)+l.fileWatchEpoch:0);return n&&s>0?`${r}&v=${s}`:r}function ob({src:r,alt:n,title:s,requestedWidthPx:l}){const u=fo(r),c=Zu(r),h=co(c),m=a.useRef(null),[g,b]=a.useState(!1),[f,k]=a.useState(0),[y,N]=a.useState({status:"loading"}),[I,_]=a.useState(null);a.useLayoutEffect(()=>{const E=m.current,C=E?.parentElement?.parentElement??E?.parentElement;if(!C)return;const M=()=>k(C.clientWidth);if(M(),typeof ResizeObserver>"u")return;const O=new ResizeObserver(M);return O.observe(C),()=>O.disconnect()},[]),a.useEffect(()=>{if(g)return;const E=m.current;if(!E||typeof IntersectionObserver>"u"){b(!0);return}const C=new IntersectionObserver(M=>{M.some(O=>O.isIntersecting)&&(b(!0),C.disconnect())},{rootMargin:"400px"});return C.observe(E),()=>C.disconnect()},[g]),a.useEffect(()=>{if(!g)return;const E=new AbortController;let C=null;N({status:"loading"});const M=window.setTimeout(()=>{E.abort(new DOMException("Image fetch timed out","TimeoutError"))},15e3);return pm(c,{signal:E.signal}).then(async O=>{if(!O.ok)throw new Error(`HTTP ${O.status}`);const F=Number(O.headers.get("X-Image-Width"))||0,p=Number(O.headers.get("X-Image-Height"))||0;return{blob:await O.blob(),width:F,height:p}}).then(({blob:O,width:F,height:p})=>{E.signal.aborted||(C=URL.createObjectURL(O),F>0&&p>0&&_({width:F,height:p}),N({status:"ready",objectUrl:C}))}).catch(()=>{const O=E.signal.reason;E.signal.aborted&&!(O instanceof DOMException&&O.name==="TimeoutError")||N({status:"fallback"})}).finally(()=>{window.clearTimeout(M)}),()=>{window.clearTimeout(M),E.abort(),C&&URL.revokeObjectURL(C)}},[g,c]);const B=Qu(r,I?.width??0,I?.height??0,f,l??0),$=B??(l?{width:f>0?Math.min(l,f):l,height:Math.round(l*.75)}:{width:Vi*2,height:Vi});return e.jsx("div",{ref:m,className:"block max-w-full",style:B?{width:B.width,height:B.height}:void 0,children:y.status==="ready"?e.jsx("img",{src:y.objectUrl,alt:n,title:s,decoding:"async",className:`${u?"":"termdock-fade-in "}block max-h-[480px] max-w-full object-contain`,style:B?{width:B.width,height:B.height}:void 0,onLoad:E=>{if(I)return;const C=E.currentTarget;C.naturalWidth>0&&C.naturalHeight>0&&_({width:C.naturalWidth,height:C.naturalHeight})}}):y.status==="fallback"?e.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:E=>{if(I)return;const C=E.currentTarget;C.naturalWidth>0&&C.naturalHeight>0&&_({width:C.naturalWidth,height:C.naturalHeight})}}):e.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:e.jsx("span",{className:"text-[10px] text-muted-foreground/60",children:n||"…"})})})}function Ps(r,n,s,l,u,c){const h=rb(s,u.markdownFilePath,u.rootPath);if(!h)return c?.fallbackText??``;const m=u.images.length;u.images.push({kind:"image",src:h,alt:n,title:l});const g=e.jsx(ob,{src:h,alt:n,title:l,requestedWidthPx:c?.requestedWidthPx});return u.onImageOpen&&c?.interactive!==!1?e.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:b=>{b.stopPropagation(),u.onImageOpen?.(m)},children:g},r):e.jsx("span",{className:"my-2 block max-w-full overflow-hidden rounded-md border border-border/20 bg-surface-2",children:g},r)}function vi(r){let n=r,s="";for(;/[.,;:!?)]$/.test(n);)s=`${n.slice(-1)}${s}`,n=n.slice(0,-1);return{linkText:n,suffix:s}}function Wd(r){return/^[^\s@<>]+@[^\s@<>]+\.[^\s@<>]+$/.test(r)}function Yi(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 ef="",ib=/\\([\\`*{}\[\]#+\-.!_|~>$])/g;function lb(r){return r.replace(ib,(n,s)=>`${ef}${s.charCodeAt(0).toString(16).padStart(4,"0")}`)}function Gd(r){return r.replace(new RegExp(`${ef}([0-9a-f]{4})`,"g"),(n,s)=>String.fromCharCode(Number.parseInt(s,16))).replace(/\\([()])/g,"$1")}function cb(r){const n=r.replace(/[\r\n]+/g," ");return/^ .+ $/.test(n)&&/[^ ]/.test(n.slice(1,-1))?n.slice(1,-1):n}const tf={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 za=null;function rf(){return za||(za=Ds(()=>import("./purify.es-4eNOHKSq.js"),[]).then(r=>r.default??r).catch(r=>{throw za=null,r})),za}function nf({html:r}){const{t:n}=mt(),[s,l]=a.useState(null);return a.useEffect(()=>{let u=!1;return l(null),rf().then(c=>{u||l(c.sanitize(r,tf))}).catch(()=>{u||l("")}),()=>{u=!0}},[r]),s===null?e.jsx("div",{className:"py-2 text-xs text-muted-foreground",children:n("rightSidebar.renderingHtml")}):s?e.jsx("div",{className:"text-muted-foreground",dangerouslySetInnerHTML:{__html:s}}):null}function db({html:r}){const[n,s]=a.useState(null);return a.useEffect(()=>{let l=!1;return s(null),rf().then(u=>{l||s(u.sanitize(r,tf))}).catch(()=>{l||s("")}),()=>{l=!0}},[r]),n===null?null:n?e.jsx("span",{dangerouslySetInnerHTML:{__html:n}}):r}function sf(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 Wa=null;function ub(){return Wa||(Wa=Promise.all([Ds(()=>import("./katex-DnlPpQZa.js"),[]),Ds(()=>Promise.resolve({}),__vite__mapDeps([16]))]).then(([r])=>r.default??r).catch(r=>{throw Wa=null,r})),Wa}function _s({tex:r,display:n=!1}){const[s,l]=a.useState(null),[u,c]=a.useState(!1);if(a.useEffect(()=>{let m=!1;return l(null),c(!1),ub().then(g=>{m||l(g.renderToString(r,{displayMode:n,throwOnError:!1,trust:!1,strict:"ignore"}))}).catch(()=>{m||c(!0)}),()=>{m=!0}},[n,r]),u)return e.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 e.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 e.jsx("span",{className:h,dangerouslySetInnerHTML:{__html:s}})}function al(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 Kd(r){const n=al(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 fb(r){const n=r.indexOf(">"),s=n<0?r:r.slice(0,n+1),l=al(s),u=l.get("src")?.trim()??"",c=l.get("width")?.trim().match(/^(\d+(?:\.\d+)?)(?:px)?$/i),h=s.replace(/=\s*(?:"[^"]*"|'[^']*')/g," "),m=n<0?"":r.slice(n+1).replace(/<\/video\s*>$/i,"").replace(/<[^>]*>/g,"").trim();return{src:u,fallbackText:m,widthPx:c?Number(c[1]):void 0,controls:/\bcontrols\b/i.test(h)}}function hb({url:r,fallbackText:n,widthPx:s,hasControls:l}){const{t:u}=mt(),[c,h]=a.useState(!1),m=co(r,()=>h(!0));return m?e.jsx("span",{className:"my-2 block max-w-full overflow-hidden rounded-md border border-border/20 bg-surface-2",children:c?e.jsx("span",{className:"block px-3 py-2 text-xs text-muted-foreground",children:n?.trim()||u("rightSidebar.videoUnsupported")}):e.jsx("video",{className:"block max-w-full",src:m,style:s?{width:`${s}px`}:void 0,controls:l,preload:"metadata",playsInline:!0,onError:()=>h(!0)})}):null}function mb(r,n,s){if(/^<a\b[^>]*>\s*<\s*img\b[^>]*>\s*<\/a\s*>$/i.test(r)){const h=r.slice(0,r.indexOf(">")+1),m=al(h).get("href")?.trim()??"",g=r.match(/<\s*img\b[^>]*>/i)?.[0]??"",{src:b,alt:f,title:k,widthPx:y}=Kd(g);if(!b)return null;const N=sl(b,s.markdownFilePath,s.rootPath,Zi,E=>E);if(!N)return null;const I=m?nl(m,s.markdownFilePath,s.rootPath):null,B=!!!(I&&I.path===N)&&m?Wu(m):null,$=Ps(n,f??"",b,k,s,{requestedWidthPx:y,interactive:B?!1:void 0});return B?e.jsx("a",{href:B,target:"_blank",rel:"noreferrer",children:$},n):$}if(/^<\s*img\b[^>]*>$/i.test(r)){const{src:h,alt:m,title:g,widthPx:b}=Kd(r);return h?Ps(n,m??"",h,g,s,{fallbackText:r,requestedWidthPx:b}):null}if(/^<\s*video\b[^>]*>[\s\S]*?<\/video\s*>$/i.test(r)){const{src:h,fallbackText:m,widthPx:g,controls:b}=fb(r);if(!h)return null;const f=nb(h,s.markdownFilePath,s.rootPath);return f?e.jsx(hb,{url:f,fallbackText:m,widthPx:g,hasControls:b},n):null}if(/^<br\s*\/?>$/i.test(r))return e.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)?e.jsx(db,{html:r},n):null;const u=l[1].toLowerCase(),c=it(l[2],`${n}-${u}`,!0,s);return u==="kbd"?e.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:c},n):u==="mark"?e.jsx("mark",{className:"rounded bg-warning/25 px-0.5 text-foreground",children:c},n):u==="sub"?e.jsx("sub",{children:c},n):e.jsx("sup",{children:c},n)}function it(r,n,s=!0,l){const u=lb(r),c=/(\\\([^)]*\\\)|\$[^$\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 m=0,g;for(;(g=c.exec(u))!==null;){g.index>m&&h.push(Gd(u.slice(m,g.index)));const b=g[0],f=`${n}-${g.index}`,k=b.startsWith("<")?mb(b,f,l):null;if(k)h.push(k);else if(b.startsWith("\\(")&&b.endsWith("\\)"))h.push(e.jsx(_s,{tex:b.slice(2,-2)},f));else if(b.startsWith("$")&&b.endsWith("$"))h.push(e.jsx(_s,{tex:b.slice(1,-1)},f));else if(b.startsWith("`")){const y=b.match(/^`+/)?.[0].length??1;h.push(e.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:cb(b.slice(y,-y))},f))}else if(b.startsWith("~~"))h.push(e.jsx("del",{className:"text-muted-foreground decoration-border-strong",children:it(b.slice(2,-2),`${f}-del`,s,l)},f));else if(b.startsWith("**")||b.startsWith("__"))h.push(e.jsx("strong",{className:"font-semibold text-foreground",children:it(b.slice(2,-2),`${f}-strong`,s,l)},f));else if(b.startsWith("*")||b.startsWith("_"))h.push(e.jsx("em",{className:"italic",children:it(b.slice(1,-1),`${f}-em`,s,l)},f));else if(b.startsWith("![")){const y=b.match(/^!\[([^\]]*)\]\((.*)\)$/),N=b.match(/^!\[([^\]]+)\]\[([^\]]*)\]$/),I=b.match(/^!\[([^\]]+)\]$/);if(y){const _=Yi(y[2]);h.push(_?Ps(f,y[1],_.href,_.title,l):b)}else if(N){const _=N[2]||N[1],B=l.referenceDefinitions.get(Qa(_));h.push(B?Ps(f,N[1],B.href,B.title,l):b)}else if(I){const _=l.referenceDefinitions.get(Qa(I[1]));h.push(_?Ps(f,I[1],_.href,_.title,l):b)}else h.push(b)}else if(b.startsWith("[^")){const y=Vu(b.slice(2,-1)),N=l.footnoteDefinitions.get(y);h.push(N?e.jsx("sup",{id:`fnref-${N.id}`,title:N.text,className:"ml-0.5 rounded bg-surface-2 px-1 text-[0.72em] font-semibold text-primary",children:e.jsx("a",{href:`#fn-${N.id}`,className:"text-primary no-underline",children:N.index})},f):b)}else if(b.startsWith("<http")){const y=b.slice(1,-1);h.push(e.jsx("a",{href:y,target:"_blank",rel:"noreferrer",className:`${s?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:y},f))}else if(b.startsWith("<")&&b.endsWith(">")&&Wd(b.slice(1,-1))){const y=b.slice(1,-1);h.push(e.jsx("a",{href:`mailto:${y}`,className:`${s?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:y},f))}else if(Wd(vi(b).linkText)){const{linkText:y,suffix:N}=vi(b);h.push(e.jsx("a",{href:`mailto:${y}`,className:`${s?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:y},f)),N&&h.push(N)}else if(b.startsWith("http")||b.startsWith("www.")){const{linkText:y,suffix:N}=vi(b),I=y.startsWith("www.")?`https://${y}`:y;h.push(e.jsx("a",{href:I,target:"_blank",rel:"noreferrer",className:`${s?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:y},f)),N&&h.push(N)}else{const y=b.match(/^\[([^\]]+)\]\((.*)\)$/),N=b.match(/^\[([^\]]+)\]\[([^\]]*)\]$/),I=b.match(/^\[([^\]]+)\]$/),_=N?N[2]||N[1]:I?.[1]??null,B=_?l.referenceDefinitions.get(Qa(_)):null,$=y?Yi(y[2]):null,E=$?.href??B?.href??null,C=E?Wu(E):null,M=y?.[1]??N?.[1]??I?.[1]??"";h.push(C?e.jsx("a",{href:C,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:it(M,`${f}-link`,s,l)},f):b)}m=c.lastIndex}return m<u.length&&h.push(Gd(u.slice(m))),h.length>0?h:[r]}function af(r){return/(?: {2,}|\\)$/.test(r)}function of(r){return r.replace(/(?: {2,}|\\)$/,"")}function so(r){return/^(?: {4}|\t)/.test(r)}function lf(r){return r.startsWith(" ")?r.slice(1):r.replace(/^ {4}/,"")}function cf(r,n,s){const l=[];return r.forEach((u,c)=>{const h=af(u);l.push(...it(of(u),`${n}-${c}`,!0,s)),c<r.length-1&&l.push(h?e.jsx("br",{},`${n}-${c}-br`):" ")}),l}function Xi(r,n,s){const l=[],u=[];return r.forEach((c,h)=>{u.push(af(c)),l.push(it(of(c),`${n}-${h}`,!0,s))}),{perLine:l,hardBreaks:u}}function Ji(r,n,s,l,u){const c=[];return r.forEach((h,m)=>{const g=s[m]??0,b=!!(u&&g>=u.start&&g<=u.end);c.push(e.jsx("span",{"data-md-ref-start":g,"data-md-ref-end":g,"data-selected":b?"true":void 0,children:h},`${l}-ref-${m}`)),m<r.length-1&&c.push(n[m]?e.jsx("br",{},`${l}-${m}-br`):" ")}),c}function Bs(r){const n=r.trim().replace(/^\|/,"").replace(/\|$/,""),s=[];let l="",u=!1,c=0,h=0;for(let m=0;m<n.length;m+=1){const g=n[m];if(u){l+=g,u=!1;continue}if(g==="\\"){u=!0;continue}if(g==="`"){const b=m;for(;m+1<n.length&&n[m+1]==="`";)m+=1;const f=m-b+1;l+="`".repeat(f),c===0?c=f:c===f&&(c=0);continue}if(c===0&&g==="["?h+=1:c===0&&g==="]"&&h>0&&(h-=1),g==="|"&&c===0&&h===0){s.push(l.trim()),l="";continue}l+=g}return u&&(l+="\\"),s.push(l.trim()),s}function df(r){return Bs(r).map(n=>/^:-+:$/.test(n)?"center":/^-+:$/.test(n)?"right":/^:-+$/.test(n)?"left":null)}function ao(r){return r==="center"?"text-center":r==="right"?"text-right":"text-left"}function oo(r){return/^\|?\s*:?-{3,}:?\s*(?:\|\s*:?-{3,}:?\s*)*\|?$/.test(r.trim())}function uf(r,n){return r>96||r>44&&n>.35}function ho(r){return(r.match(/^\s*/)?.[0]??"").replace(/\t/g," ").length}function Os(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 ol(r,n,s,l,u,c=new Set){const h=[],m=[];let g=n;for(;g<r.length;){const b=r[g];if(u&&(no(b)||c.has(g))){g+=1;continue}const f=Os(b),k=ho(b);if(!f){if(k>s&&m.length>0){([...m].reverse().find(_=>_.indent<k)?.item??m[m.length-1].item).paragraphs.push(b.trim());for(const _ of m)_.item.lineEnd=g+1;g+=1;continue}break}if(k<s||k===s&&f.ordered!==l)break;const y={content:f.content,ordered:f.ordered,start:f.start,children:[],paragraphs:[],lineStart:g+1,lineEnd:g+1};for(;m.length>0&&m[m.length-1].indent>=k;)m.pop();const N=m[m.length-1]?.item??null;N?N.children.push(y):h.push(y),m.push({indent:k,item:y});for(const I of m)I.item.lineEnd=g+1;g+=1}return{items:h,nextIndex:g}}function pb(r){const n=r.find(l=>Os(l));if(!n)return[];const s=Os(n);return s?ol(r,0,ho(n),s.ordered,!0,Xu(r)).items:[]}function il(r,n,s,l=0){return r.map((u,c)=>{const h=u.content.match(/^\[([ xX])\]\s+(.+)$/);return{key:`item-${c}`,taskItem:!!h,refStart:u.lineStart+l,refEnd:u.lineEnd+l,content:e.jsxs(e.Fragment,{children:[h?e.jsx("input",{type:"checkbox",checked:h[1].toLowerCase()==="x",readOnly:!0,className:"mr-2 align-[-2px] accent-primary"}):null,it(h?.[2]??u.content,`li-${n}-${c}`,!0,s),u.paragraphs.length>0&&e.jsx("div",{className:"mt-1 space-y-1 text-muted-foreground",children:u.paragraphs.map((m,g)=>e.jsx("p",{children:it(m,`li-${n}-${c}-p-${g}`,!0,s)},`paragraph-${g}`))})]}),groups:gb(u.children,`${n}-${c}`,s,l)}})}function gb(r,n,s,l=0){const u=[];for(const c of r){const h=u[u.length-1];h&&h.ordered===c.ordered?h.items.push(c):u.push({ordered:c.ordered,items:[c]})}return u.map((c,h)=>({ordered:c.ordered,start:c.ordered?c.items[0]?.start:void 0,items:il(c.items,`${n}-g${h}`,s,l)}))}function ll(r,n){return r.map(s=>{const l=!!(n&&s.refStart<=n.end&&s.refEnd>=n.start);return e.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&&bb(s.groups,n)]},s.key)})}function bb(r,n){return r.map((s,l)=>{const u=s.ordered?"ol":"ul";return e.jsx(u,{start:s.start,className:`${s.ordered?"list-decimal":"list-disc"} mt-1 space-y-0.5 pl-4 marker:text-muted-foreground/60`,children:ll(s.items,n)},`nested-${l}`)})}function xb(r){const n=Array.from(r.footnoteDefinitions.values()).sort((s,l)=>s.index-l.index);return n.length===0?null:e.jsxs("section",{className:"mt-3 border-t border-border/20 pt-2 text-[12px] leading-5 text-muted-foreground",children:[e.jsx("div",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground/80",children:r.footnotesLabel}),e.jsx("ol",{className:"list-decimal space-y-1 pl-5",children:n.map(s=>e.jsxs("li",{id:`fn-${s.id}`,children:[it(s.text,`footnote-${s.id}`,!0,r)," ",e.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 u=[];let c=0;const h=m=>l?.[m]??m+1;for(;c<r.length;){const m=r[c],g=m.trim();if(!g){c+=1;continue}if(/^<details>\s*$/i.test(g)){const $=c;let E="Details";const C=[];for(c+=1;c<r.length&&!/^<\/details>\s*$/i.test(r[c].trim());){const M=r[c].trim().match(/^<summary>(.*?)<\/summary>\s*$/i);M?E=M[1].trim()||E:C.push(r[c].trimStart()),c+=1}c<r.length&&(c+=1),u.push({kind:"static",node:e.jsxs("details",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface px-3 py-2 text-muted-foreground",children:[e.jsx("summary",{className:"cursor-pointer text-sm font-semibold text-foreground",children:it(E,`${n}-details-${$}-summary`,!0,s)}),C.length>0&&e.jsx("div",{className:"mt-2 text-sm leading-6",children:cf(C,`${n}-details-${$}`,s)})]},`${n}-details-${$}`)});continue}const b=sf(m);if(b){const $=[m],E=c;for(c+=1;c<r.length&&!b.selfContained&&!new RegExp(`</${b.tag}>`,"i").test(r[c]);)$.push(r[c]),c+=1;c<r.length&&!b.selfContained&&($.push(r[c]),c+=1),u.push({kind:"static",node:e.jsx(nf,{html:$.join(`
|
|
1638
|
+
`);const y=u.length;u+=f.data,l.push({node:f,start:y,end:u.length,group:k}),c=k}const m=u.toLocaleLowerCase(),g=[];let b=0;for(;b<=m.length-s.length;){const f=m.indexOf(s,b);if(f<0)break;const k=f+s.length,y=l.find(I=>I.start<=f&&I.end>f),N=l.find(I=>I.start<k&&I.end>=k);if(y&&N&&y.group===N.group){const I=document.createRange();I.setStart(y.node,f-y.start),I.setEnd(N.node,k-N.start),g.push(I)}b=f+Math.max(s.length,1)}return g}function Cu(){return typeof CSS<"u"&&CSS.highlights?CSS.highlights:null}function Ha(){const r=Cu();r?.delete(Ru),r?.delete(Ui)}function Ed(r,n){const s=Cu();if(!s||typeof Highlight>"u")return;s.set(Ru,new Highlight(...r));const l=r[n];l?s.set(Ui,new Highlight(l)):s.delete(Ui)}function Md(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 wg(r,n){if(n===r)return".";const s=`${r.replace(/[\\/]+$/,"")}/`;return n.startsWith(s)?n.slice(s.length):n}function Nu(r,n,s){return n?r:Ir.createPortal(r,s)}const el="termdock:right-sidebar:file-tree-scroll:v1",tl="termdock:right-sidebar:file-preview-reading-state:v1",Es="termdock:right-sidebar:file-tree-width:v1",Eu="termdock:right-sidebar:markdown-view-mode:v1",Mu="termdock:right-sidebar:diff-change-list-mode:v1",$u="termdock:right-sidebar:diff-wrap:v1",Lu="termdock:diff-viewer:view-type:v1",Au="termdock:right-sidebar:file-search-mode:v1",hi="termdock:right-sidebar:collapsed-git-repo-groups:v1",$d="termdock:right-sidebar:collapsed-diff-directories:v1",mi="termdock:right-sidebar:branch-audit-module-open:v1",Pu="termdock:right-sidebar:branch-audit-module:v1",kg=150,Ld="termdock:right-sidebar:context-draft-enabled:v1",Ad="termdock:right-sidebar:context-draft-collapsed:v1",Pd="termdock:right-sidebar:context-draft-auto-collapse:v1",pi="termdock:right-sidebar:context-draft-text:v1",Sg=300,jg=20,Rg=120,Cg=250,Ng=250,Eg=120,Mg=700,gi=600,$g=6e4;function js(r){return!!(r&&J.getState().nestedGitScanRoots[r])}const Td=[2e3,5e3,15e3,3e4],Lg=320,Ag=500,Pg=20,Tg=12e3,Hi=300,Id=240,Ig=560,Tu="border-r px-2 py-1.5 sm:px-3 sm:py-2",ro="min-w-full max-w-[18rem] whitespace-normal break-words sm:max-w-[27rem]",Iu=`${Tu} border-b border-border/15 font-semibold last:border-r-0`,Du=`${Tu} border-border/10 align-top text-muted-foreground last:border-r-0`,rl="termdock-file-preview-horizontal-scroll",Dd=a.lazy(()=>Ds(()=>import("./ModelPreview-38AXZG5e.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]))),Fu=`${rl} termdock-md-table-scroll max-w-full overflow-x-auto overflow-y-hidden rounded-lg border border-border/20 bg-surface`;function _u(r,n,s){return r&&!n?"unified":s}const Dg=new Set([".md",".markdown",".mdown",".mkdn",".mkd"]);function Fg(r){return r==="preview"||r==="source"}function _g(r){return r==="list"||r==="tree"||r==="ai"}function Fd(){return ut(Eu,Fg)??"preview"}function Bg(){return ut(Mu,_g)??"tree"}function Ms(r){return typeof r=="boolean"}function Og(r){return typeof r=="string"}function Ug(){return ut($u,Ms)??!0}function Hg(r){return r==="unified"||r==="split"}function zg(){return ut(Lu,Hg)??"unified"}function Wg(r){return r==="name"||r==="content"||r==="regex"}function Gg(){return ut(Au,Wg)??"name"}function Bu(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 Kg(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 zi(r){return!r.activeGitRepoRoot&&(r.groupCount>1||r.label!==r.rootName)}function Ou(...r){const n=new Set;for(const s of r)for(const l of s)n.add(l.root);return n}function Wi(r){return Array.isArray(r)&&r.every(n=>typeof n=="string")}function _d(r){const n=ut(r,Wi);return n?new Set(n):new Set}function bi(r,n){Mt(r,[...n])}function qg(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 Vg(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||Wi(n.files))&&(n.hunks===void 0||Array.isArray(n.hunks)&&n.hunks.every(qg))&&(n.commits===void 0||Wi(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 Yg(r){if(!r||typeof r!="object"||Array.isArray(r))return!1;const n=r;return typeof n.key=="string"&&Vg(n.diff)&&typeof n.repoLabel=="string"&&typeof n.createdAt=="number"}function Xg(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(Yg))&&(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.includeUncommitted===void 0||typeof s.includeUncommitted=="boolean")&&typeof s.updatedAt=="number"})}function Bd(){return ut(Pu,Xg)??{}}function Od(r){return[r.repoRoot,r.baseRef,r.branchName??"",r.headRef??"",r.diffFingerprint??""].join("\0")}function Ud(r){const n=r?.trim()??"",s=n.indexOf("/");return s>=0?n.slice(s+1):n}function Uu(r,n){const s=r?.trim(),l=n?.trim();return!s||!l?!1:s===l||Ud(s)===Ud(l)}function Hd(r){const n=r?.branch??null;return[r?.upstream,...r?.remoteBranches??[],...r?.branches??[]].find(l=>l&&!Uu(l,n))??""}function Gi(r,n){const s=Math.max(Id,n-320),l=Math.min(Ig,s);return Math.min(l,Math.max(Id,r))}function Jg(r){return typeof r=="number"&&Number.isFinite(r)}function Qg(r){return Gi(ut(Es,Jg)??Hi,r)}function Hu(r){const n=r.split(/[\\/]/).pop()??r,s=n.lastIndexOf(".");return s>=0?n.slice(s).toLowerCase():""}function Rs(r){return Dg.has(Hu(r))}function zu(r){const n=r.trim().replace(/\s+/g,"");return/^-{3,}$/.test(n)||/^\*{3,}$/.test(n)||/^_{3,}$/.test(n)}function Ki(r){const n=r.trim();return/^#{1,6}\s+/.test(n)||zu(r)||/^>\s?/.test(n)||/^(```|~~~)/.test(n)||/^(?:[-+*]|\d+[.)])\s+/.test(n)}function Wu(r){const n=r.trim();return/^(https?:|mailto:|#|\/|\.\/|\.\.\/)/i.test(n)||!/^[a-z][a-z0-9+.-]*:/i.test(n)&&!/[<>]/.test(n)?n:null}const Gu=a.createContext(null);function Qa(r){return r.trim().replace(/\s+/g," ").toLowerCase()}function Ku(r){return r.replace(/!\[([^\]]*)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\[[^\]]*\]/g,"$1").replace(/[`*_~]/g,"").replace(/<[^>]+>/g,"").trim()}function qu(r){return r.replace(/\s+#+\s*$/,"").trim()}function qi(r,n){const l=Ku(r).toLowerCase().replace(/[^\p{L}\p{N}\s-]/gu,"").trim().replace(/\s+/g,"-")||"section",u=n.headingSlugCounts.get(l)??0;return n.headingSlugCounts.set(l,u+1),u===0?l:`${l}-${u}`}function zd(r){return Ku(r)||r.trim()}function no(r){const n=r.match(/^\s{0,3}\[([^\]]+)\]:\s+(.+?)\s*$/);if(!n)return null;const s=Yi(n[2]);return s?{id:Qa(n[1]),definition:{href:s.href,title:s.title}}:null}function Zg(r){const n=new Map;for(const s of r){const l=no(s);l&&n.set(l.id,l.definition)}return n}function Vu(r){return r.trim().toLowerCase()}function Yu(r){const n=r.match(/^\s{0,3}\[\^([^\]]+)\]:\s+(.+)\s*$/);return n?{id:Vu(n[1]),text:n[2]}:null}function eb(r){const n=new Map;let s=null;for(const l of r){const u=Yu(l);if(u){s=u.id,n.set(u.id,{id:u.id,text:u.text,index:n.size+1});continue}if(s&&/^\s{4,}\S/.test(l)){const c=n.get(s);c&&(c.text=`${c.text} ${l.trim()}`);continue}l.trim()&&(s=null)}return n}function Xu(r){const n=new Set;let s=!1;return r.forEach((l,u)=>{if(Yu(l)){n.add(u),s=!0;return}if(s&&/^\s{4,}\S/.test(l)){n.add(u);return}l.trim()&&(s=!1)}),n}function tb(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 u=r[s].trim();if(u.startsWith("<!--")){if(n[s]="",!u.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 Ju(r){const n=r.replace(/\/+$/,""),s=n.lastIndexOf("/");return s<=0?s===0?"/":"":n.slice(0,s)}function As(r){const n=r.split(/[?#]/,1)[0],s=n.startsWith("/"),l=[];for(const c of n.split("/"))if(!(!c||c===".")){if(c===".."){l.length>0&&l.pop();continue}l.push(c)}return`${s?"/":""}${l.join("/")}`||(s?"/":".")}function nl(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 u=l.indexOf("#"),c=u>=0?l.slice(0,u):l,h=u>=0?l.slice(u+1):"",m=c.split("?",1)[0];if(!m)return null;let g,b=null;try{g=decodeURIComponent(m),b=h?decodeURIComponent(h):null}catch{return null}const f=s?As(s):null;let k;if(g.startsWith("/")){const y=f&&(g===f||g.startsWith(`${f}/`));k=As(f&&!y?`${f}/${g.slice(1)}`:g)}else{if(!n)return null;k=As(`${Ju(n)}/${g}`)}return f&&k!==f&&!k.startsWith(`${f}/`)?null:{path:k,fragment:b,directory:/\/$/.test(m)}}function sl(r,n,s,l,u){const c=r.trim();if(!c||/^(?:javascript|data):/i.test(c))return null;if(/^https?:\/\//i.test(c))return c;if(!l(c.split(/[?#]/,1)[0]))return null;let h;if(c.startsWith("/")){const m=s&&(c===s||c.startsWith(`${s}/`));h=As(s&&!m?`${s}/${c.slice(1)}`:c)}else{if(!n)return null;h=As(`${Ju(n)}/${c}`)}return u(h)}function rb(r,n,s){return sl(r,n,s,Zi,l=>`/api/terminal/fs/blob?path=${encodeURIComponent(l)}`)}function nb(r,n,s){return sl(r,n,s,ru,nu)}const Vi=128,sb=360,xi=480;function fo(r){try{return/\.svg(?=$|[?#&])/i.test(decodeURIComponent(r))}catch{return!1}}function Qu(r,n,s,l,u=0){if(!n||!s)return null;let c,h;return u>0?(c=l>0?Math.min(u,l):u,h=s*c/n):fo(r)?(h=Math.min(Math.max(s,Vi),sb),c=n*h/s):(c=n,h=s),l>0&&c>l&&(h=h*l/c,c=l),h>xi&&(c=c*xi/h,h=xi),{width:Math.max(1,Math.round(c)),height:Math.max(1,Math.round(h))}}function ab(r){if(!r.startsWith("/api/terminal/fs/blob?"))return null;try{return new URLSearchParams(r.slice(r.indexOf("?"))).get("path")}catch{return null}}function Zu(r){const n=ab(r),s=J(l=>n?(l.fileChangeVersions.get(n)??0)+l.fileWatchEpoch:0);return n&&s>0?`${r}&v=${s}`:r}function ob({src:r,alt:n,title:s,requestedWidthPx:l}){const u=fo(r),c=Zu(r),h=co(c),m=a.useRef(null),[g,b]=a.useState(!1),[f,k]=a.useState(0),[y,N]=a.useState({status:"loading"}),[I,_]=a.useState(null);a.useLayoutEffect(()=>{const E=m.current,C=E?.parentElement?.parentElement??E?.parentElement;if(!C)return;const M=()=>k(C.clientWidth);if(M(),typeof ResizeObserver>"u")return;const O=new ResizeObserver(M);return O.observe(C),()=>O.disconnect()},[]),a.useEffect(()=>{if(g)return;const E=m.current;if(!E||typeof IntersectionObserver>"u"){b(!0);return}const C=new IntersectionObserver(M=>{M.some(O=>O.isIntersecting)&&(b(!0),C.disconnect())},{rootMargin:"400px"});return C.observe(E),()=>C.disconnect()},[g]),a.useEffect(()=>{if(!g)return;const E=new AbortController;let C=null;N({status:"loading"});const M=window.setTimeout(()=>{E.abort(new DOMException("Image fetch timed out","TimeoutError"))},15e3);return pm(c,{signal:E.signal}).then(async O=>{if(!O.ok)throw new Error(`HTTP ${O.status}`);const F=Number(O.headers.get("X-Image-Width"))||0,p=Number(O.headers.get("X-Image-Height"))||0;return{blob:await O.blob(),width:F,height:p}}).then(({blob:O,width:F,height:p})=>{E.signal.aborted||(C=URL.createObjectURL(O),F>0&&p>0&&_({width:F,height:p}),N({status:"ready",objectUrl:C}))}).catch(()=>{const O=E.signal.reason;E.signal.aborted&&!(O instanceof DOMException&&O.name==="TimeoutError")||N({status:"fallback"})}).finally(()=>{window.clearTimeout(M)}),()=>{window.clearTimeout(M),E.abort(),C&&URL.revokeObjectURL(C)}},[g,c]);const B=Qu(r,I?.width??0,I?.height??0,f,l??0),$=B??(l?{width:f>0?Math.min(l,f):l,height:Math.round(l*.75)}:{width:Vi*2,height:Vi});return e.jsx("div",{ref:m,className:"block max-w-full",style:B?{width:B.width,height:B.height}:void 0,children:y.status==="ready"?e.jsx("img",{src:y.objectUrl,alt:n,title:s,decoding:"async",className:`${u?"":"termdock-fade-in "}block max-h-[480px] max-w-full object-contain`,style:B?{width:B.width,height:B.height}:void 0,onLoad:E=>{if(I)return;const C=E.currentTarget;C.naturalWidth>0&&C.naturalHeight>0&&_({width:C.naturalWidth,height:C.naturalHeight})}}):y.status==="fallback"?e.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:E=>{if(I)return;const C=E.currentTarget;C.naturalWidth>0&&C.naturalHeight>0&&_({width:C.naturalWidth,height:C.naturalHeight})}}):e.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:e.jsx("span",{className:"text-[10px] text-muted-foreground/60",children:n||"…"})})})}function Ps(r,n,s,l,u,c){const h=rb(s,u.markdownFilePath,u.rootPath);if(!h)return c?.fallbackText??``;const m=u.images.length;u.images.push({kind:"image",src:h,alt:n,title:l});const g=e.jsx(ob,{src:h,alt:n,title:l,requestedWidthPx:c?.requestedWidthPx});return u.onImageOpen&&c?.interactive!==!1?e.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:b=>{b.stopPropagation(),u.onImageOpen?.(m)},children:g},r):e.jsx("span",{className:"my-2 block max-w-full overflow-hidden rounded-md border border-border/20 bg-surface-2",children:g},r)}function vi(r){let n=r,s="";for(;/[.,;:!?)]$/.test(n);)s=`${n.slice(-1)}${s}`,n=n.slice(0,-1);return{linkText:n,suffix:s}}function Wd(r){return/^[^\s@<>]+@[^\s@<>]+\.[^\s@<>]+$/.test(r)}function Yi(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 ef="",ib=/\\([\\`*{}\[\]#+\-.!_|~>$])/g;function lb(r){return r.replace(ib,(n,s)=>`${ef}${s.charCodeAt(0).toString(16).padStart(4,"0")}`)}function Gd(r){return r.replace(new RegExp(`${ef}([0-9a-f]{4})`,"g"),(n,s)=>String.fromCharCode(Number.parseInt(s,16))).replace(/\\([()])/g,"$1")}function cb(r){const n=r.replace(/[\r\n]+/g," ");return/^ .+ $/.test(n)&&/[^ ]/.test(n.slice(1,-1))?n.slice(1,-1):n}const tf={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 za=null;function rf(){return za||(za=Ds(()=>import("./purify.es-4eNOHKSq.js"),[]).then(r=>r.default??r).catch(r=>{throw za=null,r})),za}function nf({html:r}){const{t:n}=mt(),[s,l]=a.useState(null);return a.useEffect(()=>{let u=!1;return l(null),rf().then(c=>{u||l(c.sanitize(r,tf))}).catch(()=>{u||l("")}),()=>{u=!0}},[r]),s===null?e.jsx("div",{className:"py-2 text-xs text-muted-foreground",children:n("rightSidebar.renderingHtml")}):s?e.jsx("div",{className:"text-muted-foreground",dangerouslySetInnerHTML:{__html:s}}):null}function db({html:r}){const[n,s]=a.useState(null);return a.useEffect(()=>{let l=!1;return s(null),rf().then(u=>{l||s(u.sanitize(r,tf))}).catch(()=>{l||s("")}),()=>{l=!0}},[r]),n===null?null:n?e.jsx("span",{dangerouslySetInnerHTML:{__html:n}}):r}function sf(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 Wa=null;function ub(){return Wa||(Wa=Promise.all([Ds(()=>import("./katex-DnlPpQZa.js"),[]),Ds(()=>Promise.resolve({}),__vite__mapDeps([16]))]).then(([r])=>r.default??r).catch(r=>{throw Wa=null,r})),Wa}function _s({tex:r,display:n=!1}){const[s,l]=a.useState(null),[u,c]=a.useState(!1);if(a.useEffect(()=>{let m=!1;return l(null),c(!1),ub().then(g=>{m||l(g.renderToString(r,{displayMode:n,throwOnError:!1,trust:!1,strict:"ignore"}))}).catch(()=>{m||c(!0)}),()=>{m=!0}},[n,r]),u)return e.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 e.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 e.jsx("span",{className:h,dangerouslySetInnerHTML:{__html:s}})}function al(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 Kd(r){const n=al(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 fb(r){const n=r.indexOf(">"),s=n<0?r:r.slice(0,n+1),l=al(s),u=l.get("src")?.trim()??"",c=l.get("width")?.trim().match(/^(\d+(?:\.\d+)?)(?:px)?$/i),h=s.replace(/=\s*(?:"[^"]*"|'[^']*')/g," "),m=n<0?"":r.slice(n+1).replace(/<\/video\s*>$/i,"").replace(/<[^>]*>/g,"").trim();return{src:u,fallbackText:m,widthPx:c?Number(c[1]):void 0,controls:/\bcontrols\b/i.test(h)}}function hb({url:r,fallbackText:n,widthPx:s,hasControls:l}){const{t:u}=mt(),[c,h]=a.useState(!1),m=co(r,()=>h(!0));return m?e.jsx("span",{className:"my-2 block max-w-full overflow-hidden rounded-md border border-border/20 bg-surface-2",children:c?e.jsx("span",{className:"block px-3 py-2 text-xs text-muted-foreground",children:n?.trim()||u("rightSidebar.videoUnsupported")}):e.jsx("video",{className:"block max-w-full",src:m,style:s?{width:`${s}px`}:void 0,controls:l,preload:"metadata",playsInline:!0,onError:()=>h(!0)})}):null}function mb(r,n,s){if(/^<a\b[^>]*>\s*<\s*img\b[^>]*>\s*<\/a\s*>$/i.test(r)){const h=r.slice(0,r.indexOf(">")+1),m=al(h).get("href")?.trim()??"",g=r.match(/<\s*img\b[^>]*>/i)?.[0]??"",{src:b,alt:f,title:k,widthPx:y}=Kd(g);if(!b)return null;const N=sl(b,s.markdownFilePath,s.rootPath,Zi,E=>E);if(!N)return null;const I=m?nl(m,s.markdownFilePath,s.rootPath):null,B=!!!(I&&I.path===N)&&m?Wu(m):null,$=Ps(n,f??"",b,k,s,{requestedWidthPx:y,interactive:B?!1:void 0});return B?e.jsx("a",{href:B,target:"_blank",rel:"noreferrer",children:$},n):$}if(/^<\s*img\b[^>]*>$/i.test(r)){const{src:h,alt:m,title:g,widthPx:b}=Kd(r);return h?Ps(n,m??"",h,g,s,{fallbackText:r,requestedWidthPx:b}):null}if(/^<\s*video\b[^>]*>[\s\S]*?<\/video\s*>$/i.test(r)){const{src:h,fallbackText:m,widthPx:g,controls:b}=fb(r);if(!h)return null;const f=nb(h,s.markdownFilePath,s.rootPath);return f?e.jsx(hb,{url:f,fallbackText:m,widthPx:g,hasControls:b},n):null}if(/^<br\s*\/?>$/i.test(r))return e.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)?e.jsx(db,{html:r},n):null;const u=l[1].toLowerCase(),c=it(l[2],`${n}-${u}`,!0,s);return u==="kbd"?e.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:c},n):u==="mark"?e.jsx("mark",{className:"rounded bg-warning/25 px-0.5 text-foreground",children:c},n):u==="sub"?e.jsx("sub",{children:c},n):e.jsx("sup",{children:c},n)}function it(r,n,s=!0,l){const u=lb(r),c=/(\\\([^)]*\\\)|\$[^$\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 m=0,g;for(;(g=c.exec(u))!==null;){g.index>m&&h.push(Gd(u.slice(m,g.index)));const b=g[0],f=`${n}-${g.index}`,k=b.startsWith("<")?mb(b,f,l):null;if(k)h.push(k);else if(b.startsWith("\\(")&&b.endsWith("\\)"))h.push(e.jsx(_s,{tex:b.slice(2,-2)},f));else if(b.startsWith("$")&&b.endsWith("$"))h.push(e.jsx(_s,{tex:b.slice(1,-1)},f));else if(b.startsWith("`")){const y=b.match(/^`+/)?.[0].length??1;h.push(e.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:cb(b.slice(y,-y))},f))}else if(b.startsWith("~~"))h.push(e.jsx("del",{className:"text-muted-foreground decoration-border-strong",children:it(b.slice(2,-2),`${f}-del`,s,l)},f));else if(b.startsWith("**")||b.startsWith("__"))h.push(e.jsx("strong",{className:"font-semibold text-foreground",children:it(b.slice(2,-2),`${f}-strong`,s,l)},f));else if(b.startsWith("*")||b.startsWith("_"))h.push(e.jsx("em",{className:"italic",children:it(b.slice(1,-1),`${f}-em`,s,l)},f));else if(b.startsWith("![")){const y=b.match(/^!\[([^\]]*)\]\((.*)\)$/),N=b.match(/^!\[([^\]]+)\]\[([^\]]*)\]$/),I=b.match(/^!\[([^\]]+)\]$/);if(y){const _=Yi(y[2]);h.push(_?Ps(f,y[1],_.href,_.title,l):b)}else if(N){const _=N[2]||N[1],B=l.referenceDefinitions.get(Qa(_));h.push(B?Ps(f,N[1],B.href,B.title,l):b)}else if(I){const _=l.referenceDefinitions.get(Qa(I[1]));h.push(_?Ps(f,I[1],_.href,_.title,l):b)}else h.push(b)}else if(b.startsWith("[^")){const y=Vu(b.slice(2,-1)),N=l.footnoteDefinitions.get(y);h.push(N?e.jsx("sup",{id:`fnref-${N.id}`,title:N.text,className:"ml-0.5 rounded bg-surface-2 px-1 text-[0.72em] font-semibold text-primary",children:e.jsx("a",{href:`#fn-${N.id}`,className:"text-primary no-underline",children:N.index})},f):b)}else if(b.startsWith("<http")){const y=b.slice(1,-1);h.push(e.jsx("a",{href:y,target:"_blank",rel:"noreferrer",className:`${s?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:y},f))}else if(b.startsWith("<")&&b.endsWith(">")&&Wd(b.slice(1,-1))){const y=b.slice(1,-1);h.push(e.jsx("a",{href:`mailto:${y}`,className:`${s?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:y},f))}else if(Wd(vi(b).linkText)){const{linkText:y,suffix:N}=vi(b);h.push(e.jsx("a",{href:`mailto:${y}`,className:`${s?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:y},f)),N&&h.push(N)}else if(b.startsWith("http")||b.startsWith("www.")){const{linkText:y,suffix:N}=vi(b),I=y.startsWith("www.")?`https://${y}`:y;h.push(e.jsx("a",{href:I,target:"_blank",rel:"noreferrer",className:`${s?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:y},f)),N&&h.push(N)}else{const y=b.match(/^\[([^\]]+)\]\((.*)\)$/),N=b.match(/^\[([^\]]+)\]\[([^\]]*)\]$/),I=b.match(/^\[([^\]]+)\]$/),_=N?N[2]||N[1]:I?.[1]??null,B=_?l.referenceDefinitions.get(Qa(_)):null,$=y?Yi(y[2]):null,E=$?.href??B?.href??null,C=E?Wu(E):null,M=y?.[1]??N?.[1]??I?.[1]??"";h.push(C?e.jsx("a",{href:C,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:it(M,`${f}-link`,s,l)},f):b)}m=c.lastIndex}return m<u.length&&h.push(Gd(u.slice(m))),h.length>0?h:[r]}function af(r){return/(?: {2,}|\\)$/.test(r)}function of(r){return r.replace(/(?: {2,}|\\)$/,"")}function so(r){return/^(?: {4}|\t)/.test(r)}function lf(r){return r.startsWith(" ")?r.slice(1):r.replace(/^ {4}/,"")}function cf(r,n,s){const l=[];return r.forEach((u,c)=>{const h=af(u);l.push(...it(of(u),`${n}-${c}`,!0,s)),c<r.length-1&&l.push(h?e.jsx("br",{},`${n}-${c}-br`):" ")}),l}function Xi(r,n,s){const l=[],u=[];return r.forEach((c,h)=>{u.push(af(c)),l.push(it(of(c),`${n}-${h}`,!0,s))}),{perLine:l,hardBreaks:u}}function Ji(r,n,s,l,u){const c=[];return r.forEach((h,m)=>{const g=s[m]??0,b=!!(u&&g>=u.start&&g<=u.end);c.push(e.jsx("span",{"data-md-ref-start":g,"data-md-ref-end":g,"data-selected":b?"true":void 0,children:h},`${l}-ref-${m}`)),m<r.length-1&&c.push(n[m]?e.jsx("br",{},`${l}-${m}-br`):" ")}),c}function Bs(r){const n=r.trim().replace(/^\|/,"").replace(/\|$/,""),s=[];let l="",u=!1,c=0,h=0;for(let m=0;m<n.length;m+=1){const g=n[m];if(u){l+=g,u=!1;continue}if(g==="\\"){u=!0;continue}if(g==="`"){const b=m;for(;m+1<n.length&&n[m+1]==="`";)m+=1;const f=m-b+1;l+="`".repeat(f),c===0?c=f:c===f&&(c=0);continue}if(c===0&&g==="["?h+=1:c===0&&g==="]"&&h>0&&(h-=1),g==="|"&&c===0&&h===0){s.push(l.trim()),l="";continue}l+=g}return u&&(l+="\\"),s.push(l.trim()),s}function df(r){return Bs(r).map(n=>/^:-+:$/.test(n)?"center":/^-+:$/.test(n)?"right":/^:-+$/.test(n)?"left":null)}function ao(r){return r==="center"?"text-center":r==="right"?"text-right":"text-left"}function oo(r){return/^\|?\s*:?-{3,}:?\s*(?:\|\s*:?-{3,}:?\s*)*\|?$/.test(r.trim())}function uf(r,n){return r>96||r>44&&n>.35}function ho(r){return(r.match(/^\s*/)?.[0]??"").replace(/\t/g," ").length}function Os(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 ol(r,n,s,l,u,c=new Set){const h=[],m=[];let g=n;for(;g<r.length;){const b=r[g];if(u&&(no(b)||c.has(g))){g+=1;continue}const f=Os(b),k=ho(b);if(!f){if(k>s&&m.length>0){([...m].reverse().find(_=>_.indent<k)?.item??m[m.length-1].item).paragraphs.push(b.trim());for(const _ of m)_.item.lineEnd=g+1;g+=1;continue}break}if(k<s||k===s&&f.ordered!==l)break;const y={content:f.content,ordered:f.ordered,start:f.start,children:[],paragraphs:[],lineStart:g+1,lineEnd:g+1};for(;m.length>0&&m[m.length-1].indent>=k;)m.pop();const N=m[m.length-1]?.item??null;N?N.children.push(y):h.push(y),m.push({indent:k,item:y});for(const I of m)I.item.lineEnd=g+1;g+=1}return{items:h,nextIndex:g}}function pb(r){const n=r.find(l=>Os(l));if(!n)return[];const s=Os(n);return s?ol(r,0,ho(n),s.ordered,!0,Xu(r)).items:[]}function il(r,n,s,l=0){return r.map((u,c)=>{const h=u.content.match(/^\[([ xX])\]\s+(.+)$/);return{key:`item-${c}`,taskItem:!!h,refStart:u.lineStart+l,refEnd:u.lineEnd+l,content:e.jsxs(e.Fragment,{children:[h?e.jsx("input",{type:"checkbox",checked:h[1].toLowerCase()==="x",readOnly:!0,className:"mr-2 align-[-2px] accent-primary"}):null,it(h?.[2]??u.content,`li-${n}-${c}`,!0,s),u.paragraphs.length>0&&e.jsx("div",{className:"mt-1 space-y-1 text-muted-foreground",children:u.paragraphs.map((m,g)=>e.jsx("p",{children:it(m,`li-${n}-${c}-p-${g}`,!0,s)},`paragraph-${g}`))})]}),groups:gb(u.children,`${n}-${c}`,s,l)}})}function gb(r,n,s,l=0){const u=[];for(const c of r){const h=u[u.length-1];h&&h.ordered===c.ordered?h.items.push(c):u.push({ordered:c.ordered,items:[c]})}return u.map((c,h)=>({ordered:c.ordered,start:c.ordered?c.items[0]?.start:void 0,items:il(c.items,`${n}-g${h}`,s,l)}))}function ll(r,n){return r.map(s=>{const l=!!(n&&s.refStart<=n.end&&s.refEnd>=n.start);return e.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&&bb(s.groups,n)]},s.key)})}function bb(r,n){return r.map((s,l)=>{const u=s.ordered?"ol":"ul";return e.jsx(u,{start:s.start,className:`${s.ordered?"list-decimal":"list-disc"} mt-1 space-y-0.5 pl-4 marker:text-muted-foreground/60`,children:ll(s.items,n)},`nested-${l}`)})}function xb(r){const n=Array.from(r.footnoteDefinitions.values()).sort((s,l)=>s.index-l.index);return n.length===0?null:e.jsxs("section",{className:"mt-3 border-t border-border/20 pt-2 text-[12px] leading-5 text-muted-foreground",children:[e.jsx("div",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground/80",children:r.footnotesLabel}),e.jsx("ol",{className:"list-decimal space-y-1 pl-5",children:n.map(s=>e.jsxs("li",{id:`fn-${s.id}`,children:[it(s.text,`footnote-${s.id}`,!0,r)," ",e.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 u=[];let c=0;const h=m=>l?.[m]??m+1;for(;c<r.length;){const m=r[c],g=m.trim();if(!g){c+=1;continue}if(/^<details>\s*$/i.test(g)){const $=c;let E="Details";const C=[];for(c+=1;c<r.length&&!/^<\/details>\s*$/i.test(r[c].trim());){const M=r[c].trim().match(/^<summary>(.*?)<\/summary>\s*$/i);M?E=M[1].trim()||E:C.push(r[c].trimStart()),c+=1}c<r.length&&(c+=1),u.push({kind:"static",node:e.jsxs("details",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface px-3 py-2 text-muted-foreground",children:[e.jsx("summary",{className:"cursor-pointer text-sm font-semibold text-foreground",children:it(E,`${n}-details-${$}-summary`,!0,s)}),C.length>0&&e.jsx("div",{className:"mt-2 text-sm leading-6",children:cf(C,`${n}-details-${$}`,s)})]},`${n}-details-${$}`)});continue}const b=sf(m);if(b){const $=[m],E=c;for(c+=1;c<r.length&&!b.selfContained&&!new RegExp(`</${b.tag}>`,"i").test(r[c]);)$.push(r[c]),c+=1;c<r.length&&!b.selfContained&&($.push(r[c]),c+=1),u.push({kind:"static",node:e.jsx(nf,{html:$.join(`
|
|
1639
1639
|
`)},`${n}-html-${E}`)});continue}const f=g.match(/^(```|~~~)\s*(.*)$/);if(f){const $=[],E=f[1],C=f[2]?.trim(),M=c;for(c+=1;c<r.length&&!r[c].trim().startsWith(E);)$.push(r[c]),c+=1;c<r.length&&(c+=1),C.toLowerCase()==="mermaid"?u.push({kind:"static",node:e.jsx(hf,{code:$.join(`
|
|
1640
1640
|
`),blockKey:`${n}-code-${M}`},`${n}-code-${M}`)}):["math","latex","tex"].includes(C.toLowerCase())?u.push({kind:"static",node:e.jsx(_s,{tex:$.join(`
|
|
1641
1641
|
`),display:!0},`${n}-code-${M}`)}):u.push({kind:"code",key:`${n}-code-${M}`,code:$.join(`
|
|
1642
1642
|
`),lang:C,blockKey:`${n}-code-${M}`,codeStartLine:h(M)+1});continue}if(so(m)){const $=[],E=c;for(;c<r.length&&(so(r[c])||!r[c].trim());)$.push(r[c].trim()?lf(r[c]):""),c+=1;u.push({kind:"code",key:`${n}-indented-code-${E}`,code:$.join(`
|
|
1643
|
-
`).replace(/\n+$/,""),lang:"",blockKey:`${n}-indented-code-${E}`,codeStartLine:h(E)});continue}const k=g.match(/^(#{1,6})\s+(.+)$/);if(k){const E=`h${Math.min(6,k[1].length+1)}`,C=qu(k[2]),M=qi(C,s);u.push({kind:"static",node:e.jsx(E,{id:M,className:"scroll-mt-16 font-semibold text-foreground",children:it(C,`${n}-heading-${c}`,!0,s)},`${n}-heading-${c}`)}),c+=1;continue}if(c+1<r.length&&m.includes("|")&&oo(r[c+1])){const $=Bs(m),E=df(r[c+1]),C=[],M=c;for(c+=2;c<r.length&&r[c].includes("|")&&r[c].trim();)C.push(Bs(r[c])),c+=1;u.push({kind:"static",node:e.jsx("div",{className:Fu,"data-markdown-table-scroll":!0,children:e.jsxs("table",{className:"w-max min-w-full max-w-none table-auto border-collapse text-left text-[11px] sm:text-xs",children:[e.jsx("thead",{className:"bg-surface-2 text-foreground",children:e.jsx("tr",{children:$.map((O,F)=>e.jsx("th",{className:`${Iu} ${ao(E[F]??null)}`,children:e.jsx("div",{className:ro,children:it(O,`${n}-th-${M}-${F}`,!0,s)})},`h-${F}`))})}),e.jsx("tbody",{children:C.map((O,F)=>e.jsx("tr",{className:"border-t border-border/10",children:$.map((p,i)=>e.jsx("td",{className:`${Du} ${ao(E[i]??null)}`,children:e.jsx("div",{className:ro,children:it(O[i]??"",`${n}-td-${M}-${F}-${i}`,!0,s)})},`c-${i}`))},`r-${F}`))})]})},`${n}-table-${M}`)});continue}const y=Os(m);if(y){const $=y.ordered,E=ho(m),C=y.start,M=c,O=ol(r,c,E,$,!1);c=O.nextIndex,u.push({kind:"list",keyPrefix:`${n}-list-${M}`,ordered:$,start:$?C:void 0,renders:il(O.items,`${n}-list-${M}`,s,h(0)-1)});continue}const N=[m.trimStart()],I=[h(c)],_=c;for(c+=1;c<r.length&&r[c].trim()&&!Ki(r[c])&&!(c+1<r.length&&r[c].includes("|")&&oo(r[c+1]));)N.push(r[c].trimStart()),I.push(h(c)),c+=1;const B=Xi(N,`${n}-p-${_}`,s);u.push({kind:"paragraph",keyPrefix:`${n}-p-${_}`,perLine:B.perLine,hardBreaks:B.hardBreaks,lineNums:I})}return u}function yb(r,n){return r.map(s=>{switch(s.kind){case"static":return s.node;case"paragraph":return e.jsx("p",{children:Ji(s.perLine,s.hardBreaks,s.lineNums,s.keyPrefix,n)},s.keyPrefix);case"list":{const l=s.ordered?"ol":"ul";return e.jsx(l,{start:s.start,className:`${s.ordered?"list-decimal":"list-disc"} space-y-0.5 pl-4 marker:text-muted-foreground/70`,children:ll(s.renders,n)},s.keyPrefix)}case"code":return e.jsx(io,{code:s.code,lang:s.lang,blockKey:s.blockKey,codeStartLine:s.codeStartLine,lineRange:n},s.key)}})}let Ga=null,qd=!1;const Ka=16,ff=192;function wb(){return Ga||(Ga=Ds(()=>import("./mermaid.core-
|
|
1643
|
+
`).replace(/\n+$/,""),lang:"",blockKey:`${n}-indented-code-${E}`,codeStartLine:h(E)});continue}const k=g.match(/^(#{1,6})\s+(.+)$/);if(k){const E=`h${Math.min(6,k[1].length+1)}`,C=qu(k[2]),M=qi(C,s);u.push({kind:"static",node:e.jsx(E,{id:M,className:"scroll-mt-16 font-semibold text-foreground",children:it(C,`${n}-heading-${c}`,!0,s)},`${n}-heading-${c}`)}),c+=1;continue}if(c+1<r.length&&m.includes("|")&&oo(r[c+1])){const $=Bs(m),E=df(r[c+1]),C=[],M=c;for(c+=2;c<r.length&&r[c].includes("|")&&r[c].trim();)C.push(Bs(r[c])),c+=1;u.push({kind:"static",node:e.jsx("div",{className:Fu,"data-markdown-table-scroll":!0,children:e.jsxs("table",{className:"w-max min-w-full max-w-none table-auto border-collapse text-left text-[11px] sm:text-xs",children:[e.jsx("thead",{className:"bg-surface-2 text-foreground",children:e.jsx("tr",{children:$.map((O,F)=>e.jsx("th",{className:`${Iu} ${ao(E[F]??null)}`,children:e.jsx("div",{className:ro,children:it(O,`${n}-th-${M}-${F}`,!0,s)})},`h-${F}`))})}),e.jsx("tbody",{children:C.map((O,F)=>e.jsx("tr",{className:"border-t border-border/10",children:$.map((p,i)=>e.jsx("td",{className:`${Du} ${ao(E[i]??null)}`,children:e.jsx("div",{className:ro,children:it(O[i]??"",`${n}-td-${M}-${F}-${i}`,!0,s)})},`c-${i}`))},`r-${F}`))})]})},`${n}-table-${M}`)});continue}const y=Os(m);if(y){const $=y.ordered,E=ho(m),C=y.start,M=c,O=ol(r,c,E,$,!1);c=O.nextIndex,u.push({kind:"list",keyPrefix:`${n}-list-${M}`,ordered:$,start:$?C:void 0,renders:il(O.items,`${n}-list-${M}`,s,h(0)-1)});continue}const N=[m.trimStart()],I=[h(c)],_=c;for(c+=1;c<r.length&&r[c].trim()&&!Ki(r[c])&&!(c+1<r.length&&r[c].includes("|")&&oo(r[c+1]));)N.push(r[c].trimStart()),I.push(h(c)),c+=1;const B=Xi(N,`${n}-p-${_}`,s);u.push({kind:"paragraph",keyPrefix:`${n}-p-${_}`,perLine:B.perLine,hardBreaks:B.hardBreaks,lineNums:I})}return u}function yb(r,n){return r.map(s=>{switch(s.kind){case"static":return s.node;case"paragraph":return e.jsx("p",{children:Ji(s.perLine,s.hardBreaks,s.lineNums,s.keyPrefix,n)},s.keyPrefix);case"list":{const l=s.ordered?"ol":"ul";return e.jsx(l,{start:s.start,className:`${s.ordered?"list-decimal":"list-disc"} space-y-0.5 pl-4 marker:text-muted-foreground/70`,children:ll(s.renders,n)},s.keyPrefix)}case"code":return e.jsx(io,{code:s.code,lang:s.lang,blockKey:s.blockKey,codeStartLine:s.codeStartLine,lineRange:n},s.key)}})}let Ga=null,qd=!1;const Ka=16,ff=192;function wb(){return Ga||(Ga=Ds(()=>import("./mermaid.core-5yt2YuB8.js").then(r=>r.bl),__vite__mapDeps([17,1,2,3,4,5,18])).then(r=>r.default??r).catch(r=>{throw Ga=null,r})),Ga}function kb(r){qd||(r.initialize({startOnLoad:!1,securityLevel:"strict",theme:"neutral"}),qd=!0)}function Sb(r){const n=r.match(/\sviewBox=(["'])([^"']+)\1/i);if(!n)return r;const[,,s]=n,l=s.trim().split(/[\s,]+/).map(Number),[,,u,c]=l;if(!Number.isFinite(u)||!Number.isFinite(c)||u<=0||c<=0)return r;const h=Math.max(ff,Math.ceil(u)),m=Math.ceil(h/u*c);return r.replace(/<svg\b([^>]*)>/i,(g,b)=>`<svg${b.replace(/\s(?:width|height)=(["']).*?\1/gi,"").replace(/\sstyle=(["']).*?\1/gi,"")} width="${h}" height="${m}">`)}function jb(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-Ka,u=s.y-Ka,c=s.width+Ka*2,h=s.height+Ka*2,m=Math.max(ff,Math.ceil(c)),g=Math.ceil(m/c*h);n.setAttribute("viewBox",`${l} ${u} ${c} ${h}`),n.setAttribute("width",String(m)),n.setAttribute("height",String(g)),n.removeAttribute("style")}function Rb(r){const n=r.trim().split(/\s+/,1)[0]?.toLowerCase();if(!n)return null;const s=n.replace(/^language-/,"");return hu(`code.${s}`)??s}function hf({code:r,blockKey:n}){const{t:s}=mt(),[l,u]=a.useState(null),[c,h]=a.useState(!1),m=a.useRef(null),g=a.useContext(Gu);a.useEffect(()=>{let f=!1;return u(null),h(!1),wb().then(async k=>{kb(k);const y=`termdock-md-mermaid-${n.replace(/[^a-zA-Z0-9_-]/g,"-")}`,{svg:N}=await k.render(y,r);f||u(Sb(N))}).catch(()=>{f||h(!0)}),()=>{f=!0}},[n,r]),a.useLayoutEffect(()=>{l&&jb(m.current)},[l]);const b=a.useCallback(()=>{const f=m.current?.querySelector("svg")?.outerHTML??l;f&&g?.(f)},[g,l]);return c?e.jsx(io,{code:r,lang:"mermaid",blockKey:`${n}-fallback`}):e.jsxs("div",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface shadow-sm",children:[e.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"}),e.jsx("div",{className:"bg-surface p-3",children:l?e.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:f=>{f.stopPropagation(),b()},children:e.jsx("span",{ref:m,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}})}):e.jsx("div",{className:"py-6 text-center text-xs text-muted-foreground",children:s("rightSidebar.renderingDiagram")})})]})}function io({code:r,lang:n,blockKey:s,codeStartLine:l,lineRange:u}){const c=Rb(n),[h,m]=a.useState(null);a.useEffect(()=>{if(!c||!mu(r)){m(null);return}let b=!1;return pu().then(f=>{if(b||!f.registered(c)){b||m(null);return}try{m(gu(f,r,c))}catch{b||m(null)}}).catch(()=>{b||m(null)}),()=>{b=!0}},[s,r,c]);const g=h??(r||" ").split(`
|
|
1644
1644
|
`).map(b=>[b||" "]);return e.jsxs("div",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface shadow-sm",children:[n&&e.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}),e.jsx("pre",{className:`${rl} termdock-code overflow-auto p-3 text-[11px] leading-relaxed text-foreground`,children:e.jsx("code",{children:g.map((b,f)=>{const k=l!=null?l+f:null,y=!!(u&&k!=null&&k>=u.start&&k<=u.end);return e.jsxs("span",{"data-md-ref-start":k??void 0,"data-md-ref-end":k??void 0,"data-selected":y?"true":void 0,children:[b,f<g.length-1?`
|
|
1645
1645
|
`:null]},`${s}-line-${f}`)})})})]})}function cl(r,n,s,l,u){r=tb(r);const c=Zg(r),h=Xu(r),m=[],g={markdownFilePath:n,rootPath:s,referenceDefinitions:c,footnoteDefinitions:eb(r),headingSlugCounts:new Map,images:m,onImageOpen:l,footnotesLabel:u?.footnotes??"Footnotes",backToFootnoteLabel:u?.backToFootnote??(y=>`Back to footnote ${y}`)},b=[];let f=0;for(;f<r.length;){const y=r[f],N=y.trim();if(no(y)||h.has(f)){f+=1;continue}if(!N){f+=1;continue}if(/^<details>\s*$/i.test(N)){const F=f;let p="Details";const i=[];for(f+=1;f<r.length&&!/^<\/details>\s*$/i.test(r[f].trim());){const U=r[f].trim().match(/^<summary>(.*?)<\/summary>\s*$/i);U?p=U[1].trim()||p:i.push(r[f].trimStart()),f+=1}f<r.length&&(f+=1),b.push({key:`details-${F}`,startLine:F+1,endLine:f,content:e.jsxs("details",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface px-3 py-2 text-muted-foreground",children:[e.jsx("summary",{className:"cursor-pointer text-sm font-semibold text-foreground",children:it(p,`details-${F}-summary`,!0,g)}),i.length>0&&e.jsx("div",{className:"mt-2 text-sm leading-6",children:cf(i,`details-${F}`,g)})]})});continue}const I=sf(y);if(I){const F=[y],p=f;for(f+=1;f<r.length&&!I.selfContained&&!new RegExp(`</${I.tag}>`,"i").test(r[f]);)F.push(r[f]),f+=1;f<r.length&&!I.selfContained&&(F.push(r[f]),f+=1),b.push({key:`html-${p}`,startLine:p+1,endLine:f,content:e.jsx(nf,{html:F.join(`
|
|
1646
1646
|
`)})});continue}const _=N.match(/^(```|~~~)\s*(.*)$/);if(_){const F=[],p=_[1],i=_[2]?.trim(),U=f;for(f+=1;f<r.length&&!r[f].trim().startsWith(p);)F.push(r[f]),f+=1;f<r.length&&(f+=1),b.push({key:`code-${U}`,startLine:U+1,endLine:f,fineGrained:i.toLowerCase()!=="mermaid"&&!["math","latex","tex"].includes(i.toLowerCase()),content:i.toLowerCase()==="mermaid"?e.jsx(hf,{code:F.join(`
|
|
Binary file
|
|
Binary file
|
package/dist/client/assets/{abnfDiagram-VCTEODGH-CPSz-oKS.js → abnfDiagram-VCTEODGH-BvFKrJvp.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-D1tHVHrA.js";import{p as f}from"./chunk-JWPE2WC7-COrvoLHM.js";import{d as n,bg as o}from"./mermaid.core-5yt2YuB8.js";import{M as c,c as d}from"./cynefin-OW5HDTMX-KpUgbXRL.js";import"./app-CojGYCuR.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
|