bb-app 0.0.9 → 0.0.11
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/app/dist/assets/AppSettingsView-Dh4Od2M3.js +1 -0
- package/app/dist/assets/InternalReplayListView-BjzY8fhh.js +1 -0
- package/app/dist/assets/ProjectArchivedThreadsView-o1R22xfj.js +1 -0
- package/app/dist/assets/ProjectSettingsView-BoH5a1hi.js +1 -0
- package/app/dist/assets/ThreadDetailRoute-Caqz8odF.js +2867 -0
- package/app/dist/assets/{ThreadUnarchiveButton-ae8m78ng.js → ThreadUnarchiveButton-2shfHri9.js} +1 -1
- package/app/dist/assets/{angular-html-CsQHuPoy.js → angular-html-CN4B7z8Z.js} +1 -1
- package/app/dist/assets/{angular-ts-B9caFRUl.js → angular-ts-Be9rCyh7.js} +1 -1
- package/app/dist/assets/{apl-BaFDIJAy.js → apl-C-09mkOY.js} +1 -1
- package/app/dist/assets/{astro-CB3F_OsY.js → astro-DQR04HMP.js} +1 -1
- package/app/dist/assets/{blade-CjgH6QoP.js → blade-CHOb28s9.js} +1 -1
- package/app/dist/assets/{bsl-CG-fq4sc.js → bsl-9Rfj8X2G.js} +1 -1
- package/app/dist/assets/{c-Bknf8flU.js → c-Czi5ZOPg.js} +1 -1
- package/app/dist/assets/{cairo-Ds0kTeYT.js → cairo-B8t0-PSB.js} +1 -1
- package/app/dist/assets/{chunk-JZWAC4HX-C0wcTaAp.js → chunk-JZWAC4HX-CmnT162V.js} +1 -1
- package/app/dist/assets/{cobol-s_WYmRkb.js → cobol-C0UrcShI.js} +1 -1
- package/app/dist/assets/{coffee-B4wogQNr.js → coffee-DLCACHKU.js} +1 -1
- package/app/dist/assets/{cpp-DBcUjMMg.js → cpp-CKRDyJLk.js} +1 -1
- package/app/dist/assets/{crystal-BEUw9aly.js → crystal-DzdlwfxO.js} +1 -1
- package/app/dist/assets/{css-Tyi5cHoy.js → css-J88DqgyO.js} +1 -1
- package/app/dist/assets/dialog-JFJupr8S.js +22 -0
- package/app/dist/assets/{edge-DBVUn5K4.js → edge-BiusF5O8.js} +1 -1
- package/app/dist/assets/effective-hosts-BS3g3uzj.js +68 -0
- package/app/dist/assets/{elixir-DScCko2H.js → elixir-DVV1N8WB.js} +1 -1
- package/app/dist/assets/{elm-C4qaS622.js → elm-ZwoouJdM.js} +1 -1
- package/app/dist/assets/{erb-CZnOXF4N.js → erb-6WVNn8lP.js} +1 -1
- package/app/dist/assets/{erlang-C-m_88FN.js → erlang-CdOz9ruD.js} +1 -1
- package/app/dist/assets/{fortran-fixed-form-Cx1lv7HN.js → fortran-fixed-form-BmD2L0UY.js} +1 -1
- package/app/dist/assets/{fsharp-DC5k9sy2.js → fsharp-DgKUr7h2.js} +1 -1
- package/app/dist/assets/{gdresource-D0EsKdgH.js → gdresource-BqgTfeIa.js} +1 -1
- package/app/dist/assets/{git-commit-BcFsuO5E.js → git-commit-CPnaL3nl.js} +1 -1
- package/app/dist/assets/{git-rebase-QEKpMjJZ.js → git-rebase-CI6iVcd4.js} +1 -1
- package/app/dist/assets/{glimmer-js-BNOZF2qI.js → glimmer-js-MU0okVIL.js} +1 -1
- package/app/dist/assets/{glimmer-ts-apIdP2bg.js → glimmer-ts-BXJcqrHb.js} +1 -1
- package/app/dist/assets/{glsl-Dg2m4Gqj.js → glsl-CthKK13_.js} +1 -1
- package/app/dist/assets/{graphql-DFhF_r-2.js → graphql-Cfx6sMIN.js} +1 -1
- package/app/dist/assets/{hack-Bhx0ZE7U.js → hack-Cfn0L20S.js} +1 -1
- package/app/dist/assets/{haml-DI6_Yg2F.js → haml-DpOUW3De.js} +1 -1
- package/app/dist/assets/{handlebars-BnNY7a5K.js → handlebars-Dq6TUqDg.js} +1 -1
- package/app/dist/assets/{html-BOXTZS1i.js → html-CrFhd97J.js} +1 -1
- package/app/dist/assets/{html-derivative-v40-23QP.js → html-derivative-SXrZiT2S.js} +1 -1
- package/app/dist/assets/{http-BjNdwlfX.js → http-BxRXAeum.js} +1 -1
- package/app/dist/assets/{hurl-FLqiDEN1.js → hurl-BsAa903H.js} +1 -1
- package/app/dist/assets/{hxml-iQTOTWpM.js → hxml-DlOl0PEf.js} +1 -1
- package/app/dist/assets/index-DYJoFBAk.css +2 -0
- package/app/dist/assets/index-DbhAkEqX.js +1366 -0
- package/app/dist/assets/{java-BK7M4QRN.js → java-BZRe3u16.js} +1 -1
- package/app/dist/assets/{javascript-CIysJabp.js → javascript-YzZUmjcN.js} +1 -1
- package/app/dist/assets/{jinja-D22cUMUY.js → jinja-CkL9mgnB.js} +1 -1
- package/app/dist/assets/{jison-D5ZXfQQd.js → jison-DY01LEsx.js} +1 -1
- package/app/dist/assets/{json-DEUxBxBS.js → json-DeVTS63Q.js} +1 -1
- package/app/dist/assets/{jsx-cxjRg4Z9.js → jsx-B73xjEBK.js} +1 -1
- package/app/dist/assets/{julia-DfQvji8F.js → julia-D5UCqxaX.js} +1 -1
- package/app/dist/assets/{just-7mfnOEVc.js → just-BfeKX4XX.js} +1 -1
- package/app/dist/assets/{latex-CmEGWjs7.js → latex-CllT7gYn.js} +1 -1
- package/app/dist/assets/{liquid-Cmbkwo5G.js → liquid-Bgz2sjbj.js} +1 -1
- package/app/dist/assets/localhost-badge-BESHcXM2.js +1 -0
- package/app/dist/assets/{lua-DJijm0YV.js → lua-CKg4_5Yw.js} +1 -1
- package/app/dist/assets/{marko-TMTUEuNL.js → marko-CSplXaxm.js} +1 -1
- package/app/dist/assets/{mdc-DT_H0tm2.js → mdc-CR1bPJlt.js} +1 -1
- package/app/dist/assets/mutation-cache-effects-BX02KjBd.js +1 -0
- package/app/dist/assets/mutation-errors-DgGC9CkY.js +2 -0
- package/app/dist/assets/{nextflow-D-Ec_bsY.js → nextflow-CK5HLJvq.js} +1 -1
- package/app/dist/assets/{nginx-DfhY1ECI.js → nginx-Chba8emm.js} +1 -1
- package/app/dist/assets/{nim-CY6yBY6c.js → nim-BJOCNxTB.js} +1 -1
- package/app/dist/assets/page-shell-CaMV_G2I.js +39 -0
- package/app/dist/assets/{perl-BRRcO43t.js → perl-DtYnB2VK.js} +1 -1
- package/app/dist/assets/{php-DoQeKnTv.js → php-Cm6MwVxd.js} +1 -1
- package/app/dist/assets/{pill-CoTRlxZ6.js → pill-Ds03GLze.js} +1 -1
- package/app/dist/assets/{pug-BusbjPKV.js → pug-Cs95QZUY.js} +1 -1
- package/app/dist/assets/{qml-D4hm6vUS.js → qml-DV4H8TeV.js} +1 -1
- package/app/dist/assets/{r-C3JOt0ks.js → r-BOwNWtkP.js} +1 -1
- package/app/dist/assets/{razor-MHFIGhr-.js → razor-rzD3KE0N.js} +1 -1
- package/app/dist/assets/{regexp-DmDmHqK0.js → regexp-D5UpjLq1.js} +1 -1
- package/app/dist/assets/{rst-D5K5OvKu.js → rst-nRBldbnW.js} +1 -1
- package/app/dist/assets/{ruby-qXw_ViMa.js → ruby-DK9_UnsF.js} +1 -1
- package/app/dist/assets/{sas-SiqJsOSW.js → sas-BxxScrc4.js} +1 -1
- package/app/dist/assets/{scss-B9bBsqJt.js → scss-dYaO_Ssw.js} +1 -1
- package/app/dist/assets/{settings-section-B0JkCbim.js → settings-section-BgEyrMBV.js} +1 -1
- package/app/dist/assets/{shaderlab-DGohHMiF.js → shaderlab-jhHUXThs.js} +1 -1
- package/app/dist/assets/{shellscript-B0hF8Ck_.js → shellscript-BGY92qaj.js} +1 -1
- package/app/dist/assets/{shellsession-kbvqTqYV.js → shellsession-DHio1RBs.js} +1 -1
- package/app/dist/assets/{soy-DED6zzHR.js → soy-CWnh82_C.js} +1 -1
- package/app/dist/assets/{sparql-BgU2QITA.js → sparql-D050l-1j.js} +1 -1
- package/app/dist/assets/split-button-PlurXMEc.js +1 -0
- package/app/dist/assets/{sql-kJQbrAD6.js → sql-BgOSYFXh.js} +1 -1
- package/app/dist/assets/{stata-Bsjpyopz.js → stata-Di5c1EGu.js} +1 -1
- package/app/dist/assets/{surrealql-CV66KZgA.js → surrealql-CKgBuPai.js} +1 -1
- package/app/dist/assets/{svelte-DQTF70EG.js → svelte-DGNSQgHP.js} +1 -1
- package/app/dist/assets/{templ-5jXq5O2y.js → templ--mBJoDNy.js} +1 -1
- package/app/dist/assets/{tex-BKPWc06x.js → tex-Drg-gBC1.js} +1 -1
- package/app/dist/assets/thread-queries-DI7HoSpk.js +1 -0
- package/app/dist/assets/{ts-tags-DHR5Sjbn.js → ts-tags-_EoiaFc_.js} +1 -1
- package/app/dist/assets/{tsx-BikICA1y.js → tsx-C3E3ZPo7.js} +1 -1
- package/app/dist/assets/{twig-D00gH1GT.js → twig-BkmJOmf1.js} +1 -1
- package/app/dist/assets/{typescript-B9SUz1Ri.js → typescript-zC8doK3K.js} +1 -1
- package/app/dist/assets/{vue-nmyY5t9g.js → vue-Dqnq1uw7.js} +1 -1
- package/app/dist/assets/{vue-html-CxTWudeN.js → vue-html-CZNe_SnY.js} +1 -1
- package/app/dist/assets/{vue-vine-DKOrFY9Z.js → vue-vine-ChEJZJ0Y.js} +1 -1
- package/app/dist/assets/workspace-open-target-preference-Dve5Zih1.js +1 -0
- package/app/dist/assets/{xml-vPV5v5Ih.js → xml-DHqUJISw.js} +1 -1
- package/app/dist/assets/{xsl-FiPzBrgC.js → xsl-B_xW8s_z.js} +1 -1
- package/app/dist/assets/{yaml-CYAqjA7C.js → yaml-CHAY15k-.js} +1 -1
- package/app/dist/index.html +12 -11
- package/host-daemon/dist/bb +55 -55
- package/host-daemon/dist/bb-claude-code-bridge.mjs +37 -37
- package/host-daemon/dist/bb-pi-bridge.mjs +1 -1
- package/host-daemon/dist/daemon-bundle.mjs +439 -432
- package/package.json +1 -1
- package/server/dist/drizzle/0005_strong_exodus.sql +29 -0
- package/server/dist/drizzle/0006_rapid_santa_claus.sql +11 -0
- package/server/dist/drizzle/0007_curvy_ezekiel_stane.sql +2 -0
- package/server/dist/drizzle/meta/0005_snapshot.json +3227 -0
- package/server/dist/drizzle/meta/0006_snapshot.json +3243 -0
- package/server/dist/drizzle/meta/0007_snapshot.json +3260 -0
- package/server/dist/drizzle/meta/_journal.json +22 -1
- package/server/dist/index.js +11880 -14862
- package/app/dist/assets/AppSettingsView-3xuBYGm-.js +0 -1
- package/app/dist/assets/InternalReplayListView-D4BuZuhX.js +0 -1
- package/app/dist/assets/ProjectArchivedThreadsView-CQ79aEPs.js +0 -1
- package/app/dist/assets/ProjectSettingsView-D0t1s9Kc.js +0 -1
- package/app/dist/assets/ThreadDetailRoute-S7gHiq2R.js +0 -2871
- package/app/dist/assets/dialog-yU2jYzlX.js +0 -1
- package/app/dist/assets/effective-hosts-L1PAD_aI.js +0 -68
- package/app/dist/assets/index-BYWUZ2en.css +0 -2
- package/app/dist/assets/index-aLeXFWbZ.js +0 -1360
- package/app/dist/assets/localhost-badge-CmIXXpKJ.js +0 -22
- package/app/dist/assets/mutation-cache-effects-CDggZqqz.js +0 -1
- package/app/dist/assets/page-shell-BWng2QUG.js +0 -39
- package/app/dist/assets/split-button-D4kqBiFb.js +0 -1
- package/app/dist/assets/thread-queries-fJ7WqAPD.js +0 -1
- /package/app/dist/assets/{abap-B1dkBSPn.js → abap-B7RnWQOG.js} +0 -0
- /package/app/dist/assets/{actionscript-3-BT4ibYlP.js → actionscript-3-CRl2BRXz.js} +0 -0
- /package/app/dist/assets/{ada-CD92zeps.js → ada-CySgk42_.js} +0 -0
- /package/app/dist/assets/{addon-fit-Cm0rqjtv.js → addon-fit-C0pCnz-E.js} +0 -0
- /package/app/dist/assets/{addon-web-links-B8_D6zvC.js → addon-web-links-C74o10p8.js} +0 -0
- /package/app/dist/assets/{andromeeda-DqSmgxi0.js → andromeeda-Bnm9WW1a.js} +0 -0
- /package/app/dist/assets/{apache-D5suuoa_.js → apache-CQgWNR0K.js} +0 -0
- /package/app/dist/assets/{apex-BL-m4VHy.js → apex-CFa_x2c9.js} +0 -0
- /package/app/dist/assets/{applescript-CLiBqvKT.js → applescript-CCGt--QU.js} +0 -0
- /package/app/dist/assets/{ara-LdDF8cmv.js → ara-CJYv1XlV.js} +0 -0
- /package/app/dist/assets/{asciidoc-2DZ9hC2N.js → asciidoc-DxgPoKvx.js} +0 -0
- /package/app/dist/assets/{asm-0ZPGRSUy.js → asm-2LyQSByb.js} +0 -0
- /package/app/dist/assets/{aurora-x-Da7Zfvbg.js → aurora-x-DfOR6O80.js} +0 -0
- /package/app/dist/assets/{awk-Bn0gn_B_.js → awk-adfNbTQc.js} +0 -0
- /package/app/dist/assets/{ayu-dark-bqYKoqpM.js → ayu-dark-ADZF52JZ.js} +0 -0
- /package/app/dist/assets/{ayu-light-C45jTIzZ.js → ayu-light-CMMeLqXc.js} +0 -0
- /package/app/dist/assets/{ayu-mirage-BV_FCTQi.js → ayu-mirage-BZvrYN67.js} +0 -0
- /package/app/dist/assets/{ballerina-D2nw_w8Q.js → ballerina-G1jH5Moz.js} +0 -0
- /package/app/dist/assets/{bat-ByUBN5gS.js → bat-CHXtPpft.js} +0 -0
- /package/app/dist/assets/{beancount-BTb2W6Mp.js → beancount-EfboDiXG.js} +0 -0
- /package/app/dist/assets/{berry-5SO2uITG.js → berry-DAhQzFBm.js} +0 -0
- /package/app/dist/assets/{bibtex-CDBTNfUI.js → bibtex-CanpD3m2.js} +0 -0
- /package/app/dist/assets/{bicep-fgxG_4rP.js → bicep-Cc0u08ve.js} +0 -0
- /package/app/dist/assets/{bird2-BCwzDhwX.js → bird2-BmGSmafQ.js} +0 -0
- /package/app/dist/assets/{c3-Dlaci63_.js → c3-Bld9q8eN.js} +0 -0
- /package/app/dist/assets/{cadence-DHbRuEmm.js → cadence-_3OaglmQ.js} +0 -0
- /package/app/dist/assets/{catppuccin-frappe-DrL1fUuH.js → catppuccin-frappe-Dn0XJ8jj.js} +0 -0
- /package/app/dist/assets/{catppuccin-latte-C0REgVjl.js → catppuccin-latte-D25Kwd8S.js} +0 -0
- /package/app/dist/assets/{catppuccin-macchiato-ChQpylWO.js → catppuccin-macchiato-Bc6w_RYC.js} +0 -0
- /package/app/dist/assets/{catppuccin-mocha-Dd0JU1T0.js → catppuccin-mocha-Di4PH8Ri.js} +0 -0
- /package/app/dist/assets/{clarity-DMoTOm4G.js → clarity-CVKtZWJu.js} +0 -0
- /package/app/dist/assets/{clojure-DBhE3PpS.js → clojure-C4w8xKrn.js} +0 -0
- /package/app/dist/assets/{cmake-DwMc40Or.js → cmake-DuxpWyxB.js} +0 -0
- /package/app/dist/assets/{codeowners-1lVr8wqV.js → codeowners-BYgLRiPG.js} +0 -0
- /package/app/dist/assets/{codeql-DWflolvo.js → codeql-DmJo4bmm.js} +0 -0
- /package/app/dist/assets/{common-lisp-CrVQ5xT-.js → common-lisp-xmwdM7sj.js} +0 -0
- /package/app/dist/assets/{coq-CjfoyYSh.js → coq-D004aLp-.js} +0 -0
- /package/app/dist/assets/{csharp-C7bIWP5y.js → csharp-BJRWJrkS.js} +0 -0
- /package/app/dist/assets/{csv-DsAkDVtA.js → csv-Cx2EO4hN.js} +0 -0
- /package/app/dist/assets/{cue-BWmQgbOB.js → cue-BFvpulfw.js} +0 -0
- /package/app/dist/assets/{cypher-D-jVC50Q.js → cypher-CloxltJj.js} +0 -0
- /package/app/dist/assets/{d-CaviyOrm.js → d-ByN-nCZx.js} +0 -0
- /package/app/dist/assets/{dark-plus-DIrnwZt9.js → dark-plus-BRQ4k4kr.js} +0 -0
- /package/app/dist/assets/{dart-CZEi7JgC.js → dart-jaYeqpH7.js} +0 -0
- /package/app/dist/assets/{dax-BK-8zffy.js → dax-CQDoOssZ.js} +0 -0
- /package/app/dist/assets/{desktop-D3cjbL4D.js → desktop-DssJfs2S.js} +0 -0
- /package/app/dist/assets/{diff-sHAzLvlp.js → diff-DGLbp6Xl.js} +0 -0
- /package/app/dist/assets/{docker--xs2Ng3w.js → docker-B7aZDRTU.js} +0 -0
- /package/app/dist/assets/{dotenv-Cm4nwcJ7.js → dotenv-D3KyAIK0.js} +0 -0
- /package/app/dist/assets/{dracula-CAUSusef.js → dracula-6-t2eOMW.js} +0 -0
- /package/app/dist/assets/{dracula-soft-cjNkMFza.js → dracula-soft-B4TZzIlp.js} +0 -0
- /package/app/dist/assets/{dream-maker-fjmWTFCO.js → dream-maker-CjPuR0vx.js} +0 -0
- /package/app/dist/assets/{emacs-lisp-CJzqStIa.js → emacs-lisp-BHg7FqFZ.js} +0 -0
- /package/app/dist/assets/{everforest-dark-DBpaSMx1.js → everforest-dark-B4IVVaS6.js} +0 -0
- /package/app/dist/assets/{everforest-light-CiGrXwia.js → everforest-light-CNoEiPUu.js} +0 -0
- /package/app/dist/assets/{fennel-DRaXF7k8.js → fennel-DG6hK7z2.js} +0 -0
- /package/app/dist/assets/{fish-Bn-Yh3Jj.js → fish-_zY__9L4.js} +0 -0
- /package/app/dist/assets/{fluent-DF5F8Ks_.js → fluent-BBz3hVA9.js} +0 -0
- /package/app/dist/assets/{fortran-free-form-hCQHRqew.js → fortran-free-form-Db24aQuN.js} +0 -0
- /package/app/dist/assets/{gdscript-_C9_Hi_w.js → gdscript-CxxY7zMa.js} +0 -0
- /package/app/dist/assets/{gdshader-BW7b1X1Y.js → gdshader-W85lNgcx.js} +0 -0
- /package/app/dist/assets/{genie-Ch_6TCHd.js → genie-2WOhOayX.js} +0 -0
- /package/app/dist/assets/{gherkin-CaNUsmTq.js → gherkin-BsQJenZD.js} +0 -0
- /package/app/dist/assets/{github-dark-B9ygjgg6.js → github-dark-DH2_Q6FX.js} +0 -0
- /package/app/dist/assets/{github-dark-default-Br2bgYSx.js → github-dark-default-DTF8deNx.js} +0 -0
- /package/app/dist/assets/{github-dark-dimmed-CmtqpPJ-.js → github-dark-dimmed-BvtnYOMy.js} +0 -0
- /package/app/dist/assets/{github-dark-high-contrast-fSfmrZcC.js → github-dark-high-contrast-CQhqa0EF.js} +0 -0
- /package/app/dist/assets/{github-light-default-lIytXXhR.js → github-light-default-9rPElOua.js} +0 -0
- /package/app/dist/assets/{github-light-high-contrast-BRrjFb7n.js → github-light-high-contrast-Drx2T_ea.js} +0 -0
- /package/app/dist/assets/{github-light-BZjUqfZl.js → github-light-t2gQwbnC.js} +0 -0
- /package/app/dist/assets/{gleam-DALMDpNs.js → gleam-BjFNd70h.js} +0 -0
- /package/app/dist/assets/{gn-DGjqrYN9.js → gn-MXj_EEiV.js} +0 -0
- /package/app/dist/assets/{gnuplot-BYckvgQI.js → gnuplot-C40vWoS_.js} +0 -0
- /package/app/dist/assets/{go-JycvP538.js → go-B2Qj-jpc.js} +0 -0
- /package/app/dist/assets/{groovy-D5qMRONT.js → groovy-42TXi0JD.js} +0 -0
- /package/app/dist/assets/{gruvbox-dark-hard-M1dj1e6V.js → gruvbox-dark-hard-DaxQoAo9.js} +0 -0
- /package/app/dist/assets/{gruvbox-dark-medium-cqq_ncQu.js → gruvbox-dark-medium-CR6ynfxn.js} +0 -0
- /package/app/dist/assets/{gruvbox-dark-soft-B4QwL2a9.js → gruvbox-dark-soft-QoKQNR_B.js} +0 -0
- /package/app/dist/assets/{gruvbox-light-hard-DLayMKOQ.js → gruvbox-light-hard-C3-JuKAe.js} +0 -0
- /package/app/dist/assets/{gruvbox-light-medium-D52XgPKf.js → gruvbox-light-medium-676URJw_.js} +0 -0
- /package/app/dist/assets/{gruvbox-light-soft-Dola3KdD.js → gruvbox-light-soft-BGpHIYJO.js} +0 -0
- /package/app/dist/assets/{haskell-ys7wPPEd.js → haskell-C5VEzHiR.js} +0 -0
- /package/app/dist/assets/{haxe-94kiChn7.js → haxe-DxCG7g2C.js} +0 -0
- /package/app/dist/assets/{hcl-DmHt_-wq.js → hcl-B-KEcm-b.js} +0 -0
- /package/app/dist/assets/{hjson-xMmoJ0Gx.js → hjson-KcqWy6wG.js} +0 -0
- /package/app/dist/assets/{hlsl-b-Pskdze.js → hlsl-CU9ay1Rj.js} +0 -0
- /package/app/dist/assets/{horizon-BKMqttiR.js → horizon-BDDUNMOh.js} +0 -0
- /package/app/dist/assets/{horizon-bright-HNkBlnm5.js → horizon-bright-Km86OX7k.js} +0 -0
- /package/app/dist/assets/{houston-BkBSBSOQ.js → houston-CnK3oLKP.js} +0 -0
- /package/app/dist/assets/{hy-DKl1XhBq.js → hy-9kqolRdI.js} +0 -0
- /package/app/dist/assets/{imba-DPxkOTAg.js → imba-AWBATAYY.js} +0 -0
- /package/app/dist/assets/{ini-lkLGq_1x.js → ini-P5JLg6LV.js} +0 -0
- /package/app/dist/assets/{json5-Cy6ypJuJ.js → json5-Cj9weIvR.js} +0 -0
- /package/app/dist/assets/{jsonc-Cw2ugYAK.js → jsonc-CwVZHrLL.js} +0 -0
- /package/app/dist/assets/{jsonl-Dp5_qBVH.js → jsonl-CfYcxfNz.js} +0 -0
- /package/app/dist/assets/{jsonnet-BTbmg_-u.js → jsonnet-B351KcBZ.js} +0 -0
- /package/app/dist/assets/{jssm-CnT7nPea.js → jssm-CVNVxyp8.js} +0 -0
- /package/app/dist/assets/{kanagawa-dragon-CxsBnuhV.js → kanagawa-dragon-Bg-BKRuP.js} +0 -0
- /package/app/dist/assets/{kanagawa-lotus-vHdxDDOS.js → kanagawa-lotus-CVGoMXw8.js} +0 -0
- /package/app/dist/assets/{kanagawa-wave-CIkfTKWk.js → kanagawa-wave-CuNbEAGB.js} +0 -0
- /package/app/dist/assets/{kdl-BwK60g80.js → kdl-B2a5Hdo5.js} +0 -0
- /package/app/dist/assets/{kotlin-Dbd9Vi-v.js → kotlin-CwntYu9G.js} +0 -0
- /package/app/dist/assets/{kusto-BuTk9usc.js → kusto-DzqQhEgS.js} +0 -0
- /package/app/dist/assets/{laserwave-C0wf_d3o.js → laserwave-Bf5KiZGG.js} +0 -0
- /package/app/dist/assets/{lean-CYAW8bRN.js → lean-CLemLjY9.js} +0 -0
- /package/app/dist/assets/{less-D4uen21c.js → less-Dycz37IB.js} +0 -0
- /package/app/dist/assets/{light-plus-oqYyWKEE.js → light-plus-BISup5vO.js} +0 -0
- /package/app/dist/assets/{llvm-Z1xJzteV.js → llvm-B3vA1z1w.js} +0 -0
- /package/app/dist/assets/{log-BGUxlsk3.js → log-CM4eTPwH.js} +0 -0
- /package/app/dist/assets/{logo-wVUhvQ1b.js → logo-DCYIDlXZ.js} +0 -0
- /package/app/dist/assets/{luau-rPFZzCmq.js → luau-B3LrvOEt.js} +0 -0
- /package/app/dist/assets/{make-BmPf6m0P.js → make-Bep3F-fA.js} +0 -0
- /package/app/dist/assets/{markdown-AseU6zcW.js → markdown-BObkjWCp.js} +0 -0
- /package/app/dist/assets/{material-theme-darker-VPEo3Sem.js → material-theme-darker-DM1OIivA.js} +0 -0
- /package/app/dist/assets/{material-theme-6_W6rQhR.js → material-theme-jZt3rhQh.js} +0 -0
- /package/app/dist/assets/{material-theme-lighter-CUhzCcZ9.js → material-theme-lighter-HtgpH1FU.js} +0 -0
- /package/app/dist/assets/{material-theme-ocean-B2JdsaGb.js → material-theme-ocean-CeFuXoRG.js} +0 -0
- /package/app/dist/assets/{material-theme-palenight-DhY-sklA.js → material-theme-palenight-BMg4YxS6.js} +0 -0
- /package/app/dist/assets/{matlab-BOj_BDQv.js → matlab-BjvFQgI4.js} +0 -0
- /package/app/dist/assets/{mdx-Cm6cDkDI.js → mdx-DnKU9cqA.js} +0 -0
- /package/app/dist/assets/{mermaid-DLO-R4hv.js → mermaid-CH8Qvaqo.js} +0 -0
- /package/app/dist/assets/{min-dark-D34a_pX7.js → min-dark-B95jFnY0.js} +0 -0
- /package/app/dist/assets/{min-light-Cdd4KORE.js → min-light-CqwYUont.js} +0 -0
- /package/app/dist/assets/{mipsasm-DYpHF-GA.js → mipsasm-OAAwCDEg.js} +0 -0
- /package/app/dist/assets/{mojo-DqYVFv_G.js → mojo-COx3BOEA.js} +0 -0
- /package/app/dist/assets/{monokai-CDR4sQ2n.js → monokai-C988KBom.js} +0 -0
- /package/app/dist/assets/{moonbit-DRKee9wk.js → moonbit-ChOfdbnC.js} +0 -0
- /package/app/dist/assets/{move-DbRk6Vn9.js → move-jwG4QUY4.js} +0 -0
- /package/app/dist/assets/{narrat-IOfmaXfb.js → narrat-Bv3slmdi.js} +0 -0
- /package/app/dist/assets/{nextflow-groovy-EYl0c2BQ.js → nextflow-groovy-CYeLXiaP.js} +0 -0
- /package/app/dist/assets/{night-owl-yQJ3-I0I.js → night-owl-SjOLjRtB.js} +0 -0
- /package/app/dist/assets/{night-owl-light-Bedht9b4.js → night-owl-light-DHrEzBAj.js} +0 -0
- /package/app/dist/assets/{nix-C2IovEl2.js → nix-CcOD1khX.js} +0 -0
- /package/app/dist/assets/{nord-BjZ63GNL.js → nord-BGjNHkRW.js} +0 -0
- /package/app/dist/assets/{nushell-BflTrRB5.js → nushell-GFe6C8D1.js} +0 -0
- /package/app/dist/assets/{objective-c-GRClK1S7.js → objective-c-Da4gtNmU.js} +0 -0
- /package/app/dist/assets/{objective-cpp-l3qYw-v5.js → objective-cpp-Du3a_PKx.js} +0 -0
- /package/app/dist/assets/{ocaml-BBDyhyMH.js → ocaml-4v1g0DKj.js} +0 -0
- /package/app/dist/assets/{odin-jCJ7Js99.js → odin-C2CG6fMn.js} +0 -0
- /package/app/dist/assets/{one-dark-pro-PIx2Diul.js → one-dark-pro-BwcbXd-T.js} +0 -0
- /package/app/dist/assets/{one-light-BFMEz49S.js → one-light-BOQW5zin.js} +0 -0
- /package/app/dist/assets/{openscad-Drf0LgCX.js → openscad-Bs2SxlcB.js} +0 -0
- /package/app/dist/assets/{pascal-BT2XAUTl.js → pascal-B6AuHgs_.js} +0 -0
- /package/app/dist/assets/{pierre-dark-BMm5HxPQ.js → pierre-dark-CRPkZhl3.js} +0 -0
- /package/app/dist/assets/{pierre-light-DyzEot4Q.js → pierre-light-BT7AHM04.js} +0 -0
- /package/app/dist/assets/{pkl-ML-dWShO.js → pkl-BuPFXprX.js} +0 -0
- /package/app/dist/assets/{plastic-BFI-Z5Z2.js → plastic-BiAROaFC.js} +0 -0
- /package/app/dist/assets/{plsql-0vd5cLro.js → plsql-DQ_z5ed2.js} +0 -0
- /package/app/dist/assets/{po-CbZ_uqQA.js → po-BvHij3iO.js} +0 -0
- /package/app/dist/assets/{poimandres-Cayhd01L.js → poimandres-BbdNMHGS.js} +0 -0
- /package/app/dist/assets/{polar-C4hfV8Nc.js → polar-p_EVOYp2.js} +0 -0
- /package/app/dist/assets/{postcss-osFUbTLw.js → postcss-BVVH-mhK.js} +0 -0
- /package/app/dist/assets/{powerquery-CTlGUQPj.js → powerquery-D2htabf9.js} +0 -0
- /package/app/dist/assets/{powershell-DyZsOmuq.js → powershell-NfY3J8Uu.js} +0 -0
- /package/app/dist/assets/{prisma-SS92PO_I.js → prisma-CMeP8UTm.js} +0 -0
- /package/app/dist/assets/{prolog-B1O1NNVC.js → prolog-Cc9yvHML.js} +0 -0
- /package/app/dist/assets/{proto-BWu3eZTs.js → proto-CNBX21YV.js} +0 -0
- /package/app/dist/assets/{puppet-tvtRVdr6.js → puppet-ZnM2F-kY.js} +0 -0
- /package/app/dist/assets/{purescript-Dtbpb7D-.js → purescript-nyLIIaTP.js} +0 -0
- /package/app/dist/assets/{python-Dlk0Acio.js → python-Dt6SBvxD.js} +0 -0
- /package/app/dist/assets/{qmldir-B-iEOngH.js → qmldir-BDEiw2QJ.js} +0 -0
- /package/app/dist/assets/{qss-Ba0p-aHw.js → qss-B8ZOZZRM.js} +0 -0
- /package/app/dist/assets/{racket-BXDsxf2U.js → racket-emNFhxM0.js} +0 -0
- /package/app/dist/assets/{raku-Dw1WWFXK.js → raku-M_VGm79k.js} +0 -0
- /package/app/dist/assets/{red-BC3Ds49b.js → red-BcYVa2Jk.js} +0 -0
- /package/app/dist/assets/{reg-DXFHGaM4.js → reg-rRGLqGjW.js} +0 -0
- /package/app/dist/assets/{rel-Dc5_Ytx2.js → rel-DqcQFa7Q.js} +0 -0
- /package/app/dist/assets/{riscv-ZgswiWij.js → riscv-CanSyeO8.js} +0 -0
- /package/app/dist/assets/{ron-YghabWAH.js → ron-BQ46iNCb.js} +0 -0
- /package/app/dist/assets/{rose-pine-ByWLnVr3.js → rose-pine-BuTm62Vj.js} +0 -0
- /package/app/dist/assets/{rose-pine-dawn-DBmeySrz.js → rose-pine-dawn-B670NuiP.js} +0 -0
- /package/app/dist/assets/{rose-pine-moon-B9J-N3nK.js → rose-pine-moon-6KoQonQX.js} +0 -0
- /package/app/dist/assets/{rosmsg-DTKmAsVH.js → rosmsg-Bw0HfGe_.js} +0 -0
- /package/app/dist/assets/{rust-nfXwuE6F.js → rust-D83UuV7F.js} +0 -0
- /package/app/dist/assets/{sass-CbRjkld3.js → sass-CE2YZJdE.js} +0 -0
- /package/app/dist/assets/{scala-BzD3eypx.js → scala-CyYhociv.js} +0 -0
- /package/app/dist/assets/{scheme-D4d1PV1y.js → scheme-BrRWQ1yX.js} +0 -0
- /package/app/dist/assets/{sdbl-Cf-Ydnvx.js → sdbl-CtZR2I6R.js} +0 -0
- /package/app/dist/assets/{slack-dark-MszIyPZ2.js → slack-dark-nxsbRL6U.js} +0 -0
- /package/app/dist/assets/{slack-ochin-tQ3Q0gE9.js → slack-ochin-Cx2HX71B.js} +0 -0
- /package/app/dist/assets/{smalltalk-_uWoArwn.js → smalltalk-DGeW9hbd.js} +0 -0
- /package/app/dist/assets/{snazzy-light-9sniMEk5.js → snazzy-light-508iEJO_.js} +0 -0
- /package/app/dist/assets/{solarized-dark-CdD0Hxzv.js → solarized-dark-TCkigWjM.js} +0 -0
- /package/app/dist/assets/{solarized-light-C-nsEdqF.js → solarized-light-R2Rcjqww.js} +0 -0
- /package/app/dist/assets/{solidity-D6uC-xwP.js → solidity-46G7JVSr.js} +0 -0
- /package/app/dist/assets/{splunk-LQYHRu14.js → splunk-DKgoBk9o.js} +0 -0
- /package/app/dist/assets/{ssh-config-B7BUl8Rd.js → ssh-config-JoXpWa3y.js} +0 -0
- /package/app/dist/assets/{stylus-Byjxdx_q.js → stylus-BPw8WnNN.js} +0 -0
- /package/app/dist/assets/{swift-BexLlMrU.js → swift-Ce2Nlw8Q.js} +0 -0
- /package/app/dist/assets/{synthwave-84-BxMBwQMS.js → synthwave-84-Br2i7yYN.js} +0 -0
- /package/app/dist/assets/{system-verilog-DVGwm0mw.js → system-verilog-Dkc37EdI.js} +0 -0
- /package/app/dist/assets/{systemd-H2IT3-p5.js → systemd-CcJTFvpw.js} +0 -0
- /package/app/dist/assets/{talonscript-mKZIGM8n.js → talonscript-CHxC2PG4.js} +0 -0
- /package/app/dist/assets/{tasl-B7he_Ugr.js → tasl-woKXKJkx.js} +0 -0
- /package/app/dist/assets/{tcl-5mT3RxHH.js → tcl-6FTtarFH.js} +0 -0
- /package/app/dist/assets/{terraform-BZP0GLsT.js → terraform-DHx5Kdyi.js} +0 -0
- /package/app/dist/assets/{tokyo-night-CTPVdZt9.js → tokyo-night-BQsIhA-A.js} +0 -0
- /package/app/dist/assets/{toml-CTFA98he.js → toml-BCbG8Uu3.js} +0 -0
- /package/app/dist/assets/{tsv-BayJtYdY.js → tsv-Bfk0YRxN.js} +0 -0
- /package/app/dist/assets/{turtle-TVCBh_kY.js → turtle-DsCF_r1D.js} +0 -0
- /package/app/dist/assets/{typespec-BUvaJDLF.js → typespec-tsneGPKg.js} +0 -0
- /package/app/dist/assets/{typst-8NBaY7Ec.js → typst-BcQNhVIE.js} +0 -0
- /package/app/dist/assets/{v-VihyTigi.js → v-CPbK5D5K.js} +0 -0
- /package/app/dist/assets/{vala-DyFAPyX6.js → vala-CTmcnleK.js} +0 -0
- /package/app/dist/assets/{vb-Dg1Iqi4J.js → vb-iQRhK9Tp.js} +0 -0
- /package/app/dist/assets/{verilog-D2Xc-vhD.js → verilog-BxRFSB3_.js} +0 -0
- /package/app/dist/assets/{vesper-DJbtqYNr.js → vesper-D_U9vezF.js} +0 -0
- /package/app/dist/assets/{vhdl-CU3BVeE7.js → vhdl-D4h06VsC.js} +0 -0
- /package/app/dist/assets/{viml-hG2shuOW.js → viml-DMcwh6Y2.js} +0 -0
- /package/app/dist/assets/{vitesse-black-DbG2gsc0.js → vitesse-black-Dk8H62LF.js} +0 -0
- /package/app/dist/assets/{vitesse-dark-B6WV4xXH.js → vitesse-dark-BuiSS132.js} +0 -0
- /package/app/dist/assets/{vitesse-light-DC1pdD02.js → vitesse-light-DfdaVJLv.js} +0 -0
- /package/app/dist/assets/{vyper-C1wojIuk.js → vyper-DfAPtbtc.js} +0 -0
- /package/app/dist/assets/{wasm-C6Y0s02M.js → wasm-ByDQ9GrP.js} +0 -0
- /package/app/dist/assets/{wasm-y20ImDym.js → wasm-CfmxG3B2.js} +0 -0
- /package/app/dist/assets/{wenyan-BG5vPQF0.js → wenyan-DNkN8oQc.js} +0 -0
- /package/app/dist/assets/{wgsl-DrVb-Cub.js → wgsl-Bggw1Yhv.js} +0 -0
- /package/app/dist/assets/{wikitext-PRC4s8sH.js → wikitext-zXy-4mpr.js} +0 -0
- /package/app/dist/assets/{wit-ChW5qvg_.js → wit--vc2X9vR.js} +0 -0
- /package/app/dist/assets/{wolfram-B8mKuZSQ.js → wolfram-Dr60-Zy4.js} +0 -0
- /package/app/dist/assets/{xterm-DGJHbKBQ.js → xterm-Ba9eaFdZ.js} +0 -0
- /package/app/dist/assets/{zenscript-C-jEPC9j.js → zenscript-Cf2Qp-oj.js} +0 -0
- /package/app/dist/assets/{zig-EbnRGjcz.js → zig-DgUQodsP.js} +0 -0
|
@@ -0,0 +1,2867 @@
|
|
|
1
|
+
import{B as e,Bi as t,Bt as n,Ci as r,Cr as i,Ea as a,Ei as o,F as s,Ft as c,Gt as l,H as u,Hi as d,I as f,In as p,Kn as m,Ni as h,Oi as g,R as _,Ta as v,Ti as y,U as b,Ui as x,Vi as S,Vn as C,Xt as w,Zr as T,an as E,bi as D,br as O,cr as k,dr as A,fr as j,ii as M,in as N,ja as P,lr as ee,n as F,na as te,nn as I,on as L,ri as ne,rn as re,sn as ie,sr as R,t as z,ta as B,ur as ae,vr as oe,wi as V,wr as se,xi as ce,xn as le,xr as ue,yr as de,zt as fe}from"./page-shell-CaMV_G2I.js";import{Et as pe,Mt as me,Ut as he,Wt as H,_ as ge,c as _e,f as U,h as ve,p as ye,t as be,u as xe}from"./effective-hosts-BS3g3uzj.js";import{A as Se,C as Ce,E as we,O as Te,S as Ee,_ as De,a as Oe,c as ke,d as Ae,f as je,h as Me,i as Ne,k as Pe,l as Fe,m as Ie,o as Le,p as Re,r as ze,s as Be,t as Ve,u as He,v as Ue,x as We}from"./thread-queries-DI7HoSpk.js";import{c as Ge,n as Ke,p as qe,r as Je,s as Ye,u as Xe}from"./chunk-JZWAC4HX-CmnT162V.js";import{a as W,c as G,f as Ze,g as Qe,h as $e,i as et,o as tt,p as nt,r as rt,s as it,t as at,v as ot}from"./dialog-JFJupr8S.js";import{E as st,a as ct,f as lt,h as ut,m as dt,o as ft,p as pt,s as mt,t as ht,u as gt,w as _t,y as vt}from"./mutation-errors-DgGC9CkY.js";import{B as yt,R as bt,f as xt,z as St}from"./mutation-cache-effects-BX02KjBd.js";import{a as Ct,m as wt,t as Tt}from"./localhost-badge-BESHcXM2.js";import{$ as Et,At as Dt,B as Ot,Bt as kt,C as At,Cn as jt,Ct as Mt,D as Nt,Dt as Pt,Et as Ft,F as It,Ft as Lt,G as Rt,Gt as zt,H as Bt,I as Vt,It as Ht,J as Ut,Jt as Wt,K as Gt,Kt,L as qt,Lt as Jt,M as Yt,Mt as Xt,N as Zt,Nt as Qt,O as $t,Ot as en,P as tn,Pt as nn,Q as rn,R as an,Rt as on,S as sn,Sn as cn,St as ln,T as un,Tn as dn,Tt as fn,U as pn,Ut as mn,V as hn,Vt as gn,W as _n,Wt as vn,X as yn,Xt as bn,Y as xn,Yt as Sn,Z as Cn,Zt as wn,_ as Tn,_n as En,_t as Dn,a as On,at as kn,b as An,bn as jn,bt as Mn,c as Nn,ct as Pn,d as Fn,dt as In,en as Ln,et as Rn,f as zn,fn as Bn,ft as Vn,g as Hn,gn as Un,gt as Wn,h as Gn,hn as Kn,ht as qn,i as Jn,in as Yn,it as Xn,j as Zn,jt as Qn,k as $n,kt as er,l as tr,lt as nr,m as rr,mn as ir,mt as ar,n as or,nn as sr,nt as cr,o as lr,on as ur,ot as dr,p as fr,pn as pr,pt as mr,q as hr,qt as gr,r as _r,rn as vr,rt as yr,s as br,st as xr,t as Sr,tn as Cr,tt as wr,u as Tr,ut as Er,v as Dr,vn as Or,vt as kr,w as Ar,wn as jr,wt as Mr,x as Nr,xn as Pr,xt as Fr,y as Ir,yn as Lr,yt as Rr,z as zr,zt as Br}from"./index-DbhAkEqX.js";import{a as Vr,c as Hr,n as Ur,o as Wr,r as Gr,s as Kr,t as qr}from"./workspace-open-target-preference-Dve5Zih1.js";import{n as Jr,r as Yr,t as Xr}from"./split-button-PlurXMEc.js";import{t as Zr}from"./pill-Ds03GLze.js";import{t as Qr}from"./ThreadUnarchiveButton-2shfHri9.js";var K=P(v(),1);function $r(e,t){return Qe((0,K.useMemo)(()=>ot(null,(t,n,...r)=>e(t,n,...r)),[e]),t)}var ei=class{highlighter;renderCache;computedLang=`text`;lineAnnotations={};constructor(e={theme:Br},t,n){this.options=e,this.onRenderUpdate=t,this.workerManager=n,n?.isWorkingPool()!==!0&&(this.highlighter=en(e.theme??Br)?Dt():void 0)}setOptions(e){this.options=e}mergeOptions(e){this.options={...this.options,...e}}setThemeType(e){(this.options.themeType??`system`)!==e&&this.mergeOptions({themeType:e})}setLineAnnotations(e){this.lineAnnotations={};for(let t of e){let e=this.lineAnnotations[t.lineNumber]??[];this.lineAnnotations[t.lineNumber]=e,e.push(t)}}cleanUp(){this.renderCache=void 0,this.highlighter=void 0,this.workerManager=void 0,this.onRenderUpdate=void 0}hydrate(e){let{options:t}=this.getRenderOptions(e),n=this.workerManager?.getFileResultCache(e);n!=null&&!ti(t,n.options)&&(n=void 0),this.renderCache??={file:e,options:t,highlighted:!0,result:n?.result},this.workerManager?.isWorkingPool()===!0&&this.renderCache.result==null?this.workerManager.highlightFileAST(this,e):this.asyncHighlight(e).then(({result:t,options:n})=>{this.onHighlightSuccess(e,t,n)})}getRenderOptions(e){let t=(()=>{if(this.workerManager?.isWorkingPool()===!0)return this.workerManager.getFileRenderOptions();let{theme:e=Br,tokenizeMaxLineLength:t=1e3}=this.options;return{theme:e,tokenizeMaxLineLength:t}})(),{renderCache:n}=this;return n?.result==null||e!==n.file||!ti(t,n.options)?{options:t,forceRender:!0}:{options:t,forceRender:!1}}renderFile(e=this.renderCache?.file){if(e==null)return;let t=this.workerManager?.getFileResultCache(e);t!=null&&this.renderCache==null&&(this.renderCache={file:e,highlighted:!0,...t});let{options:n,forceRender:r}=this.getRenderOptions(e);if(this.renderCache??={file:e,highlighted:!1,options:n,result:void 0},this.workerManager?.isWorkingPool()===!0)this.renderCache.result??=this.workerManager.getPlainFileAST(e),(!this.renderCache.highlighted||r)&&this.workerManager.highlightFileAST(this,e);else{this.computedLang=e.lang??Fr(e.name);let t=this.highlighter!=null&&en(n.theme),i=this.highlighter!=null&&Qt(this.computedLang);if(this.highlighter!=null&&t&&(r||!this.renderCache.highlighted&&i||this.renderCache.result==null)){let{result:t,options:n}=this.renderFileWithHighlighter(e,this.highlighter,!i);this.renderCache={file:e,options:n,highlighted:i,result:t}}(!t||!i)&&this.asyncHighlight(e).then(({result:t,options:n})=>{this.onHighlightSuccess(e,t,n)})}return this.renderCache.result==null?void 0:this.processFileResult(this.renderCache.file,this.renderCache.result)}async asyncRender(e){let{result:t}=await this.asyncHighlight(e);return this.processFileResult(e,t)}async asyncHighlight(e){this.computedLang=e.lang??Fr(e.name);let t=this.highlighter!=null&&Pt(er(this.options.theme)),n=this.highlighter!=null&&Qt(this.computedLang);return(this.highlighter==null||!t||!n)&&(this.highlighter=await this.initializeHighlighter()),this.renderFileWithHighlighter(e,this.highlighter)}renderFileWithHighlighter(e,t,n=!1){let{options:r}=this.getRenderOptions(e);return{result:kr(e,t,r,n),options:r}}processFileResult(e,t){let{disableFileHeader:n=!1}=this.options,r=[],i=1;for(let e of t.code){r.push(e);let t=this.lineAnnotations[i];t!=null&&r.push(Mr({type:`annotation`,hunkIndex:0,lineIndex:i,annotations:t.map(e=>Rr(e))})),i++}return{codeAST:r,preAST:this.createPreElement(t.code.length,t.themeStyles,t.baseThemeType),headerAST:n?void 0:this.renderHeader(e,t.themeStyles,t.baseThemeType),totalLines:t.code.length,themeStyles:t.themeStyles,baseThemeType:t.baseThemeType,css:``}}renderHeader(e,t,n){let{themeType:r=`system`}=this.options;return Mt({fileOrDiff:e,themeStyles:t,themeType:n??r})}renderFullHTML(e){return Xt(this.renderFullAST(e))}renderFullAST(e,t=[]){return t.push(fn({tagName:`code`,children:e.codeAST,properties:{"data-code":``}})),{...e.preAST,children:t}}renderPartialHTML(e,t=!1){return Xt(t?fn({tagName:`code`,children:e,properties:{"data-code":``}}):e)}async initializeHighlighter(){return this.highlighter=await Qn(Mn(this.computedLang,this.options)),this.highlighter}onHighlightSuccess(e,t,n){if(this.renderCache==null)return;let r=this.renderCache.file!==e||!this.renderCache.highlighted||!ti(n,this.renderCache.options);this.renderCache={file:e,options:n,highlighted:!0,result:t},r&&this.onRenderUpdate?.()}onHighlightError(e){console.error(e)}createPreElement(e,t,n){let{disableLineNumbers:r=!1,overflow:i=`scroll`,themeType:a=`system`}=this.options;return ln({diffIndicators:`none`,disableBackground:!0,disableLineNumbers:r,overflow:i,themeStyles:t,themeType:n??a,split:!1,totalLines:e})}};function ti(e,t){return Ft(e.theme,t.theme)&&e.tokenizeMaxLineLength===t.tokenizeMaxLineLength}var ni=-1,ri=class{static LoadedCustomComponent=!0;__id=++ni;fileContainer;spriteSVG;pre;code;unsafeCSSStyle;hoverContent;errorWrapper;headerElement;headerMetadata;fileRenderer;resizeManager;mouseEventManager;lineSelectionManager;annotationElements=[];lineAnnotations=[];file;constructor(e={theme:Br},t,n=!1){this.options=e,this.workerManager=t,this.isContainerManaged=n,this.fileRenderer=new ei(e,this.handleHighlightRender,this.workerManager),this.resizeManager=new nn,this.mouseEventManager=new Lt(`file`,Ht(e)),this.lineSelectionManager=new Jt(on(e)),this.workerManager?.subscribeToThemeChanges(this)}handleHighlightRender=()=>{this.rerender()};rerender(){this.file!=null&&this.render({file:this.file,forceRender:!0})}setOptions(e){e!=null&&(this.options=e,this.mouseEventManager.setOptions(Ht(e)),this.lineSelectionManager.setOptions(on(e)))}mergeOptions(e){this.options={...this.options,...e}}setThemeType(e){if((this.options.themeType??`system`)!==e&&(this.mergeOptions({themeType:e}),this.fileRenderer.setThemeType(e),this.headerElement!=null&&(e===`system`?delete this.headerElement.dataset.themeType:this.headerElement.dataset.themeType=e),this.pre!=null))switch(e){case`system`:delete this.pre.dataset.themeType;break;case`light`:case`dark`:this.pre.dataset.themeType=e;break}}getHoveredLine=()=>this.mouseEventManager.getHoveredLine();setLineAnnotations(e){this.lineAnnotations=e}setSelectedLines(e){this.lineSelectionManager.setSelection(e)}cleanUp(){this.fileRenderer.cleanUp(),this.resizeManager.cleanUp(),this.mouseEventManager.cleanUp(),this.lineSelectionManager.cleanUp(),this.workerManager?.unsubscribeToThemeChanges(this),this.workerManager=void 0,this.file=void 0,this.isContainerManaged||this.fileContainer?.parentNode?.removeChild(this.fileContainer),this.fileContainer?.shadowRoot!=null&&(this.fileContainer.shadowRoot.innerHTML=``),this.fileContainer=void 0,this.pre=void 0,this.headerElement=void 0,this.errorWrapper=void 0,this.unsafeCSSStyle=void 0}hydrate(e){let{fileContainer:t,prerenderedHTML:n}=e;Er(t,n);for(let e of Array.from(t.shadowRoot?.children??[])){if(e instanceof SVGElement){this.spriteSVG=e;continue}if(e instanceof HTMLElement){if(e instanceof HTMLPreElement){this.pre=e;continue}if(e instanceof HTMLStyleElement&&e.hasAttribute(`data-unsafe-css`)){this.unsafeCSSStyle=e;continue}if(`diffsHeader`in e.dataset){this.headerElement=e;continue}}}if(this.pre==null)this.render(e);else{let{file:n,lineAnnotations:r}=e;this.fileContainer=t,delete this.pre.dataset.dehydrated,this.lineAnnotations=r??this.lineAnnotations,this.file=n,this.fileRenderer.hydrate(n),this.renderAnnotations(),this.renderHoverUtility(),this.injectUnsafeCSS(),this.mouseEventManager.setup(this.pre),this.lineSelectionManager.setup(this.pre),(this.options.overflow??`scroll`)===`scroll`&&this.resizeManager.setup(this.pre)}}render({file:e,fileContainer:t,forceRender:n=!1,containerWrapper:r,lineAnnotations:i}){let a=i!=null&&(i.length>0||this.lineAnnotations.length>0)?i!==this.lineAnnotations:!1;if(!n&&Wn(this.file,e)&&!a)return;this.file=e,this.fileRenderer.setOptions(this.options),i!=null&&this.setLineAnnotations(i),this.fileRenderer.setLineAnnotations(this.lineAnnotations);let{disableFileHeader:o=!1,disableErrorHandling:s=!1}=this.options;o&&this.headerElement!=null&&(this.headerElement.parentNode?.removeChild(this.headerElement),this.headerElement=void 0),t=this.getOrCreateFileContainerNode(t,r);try{let n=this.fileRenderer.renderFile(e);if(n==null){this.workerManager!=null&&!this.workerManager.isInitialized()&&this.workerManager.initialize().then(()=>this.rerender());return}n.headerAST!=null&&this.applyHeaderToDOM(n.headerAST,t);let r=this.getOrCreatePreNode(t);this.applyHunksToDOM(n,r),this.renderAnnotations(),this.renderHoverUtility()}catch(e){if(s)throw e;console.error(e),e instanceof Error&&this.applyErrorToDOM(e,t)}}renderAnnotations(){if(this.isContainerManaged||this.fileContainer==null)return;for(let e of this.annotationElements)e.parentNode?.removeChild(e);this.annotationElements.length=0;let{renderAnnotation:e}=this.options;if(e!=null&&this.lineAnnotations.length>0)for(let t of this.lineAnnotations){let n=e(t);if(n==null)continue;let r=qn(Rr(t));r.appendChild(n),this.annotationElements.push(r),this.fileContainer.appendChild(r)}}renderHoverUtility(){let{renderHoverUtility:e}=this.options;if(this.fileContainer==null||e==null)return;this.hoverContent??(this.hoverContent=mr(),this.fileContainer.appendChild(this.hoverContent));let t=e(this.mouseEventManager.getHoveredLine);this.hoverContent.innerHTML=``,t!=null&&this.hoverContent.appendChild(t)}injectUnsafeCSS(){if(this.fileContainer?.shadowRoot==null)return;let{unsafeCSS:e}=this.options;if(e==null||e===``){this.unsafeCSSStyle!=null&&(this.unsafeCSSStyle.parentNode?.removeChild(this.unsafeCSSStyle),this.unsafeCSSStyle=void 0);return}this.unsafeCSSStyle??(this.unsafeCSSStyle=Vn(),this.fileContainer.shadowRoot.appendChild(this.unsafeCSSStyle)),this.unsafeCSSStyle.innerText=In(e)}applyHunksToDOM(e,t){this.cleanupErrorWrapper(),this.applyPreNodeAttributes(t,e),t.innerHTML=``,this.code=ar(),this.code.innerHTML=this.fileRenderer.renderPartialHTML(e.codeAST),t.appendChild(this.code),this.injectUnsafeCSS(),this.mouseEventManager.setup(t),this.lineSelectionManager.setup(t),this.lineSelectionManager.setDirty(),(this.options.overflow??`scroll`)===`scroll`?this.resizeManager.setup(t):this.resizeManager.cleanUp()}applyHeaderToDOM(e,t){let{file:n}=this;if(n==null)return;this.cleanupErrorWrapper();let r=document.createElement(`div`);r.innerHTML=Xt(e);let i=r.firstElementChild;if(!(i instanceof HTMLElement)||(this.headerElement==null?t.shadowRoot?.prepend(i):t.shadowRoot?.replaceChild(i,this.headerElement),this.headerElement=i,this.isContainerManaged))return;let{renderCustomMetadata:a}=this.options;this.headerMetadata!=null&&this.headerMetadata.parentNode?.removeChild(this.headerMetadata);let o=a?.(n)??void 0;o!=null&&(this.headerMetadata=document.createElement(`div`),this.headerMetadata.slot=gn,o instanceof Element?this.headerMetadata.appendChild(o):this.headerMetadata.innerText=`${o}`,t.appendChild(this.headerMetadata))}getOrCreateFileContainerNode(e,t){if(this.fileContainer=e??this.fileContainer??document.createElement(`diffs-container`),t!=null&&this.fileContainer.parentNode!==t&&t.appendChild(this.fileContainer),this.spriteSVG==null){let e=document.createElement(`div`);e.innerHTML=Dn;let t=e.firstChild;t instanceof SVGElement&&(this.spriteSVG=t,this.fileContainer.shadowRoot?.appendChild(this.spriteSVG))}return this.fileContainer}getOrCreatePreNode(e){return this.pre==null?(this.pre=document.createElement(`pre`),e.shadowRoot?.appendChild(this.pre)):this.pre.parentNode!==e&&e.shadowRoot?.appendChild(this.pre),this.pre}applyPreNodeAttributes(e,{totalLines:t,themeStyles:n,baseThemeType:r}){let{overflow:i=`scroll`,themeType:a=`system`,disableLineNumbers:o=!1}=this.options;nr({pre:e,split:!1,themeStyles:n,overflow:i,disableLineNumbers:o,themeType:r??a,diffIndicators:`none`,disableBackground:!0,totalLines:t})}applyErrorToDOM(e,t){this.cleanupErrorWrapper();let n=this.getOrCreatePreNode(t);n.innerHTML=``,n.parentNode?.removeChild(n),this.pre=void 0;let r=t.shadowRoot??t.attachShadow({mode:`open`});this.errorWrapper??=document.createElement(`div`),this.errorWrapper.dataset.errorWrapper=``,this.errorWrapper.innerHTML=``,r.appendChild(this.errorWrapper);let i=document.createElement(`div`);i.dataset.errorMessage=``,i.innerText=e.message,this.errorWrapper.appendChild(i);let a=document.createElement(`pre`);a.dataset.errorStack=``,a.innerText=e.stack??`No Error Stack`,this.errorWrapper.appendChild(a)}cleanupErrorWrapper(){this.errorWrapper?.parentNode?.removeChild(this.errorWrapper),this.errorWrapper=void 0}},q=te();function ii({file:e,renderHeaderMetadata:t,renderAnnotation:n,lineAnnotations:r,renderHoverUtility:i,getHoveredLine:a}){let o=t?.(e);return(0,q.jsxs)(q.Fragment,{children:[o!=null&&(0,q.jsx)(`div`,{slot:`header-metadata`,children:o}),n!=null&&r?.map((e,t)=>(0,q.jsx)(`div`,{slot:Rr(e),children:n(e)},t)),i!=null&&(0,q.jsx)(`div`,{slot:`hover-slot`,style:xr,children:i(a)})]})}var ai=typeof window>`u`?K.useEffect:K.useLayoutEffect;function oi({file:e,options:t,lineAnnotations:n,selectedLines:r,prerenderedHTML:i}){let a=(0,K.useContext)(Xn),o=(0,K.useRef)(null),s=yr(r=>{if(r!=null){if(o.current!=null)throw Error(`File: An instance should not already exist when a node is created`);o.current=new ri(t,a,!0),o.current.hydrate({file:e,fileContainer:r,lineAnnotations:n,prerenderedHTML:i})}else{if(o.current==null)throw Error(`File: A File instance should exist when unmounting`);o.current.cleanUp(),o.current=null}});return ai(()=>{if(o.current==null)return;let i=!Pn(o.current.options,t);o.current.setOptions(t),o.current.render({file:e,lineAnnotations:n,forceRender:i}),r!==void 0&&o.current.setSelectedLines(r)}),{ref:s,getHoveredLine:(0,K.useCallback)(()=>o.current?.getHoveredLine(),[])}}function si({file:e,lineAnnotations:t,selectedLines:n,options:r,className:i,style:a,renderAnnotation:o,renderHeaderMetadata:s,prerenderedHTML:c,renderHoverUtility:l}){let{ref:u,getHoveredLine:d}=oi({file:e,options:r,lineAnnotations:t,selectedLines:n,prerenderedHTML:c});return(0,q.jsx)(kt,{ref:u,className:i,style:a,children:dr(ii({file:e,renderAnnotation:o,renderHeaderMetadata:s,renderHoverUtility:l,lineAnnotations:t,getHoveredLine:d}),c)})}var ci=8,li=1;function ui(){let e=typeof navigator<`u`?navigator.hardwareConcurrency:void 0;return e===void 0||e<=2?li:Math.max(li,Math.min(ci,e-1))}function di(){return new Worker(new URL(`/assets/worker-portable-CA4_6zkQ.js`,``+import.meta.url),{name:`pierre-diffs-worker`})}var fi=`bb.thread.terminalPanelState`,pi=336*60*60*1e3,mi=o({version:V(1),isOpen:ce(),activeTerminalId:g().min(1).nullable(),panelHeightPercent:y().int().min(18).max(70),lastUsedAt:y().int().nonnegative()}).strict();function hi(){return typeof window>`u`?null:window.localStorage}function gi(e){return encodeURIComponent(e.trim())}function _i(e={}){return{version:1,isOpen:e.isOpen??!1,activeTerminalId:e.activeTerminalId??null,panelHeightPercent:e.panelHeightPercent??32,lastUsedAt:e.lastUsedAt??0}}var vi=_i();function yi({threadId:e}){return`${fi}-${gi(e)}-1`}function bi(e){return e.startsWith(`bb.thread.terminalPanelState-`)&&e.endsWith(`-1`)}function xi({now:e,state:t}){return e-t.lastUsedAt>pi}function Si({initialValue:e,now:t,storedValue:n}){return Ci({initialValue:e,now:t,storedValue:n}).state}function Ci({initialValue:e,now:t,storedValue:n}){if(n===null)return{shouldPrune:!1,state:e};let r;try{r=JSON.parse(n)}catch{return{shouldPrune:!0,state:e}}let i=mi.safeParse(r);return!i.success||xi({now:t,state:i.data})?{shouldPrune:!0,state:e}:{shouldPrune:!1,state:i.data}}function wi({state:e}){return JSON.stringify(e)}function Ti({now:e}){let t=hi();if(!t)return;let n=[];for(let e=0;e<t.length;e+=1){let r=t.key(e);r&&bi(r)&&n.push(r)}for(let r of n)Ci({initialValue:vi,now:e,storedValue:t.getItem(r)}).shouldPrune&&t.removeItem(r)}function Ei(e){return e!=null&&e.length>0}function Di(e,t){return{...e,lastUsedAt:t}}var Oi=vt({parse:(e,t)=>Si({initialValue:t,now:Date.now(),storedValue:e}),serialize:e=>wi({state:e})}),ki=ot(vi),Ai=_t(e=>st(yi({threadId:e}),vi,Oi,{getOnInit:!0}));function ji(e){return Ei(e)?Ai(e):ki}function Mi(e){return t=>t.isOpen===e?t:{...t,isOpen:e}}function Ni(e){(0,K.useEffect)(()=>{Ti({now:Date.now()})},[e])}function Pi(e){return $e(ji(e))}function Fi(e){let t=Qe(ji(e));return(0,K.useCallback)(n=>{if(!Ei(e))return;let r=Date.now();t(e=>{let t=n(e);return t===e?e:Di(t,r)})},[t,e])}function Ii(e){let t=Fi(e);return(0,K.useCallback)(e=>{t(Mi(e))},[t])}function Li(e){let t=Fi(e);return(0,K.useCallback)(()=>{t(e=>({...e,isOpen:!e.isOpen}))},[t])}var Ri=1e4,zi=3e4,Bi=50;function Vi(e,t){if(!e)throw Error(`${t}: environmentId is required when query is enabled`);return e}function Hi(e){if(!e)throw Error(`useEnvironmentFilePreview: path is required when query is enabled`);return e}function Ui(e){if(!e)throw Error(`useEnvironmentFilePreview: source is required when query is enabled`);return e}function Wi(e){if(!e)throw Error(`useEnvironmentGitDiff: target is required when query is enabled`);return e}function Gi(e,t){return x({queryKey:u(e),queryFn:()=>I(Vi(e,`useEnvironment`)),enabled:(t?.enabled??!0)&&!!e,staleTime:t?.staleTime})}function Ki(e,t,n){return x({queryKey:b(e,t??null),queryFn:()=>ie(Vi(e,`useEnvironmentWorkStatus`),t),enabled:(n?.enabled??!0)&&!!e,refetchOnWindowFocus:!1,staleTime:Ri,placeholderData:(t,n)=>e?yt(t,n?.queryKey,e):void 0})}function qi(t,n){let r=n?.query?.trim()??``,i=n?.selectedBranch?.trim(),a=n?.limit??Bi;return x({queryKey:e(t,r,a,i??``),queryFn:()=>N(t,{...r?{query:r}:{},...i?{selectedBranch:i}:{},limit:a}),enabled:(n?.enabled??!0)&&!!t,refetchOnWindowFocus:!1,staleTime:zi,placeholderData:(e,n)=>t?St({previousData:e,previousQueryKey:n?.queryKey,environmentId:t,limit:a,selectedBranch:i??``}):void 0})}function Ji(e,t,n,r){return x({queryKey:f(e,t,n),queryFn:({signal:r})=>L({id:Vi(e,`useEnvironmentFilePreview`),path:Hi(t),source:Ui(n),signal:r}),enabled:(r?.enabled??!0)&&!!e&&!!t&&n!==null,refetchOnWindowFocus:!1})}function Yi(e,t){let n=t.target,r=n?.type===`commit`?n.sha:n?.type===`all`||n?.type===`branch_committed`?n.mergeBaseBranch:null;return x({queryKey:_(e,n?.type??null,r),queryFn:()=>re(e,Wi(n)),enabled:(t.enabled??!0)&&!!e&&n!==void 0,placeholderData:(t,n)=>bt(t,n?.queryKey,e),refetchOnWindowFocus:!1,staleTime:5e3})}function Xi(e){return{filesCount:e.files.length,insertions:e.insertions,deletions:e.deletions}}function Zi(e){return`${e} file${e===1?``:`s`}`}function Qi(e){if(e.filesCount===0&&e.insertions===0&&e.deletions===0)return`No changes`;let t=Zi(e.filesCount);return e.insertions===0&&e.deletions===0?t:`${t}, ${Sn({added:e.insertions,removed:e.deletions})}`}function $i(e){if(e.filesCount===0&&e.insertions===0&&e.deletions===0)return`No changes`;let t=Zi(e.filesCount);return e.insertions===0&&e.deletions===0?t:(0,q.jsxs)(q.Fragment,{children:[t,`,`,` `,(0,q.jsx)(zt,{insertions:e.insertions,deletions:e.deletions})]})}function ea(e){if(!e)return[];let t=[],n=e.workingTree;if(n.files.length>0){let e=n.state===`untracked`;t.push({kind:e?`untracked`:`uncommitted`,label:e?`Untracked`:`Uncommitted`,files:n.files,mergeBaseRef:null,stats:n})}let r=e.mergeBase;return r&&r.files.length>0&&t.push({kind:`committed`,label:`Committed`,files:r.files,mergeBaseRef:r.baseRef,stats:r}),t}function ta(e){return ea(e)[0]??null}function na(e){return e===`??`?`A?`:e}function ra({files:e,className:t=`max-h-32`,emptyMessage:n=`No changed files detected.`,onFileClick:r}){return!e||e.length===0?(0,q.jsx)(vr,{message:n}):(0,q.jsx)(`ul`,{className:S(`space-y-1 overflow-auto`,t),children:e.map(e=>(0,q.jsxs)(`li`,{className:`grid grid-cols-[1.5rem_minmax(0,1fr)_auto] items-start gap-x-3`,children:[(0,q.jsx)(`span`,{className:`text-xs leading-5 text-muted-foreground`,children:na(e.status)}),(0,q.jsx)(Rn,{path:e.path,onClick:r?()=>r(e):void 0}),e.insertions!==null&&e.deletions!==null?(0,q.jsx)(zt,{insertions:e.insertions,deletions:e.deletions,hideZero:!0,className:`text-xs leading-5`}):null]},`${e.status}:${e.path}`))})}function ia({sections:e,onFileClick:n,listClassName:r,rowClassName:i,rowValueClassName:a}){let[o,s]=(0,K.useState)(null);if(e.length===0)return null;let c=e.find(e=>e.kind===o)??e[0],l=Xi(c.stats),u=e.length>1,d=(0,q.jsx)(`span`,{className:`truncate text-muted-foreground`,children:$i(l)});return(0,q.jsx)(Yr,{label:u?(0,q.jsxs)(`span`,{className:`flex items-baseline gap-x-3`,children:[(0,q.jsx)(`span`,{className:`flex min-w-[var(--detail-label-width,96px)] items-baseline`,children:(0,q.jsxs)(_e,{children:[(0,q.jsx)(ve,{asChild:!0,children:(0,q.jsxs)(h,{type:`button`,variant:`ghost`,size:`sm`,className:`h-5 w-auto min-w-0 justify-between gap-1 rounded-sm px-0 text-xs font-normal shadow-none hover:bg-transparent data-[state=open]:bg-transparent data-[state=open]:hover:bg-transparent`,title:c.label,"aria-label":`Switch changed files bucket`,children:[(0,q.jsx)(`span`,{className:`truncate`,children:c.label}),(0,q.jsx)(t,{name:`ChevronDown`,className:`size-3 shrink-0 text-muted-foreground`})]})}),(0,q.jsx)(xe,{align:`start`,children:e.map(e=>(0,q.jsxs)(U,{onSelect:()=>s(e.kind),className:`flex items-center justify-between gap-2`,children:[(0,q.jsx)(`span`,{className:`truncate`,children:e.label}),(0,q.jsx)(t,{name:`Check`,className:S(`size-3.5 shrink-0`,e.kind===c.kind?`opacity-100`:`opacity-0`)})]},e.kind))})]})}),d]}):(0,q.jsxs)(`span`,{className:`flex items-baseline gap-x-3`,children:[(0,q.jsx)(`span`,{className:`min-w-[var(--detail-label-width,96px)] truncate`,children:c.label}),d]}),orientation:`vertical`,className:i,valueClassName:a,children:(0,q.jsx)(ra,{files:c.files,className:r,onFileClick:n?e=>n({file:e,section:c}):void 0})})}function aa({message:e,className:t}){return e?(0,q.jsx)(`p`,{className:S(`rounded-md border border-surface-destructive-border bg-surface-destructive px-3 py-2 text-sm text-destructive`,t),children:e}):null}function oa(e){switch(e.kind){case`commit`:return{title:`Commit changes`,description:`Create a commit from the current workspace changes.`,submitLabel:`Commit changes`,showCommitControls:!0,showMergeBase:!1};case`commit_and_squash_merge`:return{title:`Commit and squash merge`,description:`Commit the current workspace changes, then squash merge this branch.`,submitLabel:`Commit + squash merge`,showCommitControls:!0,showMergeBase:!0};case`squash_merge`:return{title:`Squash merge`,description:`Squash merge this branch into the selected merge base.`,submitLabel:`Squash merge`,showCommitControls:!1,showMergeBase:!0};default:return ue(e)}}function sa({target:e,branchName:t,gitStatusDisplay:n,changedFilesSection:r,threadId:i,threadType:a,showMergeBaseDetails:o=!1,mergeBaseBranch:s,mergeBaseBranchRef:c,mergeBaseBranchOptions:l,mergeBaseBranchOptionsTruncated:u,mergeBaseRemoteBranchOptions:d,mergeBaseBranchOptionsLoading:f=!1,onMergeBaseBranchChange:p,onMergeBaseBranchSearchQueryChange:m,onOpenChange:h,onCommit:g,onSquashMerge:_}){let v=(0,K.useMemo)(()=>e?oa(e):null,[e]);return(0,q.jsx)(at,{open:e!==null,onOpenChange:h,children:(0,q.jsx)(rt,{className:`max-w-[34rem] gap-0 overflow-hidden border-border bg-background p-0 shadow-xl`,children:e&&v?(0,q.jsx)(ca,{target:e,branchName:t,gitStatusDisplay:n,changedFilesSection:r,threadId:i,threadType:a,showMergeBaseDetails:o,mergeBaseBranch:s,mergeBaseBranchRef:c,mergeBaseBranchOptions:l,mergeBaseBranchOptionsTruncated:u,mergeBaseRemoteBranchOptions:d,mergeBaseBranchOptionsLoading:f,onMergeBaseBranchChange:p,onMergeBaseBranchSearchQueryChange:m,onOpenChange:h,onCommit:g,onSquashMerge:_},e.kind):null})})}function ca({target:e,branchName:t,gitStatusDisplay:n,changedFilesSection:r,threadId:i,threadType:a,showMergeBaseDetails:o,mergeBaseBranch:s,mergeBaseBranchRef:c,mergeBaseBranchOptions:l,mergeBaseBranchOptionsTruncated:u,mergeBaseRemoteBranchOptions:d,mergeBaseBranchOptionsLoading:f,onMergeBaseBranchChange:p,onMergeBaseBranchSearchQueryChange:m,onOpenChange:g,onCommit:_,onSquashMerge:v}){let[y,b]=(0,K.useState)(null),x=oa(e),S=Hn({mergeBaseBranch:s,mergeBaseBranchRef:c,mergeBaseBranchOptions:l,remoteMergeBaseBranchOptions:d}),C=S.options,w=S.remoteOptions,T=s??C[0],E=c?.name===T?c:null,D=x.showMergeBase&&!!T&&c===void 0,O=(0,K.useMemo)(()=>new Set(w),[w]),k=T?E?.kind===`remote`||E===null&&O.has(T):!1,A=E?.kind===`missing`,j=x.showMergeBase&&k,M=`Squash merge requires a local target branch. Create or check out a local branch from the remote first.`,N=`Squash merge requires an existing local target branch.`,P=`Checking merge base branch.`,ee=x.showMergeBase&&o===!0&&!!p&&(C.length>0||w.length>0),F=x.showMergeBase&&o===!0&&(ee||!!T),te=!!(r&&r.files.length>0),I=T?D?P:j?M:A?N:null:`A merge base branch is required`,L=y??(D?P:j?M:A?N:null),ne=D?P:j?M:A?N:void 0;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(tt,{className:`px-6 pt-5 pb-3`,children:[(0,q.jsx)(it,{children:x.title}),(0,q.jsx)(et,{children:x.description})]}),(0,q.jsxs)(`form`,{className:`space-y-4 px-6 pt-1 pb-5`,onSubmit:t=>{switch(t.preventDefault(),b(null),e.kind){case`commit`:g(!1),_();break;case`commit_and_squash_merge`:if(I||!T){b(I??`A merge base branch is required`);return}g(!1),v({mergeBaseBranch:T});break;case`squash_merge`:if(I||!T){b(I??`A merge base branch is required`);return}g(!1),v({mergeBaseBranch:T});break;default:ue(e)}},children:[t||n||F||te?(0,q.jsxs)(Jr,{appearance:`flat`,children:[t?(0,q.jsx)(Yr,{label:`Branch`,valueClassName:`min-w-0 truncate`,children:(0,q.jsx)(`span`,{className:`block truncate`,title:t,children:t})}):null,n?(0,q.jsx)(Yr,{label:`Git status`,valueClassName:`min-w-0`,children:(0,q.jsxs)(`div`,{className:`flex min-w-0 items-baseline gap-2 whitespace-nowrap`,title:`${n.label} ${n.summary}`.trim(),children:[(0,q.jsx)(`span`,{className:`shrink-0 font-medium`,children:n.label}),(0,q.jsx)(`span`,{className:`min-w-0 truncate text-muted-foreground`,children:n.summaryContent})]})}):null,F&&T?(0,q.jsx)(Yr,{label:`Merge base`,valueClassName:`min-w-0`,children:ee?(0,q.jsx)(Gn,{value:T,options:C,remoteOptions:w,selectedOptionKind:S.selectedOptionKind,optionsTruncated:u,loading:f,onChange:e=>p?.(e),onSearchQueryChange:m,className:`max-w-full`}):(0,q.jsx)(`span`,{className:`block truncate`,title:T,children:T})}):null,te&&r?(0,q.jsx)(ia,{sections:[r],rowValueClassName:`pt-0.5`,listClassName:`max-h-40`}):null]}):null,(0,q.jsx)(aa,{message:L}),(0,q.jsx)(W,{children:(0,q.jsx)(h,{type:`submit`,disabled:x.showMergeBase&&I!==null,title:ne,children:x.submitLabel})})]})]})}function la({onOpenPreferredTarget:e,onOpenTarget:t,preferredTarget:n,targets:r}){let[i,a]=(0,K.useState)(null),o=i!==null,s=(0,K.useCallback)(async(e,t)=>{if(i===null){a(e.id);try{await t()}finally{a(null)}}},[i]);return n?(0,q.jsx)(Xr,{disabled:o,className:`px-1`,primaryAction:{label:`Open workspace in ${n.label}`,onSelect:()=>{s(n,e)},content:(0,q.jsx)(Hr,{targetId:n.id,className:`size-5`})},secondaryActions:r.map(e=>({label:e.label,onSelect:()=>{s(e,()=>t(e.id))},content:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Hr,{targetId:e.id,className:`size-5`}),(0,q.jsx)(`span`,{className:`min-w-0 flex-1`,children:e.label})]})})),triggerLabel:`Choose workspace open target`,mobileTitle:`Open Workspace`}):null}var ua=`Failed to open file locally`,da=`Localhost is disconnected.`,fa=`No local app can open files.`,pa=`No local app can open directories.`;function ma(e){return e.hasDaemon?e.targetKind===`file-open-target`?fa:pa:da}function ha(e){ut.error(ua,{...e.description?{description:e.description}:{}})}function ga(e){return e.target.capabilities.openFileAtLine?e.lineNumber:null}function _a(e){let t=(0,K.useMemo)(()=>e.workspaceOpenTargets.filter(qr),[e.workspaceOpenTargets]);return{directoryOpenTargets:t,preferredDirectoryTarget:(0,K.useMemo)(()=>Gr({capability:`openDirectory`,preferredTargetId:e.preferredDirectoryTargetId,targets:t}),[e.preferredDirectoryTargetId,t]),preferredFileTarget:(0,K.useMemo)(()=>Gr({capability:`openFile`,preferredTargetId:e.preferredFileTargetId,targets:e.workspaceOpenTargets}),[e.preferredFileTargetId,e.workspaceOpenTargets])}}function va(e){let{hasDaemon:t}=G(),{openWorkspace:n,workspaceOpenTargets:r}=Kr(e),[i,a]=Wr(),[o,s]=Vr(),{directoryOpenTargets:c,preferredDirectoryTarget:l,preferredFileTarget:u}=_a({preferredDirectoryTargetId:i,preferredFileTargetId:o,workspaceOpenTargets:r}),d=(0,K.useCallback)(e=>{qr(e)&&a(e.id),Ur(e)&&s(e.id)},[a,s]),f=(0,K.useCallback)(async e=>{if(!n)return ha({description:ma({hasDaemon:t,targetKind:e.targetKind})}),!1;e.rememberTarget&&d(e.target);try{return await n({lineNumber:ga({lineNumber:e.lineNumber,target:e.target}),path:e.path,targetId:e.target.id}),!0}catch(e){let t=e instanceof Error?e.message:void 0;return ha({...t?{description:t}:{}}),!1}},[t,n,d]),p=(0,K.useCallback)(async e=>{let n=c.find(t=>t.id===e.targetId);return n?f({lineNumber:e.lineNumber,path:e.path,rememberTarget:e.rememberTarget,target:n,targetKind:`directory-open-target`}):(ha({description:ma({hasDaemon:t,targetKind:`directory-open-target`})}),!1)},[c,t,f]),m=(0,K.useCallback)(async e=>l?f({lineNumber:e.lineNumber,path:e.path,rememberTarget:!1,target:l,targetKind:`directory-open-target`}):(ha({description:ma({hasDaemon:t,targetKind:`directory-open-target`})}),!1),[t,f,l]),h=(0,K.useCallback)(async e=>u?f({lineNumber:e.lineNumber,path:e.path,rememberTarget:!1,target:u,targetKind:`file-open-target`}):(ha({description:ma({hasDaemon:t,targetKind:`file-open-target`})}),!1),[t,f,u]);return{canOpenPreferredDirectoryTarget:l!==null,canOpenPreferredFileTarget:u!==null,directoryOpenTargets:c,openPathInDirectoryTarget:p,openPathInPreferredDirectoryTarget:m,openPathInPreferredFileTarget:h,preferredDirectoryTarget:l,preferredFileTarget:u}}function ya(e,t){return e?e.sessions.findIndex(e=>e.id===t.id)===-1?{sessions:[...e.sessions,t]}:{sessions:e.sessions.map(e=>e.id===t.id?t:e)}:{sessions:[t]}}function ba(e,t){if(!e)return e;let n=e.sessions.filter(e=>e.id!==t);return n.length===e.sessions.length?e:{sessions:n}}function xa(e,t){if(!e)throw Error(`${t}: thread id is required when query is enabled`);return e}function Sa(e,t){return x({queryKey:c(e),queryFn:({signal:t})=>p(xa(e,`useThreadTerminals`),t),enabled:(t?.enabled??!0)&&!!e,refetchOnWindowFocus:!1})}function Ca(){let e=B();return d({meta:{errorMessage:`Failed to start terminal.`,lifecycleOperation:`open_terminal`},mutationFn:({threadId:e,...t})=>w(e,t),onSuccess:t=>{e.setQueryData(c(t.threadId),e=>ya(e,t)),e.invalidateQueries({queryKey:c(t.threadId)})}})}function wa(){let e=B();return d({meta:{errorMessage:`Failed to rename terminal.`},mutationFn:({terminalId:e,threadId:t,...n})=>C(t,e,n),onSuccess:t=>{e.setQueryData(c(t.threadId),e=>ya(e,t)),e.invalidateQueries({queryKey:c(t.threadId)})}})}function Ta(){let e=B();return d({meta:{errorMessage:`Failed to close terminal.`},mutationFn:({mode:e,terminalId:t,threadId:n})=>l(n,t,{mode:e,reason:`user`}),onSuccess:(t,n)=>{e.setQueryData(c(t.threadId),e=>t.status===`exited`?ba(e,n.terminalId):ya(e,t)),e.invalidateQueries({queryKey:c(t.threadId)})}})}function Ea(e,t){let n=e.mergeBase?.aheadCount??0,r=e.mergeBase?.behindCount??0;return n===0&&r===0?null:n>0&&r>0?t?`${n} ahead, ${r} behind relative to ${t}`:`${n} ahead, ${r} behind`:n>0?t?`${n} ahead of ${t}`:`${n} ahead`:t?`${r} behind ${t}`:`${r} behind`}function Da(e,t){return{label:e,summary:t,summaryContent:t}}function Oa(e,t){if(!e){let e=t?.error===void 0?null:ct({error:t.error,operation:`load_git_status`});if(e)return Da(`Unknown`,e.body);let r=t?.error instanceof n&&t.error.code===`path_not_found`;return t?.workspaceDeleted||r?Da(`Unknown`,`Workspace not found.`):Da(`Unknown`,`Workspace status unavailable.`)}let r=t?.mergeBaseBranch??e.mergeBase?.mergeBaseBranch,i=t?.showBranchComparison?Ea(e,r):null;switch(e.workingTree.state){case`clean`:return(e.mergeBase?.aheadCount??0)>0&&(e.mergeBase?.behindCount??0)>0?Da(`Diverged`,i??`Branch has diverged.`):(e.mergeBase?.aheadCount??0)>0?Da(`Ahead`,i??`Local commits pending merge.`):(e.mergeBase?.behindCount??0)>0?Da(`Behind`,i??`Branch is behind its merge base.`):Da(t?.showBranchComparison?`Up to date`:`Clean`,r?`No local changes relative to ${r}.`:`No local changes.`);case`untracked`:return Da(`Untracked`,i??``);case`dirty_uncommitted`:return Da(`Dirty`,i??``);case`committed_unmerged`:return(e.mergeBase?.aheadCount??0)>0&&(e.mergeBase?.behindCount??0)>0?Da(`Diverged`,i??`Branch has diverged.`):(e.mergeBase?.behindCount??0)>0?Da(`Behind`,i??`Branch is behind its merge base.`):Da(`Ahead`,i??`Local commits pending merge.`);case`dirty_and_committed_unmerged`:return Da(`Dirty`,i??``);default:return ue(e.workingTree.state)}}var ka=ot(!1),Aa=st(`bb.thread.secondaryPanel.widthPercent`,50,vt({parse:(e,t)=>{if(e===null)return t;let n=Number.parseFloat(e);return Number.isFinite(n)&&n>0&&n<=100?n:t},serialize:e=>String(e)}),{getOnInit:!0}),ja=ot(new Set),Ma=ot(new Set),Na=ot(void 0),Pa=ot(null);function Fa({activeSecondaryPanel:e,clearActiveFileTabs:t,defaultMergeBaseBranch:n,environmentId:r,mergeBaseBranchOptionsEnabled:i=!1,setThreadSecondaryPanel:a}){let o=$e(Na),s=Qe(Na),c=Qe(Pa),[l,u]=(0,K.useState)(``),{data:d,isFetching:f}=qi(r??``,{enabled:!!r&&(i||e===`git-diff`),query:l,selectedBranch:o??n}),p=d?.selectedBranch,m=(0,K.useMemo)(()=>{let e=d?.branches??[];return p?.kind===`local`&&!e.includes(p.name)?[p.name,...e]:e},[d?.branches,p]),h=(0,K.useMemo)(()=>{let e=d?.remoteBranches??[];return p?.kind===`remote`&&!e.includes(p.name)?[p.name,...e]:e},[d?.remoteBranches,p]),g=!!(d?.branchesTruncated||d?.remoteBranchesTruncated);(0,K.useEffect)(()=>{s(void 0),u(``)},[r,s]);let _=(0,K.useCallback)(e=>{a(e)},[a]),v=(0,K.useCallback)(()=>{_(`git-diff`)},[_]);return{closeThreadSecondaryPanel:(0,K.useCallback)(()=>{a(null)},[a]),defaultMergeBaseBranch:n,isLoadingMergeBaseBranchOptions:f,mergeBaseBranchOptions:m,mergeBaseBranchOptionsTruncated:g,mergeBaseRemoteBranchOptions:h,openDiffFile:(0,K.useCallback)(e=>{t(),c(e),v()},[t,v,c]),openThreadDiffPanel:v,openThreadSecondaryPanel:_,selectedMergeBaseBranch:o,selectedMergeBaseBranchRef:p,setMergeBaseBranchSearchQuery:u,setSelectedMergeBaseBranch:s}}function Ia(e){return!!e.threadId&&e.inlineRowCount===0&&e.cachedRowCount===0&&!e.isLoading}function La(e){return{sourceSeqEnd:e.sourceSeqEnd,sourceSeqStart:e.sourceSeqStart,turnId:e.turnId}}function Ra(e,t){return e.turnId===t.turnId&&e.sourceSeqStart===t.sourceSeqStart&&e.sourceSeqEnd===t.sourceSeqEnd}function za(e){let t={},n=e=>{for(let r of e){if(r.kind===`turn`){t[r.id]=La(r),r.children&&n(r.children);continue}r.kind===`work`&&r.workKind===`delegation`&&n(r.childRows)}};return n(e),t}function Ba({candidateRowIds:e,previousRangesById:t,visibleRangesById:n}){let r=new Set;for(let i of e){let e=n[i],a=t[i];(!e||a&&!Ra(a,e))&&r.add(i)}return r}function Va(e,t){let n=null;for(let r of t)e.has(r)&&(n??=new Set(e),n.delete(r));return n}function Ha(e,t){let n=null;for(let r of t)r in e&&(n??={...e},delete n[r]);return n}function Ua({currentLoadGeneration:e,request:t,visibleRangesById:n}){if(e!==t.loadGeneration)return!1;let r=n[t.rowId];return r!==void 0&&Ra(r,t.range)}function Wa({loadTurnSummaryRows:e,managerTimelineView:t,timelineRows:n,threadId:r}){let i=(0,K.useRef)(0),a=(0,K.useRef)(e),o=(0,K.useRef)(r),s=(0,K.useRef)({}),c=(0,K.useRef)(new Set),l=(0,K.useRef)(new Set),u=(0,K.useRef)(new Set),d=(0,K.useRef)({}),[f,p]=(0,K.useState)(()=>new Set),[m,h]=(0,K.useState)(()=>new Set),[g,_]=(0,K.useState)({});(0,K.useLayoutEffect)(()=>{a.current=e},[e]),(0,K.useLayoutEffect)(()=>{o.current=r},[r]),(0,K.useLayoutEffect)(()=>{let e=za(n),t=Ba({candidateRowIds:[...Object.keys(d.current),...c.current,...l.current,...u.current],previousRangesById:s.current,visibleRangesById:e});if(s.current=e,t.size===0)return;let r=Va(c.current,t);r&&(c.current=r);let i=Va(l.current,t);i&&(l.current=i,p(i));let a=Va(u.current,t);a&&(u.current=a,h(a));let o=Ha(d.current,t);o&&(d.current=o,_(o))},[n]);let v=(0,K.useCallback)(e=>{let t=o.current,n={loadGeneration:i.current,range:La(e),rowId:e.id},r=c.current,f=s.current[e.id];if(f===void 0||!Ra(f,n.range)||r.has(e.id)||!Ia({cachedRowCount:d.current[e.id]?.length??0,inlineRowCount:e.children?.length??0,isLoading:l.current.has(e.id),threadId:t})||!t)return;r.add(e.id);let m=new Set(l.current).add(e.id);if(l.current=m,p(m),u.current.has(e.id)){let t=new Set(u.current);t.delete(e.id),u.current=t,h(t)}a.current({id:t,turnId:e.turnId,sourceSeqStart:e.sourceSeqStart,sourceSeqEnd:e.sourceSeqEnd}).then(t=>{if(!Ua({currentLoadGeneration:i.current,request:n,visibleRangesById:s.current}))return;let r={...d.current,[e.id]:t.rows};d.current=r,_(r)}).catch(()=>{if(!Ua({currentLoadGeneration:i.current,request:n,visibleRangesById:s.current}))return;c.current.delete(e.id);let t=new Set(u.current).add(e.id);u.current=t,h(t)}).finally(()=>{if(!Ua({currentLoadGeneration:i.current,request:n,visibleRangesById:s.current}))return;let t=new Set(l.current);t.delete(e.id),l.current=t,p(t)})},[]);return(0,K.useLayoutEffect)(()=>{i.current+=1,c.current=new Set;let e=new Set,t=new Set,n={};l.current=e,u.current=t,d.current=n,p(e),h(t),_(n)},[t,r]),{erroredTurnSummaryIds:m,handleLoadTurnSummaryRows:v,loadingTurnSummaryIds:f,turnSummaryRowsById:g}}function Ga({managerTimelineView:e,timelineRows:t,threadId:n}){let{mutateAsync:r}=Ue();return Wa({managerTimelineView:e,timelineRows:t,threadId:n,loadTurnSummaryRows:(0,K.useCallback)(t=>r({...t,managerTimelineView:e}),[r,e])})}var Ka=he;function qa({actionsMenu:e,activeTerminalCount:n,isManagedThread:r,isManagerThread:i,isSecondaryPanelOpen:a,isTerminalPanelOpen:o,isThreadGitActionPending:s,onOpenThreadGitAction:c,onToggleSecondaryPanel:l,onToggleTerminalPanel:u,showTerminalPanelToggle:d,threadHeaderGitActions:f,threadTitle:p,workspaceOpenButton:m}){let[g,..._]=f,v=H(),y=v?`PanelBottom`:`PanelRight`;return(0,q.jsx)($t,{center:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{className:`truncate text-sm font-semibold`,children:p}),i?(0,q.jsx)(Zr,{variant:`outline`,children:`manager`}):null,!i&&r?(0,q.jsx)(Zr,{variant:`outline`,children:`managed`}):null]}),actions:(0,q.jsxs)(q.Fragment,{children:[m,g&&_.length>0?(0,q.jsx)(Xr,{disabled:s,primaryAction:{label:g.label,onSelect:()=>c(g.target)},secondaryActions:_.map(e=>({label:e.label,onSelect:()=>c(e.target)}))}):g?(0,q.jsx)(h,{type:`button`,variant:`outline`,size:`sm`,disabled:s,className:Ka,onClick:()=>c(g.target),children:g.label}):null,d?(0,q.jsxs)(h,{type:`button`,variant:`ghost`,size:`icon`,className:`${$n} relative`,"aria-label":o?`Hide terminal panel`:`Show terminal panel`,"aria-pressed":o,title:o?`Hide terminal panel`:`Show terminal panel`,onClick:u,children:[(0,q.jsx)(t,{name:`Terminal`}),n>0?(0,q.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute -right-0.5 -top-0.5 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-primary px-1 text-[9px] font-semibold leading-none text-primary-foreground`,children:n>9?`9+`:n}):null]}):null,e,!v&&a?null:(0,q.jsx)(h,{type:`button`,variant:`ghost`,size:`icon`,className:$n,"aria-label":a?`Hide secondary panel`:`Show secondary panel`,"aria-pressed":a,title:a?`Hide secondary panel`:`Show secondary panel`,onClick:l,children:(0,q.jsx)(t,{name:y})})]})})}function Ja(e,t){if(e===`created`||e===`provisioning`)return t?`Hiring manager...`:`Creating thread...`;switch(e){case`waiting-for-host`:return`Host disconnected`;case`host-reconnecting`:return`Waiting for host to reconnect...`;case`error`:return`Retry by sending a follow-up message`;case`idle`:case`active`:return t?`Send a message. @ to mention threads, files, or folders`:`Ask for a follow-up. @ to mention files or folders`;default:return ue(e)}}var Ya=`max-w-[180px]`;function Xa({label:e,secondaryLabel:n=null,labelClassName:r,title:i,isActive:a,onSelect:o,labelMaxWidthClass:s=Ya,closeAction:c}){let l=c!==null;return(0,q.jsxs)(`div`,{className:S(`inline-flex h-7 shrink-0 items-center rounded-md text-xs transition-colors`,a?`bg-muted text-foreground`:`text-muted-foreground hover:bg-state-hover`),children:[(0,q.jsxs)(`button`,{type:`button`,onClick:o,"aria-pressed":a,title:i,className:S(`flex h-full min-w-0 items-center rounded-l-md pl-2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,l?`pr-1`:`rounded-r-md pr-2`),children:[(0,q.jsx)(`span`,{className:S(`truncate`,s,r),children:e}),n?(0,q.jsx)(`span`,{className:`ml-1 shrink-0 text-muted-foreground`,children:n}):null]}),c?(0,q.jsx)(`button`,{type:`button`,onClick:c.onClose,disabled:c.isClosing,"aria-label":c.closeLabel,title:c.closeTooltip,className:`mr-1 ml-0.5 inline-flex size-4 shrink-0 items-center justify-center rounded opacity-70 transition-opacity hover:bg-muted-foreground/15 hover:opacity-100 focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-30`,children:c.isClosing?(0,q.jsx)(t,{name:`Spinner`,className:`size-3 animate-spin`}):(0,q.jsx)(t,{name:`X`,className:`size-3`})}):null]})}function Za(){let e=B();return d({meta:{errorMessage:`Failed to resolve pending interaction.`,showErrorToast:!1},mutationFn:({threadId:e,interactionId:t,resolution:n})=>m(e,t,n),onSuccess:(t,n)=>(xt({queryClient:e,threadId:n.threadId}),t)})}function Qa(e){return(e.options?.length??0)>0}function $a(e){let t={};for(let n of e)t[n.id]={selected:[],otherSelected:!Qa(n),otherText:``};return t}function eo(e,t){return e[t.id]??{selected:[],otherSelected:!Qa(t),otherText:``}}function to(e,t){let n=new Set((e.options??[]).map(e=>e.value));return t.filter(e=>n.has(e))}function no(e,t){return to(e,t.selected).length>0?!0:t.otherSelected&&t.otherText.trim().length>0}function ro(e,t){let n=t.otherText.trim(),r=t.otherSelected&&n.length>0;if(e.multiSelect){let i=to(e,t.selected);return r?{selected:i,freeText:n}:{selected:i}}return t.otherSelected?r?{selected:[],freeText:n}:{selected:[]}:{selected:to(e,t.selected)}}function io(e,t){let n={};for(let r of e)n[r.id]=ro(r,eo(t,r));return{kind:`user_answer`,answers:n}}var ao=`Other…`,oo=84,so=158;function co({checked:e,label:n,description:r,multiSelect:i,onSelect:a}){return(0,q.jsxs)(`button`,{type:`button`,"aria-pressed":e,onClick:a,className:S(`flex w-full items-start gap-2.5 rounded-md px-2.5 py-1.5 text-left transition-colors`,e?`bg-surface-selected`:`hover:bg-state-hover`),children:[(0,q.jsx)(`span`,{className:S(`mt-0.5 flex size-4 shrink-0 items-center justify-center border`,i?`rounded`:`rounded-full`,e?`border-primary bg-primary text-primary-foreground`:`border-input`),children:e?(0,q.jsx)(t,{name:`Check`,className:`size-3`,"aria-hidden":!0}):null}),(0,q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`span`,{className:`block text-sm font-medium text-foreground`,children:n}),r?(0,q.jsx)(`span`,{className:`mt-0.5 block text-xs leading-snug text-muted-foreground`,children:r}):null]})]})}function lo({currentIndex:e,formState:t,onSelect:n,questions:r}){return(0,q.jsxs)(`div`,{className:`mb-2 flex items-center gap-2`,children:[(0,q.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1 overflow-x-auto`,children:r.map((r,i)=>{let a=no(r,eo(t,r));return(0,q.jsx)(Xa,{label:r.shortLabel??`Question ${i+1}`,labelClassName:a?`line-through`:void 0,title:r.prompt,isActive:i===e,onSelect:()=>n(i),closeAction:null},r.id)})}),(0,q.jsxs)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:[e+1,` of `,r.length]})]})}function uo({disabled:e,question:t,state:n,onToggleOption:r,onSelectOther:i,onFreeTextChange:a,onShortcutSubmit:o}){let s=(0,K.useRef)(null),c=sn(s,{minHeight:oo,maxHeight:so}),l=t.options??[],u=`${t.shortLabel??t.prompt} answer`;return(0,K.useLayoutEffect)(()=>{n.otherSelected&&c()},[t.id,c,n.otherSelected,n.otherText]),(0,q.jsxs)(`fieldset`,{disabled:e,className:`min-w-0`,children:[(0,q.jsx)(`legend`,{className:`sr-only`,children:t.prompt}),(0,q.jsx)(`div`,{className:`text-sm font-semibold text-foreground`,children:t.prompt}),(0,q.jsxs)(`div`,{className:`mt-2 space-y-0.5`,children:[l.map(e=>(0,q.jsx)(co,{checked:n.selected.includes(e.value),label:e.label,description:e.description,multiSelect:t.multiSelect,onSelect:()=>r(e.value)},e.value)),t.allowFreeText&&l.length>0?(0,q.jsx)(co,{checked:n.otherSelected,label:ao,multiSelect:t.multiSelect,onSelect:i}):null]}),n.otherSelected?(0,q.jsx)(`textarea`,{ref:s,"aria-label":u,value:n.otherText,rows:1,autoFocus:!0,onChange:e=>{a(e.target.value),c(e.target)},onKeyDown:e=>{e.nativeEvent.isComposing||e.key!==`Enter`||!e.metaKey&&!e.ctrlKey||(e.preventDefault(),o())},placeholder:`Type your own answer…`,className:`mt-2 w-full resize-none overflow-y-auto rounded-md border border-border bg-surface-raised px-3 py-2 text-sm leading-relaxed text-foreground placeholder:text-muted-foreground focus-visible:border-ring/50 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring/40`,style:{minHeight:`${oo}px`,maxHeight:`${so}px`}}):null]})}function fo({className:e,interactionId:n,isResolving:r=!1,questions:i,threadId:a}){let[o,s]=(0,K.useState)(()=>$a(i)),[c,l]=(0,K.useState)(0),[u,d]=(0,K.useState)(n),f=Za(),p=Tr();u!==n&&(d(n),s($a(i)),l(0));let m=i.length,g=i[c]??null,_=c===0,v=c===m-1,y=(0,K.useMemo)(()=>m>0&&i.every(e=>no(e,eo(o,e))),[o,i,m]),b=f.error?ht({error:f.error,fallbackMessage:`Failed to submit answer`,lifecycleOperation:`resolve_interaction`}):null,x=f.isPending||r,C=(e,t)=>{s(n=>({...n,[e.id]:t(eo(n,e))}))},w=(e,t)=>{C(e,n=>{if(e.multiSelect){let e=n.selected.includes(t)?n.selected.filter(e=>e!==t):[...n.selected,t];return{...n,selected:e}}return{...n,selected:[t],otherSelected:!1}})},T=e=>{C(e,t=>e.multiSelect?{...t,otherSelected:!t.otherSelected}:{...t,selected:[],otherSelected:!0})},E=(e,t)=>{C(e,e=>({...e,otherText:t}))},D=()=>{x||!y||f.mutateAsync({threadId:a,interactionId:n,resolution:io(i,o)}).catch(()=>{})},O=()=>{if(v){D();return}l(e=>Math.min(e+1,m-1))},k=()=>{p.mutate(a)};if(!g)return null;let A=eo(o,g);return(0,q.jsxs)(`div`,{className:S(`text-xs text-muted-foreground`,e),children:[m>1?(0,q.jsx)(lo,{currentIndex:c,formState:o,onSelect:l,questions:i}):null,(0,q.jsx)(uo,{disabled:x,question:g,state:A,onToggleOption:e=>w(g,e),onSelectOther:()=>T(g),onFreeTextChange:e=>E(g,e),onShortcutSubmit:O}),(0,q.jsxs)(`div`,{className:`mt-3 flex items-center justify-between gap-2`,children:[(0,q.jsx)(h,{type:`button`,size:`sm`,variant:`ghost`,disabled:x||p.isPending,onClick:k,children:`Cancel`}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[_?null:(0,q.jsx)(h,{type:`button`,size:`sm`,variant:`outline`,disabled:x,onClick:()=>l(e=>Math.max(e-1,0)),children:`Back`}),(0,q.jsxs)(h,{type:`button`,size:`sm`,disabled:x||v&&!y,onClick:O,children:[r?(0,q.jsx)(t,{name:`Spinner`,className:`size-3 animate-spin`}):null,v?`Submit answer`:`Next`]})]})]}),b?(0,q.jsx)(`div`,{className:`mt-2 rounded-md border border-surface-destructive-border bg-surface-destructive px-3 py-2 text-xs text-destructive`,children:b}):null]})}function po({interaction:e,threadId:t}){return M(e.payload)?(0,q.jsx)(go,{interaction:e,payload:e.payload,threadId:t}):ne(e.payload)?(0,q.jsx)(ho,{interaction:e,payload:e.payload,threadId:t}):ue(e.payload)}function mo({title:e,errorMessage:t,footer:n,children:r}){return(0,q.jsxs)(`div`,{className:`mb-2 rounded-lg border border-border bg-surface-recessed px-4 py-3 text-xs text-muted-foreground`,children:[e?(0,q.jsx)(`h3`,{className:`min-w-0 text-sm font-semibold text-foreground`,children:(0,q.jsx)(mn,{fullText:e,collapsedClassName:`line-clamp-2`,children:e})}):null,r?(0,q.jsx)(`div`,{className:e?`mt-3`:void 0,children:r}):null,n?(0,q.jsx)(`div`,{className:`mt-3 flex flex-wrap items-center justify-end gap-2`,children:n}):null,t?(0,q.jsx)(`div`,{className:`mt-2 rounded-md border border-surface-destructive-border bg-surface-destructive px-2 py-1 text-xs text-destructive`,children:t}):null]})}function ho({interaction:e,payload:t,threadId:n}){let r=Za(),i=e.status===`resolving`,a=yo(e.resolution),o=(0,K.useMemo)(()=>bo({interaction:e,payload:t}),[e,t]),s=r.error?ht({error:r.error,fallbackMessage:`Failed to resolve pending interaction`,lifecycleOperation:`resolve_interaction`}):null,c=r.isPending||i,l=t=>{let i=oe(e,t);r.mutateAsync({threadId:n,interactionId:e.id,resolution:i}).catch(()=>{})};return(0,q.jsx)(mo,{title:o.title,errorMessage:s,footer:t.availableDecisions.map(e=>(0,q.jsx)(_o,{decision:e,disabled:c,isLoading:i&&a===e,onClick:()=>l(e)},e)),children:o.body})}function go({interaction:e,payload:t,threadId:n}){let r=e.status===`resolving`;return(0,q.jsx)(mo,{children:(0,q.jsx)(fo,{interactionId:e.id,isResolving:r,questions:t.questions,threadId:n})})}function _o({decision:e,disabled:n,isLoading:r,onClick:i}){return(0,q.jsxs)(h,{type:`button`,size:`sm`,variant:vo(e),disabled:n,onClick:i,children:[r?(0,q.jsx)(t,{name:`Spinner`,className:`size-3 animate-spin`}):null,xo(e)]})}function vo(e){switch(e){case`allow_once`:return`default`;case`allow_for_session`:return`outline`;case`deny`:return`ghost`}}function yo(e){return!e||`kind`in e?null:e.decision}function bo({interaction:e,payload:t}){switch(t.subject.kind){case`command`:{let n=t.subject.command,r=n?Wt(n)??n:null,i=de(e).filter(e=>!e.startsWith(`Command: `)).map(e=>e.startsWith(`Cwd: `)?e.slice(5):e);return{title:t.reason??`Do you want to run this command?`,body:r?(0,q.jsxs)(`div`,{className:`overflow-hidden rounded-lg border border-border bg-card`,children:[(0,q.jsxs)(`pre`,{className:S(vn(`base`),`overflow-auto whitespace-pre px-3 py-2 font-mono text-xs leading-relaxed text-foreground`),children:[`$ `,r]}),i.length>0?(0,q.jsx)(`ul`,{className:`border-t border-border px-3 py-2 text-xs text-muted-foreground`,children:i.map(e=>(0,q.jsx)(`li`,{children:e},e))}):null]}):null}}case`file_change`:{let n=de(e);return{title:t.reason??`Do you want to make these changes?`,body:n.length>0?(0,q.jsx)(`ul`,{className:`rounded-lg border border-border bg-card px-3 py-2 text-xs text-muted-foreground`,children:n.map(e=>(0,q.jsx)(`li`,{children:e},e))}):null}}case`permission_grant`:{let n=de(e);return{title:t.reason??`Do you want to grant this permission?`,body:n.length>0?(0,q.jsx)(`ul`,{className:`rounded-lg border border-border bg-card px-3 py-2 text-xs text-muted-foreground`,children:n.map(e=>(0,q.jsx)(`li`,{children:e},e))}):null}}default:return ue(t.subject)}}function xo(e){switch(e){case`allow_once`:return`Allow once`;case`allow_for_session`:return`Allow for session`;case`deny`:return`Deny`}}var So=`rounded-md border border-border bg-surface-recessed`;function Co({children:e,ariaLabel:t,className:n,style:r}){return t?(0,q.jsx)(`section`,{"aria-label":t,className:S(So,n),style:r,children:e}):(0,q.jsx)(`div`,{className:S(So,n),style:r,children:e})}var wo=new Set([`active`,`host-reconnecting`,`waiting-for-host`]);function To(e){return wo.has(e)}var Eo={uncommitted:`Uncommitted`,untracked:`Untracked`,committed:`Committed`},Do={managedBy:{toggle:`thread-prompt-banner-managed-by-toggle`,body:`thread-prompt-banner-managed-by-body`},managerChildren:{toggle:`thread-prompt-banner-manager-children-toggle`,body:`thread-prompt-banner-manager-children-body`},todos:{toggle:`thread-prompt-banner-todos-toggle`,body:`thread-prompt-banner-todos-body`},git:{toggle:`thread-prompt-banner-git-toggle`,body:`thread-prompt-banner-git-body`}},Oo={in_progress:0,pending:1,completed:2};function ko(e){return e.items.length>0}function Ao(e){if(e.length===0)return null;let t=0;for(let n of e)n.status===`completed`&&(t+=1);return t===0?`${e.length}`:`${t}/${e.length}`}function jo({className:e}){return(0,q.jsx)(t,{name:`ChevronDown`,className:S(`size-3.5 shrink-0 rotate-45`,e),"aria-hidden":`true`})}function Mo({id:e,controlsId:n,ariaLabel:r,icon:i,label:a,isExpanded:o,onToggle:s}){return(0,q.jsxs)(`button`,{type:`button`,id:e,"aria-expanded":o,"aria-controls":n,"aria-label":r,onClick:s,className:S(`flex min-w-0 items-center rounded px-1 py-0.5 text-xs transition-colors hover:bg-state-hover`,a==null?`gap-0`:`gap-1.5`,o?`text-foreground`:`text-muted-foreground`),children:[i,a==null?null:(0,q.jsx)(`span`,{className:`min-w-0 truncate`,children:a}),(0,q.jsx)(t,{name:`ChevronDown`,className:S(`size-3.5 shrink-0 text-subtle-foreground transition-transform duration-200`,o&&`rotate-180`),"aria-hidden":`true`})]})}function No({status:e}){let n=`size-3.5 shrink-0`;switch(e){case`in_progress`:return(0,q.jsx)(t,{name:`Square`,className:S(n,`fill-current text-muted-foreground/30`),"aria-hidden":`true`});case`completed`:return(0,q.jsx)(t,{name:`Check`,className:S(n,`text-muted-foreground/60`),"aria-hidden":`true`});case`pending`:return(0,q.jsx)(t,{name:`Square`,className:S(n,`text-muted-foreground/45`),"aria-hidden":`true`})}}function Po({items:e}){return(0,q.jsx)(`ul`,{className:`max-h-40 space-y-0.5 overflow-y-auto px-3 pb-2 pt-1.5`,children:[...e].sort((e,t)=>Oo[e.status]-Oo[t.status]).map(e=>(0,q.jsxs)(`li`,{className:`flex min-w-0 items-center gap-2 py-0.5 text-xs`,children:[(0,q.jsx)(No,{status:e.status}),(0,q.jsx)(`span`,{className:S(`min-w-0 flex-1 truncate`,e.status===`in_progress`&&`font-medium text-foreground`,e.status===`pending`&&`text-muted-foreground`,e.status===`completed`&&`text-subtle-foreground line-through decoration-subtle-foreground`),title:e.text,children:e.text})]},e.id))})}function Fo({managerName:e,href:t}){return(0,q.jsxs)(`div`,{className:`px-3 pb-2 pt-1.5 text-xs leading-relaxed text-muted-foreground`,children:[`This thread is managed by`,` `,(0,q.jsx)(Je,{to:t,className:`text-foreground/90 underline-offset-2 hover:underline`,children:e}),`.`]})}function Io({items:e}){return(0,q.jsx)(`ul`,{className:`max-h-40 space-y-0.5 overflow-y-auto px-3 pb-2 pt-1.5`,children:e.map(e=>(0,q.jsx)(`li`,{className:`text-xs`,children:(0,q.jsxs)(Je,{to:e.href,title:e.title,className:`flex min-w-0 items-center gap-2 py-0.5 text-foreground/90 underline-offset-2 hover:underline`,children:[(0,q.jsx)(jo,{className:`text-subtle-foreground no-underline`}),(0,q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.title})]})},e.id))})}function Lo({id:e,labelledBy:t,isExpanded:n,children:r}){return(0,q.jsx)(`section`,{id:e,role:`region`,"aria-labelledby":t,"aria-hidden":!n,className:S(`grid overflow-hidden transition-[grid-template-rows,opacity,border-color] duration-200 ease-out`,n?`grid-rows-[1fr] border-t border-border opacity-100`:`pointer-events-none grid-rows-[0fr] border-t border-transparent opacity-0`),children:(0,q.jsx)(`div`,{className:`overflow-hidden`,children:r})})}function Ro({todoSection:e,gitSection:n,gitSectionPending:r,archivedSection:i,managedBySection:a,managerChildrenSection:o,expandedSection:s,onToggleSection:c}){if(r)return null;if(i){let e=s===`managedBy`&&a!==null;return(0,q.jsxs)(Co,{ariaLabel:`Thread context before sending`,className:`overflow-hidden`,style:{minHeight:32},children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-0.5 px-2 py-1 text-xs text-muted-foreground`,children:[a?(0,q.jsx)(Mo,{id:Do.managedBy.toggle,controlsId:Do.managedBy.body,ariaLabel:`Managed by ${a.managerName}`,icon:(0,q.jsx)(t,{name:`UserRound`,className:`size-3.5 shrink-0`,"aria-hidden":`true`}),label:null,isExpanded:e,onToggle:()=>c(`managedBy`)}):null,(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 px-1 py-0.5`,children:[(0,q.jsx)(t,{name:`Archive`,className:`size-3.5 shrink-0`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{className:`min-w-0 truncate`,children:`Thread is archived`})]})]}),a?(0,q.jsx)(Lo,{id:Do.managedBy.body,labelledBy:Do.managedBy.toggle,isExpanded:e,children:(0,q.jsx)(Fo,{managerName:a.managerName,href:a.href})}):null]})}let l=e!==null&&ko(e.pendingTodos),u=n!==null,d=a!==null,f=o!==null&&o.items.length>0;if(!l&&!u&&!d&&!f)return null;let p=l&&e?e.pendingTodos.items:[],m=s===`todos`&&l,h=s===`git`&&u,g=s===`managedBy`&&d,_=s===`managerChildren`&&f,v=u?(0,q.jsxs)(q.Fragment,{children:[l?null:(0,q.jsxs)(q.Fragment,{children:[Eo[n.changedFiles.kind],` · `]}),$i(Xi(n.changedFiles.stats))]}):null,y=u&&n.mergeBase?Hn({mergeBaseBranch:n.mergeBase.branch,mergeBaseBranchRef:n.mergeBase.branchRef,mergeBaseBranchOptions:n.mergeBase.options,remoteMergeBaseBranchOptions:n.mergeBase.remoteOptions}):{options:[],remoteOptions:[]},b=d&&!l&&!u&&!f;return(0,q.jsxs)(Co,{ariaLabel:`Thread context before sending`,className:`overflow-hidden`,style:{minHeight:32},children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-0.5 px-2 py-1 text-xs text-muted-foreground`,children:[d&&a&&b?(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 px-1 py-0.5`,children:[(0,q.jsx)(t,{name:`UserRound`,className:`size-3.5 shrink-0`,"aria-hidden":`true`}),(0,q.jsxs)(`span`,{className:`min-w-0 truncate`,children:[`Managed by`,` `,(0,q.jsx)(Je,{to:a.href,className:`text-foreground/90 underline underline-offset-2`,children:a.managerName})]})]}):null,d&&a&&!b?(0,q.jsx)(Mo,{id:Do.managedBy.toggle,controlsId:Do.managedBy.body,ariaLabel:`Managed by ${a.managerName}`,icon:(0,q.jsx)(t,{name:`UserRound`,className:`size-3.5 shrink-0`,"aria-hidden":`true`}),label:null,isExpanded:g,onToggle:()=>c(`managedBy`)}):null,f&&o?(0,q.jsx)(Mo,{id:Do.managerChildren.toggle,controlsId:Do.managerChildren.body,icon:(0,q.jsx)(t,{name:`CircleDashed`,className:`size-3.5 shrink-0 animate-spin`,"aria-hidden":`true`}),label:`${o.items.length} active managed ${o.items.length===1?`thread`:`threads`}`,isExpanded:_,onToggle:()=>c(`managerChildren`)}):null,l?(0,q.jsx)(Mo,{id:Do.todos.toggle,controlsId:Do.todos.body,icon:(0,q.jsx)(t,{name:`ListTodo`,className:`size-3.5 shrink-0`,"aria-hidden":`true`}),label:Ao(p),isExpanded:m,onToggle:()=>c(`todos`)}):null,u&&v?(0,q.jsx)(Mo,{id:Do.git.toggle,controlsId:Do.git.body,icon:(0,q.jsx)(t,{name:`FileDiff`,className:`size-3.5 shrink-0`,"aria-hidden":`true`}),label:v,isExpanded:h,onToggle:()=>c(`git`)}):null,u&&n.mergeBase?(0,q.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,q.jsx)(`span`,{className:`shrink-0`,children:`Merge base:`}),(0,q.jsx)(Gn,{value:n.mergeBase.branch,options:y.options,remoteOptions:y.remoteOptions,selectedOptionKind:y.selectedOptionKind,optionsTruncated:n.mergeBase.optionsTruncated,variant:`minimal`,loading:n.mergeBase.optionsLoading,onChange:n.mergeBase.onChange,onOpenChange:n.mergeBase.onPickerOpenChange,onSearchQueryChange:n.mergeBase.onSearchQueryChange,className:`max-w-[10rem]`,muted:!0,popoverAlign:`end`})]}):null]}),d&&a&&!b?(0,q.jsx)(Lo,{id:Do.managedBy.body,labelledBy:Do.managedBy.toggle,isExpanded:g,children:(0,q.jsx)(Fo,{managerName:a.managerName,href:a.href})}):null,f&&o?(0,q.jsx)(Lo,{id:Do.managerChildren.body,labelledBy:Do.managerChildren.toggle,isExpanded:_,children:(0,q.jsx)(Io,{items:o.items})}):null,l?(0,q.jsx)(Lo,{id:Do.todos.body,labelledBy:Do.todos.toggle,isExpanded:m,children:(0,q.jsx)(Po,{items:p})}):null,u?(0,q.jsx)(Lo,{id:Do.git.body,labelledBy:Do.git.toggle,isExpanded:h,children:(0,q.jsx)(ra,{files:n.changedFiles.files,className:`max-h-32 px-3 pb-2 pt-1`,onFileClick:e=>n.onPromptBannerFileClick({file:e,section:n.changedFiles})})}):null]})}var zo=220;function Bo(e){let t=e.trim();return t.length===0?`Attachment`:bn(t)}function Vo(e){let t=0;for(let n of e)(n.type===`localImage`||n.type===`localFile`)&&(t+=1);return t}function Ho(e){let t=e.filter(e=>e.type===`text`).map(e=>e.text.trim()).filter(e=>e.length>0).join(`
|
|
2
|
+
|
|
3
|
+
`).trim();if(t.length>0)return t.length<=zo?t:`${t.slice(0,zo-1)}...`;let n=Vo(e);if(n===1){let t=e.find(e=>e.type===`localImage`||e.type===`localFile`);return t?t.type===`localFile`&&t.name?`Attachment only (${t.name})`:`Attachment only (${Bo(t.path)})`:`Attachment only (1 file)`}return n>1?`Attachment only (${n} files)`:`(empty message)`}function Uo(e){return Nr(e)}var Wo=(0,K.memo)(function({queuedMessage:e,index:n,isProcessing:r,dragDisabled:i,sendDisabled:a,actionDisabled:o,onSendImmediately:s,onEdit:c,onDelete:l}){let u=(0,K.useMemo)(()=>Ho(e.content),[e.content]),d=(0,K.useMemo)(()=>Vo(e.content),[e.content]),{attributes:f,isDragging:p,listeners:m,setActivatorNodeRef:g,setNodeRef:_,transform:v,transition:y}=Un({id:e.id,disabled:i});return(0,q.jsx)(`li`,{ref:_,style:{transform:jr.Transform.toString(v),transition:y},className:S(`px-2.5 py-0.5`,p&&`relative z-10 opacity-80`),children:(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,q.jsx)(h,{ref:g,type:`button`,size:`icon`,variant:`ghost`,className:S(`size-6 shrink-0 text-muted-foreground`,!i&&`cursor-grab active:cursor-grabbing`),disabled:i,"aria-label":`Reorder queued message ${n+1}`,title:`Reorder queued message`,...f,...m,children:(0,q.jsx)(t,{name:`CornerDownRight`,className:`size-3.5`})}),(0,q.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1 text-xs leading-4`,children:[(0,q.jsx)(`p`,{className:`min-w-0 truncate text-foreground`,title:u,children:u}),d>0?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`shrink-0 text-muted-foreground`,children:`.`}),(0,q.jsx)(`span`,{className:`shrink-0 text-muted-foreground`,children:d===1?`1 attachment`:`${d} attachments`})]}):null,r?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`shrink-0 text-muted-foreground`,children:`.`}),(0,q.jsx)(`span`,{className:`shrink-0 text-muted-foreground`,children:`Sending...`})]}):null]})}),(0,q.jsxs)(`div`,{className:`ml-1 flex shrink-0 items-center gap-1`,children:[(0,q.jsx)(h,{type:`button`,size:`sm`,variant:`link`,className:`h-auto px-0 pr-1 text-xs text-muted-foreground underline`,disabled:a||r,onClick:()=>s(e.id),children:r?`Sending...`:`Send now`}),(0,q.jsx)(h,{type:`button`,size:`icon`,variant:`ghost`,className:`size-7 text-muted-foreground`,disabled:o||r,onClick:()=>c(e.id),"aria-label":`Edit queued message ${n+1}`,title:`Edit queued message`,children:(0,q.jsx)(t,{name:`Edit`,className:`size-3.5`})}),(0,q.jsx)(h,{type:`button`,size:`icon`,variant:`ghost`,className:`size-7 text-muted-foreground hover:text-destructive`,disabled:o||r,onClick:()=>l(e.id),"aria-label":`Delete queued message ${n+1}`,title:`Delete queued message`,children:(0,q.jsx)(t,{name:`Trash2`,className:`size-3.5`})})]})]})})});function Go({queuedMessages:e,sendDisabled:t,actionDisabled:n,processingMessageId:r,onSendImmediately:i,onReorder:a,onEdit:o,onDelete:s}){let c=jt(cn(jn,{activationConstraint:{distance:4}}),cn(Lr,{coordinateGetter:Kn})),l=(0,K.useMemo)(()=>e.map(e=>e.id),[e]),u=n||r!==null||e.length<2,d=(0,K.useCallback)(t=>{if(!t.over)return;let n=Fn({activeId:String(t.active.id),overId:String(t.over.id),queuedMessages:e});n&&a(n)},[a,e]);return e.length===0?null:(0,q.jsxs)(Co,{ariaLabel:`Queued messages`,className:`overflow-hidden`,children:[(0,q.jsx)(`div`,{className:`flex items-center justify-between px-2.5 pb-1 pt-2.5`,children:(0,q.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Queued (`,e.length,`)`]})}),(0,q.jsx)(Or,{sensors:c,collisionDetection:Pr,onDragEnd:d,children:(0,q.jsx)(ir,{items:l,strategy:En,children:(0,q.jsx)(`ul`,{children:e.map((e,a)=>(0,q.jsx)(Wo,{queuedMessage:e,index:a,isProcessing:r===e.id,dragDisabled:u,sendDisabled:t,actionDisabled:n,onSendImmediately:i,onEdit:o,onDelete:s},e.id))})})})]})}var Ko=(0,K.memo)(function({environmentLabel:e,environmentHostLabel:n,environmentHostConnected:r,environmentIcon:i,environmentBranchName:a,onCreateNewThreadInWorktree:o}){return!e&&r===void 0?null:(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 pr-1.5`,children:[e?(0,q.jsx)(Ar,{label:`Environment`,value:(0,q.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,q.jsx)(`span`,{children:e}),n?(0,q.jsxs)(`span`,{className:`hidden text-muted-foreground lg:inline`,children:[`· `,n]}):null,r===void 0?null:(0,q.jsx)(rr,{connected:r,className:`translate-y-px`})]}),leading:i?(0,q.jsx)(t,{name:i,className:`size-4 shrink-0`}):null,className:`h-6 shrink-0`,muted:!0}):r===void 0?null:(0,q.jsx)(rr,{connected:r}),a?(0,q.jsxs)(`button`,{type:`button`,className:`hidden min-w-0 items-center gap-1 rounded-md px-1.5 py-0.5 text-xs text-muted-foreground transition-colors hover:bg-state-hover hover:text-foreground md:flex`,title:`Copy branch name: ${a}`,onClick:()=>{dt(a,{successMessage:`Branch name copied`,errorMessage:`Failed to copy branch name`})},children:[(0,q.jsx)(t,{name:`GitMerge`,className:`size-3.5 shrink-0`}),(0,q.jsx)(`span`,{className:`truncate`,children:a})]}):null,o?(0,q.jsx)(`button`,{type:`button`,"aria-label":`Create new thread in this worktree`,title:`New thread in this worktree`,onClick:o,className:`-ml-1 inline-flex shrink-0 items-center justify-center rounded-md px-1 py-0.5 text-muted-foreground transition-colors hover:bg-state-hover hover:text-foreground`,children:(0,q.jsx)(t,{name:`MessageSquarePlus`,className:`size-4`})}):null]})});function qo({visible:e,active:n=!1,onClick:r,className:i,ariaLabel:a=`Scroll to latest event`}){return(0,q.jsx)(`div`,{className:S(`flex h-0 items-center justify-center`,i),children:(0,q.jsx)(`button`,{onClick:r,className:S(`z-20 -mt-20 flex size-8 items-center justify-center rounded-full border border-border bg-surface-scrim backdrop-blur-md transition-all duration-200 hover:bg-state-hover`,e?`translate-y-0 opacity-100`:`pointer-events-none translate-y-2 opacity-0`),"aria-label":a,type:`button`,children:n?(0,q.jsx)(Jo,{}):(0,q.jsx)(t,{name:`ArrowDown`,className:`size-4`})})})}function Jo(){return(0,q.jsxs)(`span`,{className:`flex items-center gap-0.5`,"aria-hidden":!0,children:[(0,q.jsx)(`span`,{className:`size-1 animate-typing-dot rounded-full bg-current [animation-delay:-240ms]`}),(0,q.jsx)(`span`,{className:`size-1 animate-typing-dot rounded-full bg-current [animation-delay:-120ms]`}),(0,q.jsx)(`span`,{className:`size-1 animate-typing-dot rounded-full bg-current`})]})}function Yo({active:e}){let t=F();return t?(0,q.jsx)(qo,{visible:!t.isAtBottom,active:e,onClick:t.scrollToBottom}):null}function Xo({onSubmit:e,submission:t,...n}){let r=F(),i=()=>{e(),r?.scrollToBottom()},a=t?.onModifierSubmit===void 0?void 0:()=>{t.onModifierSubmit?.(),r?.scrollToBottom()},o=t===void 0?void 0:{...t,...a?{onModifierSubmit:a}:{}};return(0,q.jsx)(Dr,{...n,onSubmit:i,submission:o})}var Zo=68,Qo=Zo+32,$o=(0,K.memo)(function({attachments:e,stack:t,composer:n,environmentSummary:r,contextWindowUsage:i,execution:a,permission:o,mentions:s,zenModeResetKey:c}){let l=n.submitMode,u=l.kind===`queue`,d=l.kind===`ready`||l.kind===`queue`,f=l.kind===`blocked`&&l.reason===`stopping`,p=l.kind===`queue`||l.kind===`stop-only`?l.onStop:void 0,m=p!==void 0,h=(0,K.useRef)(null),g=Tn(h),_=n.canSteerSubmit?n.onSteerSubmit:void 0,v=(0,K.useMemo)(()=>(0,q.jsx)(At,{...a}),[a]),y=(0,K.useRef)(null),[b,x]=(0,K.useState)(0);(0,K.useLayoutEffect)(()=>{let e=y.current;if(!e)return;let t=e.offsetHeight;x(e=>e===t?e:t)},[t]),(0,K.useEffect)(()=>{let e=y.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(e=>{let t=e[0];t&&x(t.contentRect.height)});return t.observe(e),()=>t.disconnect()},[]);let S=Math.max(Zo,Qo-b);return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Yo,{active:n.threadRuntimeDisplayStatus===`active`}),(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsx)(`div`,{ref:y,className:`space-y-2`,children:t}),(0,q.jsx)(Xo,{promptBoxRef:h,voice:g,minHeight:S,value:n.message,onChange:n.onChangeMessage,onSubmit:n.onSubmit,history:n.history,placeholder:n.promptPlaceholder,mentionMenuPlacement:`top`,autoFocus:!0,submission:{onStop:p,isSubmitting:n.isFollowUpSubmitting||f,disabled:!d||n.isFollowUpSubmitting,onModifierSubmit:_,title:u?`Queue follow-up (Enter)`:f?`Stopping run...`:`Submit (Enter)`,isRunning:m,mode:`enter`},mentions:s,attachments:e,zenMode:{layout:`thread`,storageKey:null,resetKey:c,resetOnSubmit:!0},footerStart:v}),(0,q.jsxs)(`div`,{className:`mt-1 flex min-h-6 items-center justify-between gap-2 pl-[15px] pr-3.5`,children:[(0,q.jsx)(`div`,{className:`flex min-w-0 flex-1 flex-wrap items-center gap-1`,children:r}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,q.jsx)(fr,{value:o.value,options:o.options,onChange:o.onChange,supported:o.supported,className:`h-6`}),i?(0,q.jsx)(qt,{usage:i}):null]})]})]})]})});function es(e){return e===`active`||e===`host-reconnecting`}function ts({hasPromptDraftInput:e,isFollowUpSubmitting:t,isQueueMutationPending:n,queuedMessageCount:r,runtimeDisplayStatus:i,submitModeKind:a}){return i===`active`&&a===`queue`&&!t&&!n&&(r>0||e)}function ns({hasConcreteDefaultExecutionOptions:e,hasResolvedDefaultExecutionOptions:t,isError:n}){return e?`available`:t||n?`unavailable`:`loading`}function rs({execution:e,input:t,threadId:n}){return t.length===0?null:{id:n,input:t,mode:`auto`,...ss(e)}}function is({input:e,threadId:t}){return e.length===0?null:{id:t,input:e,mode:`steer`}}function as({execution:e,input:t,threadId:n}){return t.length===0?null:{id:n,input:t,...ss(e)}}function os({queuedMessages:e,threadId:t}){return e.map(e=>({id:t,mode:`steer`,queuedMessageId:e.id}))}function ss(e){return e===null?{}:{model:e.model,...e.supportsServiceTier&&e.serviceTier?{serviceTier:e.serviceTier}:{},reasoningLevel:e.reasoningLevel,permissionMode:e.permissionMode}}var cs=()=>{};function ls({canUseGitUi:e,composerQueriesEnabled:t,composerQueriesRefetchOnMount:n,composerQueriesStaleTime:r,contextWindowUsage:i,environmentBranchName:a,environmentHostConnected:o,environmentHostLabel:s,environmentIcon:c,environmentLabel:l,onCreateNewThreadInWorktree:u,isEnvironmentActionPending:d,pendingInteractions:f,onChangedFileClick:p,openThreadDiffPanel:m,projectId:h,workspaceChangedFilesSection:g,workspaceStatusPending:_,contextBannerMergeBase:v,pendingTodos:y,managedBySection:b,managerChildrenSection:x,sendMessage:S,thread:C}){let w=Le(C.id,{enabled:t,refetchOnMount:n,staleTime:r}),T=w.data,E=T!==void 0,D=T!=null,O=ns({hasConcreteDefaultExecutionOptions:D,hasResolvedDefaultExecutionOptions:E,isError:w.isError})===`loading`,{data:k=[]}=Ae(C.id,{enabled:t,refetchOnMount:n,staleTime:r}),A=(0,K.useRef)(new Map);A.current=(0,K.useMemo)(()=>{let e=new Map;for(let t of k)e.set(t.id,t);return e},[k]);let{data:j=[]}=He(C.id,{enabled:t,refetchOnMount:n,staleTime:r}),M=On(),N=tr(),P=lr(),ee=br(),F=Tr(),te=wt(),I=Jn({projectId:h,threadId:C.id}),L=or(h,{threadSuggestionMode:C.type===`manager`?`all`:`managers`,currentThreadId:C.id,currentThreadType:C.type,environmentId:C.environmentId??null}),[ne,re]=(0,K.useState)(null),[ie,R]=(0,K.useState)(null),[z,B]=(0,K.useState)(null),[ae,oe]=(0,K.useState)(!1),V=(0,K.useMemo)(()=>zn(j),[j]),{selectedProviderId:se,providerOptions:ce,hasMultipleProviders:le,selectedProviderDisplayName:ue,selectedModel:de,setSelectedModel:fe,serviceTier:pe,setServiceTier:me,reasoningLevel:he,setReasoningLevel:H,permissionMode:ge,setPermissionMode:_e,activeModel:U,modelOptions:ve,modelLoadError:ye,reasoningOptions:be,permissionModeOptions:xe,supportsPermissionModeSelection:Se,supportsServiceTier:Ce,serviceTierSupportByProvider:we}=un({enabled:t,environmentId:C.environmentId??void 0,scope:`component-local`,resetKey:C.id,initialProviderId:C.providerId,initialModel:T?.model,initialServiceTier:T?.serviceTier,initialReasoningLevel:T?.reasoningLevel,initialPermissionMode:T?.permissionMode,initialEnvironmentSelectionValue:C.environmentId??void 0}),Te=C.runtime.displayStatus,Ee=Te===`created`,De=Te===`provisioning`,Oe=Te===`waiting-for-host`,ke=C.stopRequestedAt!==null||F.isPending&&F.variables===C.id,je=Ve(f),Me=je!==null,Ne=M.isPending||N.isPending||P.isPending||ee.isPending||ae,Pe=S.isPending||d||M.isPending||ae,Fe=(0,K.useCallback)(()=>{F.mutate(C.id)},[F,C.id]),Ie=(0,K.useMemo)(()=>ke?{kind:`blocked`,reason:`stopping`}:Me?{kind:`blocked`,reason:`pending-interaction`}:Ee||De?{kind:`blocked`,reason:`provisioning`}:O?{kind:`blocked`,reason:`loading-execution-options`}:Oe?{kind:`stop-only`,onStop:Fe}:Te===`active`||Te===`host-reconnecting`?{kind:`queue`,onStop:Fe}:{kind:`ready`},[Fe,Me,O,Ee,De,ke,Oe,Te]),Re=ke?`Stopping thread...`:O&&!Ee&&!De?`Loading thread options...`:Ja(Te,C.type===`manager`),ze=(0,K.useMemo)(()=>({text:I.text,attachments:I.attachments}),[I.attachments,I.text]),Be=(0,K.useMemo)(()=>An(ze),[ze]),Ue=ts({hasPromptDraftInput:Be.length>0,isFollowUpSubmitting:Pe,isQueueMutationPending:Ne,queuedMessageCount:k.length,runtimeDisplayStatus:Te,submitModeKind:Ie.kind}),We=(0,K.useMemo)(()=>D?{model:U?.model??de,supportsServiceTier:Ce,serviceTier:pe,reasoningLevel:he,permissionMode:ge}:null,[U?.model,D,ge,he,de,pe,Ce]),Ge=(0,K.useCallback)(async e=>{if(e.length===0)return;re(null);let t=[];for(let n of e)try{let e=await te.mutateAsync({projectId:h,file:n});I.addAttachment(e)}catch{t.push(n.name)}t.length>0&&re(`Failed to attach: ${t.join(`, `)}`)},[h,I,te]),Ke=(0,K.useCallback)(async()=>{let e=ze,t=Be;if(t.length===0||O)return;I.clearIfCurrentMatches(e),re(null);let n=es(Te);try{if(n){let e=as({threadId:C.id,input:t,execution:We});e&&await M.mutateAsync(e)}else{let e=rs({threadId:C.id,input:t,execution:We});e&&await S.mutateAsync(e)}}catch(t){I.restoreIfEmpty(e),ut.error(ht({error:t,fallbackMessage:n?`Failed to queue message`:`Failed to send message`,lifecycleOperation:n?`queue_message`:`send_message`}))}},[M,ze,Be,We,O,I,S,C.id,Te]),qe=(0,K.useCallback)(async()=>{if(!Ue)return;let e=ze,t=Be;if(!(k.length===0&&t.length===0)){oe(!0),t.length>0&&I.clearIfCurrentMatches(e),re(null);try{for(let e of os({queuedMessages:k,threadId:C.id}))await N.mutateAsync(e);let e=is({input:t,threadId:C.id});e&&await S.mutateAsync(e)}catch(t){I.restoreIfEmpty(e),ut.error(ht({error:t,fallbackMessage:`Failed to send message`,lifecycleOperation:`send_message`}))}finally{oe(!1)}}},[Ue,ze,Be,I,k,S,N,C.id]),Je=(0,K.useCallback)(e=>{A.current.has(e)&&(B(e),N.mutateAsync({id:C.id,mode:`auto`,queuedMessageId:e}).then(()=>{re(null)}).catch(e=>{ut.error(ht({error:e,fallbackMessage:`Failed to send queued message`,lifecycleOperation:`send_queued_message`}))}).finally(()=>{B(t=>t===e?null:t)}))},[N,C.id]),Ye=(0,K.useCallback)(e=>{let t=A.current.get(e);t&&(B(e),P.mutateAsync({id:C.id,queuedMessageId:e}).then(()=>{let e=Uo(t.content);I.setDraft(e),re(null)}).catch(e=>{ut.error(ht({error:e,fallbackMessage:`Failed to edit queued message`}))}).finally(()=>{B(t=>t===e?null:t)}))},[P,I,C.id]),Xe=(0,K.useCallback)(e=>{B(e),P.mutateAsync({id:C.id,queuedMessageId:e}).catch(e=>{ut.error(ht({error:e,fallbackMessage:`Failed to delete queued message`}))}).finally(()=>{B(t=>t===e?null:t)})},[P,C.id]),W=(0,K.useCallback)(e=>{ee.mutateAsync({id:C.id,...e}).catch(e=>{ut.error(ht({error:e,fallbackMessage:`Failed to reorder queued message`,lifecycleOperation:`reorder_queued_message`}))})},[ee,C.id]),G=(0,K.useCallback)(e=>{p(e)},[p]),Ze=(0,K.useCallback)(e=>{R(t=>t===e?null:e)},[]),Qe=(0,K.useMemo)(()=>({items:I.attachments,projectId:h,isAttaching:te.isPending,error:ne,onAttachFiles:Ge,onRemove:I.removeAttachment}),[ne,Ge,h,I.attachments,I.removeAttachment,te.isPending]),$e=(0,K.useMemo)(()=>({history:{currentDraft:ze,entries:V,onSelectEntry:I.setDraft,resetKey:C.id},isFollowUpSubmitting:Pe,message:I.text,onChangeMessage:I.setText,onSteerSubmit:qe,onSubmit:Ke,promptPlaceholder:Re,canSteerSubmit:Ue,submitMode:Ie,threadRuntimeDisplayStatus:Te}),[Ue,ze,Ke,qe,Pe,I.setDraft,I.setText,I.text,V,Re,Te,Ie,C.id]),et=(0,K.useMemo)(()=>({provider:{options:ce,selectedId:se,hasMultiple:le,displayName:ue},model:{active:U,selected:de,options:ve,loadError:ye,onChange:fe},serviceTier:{value:pe,onChange:me,supported:Ce,supportByProvider:we},reasoning:{value:he,options:be,onChange:H}}),[U,le,ye,ve,ce,he,be,de,ue,se,pe,we,H,fe,me,Ce]),tt=(0,K.useMemo)(()=>({value:D?ge:void 0,options:D?xe:[],onChange:_e,supported:D&&Se}),[D,ge,xe,_e,Se]),nt=(0,K.useMemo)(()=>({suggestions:L.suggestions,threadSectionMode:L.threadSectionMode,isLoading:L.isLoading,isError:L.isError,onQueryChange:L.setQuery}),[L.isError,L.isLoading,L.setQuery,L.suggestions,L.threadSectionMode]),rt=(0,K.useMemo)(()=>l||o!==void 0?(0,q.jsx)(Ko,{environmentLabel:l,environmentHostLabel:s,environmentHostConnected:o,environmentIcon:c,environmentBranchName:a,onCreateNewThreadInWorktree:u}):null,[a,o,s,c,l,u]),it=(0,K.useMemo)(()=>(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Ro,{todoSection:C.type===`manager`||!y?null:{pendingTodos:y},archivedSection:C.archivedAt===null?null:{archivedAt:C.archivedAt},managedBySection:b,managerChildrenSection:x,gitSection:g?{changedFiles:g,mergeBase:v,onPromptBannerFileClick:e?G:cs}:null,gitSectionPending:_,expandedSection:ie,onToggleSection:Ze}),(0,q.jsx)(Go,{queuedMessages:k,sendDisabled:!(Ie.kind===`ready`||Ie.kind===`queue`)||Pe||Ne,actionDisabled:Ne,processingMessageId:z,onSendImmediately:Je,onReorder:W,onEdit:Ye,onDelete:Xe})]}),[e,v,ie,Xe,Ye,G,W,Je,Ze,Pe,Ne,b,x,y,z,k,Ie.kind,C.archivedAt,C.type,g,_]);return je?(0,q.jsx)(po,{interaction:je,threadId:C.id}):(0,q.jsx)($o,{attachments:Qe,stack:it,composer:$e,zenModeResetKey:C.id,environmentSummary:rt,contextWindowUsage:i??null,execution:et,permission:tt,mentions:nt})}var us=a((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=v();function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if(n!==`default`){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var r=n(t),i=typeof window<`u`,a=t.createContext(null);a.displayName=`PanelGroupContext`;var o={group:`data-panel-group`,groupDirection:`data-panel-group-direction`,groupId:`data-panel-group-id`,panel:`data-panel`,panelCollapsible:`data-panel-collapsible`,panelId:`data-panel-id`,panelSize:`data-panel-size`,resizeHandle:`data-resize-handle`,resizeHandleActive:`data-resize-handle-active`,resizeHandleEnabled:`data-panel-resize-handle-enabled`,resizeHandleId:`data-panel-resize-handle-id`,resizeHandleState:`data-resize-handle-state`},s=10,c=i?t.useLayoutEffect:()=>{},l=r.useId,u=typeof l==`function`?l:()=>null,d=0;function f(e=null){let n=u(),r=t.useRef(e||n||null);return r.current===null&&(r.current=``+ d++),e??r.current}function p({children:e,className:n=``,collapsedSize:r,collapsible:i,defaultSize:s,forwardedRef:l,id:u,maxSize:d,minSize:p,onCollapse:m,onExpand:h,onResize:g,order:_,style:v,tagName:y=`div`,...b}){let x=t.useContext(a);if(x===null)throw Error(`Panel components must be rendered within a PanelGroup container`);let{collapsePanel:S,expandPanel:C,getPanelSize:w,getPanelStyle:T,groupId:E,isPanelCollapsed:D,reevaluatePanelConstraints:O,registerPanel:k,resizePanel:A,unregisterPanel:j}=x,M=f(u),N=t.useRef({callbacks:{onCollapse:m,onExpand:h,onResize:g},constraints:{collapsedSize:r,collapsible:i,defaultSize:s,maxSize:d,minSize:p},id:M,idIsFromProps:u!==void 0,order:_});t.useRef({didLogMissingDefaultSizeWarning:!1}),c(()=>{let{callbacks:e,constraints:t}=N.current,n={...t};N.current.id=M,N.current.idIsFromProps=u!==void 0,N.current.order=_,e.onCollapse=m,e.onExpand=h,e.onResize=g,t.collapsedSize=r,t.collapsible=i,t.defaultSize=s,t.maxSize=d,t.minSize=p,(n.collapsedSize!==t.collapsedSize||n.collapsible!==t.collapsible||n.maxSize!==t.maxSize||n.minSize!==t.minSize)&&O(N.current,n)}),c(()=>{let e=N.current;return k(e),()=>{j(e)}},[_,M,k,j]),t.useImperativeHandle(l,()=>({collapse:()=>{S(N.current)},expand:e=>{C(N.current,e)},getId(){return M},getSize(){return w(N.current)},isCollapsed(){return D(N.current)},isExpanded(){return!D(N.current)},resize:e=>{A(N.current,e)}}),[S,C,w,D,M,A]);let P=T(N.current,s);return t.createElement(y,{...b,children:e,className:n,id:M,style:{...P,...v},[o.groupId]:E,[o.panel]:``,[o.panelCollapsible]:i||void 0,[o.panelId]:M,[o.panelSize]:parseFloat(``+P.flexGrow).toFixed(1)})}var m=t.forwardRef((e,n)=>t.createElement(p,{...e,forwardedRef:n}));p.displayName=`Panel`,m.displayName=`forwardRef(Panel)`;var h;function g(){return h}var _=null,y=!0,b=-1,x=null;function S(e,t){if(t){let e=(t&L)!==0,n=(t&ne)!==0,r=(t&re)!==0,i=(t&ie)!==0;if(e)return r?`se-resize`:i?`ne-resize`:`e-resize`;if(n)return r?`sw-resize`:i?`nw-resize`:`w-resize`;if(r)return`s-resize`;if(i)return`n-resize`}switch(e){case`horizontal`:return`ew-resize`;case`intersection`:return`move`;case`vertical`:return`ns-resize`}}function C(){x!==null&&(document.head.removeChild(x),_=null,x=null,b=-1)}function w(e,t){if(!y)return;let n=S(e,t);if(_!==n){if(_=n,x===null){x=document.createElement(`style`);let e=g();e&&x.setAttribute(`nonce`,e),document.head.appendChild(x)}if(b>=0){var r;(r=x.sheet)==null||r.removeRule(b)}b=x.sheet?.insertRule(`*{cursor: ${n} !important;}`)??-1}}function T(e){return e.type===`keydown`}function E(e){return e.type.startsWith(`pointer`)}function D(e){return e.type.startsWith(`mouse`)}function O(e){if(E(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(D(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}function k(){if(typeof matchMedia==`function`)return matchMedia(`(pointer:coarse)`).matches?`coarse`:`fine`}function A(e,t,n){return n?e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y:e.x<=t.x+t.width&&e.x+e.width>=t.x&&e.y<=t.y+t.height&&e.y+e.height>=t.y}function j(e,t){if(e===t)throw Error(`Cannot compare node with itself`);let n={a:te(e),b:te(t)},r;for(;n.a.at(-1)===n.b.at(-1);)e=n.a.pop(),t=n.b.pop(),r=e;U(r,`Stacking order can only be calculated for elements with a common ancestor`);let i={a:F(ee(n.a)),b:F(ee(n.b))};if(i.a===i.b){let e=r.childNodes,t={a:n.a.at(-1),b:n.b.at(-1)},i=e.length;for(;i--;){let n=e[i];if(n===t.a)return 1;if(n===t.b)return-1}}return Math.sign(i.a-i.b)}var M=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function N(e){let t=getComputedStyle(I(e)??e).display;return t===`flex`||t===`inline-flex`}function P(e){let t=getComputedStyle(e);return!!(t.position===`fixed`||t.zIndex!==`auto`&&(t.position!==`static`||N(e))||+t.opacity<1||`transform`in t&&t.transform!==`none`||`webkitTransform`in t&&t.webkitTransform!==`none`||`mixBlendMode`in t&&t.mixBlendMode!==`normal`||`filter`in t&&t.filter!==`none`||`webkitFilter`in t&&t.webkitFilter!==`none`||`isolation`in t&&t.isolation===`isolate`||M.test(t.willChange)||t.webkitOverflowScrolling===`touch`)}function ee(e){let t=e.length;for(;t--;){let n=e[t];if(U(n,`Missing node`),P(n))return n}return null}function F(e){return e&&Number(getComputedStyle(e).zIndex)||0}function te(e){let t=[];for(;e;)t.push(e),e=I(e);return t}function I(e){let{parentNode:t}=e;return t&&t instanceof ShadowRoot?t.host:t}var L=1,ne=2,re=4,ie=8,R=k()===`coarse`,z=[],B=!1,ae=new Map,oe=new Map,V=new Set;function se(e,t,n,r,i){let{ownerDocument:a}=t,o={direction:n,element:t,hitAreaMargins:r,setResizeHandlerState:i},s=ae.get(a)??0;return ae.set(a,s+1),V.add(o),H(),function(){oe.delete(e),V.delete(o);let t=ae.get(a)??1;if(ae.set(a,t-1),H(),t===1&&ae.delete(a),z.includes(o)){let e=z.indexOf(o);e>=0&&z.splice(e,1),me(),i(`up`,!0,null)}}}function ce(e){let{target:t}=e,{x:n,y:r}=O(e);B=!0,fe({target:t,x:n,y:r}),H(),z.length>0&&(ge(`down`,e),e.preventDefault(),de(t)||e.stopImmediatePropagation())}function le(e){let{x:t,y:n}=O(e);if(B&&e.buttons===0&&(B=!1,ge(`up`,e)),!B){let{target:r}=e;fe({target:r,x:t,y:n})}ge(`move`,e),me(),z.length>0&&e.preventDefault()}function ue(e){let{target:t}=e,{x:n,y:r}=O(e);oe.clear(),B=!1,z.length>0&&(e.preventDefault(),de(t)||e.stopImmediatePropagation()),ge(`up`,e),fe({target:t,x:n,y:r}),me(),H()}function de(e){let t=e;for(;t;){if(t.hasAttribute(o.resizeHandle))return!0;t=t.parentElement}return!1}function fe({target:e,x:t,y:n}){z.splice(0);let r=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(r=e),V.forEach(e=>{let{element:i,hitAreaMargins:a}=e,o=i.getBoundingClientRect(),{bottom:s,left:c,right:l,top:u}=o,d=R?a.coarse:a.fine;if(t>=c-d&&t<=l+d&&n>=u-d&&n<=s+d){if(r!==null&&document.contains(r)&&i!==r&&!i.contains(r)&&!r.contains(i)&&j(r,i)>0){let e=r,t=!1;for(;e&&!e.contains(i);){if(A(e.getBoundingClientRect(),o,!0)){t=!0;break}e=e.parentElement}if(t)return}z.push(e)}})}function pe(e,t){oe.set(e,t)}function me(){let e=!1,t=!1;z.forEach(n=>{let{direction:r}=n;r===`horizontal`?e=!0:t=!0});let n=0;oe.forEach(e=>{n|=e}),e&&t?w(`intersection`,n):e?w(`horizontal`,n):t?w(`vertical`,n):C()}var he=new AbortController;function H(){he.abort(),he=new AbortController;let e={capture:!0,signal:he.signal};V.size&&(B?(z.length>0&&ae.forEach((t,n)=>{let{body:r}=n;t>0&&(r.addEventListener(`contextmenu`,ue,e),r.addEventListener(`pointerleave`,le,e),r.addEventListener(`pointermove`,le,e))}),window.addEventListener(`pointerup`,ue,e),window.addEventListener(`pointercancel`,ue,e)):ae.forEach((t,n)=>{let{body:r}=n;t>0&&(r.addEventListener(`pointerdown`,ce,e),r.addEventListener(`pointermove`,le,e))}))}function ge(e,t){V.forEach(n=>{let{setResizeHandlerState:r}=n;r(e,z.includes(n),t)})}function _e(){let[e,n]=t.useState(0);return t.useCallback(()=>n(e=>e+1),[])}function U(e,t){if(!e)throw console.error(t),Error(t)}function ve(e,t,n=s){return e.toFixed(n)===t.toFixed(n)?0:e>t?1:-1}function ye(e,t,n=s){return ve(e,t,n)===0}function be(e,t,n){return ve(e,t,n)===0}function xe(e,t,n){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++){let i=e[r],a=t[r];if(!be(i,a,n))return!1}return!0}function Se({panelConstraints:e,panelIndex:t,size:n}){let r=e[t];U(r!=null,`Panel constraints not found for index ${t}`);let{collapsedSize:i=0,collapsible:a,maxSize:o=100,minSize:c=0}=r;if(ve(n,c)<0)if(a){let e=(i+c)/2;n=ve(n,e)<0?i:c}else n=c;return n=Math.min(o,n),n=parseFloat(n.toFixed(s)),n}function Ce({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:a}){if(be(e,0))return t;let o=[...t],[s,c]=r;U(s!=null,`Invalid first pivot index`),U(c!=null,`Invalid second pivot index`);let l=0;if(a===`keyboard`){{let r=e<0?c:s,i=n[r];U(i,`Panel constraints not found for index ${r}`);let{collapsedSize:a=0,collapsible:o,minSize:l=0}=i;if(o){let n=t[r];if(U(n!=null,`Previous layout not found for panel index ${r}`),be(n,a)){let t=l-n;ve(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}{let r=e<0?s:c,i=n[r];U(i,`No panel constraints found for index ${r}`);let{collapsedSize:a=0,collapsible:o,minSize:l=0}=i;if(o){let n=t[r];if(U(n!=null,`Previous layout not found for panel index ${r}`),be(n,l)){let t=n-a;ve(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}}{let r=e<0?1:-1,i=e<0?c:s,a=0;for(;;){let e=t[i];U(e!=null,`Previous layout not found for panel index ${i}`);let o=Se({panelConstraints:n,panelIndex:i,size:100})-e;if(a+=o,i+=r,i<0||i>=n.length)break}let o=Math.min(Math.abs(e),Math.abs(a));e=e<0?0-o:o}{let r=e<0?s:c;for(;r>=0&&r<n.length;){let i=Math.abs(e)-Math.abs(l),a=t[r];U(a!=null,`Previous layout not found for panel index ${r}`);let s=a-i,c=Se({panelConstraints:n,panelIndex:r,size:s});if(!be(a,c)&&(l+=a-c,o[r]=c,l.toPrecision(3).localeCompare(Math.abs(e).toPrecision(3),void 0,{numeric:!0})>=0))break;e<0?r--:r++}}if(xe(i,o))return i;{let r=e<0?c:s,i=t[r];U(i!=null,`Previous layout not found for panel index ${r}`);let a=i+l,u=Se({panelConstraints:n,panelIndex:r,size:a});if(o[r]=u,!be(u,a)){let t=a-u,r=e<0?c:s;for(;r>=0&&r<n.length;){let i=o[r];U(i!=null,`Previous layout not found for panel index ${r}`);let a=i+t,s=Se({panelConstraints:n,panelIndex:r,size:a});if(be(i,s)||(t-=s-i,o[r]=s),be(t,0))break;e>0?r--:r++}}}return be(o.reduce((e,t)=>t+e,0),100)?o:i}function we({layout:e,panelsArray:t,pivotIndices:n}){let r=0,i=100,a=0,o=0,s=n[0];return U(s!=null,`No pivot index found`),t.forEach((e,t)=>{let{constraints:n}=e,{maxSize:c=100,minSize:l=0}=n;t===s?(r=l,i=c):(a+=l,o+=c)}),{valueMax:Math.min(i,100-a),valueMin:Math.max(r,100-o),valueNow:e[s]}}function Te(e,t=document){return Array.from(t.querySelectorAll(`[${o.resizeHandleId}][data-panel-group-id="${e}"]`))}function Ee(e,t,n=document){return Te(e,n).findIndex(e=>e.getAttribute(o.resizeHandleId)===t)??null}function De(e,t,n){let r=Ee(e,t,n);return r==null?[-1,-1]:[r,r+1]}function Oe(e,t=document){return t instanceof HTMLElement&&t?.dataset?.panelGroupId==e?t:t.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`)||null}function ke(e,t=document){return t.querySelector(`[${o.resizeHandleId}="${e}"]`)||null}function Ae(e,t,n,r=document){let i=ke(t,r),a=Te(e,r),o=i?a.indexOf(i):-1;return[n[o]?.id??null,n[o+1]?.id??null]}function je({committedValuesRef:e,eagerValuesRef:n,groupId:r,layout:i,panelDataArray:a,panelGroupElement:s,setLayout:l}){t.useRef({didWarnAboutMissingResizeHandle:!1}),c(()=>{if(!s)return;let e=Te(r,s);for(let t=0;t<a.length-1;t++){let{valueMax:n,valueMin:r,valueNow:o}=we({layout:i,panelsArray:a,pivotIndices:[t,t+1]}),s=e[t];if(s!=null){let e=a[t];U(e,`No panel data found for index "${t}"`),s.setAttribute(`aria-controls`,e.id),s.setAttribute(`aria-valuemax`,``+Math.round(n)),s.setAttribute(`aria-valuemin`,``+Math.round(r)),s.setAttribute(`aria-valuenow`,o==null?``:``+Math.round(o))}}return()=>{e.forEach((e,t)=>{e.removeAttribute(`aria-controls`),e.removeAttribute(`aria-valuemax`),e.removeAttribute(`aria-valuemin`),e.removeAttribute(`aria-valuenow`)})}},[r,i,a,s]),t.useEffect(()=>{if(!s)return;let e=n.current;U(e,`Eager values not found`);let{panelDataArray:t}=e;U(Oe(r,s)!=null,`No group found for id "${r}"`);let a=Te(r,s);U(a,`No resize handles found for group id "${r}"`);let c=a.map(e=>{let n=e.getAttribute(o.resizeHandleId);U(n,`Resize handle element has no handle id attribute`);let[a,c]=Ae(r,n,t,s);if(a==null||c==null)return()=>{};let u=e=>{if(!e.defaultPrevented)switch(e.key){case`Enter`:{e.preventDefault();let o=t.findIndex(e=>e.id===a);if(o>=0){let e=t[o];U(e,`No panel data found for index ${o}`);let a=i[o],{collapsedSize:c=0,collapsible:u,minSize:d=0}=e.constraints;if(a!=null&&u){let e=Ce({delta:be(a,c)?d-c:c-a,initialLayout:i,panelConstraints:t.map(e=>e.constraints),pivotIndices:De(r,n,s),prevLayout:i,trigger:`keyboard`});i!==e&&l(e)}}break}}};return e.addEventListener(`keydown`,u),()=>{e.removeEventListener(`keydown`,u)}});return()=>{c.forEach(e=>e())}},[s,e,n,r,i,a,l])}function Me(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Ne(e,t){let n=e===`horizontal`,{x:r,y:i}=O(t);return n?r:i}function Pe(e,t,n,r,i){let a=n===`horizontal`,s=ke(t,i);U(s,`No resize handle element found for id "${t}"`);let c=s.getAttribute(o.groupId);U(c,`Resize handle element has no group id attribute`);let{initialCursorPosition:l}=r,u=Ne(n,e),d=Oe(c,i);U(d,`No group element found for id "${c}"`);let f=d.getBoundingClientRect(),p=a?f.width:f.height;return(u-l)/p*100}function Fe(e,t,n,r,i,a){if(T(e)){let t=n===`horizontal`,r=0;r=e.shiftKey?100:i??10;let a=0;switch(e.key){case`ArrowDown`:a=t?0:r;break;case`ArrowLeft`:a=t?-r:0;break;case`ArrowRight`:a=t?r:0;break;case`ArrowUp`:a=t?0:-r;break;case`End`:a=100;break;case`Home`:a=-100;break}return a}else return r==null?0:Pe(e,t,n,r,a)}function Ie({panelDataArray:e}){let t=Array(e.length),n=e.map(e=>e.constraints),r=0,i=100;for(let a=0;a<e.length;a++){let e=n[a];U(e,`Panel constraints not found for index ${a}`);let{defaultSize:o}=e;o!=null&&(r++,t[a]=o,i-=o)}for(let a=0;a<e.length;a++){let o=n[a];U(o,`Panel constraints not found for index ${a}`);let{defaultSize:s}=o;if(s!=null)continue;let c=e.length-r,l=i/c;r++,t[a]=l,i-=l}return t}function Le(e,t,n){t.forEach((t,r)=>{let i=e[r];U(i,`Panel data not found for index ${r}`);let{callbacks:a,constraints:o,id:s}=i,{collapsedSize:c=0,collapsible:l}=o,u=n[s];if(u==null||t!==u){n[s]=t;let{onCollapse:e,onExpand:r,onResize:i}=a;i&&i(t,u),l&&(e||r)&&(r&&(u==null||ye(u,c))&&!ye(t,c)&&r(),e&&(u==null||!ye(u,c))&&ye(t,c)&&e())}})}function Re(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function ze({defaultSize:e,dragState:t,layout:n,panelData:r,panelIndex:i,precision:a=3}){let o=n[i],s;return s=o==null?e==null?`1`:e.toPrecision(a):r.length===1?`1`:o.toPrecision(a),{flexBasis:0,flexGrow:s,flexShrink:1,overflow:`hidden`,pointerEvents:t===null?void 0:`none`}}function Be(e,t=10){let n=null;return(...r)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...r)},t)}}function Ve(e){try{if(typeof localStorage<`u`)e.getItem=e=>localStorage.getItem(e),e.setItem=(e,t)=>{localStorage.setItem(e,t)};else throw Error(`localStorage not supported in this environment`)}catch(t){console.error(t),e.getItem=()=>null,e.setItem=()=>{}}}function He(e){return`react-resizable-panels:${e}`}function Ue(e){return e.map(e=>{let{constraints:t,id:n,idIsFromProps:r,order:i}=e;return r?n:i?`${i}:${JSON.stringify(t)}`:JSON.stringify(t)}).sort((e,t)=>e.localeCompare(t)).join(`,`)}function We(e,t){try{let n=He(e),r=t.getItem(n);if(r){let e=JSON.parse(r);if(typeof e==`object`&&e)return e}}catch{}return null}function Ge(e,t,n){return(We(e,n)??{})[Ue(t)]??null}function Ke(e,t,n,r,i){let a=He(e),o=Ue(t),s=We(e,i)??{};s[o]={expandToSizes:Object.fromEntries(n.entries()),layout:r};try{i.setItem(a,JSON.stringify(s))}catch(e){console.error(e)}}function qe({layout:e,panelConstraints:t}){let n=[...e],r=n.reduce((e,t)=>e+t,0);if(n.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${n.map(e=>`${e}%`).join(`, `)}`);if(!be(r,100)&&n.length>0)for(let e=0;e<t.length;e++){let t=n[e];U(t!=null,`No layout data found for index ${e}`),n[e]=100/r*t}let i=0;for(let e=0;e<t.length;e++){let r=n[e];U(r!=null,`No layout data found for index ${e}`);let a=Se({panelConstraints:t,panelIndex:e,size:r});r!=a&&(i+=r-a,n[e]=a)}if(!be(i,0))for(let e=0;e<t.length;e++){let r=n[e];U(r!=null,`No layout data found for index ${e}`);let a=r+i,o=Se({panelConstraints:t,panelIndex:e,size:a});if(r!==o&&(i-=o-r,n[e]=o,be(i,0)))break}return n}var Je=100,Ye={getItem:e=>(Ve(Ye),Ye.getItem(e)),setItem:(e,t)=>{Ve(Ye),Ye.setItem(e,t)}},Xe={};function W({autoSaveId:e=null,children:n,className:r=``,direction:i,forwardedRef:s,id:l=null,onLayout:u=null,keyboardResizeBy:d=null,storage:p=Ye,style:m,tagName:h=`div`,...g}){let _=f(l),v=t.useRef(null),[y,b]=t.useState(null),[x,S]=t.useState([]),C=_e(),w=t.useRef({}),O=t.useRef(new Map),k=t.useRef(0),A=t.useRef({autoSaveId:e,direction:i,dragState:y,id:_,keyboardResizeBy:d,onLayout:u,storage:p}),j=t.useRef({layout:x,panelDataArray:[],panelDataArrayChanged:!1});t.useRef({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),t.useImperativeHandle(s,()=>({getId:()=>A.current.id,getLayout:()=>{let{layout:e}=j.current;return e},setLayout:e=>{let{onLayout:t}=A.current,{layout:n,panelDataArray:r}=j.current,i=qe({layout:e,panelConstraints:r.map(e=>e.constraints)});Me(n,i)||(S(i),j.current.layout=i,t&&t(i),Le(r,i,w.current))}}),[]),c(()=>{A.current.autoSaveId=e,A.current.direction=i,A.current.dragState=y,A.current.id=_,A.current.onLayout=u,A.current.storage=p}),je({committedValuesRef:A,eagerValuesRef:j,groupId:_,layout:x,panelDataArray:j.current.panelDataArray,setLayout:S,panelGroupElement:v.current}),t.useEffect(()=>{let{panelDataArray:t}=j.current;if(e){if(x.length===0||x.length!==t.length)return;let n=Xe[e];n??(n=Be(Ke,Je),Xe[e]=n);let r=[...t],i=new Map(O.current);n(e,r,i,x,p)}},[e,x,p]),t.useEffect(()=>{});let M=t.useCallback(e=>{let{onLayout:t}=A.current,{layout:n,panelDataArray:r}=j.current;if(e.constraints.collapsible){let i=r.map(e=>e.constraints),{collapsedSize:a=0,panelSize:o,pivotIndices:s}=Qe(r,e,n);if(U(o!=null,`Panel size not found for panel "${e.id}"`),!ye(o,a)){O.current.set(e.id,o);let c=Ce({delta:Ze(r,e)===r.length-1?o-a:a-o,initialLayout:n,panelConstraints:i,pivotIndices:s,prevLayout:n,trigger:`imperative-api`});Re(n,c)||(S(c),j.current.layout=c,t&&t(c),Le(r,c,w.current))}}},[]),N=t.useCallback((e,t)=>{let{onLayout:n}=A.current,{layout:r,panelDataArray:i}=j.current;if(e.constraints.collapsible){let a=i.map(e=>e.constraints),{collapsedSize:o=0,panelSize:s=0,minSize:c=0,pivotIndices:l}=Qe(i,e,r),u=t??c;if(ye(s,o)){let t=O.current.get(e.id),o=t!=null&&t>=u?t:u,c=Ce({delta:Ze(i,e)===i.length-1?s-o:o-s,initialLayout:r,panelConstraints:a,pivotIndices:l,prevLayout:r,trigger:`imperative-api`});Re(r,c)||(S(c),j.current.layout=c,n&&n(c),Le(i,c,w.current))}}},[]),P=t.useCallback(e=>{let{layout:t,panelDataArray:n}=j.current,{panelSize:r}=Qe(n,e,t);return U(r!=null,`Panel size not found for panel "${e.id}"`),r},[]),ee=t.useCallback((e,t)=>{let{panelDataArray:n}=j.current;return ze({defaultSize:t,dragState:y,layout:x,panelData:n,panelIndex:Ze(n,e)})},[y,x]),F=t.useCallback(e=>{let{layout:t,panelDataArray:n}=j.current,{collapsedSize:r=0,collapsible:i,panelSize:a}=Qe(n,e,t);return U(a!=null,`Panel size not found for panel "${e.id}"`),i===!0&&ye(a,r)},[]),te=t.useCallback(e=>{let{layout:t,panelDataArray:n}=j.current,{collapsedSize:r=0,collapsible:i,panelSize:a}=Qe(n,e,t);return U(a!=null,`Panel size not found for panel "${e.id}"`),!i||ve(a,r)>0},[]),I=t.useCallback(e=>{let{panelDataArray:t}=j.current;t.push(e),t.sort((e,t)=>{let n=e.order,r=t.order;return n==null&&r==null?0:n==null?-1:r==null?1:n-r}),j.current.panelDataArrayChanged=!0,C()},[C]);c(()=>{if(j.current.panelDataArrayChanged){j.current.panelDataArrayChanged=!1;let{autoSaveId:e,onLayout:t,storage:n}=A.current,{layout:r,panelDataArray:i}=j.current,a=null;if(e){let t=Ge(e,i,n);t&&(O.current=new Map(Object.entries(t.expandToSizes)),a=t.layout)}a??=Ie({panelDataArray:i});let o=qe({layout:a,panelConstraints:i.map(e=>e.constraints)});Me(r,o)||(S(o),j.current.layout=o,t&&t(o),Le(i,o,w.current))}}),c(()=>{let e=j.current;return()=>{e.layout=[]}},[]);let R=t.useCallback(e=>{let t=!1,n=v.current;return n&&window.getComputedStyle(n,null).getPropertyValue(`direction`)===`rtl`&&(t=!0),function(n){n.preventDefault();let r=v.current;if(!r)return()=>null;let{direction:i,dragState:a,id:o,keyboardResizeBy:s,onLayout:c}=A.current,{layout:l,panelDataArray:u}=j.current,{initialLayout:d}=a??{},f=De(o,e,r),p=Fe(n,e,i,a,s,r),m=i===`horizontal`;m&&t&&(p=-p);let h=u.map(e=>e.constraints),g=Ce({delta:p,initialLayout:d??l,panelConstraints:h,pivotIndices:f,prevLayout:l,trigger:T(n)?`keyboard`:`mouse-or-touch`}),_=!Re(l,g);(E(n)||D(n))&&k.current!=p&&(k.current=p,!_&&p!==0?m?pe(e,p<0?L:ne):pe(e,p<0?re:ie):pe(e,0)),_&&(S(g),j.current.layout=g,c&&c(g),Le(u,g,w.current))}},[]),z=t.useCallback((e,t)=>{let{onLayout:n}=A.current,{layout:r,panelDataArray:i}=j.current,a=i.map(e=>e.constraints),{panelSize:o,pivotIndices:s}=Qe(i,e,r);U(o!=null,`Panel size not found for panel "${e.id}"`);let c=Ce({delta:Ze(i,e)===i.length-1?o-t:t-o,initialLayout:r,panelConstraints:a,pivotIndices:s,prevLayout:r,trigger:`imperative-api`});Re(r,c)||(S(c),j.current.layout=c,n&&n(c),Le(i,c,w.current))},[]),B=t.useCallback((e,t)=>{let{layout:n,panelDataArray:r}=j.current,{collapsedSize:i=0,collapsible:a}=t,{collapsedSize:o=0,collapsible:s,maxSize:c=100,minSize:l=0}=e.constraints,{panelSize:u}=Qe(r,e,n);u!=null&&(a&&s&&ye(u,i)?ye(i,o)||z(e,o):u<l?z(e,l):u>c&&z(e,c))},[z]),ae=t.useCallback((e,t)=>{let{direction:n}=A.current,{layout:r}=j.current;if(!v.current)return;let i=ke(e,v.current);U(i,`Drag handle element not found for id "${e}"`);let a=Ne(n,t);b({dragHandleId:e,dragHandleRect:i.getBoundingClientRect(),initialCursorPosition:a,initialLayout:r})},[]),oe=t.useCallback(()=>{b(null)},[]),V=t.useCallback(e=>{let{panelDataArray:t}=j.current,n=Ze(t,e);n>=0&&(t.splice(n,1),delete w.current[e.id],j.current.panelDataArrayChanged=!0,C())},[C]),se=t.useMemo(()=>({collapsePanel:M,direction:i,dragState:y,expandPanel:N,getPanelSize:P,getPanelStyle:ee,groupId:_,isPanelCollapsed:F,isPanelExpanded:te,reevaluatePanelConstraints:B,registerPanel:I,registerResizeHandle:R,resizePanel:z,startDragging:ae,stopDragging:oe,unregisterPanel:V,panelGroupElement:v.current}),[M,y,i,N,P,ee,_,F,te,B,I,R,z,ae,oe,V]),ce={display:`flex`,flexDirection:i===`horizontal`?`row`:`column`,height:`100%`,overflow:`hidden`,width:`100%`};return t.createElement(a.Provider,{value:se},t.createElement(h,{...g,children:n,className:r,id:l,ref:v,style:{...ce,...m},[o.group]:``,[o.groupDirection]:i,[o.groupId]:_}))}var G=t.forwardRef((e,n)=>t.createElement(W,{...e,forwardedRef:n}));W.displayName=`PanelGroup`,G.displayName=`forwardRef(PanelGroup)`;function Ze(e,t){return e.findIndex(e=>e===t||e.id===t.id)}function Qe(e,t,n){let r=Ze(e,t),i=r===e.length-1?[r-1,r]:[r,r+1],a=n[r];return{...t.constraints,panelSize:a,pivotIndices:i}}function $e({disabled:e,handleId:n,resizeHandler:r,panelGroupElement:i}){t.useEffect(()=>{if(e||r==null||i==null)return;let t=ke(n,i);if(t==null)return;let a=e=>{if(!e.defaultPrevented)switch(e.key){case`ArrowDown`:case`ArrowLeft`:case`ArrowRight`:case`ArrowUp`:case`End`:case`Home`:e.preventDefault(),r(e);break;case`F6`:{e.preventDefault();let r=t.getAttribute(o.groupId);U(r,`No group element found for id "${r}"`);let a=Te(r,i),s=Ee(r,n,i);U(s!==null,`No resize element found for id "${n}"`),a[e.shiftKey?s>0?s-1:a.length-1:s+1<a.length?s+1:0].focus();break}}};return t.addEventListener(`keydown`,a),()=>{t.removeEventListener(`keydown`,a)}},[i,e,n,r])}function et({children:e=null,className:n=``,disabled:r=!1,hitAreaMargins:i,id:s,onBlur:l,onClick:u,onDragging:d,onFocus:p,onPointerDown:m,onPointerUp:h,style:g={},tabIndex:_=0,tagName:v=`div`,...y}){let b=t.useRef(null),x=t.useRef({onClick:u,onDragging:d,onPointerDown:m,onPointerUp:h});t.useEffect(()=>{x.current.onClick=u,x.current.onDragging=d,x.current.onPointerDown=m,x.current.onPointerUp=h});let S=t.useContext(a);if(S===null)throw Error(`PanelResizeHandle components must be rendered within a PanelGroup container`);let{direction:C,groupId:w,registerResizeHandle:T,startDragging:E,stopDragging:D,panelGroupElement:O}=S,k=f(s),[A,j]=t.useState(`inactive`),[M,N]=t.useState(!1),[P,ee]=t.useState(null),F=t.useRef({state:A});c(()=>{F.current.state=A}),t.useEffect(()=>{if(r)ee(null);else{let e=T(k);ee(()=>e)}},[r,k,T]);let te=i?.coarse??15,I=i?.fine??5;t.useEffect(()=>{if(r||P==null)return;let e=b.current;U(e,`Element ref not attached`);let t=!1;return se(k,e,C,{coarse:te,fine:I},(e,n,r)=>{if(!n){j(`inactive`);return}switch(e){case`down`:{j(`drag`),t=!1,U(r,`Expected event to be defined for "down" action`),E(k,r);let{onDragging:e,onPointerDown:n}=x.current;e?.(!0),n?.();break}case`move`:{let{state:e}=F.current;t=!0,e!==`drag`&&j(`hover`),U(r,`Expected event to be defined for "move" action`),P(r);break}case`up`:{j(`hover`),D();let{onClick:e,onDragging:n,onPointerUp:r}=x.current;n?.(!1),r?.(),t||e?.();break}}})},[te,C,r,I,T,k,P,E,D]),$e({disabled:r,handleId:k,resizeHandler:P,panelGroupElement:O});let L={touchAction:`none`,userSelect:`none`};return t.createElement(v,{...y,children:e,className:n,id:s,onBlur:()=>{N(!1),l?.()},onFocus:()=>{N(!0),p?.()},ref:b,role:`separator`,style:{...L,...g},tabIndex:_,[o.groupDirection]:C,[o.groupId]:w,[o.resizeHandle]:``,[o.resizeHandleActive]:A===`drag`?`pointer`:M?`keyboard`:void 0,[o.resizeHandleEnabled]:!r,[o.resizeHandleId]:k,[o.resizeHandleState]:A})}et.displayName=`PanelResizeHandle`,e.Panel=m,e.PanelGroup=G,e.PanelResizeHandle=et}))(),ds=`uncommitted`;function fs(e,t){if(e===`uncommitted`)return{type:`uncommitted`};if(e)return{type:`commit`,sha:e};if(t)return{type:`all`,mergeBaseBranch:t}}function ps(e,t={hasUncommittedChanges:!1}){let n={value:`all`,label:`All changes`},r={value:ds,label:`Uncommitted changes`},i=e.map(e=>({value:e.sha,label:e.subject,monoPrefix:e.shortSha}));return e.length>0||t.hasUncommittedChanges?[n,...t.hasUncommittedChanges?[r]:[],...i]:[n]}function ms(e,t,n={hasUncommittedChanges:!1}){return e?e===`uncommitted`?!n.hasUncommittedChanges:!t.some(t=>t.sha===e):!1}function hs(e){let t=e.currentGitDiff.trim().length>0,n=hr(e.currentGitDiff),r=e.parsedGitDiffFileCount>0,i=t&&e.lastParsedGitDiffKey!==n;return{currentGitDiffKey:n,hasCurrentGitDiff:t,hasParsedGitDiffFiles:r,isAwaitingCurrentGitDiffParse:i,isPreparingGitDiff:!r&&(e.isAwaitingPrerequisites||e.isGitDiffLoading||e.isParsingGitDiffFiles||i)}}function gs({entry:e,expectedFileCount:t}){return t>10?!0:Gt(e.fileDiff)===`deleted`}function _s({bulkCollapsePreference:e,currentCollapsedFileKeys:t,expectedFileCount:n,focusedFileKey:r,parsedGitDiffFileEntries:i,previousFileKeys:a}){if(e===`expanded-all`)return new Set;let o=new Set;for(let s of i){if(r!==null){s.key!==r&&o.add(s.key);continue}if(e===`collapsed-all`){o.add(s.key);continue}if(a.has(s.key)){t.has(s.key)&&o.add(s.key);continue}gs({entry:s,expectedFileCount:n})&&o.add(s.key)}return o}function vs(e){let t=hr(e.gitDiff);if(!e.isDiffPanelActive||e.gitDiff.trim().length===0)return{kind:`reset`,gitDiffKey:t,patchChunks:[]};let n=yn(e.gitDiff);return n.length===0?{kind:`empty`,gitDiffKey:t,patchChunks:[]}:n.length<=24?{kind:`immediate`,gitDiffKey:t,patchChunks:n}:{kind:`batched`,gitDiffKey:t,patchChunks:n}}var ys=150,bs=4,xs=6,Ss=30,Cs=70;function ws(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function Ts({environmentId:e,gitDiffIdentity:t,expectedGitDiffFileCount:n,parsedGitDiffFileEntries:r,isDiffPanelActive:i,isParsingGitDiffFiles:a}){let o=$r((0,K.useCallback)(e=>e(ja),[])),s=Qe(ja),c=Qe(Ma),l=(0,K.useRef)(new Map),u=(0,K.useRef)(new Map),d=(0,K.useRef)(`default`),f=(0,K.useRef)(null),p=(0,K.useRef)(new Set),m=(0,K.useRef)(new Set),h=(0,K.useRef)(new Map),g=(0,K.useCallback)(e=>{let t=u.current.get(e);if(t===void 0)return;u.current.delete(e);let n=l.current.get(t);n&&(n.delete(e),n.size===0&&(window.clearTimeout(t),l.current.delete(t)))},[]),_=(0,K.useCallback)(()=>{for(let e of l.current.keys())window.clearTimeout(e);l.current.clear(),u.current.clear()},[]);(0,K.useLayoutEffect)(()=>{_(),d.current=`default`,f.current=null,p.current=new Set,m.current.clear(),s(new Set),c(new Set)},[e,t,_,s,c]),(0,K.useEffect)(()=>()=>{_(),m.current.clear()},[_]);let v=(0,K.useCallback)((e,t)=>{if(e.length===0)return;let n=[],r=new Set;for(let t of e)r.has(t)||(r.add(t),n.push(t));if(n.length===0)return;let i=Math.max(1,Math.min(t?.initialBatchSize??n.length,n.length)),a=Math.max(1,t?.batchSize??n.length),o=Math.max(0,t?.initialDelayMs??ys),s=Math.max(0,t?.batchDelayMs??ys);c(e=>{let t=new Set(e);for(let e of n)t.add(e);return t});for(let e of n)g(e);let d=(e,t)=>{let n=new Set(e),r=0;r=window.setTimeout(()=>{let e=l.current.get(r);if(e){l.current.delete(r);for(let t of e)u.current.delete(t);c(t=>{let n=!1,r=new Set(t);for(let t of e)n=r.delete(t)||n;return n?r:t})}},t),l.current.set(r,n);for(let e of n)u.current.set(e,r)};d(n.slice(0,i),o);let f=0;for(let e=i;e<n.length;e+=a){let t=o+(f+1)*s;d(n.slice(e,e+a),t),f+=1}},[g,c]);(0,K.useLayoutEffect)(()=>{if(!i)return;if(r.length===0&&!a&&n===0){p.current=new Set,m.current.clear(),s(e=>e.size===0?e:new Set),c(e=>e.size===0?e:new Set),_();return}if(r.length===0)return;let e=new Set(r.map(({key:e})=>e));f.current!==null&&!e.has(f.current)&&(f.current=null);for(let t of m.current)e.has(t)||m.current.delete(t);let t=_s({bulkCollapsePreference:d.current,currentCollapsedFileKeys:o(),expectedFileCount:n,focusedFileKey:f.current,parsedGitDiffFileEntries:r,previousFileKeys:p.current});p.current=e,s(e=>ws(e,t)?e:t);let l=[];for(let{key:e}of r)m.current.has(e)||(m.current.add(e),t.has(e)||l.push(e));l.length!==0&&v(l,n>10||a||l.length>bs?{initialBatchSize:bs,initialDelayMs:Ss,batchSize:xs,batchDelayMs:Cs}:void 0)},[_,n,o,t,i,a,r,v,s,c]);let y=(0,K.useCallback)(e=>{d.current=`default`,f.current=null;let t=o().has(e);if(s(n=>{let r=new Set(n);return t?r.delete(e):r.add(e),r}),t){v([e]);return}g(e),c(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n})},[g,v,s,c,o]),b=(0,K.useCallback)(e=>{if(r.length===0)return;let t=r.map(({key:e})=>e);if(!t.includes(e))return;d.current=`default`,f.current=e,m.current.add(e);let n=o().has(e);for(let n of t)n!==e&&g(n);s(new Set(t.filter(t=>t!==e))),c(t=>{let n=!1,r=new Set(t);for(let i of t)i!==e&&(n=r.delete(i)||n);return n?r:t}),n&&v([e])},[g,o,r,v,s,c]),x=(0,K.useCallback)(()=>{if(r.length===0)return;let e=r.map(({key:e})=>e),t=o();if(e.every(e=>t.has(e))){d.current=`expanded-all`,f.current=null,s(new Set),v(e);return}d.current=`collapsed-all`,f.current=null,_(),s(new Set(e)),c(new Set)},[_,r,v,s,c,o]),S=(0,K.useCallback)((e,t)=>{if(t){h.current.set(e,t);return}h.current.delete(e)},[]);return{focusGitDiffFile:b,gitDiffFileRefs:h,queuedGitDiffFileRenderKeys:m.current,setGitDiffFileRef:S,toggleAllGitDiffFilesCollapsed:x,toggleGitDiffFileCollapsed:y}}function Es({environmentId:e,isDiffPanelActive:t,defaultMergeBaseBranch:n}){let r=$e(Na),i=$e(Pa),a=Qe(Pa),o=$e(ja),c=$e(Ma),l=(0,K.useRef)(null),[u,d]=(0,K.useState)(null),[f,p]=(0,K.useState)([]),m=(0,K.useRef)([]),[h,g]=(0,K.useState)(0),[_,v]=(0,K.useState)(!1),[y,b]=(0,K.useState)(``),x=(0,K.useRef)(``),[S,C]=(0,K.useState)(null),w=r??n,T=(0,K.useMemo)(()=>fs(u,w),[w,u]),D=(0,K.useMemo)(()=>Os({environmentId:e,target:T}),[e,T]),{data:O}=Ki(e??``,w,{enabled:!!e&&!!w&&t}),{data:k,isLoading:A,isPlaceholderData:j,error:M}=Yi(e??``,{enabled:!!e&&t&&T!==void 0,target:T});(0,K.useEffect)(()=>{if(k&&!j){C(e=>e?.requestIdentity===D&&e.response===k?e:{requestIdentity:D,response:k});return}A||C(e=>e?.requestIdentity===D?e:null)},[k,D,A,j]);let N=k&&!j?k:S?.requestIdentity===D?S.response:void 0,P=N?.mergeBaseRef??null,ee=(0,K.useMemo)(()=>Ds({environmentId:e,mergeBaseRef:P,target:T}),[P,e,T]),F=N?.diff??``,te=(0,K.useMemo)(()=>_n(f),[f]),{focusGitDiffFile:I,gitDiffFileRefs:L,queuedGitDiffFileRenderKeys:ne,setGitDiffFileRef:re,toggleAllGitDiffFilesCollapsed:ie,toggleGitDiffFileCollapsed:R}=Ts({environmentId:e,gitDiffIdentity:ee,expectedGitDiffFileCount:h,parsedGitDiffFileEntries:te,isDiffPanelActive:t,isParsingGitDiffFiles:_}),z=hs({currentGitDiff:F,isAwaitingPrerequisites:t&&!!e&&T===void 0,isGitDiffLoading:A,isParsingGitDiffFiles:_,lastParsedGitDiffKey:y,parsedGitDiffFileCount:te.length});(0,K.useEffect)(()=>{let e=vs({gitDiff:F,isDiffPanelActive:t});if(e.kind===`reset`){m.current=[],p([]),g(0),v(!1),x.current=``,b(``);return}if(e.kind===`empty`){m.current=[],p([]),g(0),v(!1),x.current=e.gitDiffKey,b(e.gitDiffKey);return}if(e.kind===`immediate`){let t=Ut(F);m.current=t,p(t),g(e.patchChunks.length),v(!1),x.current=e.gitDiffKey,b(e.gitDiffKey);return}let n=e.patchChunks,r=m.current.length>0&&x.current!==e.gitDiffKey,i=[],a=!1,o=null,s=0,c=!1,l=()=>{if(a)return;let t=s===0?6:18,u=n.slice(s,s+t);if(u.length===0){v(!1),x.current=e.gitDiffKey,b(e.gitDiffKey);return}let d=xn(u);if(!a){if(s+=u.length,r?i=[...i,...d]:p(e=>{let t=c?[...e,...d]:d;return m.current=t,t}),c=!0,s>=n.length||a){r&&(m.current=i,p(i),g(e.patchChunks.length)),v(!1),x.current=e.gitDiffKey,b(e.gitDiffKey);return}o=window.setTimeout(l,24)}};return r||(m.current=[],p([]),g(e.patchChunks.length)),v(!0),l(),()=>{a=!0,o!==null&&window.clearTimeout(o)}},[F,t]),(0,K.useEffect)(()=>{d(null)},[e]),(0,K.useEffect)(()=>{a(null)},[e,a]),(0,K.useEffect)(()=>{i&&d(null)},[i]);let ae=(O?.workingTree.files.length??0)>0;(0,K.useEffect)(()=>{ms(u,O?.mergeBase?.commits??[],{hasUncommittedChanges:ae})&&d(null)},[O?.mergeBase?.commits,ae,u]),(0,K.useLayoutEffect)(()=>{if(!i||!t){l.current=null;return}let e=te.find(({fileDiff:e})=>Rt(e,i));if(!e){!A&&!_&&!z.isAwaitingCurrentGitDiffParse&&a(null);return}if(l.current!==i){l.current=i,I(e.key);return}let n=o.has(e.key),r=!ne.has(e.key)||c.has(e.key);n||r||(L.current.get(e.key)?.scrollIntoView({block:`start`,behavior:`instant`}),a(null))},[o,I,L,z.isAwaitingCurrentGitDiffParse,t,A,_,c,te,i,ne,a]);let oe=(0,K.useMemo)(()=>O?.mergeBase?.commits??[],[O?.mergeBase?.commits]),V=u??`all`,se=(0,K.useMemo)(()=>ps(oe,{hasUncommittedChanges:ae}),[oe,ae]),ce=(0,K.useMemo)(()=>Cn(_?[]:f,F),[F,_,f]),{hasParsedGitDiffFiles:le,isPreparingGitDiff:ue}=z,de=(0,K.useCallback)(e=>{d(e===`all`?null:e)},[]),fe=B(),pe=(0,K.useMemo)(()=>As(T,P),[T,P]);return{currentGitDiff:F,gitDiffError:M,gitDiffSelectOptions:se,gitDiffSelectValue:V,gitDiffStats:ce,hasParsedGitDiffFiles:le,isGitDiffLoading:A,isParsingGitDiffFiles:_,isPreparingGitDiff:ue,onGitDiffSelectionChange:de,onRequestFileContents:(0,K.useMemo)(()=>{if(!e||pe===void 0)return;let t=e,n=pe,r=ks(n);return async(e,i)=>{let a=await fe.fetchQuery({queryKey:s(t,n.type,r,e,i),queryFn:()=>E(t,n,e,i),staleTime:5e3});return js(e,a.content,a.contentEncoding)}},[e,pe,fe]),parsedGitDiffFileEntries:te,queuedGitDiffFileRenderKeys:ne,setGitDiffFileRef:re,threadGitDiff:N,toggleAllGitDiffFilesCollapsed:ie,toggleGitDiffFileCollapsed:R}}function Ds({environmentId:e,mergeBaseRef:t,target:n}){let r=e??`none`;if(!n)return`${r}:none`;switch(n.type){case`uncommitted`:return`${r}:uncommitted`;case`branch_committed`:return[r,`branch_committed`,n.mergeBaseBranch,t??`pending`].join(`:`);case`all`:return[r,`all`,n.mergeBaseBranch,t??`pending`].join(`:`);case`commit`:return`${r}:commit:${n.sha}`;default:return n}}function Os({environmentId:e,target:t}){let n=e??`none`;if(!t)return`${n}:none`;switch(t.type){case`uncommitted`:return`${n}:uncommitted`;case`branch_committed`:return[n,`branch_committed`,t.mergeBaseBranch].join(`:`);case`all`:return[n,`all`,t.mergeBaseBranch].join(`:`);case`commit`:return`${n}:commit:${t.sha}`;default:return t}}function ks(e){switch(e.type){case`uncommitted`:return null;case`branch_committed`:case`all`:return e.mergeBaseRef;case`commit`:return e.sha;default:return e}}function As(e,t){if(e)switch(e.type){case`uncommitted`:return{type:`uncommitted`};case`branch_committed`:return t?{type:`branch_committed`,mergeBaseRef:t}:void 0;case`all`:return t?{type:`all`,mergeBaseRef:t}:void 0;case`commit`:return{type:`commit`,sha:e.sha};default:return e}}function js(e,t,n){return n===`utf8`?{name:e,contents:t}:null}var Ms=760;function Ns({isSecondaryPanelOpen:e}){let[t,n]=(0,K.useState)(`unified`),[r,i]=(0,K.useState)(!1),a=Qe(ka),o=$e(Aa),s=Qe(Aa),c=(0,K.useRef)(null),l=(0,K.useRef)(null),u=(0,K.useRef)(o),d=(0,K.useRef)(null),f=(0,K.useRef)(!1),p=(0,K.useCallback)(t=>{if(!e||t===void 0)return;let r=t>=Ms,i=d.current,a=i!==null&&i!==r;if(a&&f.current&&(f.current=!1),!f.current||a){let e=r?`split`:`unified`;n(t=>t===e?t:e)}d.current=r},[e,n]),m=(0,K.useRef)(e);(0,K.useEffect)(()=>{if(m.current===e)return;m.current=e;let t=l.current;t&&(e?(t.expand(u.current),p(c.current?.getBoundingClientRect().width)):t.collapse())},[e,p]),(0,K.useEffect)(()=>{e||(f.current=!1,d.current=null)},[e]),cr({ref:c,onResize:({width:e})=>{p(e??c.current?.getBoundingClientRect().width)}});let h=(0,K.useCallback)(e=>{f.current=!0,n(e)},[n]),g=(0,K.useCallback)(()=>{i(!1),a(!1),u.current>0&&s(u.current)},[a,s]),_=(0,K.useCallback)(e=>{if(e){i(!0),a(!0),f.current=!1;return}g()},[g,a]);return(0,K.useEffect)(()=>{if(r)return window.addEventListener(`pointerup`,g,!0),window.addEventListener(`pointercancel`,g,!0),window.addEventListener(`blur`,g),()=>{window.removeEventListener(`pointerup`,g,!0),window.removeEventListener(`pointercancel`,g,!0),window.removeEventListener(`blur`,g)}},[g,r]),{gitDiffDisplayMode:t,handleGitDiffDisplayModeChange:h,handleSecondaryPanelDragging:_,handleSecondaryPanelResize:(0,K.useCallback)(e=>{e<=0||(u.current=e)},[]),persistedWidthPercent:o,secondaryPanelRef:c,secondaryResizablePanelRef:l}}var Ps=`20rem`;function Fs({value:e,options:n,onChange:r,disabled:i,panelWidthPx:a}){let o=n.find(t=>t.value===e),s=o?.label??e,c=o?.monoPrefix;return(0,q.jsxs)(_e,{children:[(0,q.jsx)(ve,{asChild:!0,disabled:i,children:(0,q.jsxs)(h,{type:`button`,variant:`ghost`,size:`sm`,disabled:i,className:S(`h-8 w-full min-w-0 justify-between gap-2 rounded-lg border border-border bg-transparent px-2.5 text-xs font-normal`,i&&`opacity-60`),children:[(0,q.jsxs)(`span`,{className:`flex min-w-0 items-baseline gap-2`,children:[c?(0,q.jsx)(`span`,{className:`shrink-0 font-mono text-muted-foreground`,children:c}):null,(0,q.jsx)(`span`,{className:`truncate`,children:s})]}),(0,q.jsx)(t,{name:`ChevronDown`,className:`size-3.5 shrink-0 text-muted-foreground`})]})}),(0,q.jsx)(xe,{align:`start`,className:`min-w-[var(--radix-dropdown-menu-trigger-width)]`,style:{maxWidth:`min(var(--radix-popper-available-width), max(${Ps}, ${a}px))`},children:n.map(n=>(0,q.jsxs)(U,{onSelect:()=>r(n.value),className:`flex items-center justify-between gap-2`,children:[(0,q.jsxs)(`span`,{className:`flex min-w-0 items-baseline gap-2`,title:n.monoPrefix?`${n.monoPrefix} ${n.label}`:n.label,children:[n.monoPrefix?(0,q.jsx)(`span`,{className:`shrink-0 font-mono text-muted-foreground`,children:n.monoPrefix}):null,(0,q.jsx)(`span`,{className:`truncate`,children:n.label})]}),(0,q.jsx)(t,{name:`Check`,className:S(pe,n.value===e?`opacity-100`:`opacity-0`)})]},n.value))})]})}function Is({selectionValue:e,selectionOptions:n,onSelectionChange:r,isSelectorDisabled:i,stats:a,isParsing:o,areAllFilesCollapsed:s,isCollapseAllDisabled:c,onToggleAllCollapsed:l,displayMode:u,onDisplayModeChange:d}){let f=(0,K.useRef)(null),{width:p=0}=cr({ref:f,box:`content-box`});return(0,q.jsx)(`div`,{ref:f,className:`px-4 pb-3`,children:(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,q.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,q.jsx)(Fs,{value:e,options:n,onChange:r,disabled:i,panelWidthPx:p})}),(0,q.jsx)(`span`,{className:`min-w-0 shrink truncate text-xs text-muted-foreground`,title:Qi(a),children:$i(a)}),o?(0,q.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1 text-xs text-muted-foreground`,children:[(0,q.jsx)(t,{name:`Spinner`,className:`size-3 animate-spin`}),`Parsing`]}):null,(0,q.jsxs)(`div`,{className:`ml-auto flex min-w-0 shrink-0 items-center justify-end gap-1`,children:[(0,q.jsx)(h,{type:`button`,variant:`ghost`,size:`sm`,className:`h-7 w-7 rounded-md p-0 text-muted-foreground`,onClick:l,disabled:c,"aria-label":s?`Expand all files`:`Collapse all files`,title:s?`Expand all files`:`Collapse all files`,children:s?(0,q.jsx)(t,{name:`ChevronsDown`,className:`size-3.5`}):(0,q.jsx)(t,{name:`ChevronsUp`,className:`size-3.5`})}),(0,q.jsxs)(`div`,{className:`inline-flex items-center gap-1 rounded-lg border border-border p-0.5`,role:`tablist`,"aria-label":`Diff view mode`,children:[(0,q.jsx)(h,{type:`button`,variant:`ghost`,size:`sm`,className:`h-7 w-7 rounded-md p-0 text-muted-foreground`,onClick:()=>d(`unified`),"aria-label":`Stacked diff view`,"aria-pressed":u===`unified`,title:`Stacked diff view`,children:(0,q.jsx)(t,{name:`Rows2`,className:`size-3.5`})}),(0,q.jsx)(h,{type:`button`,variant:`ghost`,size:`sm`,className:`h-7 w-7 rounded-md p-0 text-muted-foreground`,onClick:()=>d(`split`),"aria-label":`Split diff view`,"aria-pressed":u===`split`,title:`Split diff view`,children:(0,q.jsx)(t,{name:`Columns2`,className:`size-3.5`})})]})]})]})})}var Ls=new Set([`md`,`mdx`,`markdown`]),Rs={"--diffs-font-size":`12px`,"--diffs-line-height":`18px`,"--diffs-gap-block":`16px`},zs={"--md-content-w":`100cqi`},Bs={width:`100%`,height:`100%`,border:0};function Vs(e){let t=e.split(`.`).pop()?.toLowerCase();return t!==void 0&&Ls.has(t)}function Hs(e){return e.kind===`html`?`html`:e.kind===`ready`&&e.showMarkdownModeToggle&&Vs(e.file.name)?`markdown`:null}function Us(e){return e===`html`?`HTML view mode`:`Markdown view mode`}function Ws(e){return e===`html`?`HTML source`:`Markdown source`}function Gs({state:e,path:t,copyPath:n=null,headerMode:r=`file`,onOpenInEditor:i,statusLabel:a=null}){let o=Hs(e),[s,c]=(0,K.useState)(`preview`);return(0,K.useEffect)(()=>{c(`preview`)},[t]),(0,q.jsxs)(`div`,{className:e.kind===`iframe`||e.kind===`html`&&s===`preview`?`@container/page flex h-full min-h-0 flex-col`:`@container/page`,style:zs,children:[r===`file`?(0,q.jsx)(qs,{path:t,copyPath:n,onOpenInEditor:i,statusLabel:a,toggleKind:o,viewMode:s,onViewModeChange:c}):null,(0,q.jsx)(Ks,{state:e,path:t,viewMode:o===null?`preview`:s})]})}function Ks({state:e,path:t,viewMode:n}){return e.kind===`loading`?(0,q.jsx)($s,{}):e.kind===`empty`?(0,q.jsx)(ec,{message:`Empty file.`}):e.kind===`not-found`?(0,q.jsx)(ec,{message:`File not found.`,role:`alert`}):e.kind===`manager-status-pending`?(0,q.jsx)(ec,{message:`Manager hasn't written a status yet.`}):e.kind===`error`?(0,q.jsx)(ec,{message:e.message??`Failed to load file`,role:e.message===void 0?`alert`:void 0}):e.kind===`image`?(0,q.jsx)(Ys,{url:e.url,alt:t}):e.kind===`iframe`?(0,q.jsx)(Xs,{sandbox:e.sandbox,title:e.title,url:e.url}):e.kind===`html`?n===`preview`?(0,q.jsx)(Xs,{sandbox:e.iframe.sandbox,title:e.iframe.title,url:e.iframe.url}):(0,q.jsx)(tc,{file:e.file,lineNumber:e.lineNumber}):Vs(e.file.name)&&n===`preview`?(0,q.jsx)(Js,{file:e.file,urlTransform:e.markdownUrlTransform}):(0,q.jsx)(tc,{file:e.file,lineNumber:e.lineNumber??null})}function qs({path:e,copyPath:n,onOpenInEditor:r,statusLabel:i,toggleKind:a,viewMode:o,onViewModeChange:s}){return(0,q.jsxs)(`div`,{className:`sticky top-0 z-10`,children:[(0,q.jsxs)(`div`,{className:`flex h-9 items-center gap-2 border-b border-border bg-background px-4`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,children:[(0,q.jsx)(wr,{className:`min-w-0 font-mono text-xs font-medium leading-5 text-foreground`,title:e,children:e}),i===null?null:(0,q.jsxs)(`span`,{className:`shrink-0 text-xs leading-5 text-muted-foreground`,children:[`(`,i,`)`]}),n===null?null:(0,q.jsx)(lt,{text:n,label:`Copy file path`,className:`shrink-0 rounded-md hover:bg-state-hover hover:text-foreground`}),r?(0,q.jsx)(`button`,{type:`button`,onClick:()=>r(e),"aria-label":`Open in editor`,title:`Open in editor`,className:`inline-flex size-5 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-state-hover hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,children:(0,q.jsx)(t,{name:`ExternalLink`,"aria-hidden":!0,className:`size-3`})}):null]}),a===null?null:(0,q.jsxs)(`div`,{className:`ml-auto inline-flex shrink-0 items-center gap-0.5 rounded-md border border-border p-0.5`,role:`tablist`,"aria-label":Us(a),children:[(0,q.jsx)(h,{type:`button`,variant:`ghost`,size:`sm`,className:`h-5 rounded-sm px-2 text-xs text-muted-foreground`,onClick:()=>s(`preview`),"aria-pressed":o===`preview`,title:`Rendered preview`,children:`Preview`}),(0,q.jsx)(h,{type:`button`,variant:`ghost`,size:`sm`,className:`h-5 rounded-sm px-2 text-xs text-muted-foreground`,onClick:()=>s(`source`),"aria-pressed":o===`source`,title:Ws(a),children:`Raw`})]})]}),(0,q.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-x-0 top-full h-4 bg-gradient-to-b from-background to-transparent`})]})}function Js({file:e,urlTransform:t}){return(0,q.jsx)(`div`,{className:`px-4 pt-4`,children:(0,q.jsx)(Kt,{allowHtml:!0,content:e.contents,urlTransform:t})})}function Ys({url:e,alt:t}){return(0,q.jsx)(`div`,{className:`pt-4`,children:(0,q.jsx)(`img`,{src:e,alt:t,className:`block max-h-[34rem] w-full object-contain`})})}function Xs({sandbox:e,title:t,url:n}){let[r,i]=(0,K.useState)(`loading`);return(0,K.useEffect)(()=>{i(`loading`)},[n]),r===`error`?(0,q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:(0,q.jsx)(ec,{message:`Failed to load HTML preview.`,role:`alert`})}):(0,q.jsxs)(`div`,{className:`relative min-h-0 flex-1 overflow-hidden`,children:[r===`loading`?(0,q.jsx)(`div`,{className:`absolute inset-x-0 top-0 z-10`,children:(0,q.jsx)($s,{})}):null,(0,q.jsx)(`iframe`,{title:t,src:n,sandbox:e===null?void 0:e,style:Bs,onLoad:()=>i(`loaded`),onError:()=>i(`error`)})]})}function Zs(e){let t=e.querySelectorAll(`[data-file-preview-target-line]`);for(let e of t)e.removeAttribute(`data-file-preview-target-line`),e.removeAttribute(`data-selected-line`)}function Qs(e,t){let n=e.querySelectorAll(`[data-line="${t}"]`);for(let e of n)if(e instanceof HTMLElement&&e.dataset.lineIndex!==void 0)return e;for(let e of n)if(e instanceof HTMLElement)return e;return null}function $s(){return(0,q.jsxs)(`div`,{className:`space-y-2 px-4 pt-4`,"aria-busy":!0,children:[(0,q.jsx)(dn,{className:`h-3 w-3/4 rounded-sm`}),(0,q.jsx)(dn,{className:`h-3 w-full rounded-sm`}),(0,q.jsx)(dn,{className:`h-3 w-5/6 rounded-sm`}),(0,q.jsx)(dn,{className:`h-3 w-2/3 rounded-sm`}),(0,q.jsx)(dn,{className:`h-3 w-full rounded-sm`}),(0,q.jsx)(dn,{className:`h-3 w-3/5 rounded-sm`})]})}function ec({message:e,role:t}){return(0,q.jsx)(`p`,{role:t,className:`mx-4 mt-4 rounded-lg border border-dashed border-border bg-surface-raised px-3 py-6 text-center text-sm text-muted-foreground`,children:e})}function tc({file:e,lineNumber:t}){let n=gt(),r=(0,K.useRef)(null),i=(0,K.useMemo)(()=>({themeType:n,overflow:`scroll`,disableFileHeader:!0,enableLineSelection:t!==null}),[t,n]),a=(0,K.useMemo)(()=>t===null?null:{start:t,end:t},[t]);return(0,K.useEffect)(()=>{let e=r.current,n=null,i=null,a=0;function o(){n=window.requestAnimationFrame(s),i=window.setTimeout(s,16)}function s(){let e=r.current;if(!e||(Zs(e),Zs(e.ownerDocument.body),t===null))return;let n=Qs(e,t)??Qs(e.ownerDocument.body,t);if(n){n.setAttribute(`data-file-preview-target-line`,``),n.setAttribute(`data-selected-line`,`single`),n.scrollIntoView?.({block:`center`});return}a+=1,a<8&&o()}return s(),()=>{e&&(Zs(e),Zs(e.ownerDocument.body)),n!==null&&window.cancelAnimationFrame(n),i!==null&&window.clearTimeout(i)}},[e.contents,e.name,t]),(0,q.jsx)(`div`,{ref:r,style:Rs,"data-file-preview-line-number":t??void 0,children:(0,q.jsx)(si,{file:e,options:i,selectedLines:a})})}var nc=`allow-scripts`,rc=`none`;function ic({activePath:e,filePreview:t}){return{name:t.name??e,contents:t.content}}var ac=/^(?![a-z][a-z\d+.-]*:|\/\/|\/|#|\?)/iu;function oc(e){return e.length>0&&ac.test(e)}function sc(e,t){let n=new URL(e,window.location.origin),r=new URL(t,n);return`${r.pathname}${r.search}${r.hash}`}function cc(e){return t=>{let n=gr(t);return oc(n)?sc(e,n):n}}function lc(e,t){return k(e,t.hash)}function uc({activePath:e,copyPath:t=null,error:r,filePreview:i,htmlPreviewUrl:a=null,isLoading:o,lineNumber:s=null,onOpenInEditor:c,pendingNotFoundPath:l,statusLabel:u=null}){if(r){let i=r instanceof n&&r.status===404;return i&&e===l?(0,q.jsx)(Gs,{path:e,copyPath:t,onOpenInEditor:c,statusLabel:u,state:{kind:`manager-status-pending`}}):(0,q.jsx)(Gs,{path:e,copyPath:t,onOpenInEditor:c,statusLabel:u,state:{kind:i?`not-found`:`error`}})}return o||!i||i.path!==e?(0,q.jsx)(Gs,{path:e,copyPath:t,onOpenInEditor:c,statusLabel:u,state:{kind:`loading`}}):a!==null&&j(e)?i.kind===`text`?(0,q.jsx)(Gs,{path:e,copyPath:t,onOpenInEditor:c,statusLabel:u,state:{kind:`html`,file:ic({activePath:e,filePreview:i}),iframe:{sandbox:nc,title:e,url:a},lineNumber:s}}):(0,q.jsx)(Gs,{path:e,copyPath:t,onOpenInEditor:c,statusLabel:u,state:{kind:`iframe`,sandbox:nc,title:e,url:a}}):i.kind===`text`?i.content.length===0?(0,q.jsx)(Gs,{path:e,copyPath:t,onOpenInEditor:c,statusLabel:u,state:{kind:`empty`}}):(0,q.jsx)(Gs,{path:e,copyPath:t,onOpenInEditor:c,statusLabel:u,state:{kind:`ready`,lineNumber:s,showMarkdownModeToggle:!0,file:ic({activePath:e,filePreview:i})}}):i.kind===`image`?(0,q.jsx)(Gs,{path:e,copyPath:t,onOpenInEditor:c,statusLabel:u,state:{kind:`image`,url:i.url}}):(0,q.jsx)(Gs,{path:e,copyPath:t,onOpenInEditor:c,statusLabel:u,state:{kind:`error`,message:`Preview not available for ${i.mimeType}.`}})}function dc({activePath:e,copyPath:t,error:n,filePreview:r,isLoading:i,lineNumber:a,onOpenInEditor:o,pinnedPath:s,threadId:c}){let l=We(e),u=Re(c,{enabled:l}),d=je(c,u.data?.hash,{enabled:l&&u.data?.source===`md`}),f=(0,K.useMemo)(()=>k(c),[c]),p=(0,K.useMemo)(()=>cc(f),[f]);return l?u.isError?(0,q.jsx)(Gs,{path:e,copyPath:t,headerMode:rc,state:{kind:`error`,message:u.error instanceof Error?u.error.message:`Failed to load manager status.`}}):u.data?u.data.source===`empty`?(0,q.jsx)(Gs,{path:e,copyPath:t,headerMode:rc,state:{kind:`manager-status-pending`}}):u.data.source===`md`?d.isError?(0,q.jsx)(Gs,{path:e,copyPath:t,headerMode:rc,state:{kind:`error`,message:d.error instanceof Error?d.error.message:`Failed to load manager status.`}}):d.data?d.data.kind===`text`?(0,q.jsx)(Gs,{path:e,copyPath:t,headerMode:rc,state:{kind:`ready`,lineNumber:null,showMarkdownModeToggle:!1,markdownUrlTransform:p,file:{name:d.data.name??`STATUS.md`,contents:d.data.content}}}):(0,q.jsx)(Gs,{path:e,copyPath:t,headerMode:rc,state:{kind:`error`,message:`Preview not available for ${d.data.mimeType}.`}}):(0,q.jsx)(Gs,{path:e,copyPath:t,headerMode:rc,state:{kind:`loading`}}):(0,q.jsx)(Gs,{path:e,copyPath:t,headerMode:rc,state:{kind:`iframe`,sandbox:null,title:`Manager status`,url:lc(c,u.data)}}):(0,q.jsx)(Gs,{path:e,copyPath:t,headerMode:rc,state:{kind:`loading`}}):(0,q.jsx)(uc,{activePath:e,copyPath:t,error:n,filePreview:r,htmlPreviewUrl:ee(c,e),isLoading:i,lineNumber:a,onOpenInEditor:o,pendingNotFoundPath:s})}var fc=3,pc=`min-h-0 flex-1 overflow-x-hidden overflow-y-auto`;function mc({count:e=fc}){return(0,q.jsx)(`div`,{className:`space-y-2 pt-2`,children:Array.from({length:e}).map((e,t)=>(0,q.jsxs)(`div`,{className:`rounded-lg border border-border bg-surface-raised`,children:[(0,q.jsx)(`div`,{className:`border-b border-border bg-surface-recessed px-3 py-1.5`,children:(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1.5`,children:[(0,q.jsx)(dn,{className:`size-4 shrink-0 rounded-sm`}),(0,q.jsx)(dn,{className:`h-3 w-48 max-w-full rounded-sm`})]}),(0,q.jsx)(dn,{className:`h-3 w-14 shrink-0 rounded-sm`})]})}),(0,q.jsxs)(`div`,{className:`space-y-1.5 px-2.5 py-2`,children:[(0,q.jsx)(dn,{className:`h-3 w-full rounded-sm`}),(0,q.jsx)(dn,{className:`h-3 w-[94%] rounded-sm`}),(0,q.jsx)(dn,{className:`h-3 w-[90%] rounded-sm`}),(0,q.jsx)(dn,{className:`h-3 w-[86%] rounded-sm`})]})]},`git-diff-skeleton-${t}`))})}var hc=(0,K.memo)(function({fileKey:e,fileDiff:t,diffViewOptions:n,filePathRoot:r,onOpenFileInEditor:i,onOpenFilePreview:a,isCollapsed:o,isRendering:s,setGitDiffFileRef:c,toggleGitDiffFileCollapsed:l,onRequestFileContents:u}){return(0,q.jsx)(pn,{fileDiff:t,diffViewOptions:n,filePathRoot:r,onOpenFileInEditor:i,onOpenFilePreview:a,isCollapsed:o,onToggleCollapsed:(0,K.useCallback)(()=>{l(e)},[e,l]),stickyHeader:!0,isRendering:s,cardRef:(0,K.useCallback)(t=>{c(e,t)},[e,c]),onRequestFileContents:u})});function gc({collapsedGitDiffFileKeys:e,currentGitDiff:t,gitDiffError:n,gitDiffViewOptions:r,isParsingGitDiffFiles:i,isPreparingGitDiff:a,loadingGitDiffFileKeys:o,onOpenFileInEditor:s,onOpenFilePreview:c,onRequestFileContents:l,parsedGitDiffFileEntries:u,queuedGitDiffFileRenderKeys:d,setGitDiffFileRef:f,threadGitDiff:p,toggleGitDiffFileCollapsed:m,workspaceRootPath:h}){let g=t.trim().length>0,_=n?ct({error:n,operation:`load_diff`}):null,v=_?.body??(n?ht({error:n,fallbackMessage:`Failed to load git diff`,lifecycleOperation:`load_diff`}):null);return(0,q.jsx)(`div`,{className:S(pc,`px-4 pb-3`),children:a?(0,q.jsx)(mc,{}):n?(0,q.jsxs)(`div`,{className:`rounded-lg border border-surface-destructive-border bg-surface-destructive px-3 py-2 text-xs text-destructive`,children:[_?(0,q.jsx)(`p`,{className:`font-medium`,children:_.title}):null,(0,q.jsx)(`p`,{className:_?`mt-1 leading-5`:void 0,children:v})]}):p&&g?(0,q.jsxs)(q.Fragment,{children:[u.length>0?(0,q.jsxs)(`div`,{className:`space-y-2`,children:[u.map(({key:t,fileDiff:n})=>(0,q.jsx)(hc,{fileKey:t,fileDiff:n,diffViewOptions:r,filePathRoot:h,onOpenFileInEditor:s,onOpenFilePreview:c,isCollapsed:e.has(t),isRendering:!d.has(t)||o.has(t),setGitDiffFileRef:f,toggleGitDiffFileCollapsed:m,onRequestFileContents:l},t)),i?(0,q.jsx)(`div`,{className:`rounded-lg border border-border bg-surface-raised px-3 py-3`,children:(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsx)(dn,{className:`h-3 w-52 max-w-full rounded-sm`}),(0,q.jsx)(dn,{className:`h-3 w-5/6 rounded-sm`})]})}):null]}):(0,q.jsx)(`pre`,{className:`overflow-auto whitespace-pre rounded-lg border border-border bg-surface-raised p-3 font-mono text-xs text-foreground`,children:p.diff}),p.truncated?(0,q.jsx)(`p`,{className:`pt-2 text-xs text-muted-foreground`,children:`Diff output was truncated for display.`}):null]}):(0,q.jsx)(`p`,{className:`rounded-lg border border-dashed border-border bg-surface-raised px-3 py-6 text-center text-sm text-muted-foreground`,children:`No diff to display.`})})}function _c({metadataContent:e}){return(0,q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col px-4 pb-3`,children:e})}function vc({activePath:e,copyPath:t=null,environmentId:n,lineNumber:r,onOpenInEditor:i,source:a,statusLabel:o,threadId:s}){let{data:c,error:l,isLoading:u}=Ji(n,e,a);return(0,q.jsx)(uc,{activePath:e,copyPath:t,error:l,filePreview:c,htmlPreviewUrl:a?.kind===`working-tree`?ae(s,e):null,isLoading:u,lineNumber:r,onOpenInEditor:i,statusLabel:o})}function yc({activePath:e,environmentId:t,lineNumber:n,onOpenInEditor:r,threadId:i}){let{data:a,error:o,isLoading:s}=ke(i,t,e);return(0,q.jsx)(uc,{activePath:e,error:o,filePreview:a,htmlPreviewUrl:R(i,e),isLoading:s,lineNumber:n,onOpenInEditor:r,statusLabel:null})}function bc({activePath:e,copyPath:t=null,isManagerThread:n,onOpenInEditor:r,pinnedPath:i,threadId:a}){let o=We(e),{data:s,error:c,isLoading:l}=Ie(a,e,{enabled:n&&!o});return(0,q.jsx)(dc,{activePath:e,copyPath:t,error:c,filePreview:s,isLoading:l,onOpenInEditor:r,pinnedPath:i,threadId:a})}var xc=24,Sc=70,Cc=`duration-[220ms] ease-[cubic-bezier(0.32,0.72,0,1)]`,wc=`min-h-0 flex-1 overflow-x-hidden overflow-y-auto`,Tc={pointerEvents:`auto`};function Ec({activePanel:e,canUseGitUi:n,defaultMergeBaseBranch:r,environmentId:i,metadataContent:a,fileTabs:o,fileTabContent:s,isOpen:c,showGitDiffTab:l=!0,onPanelFocus:u,onPanelChange:d,onCollapse:f,onClose:p,onOpenNewTab:m,workspaceRootPath:g,onOpenFileInEditor:_,onOpenFilePreview:v,renderAsDrawer:y}){let b=o?.find(e=>e.isActive)!==void 0,x=y?`X`:`PanelRight`,{gitDiffDisplayMode:C,handleGitDiffDisplayModeChange:w,handleSecondaryPanelDragging:T,handleSecondaryPanelResize:E,persistedWidthPercent:D,secondaryPanelRef:O,secondaryResizablePanelRef:k}=Ns({isSecondaryPanelOpen:c}),A=!n&&e===`git-diff`?`thread-info`:e,j=A===`git-diff`,{currentGitDiff:M,gitDiffError:N,gitDiffSelectOptions:P,gitDiffSelectValue:ee,gitDiffStats:F,hasParsedGitDiffFiles:te,isGitDiffLoading:I,isParsingGitDiffFiles:L,isPreparingGitDiff:ne,onGitDiffSelectionChange:re,onRequestFileContents:ie,parsedGitDiffFileEntries:R,queuedGitDiffFileRenderKeys:z,setGitDiffFileRef:B,threadGitDiff:ae,toggleAllGitDiffFilesCollapsed:oe,toggleGitDiffFileCollapsed:V}=Es({environmentId:i,isDiffPanelActive:j,defaultMergeBaseBranch:r}),se=$e(ja),ce=$e(Ma),le=$e(ka),[ue]=(0,K.useState)(Yt),de=Zt(ue),fe=(0,K.useMemo)(()=>te&&R.every(({key:e})=>se.has(e)),[se,te,R]),pe=gt(),me=(0,K.useMemo)(()=>({...Bt,diffStyle:C,themeType:pe}),[C,pe]),he=(0,q.jsxs)(`aside`,{ref:O,"aria-hidden":!c,onFocusCapture:e=>{let t=e.relatedTarget;t instanceof Node&&e.currentTarget.contains(t)||u()},className:S(`flex h-full min-h-0 min-w-0 flex-1 flex-col overflow-hidden bg-background`,le&&`[&_iframe]:pointer-events-none`,!y&&[`transition-[transform,opacity,background-color]`,Cc,c?`opacity-100`:`pointer-events-none translate-x-[8%] opacity-0`]),children:[(0,q.jsxs)(`div`,{className:`bg-background`,children:[(0,q.jsxs)(`div`,{"data-testid":`thread-secondary-panel-top-chrome`,className:S(`flex h-12 min-w-0 items-center justify-between gap-2 px-4`,de&&`select-none [app-region:drag] [-webkit-app-region:drag]`),children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1`,role:`tablist`,"aria-label":`Secondary panel views`,children:[(0,q.jsx)(h,{type:`button`,variant:`ghost`,size:`sm`,className:S(`h-7 w-7 shrink-0 rounded-md p-0`,de&&Zn),onClick:()=>d(`thread-info`),"aria-label":`Show thread info panel`,"aria-pressed":A===`thread-info`&&!b,title:`Info`,children:(0,q.jsx)(t,{name:`Info`})}),l===!1?null:(0,q.jsx)(h,{type:`button`,variant:`ghost`,size:`sm`,className:S(`h-7 w-7 shrink-0 rounded-md p-0`,de&&Zn),onClick:()=>d(`git-diff`),"aria-label":`Show diff panel`,"aria-pressed":j&&!b,title:`Diff`,children:(0,q.jsx)(t,{name:`FileDiff`})}),o&&o.length>0?(0,q.jsx)(`div`,{className:`flex min-w-0 items-center gap-1 overflow-x-auto`,children:o.map(e=>(0,q.jsx)(`div`,{className:S(`shrink-0`,de&&Zn),children:(0,q.jsx)(Oc,{tab:e})},e.id))}):null,(0,q.jsx)(Dc,{onOpenNewTab:m,usesDesktopChrome:de})]}),(0,q.jsx)(h,{type:`button`,variant:`ghost`,size:`icon`,className:S(`h-7 w-7 shrink-0 rounded-md p-0`,de&&Zn),onClick:p,"aria-label":y?`Close secondary panel`:`Hide secondary panel`,title:y?`Close secondary panel`:`Hide secondary panel`,children:(0,q.jsx)(t,{name:x})})]}),j&&!b?(0,q.jsx)(Is,{selectionValue:ee,selectionOptions:P,onSelectionChange:re,isSelectorDisabled:I||ae===void 0,stats:F,isParsing:L,areAllFilesCollapsed:fe,isCollapseAllDisabled:!te||I,onToggleAllCollapsed:oe,displayMode:C,onDisplayModeChange:w}):null]}),(0,q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden bg-background`,children:b?(0,q.jsx)(`div`,{className:S(wc,`pb-3`),children:s??(0,q.jsx)(`p`,{className:`mx-4 rounded-lg border border-dashed border-border bg-surface-raised px-3 py-6 text-center text-sm text-muted-foreground`,children:`No file preview content provided.`})}):j?(0,q.jsx)(gc,{collapsedGitDiffFileKeys:se,currentGitDiff:M,gitDiffError:N instanceof Error?N:N?Error(`Failed to load git diff`):null,gitDiffViewOptions:me,isParsingGitDiffFiles:L,isPreparingGitDiff:ne,loadingGitDiffFileKeys:ce,onOpenFileInEditor:_,onOpenFilePreview:v,onRequestFileContents:ie,parsedGitDiffFileEntries:R,queuedGitDiffFileRenderKeys:z,setGitDiffFileRef:B,threadGitDiff:ae,toggleGitDiffFileCollapsed:V,workspaceRootPath:g}):(0,q.jsx)(_c,{metadataContent:a})})]});return y?he:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(kc,{isOpen:c,onDragging:T}),(0,q.jsx)(us.Panel,{ref:k,id:`thread-detail-secondary-panel`,collapsible:!0,collapsedSize:0,defaultSize:c?D:0,minSize:xc,maxSize:Sc,onCollapse:f,onResize:E,order:2,style:Tc,className:S(`min-w-0 overflow-hidden transition-[flex-grow,flex-basis,opacity]`,Cc,c?`opacity-100`:`opacity-0`),children:he})]})}function Dc({onOpenNewTab:e,usesDesktopChrome:n}){return(0,q.jsx)(h,{type:`button`,variant:`ghost`,size:`sm`,className:S(`h-7 w-7 shrink-0 rounded-md p-0`,n&&Zn),onClick:e,"aria-label":`Open a new tab`,title:`New tab`,children:(0,q.jsx)(t,{name:`Plus`})})}function Oc({tab:e}){let t=e.statusLabel===null?e.filename:`${e.filename} (${e.statusLabel})`;return(0,q.jsx)(Xa,{label:e.filename,secondaryLabel:e.statusLabel===null?null:`(${e.statusLabel})`,title:t,isActive:e.isActive,onSelect:e.onSelect,labelMaxWidthClass:`max-w-[160px]`,closeAction:e.isPinned?null:{onClose:e.onClose,closeLabel:`Close ${e.filename}`,closeTooltip:`Close tab`}})}function kc({isOpen:e,onDragging:t}){let n=$e(ka);return(0,q.jsx)(us.PanelResizeHandle,{id:`thread-detail-secondary-panel-handle`,disabled:!e,onDragging:t,className:S(`group relative shrink-0 cursor-col-resize overflow-visible bg-transparent transition-[width,opacity,background-color] before:absolute before:inset-y-0 before:-left-1.5 before:-right-1.5 before:content-['']`,Cc,e?`w-px opacity-100`:`pointer-events-none w-0 opacity-0`,n&&`bg-accent/20`),"aria-label":`Resize thread and secondary panels`,children:(0,q.jsx)(`span`,{className:S(`pointer-events-none absolute inset-y-0 left-1/2 w-px -translate-x-1/2 bg-border transition-colors`,n?`bg-accent-foreground/50`:`group-hover:bg-accent-foreground/35`)})})}var Ac=`file-tree-container`,jc=`data-file-tree-style`,Mc=`data-file-tree-unsafe-css`,Nc=`data-file-tree-scrollbar-measure`,Pc=`data-file-tree-scrollbar-gutter-measured`,Fc=`--trees-scrollbar-gutter-measured`,Ic=`header`,Lc=`context-menu`,Rc=`context-menu-trigger`,zc=typeof window>`u`?K.useEffect:K.useLayoutEffect;function Bc(e,t,n){let r=e==null?null:(0,q.jsx)(`div`,{slot:Ic,children:e}),i=t!=null&&n!=null?(0,q.jsx)(`div`,{slot:Lc,children:t(n.item,n.context)}):null;return r==null&&i==null?null:(0,q.jsxs)(q.Fragment,{children:[r,i]})}function Vc(e,t){return typeof window>`u`&&t!=null?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`template`,{shadowrootmode:`open`,dangerouslySetInnerHTML:{__html:t.shadowHtml}}),e]}):(0,q.jsx)(q.Fragment,{children:e})}function Hc(e){let t=e.shadowRoot;return t?.querySelector(`[data-file-tree-id]`)instanceof HTMLElement||t?.querySelector(`[data-file-tree-id]`)instanceof SVGElement?!0:e.querySelector(`template[shadowrootmode="open"]`)instanceof HTMLTemplateElement}function Uc(e,t,n,r,i){let a={...e??{}};if(t!=null&&delete a.header,n){let t=e?.contextMenu,n=t?.onClose,o=t?.onOpen;a.contextMenu={...t??{},enabled:!0,onClose:()=>{n?.(),r()},onOpen:(e,t)=>{i(e,t),o?.(e,t)}},delete a.contextMenu.render}return a.header!=null||a.contextMenu!=null?a:void 0}function Wc({header:e,id:t,model:n,preloadedData:r,renderContextMenu:i,...a}){let[o,s]=(0,K.useState)(null),[c,l]=(0,K.useState)(null),u=(0,K.useRef)(n.getComposition()),d=(0,K.useRef)(n);d.current!==n&&(d.current=n,u.current=n.getComposition());let f=i!=null,p=(0,K.useCallback)(()=>{s(null)},[]),m=(0,K.useCallback)((e,t)=>{s({context:t,item:e})},[]),h=u.current,g=(0,K.useMemo)(()=>Uc(h,e,f,p,m),[h,p,m,f,e]),_=(0,K.useCallback)(e=>{l(e)},[]);(0,K.useEffect)(()=>{f||s(null)},[f]),zc(()=>{n.setComposition(g)},[g,n]),zc(()=>{if(c!=null)return r!=null&&Hc(c)?n.hydrate({fileTreeContainer:c}):n.render({fileTreeContainer:c}),()=>{n.unmount(),n.setComposition(h)}},[h,c,n,r]);let v=Vc(Bc(e,i,o),r),y=t??r?.id,b={"--trees-item-height":`${String(n.getItemHeight())}px`,"--trees-density-override":n.getDensityFactor(),...a.style};return(0,q.jsx)(Ac,{...a,id:y,ref:_,style:b,suppressHydrationWarning:r!=null,children:v})}var Gc=`<svg data-icon-sprite aria-hidden="true" width="0" height="0">
|
|
4
|
+
<symbol id="file-tree-icon-chevron" viewBox="0 0 16 16">
|
|
5
|
+
<path d="M3.47 5.47a.75.75 0 0 1 1.06 0L8 8.94l3.47-3.47a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 0-1.06" fill="currentcolor"/>
|
|
6
|
+
</symbol>
|
|
7
|
+
<symbol id="file-tree-icon-dot" viewBox="0 0 6 6">
|
|
8
|
+
<circle cx="3" cy="3" r="3" />
|
|
9
|
+
</symbol>
|
|
10
|
+
<symbol id="file-tree-icon-file" viewBox="0 0 16 16">
|
|
11
|
+
<path fill="currentColor" d="M8 1v3a3 3 0 0 0 3 3h3v5.5a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 12.5v-9A2.5 2.5 0 0 1 4.5 1z" class="bg" opacity=".5"/>
|
|
12
|
+
<path fill="currentColor" d="M9.5 1a.5.5 0 0 1 .354.146l4 4A.5.5 0 0 1 14 5.5V6h-3a2 2 0 0 1-2-2V1z" class="fg"/>
|
|
13
|
+
</symbol>
|
|
14
|
+
<symbol id="file-tree-icon-lock" viewBox="0 0 16 16">
|
|
15
|
+
<path fill="currentcolor" d="M4 5.336V4a4 4 0 1 1 8 0v1.336c1.586.54 2 1.843 2 4.664v1c0 4.118-.883 5-5 5H7c-4.117 0-5-.883-5-5v-1c0-2.821.414-4.124 2-4.664M5.5 4v1.054Q6.166 4.998 7 5h2q.834-.002 1.5.054V4a2.5 2.5 0 0 0-5 0m-2 6v1c0 .995.055 1.692.167 2.193.107.483.246.686.35.79s.307.243.79.35c.5.112 1.198.167 2.193.167h2c.995 0 1.692-.055 2.193-.166.483-.108.686-.247.79-.35.104-.105.243-.308.35-.791.112-.5.167-1.198.167-2.193v-1c0-.995-.055-1.692-.166-2.193-.108-.483-.247-.686-.35-.79-.105-.104-.308-.243-.791-.35C10.693 6.555 9.995 6.5 9 6.5H7c-.995 0-1.692.055-2.193.167-.483.107-.686.246-.79.35s-.243.307-.35.79C3.555 8.307 3.5 9.005 3.5 10" />
|
|
16
|
+
</symbol>
|
|
17
|
+
<symbol id="file-tree-icon-ellipsis" viewBox="0 0 16 16">
|
|
18
|
+
<path d="M5 8.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0M9.5 8.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0M14 8.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0" />
|
|
19
|
+
</symbol>
|
|
20
|
+
</svg>`,Kc=`<symbol id="file-tree-builtin-astro" viewBox="0 0 16 16">
|
|
21
|
+
<path fill="currentColor" d="M6.08 13.92c-.63-.57-.81-1.79-.55-2.67.45.56 1.08.73 1.73.83 1 .15 1.99.1 2.92-.37l.32-.19q.13.38.08.78a2.1 2.1 0 0 1-.9 1.5q-.3.24-.61.43c-.64.44-.81.95-.57 1.69l.02.08a1.7 1.7 0 0 1-.74-.64 2 2 0 0 1-.3-.98q0-.27-.02-.52-.07-.61-.61-.62a.7.7 0 0 0-.75.6z" class="bg" opacity=".6"/>
|
|
22
|
+
<path fill="currentColor" d="M2.5 11.1s1.86-.9 3.72-.9l1.4-4.39c.05-.21.2-.36.38-.36s.33.15.38.36l1.4 4.38c2.2 0 3.72.92 3.72.92l-3.16-8.69q-.13-.4-.45-.42H6.11q-.3.02-.45.42z" class="fg"/>
|
|
23
|
+
</symbol>`,qc=`<symbol id="file-tree-builtin-babel" viewBox="0 0 16 16">
|
|
24
|
+
<path fill="currentColor" fill-rule="evenodd" d="M9.49.5q1.92.05 2.66.54 1.27.6 1.35 1.52v.23a4 4 0 0 1-.53 1.9l-1.38 1.24q-.74.38-.72.63c.77.82 1.33 1.29.85 2.42q-.47 1.1-2.04 2.28c-.5.32-1.88 1.35-2.96 1.86-1.64.77-3.1 1.4-4.65 1.89-.51.16-1.5.16-1.5.16L.5 15A76 76 0 0 0 5.76 3.49q-.1-.08-.1-.2.1 0 .32-.35l-.03-.09q-1.17.39-2.38 1.3l-.13.03q0-.1-.21-.16-.46.31-.82.7l-.13-.19.16-.06-.03-.16-.34.29L2 4.5q.36-.48.72-.54l.04-.1V3.8q.16 0 .15-.06l.13-.06a6 6 0 0 0 1.13-.9v-.03H4.1l-.12.07q0-.1-.1-.1l-.15.07-.04-.1q.93-.52 1.63-1.05Q7.89.65 9.5.5M8.46 7.83l-.32.04c-1.31.54-2.31.82-2.91.88a71 71 0 0 0-2.2 4.54h.07q.58-.04 3.04-1.42.13 0 1.66-1.05L9.18 9.7v.03q.45-.2.81-1.3v-.2q-.5-.46-1.53-.4m.28-5.75c-.5.1-.75.19-.72.38l-1.16 2.6q-.17.1-.34.95-.3.48-.25.77v.1l.22.05A15 15 0 0 1 8.86 6c1.1-.71 2.12-1.38 2.8-2.54q.24-.33.21-.54-.02-.33-.4-.54c-.54 0-1.07-.34-1.63-.28l-.94-.03z" clip-rule="evenodd"/>
|
|
25
|
+
</symbol>`,Jc=`<symbol id="file-tree-builtin-bash" viewBox="0 0 16 16">
|
|
26
|
+
<path fill="currentColor" d="M8 1C2.24 1 1 2.24 1 8s1.24 7 7 7 7-1.24 7-7-1.24-7-7-7" class="bg" opacity=".2"/>
|
|
27
|
+
<path fill="currentColor" d="M11.5 11a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1zM7 6.75C7 6.42 6.64 6 6 6s-1 .42-1 .75q-.01.25.22.41.26.21.89.35.74.14 1.28.53c.37.29.61.7.61 1.21 0 .87-.68 1.5-1.5 1.7v.55a.5.5 0 0 1-1 0v-.56c-.82-.18-1.5-.82-1.5-1.69a.5.5 0 0 1 1 0c0 .33.36.75 1 .75s1-.42 1-.75q.01-.25-.22-.41a2 2 0 0 0-.89-.35q-.74-.14-1.28-.53A1.5 1.5 0 0 1 4 6.75c0-.87.68-1.5 1.5-1.7V4.5a.5.5 0 0 1 1 0v.56c.82.18 1.5.82 1.5 1.69a.5.5 0 0 1-1 0" class="fg-stroke"/>
|
|
28
|
+
</symbol>`,Yc=`<symbol id="file-tree-builtin-biome" viewBox="0 0 16 16">
|
|
29
|
+
<path fill="currentColor" d="M8 2 4.88 7.35a7 7 0 0 1 3.7-.13l1.04.25-.99 4.16-1.05-.25a2.7 2.7 0 0 0-3.07 1.45l-.98-.47a4 4 0 0 1 1.07-1.31 3.8 3.8 0 0 1 3.23-.71l.5-2.08a6 6 0 0 0-5.07 1.12A5.9 5.9 0 0 0 1 14h14z"/>
|
|
30
|
+
</symbol>`,Xc=`<symbol id="file-tree-builtin-bootstrap" viewBox="0 0 16 16">
|
|
31
|
+
<path fill="currentColor" fill-rule="evenodd" d="M11.72 1.5A2.5 2.5 0 0 1 14.2 4q.02 1.08.3 2.09c.22.73.56 1.24 1.08 1.45.22.08.4.27.4.5s-.18.43-.4.51q-.76.34-1.08 1.45c-.2.65-.27 1.32-.3 2a2.5 2.5 0 0 1-2.48 2.5H4.25A2.6 2.6 0 0 1 1.7 12c-.04-.85-.1-1.68-.22-2.04C1.26 9.23.92 8.7.4 8.5.18 8.42 0 8.23 0 8s.18-.42.4-.5q.77-.35 1.09-1.46c.1-.36.17-1.19.2-2.04a2.6 2.6 0 0 1 2.56-2.5z" class="bg" clip-rule="evenodd" opacity=".2"/>
|
|
32
|
+
<path fill="currentColor" fill-rule="evenodd" d="M8.47 4.54c1.23 0 2.04.68 2.04 1.73 0 .73-.55 1.39-1.24 1.5v.04c.94.1 1.58.77 1.58 1.7 0 1.2-.9 1.95-2.37 1.95H5.97a.3.3 0 0 1-.2-.08.3.3 0 0 1-.08-.2V4.82a.3.3 0 0 1 .08-.2.3.3 0 0 1 .2-.08zm-1.7 6.04h1.49q1.47-.01 1.49-1.15Q9.74 8.31 8.2 8.3H6.77zm0-5.16v2.06h1.21c.93 0 1.45-.38 1.45-1.06 0-.65-.44-1-1.22-1z" class="fg" clip-rule="evenodd"/>
|
|
33
|
+
</symbol>`,Zc=`<symbol id="file-tree-builtin-browserslist" viewBox="0 0 16 16">
|
|
34
|
+
<path fill="currentColor" d="M8.88 6.96c0 3.82 3.72 4.7 5.7 3.74-.23.9-1.04 1.67-2.35 1.93-.02.4.42 1.28.82 1.63-.9.35-1.94-.12-2.51-.48a5 5 0 0 0-.32 1.87c-.68 0-1.57-1-1.8-1.37-.3.18-.85 1.15-.96 1.72a2.4 2.4 0 0 1-.81-.86 2.4 2.4 0 0 1-.3-1.15c-.38.27-1.48.95-1.99 1.18-.25-.58-.15-1.3 0-2.06-.21.12-1.8.27-2.43.12.32-.36.75-1.19.94-1.57A4.5 4.5 0 0 1 .44 10.6c.48-.22.97-.53 1.49-1.06C1.26 9.17.24 8.64 0 7.7a6 6 0 0 0 1.79-.32C1.28 7.08.44 6.15.6 5.01c.42.21 1.3.37 1.73.3a3.4 3.4 0 0 1-.25-2.75 5 5 0 0 0 1.48 1c-.08-.8.3-2.31.8-2.71.2.46.73 1.21 1.08 1.4.09-.61.87-2.06 1.57-2.25 0 .5.27 1.4.5 1.67.51-.54 2.25-1.44 3.64-1.13-.43.45-.75.61-.86.98 1.05 0 2.78.34 4.27 1.93-2.34-.89-5.69.56-5.69 3.5" class="bg" opacity=".5"/>
|
|
35
|
+
<path fill="currentColor" d="M11.21 3.59a4.1 4.1 0 0 0 2.47 2.89c.24-.22.61-.38.95-.19.76.44.2 1.26-.34 1.66l-.07.06a13 13 0 0 1-4.49 1.61l-.3-.43a10.5 10.5 0 0 0 4.13-1.31 1 1 0 0 0 .23-.25.5.5 0 0 0-.21-.69l-.15-.06a4.5 4.5 0 0 1-1.77-1.31 4.5 4.5 0 0 1-.88-1.77q.2-.12.43-.21"/>
|
|
36
|
+
<path fill="currentColor" d="M10.36 5.18a.4.4 0 0 0-.03.38c.09.2.3.3.46.23s.24-.3.15-.5l-.01-.02q.23.13.34.39a.83.83 0 0 1-.43 1.08.8.8 0 0 1-1.08-.43.83.83 0 0 1 .6-1.13"/>
|
|
37
|
+
</symbol>`,Qc=`<symbol id="file-tree-builtin-bun" viewBox="0 0 16 16">
|
|
38
|
+
<path fill="currentColor" d="M8 14c3.87 0 7-2.46 7-5.49 0-1.88-1.2-3.53-3.04-4.52q-1.1-.61-1.84-1.07C9.2 2.35 8.64 2 8 2s-1.36.45-2.31 1.03A29 29 0 0 1 4.04 4C2.2 4.98 1 6.63 1 8.51 1 11.54 4.13 14 8 14M7.18 3.88q.3-.66.3-1.37c0-.08.11-.1.13-.01.38 1.57-.53 2.35-1.2 2.61-.08.03-.12-.07-.06-.12a3 3 0 0 0 .83-1.12m1.2-.05a3 3 0 0 0-.45-1.3V2.5c-.04-.07.05-.15.1-.1 1.15 1.2.77 2.3.33 2.87-.05.05-.13 0-.11-.08q.21-.67.13-1.37m1.04-.32a3 3 0 0 0-.94-1.02v-.01c-.06-.05-.01-.16.07-.12 1.51.61 1.61 1.8 1.43 2.5l-.03.03a.07.07 0 0 1-.1-.06 3 3 0 0 0-.43-1.32m-2.97.32c-.36.3-.74.43-1.2.56q-.11 0-.1-.1a3.5 3.5 0 0 0 1.76-1.57s.09-.07.1.04c0 .18-.2.76-.56 1.07m2.89 6.36q-.13.52-.55.88a1.3 1.3 0 0 1-.75.35 1.3 1.3 0 0 1-.77-.35 1.7 1.7 0 0 1-.54-.88.13.13 0 0 1 .15-.15h2.31a.14.14 0 0 1 .15.15M6.15 8.95a1.1 1.1 0 0 1-1.39-.14A1.1 1.1 0 0 1 5.12 7a1.1 1.1 0 0 1 1.2.25 1.1 1.1 0 0 1-.17 1.69m4.96 0a1.1 1.1 0 0 1-1.4-.14 1.1 1.1 0 0 1 .37-1.8 1.1 1.1 0 0 1 1.2.25 1.1 1.1 0 0 1 .24 1.2 1 1 0 0 1-.41.5"/>
|
|
39
|
+
</symbol>`,$c=`<symbol id="file-tree-builtin-claude" viewBox="0 0 16 16">
|
|
40
|
+
<path fill="currentColor" d="M3.75 10.31 6.5 8.77l.04-.14-.04-.07h-.14l-.46-.03-1.57-.04-1.38-.07-1.33-.07-.34-.07L1 7.86l.03-.21.28-.18.4.03.89.07 1.33.08.97.06 1.43.16h.22l.03-.1-.07-.05-.06-.06-1.39-.92-1.48-.98-.79-.57-.42-.28-.2-.28-.1-.6.39-.41.52.04.12.03.52.4 1.12.86L6.2 6.04l.2.17.09-.06.01-.04-.1-.15-.76-1.46-.85-1.46-.37-.6-.1-.36a1 1 0 0 1-.06-.42l.42-.59.25-.07.6.08.22.2.36.84.58 1.3.9 1.77.29.53.14.47.04.14h.1v-.07l.07-1 .14-1.22.14-1.57.04-.45.23-.53.42-.28.36.15.28.41-.04.25-.16 1.08-.36 1.7-.21 1.14h.12l.14-.15.58-.76.97-1.2.42-.5.5-.51.32-.25h.6l.44.66-.2.68-.61.79-.52.65-.74 1-.45.8.04.05h.1l1.68-.36.9-.16 1.06-.18.5.23.05.22-.2.48-1.15.28-1.34.28-2 .46-.04.01.03.04.9.09.4.03h.94l1.77.14.46.28.27.37-.04.28-.72.37-.95-.23-2.24-.53-.76-.18h-.11v.06l.64.63L12 10.86l1.48 1.35.07.34-.18.28-.2-.03-1.29-.98-.5-.42-1.12-.95h-.07v.1l.25.38 1.37 2.05.07.63-.1.2-.36.14-.38-.08-.8-1.12-.85-1.26-.66-1.15-.07.05-.4 4.23-.19.21-.42.17-.35-.28-.2-.42.2-.87.23-1.12.18-.9.17-1.1.1-.36v-.03h-.1l-.84 1.16-1.27 1.72-1 1.07-.24.1-.42-.22.04-.39.22-.32 1.4-1.8.84-1.1.57-.64-.02-.07h-.04l-3.7 2.4-.66.09-.28-.28.03-.42.14-.14 1.12-.77z"/>
|
|
41
|
+
</symbol>`,el=`<symbol id="file-tree-builtin-css" viewBox="0 0 16 16">
|
|
42
|
+
<path fill="currentColor" d="M8 15c-5.76 0-7-1.24-7-7V2a1 1 0 0 1 1-1h6c5.77 0 7 1.24 7 7s-1.24 7-7 7" class="vector" opacity=".2"/>
|
|
43
|
+
<path fill="currentColor" d="M10.1 9.19h.73c.03.49.22.6 1 .6.76 0 .93-.12.93-.68 0-.52-.17-.67-.94-.85-1.38-.3-1.68-.56-1.68-1.47 0-1.05.3-1.29 1.67-1.29 1.29 0 1.57.2 1.6 1.13h-.74c-.01-.34-.17-.42-.85-.42-.77 0-.94.1-.94.58 0 .42.17.55.96.73 1.36.3 1.66.58 1.66 1.59 0 1.14-.31 1.39-1.73 1.39-1.39 0-1.69-.24-1.67-1.31m-3.9 0h.74c.03.49.21.6.99.6.76 0 .93-.12.93-.68 0-.52-.17-.67-.93-.85-1.39-.3-1.69-.56-1.69-1.47 0-1.05.3-1.29 1.67-1.29 1.3 0 1.58.2 1.6 1.13h-.73c-.02-.34-.18-.42-.85-.42-.78 0-.95.1-.95.58 0 .42.17.55.96.73 1.37.3 1.67.58 1.67 1.59 0 1.14-.32 1.39-1.74 1.39-1.38 0-1.68-.24-1.66-1.31m-1.22 0h.75c-.09 1.07-.37 1.31-1.56 1.31-1.37 0-1.68-.45-1.68-2.5 0-1.96.36-2.5 1.68-2.5 1.16 0 1.44.25 1.52 1.35h-.76c-.08-.52-.22-.64-.76-.64-.74 0-.9.33-.9 1.78 0 1.47.16 1.8.9 1.8.58 0 .74-.11.8-.6"/>
|
|
44
|
+
</symbol>`,tl=`<symbol id="file-tree-builtin-database" viewBox="0 0 16 16">
|
|
45
|
+
<path fill="currentColor" d="M14.953 9.733a12.4 12.4 0 0 1-.244 1.936c-.207.933-.532 1.58-.996 2.044s-1.11.789-2.044.996C10.73 14.918 9.533 15 8 15s-2.73-.082-3.669-.291c-.933-.207-1.58-.532-2.044-.996s-.789-1.11-.996-2.044c-.122-.547-.2-1.182-.244-1.92q.23.364.532.667c.64.639 1.482 1.031 2.533 1.265 1.046.232 2.33.315 3.884.315 1.555 0 2.838-.083 3.884-.315 1.051-.234 1.893-.626 2.532-1.265a4 4 0 0 0 .541-.683"/>
|
|
46
|
+
<path fill="currentColor" d="M14.93 5.924c-.046.663-.118 1.24-.23 1.743-.207.932-.532 1.579-.995 2.042s-1.11.789-2.042.996c-.938.209-2.135.291-3.667.291-1.531 0-2.729-.082-3.667-.29-.932-.208-1.579-.534-2.042-.997s-.789-1.11-.996-2.042a12 12 0 0 1-.227-1.683l.016-.188a4 4 0 0 0 .5.62c.638.639 1.48 1.031 2.532 1.265 1.046.232 2.33.315 3.884.315 1.555 0 2.838-.083 3.884-.315 1.051-.234 1.893-.626 2.532-1.265.192-.192.357-.404.506-.633z"/>
|
|
47
|
+
<path fill="currentColor" d="M8 1c1.533 0 2.73.082 3.669.291.933.207 1.58.533 2.044.996.403.404.904.944.91 1.695.004.764-.509 1.318-.918 1.727-.463.463-1.11.789-2.042.996-.938.209-2.135.291-3.667.291-1.531 0-2.729-.082-3.667-.29-.932-.208-1.579-.534-2.042-.997-.406-.406-.915-.953-.915-1.71 0-.758.509-1.305.915-1.712.464-.463 1.11-.789 2.044-.996C5.27 1.082 6.467 1 8 1"/>
|
|
48
|
+
</symbol>`,nl=`<symbol id="file-tree-builtin-default" viewBox="0 0 16 16">
|
|
49
|
+
<path fill="currentColor" d="M8 1v3a3 3 0 0 0 3 3h3v5.5a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 12.5v-9A2.5 2.5 0 0 1 4.5 1z" class="bg" opacity=".4"/>
|
|
50
|
+
<path fill="currentColor" d="M9.5 1a.5.5 0 0 1 .354.146l4 4A.5.5 0 0 1 14 5.5V6h-3a2 2 0 0 1-2-2V1z" class="fg"/>
|
|
51
|
+
</symbol>`,rl=`<symbol id="file-tree-builtin-docker" viewBox="0 0 16 16">
|
|
52
|
+
<path fill="currentColor" d="M15.85 6.54c-.05-.04-.45-.36-1.31-.36q-.34 0-.68.06a2.7 2.7 0 0 0-1.14-1.79l-.23-.14-.15.23a3 3 0 0 0-.4 1q-.24 1.01.26 1.84c-.4.24-1.03.3-1.17.3H.5a.5.5 0 0 0-.5.52q-.01 1.46.46 2.83.55 1.5 1.6 2.18c.79.5 2.08.79 3.54.79q.96 0 1.94-.18a8 8 0 0 0 2.55-.97 7 7 0 0 0 1.73-1.5 10 10 0 0 0 1.7-3.06h.15a2.4 2.4 0 0 0 1.8-.7 2 2 0 0 0 .47-.74l.06-.2z"/>
|
|
53
|
+
<path fill="currentColor" d="M1.48 7.36h1.4a.14.14 0 0 0 .14-.13V5.91q-.01-.12-.13-.14H1.48a.13.13 0 0 0-.13.14v1.32q.02.13.13.13m1.94 0h1.41a.14.14 0 0 0 .13-.13V5.91q-.01-.12-.13-.14h-1.4a.13.13 0 0 0-.13.14v1.32q0 .13.12.13m1.98 0h1.4q.13 0 .14-.13V5.91a.13.13 0 0 0-.14-.14H5.4q-.1.01-.12.14v1.32q0 .13.12.13m1.95 0h1.42q.1 0 .12-.13V5.91q0-.12-.12-.14H7.35q-.1.01-.12.14v1.32q.01.13.12.13M3.42 5.5h1.41c.07 0 .13-.08.13-.15V4.03a.13.13 0 0 0-.13-.14h-1.4q-.12 0-.13.14v1.31q0 .13.12.15m1.98 0h1.4c.08 0 .14-.08.14-.15V4.03q0-.13-.14-.14H5.4q-.1 0-.12.14v1.31q0 .13.12.15m1.95 0h1.42c.06 0 .12-.08.12-.15V4.03q-.01-.13-.12-.14H7.35q-.1 0-.12.14v1.31q.01.13.12.15m0-1.9h1.42q.1-.02.12-.14v-1.3Q8.88 2 8.77 2H7.35q-.1 0-.12.14v1.3q.01.13.12.14m1.97 3.78h1.4a.13.13 0 0 0 .14-.13V5.91q-.01-.12-.13-.14H9.32q-.1.01-.12.14v1.32q.01.13.12.13" opacity=".5"/>
|
|
54
|
+
</symbol>`,il=`<symbol id="file-tree-builtin-eslint" viewBox="0 0 16 16">
|
|
55
|
+
<path fill="currentColor" d="M11.16 6.1 8.12 4.35a.3.3 0 0 0-.24 0L4.84 6.1a.3.3 0 0 0-.12.2v3.5q0 .14.12.22l3.04 1.74q.12.08.24 0l3.04-1.74a.2.2 0 0 0 .13-.22V6.3a.3.3 0 0 0-.13-.2" opacity=".5"/>
|
|
56
|
+
<path fill="currentColor" d="m.1 7.69 3.63-6.3A.8.8 0 0 1 4.37 1h7.26c.26 0 .5.17.64.4l3.63 6.27a.8.8 0 0 1 0 .75l-3.63 6.24a.7.7 0 0 1-.64.34H4.37a.7.7 0 0 1-.64-.34L.1 8.41a.7.7 0 0 1 0-.72m3 3.02q.01.15.14.23l4.63 2.66q.13.06.26 0l4.63-2.66a.3.3 0 0 0 .14-.23V5.4a.3.3 0 0 0-.14-.23L8.13 2.52a.3.3 0 0 0-.26 0L3.24 5.17a.3.3 0 0 0-.14.23z"/>
|
|
57
|
+
</symbol>`,al=`<symbol id="file-tree-builtin-font" viewBox="0 0 16 16">
|
|
58
|
+
<path fill="currentColor" d="M12.3 13c-1.59 0-2.68-.99-2.68-2.5 0-1.43 1-2.34 2.88-2.35h2.16v-.83c0-1.08-.62-1.68-1.73-1.68-1.05 0-1.66.54-1.73 1.36H9.93c.09-1.43 1.06-2.48 3.05-2.48 1.75 0 3.02.95 3.02 2.68v5.66h-1.29v-1.02h-.04c-.41.66-1.16 1.16-2.37 1.16m.36-1.12c1.14 0 2-.72 2-1.74v-.96H12.6c-1.12 0-1.6.54-1.6 1.28 0 .97.8 1.42 1.66 1.42m-11.24.98H0L3.8 2h1.39l3.8 10.86H7.54l-1.08-3.2H2.5zm3.09-9.25h-.04l-1.6 4.95H6.1z"/>
|
|
59
|
+
</symbol>`,ol=`<symbol id="file-tree-builtin-git" viewBox="0 0 16 16">
|
|
60
|
+
<path fill="currentColor" d="M14.74 7.38 8.62 1.26a.9.9 0 0 0-1.27 0L6.08 2.53l1.61 1.61a1.07 1.07 0 0 1 1.36 1.37l1.55 1.55a1.07 1.07 0 0 1 1.1 1.77 1.07 1.07 0 0 1-1.74-1.16L8.5 6.22v3.8a1.07 1.07 0 1 1-.89-.02V6.15a1.07 1.07 0 0 1-.58-1.4l-1.58-1.6-4.2 4.2a.9.9 0 0 0 0 1.27l6.12 6.12a.9.9 0 0 0 1.27 0l6.09-6.09a.9.9 0 0 0 0-1.27"/>
|
|
61
|
+
</symbol>`,sl=`<symbol id="file-tree-builtin-go" viewBox="0 0 16 16">
|
|
62
|
+
<path fill="currentColor" fill-rule="evenodd" d="M4.41 4.57A3.2 3.2 0 0 1 6.87 5q.74.49 1.08 1.29.08.12-.1.16l-1.55.4c-.14.03-.15.04-.27-.1a1 1 0 0 0-.44-.34 1.6 1.6 0 0 0-1.68.14q-.95.61-.94 1.73c0 .73.52 1.33 1.25 1.43q.95.1 1.58-.6l.25-.34h-1.8c-.19 0-.24-.12-.17-.27.12-.28.34-.76.47-1a.3.3 0 0 1 .24-.14h2.98a4 4 0 0 1 .64-1.19 4 4 0 0 1 2.6-1.52 3.5 3.5 0 0 1 2.64.46q1.13.73 1.31 2.04a3.5 3.5 0 0 1-1.06 3.09q-.93.92-2.23 1.17l-.74.08a3.5 3.5 0 0 1-2.27-.8 3 3 0 0 1-.93-1.42 4 4 0 0 1-.39.61 4 4 0 0 1-2.64 1.56 3.3 3.3 0 0 1-2.5-.6 3 3 0 0 1-1.18-2.03 3.5 3.5 0 0 1 .8-2.67 4 4 0 0 1 2.6-1.58M13.1 7.5a1.53 1.53 0 0 0-1.9-1.21q-1.3.3-1.62 1.59a1.5 1.5 0 0 0 .85 1.72q.77.33 1.52-.05a2 2 0 0 0 1.18-1.74q0-.17-.03-.3" clip-rule="evenodd"/>
|
|
63
|
+
</symbol>`,cl=`<symbol id="file-tree-builtin-graphql" viewBox="0 0 16 16">
|
|
64
|
+
<path fill="currentColor" fill-rule="evenodd" d="M8 1a1.25 1.25 0 0 1 1.18 1.65l2.8 1.61q.33-.25.77-.26a1.25 1.25 0 0 1 .48 2.4v3.2a1.25 1.25 0 1 1-1.25 2.13l-2.8 1.62A1.25 1.25 0 0 1 8 15a1.25 1.25 0 0 1-1.18-1.65l-2.8-1.62q-.33.26-.77.27a1.25 1.25 0 0 1-.48-2.4V6.4a1.25 1.25 0 1 1 1.25-2.14l2.8-1.61A1.25 1.25 0 0 1 8 1M4.44 11.14l-.06.13 2.75 1.58a1.25 1.25 0 0 1 1.74 0l2.74-1.58-.05-.13zm3.89-7.68a1.3 1.3 0 0 1-.66 0L4.03 9.77q.37.3.45.78h7.04q.08-.48.45-.78zM4.38 4.73a1.24 1.24 0 0 1-1.02 1.76v3.02l.13.01 3.67-6.35-.03-.02zm4.46-1.56 3.67 6.35.13-.01V6.49a1.25 1.25 0 0 1-1.03-1.76L8.87 3.15z" clip-rule="evenodd"/>
|
|
65
|
+
</symbol>`,ll=`<symbol id="file-tree-builtin-html" viewBox="0 0 16 16">
|
|
66
|
+
<path fill="currentColor" d="M8 1C2.24 1 1 2.24 1 8s1.24 7 7 7 7-1.24 7-7-1.24-7-7-7" class="bg" opacity=".2"/>
|
|
67
|
+
<path fill="currentColor" d="M10.48 3.76a.5.5 0 0 1 .4.58L10.6 5.8h1.14a.5.5 0 0 1 0 1h-1.32L10 9.2h1.08a.5.5 0 0 1 0 1H9.8l-.3 1.64a.5.5 0 1 1-.98-.18l.27-1.46H6.4l-.3 1.64a.5.5 0 1 1-.98-.18l.27-1.46H4.25a.5.5 0 0 1 0-1h1.32L6 6.8H4.93a.5.5 0 0 1 0-1H6.2l.3-1.64a.5.5 0 1 1 .98.18L7.2 5.8h2.4l.3-1.64a.5.5 0 0 1 .58-.4M6.58 9.2h2.4l.44-2.4h-2.4z" class="fg"/>
|
|
68
|
+
</symbol>`,ul=`<symbol id="file-tree-builtin-image" viewBox="0 0 16 16">
|
|
69
|
+
<path fill="currentColor" d="M12.5 2A2.5 2.5 0 0 1 15 4.5v4.67l-4.05-3.54-4.08 4.08-3-2L1 10.6V4.5A2.5 2.5 0 0 1 3.5 2z" opacity=".3"/>
|
|
70
|
+
<path fill="currentColor" d="M15 10.5v1a2.5 2.5 0 0 1-2.5 2.5h-9a2.5 2.5 0 0 1-2.46-2.04L4 9l3 2 4-4zm-7-5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0"/>
|
|
71
|
+
</symbol>`,dl=`<symbol id="file-tree-builtin-javascript" viewBox="0 0 16 16">
|
|
72
|
+
<path fill="currentColor" d="M8 1C2.24 1 1 2.24 1 8s1.24 7 7 7 7-1.24 7-7-1.24-7-7-7" class="bg" opacity=".2"/>
|
|
73
|
+
<path fill="currentColor" d="M8.1 9.64h.95c.04.62.28.76 1.28.76s1.2-.14 1.2-.85c0-.66-.2-.85-1.2-1.07-1.79-.38-2.18-.7-2.18-1.86C8.15 5.3 8.54 5 10.31 5c1.67 0 2.04.26 2.07 1.42h-.95c-.02-.43-.23-.53-1.1-.53-1 0-1.22.14-1.22.74 0 .52.22.7 1.24.92 1.76.38 2.15.73 2.15 2 0 1.44-.4 1.75-2.24 1.75-1.8 0-2.18-.3-2.15-1.66M3.5 9.5h.98c0 .76.15.92.85.92.77 0 .94-.18.94-1.02V5.1h1v4.34c0 1.54-.35 1.87-1.92 1.87-1.55 0-1.89-.32-1.86-1.8"/>
|
|
74
|
+
</symbol>`,fl=`<symbol id="file-tree-builtin-json" viewBox="0 0 16 16">
|
|
75
|
+
<path fill="currentColor" d="M13.25 11.5V9.75a.5.5 0 0 1 .36-.48l.55-.15a1.16 1.16 0 0 0 0-2.24l-.55-.15a.5.5 0 0 1-.36-.48V4.5a2.5 2.5 0 0 0-2.5-2.5h-.25a.5.5 0 0 0 0 1h.25a1.5 1.5 0 0 1 1.5 1.5v1.75a1.5 1.5 0 0 0 1.09 1.44l.54.15a.16.16 0 0 1 0 .32l-.54.15a1.5 1.5 0 0 0-1.09 1.44v1.75a1.5 1.5 0 0 1-1.5 1.5h-.25a.5.5 0 0 0 0 1h.25a2.5 2.5 0 0 0 2.5-2.5m-10.5 0V9.75a.5.5 0 0 0-.36-.48l-.55-.15a1.16 1.16 0 0 1 0-2.24l.55-.15a.5.5 0 0 0 .36-.48V4.5A2.5 2.5 0 0 1 5.25 2h.25a.5.5 0 0 1 0 1h-.25a1.5 1.5 0 0 0-1.5 1.5v1.75a1.5 1.5 0 0 1-1.09 1.44l-.54.15a.16.16 0 0 0 0 .32l.54.15a1.5 1.5 0 0 1 1.09 1.45v1.74a1.5 1.5 0 0 0 1.5 1.5h.25a.5.5 0 0 1 0 1h-.25a2.5 2.5 0 0 1-2.5-2.5"/>
|
|
76
|
+
</symbol>`,pl=`<symbol id="file-tree-builtin-markdown" viewBox="0 0 16 16">
|
|
77
|
+
<path fill="currentColor" d="M1 12V4h2l2 2.5L7 4h2v8H7V7.5l-2 2-2-2V12zm9-3 3 3.5L16 9h-2V4h-2v5z"/>
|
|
78
|
+
</symbol>`,ml=`<symbol id="file-tree-builtin-mcp" viewBox="0 0 16 16">
|
|
79
|
+
<path fill="currentColor" d="M9.26-.04a3 3 0 0 1 2 .82 2.8 2.8 0 0 1 .8 2.35 2.9 2.9 0 0 1 2.41.8l.03.02a2.74 2.74 0 0 1 0 3.94l-5.8 5.69-.04.06-.02.07q0 .04.02.07.01.04.04.06l1.2 1.17a.55.55 0 0 1 0 .79.6.6 0 0 1-.81 0l-1.2-1.17a1.3 1.3 0 0 1 0-1.84L13.7 7.1a1.65 1.65 0 0 0 .37-1.82 2 2 0 0 0-.37-.54l-.03-.03a1.73 1.73 0 0 0-2.4 0L6.47 9.4l-.07.06a.58.58 0 0 1-.92-.18.6.6 0 0 1 .12-.6l4.85-4.76a1.65 1.65 0 0 0 0-2.36 1.73 1.73 0 0 0-2.4 0l-6.43 6.3a.6.6 0 0 1-.8 0 .55.55 0 0 1 0-.8L7.25.79a3 3 0 0 1 2-.82"/>
|
|
80
|
+
<path fill="currentColor" d="M9.26 2.19a.6.6 0 0 1 .52.34.6.6 0 0 1 0 .43l-.12.18L4.9 7.79a1.65 1.65 0 0 0 0 2.36 1.73 1.73 0 0 0 2.4 0l4.75-4.66a.58.58 0 0 1 .93.18.6.6 0 0 1-.12.61l-4.75 4.66a2.9 2.9 0 0 1-4.01 0 2.75 2.75 0 0 1-.62-3.04A3 3 0 0 1 4.1 7l4.74-4.65a.6.6 0 0 1 .4-.16"/>
|
|
81
|
+
</symbol>`,hl=`<symbol id="file-tree-builtin-nextjs" viewBox="0 0 16 16">
|
|
82
|
+
<defs>
|
|
83
|
+
<linearGradient id="a" x1="4.522" x2="14" y1="3.943" y2="16" gradientUnits="userSpaceOnUse">
|
|
84
|
+
<stop stop-color="currentColor"/>
|
|
85
|
+
<stop offset="1" stop-color="currentColor" stop-opacity="0"/>
|
|
86
|
+
</linearGradient>
|
|
87
|
+
</defs>
|
|
88
|
+
<path fill="currentColor" d="M3 2h1.522v9.09H3z"/>
|
|
89
|
+
<path fill="url(#a)" d="M4.903 2 15 15.075q-.565.5-1.195.925L4.522 3.943z"/>
|
|
90
|
+
<path fill="currentColor" d="M12.172 2h-1.508v9.094h1.508z"/>
|
|
91
|
+
</symbol>`,gl=`<symbol id="file-tree-builtin-npm" viewBox="0 0 16 16">
|
|
92
|
+
<path fill="currentColor" d="M2 1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z" class="vector" opacity=".2"/>
|
|
93
|
+
<path fill="currentColor" d="M10.5 13H13V3H3v10h5V5.5h2.5z"/>
|
|
94
|
+
</symbol>`,_l=`<symbol id="file-tree-builtin-oxc" viewBox="0 0 16 16">
|
|
95
|
+
<path fill="currentColor" d="M9.5 1a.5.5 0 0 1 .5.5V3h3.5a.5.5 0 0 1 .38.83L10.5 7.69v1.44q.41.04.95-.16a4 4 0 0 0 .72-.35l.04-.03h.01a.5.5 0 0 1 .67.1l2 2.5a.5.5 0 0 1 0 .62c-.76.96-3.14 2.69-6.89 2.69s-6.13-1.73-6.89-2.69a.5.5 0 0 1 0-.62l2-2.5a.5.5 0 0 1 .67-.1l.05.03.16.09q.22.13.56.26.54.2.95.16V7.69L2.12 3.83A.5.5 0 0 1 2.5 3H6V1.5a.5.5 0 0 1 .5-.5zM7 3.5a.5.5 0 0 1-.5.5H3.6l2.78 3.17a.5.5 0 0 1 .12.33v2a.5.5 0 0 1-.28.45c-.7.35-1.5.15-2.02-.05a5 5 0 0 1-.58-.26l-1.46 1.84c.82.78 2.8 2.02 5.84 2.02s5.02-1.24 5.84-2.02l-1.46-1.83a5 5 0 0 1-.58.26c-.52.2-1.33.39-2.02.04a.5.5 0 0 1-.28-.45v-2a.5.5 0 0 1 .12-.33L12.4 4H9.5a.5.5 0 0 1-.5-.5V2H7z"/>
|
|
96
|
+
</symbol>`,vl=`<symbol id="file-tree-builtin-postcss" viewBox="0 0 16 16">
|
|
97
|
+
<path fill="currentColor" d="M14.5 8a6.5 6.5 0 0 0-5.9-6.47l5.42 8.93A7 7 0 0 0 14.5 8M2.88 12A6.5 6.5 0 0 0 8 14.5c2.08 0 3.93-.98 5.12-2.5zm8.62-1h1.68L11.5 8.24zm-1-.55a4 4 0 0 1-.7.55h.7zM8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5M5.5 11h.7a4 4 0 0 1-.7-.55zm-2.68 0H4.5V8.24zm3.76-6.2A4 4 0 0 1 8 4.5q.76 0 1.42.3L8 2.46zM1.5 8q0 1.31.48 2.46L7.4 1.53A6.5 6.5 0 0 0 1.5 8m14 0a7.5 7.5 0 0 1-.99 3.72l-.01.03-.02.03A7.5 7.5 0 0 1 8 15.5a7.5 7.5 0 0 1-6.5-3.75l-.01-.03A7.5 7.5 0 1 1 15.5 8"/>
|
|
98
|
+
</symbol>`,yl=`<symbol id="file-tree-builtin-prettier" viewBox="0 0 16 16">
|
|
99
|
+
<path fill="currentColor" d="M6 12v1H4.93v-1zm1-2v1H2v-1zm6-4v1h-3V6zm-1-4v1H9V2z"/>
|
|
100
|
+
<path fill="currentColor" d="M11.5 10v1H8v-1zM5 6v1H2V6zm5-2v1H9V4z" opacity=".8"/>
|
|
101
|
+
<path fill="currentColor" d="M6 14v1H2v-1zm-.5-6v1H2V8zM13 4v1h-3V4zM4.93 2v1H2V2z" opacity=".6"/>
|
|
102
|
+
<path fill="currentColor" d="M4.93 12v1H2v-1zM13 8v1H9V8zM5.5 4v1H2V4zM9 2v1H4.93V2z" opacity=".4"/>
|
|
103
|
+
</symbol>`,bl=`<symbol id="file-tree-builtin-python" viewBox="0 0 16 16">
|
|
104
|
+
<path fill="currentColor" d="M8.33 8.4H10c1.16 0 1.9-.73 1.9-1.86V5.08q0-.24.25-.24h.74c.75 0 1.33.32 1.66.97q.4.73.41 1.46c.09.9.09 1.78-.24 2.67-.25.73-.75 1.3-1.58 1.46h-4.8c-.08 0-.25 0-.25.08v.4s.17.09.25.09h2.82q.34-.02.33.32v1.06c0 .56-.25.97-.75 1.13-.41.16-.83.33-1.24.4a7 7 0 0 1-2.98-.07 3 3 0 0 1-1.16-.49c-.33-.32-.58-.65-.5-1.14v-2.91c0-1.13.67-1.78 1.82-1.78q.89-.1 1.66-.08m2.32 4.86a.65.65 0 0 0-.66-.65c-.34 0-.67.33-.67.65s.33.57.67.65a.65.65 0 0 0 .66-.65" class="bg" opacity=".8"/>
|
|
105
|
+
<path fill="currentColor" d="M7.67 7.6H6c-1.16 0-1.9.73-1.9 1.86v1.46q0 .24-.25.24h-.74c-.75 0-1.33-.32-1.66-.97a3 3 0 0 1-.41-1.46 6 6 0 0 1 .24-2.67c.25-.73.75-1.3 1.58-1.46h4.8c.08 0 .25 0 .25-.08v-.4s-.17-.09-.25-.09H4.85c-.24 0-.33-.08-.33-.32V2.65c0-.56.25-.97.75-1.13.41-.16.83-.33 1.24-.4a7 7 0 0 1 2.98.07c.41.09.83.25 1.16.49.33.32.58.65.5 1.13v2.92c0 1.14-.67 1.78-1.82 1.78-.58.08-1.16.08-1.66.08M5.35 2.73c0 .33.25.65.66.65.33 0 .66-.32.66-.65 0-.32-.33-.56-.66-.64a.65.65 0 0 0-.66.64" class="fg"/>
|
|
106
|
+
</symbol>`,xl=`<symbol id="file-tree-builtin-react" viewBox="0 0 16 16">
|
|
107
|
+
<path fill="currentColor" d="M8 6.65c.73 0 1.31.6 1.31 1.35S8.73 9.35 8 9.35 6.69 8.75 6.69 8 7.27 6.65 8 6.65"/>
|
|
108
|
+
<path fill="currentColor" fill-rule="evenodd" d="M8 2.55c1.3-.99 2.59-1.34 3.5-.8.92.55 1.27 1.87 1.08 3.53C14.06 5.94 15 6.9 15 8s-.94 2.06-2.42 2.72c.19 1.65-.16 2.98-1.08 3.52-.91.55-2.2.2-3.5-.8-1.3 1-2.58 1.35-3.5.8-.91-.54-1.27-1.87-1.08-3.52C1.94 10.06 1 9.1 1 8s.94-2.06 2.42-2.72c-.19-1.66.17-2.98 1.08-3.52s2.2-.2 3.5.8M4.26 11.2c-.08 1.34.28 2.03.68 2.26s1.15.22 2.25-.52l.11-.09a12 12 0 0 1-1.24-1.39 11 11 0 0 1-1.8-.41zm7.47-.15q-.83.27-1.79.41-.6.8-1.24 1.4l.11.08c1.1.74 1.86.76 2.25.52.4-.23.76-.92.68-2.26zm-3.04.54a14 14 0 0 1-1.38 0q.34.38.69.7.35-.32.7-.7M8 5.29q-.76 0-1.47.1A13 13 0 0 0 5.07 8a14 14 0 0 0 1.46 2.62 13 13 0 0 0 2.94 0A13 13 0 0 0 10.93 8a14 14 0 0 0-1.46-2.62A13 13 0 0 0 8 5.3M4.64 9.18q-.15.5-.25.96.44.16.94.27a15 15 0 0 1-.7-1.23m6.73 0a15 15 0 0 1-.7 1.23q.5-.11.95-.27a10 10 0 0 0-.25-.96M3.44 6.26C2.27 6.86 1.87 7.53 1.87 8s.4 1.14 1.57 1.74l.13.07q.18-.88.55-1.81a12 12 0 0 1-.55-1.8q-.07.02-.13.06m8.99-.07A12 12 0 0 1 11.88 8q.36.94.55 1.8l.13-.06c1.17-.6 1.56-1.27 1.56-1.74s-.39-1.14-1.56-1.74zm-7.1-.6q-.5.11-.94.27.1.46.25.96a15 15 0 0 1 .69-1.23m5.34 0a15 15 0 0 1 .7 1.23q.14-.5.24-.96-.44-.15-.94-.27M7.18 3.06c-1.09-.74-1.85-.76-2.24-.52s-.76.92-.69 2.26l.01.15a11 11 0 0 1 1.8-.41q.6-.8 1.24-1.4zm3.88-.52c-.4-.24-1.15-.22-2.25.52l-.12.08q.65.6 1.25 1.4.96.15 1.8.41v-.14c.08-1.35-.28-2.04-.68-2.27M8 3.7a10 10 0 0 0-.7.7 14 14 0 0 1 1.4 0 10 10 0 0 0-.7-.7" clip-rule="evenodd"/>
|
|
109
|
+
</symbol>`,Sl=`<symbol id="file-tree-builtin-ruby" viewBox="0 0 16 16">
|
|
110
|
+
<path fill="currentColor" fill-rule="evenodd" d="M11.04 2c.48 0 .92.23 1.18.6l2.54 3.65c.37.52.3 1.23-.15 1.69l-5.58 5.64a1.47 1.47 0 0 1-2.06 0L1.39 7.94a1.3 1.3 0 0 1-.15-1.7l2.54-3.63q.2-.3.5-.45.33-.16.68-.16zm.84 2.17a.5.5 0 0 0-.7-.05L8 6.84 4.83 4.12a.5.5 0 0 0-.65.76L6.65 7H3.5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1H9.35l2.48-2.12a.5.5 0 0 0 .05-.7" clip-rule="evenodd"/>
|
|
111
|
+
</symbol>`,Cl=`<symbol id="file-tree-builtin-rust" viewBox="0 0 16 16">
|
|
112
|
+
<path fill="currentColor" fill-rule="evenodd" d="M8 .8a.2.2 0 0 1 .18.1l.38.6.16.02.5-.53.01-.01a.2.2 0 0 1 .33.08l.25.68.16.05.59-.43h.02a.2.2 0 0 1 .3.14l.12.71.15.08.65-.3a.2.2 0 0 1 .2.02.2.2 0 0 1 .1.18l-.03.72.12.1.71-.16a.2.2 0 0 1 .25.25l-.17.7q.06.06.1.13l.73-.03A.2.2 0 0 1 14 4a.2.2 0 0 1 .02.2l-.3.66.08.14.71.12a.2.2 0 0 1 .14.32l-.43.59.05.16.68.25a.2.2 0 0 1 .07.35l-.53.49.01.16.62.38a.2.2 0 0 1 0 .36l-.62.38-.01.16.53.5a.2.2 0 0 1-.07.34l-.68.25-.05.16.43.59a.2.2 0 0 1-.14.32l-.72.12-.07.15.3.65a.2.2 0 0 1-.02.2.2.2 0 0 1-.18.1l-.72-.03-.1.13.16.7a.2.2 0 0 1-.25.25l-.7-.17-.13.1.03.73a.2.2 0 0 1-.1.18.2.2 0 0 1-.2.02l-.66-.3-.14.08-.12.71a.2.2 0 0 1-.32.14l-.59-.43-.16.05-.25.68a.2.2 0 0 1-.34.07l-.5-.53-.16.01-.38.62a.2.2 0 0 1-.36 0l-.38-.62-.16-.01-.5.53a.2.2 0 0 1-.34-.07l-.25-.68-.16-.05-.59.43a.2.2 0 0 1-.32-.14L5 13.78l-.15-.07-.65.3a.2.2 0 0 1-.2-.02.2.2 0 0 1-.1-.18l.03-.72-.13-.1-.7.16a.2.2 0 0 1-.25-.25l.17-.7-.1-.13-.73.03a.2.2 0 0 1-.2-.3l.3-.66-.08-.14-.71-.12a.2.2 0 0 1-.14-.32l.43-.59-.05-.16-.68-.25A.2.2 0 0 1 1 9.22l.53-.5-.02-.16-.6-.38A.2.2 0 0 1 .8 8a.2.2 0 0 1 .1-.18l.6-.38.02-.16-.53-.5a.2.2 0 0 1 .07-.34l.68-.25.05-.16-.43-.59a.2.2 0 0 1 .14-.32L2.2 5l.08-.15L2 4.2a.2.2 0 0 1 .2-.3l.72.03.1-.13-.16-.7a.2.2 0 0 1 .25-.25l.7.16.13-.1-.03-.72A.2.2 0 0 1 4 2a.2.2 0 0 1 .2-.02l.65.3L5 2.2l.12-.71v-.03a.2.2 0 0 1 .32-.1l.59.41.16-.04.25-.68.01-.02A.2.2 0 0 1 6.8.99l.49.53.16-.02.38-.61.02-.02A.2.2 0 0 1 8 .79M6.8 9.45h1.26l.06.01q.03.01.03.05v1.52q0 .07-.09.06h-4.5A5.4 5.4 0 0 0 8 13.42a5.4 5.4 0 0 0 4.45-2.33h-2.42c-.36 0-.68-.5-.77-.75-.08-.22-.2-.91-.25-1.12-.15-.61-.59-.71-.78-.73H6.8zM8 2.58a5.4 5.4 0 0 0-4.07 1.85h5.74l.17.02c.23.03.6.12.96.35.34.23.83.68.83 1.4 0 .66-.55 1.16-1.08 1.5.42.33.7.53.86 1.44.04.17.34.32.62.29.29-.03.62-.16.62-.75v-.24q0-.1.07-.1h.68A5.43 5.43 0 0 0 8 2.59M2.96 6.03a5.4 5.4 0 0 0-.19 3.37h1.66V6.03zM6.8 7.06h1.66c.35 0 .77-.12.77-.47 0-.42-.55-.53-.65-.53H6.8z" clip-rule="evenodd"/>
|
|
113
|
+
</symbol>`,wl=`<symbol id="file-tree-builtin-sass" viewBox="0 0 16 16">
|
|
114
|
+
<path fill="currentColor" fill-rule="evenodd" d="M8.08 1.44c2.41-.91 4.96-.37 5.35 1.27.39 1.62-.92 3.56-2.6 4.25a5 5 0 0 1-3.26.35c-.58-.2-.92-.62-1-.85-.03-.09-.09-.24 0-.3.05-.03.08-.02.22.15s.7.6 1.75.48c2.78-.34 4.45-2.64 3.92-3.88-.37-.87-2.5-1.26-5.18.16C4.03 4.81 3.85 6.24 3.82 6.8c-.08 1.5 1.73 2.28 2.7 3.4q.04.03.07.08c.3-.12.7-.19 1.35-.2 1.58-.03 2.47 1.08 2.43 2.08-.03.78-.7 1.1-.82 1.13-.1.01-.14.02-.15-.06q-.03-.06.13-.15c.16-.09.42-.3.48-.72.05-.43-.24-1.44-1.76-1.63a3 3 0 0 0-1.33.08c.27.62.32 1.87-.29 2.83-.63 1-1.8 1.61-2.93 1.27-.37-.1-.93-.92-.45-2.05.46-1.07 2.4-2.12 2.66-2.26-.9-.83-3.08-1.95-3.4-3.65-.08-.49.13-1.65 1.46-2.98a12 12 0 0 1 4.11-2.52m-1.88 9.7c-.01.01-.9.47-1.52 1.17-.59.66-.75 1.48-.43 1.69.3.18 1-.04 1.51-.62a3 3 0 0 0 .5-.9q.2-.64.02-1.39z" clip-rule="evenodd"/>
|
|
115
|
+
</symbol>`,Tl=`<symbol id="file-tree-builtin-stylelint" viewBox="0 0 16 16">
|
|
116
|
+
<path fill="currentColor" d="M4 3v3.5l1.5-1L7 15 .5 6l1-1.5L0 3l2.5-2h1zm12 0-1.5 1.5 1 1.5L9 15l1.5-9.5 1.5 1V3l.5-2h1zm-8 8.5a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1m0-3a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1m0-3a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1"/>
|
|
117
|
+
<path fill="currentColor" d="M6.5 2.5V4l-2 1.5v-4zm5 3L9.5 4V2.5l2-1zM9 4H7V2.5h2z"/>
|
|
118
|
+
</symbol>`,El=`<symbol id="file-tree-builtin-svelte" viewBox="0 0 16 16">
|
|
119
|
+
<path fill="currentColor" d="m3.98 3.7 3.36-2.08a4.5 4.5 0 0 1 5.9 1.23 4 4 0 0 1 .7 3.02q-.16.75-.58 1.4c.42.77.56 1.66.4 2.52a3.7 3.7 0 0 1-1.57 2.4l-.17.1-3.36 2.09a4.5 4.5 0 0 1-5.9-1.23 4 4 0 0 1-.66-1.44 4 4 0 0 1-.04-1.58 4 4 0 0 1 .58-1.4 4 4 0 0 1-.4-2.52 3.7 3.7 0 0 1 1.57-2.4zl3.36-2.08zm7.87 0a2.7 2.7 0 0 0-1.26-.95 2.7 2.7 0 0 0-1.6-.07 3 3 0 0 0-.52.2l-.16.09-3.36 2.08a2 2 0 0 0-.69.64 2 2 0 0 0-.36.86 2.3 2.3 0 0 0 .42 1.81A2.7 2.7 0 0 0 7.18 9.4q.28-.06.53-.2l.16-.09 1.28-.79.2-.09a.8.8 0 0 1 .87.31.7.7 0 0 1 .13.55.7.7 0 0 1-.24.4l-.08.05-3.36 2.08-.2.09a1 1 0 0 1-.49-.02 1 1 0 0 1-.38-.3 1 1 0 0 1-.13-.37v-.1l.01-.13-.13-.03a4 4 0 0 1-1.1-.5l-.2-.14-.18-.12-.07.18-.08.3a2.3 2.3 0 0 0 .43 1.82q.45.64 1.19.93.73.28 1.51.14l.16-.04q.27-.07.52-.2l.16-.09 3.36-2.08q.4-.25.69-.64.27-.4.36-.86a2.3 2.3 0 0 0-.42-1.82 2.7 2.7 0 0 0-1.27-.95 2.7 2.7 0 0 0-1.6-.08q-.27.07-.52.2l-.16.1-1.28.79-.2.09a1 1 0 0 1-.49-.03 1 1 0 0 1-.38-.29.7.7 0 0 1-.13-.54.7.7 0 0 1 .24-.4l.08-.06L9.33 4.4l.2-.1a.8.8 0 0 1 .87.32 1 1 0 0 1 .13.38v.22l.11.04q.6.18 1.12.5l.2.14.17.12.06-.19.08-.3a2.3 2.3 0 0 0-.42-1.81z"/>
|
|
120
|
+
</symbol>`,Dl=`<symbol id="file-tree-builtin-svg" viewBox="0 0 16 16">
|
|
121
|
+
<path fill="currentColor" d="M5 7a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2z"/>
|
|
122
|
+
<path fill="currentColor" d="M6 1a5 5 0 0 1 4.58 3H7a3 3 0 0 0-3 3v3.58A5 5 0 0 1 6 1" opacity=".5"/>
|
|
123
|
+
</symbol>`,Ol=`<symbol id="file-tree-builtin-svgo" viewBox="0 0 16 16">
|
|
124
|
+
<path fill="currentColor" d="M9.43 4.8A.6.6 0 1 1 9.19 6l-.56.96a1.2 1.2 0 0 1 .32 1.58l.7.53a.89.89 0 1 1-.17.22l-.7-.52a1.2 1.2 0 0 1-1.4.25l-.56.87a.75.75 0 1 1-.57-.2 1 1 0 0 1 .32.05l.56-.87a1.2 1.2 0 0 1-.4-1.24l-1.2-.47a.56.56 0 1 1 .1-.28v.02l1.2.47a1.2 1.2 0 0 1 1.56-.55l.56-.97a.6.6 0 0 1-.15-.64.6.6 0 0 1 .63-.4"/>
|
|
125
|
+
<path fill="currentColor" fill-rule="evenodd" d="M9.17 1q.16.63.27 1.26a6 6 0 0 1 1.61.67q.52-.38 1.08-.71l1.65 1.64q-.32.56-.68 1.05.48.78.72 1.67.6.09 1.18.25v2.32q-.55.15-1.11.24a6 6 0 0 1-.7 1.82q.31.44.59.91l-1.65 1.65-.85-.55a6 6 0 0 1-1.9.83q-.08.47-.2.95H6.84q-.12-.46-.2-.93a6 6 0 0 1-1.96-.81q-.39.27-.8.51l-1.65-1.65q.25-.43.53-.84a6 6 0 0 1-.75-1.9L1 9.16V6.83q.54-.14 1.09-.24a6 6 0 0 1 .77-1.74q-.33-.47-.63-.98l1.65-1.65q.54.32 1.03.68a6 6 0 0 1 1.66-.66q.1-.61.26-1.24zM7.96 3.73a4 4 0 0 0-1.74.36 4.5 4.5 0 0 0-2.3 2.3 4.4 4.4 0 0 0-.1 3.29l.03.06a4.4 4.4 0 0 0 2.4 2.47 4.4 4.4 0 0 0 3.48-.02l.03-.02a4.4 4.4 0 0 0 2.3-2.42l.06-.14a4.4 4.4 0 0 0-.2-3.4 4.4 4.4 0 0 0-2.13-2.07L9.47 4a4 4 0 0 0-1.51-.27" clip-rule="evenodd"/>
|
|
126
|
+
</symbol>`,kl=`<symbol id="file-tree-builtin-swift" viewBox="0 0 16 16">
|
|
127
|
+
<path fill="currentColor" d="M9.63 1c6.15 4.35 4.16 9.15 4.16 9.15s1.75 2.05 1.04 3.85c0 0-.72-1.26-1.93-1.26-1.17 0-1.85 1.26-4.2 1.26C3.47 14 1 9.46 1 9.46c4.71 3.22 7.93.94 7.93.94C6.8 9.12 2.29 3 2.29 3c3.93 3.47 5.63 4.39 5.63 4.39-1.01-.87-3.86-5.13-3.86-5.13C6.34 4.66 10.86 8 10.86 8c1.28-3.7-1.23-7-1.23-7"/>
|
|
128
|
+
</symbol>`,Al=`<symbol id="file-tree-builtin-table" viewBox="0 0 16 16">
|
|
129
|
+
<path fill="currentColor" d="M8 4a3 3 0 0 0 3 3h3v5.5a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 12.5v-9A2.5 2.5 0 0 1 4.5 1H8z" class="bg" opacity=".4"/>
|
|
130
|
+
<path fill="currentColor" d="M11.5 8a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5zM5 12h2.5v-1H5zm3.5 0H11v-1H8.5zM5 10h2.5V9H5zm3.5 0H11V9H8.5zm1-9a.5.5 0 0 1 .354.146l4 4A.5.5 0 0 1 14 5.5V6h-3a2 2 0 0 1-2-2V1z" class="fg"/>
|
|
131
|
+
</symbol>`,jl=`<symbol id="file-tree-builtin-tailwind" viewBox="0 0 16 16">
|
|
132
|
+
<path fill="currentColor" fill-rule="evenodd" d="M8 4Q5.2 4 4.5 6.67q1.05-1.34 2.45-1c.53.12.91.5 1.33.9C8.98 7.23 9.77 8 11.5 8q2.8 0 3.5-2.67-1.05 1.34-2.45 1c-.53-.12-.91-.5-1.33-.9C10.52 4.77 9.73 4 8 4M4.5 8Q1.7 8 1 10.67q1.05-1.34 2.45-1c.53.12.91.5 1.33.9C5.48 11.23 6.26 12 8 12q2.8 0 3.5-2.67-1.05 1.34-2.45 1c-.53-.12-.91-.5-1.33-.9C7.02 8.77 6.24 8 4.5 8" clip-rule="evenodd"/>
|
|
133
|
+
</symbol>`,Ml=`<symbol id="file-tree-builtin-terraform" viewBox="0 0 16 16">
|
|
134
|
+
<path fill="currentColor" d="M1 0v5.05l4.35 2.53V2.53zm9.18 5.34L5.83 2.82v5.05l4.35 2.53zm.47 5.06V5.34L15 2.82v5.05zm-.48 5.6-4.35-2.53V8.42l4.35 2.53z"/>
|
|
135
|
+
</symbol>`,Nl=`<symbol id="file-tree-builtin-text" viewBox="0 0 16 16">
|
|
136
|
+
<path fill="currentColor" fill-rule="evenodd" d="M8 4a3 3 0 0 0 3 3h3v5.5a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 12.5v-9A2.5 2.5 0 0 1 4.5 1H8z" class="bg" clip-rule="evenodd" opacity=".4"/>
|
|
137
|
+
<path fill="currentColor" d="M8.5 11a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1zm2-2a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zm-1-8a.5.5 0 0 1 .354.146l4 4A.5.5 0 0 1 14 5.5V6h-3a2 2 0 0 1-2-2V1z"/>
|
|
138
|
+
</symbol>`,Pl=`<symbol id="file-tree-builtin-typescript" viewBox="0 0 16 16">
|
|
139
|
+
<path fill="currentColor" d="M8 1C2.24 1 1 2.24 1 8s1.24 7 7 7 7-1.24 7-7-1.24-7-7-7" class="bg" opacity=".2"/>
|
|
140
|
+
<path fill="currentColor" d="M8.1 9.64h.95c.04.62.28.76 1.28.76s1.2-.14 1.2-.85c0-.66-.2-.85-1.2-1.07-1.79-.38-2.18-.7-2.18-1.86C8.15 5.3 8.54 5 10.31 5c1.67 0 2.04.26 2.07 1.42h-.95c-.02-.43-.23-.53-1.1-.53-1 0-1.22.14-1.22.74 0 .52.22.7 1.24.92 1.76.38 2.15.73 2.15 2 0 1.44-.4 1.75-2.24 1.75-1.8 0-2.18-.3-2.15-1.66m-3 1.57V5.99H3.5v-.9h4.21v.9H6.1v5.22z"/>
|
|
141
|
+
</symbol>`,Fl=`<symbol id="file-tree-builtin-vite" viewBox="0 0 16 16">
|
|
142
|
+
<path fill="currentColor" d="M8.57 14.87c-.18.26-.55.11-.55-.22v-3.18l-.05-.27-.13-.22-.2-.15-.24-.06H4.29c-.26 0-.4-.32-.26-.55L6.08 7c.3-.46 0-1.1-.5-1.1H1.8c-.25 0-.4-.32-.25-.56l2.65-4.2A.3.3 0 0 1 4.46 1h7.9c.26 0 .4.32.26.55l-2.05 3.23c-.29.46 0 1.1.5 1.1h3.12c.26 0 .4.34.24.57z"/>
|
|
143
|
+
</symbol>`,Il=`<symbol id="file-tree-builtin-vscode" viewBox="0 0 16 16">
|
|
144
|
+
<path fill="currentColor" d="m5.11 9.68-2.4 1.84a.6.6 0 0 1-.75-.04l-.77-.7a.6.6 0 0 1 0-.87L3.28 8zm5.52-8.42a.51.51 0 0 1 .87.36V4.8L7.32 8 5.1 6.32z" opacity=".75"/>
|
|
145
|
+
<path fill="currentColor" d="M11.1 14.99h.03zM1.96 4.52a.6.6 0 0 1 .75-.04l8.8 6.71v3.19a.51.51 0 0 1-.88.36L1.19 6.1a.6.6 0 0 1 0-.87z" opacity=".65"/>
|
|
146
|
+
<path fill="currentColor" d="M11.62 14.91a.9.9 0 0 1-1-.17.51.51 0 0 0 .88-.36V1.62a.51.51 0 0 0-.87-.36.9.9 0 0 1 1-.17l2.87 1.39a.9.9 0 0 1 .5.8v9.44a.9.9 0 0 1-.5.8z"/>
|
|
147
|
+
</symbol>`,Ll=`<symbol id="file-tree-builtin-vue" viewBox="0 0 16 16">
|
|
148
|
+
<path fill="currentColor" d="M9.62 2.25 8 5.02 6.38 2.25H1l7 12 7-12z" opacity=".5"/>
|
|
149
|
+
<path fill="currentColor" d="M9.54 2.25 8 4.95l-1.54-2.7H4l4 7 4-7z"/>
|
|
150
|
+
</symbol>`,Rl=`<symbol id="file-tree-builtin-wasm" viewBox="0 0 16 16">
|
|
151
|
+
<path fill="currentColor" d="M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h3a2 2 0 1 0 4 0z" class="subtract" opacity=".2"/>
|
|
152
|
+
<path fill="currentColor" d="M4.64 11.4h.02l.8-3.4h.91l.73 3.45L7.88 8h.96l-1.25 5h-.97L5.9 9.6 5.1 13h-1L3 8h.98z"/>
|
|
153
|
+
<path fill="currentColor" fill-rule="evenodd" d="M13 13h-1.02l-.33-1.11H9.9L9.64 13h-.97l1.26-5h1.54zm-2.49-3.77-.42 1.84h1.32l-.49-1.84z" clip-rule="evenodd"/>
|
|
154
|
+
</symbol>`,zl=`<symbol id="file-tree-builtin-webpack" viewBox="0 0 16 16">
|
|
155
|
+
<path fill="currentColor" d="M14.1 11.79 8.26 15v-2.5l3.64-1.94zm.4-.35V4.73l-2.14 1.2v4.3zm-12.6.35L7.74 15v-2.5L4.1 10.56zm-.4-.35V4.73l2.14 1.2v4.3zm.25-7.15 6-3.29v2.42L3.9 5.47l-.03.01zm12.5 0L8.25 1v2.42l3.85 2.05.03.01z" class="bg" opacity=".4"/>
|
|
156
|
+
<path fill="currentColor" d="m7.74 11.93-3.59-1.92v-3.8l3.6 2.02zm.52 0 3.59-1.92v-3.8l-3.6 2.02zM4.4 5.77 8 3.85l3.6 1.93L8 7.8z" class="fg"/>
|
|
157
|
+
</symbol>`,Bl=`<symbol id="file-tree-builtin-yml" viewBox="0 0 16 16">
|
|
158
|
+
<path fill="currentColor" d="M7.5 2A1.5 1.5 0 0 1 9 3.5v3A1.5 1.5 0 0 1 7.5 8h-2v2A1.5 1.5 0 0 0 7 11.5v-1A1.5 1.5 0 0 1 8.5 9h5a1.5 1.5 0 0 1 1.5 1.5v3a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 7 13.5v-1A2.5 2.5 0 0 1 4.5 10V8h-2A1.5 1.5 0 0 1 1 6.5v-3A1.5 1.5 0 0 1 2.5 2zm1 8a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5zm-6-7a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5z"/>
|
|
159
|
+
</symbol>`,Vl=`<symbol id="file-tree-builtin-zig" viewBox="0 0 16 16">
|
|
160
|
+
<path fill="currentColor" d="m14.73 1.5-7.29 8.82h4.17l-1.73 2.04H5.76L1.27 14.5l7.3-8.91H4.39l1.73-2.05h4.12z"/>
|
|
161
|
+
<path fill="currentColor" d="M5.21 3.54 3.56 5.6h-.55v4.73h.83L2.1 12.36H1V3.54zm9.79 0v8.82h-4.3l1.74-2.04h.55V5.68h-.83l1.74-2.14z"/>
|
|
162
|
+
</symbol>`,Hl=[Jc,el,tl,nl,al,ol,sl,ll,ul,dl,fl,pl,ml,bl,Sl,Cl,kl,Al,Nl,Pl,`<symbol id="file-tree-builtin-zip" viewBox="0 0 16 16">
|
|
163
|
+
<path fill="currentColor" d="M4.585 2a2 2 0 0 1 1.028.285l1.788 1.072a1 1 0 0 0 .514.143H12A2 2 0 0 1 13.935 5H0V4a2 2 0 0 1 2-2z" class="bg" opacity=".5"/>
|
|
164
|
+
<path fill="currentColor" fill-rule="evenodd" d="M14 12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-1.25h1v-1H0V6h14zM9.9 8.25c-.883 0-1.9.5-1.9.5H7v1h1v1s1.017.5 1.9.5c.884 0 1.6-.672 1.6-1.5s-.716-1.5-1.6-1.5M2 9.75v1h1v-1zm2 0v1h1v-1zm2 0v1h1v-1zm-5-1v1h1v-1zm2 0v1h1v-1zm2 0v1h1v-1z" class="fg" clip-rule="evenodd"/>
|
|
165
|
+
</symbol>`],Ul=[Kc,qc,Yc,Xc,Zc,Qc,$c,rl,il,cl,hl,gl,_l,vl,yl,xl,wl,Tl,El,Dl,Ol,jl,Ml,Fl,Il,Ll,Rl,zl,Bl,Vl];function Wl(e,t){return t.length===0?e:e.replace(`</svg>`,`\n ${t.join(`
|
|
166
|
+
`)}\n</svg>`)}var Gl=Wl(Gc,Hl),Kl={minimal:Gc,standard:Gl,complete:Wl(Gl,Ul)},ql={".babelrc":`babel`,".babelrc.json":`babel`,".bash_profile":`bash`,".bashrc":`bash`,".browserslistrc":`browserslist`,".dockerignore":`docker`,".eslintignore":`eslint`,".eslintrc":`eslint`,".eslintrc.cjs":`eslint`,".eslintrc.js":`eslint`,".eslintrc.json":`eslint`,".eslintrc.yaml":`eslint`,".eslintrc.yml":`eslint`,".gitattributes":`git`,".gitignore":`git`,".gitkeep":`git`,".gitmodules":`git`,".oxlintrc.json":`oxc`,".postcssrc":`postcss`,".postcssrc.json":`postcss`,".postcssrc.yaml":`postcss`,".postcssrc.yml":`postcss`,".prettierignore":`prettier`,".prettierrc":`prettier`,".prettierrc.cjs":`prettier`,".prettierrc.js":`prettier`,".prettierrc.json":`prettier`,".prettierrc.mjs":`prettier`,".prettierrc.toml":`prettier`,".prettierrc.yaml":`prettier`,".prettierrc.yml":`prettier`,".stylelintignore":`stylelint`,".stylelintrc":`stylelint`,".stylelintrc.cjs":`stylelint`,".stylelintrc.js":`stylelint`,".stylelintrc.json":`stylelint`,".stylelintrc.mjs":`stylelint`,".stylelintrc.yaml":`stylelint`,".stylelintrc.yml":`stylelint`,".terraform.lock.hcl":`terraform`,".zprofile":`bash`,".zshenv":`bash`,".zshrc":`bash`,"babel.config.cjs":`babel`,"babel.config.js":`babel`,"babel.config.json":`babel`,"babel.config.mjs":`babel`,"biome.json":`biome`,"biome.jsonc":`biome`,"bootstrap.bundle.js":`bootstrap`,"bootstrap.bundle.min.js":`bootstrap`,"bootstrap.css":`bootstrap`,"bootstrap.js":`bootstrap`,"bootstrap.min.css":`bootstrap`,"bootstrap.min.js":`bootstrap`,"bun.lock":`bun`,"bun.lockb":`bun`,"bunfig.toml":`bun`,"claude.md":`claude`,"compose.yaml":`docker`,"compose.yml":`docker`,"docker-compose.override.yml":`docker`,"docker-compose.yaml":`docker`,"docker-compose.yml":`docker`,dockerfile:`docker`,"eslint.config.cjs":`eslint`,"eslint.config.js":`eslint`,"eslint.config.mjs":`eslint`,"eslint.config.mts":`eslint`,"eslint.config.ts":`eslint`,gemfile:`ruby`,"next.config.js":`nextjs`,"next.config.mjs":`nextjs`,"next.config.mts":`nextjs`,"next.config.ts":`nextjs`,"postcss.config.cjs":`postcss`,"postcss.config.js":`postcss`,"postcss.config.mjs":`postcss`,"postcss.config.ts":`postcss`,"prettier.config.cjs":`prettier`,"prettier.config.js":`prettier`,"prettier.config.mjs":`prettier`,rakefile:`ruby`,"readme.md":`markdown`,"stylelint.config.cjs":`stylelint`,"stylelint.config.js":`stylelint`,"stylelint.config.mjs":`stylelint`,"svgo.config.cjs":`svgo`,"svgo.config.js":`svgo`,"svgo.config.mjs":`svgo`,"svgo.config.ts":`svgo`,"tailwind.config.cjs":`tailwind`,"tailwind.config.js":`tailwind`,"tailwind.config.mjs":`tailwind`,"tailwind.config.ts":`tailwind`,"vite.config.js":`vite`,"vite.config.mjs":`vite`,"vite.config.mts":`vite`,"vite.config.ts":`vite`,"webpack.config.babel.js":`webpack`,"webpack.config.cjs":`webpack`,"webpack.config.js":`webpack`,"webpack.config.mjs":`webpack`,"webpack.config.ts":`webpack`},Jl={"7z":`zip`,astro:`astro`,AUTHORS:`text`,avif:`image`,bash:`bash`,bmp:`image`,bz2:`zip`,cfg:`text`,CHANGELOG:`text`,cjs:`javascript`,"code-workspace":`vscode`,conf:`text`,CONTRIBUTORS:`text`,csh:`bash`,css:`css`,csv:`table`,cts:`typescript`,db:`database`,editorconfig:`text`,env:`text`,"env.development":`text`,"env.local":`text`,"env.production":`text`,eot:`font`,erb:`ruby`,fish:`bash`,gemspec:`ruby`,gif:`image`,go:`go`,gql:`graphql`,graphql:`graphql`,gz:`zip`,htm:`html`,html:`html`,icns:`image`,ico:`image`,ini:`text`,jar:`zip`,jpeg:`image`,jpg:`image`,js:`javascript`,json:`json`,json5:`json`,jsonc:`json`,jsonl:`json`,jsx:`javascript`,ksh:`bash`,less:`css`,LICENSE:`text`,log:`text`,markdown:`markdown`,mcp:`mcp`,md:`markdown`,mdx:`markdown`,"mdx.tsx":`markdown`,mjs:`javascript`,mts:`typescript`,ods:`table`,otf:`font`,png:`image`,postcss:`css`,py:`python`,pyi:`python`,pyw:`python`,pyx:`python`,rake:`ruby`,rar:`zip`,rb:`ruby`,rs:`rust`,rst:`text`,rtf:`text`,sass:`css`,scss:`css`,sh:`bash`,sql:`database`,sqlite:`database`,sqlite3:`database`,styl:`css`,svelte:`svelte`,svg:`svg`,swift:`swift`,tar:`zip`,tf:`terraform`,tfstate:`terraform`,tfvars:`terraform`,tgz:`zip`,tif:`image`,tiff:`image`,ts:`typescript`,tsv:`table`,tsx:`typescript`,ttf:`font`,txt:`text`,vue:`vue`,war:`zip`,wasm:`wasm`,wast:`wasm`,wat:`wasm`,webp:`image`,woff:`font`,woff2:`font`,xhtml:`html`,xls:`table`,xlsx:`table`,xz:`zip`,yaml:`yml`,yml:`yml`,zig:`zig`,zip:`zip`,zsh:`bash`},Yl={jsx:`react`,sass:`sass`,scss:`sass`,tsx:`react`},Xl=new Set([`bash`,`css`,`database`,`default`,`font`,`git`,`go`,`html`,`image`,`javascript`,`json`,`markdown`,`mcp`,`python`,`ruby`,`rust`,`swift`,`table`,`text`,`typescript`,`zip`]),Zl=new Set([`complete`]);function Ql(e){return Kl[e===`none`?`minimal`:e]}function $l(e){return`file-tree-builtin-${e}`}function eu(e){return e!==`none`&&Zl.has(e)}function tu(e,t,n){if(e===`minimal`||e===`none`)return;let r=e===`complete`,i=ql[t.toLowerCase()];if(i!=null&&(r||Xl.has(i)))return i;for(let e of n){if(r){let t=Yl[e];if(t!=null)return t}let t=Jl[e];if(t!=null&&(r||Xl.has(t)))return t}return`default`}function nu(e){return e.spriteSheet!=null||e.remap!=null||e.byFileName!=null||e.byFileExtension!=null||e.byFileNameContains!=null}function ru(e){return e==null?{set:`complete`,colored:!0}:typeof e==`string`?{set:e,colored:!0}:{...e,set:e.set??(nu(e)?`none`:`complete`),colored:e.colored??!0}}var iu={compact:{itemHeight:24,factor:.8},default:{itemHeight:30,factor:1},relaxed:{itemHeight:36,factor:1.2}};function au(e,t){if(typeof e==`number`)return{itemHeight:t??iu.default.itemHeight,factor:e};let n=iu[e??`default`];return{itemHeight:t??n.itemHeight,factor:n.factor}}var ou=iu.default.itemHeight,su=`@layer base, theme, unsafe;
|
|
167
|
+
|
|
168
|
+
@layer base {
|
|
169
|
+
:host {
|
|
170
|
+
/*
|
|
171
|
+
CSS variables use a fallback stack to ensure user and theme colors slot
|
|
172
|
+
in with ease. User colors take precedence over theme colors, which take
|
|
173
|
+
precedence over defaults.
|
|
174
|
+
|
|
175
|
+
Fallback order:
|
|
176
|
+
|
|
177
|
+
1. --trees-*-override (explicit)
|
|
178
|
+
2. --trees-theme-* (e.g. Shiki/VS Code tokens)
|
|
179
|
+
3. defaults
|
|
180
|
+
|
|
181
|
+
Theme variable names mirror Shiki/VS Code theme file JSON tokens.
|
|
182
|
+
|
|
183
|
+
// Available CSS Color Overrides
|
|
184
|
+
--trees-fg-override
|
|
185
|
+
--trees-fg-muted-override
|
|
186
|
+
--trees-bg-override
|
|
187
|
+
--trees-bg-muted-override
|
|
188
|
+
--trees-accent-override
|
|
189
|
+
--trees-border-color-override
|
|
190
|
+
|
|
191
|
+
--trees-focus-ring-color-override
|
|
192
|
+
--trees-focus-ring-width-override
|
|
193
|
+
--trees-focus-ring-offset-override
|
|
194
|
+
|
|
195
|
+
--trees-search-fg-override
|
|
196
|
+
--trees-search-font-weight-override
|
|
197
|
+
--trees-search-bg-override
|
|
198
|
+
|
|
199
|
+
--trees-selected-fg-override
|
|
200
|
+
--trees-selected-bg-override
|
|
201
|
+
--trees-selected-focused-border-color-override
|
|
202
|
+
|
|
203
|
+
// Git Status Color Overrides
|
|
204
|
+
--trees-status-added-override
|
|
205
|
+
--trees-status-ignored-override
|
|
206
|
+
--trees-status-modified-override
|
|
207
|
+
--trees-status-renamed-override
|
|
208
|
+
--trees-status-untracked-override
|
|
209
|
+
--trees-status-deleted-override
|
|
210
|
+
--trees-git-added-color-override
|
|
211
|
+
--trees-git-ignored-color-override
|
|
212
|
+
--trees-git-modified-color-override
|
|
213
|
+
--trees-git-renamed-color-override
|
|
214
|
+
--trees-git-untracked-color-override
|
|
215
|
+
--trees-git-deleted-color-override
|
|
216
|
+
|
|
217
|
+
// Built-in File Icon Color Overrides
|
|
218
|
+
--trees-file-icon-color
|
|
219
|
+
--trees-file-icon-color-astro
|
|
220
|
+
--trees-file-icon-color-babel
|
|
221
|
+
--trees-file-icon-color-bash
|
|
222
|
+
--trees-file-icon-color-biome
|
|
223
|
+
--trees-file-icon-color-bootstrap
|
|
224
|
+
--trees-file-icon-color-browserslist
|
|
225
|
+
--trees-file-icon-color-bun
|
|
226
|
+
--trees-file-icon-color-claude
|
|
227
|
+
--trees-file-icon-color-css
|
|
228
|
+
--trees-file-icon-color-database
|
|
229
|
+
--trees-file-icon-color-default
|
|
230
|
+
--trees-file-icon-color-docker
|
|
231
|
+
--trees-file-icon-color-eslint
|
|
232
|
+
--trees-file-icon-color-git
|
|
233
|
+
--trees-file-icon-color-go
|
|
234
|
+
--trees-file-icon-color-graphql
|
|
235
|
+
--trees-file-icon-color-html
|
|
236
|
+
--trees-file-icon-color-image
|
|
237
|
+
--trees-file-icon-color-javascript
|
|
238
|
+
--trees-file-icon-color-json
|
|
239
|
+
--trees-file-icon-color-markdown
|
|
240
|
+
--trees-file-icon-color-mcp
|
|
241
|
+
--trees-file-icon-color-npm
|
|
242
|
+
--trees-file-icon-color-oxc
|
|
243
|
+
--trees-file-icon-color-postcss
|
|
244
|
+
--trees-file-icon-color-prettier
|
|
245
|
+
--trees-file-icon-color-python
|
|
246
|
+
--trees-file-icon-color-react
|
|
247
|
+
--trees-file-icon-color-ruby
|
|
248
|
+
--trees-file-icon-color-rust
|
|
249
|
+
--trees-file-icon-color-sass
|
|
250
|
+
--trees-file-icon-color-svg
|
|
251
|
+
--trees-file-icon-color-svelte
|
|
252
|
+
--trees-file-icon-color-svgo
|
|
253
|
+
--trees-file-icon-color-swift
|
|
254
|
+
--trees-file-icon-color-table
|
|
255
|
+
--trees-file-icon-color-text
|
|
256
|
+
--trees-file-icon-color-tailwind
|
|
257
|
+
--trees-file-icon-color-terraform
|
|
258
|
+
--trees-file-icon-color-typescript
|
|
259
|
+
--trees-file-icon-color-vite
|
|
260
|
+
--trees-file-icon-color-vscode
|
|
261
|
+
--trees-file-icon-color-vue
|
|
262
|
+
--trees-file-icon-color-wasm
|
|
263
|
+
--trees-file-icon-color-webpack
|
|
264
|
+
--trees-file-icon-color-yml
|
|
265
|
+
--trees-file-icon-color-zig
|
|
266
|
+
--trees-file-icon-color-zip
|
|
267
|
+
|
|
268
|
+
// Density
|
|
269
|
+
//
|
|
270
|
+
// A unitless scale factor for padding, gaps, and indentation. Usually
|
|
271
|
+
// set via \`density\` on useFileTree. Individual overrides take precedence.
|
|
272
|
+
//
|
|
273
|
+
// Compact: 0.8
|
|
274
|
+
// Default: 1
|
|
275
|
+
// Relaxed: 1.2
|
|
276
|
+
//
|
|
277
|
+
--trees-density-override
|
|
278
|
+
|
|
279
|
+
// Available CSS Layout Overrides
|
|
280
|
+
--trees-gap-override
|
|
281
|
+
--trees-border-radius-override
|
|
282
|
+
--trees-font-family-override
|
|
283
|
+
--trees-font-size-override
|
|
284
|
+
--trees-font-weight-regular-override
|
|
285
|
+
--trees-font-weight-semibold-override
|
|
286
|
+
--trees-level-gap-override
|
|
287
|
+
--trees-item-padding-x-override
|
|
288
|
+
--trees-item-margin-x-override
|
|
289
|
+
--trees-item-row-gap-override
|
|
290
|
+
--trees-icon-width-override
|
|
291
|
+
--trees-icon-nudge-override
|
|
292
|
+
--trees-scrollbar-gutter-override
|
|
293
|
+
--trees-padding-inline-override
|
|
294
|
+
*/
|
|
295
|
+
|
|
296
|
+
--trees-accent: var(--trees-accent-override, #009fff);
|
|
297
|
+
--trees-fg: var(
|
|
298
|
+
--trees-fg-override,
|
|
299
|
+
var(--trees-theme-sidebar-fg, light-dark(#6c6c71, #adadb1))
|
|
300
|
+
);
|
|
301
|
+
--trees-fg-muted: var(
|
|
302
|
+
--trees-fg-muted-override,
|
|
303
|
+
var(--trees-theme-sidebar-header-fg, light-dark(#84848a, #84848a))
|
|
304
|
+
);
|
|
305
|
+
--trees-bg: var(
|
|
306
|
+
--trees-bg-override,
|
|
307
|
+
var(--trees-theme-sidebar-bg, light-dark(#f8f8f8, #141415))
|
|
308
|
+
);
|
|
309
|
+
/* var(--trees-theme-list-hover-bg, light-dark(#dfebff59, #19283c59)) */
|
|
310
|
+
--trees-bg-muted: var(
|
|
311
|
+
--trees-bg-muted-override,
|
|
312
|
+
var(
|
|
313
|
+
--trees-theme-list-hover-bg,
|
|
314
|
+
light-dark(
|
|
315
|
+
color-mix(
|
|
316
|
+
in lab,
|
|
317
|
+
var(--trees-accent) var(--trees-bg-alpha-light, 8%),
|
|
318
|
+
var(--trees-bg)
|
|
319
|
+
),
|
|
320
|
+
color-mix(
|
|
321
|
+
in lab,
|
|
322
|
+
var(--trees-accent) var(--trees-bg-alpha-dark, 10%),
|
|
323
|
+
var(--trees-bg)
|
|
324
|
+
)
|
|
325
|
+
)
|
|
326
|
+
)
|
|
327
|
+
);
|
|
328
|
+
--trees-input-bg: var(
|
|
329
|
+
--trees-input-bg-override,
|
|
330
|
+
light-dark(#f8f8f8, #070707)
|
|
331
|
+
);
|
|
332
|
+
|
|
333
|
+
--trees-added-light: #16a994;
|
|
334
|
+
--trees-added-dark: #00cab1;
|
|
335
|
+
--trees-ignored-light: #adadb1;
|
|
336
|
+
--trees-ignored-dark: #4a4a4e;
|
|
337
|
+
--trees-modified-light: #1ca1c7;
|
|
338
|
+
--trees-modified-dark: #08c0ef;
|
|
339
|
+
--trees-renamed-light: #d5a910;
|
|
340
|
+
--trees-renamed-dark: #ffd452;
|
|
341
|
+
--trees-untracked-light: #16a994;
|
|
342
|
+
--trees-untracked-dark: #00cab1;
|
|
343
|
+
--trees-deleted-light: #ff2e3f;
|
|
344
|
+
--trees-deleted-dark: #ff6762;
|
|
345
|
+
|
|
346
|
+
--trees-border-color: var(
|
|
347
|
+
--trees-border-color-override,
|
|
348
|
+
var(--trees-theme-sidebar-border, light-dark(#eeeeef, #070707))
|
|
349
|
+
);
|
|
350
|
+
--trees-indent-guide-bg: var(
|
|
351
|
+
--trees-indent-guide-bg-override,
|
|
352
|
+
color-mix(in lab, var(--trees-fg-muted) 25%, transparent)
|
|
353
|
+
);
|
|
354
|
+
--trees-density: var(--trees-density-override, 1);
|
|
355
|
+
--trees-border-radius: var(
|
|
356
|
+
--trees-border-radius-override,
|
|
357
|
+
calc(6px * var(--trees-density))
|
|
358
|
+
);
|
|
359
|
+
|
|
360
|
+
--trees-font-family: var(--trees-font-family-override, system-ui);
|
|
361
|
+
--trees-font-size: var(--trees-font-size-override, 13px);
|
|
362
|
+
--trees-font-weight-regular: var(--trees-font-weight-regular-override, 400);
|
|
363
|
+
--trees-font-weight-semibold: var(
|
|
364
|
+
--trees-font-weight-semibold-override,
|
|
365
|
+
600
|
|
366
|
+
);
|
|
367
|
+
|
|
368
|
+
--trees-focus-ring-color: var(
|
|
369
|
+
--trees-focus-ring-color-override,
|
|
370
|
+
var(--trees-theme-focus-ring, var(--trees-accent))
|
|
371
|
+
);
|
|
372
|
+
--trees-focus-ring-width: var(--trees-focus-ring-width-override, 1px);
|
|
373
|
+
--trees-focus-ring-offset: var(--trees-focus-ring-offset-override, -1px);
|
|
374
|
+
|
|
375
|
+
--trees-search-fg: var(
|
|
376
|
+
--trees-search-fg-override,
|
|
377
|
+
var(--trees-theme-input-fg, var(--trees-fg))
|
|
378
|
+
);
|
|
379
|
+
--trees-search-font-weight: var(--trees-search-font-weight-override, 600);
|
|
380
|
+
--trees-search-bg: var(
|
|
381
|
+
--trees-search-bg-override,
|
|
382
|
+
var(--trees-theme-input-bg, var(--trees-input-bg))
|
|
383
|
+
);
|
|
384
|
+
|
|
385
|
+
--trees-scrollbar-thumb: var(
|
|
386
|
+
--trees-scrollbar-thumb-override,
|
|
387
|
+
var(
|
|
388
|
+
--trees-theme-scrollbar-thumb,
|
|
389
|
+
color-mix(in lab, var(--trees-fg) 25%, var(--trees-bg))
|
|
390
|
+
)
|
|
391
|
+
);
|
|
392
|
+
|
|
393
|
+
--trees-selected-fg: var(
|
|
394
|
+
--trees-selected-fg-override,
|
|
395
|
+
var(--trees-theme-list-active-selection-fg, var(--trees-fg))
|
|
396
|
+
);
|
|
397
|
+
--trees-selected-bg: var(
|
|
398
|
+
--trees-selected-bg-override,
|
|
399
|
+
var(
|
|
400
|
+
--trees-theme-list-active-selection-bg,
|
|
401
|
+
light-dark(
|
|
402
|
+
color-mix(in lab, var(--trees-accent) 12%, var(--trees-bg)),
|
|
403
|
+
color-mix(in lab, var(--trees-accent) 15%, var(--trees-bg))
|
|
404
|
+
)
|
|
405
|
+
)
|
|
406
|
+
);
|
|
407
|
+
--trees-selected-focused-border-color: var(
|
|
408
|
+
--trees-selected-focused-border-color-override,
|
|
409
|
+
var(--trees-theme-focus-ring, var(--trees-accent))
|
|
410
|
+
);
|
|
411
|
+
|
|
412
|
+
/* Git status (e.g. from Shiki theme gitDecoration.*) */
|
|
413
|
+
--trees-status-added: var(
|
|
414
|
+
--trees-status-added-override,
|
|
415
|
+
var(
|
|
416
|
+
--trees-theme-git-added-fg,
|
|
417
|
+
light-dark(var(--trees-added-light), var(--trees-added-dark))
|
|
418
|
+
)
|
|
419
|
+
);
|
|
420
|
+
--trees-status-ignored: var(
|
|
421
|
+
--trees-status-ignored-override,
|
|
422
|
+
var(
|
|
423
|
+
--trees-theme-git-ignored-fg,
|
|
424
|
+
light-dark(var(--trees-ignored-light), var(--trees-ignored-dark))
|
|
425
|
+
)
|
|
426
|
+
);
|
|
427
|
+
--trees-status-modified: var(
|
|
428
|
+
--trees-status-modified-override,
|
|
429
|
+
var(
|
|
430
|
+
--trees-theme-git-modified-fg,
|
|
431
|
+
light-dark(var(--trees-modified-light), var(--trees-modified-dark))
|
|
432
|
+
)
|
|
433
|
+
);
|
|
434
|
+
--trees-status-renamed: var(
|
|
435
|
+
--trees-status-renamed-override,
|
|
436
|
+
var(
|
|
437
|
+
--trees-theme-git-renamed-fg,
|
|
438
|
+
light-dark(var(--trees-renamed-light), var(--trees-renamed-dark))
|
|
439
|
+
)
|
|
440
|
+
);
|
|
441
|
+
--trees-status-untracked: var(
|
|
442
|
+
--trees-status-untracked-override,
|
|
443
|
+
var(
|
|
444
|
+
--trees-theme-git-untracked-fg,
|
|
445
|
+
light-dark(var(--trees-untracked-light), var(--trees-untracked-dark))
|
|
446
|
+
)
|
|
447
|
+
);
|
|
448
|
+
--trees-status-deleted: var(
|
|
449
|
+
--trees-status-deleted-override,
|
|
450
|
+
var(
|
|
451
|
+
--trees-theme-git-deleted-fg,
|
|
452
|
+
light-dark(var(--trees-deleted-light), var(--trees-deleted-dark))
|
|
453
|
+
)
|
|
454
|
+
);
|
|
455
|
+
--trees-git-modified-color: var(
|
|
456
|
+
--trees-git-modified-color-override,
|
|
457
|
+
var(--trees-status-modified)
|
|
458
|
+
);
|
|
459
|
+
--trees-git-added-color: var(
|
|
460
|
+
--trees-git-added-color-override,
|
|
461
|
+
var(--trees-status-added)
|
|
462
|
+
);
|
|
463
|
+
--trees-git-ignored-color: var(
|
|
464
|
+
--trees-git-ignored-color-override,
|
|
465
|
+
var(--trees-status-ignored)
|
|
466
|
+
);
|
|
467
|
+
--trees-git-deleted-color: var(
|
|
468
|
+
--trees-git-deleted-color-override,
|
|
469
|
+
var(--trees-status-deleted)
|
|
470
|
+
);
|
|
471
|
+
--trees-git-renamed-color: var(
|
|
472
|
+
--trees-git-renamed-color-override,
|
|
473
|
+
var(--trees-status-renamed)
|
|
474
|
+
);
|
|
475
|
+
--trees-git-untracked-color: var(
|
|
476
|
+
--trees-git-untracked-color-override,
|
|
477
|
+
var(--trees-status-untracked)
|
|
478
|
+
);
|
|
479
|
+
|
|
480
|
+
--trees-icon-gray: light-dark(#84848a, #adadb1);
|
|
481
|
+
--trees-icon-red: light-dark(#d52c36, #ff6762);
|
|
482
|
+
--trees-icon-vermilion: light-dark(#ff8c5b, #d5512f);
|
|
483
|
+
--trees-icon-orange: light-dark(#d47628, #ffa359);
|
|
484
|
+
--trees-icon-yellow: light-dark(#d5a910, #ffd452);
|
|
485
|
+
--trees-icon-green: light-dark(#199f43, #5ecc71);
|
|
486
|
+
--trees-icon-teal: light-dark(#17a5af, #64d1db);
|
|
487
|
+
--trees-icon-cyan: light-dark(#1ca1c7, #68cdf2);
|
|
488
|
+
--trees-icon-blue: light-dark(#1a85d4, #69b1ff);
|
|
489
|
+
--trees-icon-indigo: light-dark(#693acf, #9d6afb);
|
|
490
|
+
--trees-icon-purple: light-dark(#a631be, #d568ea);
|
|
491
|
+
--trees-icon-pink: light-dark(#d32a61, #ff678d);
|
|
492
|
+
--trees-icon-mauve: light-dark(#594c5b, #79697b);
|
|
493
|
+
|
|
494
|
+
--trees-file-icon-color-default: var(
|
|
495
|
+
--trees-file-icon-color,
|
|
496
|
+
var(--trees-icon-gray)
|
|
497
|
+
);
|
|
498
|
+
--trees-file-icon-color-astro: var(
|
|
499
|
+
--trees-file-icon-color,
|
|
500
|
+
var(--trees-icon-purple)
|
|
501
|
+
);
|
|
502
|
+
--trees-file-icon-color-babel: var(
|
|
503
|
+
--trees-file-icon-color,
|
|
504
|
+
var(--trees-icon-yellow)
|
|
505
|
+
);
|
|
506
|
+
--trees-file-icon-color-bash: var(
|
|
507
|
+
--trees-file-icon-color,
|
|
508
|
+
var(--trees-icon-green)
|
|
509
|
+
);
|
|
510
|
+
--trees-file-icon-color-biome: var(
|
|
511
|
+
--trees-file-icon-color,
|
|
512
|
+
var(--trees-icon-blue)
|
|
513
|
+
);
|
|
514
|
+
--trees-file-icon-color-bootstrap: var(
|
|
515
|
+
--trees-file-icon-color,
|
|
516
|
+
var(--trees-icon-indigo)
|
|
517
|
+
);
|
|
518
|
+
--trees-file-icon-color-browserslist: var(
|
|
519
|
+
--trees-file-icon-color,
|
|
520
|
+
var(--trees-icon-yellow)
|
|
521
|
+
);
|
|
522
|
+
--trees-file-icon-color-bun: var(
|
|
523
|
+
--trees-file-icon-color,
|
|
524
|
+
var(--trees-icon-mauve)
|
|
525
|
+
);
|
|
526
|
+
--trees-file-icon-color-claude: var(
|
|
527
|
+
--trees-file-icon-color,
|
|
528
|
+
var(--trees-icon-orange)
|
|
529
|
+
);
|
|
530
|
+
--trees-file-icon-color-css: var(
|
|
531
|
+
--trees-file-icon-color,
|
|
532
|
+
var(--trees-icon-indigo)
|
|
533
|
+
);
|
|
534
|
+
--trees-file-icon-color-database: var(
|
|
535
|
+
--trees-file-icon-color,
|
|
536
|
+
var(--trees-icon-purple)
|
|
537
|
+
);
|
|
538
|
+
--trees-file-icon-color-docker: var(
|
|
539
|
+
--trees-file-icon-color,
|
|
540
|
+
var(--trees-icon-blue)
|
|
541
|
+
);
|
|
542
|
+
--trees-file-icon-color-eslint: var(
|
|
543
|
+
--trees-file-icon-color,
|
|
544
|
+
var(--trees-icon-indigo)
|
|
545
|
+
);
|
|
546
|
+
--trees-file-icon-color-git: var(
|
|
547
|
+
--trees-file-icon-vermilion,
|
|
548
|
+
var(--trees-icon-vermilion)
|
|
549
|
+
);
|
|
550
|
+
--trees-file-icon-color-go: var(
|
|
551
|
+
--trees-file-icon-color,
|
|
552
|
+
var(--trees-icon-cyan)
|
|
553
|
+
);
|
|
554
|
+
--trees-file-icon-color-graphql: var(
|
|
555
|
+
--trees-file-icon-color,
|
|
556
|
+
var(--trees-icon-pink)
|
|
557
|
+
);
|
|
558
|
+
--trees-file-icon-color-html: var(
|
|
559
|
+
--trees-file-icon-color,
|
|
560
|
+
var(--trees-icon-orange)
|
|
561
|
+
);
|
|
562
|
+
--trees-file-icon-color-image: var(
|
|
563
|
+
--trees-file-icon-color,
|
|
564
|
+
var(--trees-icon-pink)
|
|
565
|
+
);
|
|
566
|
+
--trees-file-icon-color-javascript: var(
|
|
567
|
+
--trees-file-icon-color,
|
|
568
|
+
var(--trees-icon-yellow)
|
|
569
|
+
);
|
|
570
|
+
--trees-file-icon-color-json: var(
|
|
571
|
+
--trees-file-icon-color,
|
|
572
|
+
var(--trees-icon-orange)
|
|
573
|
+
);
|
|
574
|
+
--trees-file-icon-color-markdown: var(
|
|
575
|
+
--trees-file-icon-color,
|
|
576
|
+
var(--trees-icon-green)
|
|
577
|
+
);
|
|
578
|
+
--trees-file-icon-color-mcp: var(
|
|
579
|
+
--trees-file-icon-color,
|
|
580
|
+
var(--trees-icon-teal)
|
|
581
|
+
);
|
|
582
|
+
--trees-file-icon-color-npm: var(
|
|
583
|
+
--trees-file-icon-color,
|
|
584
|
+
var(--trees-icon-red)
|
|
585
|
+
);
|
|
586
|
+
--trees-file-icon-color-oxc: var(
|
|
587
|
+
--trees-file-icon-cyan,
|
|
588
|
+
var(--trees-icon-cyan)
|
|
589
|
+
);
|
|
590
|
+
--trees-file-icon-color-postcss: var(
|
|
591
|
+
--trees-file-icon-color,
|
|
592
|
+
var(--trees-icon-red)
|
|
593
|
+
);
|
|
594
|
+
--trees-file-icon-color-prettier: var(
|
|
595
|
+
--trees-file-icon-color,
|
|
596
|
+
var(--trees-icon-teal)
|
|
597
|
+
);
|
|
598
|
+
--trees-file-icon-color-python: var(
|
|
599
|
+
--trees-file-icon-color,
|
|
600
|
+
var(--trees-icon-blue)
|
|
601
|
+
);
|
|
602
|
+
--trees-file-icon-color-react: var(
|
|
603
|
+
--trees-file-icon-color,
|
|
604
|
+
var(--trees-icon-cyan)
|
|
605
|
+
);
|
|
606
|
+
--trees-file-icon-color-ruby: var(
|
|
607
|
+
--trees-file-icon-color,
|
|
608
|
+
var(--trees-icon-red)
|
|
609
|
+
);
|
|
610
|
+
--trees-file-icon-color-rust: var(
|
|
611
|
+
--trees-file-icon-color,
|
|
612
|
+
var(--trees-icon-orange)
|
|
613
|
+
);
|
|
614
|
+
--trees-file-icon-color-sass: var(
|
|
615
|
+
--trees-file-icon-color,
|
|
616
|
+
var(--trees-icon-pink)
|
|
617
|
+
);
|
|
618
|
+
--trees-file-icon-color-svg: var(
|
|
619
|
+
--trees-file-icon-color,
|
|
620
|
+
var(--trees-icon-orange)
|
|
621
|
+
);
|
|
622
|
+
--trees-file-icon-color-svelte: var(
|
|
623
|
+
--trees-file-icon-color,
|
|
624
|
+
var(--trees-icon-red)
|
|
625
|
+
);
|
|
626
|
+
--trees-file-icon-color-svgo: var(
|
|
627
|
+
--trees-file-icon-color,
|
|
628
|
+
var(--trees-icon-green)
|
|
629
|
+
);
|
|
630
|
+
--trees-file-icon-color-swift: var(
|
|
631
|
+
--trees-file-icon-color,
|
|
632
|
+
var(--trees-icon-orange)
|
|
633
|
+
);
|
|
634
|
+
--trees-file-icon-color-table: var(
|
|
635
|
+
--trees-file-icon-color,
|
|
636
|
+
var(--trees-icon-teal)
|
|
637
|
+
);
|
|
638
|
+
--trees-file-icon-color-text: var(
|
|
639
|
+
--trees-file-icon-color,
|
|
640
|
+
var(--trees-icon-gray)
|
|
641
|
+
);
|
|
642
|
+
--trees-file-icon-color-tailwind: var(
|
|
643
|
+
--trees-file-icon-color,
|
|
644
|
+
var(--trees-icon-cyan)
|
|
645
|
+
);
|
|
646
|
+
--trees-file-icon-color-terraform: var(
|
|
647
|
+
--trees-file-icon-color,
|
|
648
|
+
var(--trees-icon-indigo)
|
|
649
|
+
);
|
|
650
|
+
--trees-file-icon-color-typescript: var(
|
|
651
|
+
--trees-file-icon-color,
|
|
652
|
+
var(--trees-icon-blue)
|
|
653
|
+
);
|
|
654
|
+
--trees-file-icon-color-vite: var(
|
|
655
|
+
--trees-file-icon-color,
|
|
656
|
+
var(--trees-icon-purple)
|
|
657
|
+
);
|
|
658
|
+
--trees-file-icon-color-vscode: var(
|
|
659
|
+
--trees-file-icon-color,
|
|
660
|
+
var(--trees-icon-blue)
|
|
661
|
+
);
|
|
662
|
+
--trees-file-icon-color-vue: var(
|
|
663
|
+
--trees-file-icon-color,
|
|
664
|
+
var(--trees-icon-green)
|
|
665
|
+
);
|
|
666
|
+
--trees-file-icon-color-wasm: var(
|
|
667
|
+
--trees-file-icon-color,
|
|
668
|
+
var(--trees-icon-indigo)
|
|
669
|
+
);
|
|
670
|
+
--trees-file-icon-color-webpack: var(
|
|
671
|
+
--trees-file-icon-color,
|
|
672
|
+
var(--trees-icon-blue)
|
|
673
|
+
);
|
|
674
|
+
--trees-file-icon-color-yml: var(
|
|
675
|
+
--trees-file-icon-color,
|
|
676
|
+
var(--trees-icon-red)
|
|
677
|
+
);
|
|
678
|
+
--trees-file-icon-color-zig: var(
|
|
679
|
+
--trees-file-icon-color,
|
|
680
|
+
var(--trees-icon-orange)
|
|
681
|
+
);
|
|
682
|
+
--trees-file-icon-color-zip: var(
|
|
683
|
+
--trees-file-icon-color,
|
|
684
|
+
var(--trees-icon-orange)
|
|
685
|
+
);
|
|
686
|
+
|
|
687
|
+
--trees-level-gap: var(
|
|
688
|
+
--trees-level-gap-override,
|
|
689
|
+
calc(8px * var(--trees-density))
|
|
690
|
+
);
|
|
691
|
+
--trees-item-padding-x: var(
|
|
692
|
+
--trees-item-padding-x-override,
|
|
693
|
+
calc(8px * var(--trees-density))
|
|
694
|
+
);
|
|
695
|
+
--trees-item-margin-x: var(
|
|
696
|
+
--trees-item-margin-x-override,
|
|
697
|
+
calc(2px * var(--trees-density))
|
|
698
|
+
);
|
|
699
|
+
--trees-item-row-gap: var(
|
|
700
|
+
--trees-item-row-gap-override,
|
|
701
|
+
calc(6px * var(--trees-density))
|
|
702
|
+
);
|
|
703
|
+
--trees-icon-width: var(--trees-icon-width-override, 16px);
|
|
704
|
+
--trees-icon-nudge: var(
|
|
705
|
+
--trees-icon-nudge-override,
|
|
706
|
+
calc(1px * var(--trees-density))
|
|
707
|
+
);
|
|
708
|
+
--trees-row-height: var(--trees-item-height, 30px);
|
|
709
|
+
--trees-git-lane-width: var(--trees-git-lane-width-override, 12px);
|
|
710
|
+
--trees-action-lane-width: var(
|
|
711
|
+
--trees-action-lane-width-override,
|
|
712
|
+
calc(var(--trees-icon-width) + 2px)
|
|
713
|
+
);
|
|
714
|
+
/* Keep the floating trigger aligned with the row's action lane. Going in
|
|
715
|
+
from the root's right edge: the scroll container reserves
|
|
716
|
+
\`--trees-padding-inline\` of effective inset on each side (its asymmetric
|
|
717
|
+
padding formula cancels the scrollbar gutter on the right), the row
|
|
718
|
+
sits inside that inset, and its trailing \`--trees-item-padding-x\` is the
|
|
719
|
+
action lane itself. The trigger's own focus-ring margin then trims one
|
|
720
|
+
pixel back so the button's visible right edge lines up with the lane. */
|
|
721
|
+
--trees-context-menu-trigger-inline-offset: calc(
|
|
722
|
+
var(--trees-padding-inline) + var(--trees-item-padding-x) -
|
|
723
|
+
var(--trees-focus-ring-width)
|
|
724
|
+
);
|
|
725
|
+
|
|
726
|
+
--trees-scrollbar-gutter: var(--trees-scrollbar-gutter-override, 6px);
|
|
727
|
+
--trees-padding-inline: var(--trees-padding-inline-override, 16px);
|
|
728
|
+
|
|
729
|
+
color-scheme: light dark;
|
|
730
|
+
display: flex;
|
|
731
|
+
flex-direction: column;
|
|
732
|
+
font-size: var(--trees-font-size);
|
|
733
|
+
color: var(--trees-fg);
|
|
734
|
+
background-color: var(--trees-bg);
|
|
735
|
+
--truncate-marker-background-color: var(--trees-bg);
|
|
736
|
+
--truncate-marker-background-overlay-color: transparent;
|
|
737
|
+
font-family: var(--trees-font-family);
|
|
738
|
+
font-weight: var(--trees-font-weight-regular);
|
|
739
|
+
}
|
|
740
|
+
|
|
741
|
+
:host([data-file-tree-virtualized='true']) {
|
|
742
|
+
height: 100%;
|
|
743
|
+
overflow: hidden;
|
|
744
|
+
}
|
|
745
|
+
|
|
746
|
+
[data-file-tree-virtualized-wrapper='true'] {
|
|
747
|
+
height: 100%;
|
|
748
|
+
overflow: hidden;
|
|
749
|
+
display: flex;
|
|
750
|
+
flex-direction: column;
|
|
751
|
+
}
|
|
752
|
+
|
|
753
|
+
[data-file-tree-virtualized-root='true'] {
|
|
754
|
+
height: 100%;
|
|
755
|
+
display: flex;
|
|
756
|
+
flex-direction: column;
|
|
757
|
+
overflow: hidden;
|
|
758
|
+
}
|
|
759
|
+
|
|
760
|
+
[data-file-tree-virtualized-scroll='true'],
|
|
761
|
+
[data-file-tree-scrollbar-measure='true'] {
|
|
762
|
+
overflow-y: auto;
|
|
763
|
+
scrollbar-gutter: stable;
|
|
764
|
+
|
|
765
|
+
&::-webkit-scrollbar {
|
|
766
|
+
width: var(--trees-scrollbar-gutter);
|
|
767
|
+
height: var(--trees-scrollbar-gutter);
|
|
768
|
+
}
|
|
769
|
+
|
|
770
|
+
&::-webkit-scrollbar-track {
|
|
771
|
+
background: transparent;
|
|
772
|
+
}
|
|
773
|
+
|
|
774
|
+
&::-webkit-scrollbar-thumb {
|
|
775
|
+
background-color: var(--trees-scrollbar-thumb);
|
|
776
|
+
border: 1px solid transparent;
|
|
777
|
+
background-clip: content-box;
|
|
778
|
+
border-radius: calc(var(--trees-scrollbar-gutter) / 2);
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
&::-webkit-scrollbar-corner {
|
|
782
|
+
background-color: transparent;
|
|
783
|
+
}
|
|
784
|
+
}
|
|
785
|
+
|
|
786
|
+
/* These are styles for a temporarily generated element to measure the size
|
|
787
|
+
* of the scrollbar. It's intended to be somewhat similar in scrollbar style
|
|
788
|
+
* scope to the scrollable tree so \`--trees-scrollbar-gutter-measured\` is an
|
|
789
|
+
* accurate reflection of the size the scrollbar gutter takes up. */
|
|
790
|
+
[data-file-tree-scrollbar-measure='true'] {
|
|
791
|
+
position: absolute;
|
|
792
|
+
top: 0;
|
|
793
|
+
left: 0;
|
|
794
|
+
visibility: hidden;
|
|
795
|
+
pointer-events: none;
|
|
796
|
+
width: 100px;
|
|
797
|
+
height: 100px;
|
|
798
|
+
}
|
|
799
|
+
|
|
800
|
+
@supports (-moz-appearance: none) {
|
|
801
|
+
[data-file-tree-virtualized-scroll='true'],
|
|
802
|
+
[data-file-tree-scrollbar-measure='true'] {
|
|
803
|
+
scrollbar-width: thin;
|
|
804
|
+
scrollbar-color: var(--trees-scrollbar-thumb) transparent;
|
|
805
|
+
}
|
|
806
|
+
}
|
|
807
|
+
|
|
808
|
+
[data-file-tree-virtualized-scroll='true'] {
|
|
809
|
+
position: relative;
|
|
810
|
+
overflow-y: auto;
|
|
811
|
+
flex: 1 1 0;
|
|
812
|
+
min-height: 0;
|
|
813
|
+
padding-inline: max(
|
|
814
|
+
calc(var(--trees-padding-inline) - var(--trees-item-margin-x)),
|
|
815
|
+
0px
|
|
816
|
+
)
|
|
817
|
+
/* NOTE(amadeus): We can assume that all Webkit based browser gutters
|
|
818
|
+
* will align to the value of '--trees-scrollbar-gutter', however if not, then
|
|
819
|
+
* \`--trees-scrollbar-gutter-measured\` should correct it. Mostly we are
|
|
820
|
+
* hoping to avoid SSR alignment jumps if possible. In non-SSR'd environments
|
|
821
|
+
* \`--trees-scrollbar-gutter-measured\` should always be immediately available.
|
|
822
|
+
*/
|
|
823
|
+
max(
|
|
824
|
+
calc(
|
|
825
|
+
var(--trees-padding-inline) - var(--trees-item-margin-x) -
|
|
826
|
+
var(
|
|
827
|
+
--trees-scrollbar-gutter-measured,
|
|
828
|
+
var(--trees-scrollbar-gutter)
|
|
829
|
+
)
|
|
830
|
+
),
|
|
831
|
+
0px
|
|
832
|
+
);
|
|
833
|
+
}
|
|
834
|
+
|
|
835
|
+
@supports (-moz-appearance: none) {
|
|
836
|
+
[data-file-tree-virtualized-scroll='true'] {
|
|
837
|
+
padding-inline: max(
|
|
838
|
+
calc(var(--trees-padding-inline) - var(--trees-item-margin-x)),
|
|
839
|
+
0px
|
|
840
|
+
)
|
|
841
|
+
/* NOTE(amadeus): However on Firefox it can vary a little bit, but most
|
|
842
|
+
* likely the majority of cases will default to a 0px width scrollbar lets
|
|
843
|
+
* inherit that first to avoid SSR jumps. In non-SSR'd environments
|
|
844
|
+
* \`--trees-scrollbar-gutter-measured\` should always be immediately available.
|
|
845
|
+
*/
|
|
846
|
+
max(
|
|
847
|
+
calc(
|
|
848
|
+
var(--trees-padding-inline) - var(--trees-item-margin-x) -
|
|
849
|
+
var(--trees-scrollbar-gutter-measured, 0px)
|
|
850
|
+
),
|
|
851
|
+
0px
|
|
852
|
+
);
|
|
853
|
+
}
|
|
854
|
+
}
|
|
855
|
+
|
|
856
|
+
[data-file-tree-sticky-overlay='true'] {
|
|
857
|
+
position: sticky;
|
|
858
|
+
top: 0;
|
|
859
|
+
height: 0;
|
|
860
|
+
z-index: 4;
|
|
861
|
+
overflow: visible;
|
|
862
|
+
pointer-events: none;
|
|
863
|
+
}
|
|
864
|
+
|
|
865
|
+
/* The overlay DOM is kept populated even at scrollTop=0 so the browser has
|
|
866
|
+
* the rendered rows on hand the moment scrolling begins — otherwise the
|
|
867
|
+
* compositor paints a scrolled frame before React can mount the overlay,
|
|
868
|
+
* and the topmost sticky folder jumps up by a couple of pixels before it
|
|
869
|
+
* "snaps" into its pinned position. We hide it via CSS whenever the scroll
|
|
870
|
+
* is at the top and no scroll is in progress, so the preview doesn't leak
|
|
871
|
+
* through at rest. \`data-overlay-reveal\` is stamped on the root only when
|
|
872
|
+
* the user initiates a scroll while already at the top — exactly the case
|
|
873
|
+
* where we need the pre-mounted overlay to be visible through the first
|
|
874
|
+
* compositor frame. It is deliberately distinct from the general
|
|
875
|
+
* \`data-is-scrolling\` flag so a scroll that ends at the top (e.g. ArrowUp
|
|
876
|
+
* navigation) re-hides the overlay the instant the scroll lands, rather
|
|
877
|
+
* than waiting for the hover-suppression timer to elapse. */
|
|
878
|
+
[data-file-tree-virtualized-root='true'][data-scroll-at-top='true']:not(
|
|
879
|
+
[data-overlay-reveal]
|
|
880
|
+
)
|
|
881
|
+
[data-file-tree-sticky-overlay='true'] {
|
|
882
|
+
visibility: hidden;
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
[data-file-tree-sticky-overlay-content='true'] {
|
|
886
|
+
background-color: var(--trees-bg);
|
|
887
|
+
position: relative;
|
|
888
|
+
pointer-events: none;
|
|
889
|
+
}
|
|
890
|
+
|
|
891
|
+
[data-file-tree-virtualized-list='true'] {
|
|
892
|
+
background-color: var(--trees-bg);
|
|
893
|
+
position: relative;
|
|
894
|
+
min-height: 100%;
|
|
895
|
+
width: 100%;
|
|
896
|
+
overflow-anchor: none;
|
|
897
|
+
|
|
898
|
+
&[data-is-scrolling] {
|
|
899
|
+
pointer-events: none;
|
|
900
|
+
}
|
|
901
|
+
}
|
|
902
|
+
|
|
903
|
+
[data-file-tree-virtualized-sticky-offset='true'] {
|
|
904
|
+
contain: layout size;
|
|
905
|
+
}
|
|
906
|
+
|
|
907
|
+
[data-file-tree-virtualized-sticky='true'] {
|
|
908
|
+
position: sticky;
|
|
909
|
+
top: 0;
|
|
910
|
+
width: 100%;
|
|
911
|
+
display: flex;
|
|
912
|
+
flex-direction: column;
|
|
913
|
+
isolation: isolate;
|
|
914
|
+
/* Promote to its own compositor layer so text inside the window is
|
|
915
|
+
* rasterized once and GPU-translated during scroll. Without this, the
|
|
916
|
+
* browser re-paints the window (and its text) at every scroll frame,
|
|
917
|
+
* which produces visible 1px shake / character tearing. */
|
|
918
|
+
will-change: transform;
|
|
919
|
+
}
|
|
920
|
+
|
|
921
|
+
[data-file-tree-search-container] {
|
|
922
|
+
display: flex;
|
|
923
|
+
padding: 0;
|
|
924
|
+
padding-inline: var(--trees-padding-inline);
|
|
925
|
+
margin-bottom: var(--trees-item-row-gap);
|
|
926
|
+
}
|
|
927
|
+
|
|
928
|
+
[data-file-tree-search-input] {
|
|
929
|
+
--trees-focus-ring-width: 2px;
|
|
930
|
+
font-family: var(--trees-font-family);
|
|
931
|
+
font-size: var(--trees-font-size);
|
|
932
|
+
flex: 1;
|
|
933
|
+
height: var(--trees-row-height);
|
|
934
|
+
/* 1px breathing room so the focus-visible outline isn't clipped when the
|
|
935
|
+
* input sits flush against the top of the scroll container. */
|
|
936
|
+
margin-block: 1px;
|
|
937
|
+
padding-inline: var(--trees-item-padding-x);
|
|
938
|
+
line-height: var(--trees-row-height);
|
|
939
|
+
color: var(--trees-search-fg);
|
|
940
|
+
background-color: var(--trees-search-bg);
|
|
941
|
+
border: 1px solid var(--trees-border-color);
|
|
942
|
+
border-radius: var(--trees-border-radius);
|
|
943
|
+
outline: none;
|
|
944
|
+
|
|
945
|
+
&::placeholder {
|
|
946
|
+
color: color-mix(
|
|
947
|
+
in lab,
|
|
948
|
+
var(--trees-search-fg) 65%,
|
|
949
|
+
var(--trees-search-bg)
|
|
950
|
+
);
|
|
951
|
+
}
|
|
952
|
+
|
|
953
|
+
&:focus-visible,
|
|
954
|
+
&[data-file-tree-search-input-fake-focus='true'] {
|
|
955
|
+
outline: var(--trees-focus-ring-width) solid var(--trees-focus-ring-color);
|
|
956
|
+
outline-offset: var(--trees-focus-ring-offset);
|
|
957
|
+
}
|
|
958
|
+
}
|
|
959
|
+
|
|
960
|
+
/* The wrapper for the tree items */
|
|
961
|
+
[role='tree'] {
|
|
962
|
+
position: relative;
|
|
963
|
+
display: flex;
|
|
964
|
+
flex-direction: column;
|
|
965
|
+
gap: var(--trees-gap-override, 0);
|
|
966
|
+
}
|
|
967
|
+
|
|
968
|
+
/* LIST ITEM */
|
|
969
|
+
[data-type='item'] {
|
|
970
|
+
color: inherit;
|
|
971
|
+
font-family: var(--trees-font-family);
|
|
972
|
+
font-size: var(--trees-font-size);
|
|
973
|
+
text-align: start;
|
|
974
|
+
outline: none;
|
|
975
|
+
background-color: var(--trees-bg);
|
|
976
|
+
border: none;
|
|
977
|
+
position: relative;
|
|
978
|
+
|
|
979
|
+
padding: 0 var(--trees-item-padding-x);
|
|
980
|
+
margin: 0 var(--trees-item-margin-x);
|
|
981
|
+
cursor: pointer;
|
|
982
|
+
-webkit-user-select: none;
|
|
983
|
+
user-select: none;
|
|
984
|
+
-webkit-touch-callout: none;
|
|
985
|
+
touch-action: manipulation;
|
|
986
|
+
display: flex;
|
|
987
|
+
flex: 0 0 var(--trees-row-height);
|
|
988
|
+
align-items: center;
|
|
989
|
+
height: var(--trees-row-height);
|
|
990
|
+
line-height: var(--trees-row-height);
|
|
991
|
+
gap: var(--trees-item-row-gap);
|
|
992
|
+
border-radius: var(--trees-border-radius);
|
|
993
|
+
/* Row states may be translucent, so markers paint the tree background first
|
|
994
|
+
* and then the state color on top to avoid compositing the same alpha twice. */
|
|
995
|
+
--truncate-marker-background-color: var(--trees-bg);
|
|
996
|
+
--truncate-marker-background-overlay-color: transparent;
|
|
997
|
+
--truncate-marker-block-inset: 0px;
|
|
998
|
+
|
|
999
|
+
&:hover,
|
|
1000
|
+
&[data-item-context-hover='true'] {
|
|
1001
|
+
background-color: var(--trees-bg-muted);
|
|
1002
|
+
--truncate-marker-background-overlay-color: var(--trees-bg-muted);
|
|
1003
|
+
}
|
|
1004
|
+
|
|
1005
|
+
&[data-item-focused='true'],
|
|
1006
|
+
&:focus-visible {
|
|
1007
|
+
z-index: 2;
|
|
1008
|
+
|
|
1009
|
+
/* Flattened segment markers sit high enough to cover the row outline unless
|
|
1010
|
+
* their painted background is inset by the focus ring width. */
|
|
1011
|
+
[data-item-flattened-subitems] {
|
|
1012
|
+
--truncate-marker-block-inset: var(--trees-focus-ring-width);
|
|
1013
|
+
}
|
|
1014
|
+
|
|
1015
|
+
&::before {
|
|
1016
|
+
position: absolute;
|
|
1017
|
+
inset: 0;
|
|
1018
|
+
content: '';
|
|
1019
|
+
display: block;
|
|
1020
|
+
border-radius: var(--trees-border-radius);
|
|
1021
|
+
outline: var(--trees-focus-ring-width) solid
|
|
1022
|
+
var(--trees-focus-ring-color);
|
|
1023
|
+
outline-offset: var(--trees-focus-ring-offset);
|
|
1024
|
+
pointer-events: none;
|
|
1025
|
+
}
|
|
1026
|
+
|
|
1027
|
+
&[data-item-selected='true']::before {
|
|
1028
|
+
outline-color: var(--trees-selected-focused-border-color);
|
|
1029
|
+
}
|
|
1030
|
+
}
|
|
1031
|
+
|
|
1032
|
+
&[data-item-selected='true'] {
|
|
1033
|
+
color: var(--trees-selected-fg);
|
|
1034
|
+
background-color: var(--trees-selected-bg);
|
|
1035
|
+
--truncate-marker-background-overlay-color: var(--trees-selected-bg);
|
|
1036
|
+
z-index: 3;
|
|
1037
|
+
|
|
1038
|
+
[data-item-section='icon'] {
|
|
1039
|
+
color: var(--trees-selected-fg);
|
|
1040
|
+
}
|
|
1041
|
+
}
|
|
1042
|
+
|
|
1043
|
+
&[data-item-search-match='true'] {
|
|
1044
|
+
font-weight: var(--trees-search-font-weight);
|
|
1045
|
+
}
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
[data-type='item'][data-file-tree-sticky-row='true'] {
|
|
1049
|
+
pointer-events: auto;
|
|
1050
|
+
}
|
|
1051
|
+
|
|
1052
|
+
/* Sticky rows opt back into pointer events because the overlay wrapper is
|
|
1053
|
+
* inert. During scroll, put them back under the same hover suppression as
|
|
1054
|
+
* the virtualized list so translucent hover states and menu triggers do not
|
|
1055
|
+
* paint over rows moving beneath the sticky stack. */
|
|
1056
|
+
[data-file-tree-virtualized-root='true'][data-is-scrolling]
|
|
1057
|
+
[data-type='item'][data-file-tree-sticky-row='true'] {
|
|
1058
|
+
pointer-events: none;
|
|
1059
|
+
}
|
|
1060
|
+
|
|
1061
|
+
[data-file-tree-virtualized-root='true'][data-is-scrolling]
|
|
1062
|
+
[data-type='item'][data-file-tree-sticky-row='true']:hover:not(
|
|
1063
|
+
[data-item-selected='true']
|
|
1064
|
+
),
|
|
1065
|
+
[data-file-tree-virtualized-root='true'][data-is-scrolling]
|
|
1066
|
+
[data-type='item'][data-file-tree-sticky-row='true'][data-item-context-hover='true']:not(
|
|
1067
|
+
[data-item-selected='true']
|
|
1068
|
+
) {
|
|
1069
|
+
background-color: var(--trees-bg);
|
|
1070
|
+
--truncate-marker-background-overlay-color: transparent;
|
|
1071
|
+
}
|
|
1072
|
+
|
|
1073
|
+
[data-item-selected='true']:has(+ [data-item-selected='true']) {
|
|
1074
|
+
border-bottom-left-radius: 0;
|
|
1075
|
+
border-bottom-right-radius: 0;
|
|
1076
|
+
}
|
|
1077
|
+
|
|
1078
|
+
[data-item-selected='true'] + [data-item-selected='true'] {
|
|
1079
|
+
border-top-left-radius: 0;
|
|
1080
|
+
border-top-right-radius: 0;
|
|
1081
|
+
}
|
|
1082
|
+
|
|
1083
|
+
/* Flattened Directory Parts */
|
|
1084
|
+
[data-item-flattened-subitems] {
|
|
1085
|
+
display: inline-flex;
|
|
1086
|
+
align-items: center;
|
|
1087
|
+
gap: 2px;
|
|
1088
|
+
}
|
|
1089
|
+
[data-item-flattened-subitem]:hover,
|
|
1090
|
+
[data-item-flattened-subitem-drag-target='true'] {
|
|
1091
|
+
text-decoration: underline;
|
|
1092
|
+
}
|
|
1093
|
+
|
|
1094
|
+
/* Icon for each item */
|
|
1095
|
+
[data-item-section='icon'] {
|
|
1096
|
+
flex-shrink: 0;
|
|
1097
|
+
display: flex;
|
|
1098
|
+
align-items: center;
|
|
1099
|
+
justify-content: center;
|
|
1100
|
+
color: var(--trees-fg-muted);
|
|
1101
|
+
fill: currentColor;
|
|
1102
|
+
width: var(--trees-icon-width);
|
|
1103
|
+
}
|
|
1104
|
+
|
|
1105
|
+
:where([data-item-section='icon'] > [data-icon-token]) {
|
|
1106
|
+
color: var(--trees-fg-muted);
|
|
1107
|
+
}
|
|
1108
|
+
|
|
1109
|
+
[data-file-tree-colored-icons='true'] {
|
|
1110
|
+
[data-icon-token='astro'] {
|
|
1111
|
+
color: var(--trees-file-icon-color-astro);
|
|
1112
|
+
}
|
|
1113
|
+
[data-icon-token='babel'] {
|
|
1114
|
+
color: var(--trees-file-icon-color-babel);
|
|
1115
|
+
}
|
|
1116
|
+
[data-icon-token='bash'] {
|
|
1117
|
+
color: var(--trees-file-icon-color-bash);
|
|
1118
|
+
}
|
|
1119
|
+
[data-icon-token='biome'] {
|
|
1120
|
+
color: var(--trees-file-icon-color-biome);
|
|
1121
|
+
}
|
|
1122
|
+
[data-icon-token='bootstrap'] {
|
|
1123
|
+
color: var(--trees-file-icon-color-bootstrap);
|
|
1124
|
+
}
|
|
1125
|
+
[data-icon-token='browserslist'] {
|
|
1126
|
+
color: var(--trees-file-icon-color-browserslist);
|
|
1127
|
+
}
|
|
1128
|
+
[data-icon-token='bun'] {
|
|
1129
|
+
color: var(--trees-file-icon-color-bun);
|
|
1130
|
+
}
|
|
1131
|
+
[data-icon-token='claude'] {
|
|
1132
|
+
color: var(--trees-file-icon-color-claude);
|
|
1133
|
+
}
|
|
1134
|
+
[data-icon-token='css'] {
|
|
1135
|
+
color: var(--trees-file-icon-color-css);
|
|
1136
|
+
}
|
|
1137
|
+
[data-icon-token='database'] {
|
|
1138
|
+
color: var(--trees-file-icon-color-database);
|
|
1139
|
+
}
|
|
1140
|
+
[data-icon-token='default'] {
|
|
1141
|
+
color: var(--trees-file-icon-color-default);
|
|
1142
|
+
}
|
|
1143
|
+
[data-icon-token='docker'] {
|
|
1144
|
+
color: var(--trees-file-icon-color-docker);
|
|
1145
|
+
}
|
|
1146
|
+
[data-icon-token='eslint'] {
|
|
1147
|
+
color: var(--trees-file-icon-color-eslint);
|
|
1148
|
+
}
|
|
1149
|
+
[data-icon-token='git'] {
|
|
1150
|
+
color: var(--trees-file-icon-color-git);
|
|
1151
|
+
}
|
|
1152
|
+
[data-icon-token='go'] {
|
|
1153
|
+
color: var(--trees-file-icon-color-go);
|
|
1154
|
+
}
|
|
1155
|
+
[data-icon-token='graphql'] {
|
|
1156
|
+
color: var(--trees-file-icon-color-graphql);
|
|
1157
|
+
}
|
|
1158
|
+
[data-icon-token='html'] {
|
|
1159
|
+
color: var(--trees-file-icon-color-html);
|
|
1160
|
+
}
|
|
1161
|
+
[data-icon-token='image'] {
|
|
1162
|
+
color: var(--trees-file-icon-color-image);
|
|
1163
|
+
}
|
|
1164
|
+
[data-icon-token='javascript'] {
|
|
1165
|
+
color: var(--trees-file-icon-color-javascript);
|
|
1166
|
+
}
|
|
1167
|
+
[data-icon-token='json'] {
|
|
1168
|
+
color: var(--trees-file-icon-color-json);
|
|
1169
|
+
}
|
|
1170
|
+
[data-icon-token='markdown'] {
|
|
1171
|
+
color: var(--trees-file-icon-color-markdown);
|
|
1172
|
+
}
|
|
1173
|
+
[data-icon-token='mcp'] {
|
|
1174
|
+
color: var(--trees-file-icon-color-mcp);
|
|
1175
|
+
}
|
|
1176
|
+
[data-icon-token='npm'] {
|
|
1177
|
+
color: var(--trees-file-icon-color-npm);
|
|
1178
|
+
}
|
|
1179
|
+
[data-icon-token='oxc'] {
|
|
1180
|
+
color: var(--trees-file-icon-color-oxc);
|
|
1181
|
+
}
|
|
1182
|
+
[data-icon-token='postcss'] {
|
|
1183
|
+
color: var(--trees-file-icon-color-postcss);
|
|
1184
|
+
}
|
|
1185
|
+
[data-icon-token='prettier'] {
|
|
1186
|
+
color: var(--trees-file-icon-color-prettier);
|
|
1187
|
+
}
|
|
1188
|
+
[data-icon-token='python'] {
|
|
1189
|
+
color: var(--trees-file-icon-color-python);
|
|
1190
|
+
}
|
|
1191
|
+
[data-icon-token='react'] {
|
|
1192
|
+
color: var(--trees-file-icon-color-react);
|
|
1193
|
+
}
|
|
1194
|
+
[data-icon-token='ruby'] {
|
|
1195
|
+
color: var(--trees-file-icon-color-ruby);
|
|
1196
|
+
}
|
|
1197
|
+
[data-icon-token='rust'] {
|
|
1198
|
+
color: var(--trees-file-icon-color-rust);
|
|
1199
|
+
}
|
|
1200
|
+
[data-icon-token='sass'] {
|
|
1201
|
+
color: var(--trees-file-icon-color-sass);
|
|
1202
|
+
}
|
|
1203
|
+
[data-icon-token='svg'] {
|
|
1204
|
+
color: var(--trees-file-icon-color-svg);
|
|
1205
|
+
}
|
|
1206
|
+
[data-icon-token='svelte'] {
|
|
1207
|
+
color: var(--trees-file-icon-color-svelte);
|
|
1208
|
+
}
|
|
1209
|
+
[data-icon-token='svgo'] {
|
|
1210
|
+
color: var(--trees-file-icon-color-svgo);
|
|
1211
|
+
}
|
|
1212
|
+
[data-icon-token='swift'] {
|
|
1213
|
+
color: var(--trees-file-icon-color-swift);
|
|
1214
|
+
}
|
|
1215
|
+
[data-icon-token='table'] {
|
|
1216
|
+
color: var(--trees-file-icon-color-table);
|
|
1217
|
+
}
|
|
1218
|
+
[data-icon-token='text'] {
|
|
1219
|
+
color: var(--trees-file-icon-color-text);
|
|
1220
|
+
}
|
|
1221
|
+
[data-icon-token='tailwind'] {
|
|
1222
|
+
color: var(--trees-file-icon-color-tailwind);
|
|
1223
|
+
}
|
|
1224
|
+
[data-icon-token='terraform'] {
|
|
1225
|
+
color: var(--trees-file-icon-color-terraform);
|
|
1226
|
+
}
|
|
1227
|
+
[data-icon-token='typescript'] {
|
|
1228
|
+
color: var(--trees-file-icon-color-typescript);
|
|
1229
|
+
}
|
|
1230
|
+
[data-icon-token='vite'] {
|
|
1231
|
+
color: var(--trees-file-icon-color-vite);
|
|
1232
|
+
}
|
|
1233
|
+
[data-icon-token='vscode'] {
|
|
1234
|
+
color: var(--trees-file-icon-color-vscode);
|
|
1235
|
+
}
|
|
1236
|
+
[data-icon-token='vue'] {
|
|
1237
|
+
color: var(--trees-file-icon-color-vue);
|
|
1238
|
+
}
|
|
1239
|
+
[data-icon-token='wasm'] {
|
|
1240
|
+
color: var(--trees-file-icon-color-wasm);
|
|
1241
|
+
}
|
|
1242
|
+
[data-icon-token='webpack'] {
|
|
1243
|
+
color: var(--trees-file-icon-color-webpack);
|
|
1244
|
+
}
|
|
1245
|
+
[data-icon-token='yml'] {
|
|
1246
|
+
color: var(--trees-file-icon-color-yml);
|
|
1247
|
+
}
|
|
1248
|
+
[data-icon-token='zig'] {
|
|
1249
|
+
color: var(--trees-file-icon-color-zig);
|
|
1250
|
+
}
|
|
1251
|
+
[data-icon-token='zip'] {
|
|
1252
|
+
color: var(--trees-file-icon-color-zip);
|
|
1253
|
+
}
|
|
1254
|
+
}
|
|
1255
|
+
|
|
1256
|
+
/* Chevron rotation and visual alignment */
|
|
1257
|
+
/* Chevron pointing down */
|
|
1258
|
+
[data-icon-name='file-tree-icon-chevron'] {
|
|
1259
|
+
&[data-align-capitals='false'] {
|
|
1260
|
+
transform: translate(0, var(--trees-icon-nudge));
|
|
1261
|
+
}
|
|
1262
|
+
&[data-align-capitals='true'] {
|
|
1263
|
+
transform: translate(0, 0);
|
|
1264
|
+
}
|
|
1265
|
+
}
|
|
1266
|
+
|
|
1267
|
+
[data-item-section='content'] {
|
|
1268
|
+
flex: 0 1 auto;
|
|
1269
|
+
text-align: start;
|
|
1270
|
+
min-width: 0;
|
|
1271
|
+
max-width: 100%;
|
|
1272
|
+
overflow: hidden;
|
|
1273
|
+
text-overflow: ellipsis;
|
|
1274
|
+
/* Breaks middle truncate component to also set this */
|
|
1275
|
+
/* white-space: nowrap; */
|
|
1276
|
+
}
|
|
1277
|
+
|
|
1278
|
+
[data-item-section='decoration'] {
|
|
1279
|
+
flex: 1 1 0;
|
|
1280
|
+
min-width: 0;
|
|
1281
|
+
display: flex;
|
|
1282
|
+
justify-content: flex-end;
|
|
1283
|
+
text-align: end;
|
|
1284
|
+
overflow: hidden;
|
|
1285
|
+
color: var(--trees-fg-muted);
|
|
1286
|
+
}
|
|
1287
|
+
|
|
1288
|
+
[data-item-section='decoration'] > span {
|
|
1289
|
+
min-width: 0;
|
|
1290
|
+
max-width: 100%;
|
|
1291
|
+
display: inline-flex;
|
|
1292
|
+
align-items: center;
|
|
1293
|
+
justify-content: flex-end;
|
|
1294
|
+
overflow: hidden;
|
|
1295
|
+
text-overflow: ellipsis;
|
|
1296
|
+
white-space: nowrap;
|
|
1297
|
+
}
|
|
1298
|
+
|
|
1299
|
+
[data-item-section='git'],
|
|
1300
|
+
[data-item-section='action'] {
|
|
1301
|
+
flex: 0 0 auto;
|
|
1302
|
+
display: flex;
|
|
1303
|
+
align-items: center;
|
|
1304
|
+
justify-content: center;
|
|
1305
|
+
}
|
|
1306
|
+
|
|
1307
|
+
[data-item-section='git'] {
|
|
1308
|
+
width: var(--trees-git-lane-width);
|
|
1309
|
+
}
|
|
1310
|
+
|
|
1311
|
+
[data-item-section='action'] {
|
|
1312
|
+
width: var(--trees-action-lane-width);
|
|
1313
|
+
color: var(--trees-fg-muted);
|
|
1314
|
+
fill: currentColor;
|
|
1315
|
+
pointer-events: none;
|
|
1316
|
+
}
|
|
1317
|
+
|
|
1318
|
+
[data-item-section='git'] > span,
|
|
1319
|
+
[data-item-section='action'] > span {
|
|
1320
|
+
width: 100%;
|
|
1321
|
+
display: inline-flex;
|
|
1322
|
+
align-items: center;
|
|
1323
|
+
justify-content: center;
|
|
1324
|
+
}
|
|
1325
|
+
|
|
1326
|
+
[data-item-action-affordance='decorative'] {
|
|
1327
|
+
opacity: 0.85;
|
|
1328
|
+
}
|
|
1329
|
+
|
|
1330
|
+
[data-item-rename-input] {
|
|
1331
|
+
appearance: none;
|
|
1332
|
+
width: 100%;
|
|
1333
|
+
min-width: 0;
|
|
1334
|
+
height: calc(var(--trees-row-height) - 4px);
|
|
1335
|
+
font-family: inherit;
|
|
1336
|
+
font-size: inherit;
|
|
1337
|
+
/* line-height: calc(var(--trees-row-height) - 8px); */
|
|
1338
|
+
color: inherit;
|
|
1339
|
+
background-color: transparent;
|
|
1340
|
+
border: 0;
|
|
1341
|
+
padding-inline: 6px;
|
|
1342
|
+
outline: none;
|
|
1343
|
+
box-sizing: border-box;
|
|
1344
|
+
}
|
|
1345
|
+
|
|
1346
|
+
[data-item-section='content']:has([data-item-rename-input])
|
|
1347
|
+
~ [data-item-section='action'],
|
|
1348
|
+
[data-item-section='content']:has([data-item-rename-input])
|
|
1349
|
+
~ [data-item-section='decoration'] {
|
|
1350
|
+
display: none;
|
|
1351
|
+
}
|
|
1352
|
+
|
|
1353
|
+
/* Chevron pointing right */
|
|
1354
|
+
[aria-expanded='false'][data-item-type='folder']
|
|
1355
|
+
> [data-item-section='icon']
|
|
1356
|
+
> [data-icon-name='file-tree-icon-chevron'] {
|
|
1357
|
+
&[data-align-capitals='true'] {
|
|
1358
|
+
transform: rotate(-90deg)
|
|
1359
|
+
translate(
|
|
1360
|
+
calc(var(--trees-icon-nudge) / 2),
|
|
1361
|
+
calc(var(--trees-icon-nudge) / 2)
|
|
1362
|
+
);
|
|
1363
|
+
}
|
|
1364
|
+
&[data-align-capitals='false'] {
|
|
1365
|
+
transform: rotate(-90deg)
|
|
1366
|
+
translate(
|
|
1367
|
+
calc(var(--trees-icon-nudge) / 2 * -1),
|
|
1368
|
+
calc(var(--trees-icon-nudge) / 2)
|
|
1369
|
+
);
|
|
1370
|
+
}
|
|
1371
|
+
}
|
|
1372
|
+
|
|
1373
|
+
/* LIST IDENTATION */
|
|
1374
|
+
/* Spacing container */
|
|
1375
|
+
[data-item-section='spacing'] {
|
|
1376
|
+
display: flex;
|
|
1377
|
+
flex-direction: row;
|
|
1378
|
+
align-items: center;
|
|
1379
|
+
justify-content: center;
|
|
1380
|
+
height: var(--trees-row-height);
|
|
1381
|
+
padding-left: calc(calc(var(--trees-icon-width) / 2) - 0.5px);
|
|
1382
|
+
|
|
1383
|
+
&:empty {
|
|
1384
|
+
padding-left: 0;
|
|
1385
|
+
}
|
|
1386
|
+
}
|
|
1387
|
+
|
|
1388
|
+
/* Spacing per level */
|
|
1389
|
+
[data-item-section='spacing-item'] {
|
|
1390
|
+
transform: translateX(-0.25px);
|
|
1391
|
+
display: inline-block;
|
|
1392
|
+
border-left: 1px solid var(--trees-indent-guide-bg);
|
|
1393
|
+
height: 100%;
|
|
1394
|
+
margin-right: calc(var(--trees-level-gap) - 1px);
|
|
1395
|
+
opacity: 0;
|
|
1396
|
+
transition: opacity 150ms ease;
|
|
1397
|
+
|
|
1398
|
+
& + & {
|
|
1399
|
+
margin-left: calc(
|
|
1400
|
+
var(--trees-item-row-gap) + calc(var(--trees-icon-width) / 2) - 0.5px
|
|
1401
|
+
);
|
|
1402
|
+
}
|
|
1403
|
+
}
|
|
1404
|
+
|
|
1405
|
+
:host(:hover) [data-item-section='spacing-item'] {
|
|
1406
|
+
opacity: 0.75;
|
|
1407
|
+
}
|
|
1408
|
+
|
|
1409
|
+
/* Git status indicator */
|
|
1410
|
+
|
|
1411
|
+
/* This is a folder that contains a git change */
|
|
1412
|
+
[data-item-contains-git-change='true'] > [data-item-section='git'] {
|
|
1413
|
+
color: var(--trees-git-modified-color);
|
|
1414
|
+
opacity: 0.5;
|
|
1415
|
+
fill: currentColor;
|
|
1416
|
+
}
|
|
1417
|
+
|
|
1418
|
+
/* These are files that have a git change */
|
|
1419
|
+
[data-item-git-status] {
|
|
1420
|
+
&
|
|
1421
|
+
> :where([data-item-section='icon'])
|
|
1422
|
+
> :where(:not([data-icon-name='file-tree-icon-chevron'])) {
|
|
1423
|
+
color: var(--trees-item-git-status-color);
|
|
1424
|
+
}
|
|
1425
|
+
& > [data-item-section='content'] {
|
|
1426
|
+
color: var(--trees-item-git-status-color);
|
|
1427
|
+
}
|
|
1428
|
+
& > [data-item-section='git'] {
|
|
1429
|
+
color: var(--trees-item-git-status-color);
|
|
1430
|
+
font-weight: var(--trees-font-weight-semibold);
|
|
1431
|
+
}
|
|
1432
|
+
}
|
|
1433
|
+
|
|
1434
|
+
[data-item-git-status='added'] {
|
|
1435
|
+
--trees-item-git-status-color: var(--trees-git-added-color);
|
|
1436
|
+
}
|
|
1437
|
+
|
|
1438
|
+
[data-item-git-status='deleted'] {
|
|
1439
|
+
--trees-item-git-status-color: var(--trees-git-deleted-color);
|
|
1440
|
+
}
|
|
1441
|
+
|
|
1442
|
+
[data-item-git-status='ignored'] {
|
|
1443
|
+
--trees-item-git-status-color: var(--trees-git-ignored-color);
|
|
1444
|
+
|
|
1445
|
+
& > [data-item-section='icon'] {
|
|
1446
|
+
opacity: 0.5;
|
|
1447
|
+
}
|
|
1448
|
+
}
|
|
1449
|
+
|
|
1450
|
+
[data-item-section='git'] [data-icon-name='file-tree-icon-dot'] {
|
|
1451
|
+
/* this is a nudge to align the dot with the likely lowercase text. it's slightly
|
|
1452
|
+
generalizable, but other fonts are gonna need other nudges i assume */
|
|
1453
|
+
transform: translateY(calc(0.65ex - 50%));
|
|
1454
|
+
}
|
|
1455
|
+
|
|
1456
|
+
[data-item-git-status='modified'] {
|
|
1457
|
+
--trees-item-git-status-color: var(--trees-git-modified-color);
|
|
1458
|
+
}
|
|
1459
|
+
|
|
1460
|
+
[data-item-git-status='renamed'] {
|
|
1461
|
+
--trees-item-git-status-color: var(--trees-git-renamed-color);
|
|
1462
|
+
}
|
|
1463
|
+
|
|
1464
|
+
[data-item-git-status='untracked'] {
|
|
1465
|
+
--trees-item-git-status-color: var(--trees-git-untracked-color);
|
|
1466
|
+
}
|
|
1467
|
+
|
|
1468
|
+
/* Drag and drop */
|
|
1469
|
+
[data-item-drag-target='true'] {
|
|
1470
|
+
background-color: var(--trees-selected-bg);
|
|
1471
|
+
}
|
|
1472
|
+
|
|
1473
|
+
[data-item-dragging='true'] {
|
|
1474
|
+
opacity: 0.5;
|
|
1475
|
+
}
|
|
1476
|
+
|
|
1477
|
+
/* Lock icon for locked paths (sibling of content) */
|
|
1478
|
+
[data-item-section='lock'] {
|
|
1479
|
+
flex: 0 0 auto;
|
|
1480
|
+
margin-left: auto;
|
|
1481
|
+
display: flex;
|
|
1482
|
+
align-items: center;
|
|
1483
|
+
color: var(--trees-fg-muted);
|
|
1484
|
+
}
|
|
1485
|
+
[data-item-section='lock'] svg {
|
|
1486
|
+
display: block;
|
|
1487
|
+
}
|
|
1488
|
+
|
|
1489
|
+
[data-type='header-slot'] {
|
|
1490
|
+
display: block;
|
|
1491
|
+
flex: 0 0 auto;
|
|
1492
|
+
}
|
|
1493
|
+
|
|
1494
|
+
[data-type='context-menu-wash'] {
|
|
1495
|
+
position: absolute;
|
|
1496
|
+
inset: 0;
|
|
1497
|
+
z-index: 3;
|
|
1498
|
+
background-color: transparent;
|
|
1499
|
+
touch-action: none;
|
|
1500
|
+
}
|
|
1501
|
+
|
|
1502
|
+
[data-type='context-menu-anchor'] {
|
|
1503
|
+
position: absolute;
|
|
1504
|
+
top: 0;
|
|
1505
|
+
right: var(--trees-context-menu-trigger-inline-offset);
|
|
1506
|
+
z-index: 4;
|
|
1507
|
+
display: none;
|
|
1508
|
+
align-items: center;
|
|
1509
|
+
|
|
1510
|
+
&[data-visible='true'] {
|
|
1511
|
+
display: flex;
|
|
1512
|
+
}
|
|
1513
|
+
}
|
|
1514
|
+
|
|
1515
|
+
/* Hide the floating trigger while the scroll container is actively moving.
|
|
1516
|
+
* The anchor is positioned against the root, not the scroll content, so its
|
|
1517
|
+
* \`top\` follows the row via a React state update — one frame behind the
|
|
1518
|
+
* compositor. That delay is visible as the trigger hovering over the wrong
|
|
1519
|
+
* row during the first frame of a scroll. The \`data-is-scrolling\` flag on
|
|
1520
|
+
* the root is flipped synchronously on \`wheel\`/\`touchmove\`/\`keydown\` before
|
|
1521
|
+
* the compositor commits the next paint, so this selector hides the anchor
|
|
1522
|
+
* in the same frame the scroll begins. */
|
|
1523
|
+
[data-file-tree-virtualized-root='true'][data-is-scrolling]
|
|
1524
|
+
[data-type='context-menu-anchor'] {
|
|
1525
|
+
display: none;
|
|
1526
|
+
}
|
|
1527
|
+
|
|
1528
|
+
[data-type='context-menu-anchor'] > slot[name='context-menu'] {
|
|
1529
|
+
display: block;
|
|
1530
|
+
width: 0;
|
|
1531
|
+
min-width: 0;
|
|
1532
|
+
flex: 0 0 0;
|
|
1533
|
+
overflow: visible;
|
|
1534
|
+
}
|
|
1535
|
+
|
|
1536
|
+
/* Single floating context menu trigger */
|
|
1537
|
+
[data-type='context-menu-trigger'] {
|
|
1538
|
+
all: unset;
|
|
1539
|
+
align-items: center;
|
|
1540
|
+
justify-content: center;
|
|
1541
|
+
width: var(--trees-action-lane-width);
|
|
1542
|
+
color: var(--trees-fg-muted);
|
|
1543
|
+
fill: currentColor;
|
|
1544
|
+
cursor: pointer;
|
|
1545
|
+
font-family: var(--trees-font-family);
|
|
1546
|
+
font-size: var(--trees-font-size);
|
|
1547
|
+
border-top-right-radius: var(--trees-border-radius);
|
|
1548
|
+
border-bottom-right-radius: var(--trees-border-radius);
|
|
1549
|
+
margin: var(--trees-focus-ring-width);
|
|
1550
|
+
height: calc(var(--trees-row-height) - var(--trees-focus-ring-width) * 2);
|
|
1551
|
+
border-width: 0;
|
|
1552
|
+
transition: color 120ms ease;
|
|
1553
|
+
|
|
1554
|
+
display: flex;
|
|
1555
|
+
}
|
|
1556
|
+
|
|
1557
|
+
[data-type='context-menu-trigger']:hover,
|
|
1558
|
+
[data-type='context-menu-trigger'][aria-expanded='true'] {
|
|
1559
|
+
color: var(--trees-fg);
|
|
1560
|
+
}
|
|
1561
|
+
|
|
1562
|
+
/** @pierre/truncate css here, manually copy pasted for now */
|
|
1563
|
+
[data-truncate-container] {
|
|
1564
|
+
/* CUSTOM TO TREES, TO SUPPORT THE OUTLINE */
|
|
1565
|
+
margin-top: -1px;
|
|
1566
|
+
margin-bottom: -1px;
|
|
1567
|
+
|
|
1568
|
+
/* Width of the fade from default marker to text */
|
|
1569
|
+
--truncate-internal-marker-fade-width: var(
|
|
1570
|
+
--truncate-marker-fade-width,
|
|
1571
|
+
2px
|
|
1572
|
+
);
|
|
1573
|
+
/* Width of the solid color between the fade from the default marker to the text */
|
|
1574
|
+
--truncate-internal-marker-gap: var(--truncate-marker-gap, 0px);
|
|
1575
|
+
/* Opacity of the marker 'color' property, not of the element itself */
|
|
1576
|
+
--truncate-internal-marker-opacity: var(--truncate-marker-opacity, 50%);
|
|
1577
|
+
/* Opacity of the marker 'color' property specifically for the middle truncate, not opacity of the element itself */
|
|
1578
|
+
--truncate-internal-middle-marker-opacity: var(
|
|
1579
|
+
--truncate-middle-marker-opacity,
|
|
1580
|
+
80%
|
|
1581
|
+
);
|
|
1582
|
+
/* Background color of the default marker */
|
|
1583
|
+
--truncate-internal-marker-background-color: var(
|
|
1584
|
+
--truncate-marker-background-color,
|
|
1585
|
+
light-dark(white, black)
|
|
1586
|
+
);
|
|
1587
|
+
--truncate-internal-marker-background-overlay-color: var(
|
|
1588
|
+
--truncate-marker-background-overlay-color,
|
|
1589
|
+
transparent
|
|
1590
|
+
);
|
|
1591
|
+
--truncate-internal-marker-block-inset: var(
|
|
1592
|
+
--truncate-marker-block-inset,
|
|
1593
|
+
0px
|
|
1594
|
+
);
|
|
1595
|
+
/* Duration of the fade out animation for the marker */
|
|
1596
|
+
--truncate-internal-marker-fade-out-duration: var(
|
|
1597
|
+
--truncate-marker-fade-out-duration,
|
|
1598
|
+
0ms
|
|
1599
|
+
);
|
|
1600
|
+
/* Duration of the fade in animation for the marker */
|
|
1601
|
+
--truncate-internal-marker-fade-in-duration: var(
|
|
1602
|
+
--truncate-marker-fade-in-duration,
|
|
1603
|
+
100ms
|
|
1604
|
+
);
|
|
1605
|
+
|
|
1606
|
+
/* FADE Variant specifics */
|
|
1607
|
+
--truncate-internal-fade-marker-color: var(
|
|
1608
|
+
--truncate-fade-marker-color,
|
|
1609
|
+
#000
|
|
1610
|
+
);
|
|
1611
|
+
--truncate-internal-fade-marker-width: var(
|
|
1612
|
+
--truncate-fade-marker-width,
|
|
1613
|
+
0.2lh
|
|
1614
|
+
);
|
|
1615
|
+
|
|
1616
|
+
/*
|
|
1617
|
+
In some special cases people might be adding spacing in other ways
|
|
1618
|
+
that would benefit from being able to override this, however the container
|
|
1619
|
+
query below can't use this and would need to be redeclared with the overridden
|
|
1620
|
+
value. It's a bad time, but better than nothing.
|
|
1621
|
+
*/
|
|
1622
|
+
--truncate-internal-single-line-height: 1lh;
|
|
1623
|
+
|
|
1624
|
+
height: var(--truncate-internal-single-line-height);
|
|
1625
|
+
min-width: 0;
|
|
1626
|
+
overflow: hidden;
|
|
1627
|
+
}
|
|
1628
|
+
|
|
1629
|
+
[data-truncate-marker] {
|
|
1630
|
+
display: flex;
|
|
1631
|
+
position: absolute;
|
|
1632
|
+
height: var(--truncate-internal-single-line-height);
|
|
1633
|
+
padding-block: var(--truncate-internal-marker-block-inset);
|
|
1634
|
+
box-sizing: border-box;
|
|
1635
|
+
align-items: center;
|
|
1636
|
+
background-clip: content-box;
|
|
1637
|
+
z-index: 2;
|
|
1638
|
+
color: color-mix(
|
|
1639
|
+
in srgb,
|
|
1640
|
+
currentColor var(--truncate-internal-marker-opacity),
|
|
1641
|
+
transparent
|
|
1642
|
+
);
|
|
1643
|
+
|
|
1644
|
+
/* Core trick for hiding the marker until overflow occurs */
|
|
1645
|
+
opacity: 0;
|
|
1646
|
+
transition: opacity var(--truncate-internal-marker-fade-out-duration)
|
|
1647
|
+
ease-in-out;
|
|
1648
|
+
}
|
|
1649
|
+
|
|
1650
|
+
@container measure (height > 1lh) {
|
|
1651
|
+
[data-truncate-marker] {
|
|
1652
|
+
opacity: 1;
|
|
1653
|
+
transition: opacity var(--truncate-internal-marker-fade-in-duration)
|
|
1654
|
+
ease-in-out;
|
|
1655
|
+
}
|
|
1656
|
+
}
|
|
1657
|
+
|
|
1658
|
+
[data-truncate-grid] {
|
|
1659
|
+
display: grid;
|
|
1660
|
+
position: relative;
|
|
1661
|
+
}
|
|
1662
|
+
|
|
1663
|
+
[data-truncate-content='visible'] {
|
|
1664
|
+
white-space: nowrap;
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1667
|
+
[data-truncate-content='overflow'] {
|
|
1668
|
+
opacity: 0;
|
|
1669
|
+
pointer-events: none;
|
|
1670
|
+
-webkit-user-select: none;
|
|
1671
|
+
user-select: none;
|
|
1672
|
+
word-break: break-all;
|
|
1673
|
+
margin-top: calc(-1 * var(--truncate-internal-single-line-height));
|
|
1674
|
+
}
|
|
1675
|
+
|
|
1676
|
+
[data-truncate-marker-cell] {
|
|
1677
|
+
container: measure / size;
|
|
1678
|
+
overflow: visible;
|
|
1679
|
+
-webkit-user-select: none;
|
|
1680
|
+
user-select: none;
|
|
1681
|
+
pointer-events: none;
|
|
1682
|
+
}
|
|
1683
|
+
|
|
1684
|
+
[data-truncate-container='truncate'] {
|
|
1685
|
+
& [data-truncate-grid] {
|
|
1686
|
+
grid-template-columns: minmax(0, max-content) 0;
|
|
1687
|
+
}
|
|
1688
|
+
& [data-truncate-marker] {
|
|
1689
|
+
right: 0;
|
|
1690
|
+
}
|
|
1691
|
+
& [data-truncate-fade] {
|
|
1692
|
+
margin-right: calc(-2 * var(--truncate-internal-fade-marker-width));
|
|
1693
|
+
}
|
|
1694
|
+
}
|
|
1695
|
+
|
|
1696
|
+
[data-truncate-container='fruncate'] {
|
|
1697
|
+
& [data-truncate-grid] {
|
|
1698
|
+
grid-template-columns: 0 minmax(0, max-content) auto;
|
|
1699
|
+
}
|
|
1700
|
+
& [data-truncate-content] {
|
|
1701
|
+
direction: rtl;
|
|
1702
|
+
}
|
|
1703
|
+
& [data-truncate-content] > span {
|
|
1704
|
+
unicode-bidi: plaintext;
|
|
1705
|
+
}
|
|
1706
|
+
& [data-truncate-fade] {
|
|
1707
|
+
margin-left: calc(-2 * var(--truncate-internal-fade-marker-width));
|
|
1708
|
+
}
|
|
1709
|
+
}
|
|
1710
|
+
|
|
1711
|
+
[data-truncate-variant='default'] {
|
|
1712
|
+
& [data-truncate-marker] {
|
|
1713
|
+
background-color: var(--truncate-internal-marker-background-color);
|
|
1714
|
+
background-image: linear-gradient(
|
|
1715
|
+
var(--truncate-internal-marker-background-overlay-color),
|
|
1716
|
+
var(--truncate-internal-marker-background-overlay-color)
|
|
1717
|
+
);
|
|
1718
|
+
}
|
|
1719
|
+
& [data-truncate-marker]::after,
|
|
1720
|
+
& [data-truncate-marker]::before {
|
|
1721
|
+
content: '';
|
|
1722
|
+
position: absolute;
|
|
1723
|
+
width: calc(
|
|
1724
|
+
var(--truncate-internal-marker-fade-width) +
|
|
1725
|
+
var(--truncate-internal-marker-gap)
|
|
1726
|
+
);
|
|
1727
|
+
inset-block-start: var(--truncate-internal-marker-block-inset);
|
|
1728
|
+
height: max(
|
|
1729
|
+
0px,
|
|
1730
|
+
calc(
|
|
1731
|
+
var(--truncate-internal-single-line-height) -
|
|
1732
|
+
var(--truncate-internal-marker-block-inset) * 2
|
|
1733
|
+
)
|
|
1734
|
+
);
|
|
1735
|
+
background-color: var(--truncate-internal-marker-background-color);
|
|
1736
|
+
background-image: linear-gradient(
|
|
1737
|
+
var(--truncate-internal-marker-background-overlay-color),
|
|
1738
|
+
var(--truncate-internal-marker-background-overlay-color)
|
|
1739
|
+
);
|
|
1740
|
+
mask-image: linear-gradient(
|
|
1741
|
+
var(--truncate-internal-fade-dir),
|
|
1742
|
+
#000 0%,
|
|
1743
|
+
#000 var(--truncate-internal-marker-gap),
|
|
1744
|
+
transparent 100%
|
|
1745
|
+
);
|
|
1746
|
+
}
|
|
1747
|
+
& [data-truncate-marker]::after {
|
|
1748
|
+
--truncate-internal-fade-dir: to right;
|
|
1749
|
+
right: calc(
|
|
1750
|
+
-1 *
|
|
1751
|
+
(
|
|
1752
|
+
var(--truncate-internal-marker-fade-width) +
|
|
1753
|
+
var(--truncate-internal-marker-gap)
|
|
1754
|
+
)
|
|
1755
|
+
);
|
|
1756
|
+
}
|
|
1757
|
+
& [data-truncate-marker]::before {
|
|
1758
|
+
--truncate-internal-fade-dir: to left;
|
|
1759
|
+
left: calc(
|
|
1760
|
+
-1 *
|
|
1761
|
+
(
|
|
1762
|
+
var(--truncate-internal-marker-fade-width) +
|
|
1763
|
+
var(--truncate-internal-marker-gap)
|
|
1764
|
+
)
|
|
1765
|
+
);
|
|
1766
|
+
}
|
|
1767
|
+
}
|
|
1768
|
+
|
|
1769
|
+
[data-truncate-variant='fade'] {
|
|
1770
|
+
& [data-truncate-marker] {
|
|
1771
|
+
background: transparent;
|
|
1772
|
+
}
|
|
1773
|
+
}
|
|
1774
|
+
|
|
1775
|
+
[data-truncate-fade] {
|
|
1776
|
+
box-shadow:
|
|
1777
|
+
0 0 calc(var(--truncate-internal-fade-marker-width) / 2)
|
|
1778
|
+
var(--truncate-internal-fade-marker-color),
|
|
1779
|
+
0 0 var(--truncate-internal-fade-marker-width)
|
|
1780
|
+
var(--truncate-internal-fade-marker-color);
|
|
1781
|
+
width: calc(var(--truncate-internal-fade-marker-width) * 2);
|
|
1782
|
+
height: calc(
|
|
1783
|
+
var(--truncate-internal-single-line-height) -
|
|
1784
|
+
(var(--truncate-internal-fade-marker-width) * 2)
|
|
1785
|
+
);
|
|
1786
|
+
margin: var(--truncate-internal-fade-marker-width) 0;
|
|
1787
|
+
}
|
|
1788
|
+
|
|
1789
|
+
[data-truncate-group-container='middle'] {
|
|
1790
|
+
& [data-truncate-container] {
|
|
1791
|
+
--truncate-marker-opacity: var(--truncate-internal-middle-marker-opacity);
|
|
1792
|
+
}
|
|
1793
|
+
|
|
1794
|
+
display: flex;
|
|
1795
|
+
min-width: 0;
|
|
1796
|
+
|
|
1797
|
+
& > div {
|
|
1798
|
+
min-width: 0;
|
|
1799
|
+
}
|
|
1800
|
+
|
|
1801
|
+
& > div[data-truncate-segment-priority='1'] {
|
|
1802
|
+
flex: 0 1 max-content;
|
|
1803
|
+
}
|
|
1804
|
+
& > div[data-truncate-segment-priority='2'] {
|
|
1805
|
+
flex: 0 999999 max-content;
|
|
1806
|
+
}
|
|
1807
|
+
}
|
|
1808
|
+
}
|
|
1809
|
+
`,cu=`@layer base, unsafe;`;function lu(e){return`${cu}
|
|
1810
|
+
@layer base {
|
|
1811
|
+
${e}
|
|
1812
|
+
}`}function uu(e){return`${cu}
|
|
1813
|
+
@layer unsafe {
|
|
1814
|
+
${e}
|
|
1815
|
+
}`}var du=new WeakMap;function fu(e){let t=du.get(e);if(t!=null)return t;let n=document.createElement(`div`);n.setAttribute(Nc,`true`);let r=document.createElement(`div`);r.style.position=`relative`,r.style.height=`200%`,n.appendChild(r),e.appendChild(n);let i=Math.max(n.offsetWidth-n.clientWidth,0);return n.remove(),du.set(e,i),i}function pu(e,t){if(!e.isConnected)return;let n=fu(t);if(n==null)return;let r=t.querySelector(`style[${Pc}]`),i=r instanceof HTMLStyleElement?r:document.createElement(`style`);r instanceof HTMLStyleElement||(i.setAttribute(Pc,``),t.appendChild(i)),i.textContent=`:host { ${Fc}: ${n}px; }`}var mu;function hu(e){if(typeof CSSStyleSheet<`u`&&typeof CSSStyleSheet.prototype.replaceSync==`function`&&`adoptedStyleSheets`in e){mu??(mu=new CSSStyleSheet,mu.replaceSync(lu(su)));let t=!1;try{e.adoptedStyleSheets=[mu],t=!0}catch{}if(t){e.querySelector(`style[${jc}]`)?.remove();return}}if(e.querySelector(`style[data-file-tree-style]`)==null){let t=document.createElement(`style`);t.setAttribute(jc,``),t.textContent=lu(su),e.prepend(t)}}function gu(e,t){_u(e,t),hu(t),pu(e,t)}function _u(e,t){let n=e.querySelector(`template[shadowrootmode="open"], template[data-file-tree-shadowrootmode="open"]`);n instanceof HTMLTemplateElement&&(t.childNodes.length>0||(t.appendChild(n.content.cloneNode(!0)),n.hasAttribute(`shadowrootmode`)&&n.remove()))}if(typeof HTMLElement<`u`&&customElements.get(`file-tree-container`)==null){class e extends HTMLElement{constructor(){super()}connectedCallback(){let e=this.shadowRoot??this.attachShadow({mode:`open`});gu(this,e)}}if(customElements.define(Ac,e),typeof document<`u`)for(let e of Array.from(document.querySelectorAll(Ac)))e instanceof HTMLElement&&gu(e,e.shadowRoot??e.attachShadow({mode:`open`}))}var vu=5,yu=1<<vu,bu=yu*4;function xu(){return{childIdByNameId:new Map,childIds:[],childPositionById:new Map,childVisibleChunkSums:null,totalChildSubtreeNodeCount:0,totalChildVisibleSubtreeCount:0}}function Su(){return{childIdByNameId:null,childIds:[],childPositionById:null,childVisibleChunkSums:null,totalChildSubtreeNodeCount:0,totalChildVisibleSubtreeCount:0}}function Cu(e,t){if(t.childIdByNameId!=null)return t.childIdByNameId;let n=new Map;for(let r of t.childIds){let t=e[r];t!=null&&n.set(t.nameId,r)}return t.childIdByNameId=n,n}function wu(e){if(e.childPositionById!=null)return e.childPositionById;let t=new Map;for(let n=0;n<e.childIds.length;n++){let r=e.childIds[n];r!=null&&t.set(r,n)}return e.childPositionById=t,t}function Tu(e,t){e.childPositionById!=null&&e.childPositionById.set(t,e.childIds.length),e.childIds.push(t)}function Eu(e,t){if(e.childPositionById!=null)for(let n=t;n<e.childIds.length;n++){let t=e.childIds[n];t!=null&&e.childPositionById.set(t,n)}}function Du(e,t){let n=0,r=0;for(let i of t.childIds){let t=e[i];t!=null&&(n+=t.subtreeNodeCount,r+=t.visibleSubtreeCount)}t.totalChildSubtreeNodeCount=n,t.totalChildVisibleSubtreeCount=r,ju(e,t)}function Ou(e,t,n,r){if(e.totalChildSubtreeNodeCount+=n,e.totalChildVisibleSubtreeCount+=r,e.childVisibleChunkSums==null||r===0)return;let i=wu(e).get(t);if(i===void 0)return;let a=i>>vu;e.childVisibleChunkSums[a]+=r}function ku(e,t,n){let r=t.childVisibleChunkSums;if(r!=null){let i=n,a=0;for(let o of r){if(i<o){let r=Mu(e,t,a,i);return{...r,childVisibleIndex:n-r.localVisibleIndex}}i-=o,a+=yu}throw Error(`Visible child index ${String(n)} is out of range`)}let i=n;for(let r=0;r<t.childIds.length;r++){let a=t.childIds[r];if(a==null)continue;let o=e[a];if(o!=null){if(i<o.visibleSubtreeCount)return{childIndex:r,childVisibleIndex:n-i,localVisibleIndex:i};i-=o.visibleSubtreeCount}}throw Error(`Visible child index ${String(n)} is out of range`)}function Au(e,t,n){let r=0,i=t.childVisibleChunkSums,a=0;if(i!=null){let e=n>>vu;for(let t=0;t<e;t+=1)r+=i[t]??0;a=e<<vu}for(let i=a;i<n;i+=1){let n=t.childIds[i];if(n==null)continue;let a=e[n];a!=null&&(r+=a.visibleSubtreeCount)}return r}function ju(e,t){if(t.childIds.length<bu){t.childVisibleChunkSums=null;return}let n=Math.ceil(t.childIds.length/yu),r=new Int32Array(n);for(let n=0;n<t.childIds.length;n++){let i=t.childIds[n];if(i==null)continue;let a=e[i];a!=null&&(r[n>>vu]+=a.visibleSubtreeCount)}t.childVisibleChunkSums=r}function Mu(e,t,n,r){let i=Math.min(t.childIds.length,n+yu),a=r;for(let r=n;r<i;r++){let n=t.childIds[r];if(n==null)continue;let i=e[n];if(i!=null){if(a<i.visibleSubtreeCount)return{childIndex:r,localVisibleIndex:a};a-=i.visibleSubtreeCount}}throw Error(`Visible child index ${String(r)} is out of range`)}var Nu=7,Pu=3,Fu=1<<Pu,Iu=4;function Lu(e,t,n=0){return e<<Iu|n<<Pu|t}function Ru(e){return e.depthAndFlags>>>Iu}function zu(e){return(e.depthAndFlags&Fu)>>Pu}function J(e){return(e.depthAndFlags&Fu)!==0}function Bu(e){return e.depthAndFlags&Nu}function Vu(e,t){return(Bu(e)&t)!==0}function Hu(e,t){e.depthAndFlags|=t}function Uu(e,t){e.depthAndFlags=Lu(t,Bu(e),zu(e))}var Wu=Symbol(`benchmarkInstrumentation`);function Gu(e,t){return t==null||Object.defineProperty(e,Wu,{configurable:!0,enumerable:!1,value:t,writable:!1}),e}function Ku(e){return e==null?null:e[Wu]??null}function Y(e,t,n){return e==null?n():e.measurePhase(t,n)}function qu(e,t,n){!Number.isFinite(n)||e==null||e.setCounter(t,n)}function Ju(e){return e>=48&&e<=57}function Yu(e){let t=[],n=0,r=0;for(;r<e.length;){for(;r<e.length&&!Ju(e.charCodeAt(r));)r+=1;if(r>=e.length)break;r>n&&t.push(e.slice(n,r));let i=0;for(;r<e.length&&Ju(e.charCodeAt(r));)i=i*10+(e.charCodeAt(r)-48),r+=1;t.push(i),n=r}return(n<e.length||t.length===0)&&t.push(e.slice(n)),t}function Xu(e){let t=e.toLowerCase();return{lowerValue:t,tokens:Yu(t)}}function Zu(e,t){let n=Math.min(e.length,t.length);for(let r=0;r<n;r++){let n=e[r],i=t[r];if(n===i)continue;if(typeof n==`number`&&typeof i==`number`)return n<i?-1:1;let a=String(n),o=String(i);if(a!==o)return a<o?-1:1}return e.length===t.length?0:e.length<t.length?-1:1}function Qu(e,t){if(e.tokens.length===1&&t.tokens.length===1&&typeof e.tokens[0]==`string`&&typeof t.tokens[0]==`string`)return e.lowerValue===t.lowerValue?0:e.lowerValue<t.lowerValue?-1:1;let n=Zu(e.tokens,t.tokens);return n===0?e.lowerValue===t.lowerValue?0:e.lowerValue<t.lowerValue?-1:1:n}function $u(e,t,n){let r=Qu(n(e),n(t));return r===0?e===t?0:e<t?-1:1:r}function ed(e,t){return $u(e,t,Xu)}function td(e,t){return t===e.segments.length-1?+!!e.isDirectory:1}function nd(e,t){let n=Math.min(e.segments.length,t.segments.length);for(let r=0;r<n;r++){let n=e.segments[r],i=t.segments[r];if(n===i)continue;let a=td(e,r);return a===td(t,r)?ed(n,i):a===1?-1:1}return e.segments.length===t.segments.length?e.isDirectory===t.isDirectory?0:e.isDirectory?-1:1:e.segments.length<t.segments.length?-1:1}function rd(e,t){return nd(e,t)}function id(e,t,n){let r=e=>{let t=n.get(e);if(t!=null)return t;let r=Xu(e);return n.set(e,r),r},i=Math.min(e.segments.length,t.segments.length);for(let n=0;n<i;n++){let i=e.segments[n],a=t.segments[n];if(i===a)continue;let o=td(e,n);return o===td(t,n)?$u(i,a,r):o===1?-1:1}return e.segments.length===t.segments.length?e.isDirectory===t.isDirectory?0:e.isDirectory?-1:1:e.segments.length<t.segments.length?-1:1}function ad(e,t){let n=e.sortKeyById[t];if(n!==void 0)return n;let r=e.valueById[t],i=Xu(r);return e.sortKeyById[t]=i,i}function od(e={}){return{flattenEmptyDirectories:e.flattenEmptyDirectories!==!1,sort:e.sort??`default`}}function sd(e){let t=e.length>0&&e.charCodeAt(e.length-1)===47,n=t?e.length-1:e.length,r=[],i=0;for(let t=0;t<n;t++)e.charCodeAt(t)===47&&(r.push(e.slice(i,t)),i=t+1);return r.push(e.slice(i,n)),{hasTrailingSlash:t,segments:r}}function cd(e){let{hasTrailingSlash:t,segments:n}=sd(e);return{basename:n[n.length-1]??``,isDirectory:t,path:e,segments:n}}function ld(e){if(e.length===0)return{requiresDirectory:!1,segments:[]};let{hasTrailingSlash:t,segments:n}=sd(e);return{requiresDirectory:t,segments:n}}var ud=``;function dd(){let e=new Map;return e.set(ud,0),{idByValue:e,valueById:[ud],sortKeyById:[Xu(ud)]}}function fd(e,t){let n=e.idByValue.get(t);if(n!==void 0)return n;let r=e.valueById.length;return e.idByValue.set(t,r),e.valueById.push(t),r}function pd(e,t){let n=e.valueById[t];if(n===void 0)throw Error(`Unknown segment ID: ${String(t)}`);return n}var md=Symbol(`pathStorePreparedInputKind`);function hd(e,t){return e[md]=t,e}function gd(e){return{basename:e.basename,depth:e.segments.length,isDirectory:e.isDirectory,path:e.path,segments:e.segments}}function _d(e,t,n){return n===`default`?rd(e,t):n(gd(e),gd(t))}function vd(){return{depthAndFlags:Lu(0,3,1),nameId:0,parentId:0,subtreeNodeCount:1,visibleSubtreeCount:1}}function yd(e,t){let n=Math.min(e.length,t.length);for(let r=0;r<n;r++)if(e[r]!==t[r])return r;return n}function bd(e){return e.isDirectory?e.segments.length:e.segments.length-1}function xd(e){return Array.isArray(e)&&e.every(e=>typeof e==`object`&&!!e&&typeof e.path==`string`&&Array.isArray(e.segments)&&typeof e.basename==`string`&&typeof e.isDirectory==`boolean`)}function Sd(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function Cd(e,t={}){return kd(e,t).map(e=>e.path)}function wd(e,t={}){let n=kd(e,t);return hd({paths:n.map(e=>e.path),preparedPaths:n},`prepared`)}function Td(e){let t=e.length,n=!1;for(let r=0;r<t;r+=1){let t=e[r];if(t.length>0&&t.charCodeAt(t.length-1)===47){n=!0;break}}return hd({paths:e,presortedPaths:e,presortedPathsContainDirectories:n},`presorted`)}function Ed(e){let t=e,n=t.preparedPaths;if(t[md]===`prepared`&&n!=null)return n;if(!xd(n))throw Error(`preparedInput must come from PathStore.prepareInput()`);return n}function Dd(e){let t=e;return t[md]===`presorted`&&t.presortedPaths!=null||Sd(t.presortedPaths)?t.presortedPaths:null}function Od(e){let t=e;return typeof t.presortedPathsContainDirectories==`boolean`?t.presortedPathsContainDirectories:null}function kd(e,t={}){let n=od(t),r=Ku(t);qu(r,`workload.inputFiles`,e.length);let i=Y(r,`store.preparePathEntries.parse`,()=>e.map(e=>cd(e)));return Y(r,`store.preparePathEntries.sort`,()=>i.sort((e,t)=>_d(e,t,n.sort))),i}var Ad=class{directories=new Map;directoryStack=[0];presortedDirectoryNodeIds=[];initialExpandedPathSet;createdDirectoriesAllExpanded=!1;createdDirectoryCount=0;lastPreparedPath=null;nodes=[vd()];options;instrumentation;segmentSortKeyCache=new Map;segmentTable=dd();hasDeferredDirectoryIndexes=!1;constructor(e={}){this.instrumentation=Ku(e),this.options=od(e);let t=e.initialExpandedPaths??null;if(t==null||t.length===0)this.initialExpandedPathSet=null;else{let e=new Set,n=t.length;for(let r=0;r<n;r+=1){let n=t[r],i=n.length;e.add(i>0&&n.charCodeAt(i-1)===47?n.slice(0,i-1):n)}this.initialExpandedPathSet=e,this.createdDirectoriesAllExpanded=!0}this.directories.set(0,xu())}appendPaths(e){return Y(this.instrumentation,`store.builder.appendPaths.parse`,()=>this.appendPreparedPaths(e.map(e=>cd(e))))}appendPreparedPaths(e,t=!0){return this.createdDirectoriesAllExpanded=!1,Y(this.instrumentation,`store.builder.appendPreparedPaths`,()=>{for(let n of e)this.appendPreparedPath(n,t)}),this}appendPresortedPaths(e,t=null){return Y(this.instrumentation,`store.builder.appendPresortedPaths`,()=>{if(t===!1){this.appendPresortedFilePaths(e);return}this.createdDirectoriesAllExpanded=!1;let n=null,r=0,i=this.nodes,a=this.segmentTable,o=a.idByValue,s=a.valueById,c=this.directoryStack,l=0,u=``,d=0;for(let t of e){if(n===t)throw Error(`Duplicate path: "${t}"`);let e=t.length>0&&t.charCodeAt(t.length-1)===47,a=e?t.length-1:t.length,f=0,p=0;if(n!=null)if(u.length>0&&t.length>u.length&&t.startsWith(u))f=d,p=u.length;else{let r=Math.min(a,n.length),i=!0;for(let e=0;e<r;e++){let r=t.charCodeAt(e);if(r!==n.charCodeAt(e)){i=!1;break}r===47&&(f++,p=e+1)}i&&e&&r===a&&n.length>a&&n.charCodeAt(a)===47&&(f++,p=a+1)}l=f,r=f;let m=p,h=t.indexOf(`/`,m);for(;h>=0&&h<a;){let e=c[l];if(e===void 0)throw Error(`Directory stack underflow while building the path store`);r++;let n=t.slice(m,h),a=o.get(n);a===void 0&&(a=s.length,o.set(n,a),s.push(n));let u=i.length;i.push({depthAndFlags:Lu(r,0,1),nameId:a,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),this.recordCreatedDirectoryPath(t.slice(0,h)),l++,c[l]=u,m=h+1,h=t.indexOf(`/`,m)}if(e){if(m<a){let e=c[l];if(e===void 0)throw Error(`Unable to resolve directory parent for "${t}"`);r++;let n=t.slice(m,a),u=o.get(n);u===void 0&&(u=s.length,o.set(n,u),s.push(n));let d=i.length;i.push({depthAndFlags:Lu(r,0,1),nameId:u,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),l++,c[l]=d}let e=c[l];if(e===void 0)throw Error(`Unable to resolve directory node for "${t}"`);this.promoteDirectoryToExplicit(e,t)}else{let e=c[l];if(e===void 0)throw Error(`Unable to resolve file parent for "${t}"`);let n=t.slice(m),a=o.get(n);a===void 0&&(a=s.length,o.set(n,a),s.push(n)),i.push({depthAndFlags:Lu(r+1,0),nameId:a,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1})}m!==u.length&&(u=t.substring(0,m),d=r),n=t}c.length=l+1,n!=null&&(this.lastPreparedPath=cd(n)),this.hasDeferredDirectoryIndexes=!0}),this}appendPresortedFilePaths(e){let t=null,n=0,r=this.nodes,i=this.segmentTable,a=i.idByValue,o=i.valueById,s=this.directoryStack,c=0,l=``,u=0;for(let i of e){if(t===i)throw Error(`Duplicate path: "${i}"`);let e=i.length,d=0,f=0;if(t!=null)if(l.length>0&&i.length>l.length&&i.startsWith(l))d=u,f=l.length;else{let n=Math.min(e,t.length);for(let e=0;e<n;e++){let n=i.charCodeAt(e);if(n!==t.charCodeAt(e))break;n===47&&(d++,f=e+1)}}c=d,n=d;let p=f,m=i.indexOf(`/`,p);for(;m>=0;){let e=s[c];if(e===void 0)throw Error(`Directory stack underflow while building the path store`);n++;let t=i.slice(p,m),l=a.get(t);l===void 0&&(l=o.length,a.set(t,l),o.push(t));let u=r.length;r.push({depthAndFlags:Lu(n,0,1),nameId:l,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),this.recordCreatedDirectoryPath(i.slice(0,m)),this.presortedDirectoryNodeIds.push(u),c++,s[c]=u,p=m+1,m=i.indexOf(`/`,p)}let h=s[c];if(h===void 0)throw Error(`Unable to resolve file parent for "${i}"`);let g=i.slice(p),_=a.get(g);_===void 0&&(_=o.length,a.set(g,_),o.push(g)),r.push({depthAndFlags:Lu(n+1,0),nameId:_,parentId:h,subtreeNodeCount:1,visibleSubtreeCount:1}),p!==l.length&&(l=i.substring(0,p),u=n),t=i}s.length=c+1,t!=null&&(this.lastPreparedPath=cd(t)),this.hasDeferredDirectoryIndexes=!0}finish(e={}){let t=e.skipSubtreeCountPass===!0;return this.hasDeferredDirectoryIndexes?(Y(this.instrumentation,`store.builder.buildDirectoryIndexes`,()=>this.buildPresortedFinish(t)),this.hasDeferredDirectoryIndexes=!1):t||Y(this.instrumentation,`store.builder.computeSubtreeCounts`,()=>this.computeSubtreeCounts(0)),{directories:this.directories,nodes:this.nodes,options:this.options,rootId:0,segmentTable:this.segmentTable,presortedDirectoryNodeIds:this.presortedDirectoryNodeIds.length>0?this.presortedDirectoryNodeIds:null}}didMatchAllInitialExpandedPaths(){return this.createdDirectoriesAllExpanded&&this.initialExpandedPathSet!=null&&this.createdDirectoryCount===this.initialExpandedPathSet.size}appendPreparedPath(e,t){if(this.hasDeferredDirectoryIndexes&&=(this.buildDirectoryIndexes(),!1),this.lastPreparedPath!=null){if(e.path===this.lastPreparedPath.path)throw Error(`Duplicate path: "${e.path}"`);if(t&&(this.options.sort===`default`?id(this.lastPreparedPath,e,this.segmentSortKeyCache):_d(this.lastPreparedPath,e,this.options.sort))>0)throw Error(`Builder input must be sorted before appendPaths(): "${e.path}"`)}let n=this.lastPreparedPath,r=bd(e),i=n==null?0:bd(n),a=n==null?0:yd(n.segments,e.segments),o=Math.min(a,r,i);this.directoryStack.length=o+1;for(let n=o;n<r;n++){let r=this.directoryStack[this.directoryStack.length-1];if(r===void 0)throw Error(`Directory stack underflow while building the path store`);let i=t?this.getOrCreateDirectoryChild(r,e.segments[n]):this.createDirectoryChild(r,e.segments[n]);this.directoryStack.push(i)}if(e.isDirectory){let t=this.directoryStack[this.directoryStack.length-1];if(t===void 0)throw Error(`Unable to resolve directory node for "${e.path}"`);this.promoteDirectoryToExplicit(t,e.path),this.lastPreparedPath=e;return}let s=this.directoryStack[this.directoryStack.length-1];if(s===void 0)throw Error(`Unable to resolve file parent for "${e.path}"`);t?this.createFileChild(s,e.basename,e.path):this.createFileChildUnchecked(s,e.basename),this.lastPreparedPath=e}recordCreatedDirectoryPath(e){!this.createdDirectoriesAllExpanded||this.initialExpandedPathSet==null||(this.createdDirectoryCount+=1,this.initialExpandedPathSet.has(e)||(this.createdDirectoriesAllExpanded=!1))}createFileChild(e,t,n){let r=fd(this.segmentTable,t),i=this.getDirectoryIndex(e),a=i.childIdByNameId;if(a!=null&&a.get(r)!==void 0)throw Error(`Path collides with an existing entry: "${n}"`);let o=this.nodes[e];if(o===void 0)throw Error(`Unknown parent node ID: ${String(e)}`);let s=this.nodes.length;return this.nodes.push({depthAndFlags:Lu(Ru(o)+1,0),nameId:r,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),a?.set(r,s),Tu(i,s),s}createFileChildUnchecked(e,t){let n=fd(this.segmentTable,t),r=this.getDirectoryIndex(e),i=this.nodes[e];if(i===void 0)throw Error(`Unknown parent node ID: ${String(e)}`);let a=this.nodes.length;return this.nodes.push({depthAndFlags:Lu(Ru(i)+1,0),nameId:n,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),r.childIdByNameId!=null&&r.childIdByNameId.set(n,a),Tu(r,a),a}getOrCreateDirectoryChild(e,t){let n=fd(this.segmentTable,t),r=this.getDirectoryIndex(e);if(r.childIdByNameId!=null){let e=r.childIdByNameId.get(n);if(e!==void 0){let n=this.nodes[e];if(n!=null&&!J(n))throw Error(`Path collides with an existing file while creating directory "${t}"`);return e}}let i=this.nodes[e];if(i===void 0)throw Error(`Unknown parent node ID: ${String(e)}`);let a=this.nodes.length;return this.nodes.push({depthAndFlags:Lu(Ru(i)+1,0,1),nameId:n,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),r.childIdByNameId!=null&&r.childIdByNameId.set(n,a),Tu(r,a),this.directories.set(a,xu()),a}createDirectoryChild(e,t){let n=fd(this.segmentTable,t),r=this.getDirectoryIndex(e),i=this.nodes[e];if(i===void 0)throw Error(`Unknown parent node ID: ${String(e)}`);let a=this.nodes.length;return this.nodes.push({depthAndFlags:Lu(Ru(i)+1,0,1),nameId:n,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),r.childIdByNameId!=null&&r.childIdByNameId.set(n,a),Tu(r,a),this.directories.set(a,xu()),a}promoteDirectoryToExplicit(e,t){let n=this.nodes[e];if(n===void 0)throw Error(`Unknown directory node ID: ${String(e)}`);if(!J(n))throw Error(`Path is not a directory: "${t}"`);if(Vu(n,1))throw Error(`Duplicate path: "${t}"`);Hu(n,1)}getDirectoryIndex(e){let t=this.directories.get(e);if(t!==void 0)return t;throw Error(`Unknown directory child index for node ${String(e)}`)}buildPresortedFinish(e){let t=this.nodes,n=this.directories;n.set(0,Su());let r=-1,i=null;for(let e=1;e<t.length;e++){let a=t[e];if(a==null)continue;if(J(a)){let t=Su();n.set(e,t),r=e,i=t}let o;a.parentId===r?o=i:(o=n.get(a.parentId),r=a.parentId,i=o??null),o?.childIds.push(e)}if(!e)for(let e=t.length-1;e>=1;e--){let n=t[e];if(n==null)continue;let r=t[n.parentId];r!=null&&(r.subtreeNodeCount+=n.subtreeNodeCount,r.visibleSubtreeCount+=n.visibleSubtreeCount)}}buildDirectoryIndexes(){let e=this.nodes;for(let t=1;t<e.length;t++){let n=e[t];if(n==null)continue;J(n)&&this.directories.set(t,xu());let r=this.directories.get(n.parentId);r!=null&&(r.childIdByNameId!=null&&r.childIdByNameId.set(n.nameId,t),Tu(r,t))}}computeSubtreeCounts(e){let t=this.nodes[e];if(t===void 0)throw Error(`Unknown node ID: ${String(e)}`);if(!J(t))return t.subtreeNodeCount=1,t.visibleSubtreeCount=1,1;let n=this.getDirectoryIndex(e),r=1;for(let e of n.childIds)r+=this.computeSubtreeCounts(e);return Du(this.nodes,n),t.subtreeNodeCount=r,t.visibleSubtreeCount=r,r}};function jd(e,t=`closed`,n=null){let r=Nd(t);return{activeNodeCount:e.nodes.length-1,collapsedDirectoryIds:new Set,collapseNewDirectoriesByDefault:!1,defaultExpansion:r,directoriesOpenByDefault:r===`open`,hasCollapsedDirectoryOverrides:!1,directoryLoadInfoById:new Map,expandedDirectoryIds:new Set,instrumentation:n,listeners:new Map,pathCacheByNodeId:new Map([[e.rootId,{path:``,version:0}]]),pathCacheVersion:0,snapshot:e,transactionStack:[]}}function Md(){return{affectedAncestorIds:new Set,affectedNodeIds:new Set,events:[]}}function Nd(e){if(typeof e!=`number`)return e;if(!Number.isInteger(e)||e<0)throw Error(`initialExpansion must be "open", "closed", or a non-negative integer depth. Received: ${String(e)}`);return e}function Pd(e,t){return Vu(t,2)||e.defaultExpansion===`open`?!0:e.defaultExpansion===`closed`?!1:Ru(t)<=e.defaultExpansion}function Fd(e,t,n=e.snapshot.nodes[t]){return n==null||!J(n)?!1:e.directoriesOpenByDefault&&!e.hasCollapsedDirectoryOverrides?!0:e.collapsedDirectoryIds.has(t)?!1:e.expandedDirectoryIds.has(t)?!0:Pd(e,n)}function Id(e,t,n,r=e.snapshot.nodes[t]){if(r==null||!J(r))return;let i=Pd(e,r);if(n){if(i){e.collapsedDirectoryIds.delete(t),e.hasCollapsedDirectoryOverrides=e.collapsedDirectoryIds.size>0;return}e.expandedDirectoryIds.add(t);return}if(i){e.collapsedDirectoryIds.add(t),e.hasCollapsedDirectoryOverrides=!0;return}e.expandedDirectoryIds.delete(t)}function Ld(e,t){let n=e.directoryLoadInfoById.get(t);if(n!=null)return n;let r={activeAttemptId:null,errorMessage:null,nextAttemptId:1,state:`loaded`};return e.directoryLoadInfoById.set(t,r),r}function Rd(e,t){return e.directoryLoadInfoById.get(t)?.state??`loaded`}function zd(e,t){let n=Ld(e,t);if(n.state===`loading`&&n.activeAttemptId!=null)return{attemptId:n.activeAttemptId,nodeId:t,reused:!0};let r=n.nextAttemptId;return n.activeAttemptId=r,n.errorMessage=null,n.nextAttemptId+=1,n.state=`loading`,{attemptId:r,nodeId:t,reused:!1}}function Bd(e,t){let n=Ld(e,t);n.activeAttemptId=null,n.errorMessage=null,n.state=`unloaded`}function Vd(e,t,n){let r=e.directoryLoadInfoById.get(t);return r==null||r.activeAttemptId!==n?!1:(r.activeAttemptId=null,r.errorMessage=null,r.state=`loaded`,!0)}function Hd(e,t,n){return e.directoryLoadInfoById.get(t)?.activeAttemptId===n}function Ud(e,t,n,r){let i=e.directoryLoadInfoById.get(t);return i==null||i.activeAttemptId!==n?!1:(i.activeAttemptId=null,i.errorMessage=r??null,i.state=`error`,!0)}function Wd(e,t){e.directoryLoadInfoById.delete(t)}function Gd(e,t,n){let r=n,i=e.listeners.get(t);return i==null?e.listeners.set(t,new Set([r])):i.add(r),()=>{let n=e.listeners.get(t);n!=null&&(n.delete(r),n.size===0&&e.listeners.delete(t))}}function Kd(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!0,operation:`add`,path:e.path,projectionChanged:e.projectionChanged,visibleCountDelta:null}}function qd(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!0,operation:`remove`,path:e.path,projectionChanged:e.projectionChanged,recursive:e.recursive,visibleCountDelta:null}}function Jd(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!0,from:e.from,operation:`move`,projectionChanged:e.projectionChanged,to:e.to,visibleCountDelta:null}}function Yd(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!1,operation:`expand`,path:e.path,projectionChanged:!0,visibleCountDelta:null}}function Xd(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!1,operation:`collapse`,path:e.path,projectionChanged:!0,visibleCountDelta:null}}function Zd(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!1,operation:`mark-directory-unloaded`,path:e.path,projectionChanged:e.projectionChanged,visibleCountDelta:null}}function Qd(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],attemptId:e.attemptId,canonicalChanged:!1,operation:`begin-child-load`,path:e.path,projectionChanged:e.projectionChanged,reused:e.reused,visibleCountDelta:null}}function $d(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],attemptId:e.attemptId,canonicalChanged:e.childEvents.some(e=>e.canonicalChanged),childEvents:e.childEvents,operation:`apply-child-patch`,path:e.path,projectionChanged:e.projectionChanged,visibleCountDelta:null}}function ef(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],attemptId:e.attemptId,canonicalChanged:!1,operation:`complete-child-load`,path:e.path,projectionChanged:e.projectionChanged,stale:e.stale,visibleCountDelta:null}}function tf(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],attemptId:e.attemptId,canonicalChanged:!1,errorMessage:e.errorMessage,operation:`fail-child-load`,path:e.path,projectionChanged:e.projectionChanged,stale:e.stale,visibleCountDelta:null}}function nf(e){return{activeNodeCountAfter:e.activeNodeCountAfter,activeNodeCountBefore:e.activeNodeCountBefore,affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],cachedPathEntryCountAfter:e.cachedPathEntryCountAfter,cachedPathEntryCountBefore:e.cachedPathEntryCountBefore,canonicalChanged:!1,idsPreserved:e.idsPreserved,loadInfoEntryCountAfter:e.loadInfoEntryCountAfter,loadInfoEntryCountBefore:e.loadInfoEntryCountBefore,mode:e.mode,operation:`cleanup`,projectionChanged:e.projectionChanged,reclaimedCachedPathEntryCount:e.reclaimedCachedPathEntryCount,reclaimedLoadInfoEntryCount:e.reclaimedLoadInfoEntryCount,reclaimedNodeSlotCount:e.reclaimedNodeSlotCount,reclaimedSegmentCount:e.reclaimedSegmentCount,segmentCountAfter:e.segmentCountAfter,segmentCountBefore:e.segmentCountBefore,totalNodeSlotCountAfter:e.totalNodeSlotCountAfter,totalNodeSlotCountBefore:e.totalNodeSlotCountBefore,visibleCountDelta:null}}function rf(e,t,n){return{...n,visibleCountDelta:hf(e)-t}}function af(e,t){let n=hf(e),r=Md();e.transactionStack.push(r);try{t()}catch(t){throw cf(e,r,!1),t}cf(e,r,!0,hf(e)-n)}function of(e,t){let n=e.instrumentation;if(n==null){sf(e,t);return}Y(n,`store.events.record`,()=>sf(e,t))}function sf(e,t){let n=e.transactionStack[e.transactionStack.length-1]??null;if(n==null){pf(e,t);return}n.events.push(t),ff(n,t)}function cf(e,t,n,r=null){if(e.transactionStack.pop()!==t)throw Error(`Transaction stack underflow`);if(!n)return;let i=e.transactionStack[e.transactionStack.length-1]??null;if(i!=null){let n=e.instrumentation;n==null?df(i,t):Y(n,`store.events.batch.merge`,()=>df(i,t));return}let a=lf(t,r),o=e.instrumentation;if(o==null){pf(e,a);return}Y(o,`store.events.batch.commit`,()=>pf(e,a))}function lf(e,t){return{affectedAncestorIds:[...e.affectedAncestorIds],affectedNodeIds:[...e.affectedNodeIds],canonicalChanged:e.events.some(e=>e.canonicalChanged),events:[...e.events],operation:`batch`,projectionChanged:e.events.some(e=>e.projectionChanged),visibleCountDelta:t}}function uf(e,t){for(let n of t.affectedAncestorIds)e.affectedAncestorIds.add(n);for(let n of t.affectedNodeIds)e.affectedNodeIds.add(n)}function df(e,t){for(let n of t.events)e.events.push(n);uf(e,t)}function ff(e,t){for(let n of t.affectedNodeIds)e.affectedNodeIds.add(n);for(let n of t.affectedAncestorIds)e.affectedAncestorIds.add(n)}function pf(e,t){let n=e.instrumentation;if(n==null){mf(e,t);return}Y(n,`store.events.emit`,()=>mf(e,t))}function mf(e,t){e.listeners.get(t.operation)?.forEach(e=>e(t)),e.listeners.get(`*`)?.forEach(e=>e(t))}function hf(e){return e.snapshot.nodes[e.snapshot.rootId]?.visibleSubtreeCount??0}function gf(e,t){if(e.snapshot.options.flattenEmptyDirectories!==!0)return null;let n=e.snapshot.nodes[t];if(n==null||!J(n)||Vu(n,2))return null;let r=e.snapshot.directories.get(t);if(r==null||r.childIds.length!==1)return null;let i=r.childIds[0];if(i==null)return null;let a=e.snapshot.nodes[i];return a==null||!J(a)?null:i}function _f(e,t){let n=t;for(;;){let t=gf(e,n);if(t==null)return n;n=t}}function vf(e,t){let n=[t],r=t;for(;;){let t=gf(e,r);if(t==null)return n;n.push(t),r=t}}function yf(e,t){let n=t==null?e.snapshot.rootId:kf(e,t);return n==null?[]:Mf(e,n)}function bf(e,t){let n=cd(t),r=n.isDirectory?n.segments:n.segments.slice(0,-1),i=qf(e,Kf(e,r)),{createdNodeIds:a,directoryId:o}=Nf(e,r),s=new Set(a),c=o;if(n.isDirectory){let n=X(e,o);if(Vu(n,1))throw Error(`Path already exists: "${t}"`);Hu(n,1),e.pathCacheByNodeId.set(o,{path:t,version:e.pathCacheVersion}),s.add(o)}else c=Ff(e,o,n.basename),s.add(c);Ef(e,o);let l=qf(e,o);return Kd({affectedAncestorIds:Of(e,c),affectedNodeIds:[...s],path:t,projectionChanged:Jf(i,l)})}function xf(e,t,n){let r=kf(e,t);if(r==null)throw Error(`Path does not exist: "${t}"`);let i=X(e,r);if(Vu(i,2))throw Error(`The root node cannot be removed`);if(J(i)&&jf(e,r).childIds.length>0&&n.recursive!==!0)throw Error(`Cannot remove a non-empty directory without recursive: "${t}"`);let a=i.parentId,o=qf(e,a),s=Wf(e,r);Rf(e,a,r,i.nameId),Gf(e,a),Ef(e,a);let c=qf(e,a);return qd({affectedAncestorIds:Of(e,a),affectedNodeIds:s,path:t,projectionChanged:Jf(o,c),recursive:n.recursive===!0})}function Sf(e,t,n,r){let i=kf(e,t);if(i==null)throw Error(`Source path does not exist: "${t}"`);let a=X(e,i);if(Vu(a,2))throw Error(`The root node cannot be moved`);let o=r.collision??`error`,s=Hf(e,i,n),c=qf(e,a.parentId),l=qf(e,s.parentId),u=pd(e.snapshot.segmentTable,a.nameId),d=fd(e.snapshot.segmentTable,s.basename);if(s.parentId===a.parentId&&u===s.basename)return null;if(J(a)&&Qf(e,i,s.parentId))throw Error(`Cannot move a directory into one of its descendants`);let f=Cu(e.snapshot.nodes,jf(e,s.parentId)).get(d),p=s.existingNodeId??f??null;if(p!=null&&p!==i&&Uf(e,p,o,zu(a))===`skip`)return null;let m=a.parentId;Rf(e,m,i,a.nameId),a.parentId=s.parentId,a.nameId=d,e.pathCacheByNodeId.delete(i),Zf(e,i),Lf(e,s.parentId,i),Gf(e,m),e.pathCacheVersion++,Ef(e,m),s.parentId!==m&&Ef(e,s.parentId);let h=qf(e,m),g=qf(e,s.parentId);return Jd({affectedAncestorIds:[...new Set([...Of(e,m),...Of(e,s.parentId)])],affectedNodeIds:[i],from:t,projectionChanged:Yf([c,l],[h,g]),to:Tf(e,i)})}function Cf(e,t){let n=e.pathCacheByNodeId.get(t);return n!=null&&n.version===e.pathCacheVersion?n.path:null}function wf(e,t,n){return e.pathCacheByNodeId.set(t,{path:n,version:e.pathCacheVersion}),n}function Tf(e,t){let n=X(e,t),r=Cf(e,t);if(r!=null)return r;if(Vu(n,2))return wf(e,t,``);let i=Tf(e,n.parentId),a=pd(e.snapshot.segmentTable,n.nameId),o=i.length===0?a:`${i}${a}`;return wf(e,t,J(n)?`${o}/`:o)}function Ef(e,t){let n=e.instrumentation;if(n==null){ep(e,t);return}Y(n,`store.recomputeCountsUpwardFrom`,()=>ep(e,t))}function Df(e,t){let n=[[t,0]],{nodes:r,directories:i}=e.snapshot;for(;n.length>0;){let t=n[n.length-1],a=t[0],o=r[a];if(o==null||!J(o)){$f(e,a,o,!0),n.pop();continue}let s=i.get(a);if(s==null||t[1]>=s.childIds.length){$f(e,a,o,!0),n.pop();continue}let c=s.childIds[t[1]++];n.push([c,0])}}function Of(e,t){let n=[],r=t;for(;r!=null;){let t=X(e,r);if(n.push(r),r===e.snapshot.rootId)break;r=t.parentId}return n}function kf(e,t){if(t.length===0)return e.snapshot.rootId;let n=ld(t);return Af(e,n.segments,n.requiresDirectory)}function Af(e,t,n){let r=e.snapshot.rootId;for(let n of t){let t=e.snapshot.segmentTable.idByValue.get(n);if(t===void 0)return null;let i=jf(e,r),a=Cu(e.snapshot.nodes,i).get(t);if(a===void 0)return null;r=a}let i=X(e,r);return n&&!J(i)?null:r}function jf(e,t){let n=e.snapshot.directories.get(t);if(n===void 0)throw Error(`Unknown directory child index for node ${String(t)}`);return n}function X(e,t){let n=e.snapshot.nodes[t];if(n===void 0||Vu(n,4))throw Error(`Unknown node ID: ${String(t)}`);return n}function Mf(e,t){let n=e.snapshot.nodes[t];if(n===void 0||Vu(n,4))return[];if(!J(n))return[Tf(e,t)];if(jf(e,t).childIds.length===0)return Vu(n,1)&&!Vu(n,2)?[Tf(e,t)]:[];let r=[],i=[{childIndex:0,nodeId:t}];for(;i.length>0;){let t=i[i.length-1];if(t==null)break;let n=e.snapshot.nodes[t.nodeId];if(n===void 0||Vu(n,4)){i.pop();continue}if(!J(n)){r.push(Tf(e,t.nodeId)),i.pop();continue}let a=jf(e,t.nodeId);if(a.childIds.length===0){Vu(n,1)&&!Vu(n,2)&&r.push(Tf(e,t.nodeId)),i.pop();continue}let o=a.childIds[t.childIndex];if(o==null){i.pop();continue}t.childIndex++,i.push({childIndex:0,nodeId:o})}return r}function Nf(e,t){let n=[],r=e.snapshot.rootId;for(let i of t){let t=fd(e.snapshot.segmentTable,i),a=jf(e,r),o=Cu(e.snapshot.nodes,a).get(t);if(o!==void 0){if(!J(X(e,o)))throw Error(`Cannot create a directory that collides with an existing file: "${i}"`);r=o;continue}r=Pf(e,r,t),n.push(r)}return{createdNodeIds:n,directoryId:r}}function Pf(e,t,n){let r=X(e,t),i=e.snapshot.nodes.length;return e.snapshot.nodes.push({depthAndFlags:Lu(Ru(r)+1,0,1),nameId:n,parentId:t,subtreeNodeCount:1,visibleSubtreeCount:1}),e.snapshot.directories.set(i,xu()),Lf(e,t,i),e.collapseNewDirectoriesByDefault&&(e.collapsedDirectoryIds.add(i),e.hasCollapsedDirectoryOverrides=!0),e.activeNodeCount++,i}function Ff(e,t,n){let r=fd(e.snapshot.segmentTable,n),i=jf(e,t);if(Cu(e.snapshot.nodes,i).has(r))throw Error(`Path already exists: "${np(e,t,n)}"`);let a=X(e,t),o=e.snapshot.nodes.length;return e.snapshot.nodes.push({depthAndFlags:Lu(Ru(a)+1,0),nameId:r,parentId:t,subtreeNodeCount:1,visibleSubtreeCount:1}),Lf(e,t,o),e.activeNodeCount++,o}function If(e,t,n){let r=0,i=t.childIds.length;for(;r<i;){let a=r+i>>>1,o=t.childIds[a];if(o==null){i=a;continue}zf(e,n,o)<0?i=a:r=a+1}return r}function Lf(e,t,n){let r=jf(e,t),i=X(e,n);Cu(e.snapshot.nodes,r).set(i.nameId,n),Ou(r,n,i.subtreeNodeCount,i.visibleSubtreeCount);let a=If(e,r,n);r.childIds.splice(a,0,n),Eu(r,a),ju(e.snapshot.nodes,r)}function Rf(e,t,n,r){let i=jf(e,t),a=wu(i),o=a.get(n)??-1;Cu(e.snapshot.nodes,i).delete(r),a.delete(n);let s=e.snapshot.nodes[n];s!=null&&Ou(i,n,-s.subtreeNodeCount,-s.visibleSubtreeCount),o>=0&&(i.childIds.splice(o,1),Eu(i,o),ju(e.snapshot.nodes,i))}function zf(e,t,n){let r=e.snapshot.options.sort;return r===`default`?Bf(e,t,n):r(Vf(e,t),Vf(e,n))}function Bf(e,t,n){let r=X(e,t),i=X(e,n),a=J(r);if(a!==J(i))return a?-1:1;let o=Qu(ad(e.snapshot.segmentTable,r.nameId),ad(e.snapshot.segmentTable,i.nameId));if(o!==0)return o;let s=pd(e.snapshot.segmentTable,r.nameId),c=pd(e.snapshot.segmentTable,i.nameId);return s===c?t<n?-1:1:s<c?-1:1}function Vf(e,t){let n=X(e,t),r=Tf(e,t),i=J(n),a=i?r.slice(0,-1):r;return{basename:pd(e.snapshot.segmentTable,n.nameId),depth:Ru(n),isDirectory:i,path:r,segments:a.length===0?[]:a.split(`/`)}}function Hf(e,t,n){let r=X(e,t),i=kf(e,n);if(i!=null){let t=X(e,i);if(J(t))return{basename:pd(e.snapshot.segmentTable,r.nameId),existingNodeId:null,parentId:i};let a=ld(n).segments;return{basename:a[a.length-1]??``,existingNodeId:i,parentId:t.parentId}}let a=ld(n),o=a.segments[a.segments.length-1]??``,s=a.segments.slice(0,-1),c=s.length===0?e.snapshot.rootId:Af(e,s,!0);if(c==null)throw Error(`Destination parent does not exist: "${n}"`);return{basename:o,existingNodeId:null,parentId:c}}function Uf(e,t,n,r){if(n===`skip`)return`skip`;if(n===`error`)throw Error(`Destination already exists: "${Tf(e,t)}"`);let i=X(e,t);if(zu(i)!==r)throw Error(`replace collision requires the same source and destination kinds`);if(J(i)&&jf(e,t).childIds.length>0)throw Error(`replace collision does not support non-empty directories`);let a=i.parentId,o=i.nameId;return Wf(e,t),Rf(e,a,t,o),Gf(e,a),Ef(e,a),`handled`}function Wf(e,t){let n=[],r=[{nodeId:t,visitedChildren:!1}];for(;r.length>0;){let t=r.pop();if(t==null)break;let i=X(e,t.nodeId);if(t.visitedChildren||!J(i)){J(i)&&e.snapshot.directories.delete(t.nodeId),Hu(i,4),e.pathCacheByNodeId.delete(t.nodeId),e.collapsedDirectoryIds.delete(t.nodeId)&&(e.hasCollapsedDirectoryOverrides=e.collapsedDirectoryIds.size>0),e.expandedDirectoryIds.delete(t.nodeId),Wd(e,t.nodeId),e.activeNodeCount--,n.push(t.nodeId);continue}r.push({nodeId:t.nodeId,visitedChildren:!0});let a=jf(e,t.nodeId);for(let e=a.childIds.length-1;e>=0;e--){let t=a.childIds[e];t!=null&&r.push({nodeId:t,visitedChildren:!1})}}return n}function Gf(e,t){let n=t;for(;n!=null;){let t=X(e,n);if(!J(t)||Vu(t,2)||jf(e,n).childIds.length>0)return;Hu(t,1),n=t.parentId===n?null:t.parentId}}function Kf(e,t){let n=e.snapshot.rootId;for(let r of t){let t=e.snapshot.segmentTable.idByValue.get(r);if(t==null)break;let i=Cu(e.snapshot.nodes,jf(e,n)).get(t);if(i==null||!J(X(e,i)))break;n=i}return n}function qf(e,t){let n=Xf(e,t);if(n==null)return null;let r=_f(e,n),i=X(e,r),a=n===r?null:vf(e,n).map(t=>Tf(e,t));return JSON.stringify({flattenedSegmentPaths:a,hasChildren:jf(e,r).childIds.length>0,path:Tf(e,r),terminalKind:zu(i)})}function Jf(e,t){return Yf([e],[t])}function Yf(e,t){for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(r==null||i==null||r!==i)return!0}return!1}function Xf(e,t){let n=t;for(;n!=null;){let t=X(e,n);if(!J(t)||Vu(t,2))return null;if(!Fd(e,n,t))return n;n=t.parentId}return null}function Zf(e,t){let n=X(e,t);if(Uu(n,(t===e.snapshot.rootId?-1:Ru(X(e,n.parentId)))+1),!J(n))return;let r=jf(e,t);for(let t of r.childIds)Zf(e,t)}function Qf(e,t,n){let r=n;for(;r!=null;){if(r===t)return!0;let n=X(e,r);if(r===e.snapshot.rootId)return!1;r=n.parentId}return!1}function $f(e,t,n=X(e,t),r=!1){let i=e.instrumentation;if(i==null){tp(e,t,n,r);return}Y(i,`store.recomputeNodeCounts`,()=>tp(e,t,n,r))}function ep(e,t){let n=t;for(;n!=null;){let t=X(e,n),r=t.subtreeNodeCount,i=t.visibleSubtreeCount;if($f(e,n,t),n===e.snapshot.rootId)return;let a=t.subtreeNodeCount-r,o=t.visibleSubtreeCount-i,s=t.parentId;(a!==0||o!==0)&&Ou(jf(e,s),n,a,o),n=s}}function tp(e,t,n,r){if(!J(n)){n.subtreeNodeCount=1,n.visibleSubtreeCount=1;return}let i=jf(e,t);if(r){let t=e.instrumentation;t==null?Du(e.snapshot.nodes,i):Y(t,`store.recomputeNodeCounts.rebuildChildAggregates`,()=>Du(e.snapshot.nodes,i))}let a=1+i.totalChildSubtreeNodeCount,o=i.totalChildVisibleSubtreeCount;if(n.subtreeNodeCount=a,Vu(n,2)){n.visibleSubtreeCount=o;return}n.visibleSubtreeCount=gf(e,t)==null?Fd(e,t,n)?1+o:1:o}function np(e,t,n){let r=Tf(e,t);return r.length===0?n:`${r}${n}`}function rp(e){return e!=null&&!Vu(e,4)}function ip(e,t){let n=e.snapshot.nodes[t];return!rp(n)||!J(n)||Vu(n,2)?null:n}function ap(e){let t=0;for(let[n,r]of e.pathCacheByNodeId)r.version===e.pathCacheVersion&&rp(e.snapshot.nodes[n])&&(t+=1);return t}function op(e){return Math.max(0,e.valueById.length-1)}function sp(e){return{activeNodeCount:e.activeNodeCount,cachedPathEntryCount:ap(e),loadInfoEntryCount:e.directoryLoadInfoById.size,segmentCount:op(e.snapshot.segmentTable),totalNodeSlotCount:Math.max(0,e.snapshot.nodes.length-1)}}function cp(e,t,n,r){return{activeNodeCountAfter:r.activeNodeCount,activeNodeCountBefore:n.activeNodeCount,cachedPathEntryCountAfter:r.cachedPathEntryCount,cachedPathEntryCountBefore:n.cachedPathEntryCount,idsPreserved:t,loadInfoEntryCountAfter:r.loadInfoEntryCount,loadInfoEntryCountBefore:n.loadInfoEntryCount,mode:e,reclaimedCachedPathEntryCount:n.cachedPathEntryCount-r.cachedPathEntryCount,reclaimedLoadInfoEntryCount:n.loadInfoEntryCount-r.loadInfoEntryCount,reclaimedNodeSlotCount:n.totalNodeSlotCount-r.totalNodeSlotCount,reclaimedSegmentCount:n.segmentCount-r.segmentCount,segmentCountAfter:r.segmentCount,segmentCountBefore:n.segmentCount,totalNodeSlotCountAfter:r.totalNodeSlotCount,totalNodeSlotCountBefore:n.totalNodeSlotCount}}function lp(e){let t=[],n=[];for(let n of e.collapsedDirectoryIds)ip(e,n)!=null&&t.push(Tf(e,n));for(let t of e.expandedDirectoryIds)ip(e,t)!=null&&n.push(Tf(e,t));return{collapsedPaths:t,expandedPaths:n}}function up(e){let t=[];for(let[n,r]of e.directoryLoadInfoById)ip(e,n)==null||Rd(e,n)===`loaded`||t.push({info:{activeAttemptId:null,errorMessage:r.errorMessage,nextAttemptId:r.nextAttemptId,state:r.state},path:Tf(e,n)});return t}function dp(e,t){e.collapsedDirectoryIds.clear(),e.hasCollapsedDirectoryOverrides=!1,e.expandedDirectoryIds.clear();for(let n of t.expandedPaths){let t=kf(e,n);t!=null&&Id(e,t,!0,X(e,t))}for(let n of t.collapsedPaths){let t=kf(e,n);t!=null&&Id(e,t,!1,X(e,t))}}function fp(e,t){e.directoryLoadInfoById.clear();for(let n of t){let t=kf(e,n.path);t!=null&&ip(e,t)!=null&&e.directoryLoadInfoById.set(t,{activeAttemptId:null,errorMessage:n.info.errorMessage,nextAttemptId:n.info.nextAttemptId,state:n.info.state})}}function pp(e){e.pathCacheVersion+=1,e.pathCacheByNodeId.clear(),e.pathCacheByNodeId.set(e.snapshot.rootId,{path:``,version:e.pathCacheVersion})}function mp(e){let t=e.snapshot.segmentTable,n=dd();for(let r of e.snapshot.nodes)if(rp(r)){if(Vu(r,2)){r.nameId=0;continue}r.nameId=fd(n,pd(t,r.nameId))}e.snapshot.segmentTable=n}function hp(e){for(let[t,n]of e.snapshot.directories){let r=e.snapshot.nodes[t];if(!rp(r)||!J(r)){e.snapshot.directories.delete(t);continue}let i=n.childIds.filter(n=>{let r=e.snapshot.nodes[n];return rp(r)&&r.parentId===t});n.childIds=i,n.childIdByNameId=new Map(i.map(t=>[X(e,t).nameId,t])),n.childPositionById=new Map(i.map((e,t)=>[e,t])),Du(e.snapshot.nodes,n)}}function gp(e){let t=e.snapshot.nodes.length-1;for(;t>e.snapshot.rootId;){let n=e.snapshot.nodes[t];if(rp(n))break;--t}e.snapshot.nodes.length=t+1}function _p(e){let t=lp(e),n=up(e);Y(e.instrumentation,`store.cleanup.stable.clearPathCaches`,()=>pp(e)),Y(e.instrumentation,`store.cleanup.stable.rebuildSegmentTable`,()=>mp(e)),Y(e.instrumentation,`store.cleanup.stable.rebuildDirectoryIndexes`,()=>hp(e)),Y(e.instrumentation,`store.cleanup.stable.trimTrailingRemovedNodeSlots`,()=>gp(e)),Y(e.instrumentation,`store.cleanup.stable.restoreExpansionOverrides`,()=>dp(e,t)),Y(e.instrumentation,`store.cleanup.stable.restoreDirectoryLoadInfos`,()=>fp(e,n)),Y(e.instrumentation,`store.cleanup.stable.recomputeCounts`,()=>Df(e,e.snapshot.rootId))}function vp(e){let t=lp(e),n=up(e),r=Y(e.instrumentation,`store.cleanup.aggressive.listPaths`,()=>yf(e)),i=Gu({...e.snapshot.options},e.instrumentation),a=Y(e.instrumentation,`store.cleanup.aggressive.rebuildSnapshot`,()=>{let e=new Ad(i);return e.appendPaths(r),e.finish()});e.snapshot=a,e.activeNodeCount=a.nodes.length-1,e.pathCacheByNodeId=new Map([[a.rootId,{path:``,version:0}]]),e.pathCacheVersion=0,Y(e.instrumentation,`store.cleanup.aggressive.restoreExpansionOverrides`,()=>dp(e,t)),Y(e.instrumentation,`store.cleanup.aggressive.restoreDirectoryLoadInfos`,()=>fp(e,n)),Y(e.instrumentation,`store.cleanup.aggressive.recomputeCounts`,()=>Df(e,e.snapshot.rootId))}function yp(e){for(let t of e.directoryLoadInfoById.values())if(t.state===`loading`&&t.activeAttemptId!=null)return!0;return!1}function bp(e,t){let n=sp(e);t===`stable`?Y(e.instrumentation,`store.cleanup.stable`,()=>_p(e)):Y(e.instrumentation,`store.cleanup.aggressive`,()=>vp(e));let r=sp(e);return cp(t,t===`stable`,n,r)}var xp=64;function Sp(e,t){let n=t+2;if(n<=e.length)return e;let r=e.length;for(;r<n;)r*=2;let i=new Int32Array(r);return i.fill(-1),i.set(e),i}function Cp(e){return X(e,e.snapshot.rootId).visibleSubtreeCount}function wp(e,t,n,r){let i=X(e,t.terminalNodeId),a=Math.max(1,i.visibleSubtreeCount);return Math.min(r-1,n+a-1)}function Tp(e,t,n,r){return{ancestorPaths:r,index:t.index,posInSet:t.posInSet,row:Wp(e,t.cursor),setSize:t.setSize,subtreeEndIndex:wp(e,t.cursor,t.index,n)}}function Ep(e,t,n,r,i,a){let o=jf(e,t),{childIndex:s,childVisibleIndex:c,localVisibleIndex:l}=ku(e.snapshot.nodes,o,n),u=o.childIds[s];if(u==null)throw Error(`Visible index ${String(n)} is out of range`);return Dp(e,u,l,r+c,i+1,s,o.childIds.length,a)}function Dp(e,t,n,r,i,a,o,s){if(!J(X(e,t))){if(n===0)return{ancestors:s,cursor:{headNodeId:t,terminalNodeId:t,visibleDepth:i},index:r,posInSet:a,setSize:o};throw Error(`Visible index ${String(n)} is out of range for file`)}let c=Rp(e,t,i);if(n===0)return{ancestors:s,cursor:c,index:r,posInSet:a,setSize:o};let l=X(e,c.terminalNodeId);if(!J(l)||!Fd(e,c.terminalNodeId,l))throw Error(`Visible index ${String(n)} is out of range for collapsed directory`);return Ep(e,c.terminalNodeId,n-1,r+1,c.visibleDepth,[...s,{cursor:c,index:r,posInSet:a,setSize:o}])}function Op(e,t){let n=Cp(e);if(t<0||t>=n)return null;let r=Ep(e,e.snapshot.rootId,t,0,-1,[]),i=r.ancestors.map(t=>Tf(e,t.cursor.terminalNodeId)),a=null;return{ancestorPaths:i,get ancestorRows(){if(a!=null)return a;let t=[],i=[];for(let a of r.ancestors){let r=Tp(e,a,n,[...i]);t.push(r),i.push(r.row.path)}return a=t,a},index:r.index,posInSet:r.posInSet,row:Wp(e,r.cursor),setSize:r.setSize,subtreeEndIndex:wp(e,r.cursor,r.index,n)}}function kp(e,t,n){let r=e.instrumentation,i=Cp(e);if(i<=0||n<t)return[];let a=Math.max(0,Math.min(t,i-1)),o=Math.max(a,Math.min(n,i-1));if(r==null){if(a===0)return Up(e,o+1);let t=[],n=Fp(e,a);for(let r=a;r<=o&&n!=null;r++){let r=Wp(e,n);t.push(r),n=Bp(e,n)}return t}let s=[],c=0,l=0,u=Y(r,`store.getVisibleSlice.selectFirstRow`,()=>Fp(e,a));for(let t=a;t<=o&&u!=null;t++){let t=Y(r,`store.getVisibleSlice.materializeRow`,()=>Wp(e,u));s.push(t),t.isFlattened&&(c++,l+=t.flattenedSegments?.length??0),u=Y(r,`store.getVisibleSlice.advanceCursor`,()=>Bp(e,u))}return qu(r,`workload.visibleRowsRead`,s.length),qu(r,`workload.flattenedRowsRead`,c),qu(r,`workload.flattenedSegmentsRead`,l),s}function Ap(e,t=Cp(e)){let n=e.instrumentation;return n==null?Hp(e,t):Y(n,`store.getVisibleTreeProjection`,()=>Hp(e,t))}function jp(e){return Vp(Ap(e))}function Mp(e,t){let n=kf(e,t);if(n==null||n===e.snapshot.rootId||J(X(e,n))&&_f(e,n)!==n)return null;let r=0,i=n,{nodes:a,rootId:o}=e.snapshot;for(;i!==o;){let t=X(e,i).parentId,n=jf(e,t),s=wu(n).get(i);if(s==null)throw Error(`Child ${String(i)} was not found in its parent index`);if(r+=Au(a,n,s),t!==o){let n=X(e,t),a=gf(e,t);if(!Fd(e,t,n)&&a!==i)return null;_f(e,t)===t&&(r+=1)}i=t}return r}function Np(e,t){let n=kf(e,t);if(n==null)throw Error(`Path does not exist: "${t}"`);let r=X(e,n);if(!J(r))throw Error(`Path is not a directory: "${t}"`);return Fd(e,n,r)?null:(Id(e,n,!0,r),Ef(e,n),Yd({affectedAncestorIds:Of(e,n),affectedNodeIds:[n],path:t,projectionChanged:!0}))}function Pp(e,t){let n=kf(e,t);if(n==null)throw Error(`Path does not exist: "${t}"`);let r=X(e,n);if(!J(r))throw Error(`Path is not a directory: "${t}"`);return Fd(e,n,r)?(Id(e,n,!1,r),Ef(e,n),Xd({affectedAncestorIds:Of(e,n),affectedNodeIds:[n],path:t,projectionChanged:!0})):null}function Fp(e,t){return t<0||t>=Cp(e)?null:Ip(e,e.snapshot.rootId,t,-1)}function Ip(e,t,n,r){let i=jf(e,t),a=e.instrumentation,{childIndex:o,localVisibleIndex:s}=a==null?ku(e.snapshot.nodes,i,n):Y(a,`store.getVisibleSlice.selectChildIndex`,()=>ku(e.snapshot.nodes,i,n)),c=i.childIds[o];if(c!=null)return Lp(e,c,s,r+1);throw Error(`Visible index ${String(n)} is out of range`)}function Lp(e,t,n,r){if(!J(X(e,t))){if(n===0)return{headNodeId:t,terminalNodeId:t,visibleDepth:r};throw Error(`Visible index ${String(n)} is out of range for file`)}let i=Rp(e,t,r);if(n===0)return i;let a=X(e,i.terminalNodeId);if(!J(a)||!Fd(e,i.terminalNodeId,a))throw Error(`Visible index ${String(n)} is out of range for collapsed directory`);return Ip(e,i.terminalNodeId,n-1,i.visibleDepth)}function Rp(e,t,n){return J(X(e,t))?e.instrumentation==null?{headNodeId:t,terminalNodeId:_f(e,t),visibleDepth:n}:{headNodeId:t,terminalNodeId:Y(e.instrumentation,`store.getVisibleSlice.flatten.resolveTerminalDirectory`,()=>_f(e,t)),visibleDepth:n}:{headNodeId:t,terminalNodeId:t,visibleDepth:n}}function zp(e,t){let n=X(e,t);if(!J(n))return!0;let r=n.parentId;return r===e.snapshot.rootId?!0:gf(e,r)!==t}function Bp(e,t){let n=X(e,t.terminalNodeId);if(J(n)){let r=jf(e,t.terminalNodeId);if(Fd(e,t.terminalNodeId,n)&&r.childIds.length>0){let n=r.childIds[0];return n==null?null:Lp(e,n,0,t.visibleDepth+1)}}let r=t.terminalNodeId,i=t.visibleDepth;for(;;){let t=X(e,r);if(r===e.snapshot.rootId)return null;let n=t.parentId,a=jf(e,n),o=wu(a).get(r)??-1;if(o<0)throw Error(`Child ${String(r)} was not found in its parent index`);let s=a.childIds[o+1]??null;if(s!=null)return Lp(e,s,0,i);zp(e,r)&&i--,r=n}}function Vp(e){let t=e.paths.length,n=Array(t);for(let r=0;r<t;r+=1){let t=e.getParentIndex(r);n[r]={index:r,parentPath:t>=0?e.paths[t]??null:null,path:e.paths[r]??``,posInSet:e.posInSetByIndex[r]??0,setSize:e.setSizeByIndex[r]??0}}return{getParentIndex:e.getParentIndex,rows:n,get visibleIndexByPath(){return e.visibleIndexByPath}}}function Hp(e,t){let n=Array(t),r=new Int32Array(t),i=new Int32Array(t),a=new Int32Array(t),o=new Int32Array(xp);o.fill(-1);let s=0,{nodes:c,directories:l,segmentTable:u}=e.snapshot,d=[[l.get(e.snapshot.rootId),0,-1,``]],f=e.snapshot.options.flattenEmptyDirectories,p=e.pathCacheByNodeId,m=e.pathCacheVersion,h=u.valueById;for(;d.length>0&&s<t;){let t=d[d.length-1],u=t[0];if(t[1]>=u.childIds.length){d.pop();continue}let g=t[1],_=u.childIds[t[1]++],v=c[_],y=t[2]+1,b=t[3];o=Sp(o,y);let x,S=_;if(J(v))S=f?_f(e,_):_,x=S===_?`${b}${h[v.nameId]}/`:Tf(e,S);else{let e=p.get(_);x=e!=null&&e.version===m?e.path:`${b}${h[v.nameId]}`}r[s]=o[y],n[s]=x,i[s]=g,a[s]=u.childIds.length,o[y+1]=s,s+=1;let C=c[S];C!=null&&J(C)&&Fd(e,S,C)&&d.push([l.get(S),0,y,x])}s<t&&(n.length=s);let g=r.subarray(0,s),_=i.subarray(0,s),v=a.subarray(0,s),y=null;return{getParentIndex(e){return e<0||e>=s?-1:g[e]??-1},paths:n,posInSetByIndex:_,setSizeByIndex:v,get visibleIndexByPath(){if(y==null){y=new Map;for(let e=0;e<s;e+=1)y.set(n[e]??``,e)}return y}}}function Up(e,t){let n=Array(t),r=0,{nodes:i,directories:a,segmentTable:o}=e.snapshot,s=[[a.get(e.snapshot.rootId),0,-1]],c=o.valueById,l=e.snapshot.options.flattenEmptyDirectories,u=e.pathCacheByNodeId,d=e.pathCacheVersion;for(;s.length>0&&r<t;){let t=s[s.length-1],o=t[0];if(t[1]>=o.childIds.length){s.pop();continue}let f=o.childIds[t[1]++],p=i[f],m=t[2]+1;if(!J(p)){let t=u.get(f);n[r++]={depth:m,flattenedSegments:void 0,hasChildren:!1,id:f,isExpanded:!1,isFlattened:!1,isLoading:!1,kind:`file`,loadState:void 0,name:c[p.nameId],path:t!=null&&t.version===d?t.path:Tf(e,f)};continue}let h=l?_f(e,f):f,g={headNodeId:f,terminalNodeId:h,visibleDepth:m};n[r++]=Wp(e,g);let _=i[h];_!=null&&J(_)&&Fd(e,h,_)&&s.push([a.get(h),0,m])}return r<t&&(n.length=r),n}function Wp(e,t){let n=X(e,t.terminalNodeId),r=J(n)?Gp(e,t):null,i=Tf(e,t.terminalNodeId),a=pd(e.snapshot.segmentTable,n.nameId),o=J(n)&&jf(e,t.terminalNodeId).childIds.length>0,s=t.headNodeId!==t.terminalNodeId,c=e.instrumentation,l=s?c==null?vf(e,t.headNodeId).map(n=>{let r=X(e,n);return{isTerminal:n===t.terminalNodeId,name:pd(e.snapshot.segmentTable,r.nameId),nodeId:n,path:Tf(e,n)}}):Y(c,`store.getVisibleSlice.flatten.collectSegments`,()=>vf(e,t.headNodeId).map(n=>{let r=X(e,n);return{isTerminal:n===t.terminalNodeId,name:pd(e.snapshot.segmentTable,r.nameId),nodeId:n,path:Tf(e,n)}})):void 0;return{depth:t.visibleDepth,flattenedSegments:l,hasChildren:o,id:t.terminalNodeId,isExpanded:J(n)&&Fd(e,t.terminalNodeId,n),isFlattened:s,isLoading:r===`loading`,kind:J(n)?`directory`:`file`,loadState:r==null||r===`loaded`?void 0:r,name:a,path:i}}function Gp(e,t){if(t.headNodeId===t.terminalNodeId)return Rd(e,t.terminalNodeId);let n=vf(e,t.headNodeId),r=!1,i=!1;for(let t of n){let n=Rd(e,t);if(n===`loading`)return`loading`;if(n===`error`){i=!0;continue}n===`unloaded`&&(r=!0)}return i?`error`:r?`unloaded`:`loaded`}function Kp(e){let{directories:t,nodes:n,options:r,rootId:i,presortedDirectoryNodeIds:a}=e.snapshot,o=r.flattenEmptyDirectories===!0,s=e=>{let r=n[e];if(r==null||!J(r))return;let i=t.get(e);if(i==null)throw Error(`Unknown directory child index for node ${String(e)}`);let a=i.childIds,s=a.length,c=0,l=0;for(let e=0;e<s;e++){let t=a[e];if(t==null)continue;let r=n[t];c+=r.subtreeNodeCount,l+=r.visibleSubtreeCount}i.totalChildSubtreeNodeCount=c,i.totalChildVisibleSubtreeCount=l,s>=128&&ju(n,i),r.subtreeNodeCount=1+c;let u;if(o&&s===1){let e=n[a[0]];u=e!=null&&J(e)?l:1+l}else u=1+l;r.visibleSubtreeCount=u};if(a!=null)for(let e=a.length-1;e>=0;e--)s(a[e]);else for(let e=n.length-1;e>=1;e--)s(e);let c=n[i],l=t.get(i);if(c==null||l==null)return;let u=l.childIds,d=0,f=0;for(let e=0;e<u.length;e++){let t=u[e];if(t==null)continue;let r=n[t];d+=r.subtreeNodeCount,f+=r.visibleSubtreeCount}l.totalChildSubtreeNodeCount=d,l.totalChildVisibleSubtreeCount=f,ju(n,l),c.subtreeNodeCount=1+d,c.visibleSubtreeCount=f}function qp(e){return e.initialExpansion===`open`&&(e.initialExpandedPaths==null||e.initialExpandedPaths.length===0)}var Jp=class e{#e;constructor(e={}){let t=Ku(e),n=Y(t,`store.builder.create`,()=>new Ad(e));if(e.preparedInput!=null){let t=Dd(e.preparedInput);t==null?n.appendPreparedPaths(Ed(e.preparedInput),!1):n.appendPresortedPaths(t,Od(e.preparedInput))}else{let r=e.paths??[];e.presorted===!0?n.appendPaths(r):n.appendPreparedPaths(Y(t,`store.preparePathEntries`,()=>kd(r,e)))}let r=Y(t,`store.builder.finish`,()=>n.finish({skipSubtreeCountPass:!0})),i=Y(t,`store.state.detectAllDirectoriesExpanded`,()=>(e.initialExpansion??`closed`)===`closed`&&n.didMatchAllInitialExpandedPaths());this.#e=Y(t,`store.state.create`,()=>jd(r,i?`open`:e.initialExpansion??`closed`,t)),i&&(this.#e.collapseNewDirectoriesByDefault=!0);let a=i?this.#e.snapshot.directories.size-1:Y(t,`store.state.initializeExpandedPaths`,()=>this.initializeExpandedPaths(e.initialExpandedPaths));i||qp(e)||(e.initialExpansion??`closed`)===`closed`&&a===this.#e.snapshot.directories.size-1||(e.initialExpandedPaths?.length??0)>0&&Y(t,`store.state.checkAllDirectoriesExpanded`,()=>this.hasAllDirectoriesExpanded())?Y(t,`store.state.initializeOpenVisibleCounts`,()=>Kp(this.#e)):Y(t,`store.state.recomputeCounts`,()=>Df(this.#e,this.#e.snapshot.rootId))}static preparePaths(e,t={}){return Cd(e,t)}static prepareInput(e,t={}){return wd(e,t)}static preparePresortedInput(e){return Td(e)}list(e){return Y(this.#e.instrumentation,`store.list`,()=>yf(this.#e,e))}add(e){Y(this.#e.instrumentation,`store.add`,()=>{let t=Cp(this.#e);of(this.#e,rf(this.#e,t,bf(this.#e,e)))})}remove(e,t={}){Y(this.#e.instrumentation,`store.remove`,()=>{let n=Cp(this.#e);of(this.#e,rf(this.#e,n,xf(this.#e,e,t)))})}move(e,t,n={}){Y(this.#e.instrumentation,`store.move`,()=>{let r=Cp(this.#e),i=Sf(this.#e,e,t,n);i!=null&&of(this.#e,rf(this.#e,r,i))})}batch(e){af(this.#e,()=>{if(typeof e==`function`){e(this);return}for(let t of e)switch(t.type){case`add`:this.add(t.path);break;case`remove`:this.remove(t.path,{recursive:t.recursive});break;case`move`:this.move(t.from,t.to,{collision:t.collision});break}})}getVisibleCount(){return Y(this.#e.instrumentation,`store.getVisibleCount`,()=>Cp(this.#e))}getVisibleSlice(e,t){return Y(this.#e.instrumentation,`store.getVisibleSlice`,()=>kp(this.#e,e,t))}getVisibleRowContext(e){return Y(this.#e.instrumentation,`store.getVisibleRowContext`,()=>Op(this.#e,e))}getVisibleTreeProjection(){return jp(this.#e)}getVisibleTreeProjectionData(e){return Ap(this.#e,e)}getVisibleIndex(e){return Y(this.#e.instrumentation,`store.getVisibleIndex`,()=>Mp(this.#e,e))}getPathInfo(e){return Y(this.#e.instrumentation,`store.getPathInfo`,()=>{let t=kf(this.#e,e);if(t==null)return null;let n=X(this.#e,t);return{depth:Ru(n),kind:J(n)?`directory`:`file`,path:Tf(this.#e,t)}})}isExpanded(e){return Y(this.#e.instrumentation,`store.isExpanded`,()=>{let t=this.requireDirectoryNodeId(e),n=X(this.#e,t);return Fd(this.#e,t,n)})}expand(e){Y(this.#e.instrumentation,`store.expand`,()=>{let t=Cp(this.#e),n=Np(this.#e,e);n!=null&&of(this.#e,rf(this.#e,t,n))})}collapse(e){Y(this.#e.instrumentation,`store.collapse`,()=>{let t=Cp(this.#e),n=Pp(this.#e,e);n!=null&&of(this.#e,rf(this.#e,t,n))})}on(e,t){return Gd(this.#e,e,t)}getDirectoryLoadState(e){let t=this.requireDirectoryNodeId(e);return Rd(this.#e,t)}markDirectoryUnloaded(e){Y(this.#e.instrumentation,`store.markDirectoryUnloaded`,()=>{let t=this.requireDirectoryNodeId(e);if(jf(this.#e,t).childIds.length>0)throw Error(`Cannot mark a directory with known children as unloaded: "${e}"`);let n=Cp(this.#e);Bd(this.#e,t),of(this.#e,rf(this.#e,n,Zd({affectedAncestorIds:Of(this.#e,t),affectedNodeIds:[t],path:e,projectionChanged:this.isDirectoryProjectionVisible(t)})))})}beginChildLoad(e){return Y(this.#e.instrumentation,`store.beginChildLoad`,()=>{let t=this.requireDirectoryNodeId(e),n=Cp(this.#e),r=zd(this.#e,t);return of(this.#e,rf(this.#e,n,Qd({affectedAncestorIds:Of(this.#e,t),affectedNodeIds:[t],attemptId:r.attemptId,path:e,projectionChanged:this.isDirectoryProjectionVisible(t),reused:r.reused}))),r})}applyChildPatch(e,t){return Y(this.#e.instrumentation,`store.applyChildPatch`,()=>{let n=this.resolveActiveDirectoryNodeId(e.nodeId);if(n==null||Rd(this.#e,n)!==`loading`||!Hd(this.#e,n,e.attemptId))return!1;let r=Tf(this.#e,n);this.validateChildPatch(r,t);let i=Cp(this.#e),a=[];for(let e of t.operations){Yp(r,e);let t=Cp(this.#e);switch(e.type){case`add`:a.push(rf(this.#e,t,bf(this.#e,e.path)));break;case`remove`:a.push(rf(this.#e,t,xf(this.#e,e.path,{recursive:e.recursive})));break;case`move`:{let n=Sf(this.#e,e.from,e.to,{collision:e.collision});n!=null&&a.push(rf(this.#e,t,n));break}}}let o=a.some(e=>e.projectionChanged)||this.isDirectoryProjectionVisible(n);return of(this.#e,rf(this.#e,i,$d({affectedAncestorIds:Of(this.#e,n),affectedNodeIds:[n],attemptId:e.attemptId,childEvents:a,path:Tf(this.#e,n),projectionChanged:o}))),!0})}completeChildLoad(e){return Y(this.#e.instrumentation,`store.completeChildLoad`,()=>{let t=this.resolveActiveDirectoryNodeId(e.nodeId);if(t==null)return!1;let n=Cp(this.#e),r=Vd(this.#e,t,e.attemptId);return of(this.#e,rf(this.#e,n,ef({affectedAncestorIds:Of(this.#e,t),affectedNodeIds:[t],attemptId:e.attemptId,path:Tf(this.#e,t),projectionChanged:this.isDirectoryProjectionVisible(t),stale:!r}))),r})}failChildLoad(e,t){return Y(this.#e.instrumentation,`store.failChildLoad`,()=>{let n=this.resolveActiveDirectoryNodeId(e.nodeId);if(n==null)return!1;let r=Cp(this.#e),i=Ud(this.#e,n,e.attemptId,t);return of(this.#e,rf(this.#e,r,tf({affectedAncestorIds:Of(this.#e,n),affectedNodeIds:[n],attemptId:e.attemptId,errorMessage:t,path:Tf(this.#e,n),projectionChanged:this.isDirectoryProjectionVisible(n),stale:!i}))),i})}cleanup(e={}){return Y(this.#e.instrumentation,`store.cleanup`,()=>{if(this.#e.transactionStack.length>0)throw Error(`Cleanup cannot run during an open batch or transaction.`);if(yp(this.#e))throw Error(`Cleanup cannot run while directory loads are active.`);let t=Cp(this.#e),n=bp(this.#e,e.mode??`stable`);return of(this.#e,rf(this.#e,t,nf({...n,affectedAncestorIds:[],affectedNodeIds:[],projectionChanged:n.idsPreserved===!1}))),n})}getNodeCount(){return this.#e.activeNodeCount}initializeExpandedPaths(e){if(e==null||e.length===0)return 0;let t=0,n=[],r=[],i=0,a=null,o=this.#e.snapshot.segmentTable,s=o.valueById,c=this.#e.snapshot.nodes,l=new Map;for(let u of e){a!=null&&u<a&&(a=null,i=0,n.length=0,r.length=0);let e=u.length>0&&u.charCodeAt(u.length-1)===47?u.length-1:u.length;if(e===0){a=u,i=e,n.length=0,r.length=0;continue}let d=0,f=0;if(a!=null){let t=Math.min(e,i),n=!0;for(let e=0;e<t;e+=1){let t=u.charCodeAt(e);if(t!==a.charCodeAt(e)){n=!1;break}t===47&&(d+=1,f=e+1)}n&&(t===i&&e>t&&u.charCodeAt(t)===47?(d+=1,f=t+1):t===e&&i>t&&a.charCodeAt(t)===47&&(d+=1,f=e+1)),d=Math.min(d,r.length)}let p=d===0?this.#e.snapshot.rootId:r[d-1]??this.#e.snapshot.rootId,m=d,h=!0,g=f;for(;g<=e;){let t=u.indexOf(`/`,g),i=t===-1||t>e?e:t,a=u.slice(g,i),f=jf(this.#e,p).childIds,_=m===d?n[m]??0:0,v=_,y,b=l.get(a)??Xu(a);l.set(a,b);let x=(e,t)=>{for(v=e;v<t;v+=1){let e=f[v],t=c[e],n=s[t.nameId];if(n===a)return y=e,!0;let r=Qu(ad(o,t.nameId),b);if(r>0||r===0&&n>a)return!1}return!1};if(!x(_,f.length)&&_>0&&x(0,_),y===void 0){h=!1;break}if(!J(X(this.#e,y))){h=!1;break}if(n[m]=v,r[m]=y,p=y,m+=1,i===e)break;g=i+1}if(a=u,i=e,n.length=m,r.length=m,!h){a=null,i=0,n.length=0,r.length=0;continue}for(let e=d;e<m;e+=1){let n=r[e];if(n==null)continue;let i=X(this.#e,n);Fd(this.#e,n,i)||(Id(this.#e,n,!0,i),t+=1)}}return t}hasAllDirectoriesExpanded(){for(let e of this.#e.snapshot.directories.keys()){if(e===this.#e.snapshot.rootId)continue;let t=X(this.#e,e);if(!Fd(this.#e,e,t))return!1}return!0}requireDirectoryNodeId(e){let t=kf(this.#e,e);if(t==null)throw Error(`Path does not exist: "${e}"`);if(!J(X(this.#e,t)))throw Error(`Path is not a directory: "${e}"`);return t}resolveActiveDirectoryNodeId(e){try{if(!J(X(this.#e,e)))throw Error(`Node is not a directory: ${String(e)}`);return e}catch{return null}}isDirectoryProjectionVisible(e){let t=e;for(;t!==this.#e.snapshot.rootId;){let e=X(this.#e,t).parentId;if(e!==this.#e.snapshot.rootId){let n=X(this.#e,e),r=gf(this.#e,e);if(!Fd(this.#e,e,n)&&r!==t)return!1}t=e}return!0}validateChildPatch(t,n){new e({paths:this.list(t),presorted:!0,sort:this.#e.snapshot.options.sort}).batch(n.operations)}};function Yp(e,t){switch(t.type){case`add`:case`remove`:if(!t.path.startsWith(e)||t.path===e)throw Error(`Child patch operation must stay within ${e}: "${t.path}"`);break;case`move`:if(!t.from.startsWith(e)||!t.to.startsWith(e)||t.from===e||t.to===e)throw Error(`Child patch move must stay within ${e}: "${t.from}" -> "${t.to}"`);break}}var Xp=e=>e.startsWith(`f::`)?e.slice(3):e;function Zp(e){let t=e.lastIndexOf(`/`);return t<0?{parentPath:``,baseName:e}:{parentPath:e.slice(0,t),baseName:e.slice(t+1)}}function Qp(e,t){return e===``?t:`${e}/${t}`}function $p({files:e,path:t,isFolder:n,nextBasename:r}){let i=Xp(t),a=r.trim();if(a.length===0)return{error:`Name cannot be empty.`};if(a.includes(`/`))return{error:`Name cannot include "/".`};let{parentPath:o,baseName:s}=Zp(i);if(a===s)return{nextFiles:e,sourcePath:i,destinationPath:i,isFolder:n};let c=Qp(o,a),l=Array(e.length),u=new Set;if(!n){let t=`${c}/`,r=!1;for(let n=0;n<e.length;n++){let a=e[n];if(a!==i&&a.startsWith(t))return{error:`"${c}" already exists.`};let o=a===i?c:a;if(u.has(o))return{error:`"${c}" already exists.`};u.add(o),l[n]=o,a===i&&(r=!0)}return r?{nextFiles:l,sourcePath:i,destinationPath:c,isFolder:n}:{error:`Could not find the selected file to rename.`}}let d=`${i}/`,f=`${c}/`,p=0;for(let t=0;t<e.length;t++){let n=e[t],r=n===i||n.startsWith(d);if(!r&&(n===c||n.startsWith(f)))return{error:`"${c}" already exists.`};let a=r?`${c}${n.slice(i.length)}`:n;if(u.has(a))return{error:`"${c}" already exists.`};u.add(a),l[t]=a,r&&p++}return p===0?{error:`Could not find the selected folder to rename.`}:{nextFiles:l,sourcePath:i,destinationPath:c,isFolder:n}}function em(e){return e.endsWith(`/`)}function tm(e){let t=e.endsWith(`/`)?e.slice(0,-1):e,n=t.lastIndexOf(`/`),r=n<0?t:t.slice(n+1);return e.endsWith(`/`)?`${r}/`:r}function nm(e){let t=[],n=new Set;for(let r of e)n.has(r)||(n.add(r),t.push(r));let r=new Set;for(let e of t.toSorted((e,t)=>e.length===t.length?e.localeCompare(t):e.length-t.length)){let t=(e.endsWith(`/`)?e.slice(0,-1):e).split(`/`),n=!1;for(let e=0;e<t.length-1;e+=1){let i=`${t.slice(0,e+1).join(`/`)}/`;if(r.has(i)){n=!0;break}}n||r.add(e)}return t.filter(e=>r.has(e))}function rm(e,t){return t.includes(e)?nm(t):[e]}function im(e,t){return e===t?!0:e==null||t==null?!1:e.kind===t.kind&&e.directoryPath===t.directoryPath&&e.flattenedSegmentPath===t.flattenedSegmentPath&&e.hoveredPath===t.hoveredPath}function am(e,t){return{draggedPaths:e,target:t}}function om(e,t){if(t.kind!==`directory`||t.directoryPath==null)return!1;for(let n of e)if(em(n)&&(t.directoryPath===n||t.directoryPath.startsWith(n)))return!0;return!1}function sm(e,t){return t.kind===`root`||t.directoryPath==null?tm(e):t.directoryPath}function cm(e,t){let n=e.map(e=>{let n=sm(e,t);return n===e?null:{from:e,to:n,type:`move`}}).filter(e=>e!=null);return n.length===0?null:{operations:n,result:{draggedPaths:e,operation:n.length===1?`move`:`batch`,target:t}}}var lm=Symbol(`FILE_TREE_RENAME_VIEW`);function um(e){return e.operation===`add`||e.operation===`remove`||e.operation===`move`||e.operation===`batch`}var dm=512,fm=512;function pm(e,t){if(e.size!==t.length)return!1;for(let n of t)if(!e.has(n))return!1;return!0}function mm(e){let t=e.endsWith(`/`)?e.slice(0,-1):e;if(t.length===0)return[];let n=t.split(`/`);return n.slice(0,-1).map((e,t)=>`${n.slice(0,t+1).join(`/`)}/`)}function hm(e){return mm(e).at(-1)??null}function gm(e,t){return t==null?e:e.startsWith(t)?e.slice(t.length):e}var _m=e=>{let t=e.trim();return t.length===0?``:(t.includes(`\\`)?t.replaceAll(`\\`,`/`):t).toLowerCase()},vm=e=>e.toLowerCase();function ym(e){return e.endsWith(`/`)}function bm(e){let t=e.endsWith(`/`)?e.slice(0,-1):e,n=t.lastIndexOf(`/`);return n<0?t:t.slice(n+1)}function xm(e){return e.endsWith(`/`)?e.slice(0,-1):e}function Sm(e,t){return t&&!e.endsWith(`/`)?`${e}/`:e}function Cm(e,t,n){if(e===t)return n;let r=t.endsWith(`/`)?t:`${t}/`;return e.startsWith(r)?`${n.endsWith(`/`)?n:`${n}/`}${e.slice(r.length)}`:e}function wm(e,t){if(e===t)return!0;let n=t.endsWith(`/`)?t:`${t}/`;return e.startsWith(n)}function Tm(e,t,n=!1){if(e==null)return null;switch(t.operation){case`add`:case`expand`:case`collapse`:case`mark-directory-unloaded`:case`begin-child-load`:case`apply-child-patch`:case`complete-child-load`:case`fail-child-load`:case`cleanup`:return e;case`remove`:return wm(e,t.path)?n?e:null:e;case`move`:return Cm(e,t.from,t.to);case`batch`:{let r=e;for(let e of t.events)if(r=Tm(r,e,n),r==null)return null;return r}}}function Em(e){return{canonicalChanged:e.canonicalChanged,projectionChanged:e.projectionChanged,visibleCountDelta:e.visibleCountDelta}}function Dm(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function Om(e,t,n){let{paths:r,preparedInput:i}=e;if(i==null){if(r==null)throw Error(`FileTree requires paths or preparedInput`);return{paths:r,preparedInput:void 0}}let a=i.paths;if(r==null)return{paths:a,preparedInput:i};if(!Dm(Jp.preparePaths(r,n==null?{}:{sort:n}),a))throw Error(`FileTree ${t} received paths and preparedInput for different path lists`);return{paths:a,preparedInput:i}}function km(e){switch(e.operation){case`add`:return{...Em(e),operation:`add`,path:e.path};case`remove`:return{...Em(e),operation:`remove`,path:e.path,recursive:e.recursive};case`move`:return{...Em(e),from:e.from,operation:`move`,to:e.to}}}function Am(e){return{...Em(e),events:e.events.filter(e=>e.operation===`add`||e.operation===`remove`||e.operation===`move`).map(e=>km(e)),operation:`batch`}}function jm(e){switch(e.operation){case`add`:case`remove`:case`move`:return km(e);case`batch`:return Am(e);default:return null}}function Mm(e,t,n){if(e===0)return-1;if(n!=null){let e=t(n);if(e!=null)return e;let r=mm(n);for(let e=r.length-1;e>=0;--e){let n=r[e];if(n==null)continue;let i=t(n);if(i!=null)return i}}return 0}function Nm(e,t,n){if(e.paths.length===0)return{focusedIndex:-1,getParentIndex:e.getParentIndex,paths:e.paths,posInSetByIndex:e.posInSetByIndex,setSizeByIndex:e.setSizeByIndex};if(t==null)return{focusedIndex:0,getParentIndex:e.getParentIndex,paths:e.paths,posInSetByIndex:e.posInSetByIndex,setSizeByIndex:e.setSizeByIndex};let r=n??(t=>e.visibleIndexByPath.get(t)??null);return{focusedIndex:Mm(e.paths.length,r,t),getParentIndex:e.getParentIndex,paths:e.paths,posInSetByIndex:e.posInSetByIndex,setSizeByIndex:e.setSizeByIndex}}var Pm=class{#e;#t=new Set;#n=new Map;#r=null;#i=null;#a=new Map;#o=new Map;#s=-1;#c=null;#l=!1;#u=e=>-1;#d=new Map;#f=null;#p=null;#m=null;#h=null;#g=null;#_;#v;#y;#b=[];#x=new Int32Array;#S=new Int32Array;#C=void 0;#w=!1;#T=null;#E=``;#D=!1;#O=new Set;#k=[];#A;#j=null;#M=null;#N=null;#P=null;#F=null;#I=null;#L=null;#R=new Set;#z=0;#B;#V=0;#H=!1;#U=0;#W;constructor(e){let{dragAndDrop:t,fileTreeSearchMode:n,initialSearchQuery:r,initialSelectedPaths:i,renaming:a,onSearchChange:o,paths:s,preparedInput:c,...l}=e,u=Om({paths:s,preparedInput:c},`constructor`,l.sort);this.#e=l,t!=null&&t!==!1&&(this.#r=t===!0?{}:t),this.#w=a!=null&&a!==!1,a!=null&&a!==!1&&a!==!0&&(this.#C=a.canRename,this.#v=a.onError,this.#_=a.onRename),this.#y=o,this.#A=n??`hide-non-matches`,this.#B=this.#se(u.paths,u.preparedInput);let d=i?.map(e=>this.#Ae(e)).filter(e=>e!=null)??[],f=d.at(-1)??null;d.length>0&&(this.#R=new Set(d),this.#L=f,this.#z=1),this.#Oe(f,!1),r!=null&&this.#Se(r,!1),this.#W=this.#Fe()}destroy(){this.#W?.(),this.#W=null,this.#n.clear(),this.#t.clear(),this.#d.clear(),this.#i=null,this.#pe()}focusFirstItem(){this.#ve().length>0&&this.#Me(0)}focusLastItem(){this.#U<=0||(this.#Ne(),this.#Me(this.#U-1))}focusNextItem(){this.#De(1)}focusParentItem(){if(this.#c==null)return;let e=hm(this.#c);if(e==null)return;let t=this.#Y(e);t>=0&&this.#Me(t)}focusPath(e){let t=this.#B.getPathInfo(e)?.path??null;if(t==null)return;this.#Ne();let n=this.#Y(t);n>=0&&this.#Me(n)}focusNearestPath(e){let t=this.resolveNearestVisiblePath(e);if(t==null)return null;let n=this.#Y(t);return n>=0?(this.#Me(n),this.#ve()[n]??t):null}focusPreviousItem(){this.#De(-1)}getFocusedIndex(){return this.#s}getFocusedItem(){return this.#c==null?null:this.#X(this.#c)}getFocusedPath(){return this.#c}resolveNearestVisiblePath(e){let t=this.#ve();if(this.#U===0)return null;if(e==null)return this.#c??t[0]??null;let n=this.#B.getPathInfo(e)?.path??e,r=this.#Y(n);return r>=0?t[r]??n:this.#J(n)??this.#c??t[0]??null}getSelectedPaths(){return[...this.#R]}getSelectionVersion(){return this.#z}getVisibleCount(){return this.#U}getVisibleRows(e,t){if(t<e||this.#U===0)return[];let n=Math.max(0,e),r=Math.min(this.#U-1,t);if(r<n)return[];let i=r-n+1;if(this.#F==null&&!this.#l&&r>=this.#b.length&&i<=fm){let e=[];for(let t=n;t<=r;t+=1){let n=this.#B.getVisibleRowContext(t);if(n==null)break;e.push(this.#Q(n))}return e}if(!this.#l&&r>=this.#b.length&&this.#Ne(),this.#F!=null){let e=Array.from({length:r-n+1},(e,t)=>this.#ye(n+t)),t=new Map,i=e[0]??-1,a=i;for(let n=1;n<=e.length;n+=1){let r=e[n];if(r!=null&&r===a+1){a=r;continue}if(i>=0&&this.#B.getVisibleSlice(i,a).forEach((e,n)=>{t.set(i+n,e)}),r==null){i=-1,a=-1;continue}i=r,a=r}return Array.from({length:r-n+1},(e,r)=>{let i=n+r,a=this.#ye(i),o=t.get(a),s=this.#b[a];if(o==null||s==null)throw Error(`Missing projection row for filtered visible index ${String(i)}`);return this.#Z(o,i,a,{ancestorPaths:this.#te(a),path:s})})}return this.#B.getVisibleSlice(n,r).map((e,t)=>{let r=n+t,i=this.#b[r];if(i==null)throw Error(`Missing projection path for visible index ${String(r)}`);return this.#Z(e,r,r,{ancestorPaths:this.#te(r),path:i})})}getStickyRowCandidates(e,t){if(this.#F!=null)return null;if(this.#U===0||e<=0||t<=0)return[];let n=[];for(let r=0;r<this.#U;r+=1){let i=e+r*t,a=Math.min(this.#U-1,Math.floor(i/t)),o=this.#$(a,r)??(a>0?this.#$(a-1,r):void 0);if(o==null)break;n.push({row:this.#Q(o),subtreeEndIndex:o.subtreeEndIndex})}return n}getItem(e){let t=this.#B.getPathInfo(e);return t==null?null:this.#X(t.path,t)}selectAllVisiblePaths(){this.#Ne();let e=[...this.#ve()];this.#re(e,this.#c??this.#L)}selectOnlyPath(e){let t=this.#Ae(e);t!=null&&this.#re([t],t)}selectPath(e){let t=this.#Ae(e);t==null||this.#R.has(t)||this.#re([...this.#R,t])}deselectPath(e){let t=this.#Ae(e);t==null||!this.#R.has(t)||this.#re([...this.#R].filter(e=>e!==t))}toggleFocusedSelection(){this.#c!=null&&this.togglePathSelectionFromInput(this.#c)}togglePathSelection(e){let t=this.#Ae(e);if(t!=null){if(this.#R.has(t)){this.deselectPath(t);return}this.selectPath(t)}}togglePathSelectionFromInput(e){let t=this.#Ae(e);if(t!=null){if(this.#R.has(t)){this.#re([...this.#R].filter(e=>e!==t),t);return}this.#re([...this.#R,t],t)}}selectPathRange(e,t){let n=this.#Ae(e);if(n==null)return;this.#Ne();let r=this.#L,i=r==null?-1:this.#be(r),a=this.#be(n);if(i===-1||a===-1){let e=t?[...this.#R,n]:[n];this.#re(e,n);return}let[o,s]=i<=a?[i,a]:[a,i],c=this.#ve().slice(o,s+1),l=t?[...this.#R,...c]:c;this.#re(l,r)}extendSelectionFromFocused(e){if(this.#c==null)return;let t=this.#s;if(t===-1)return;let n=Math.min(this.#U-1,Math.max(0,t+e));if(n===t)return;!this.#l&&n>=this.#b.length&&this.#Ne();let r=this.#ve(),i=r[t]??null,a=r[n]??null;if(i==null||a==null)return;let o=new Set(this.#R);o.has(i)&&o.has(a)?o.delete(i):o.add(a),this.#re([...o],this.#L??i,!1),this.#Me(n)}getDragAndDropConfig(){return this.#r}isDragAndDropEnabled(){return this.#r!=null}getDragSession(){return this.#i==null?null:{draggedPaths:[...this.#i.draggedPaths],primaryPath:this.#i.primaryPath,target:this.#i.target==null?null:{...this.#i.target}}}startDrag(e){if(this.#r==null)return!1;let t=this.#Ae(e);if(t==null||this.#M!=null&&this.#M.length>0)return!1;let n=this.getSelectedPaths(),r=rm(t,n);return this.#r.canDrag?.(r)===!1?!1:(n.includes(t)||this.#re([t],t,!1),this.#je(t),this.#i={draggedPaths:r,primaryPath:t,target:null},this.#we(),!0)}setDragTarget(e){let t=this.#i;if(t==null)return;let n=e;if(n!=null){let e=am(t.draggedPaths,n);(om(t.draggedPaths,n)||this.#r?.canDrop?.(e)===!1)&&(n=null)}im(t.target,n)||(this.#i={...t,target:n},this.#we())}cancelDrag(){this.#i!=null&&(this.#i=null,this.#we())}completeDrag(){let e=this.#i;if(e==null)return!1;this.#i=null;let t=e.target==null?null:{...e.target};if(t==null)return this.#we(),!1;let n=am(e.draggedPaths,t);if(om(e.draggedPaths,t)||this.#r?.canDrop?.(n)===!1)return this.#we(),!1;let r=cm(e.draggedPaths,t);if(r==null)return this.#we(),!1;try{if(r.operations.length===1){let e=r.operations[0];if(e==null||e.type!==`move`)throw Error(`Expected a single move operation for one-item drops`);this.#B.move(e.from,e.to,{collision:e.collision})}else this.#oe(r.operations),this.#B.batch(r.operations)}catch(e){return this.#we(),this.#r?.onDropError?.(e instanceof Error?e.message:String(e),n),!1}return this.#r?.onDropComplete?.(r.result),!0}subscribe(e){return this.#t.add(e),e(),()=>{this.#t.delete(e)}}add(e){this.#B.add(e)}remove(e,t={}){this.#B.remove(e,t)}move(e,t,n={}){this.#B.move(e,t,n)}batch(e){this.#B.batch(e)}onMutation(e,t){let n=e,r=t,i=this.#n.get(n);return i??(i=new Set,this.#n.set(n,i)),i.add(r),()=>{let e=this.#n.get(n);e?.delete(r),e?.size===0&&this.#n.delete(n)}}setSearch(e){this.#Se(e,!0)}openSearch(e=``){this.#Se(e,!0)}closeSearch(){this.#Se(null,!0)}isSearchOpen(){return this.#M!==null}getSearchValue(){return this.#M??``}getSearchMatchingPaths(){return this.#k}focusNextSearchMatch(){this.#xe(1)}focusPreviousSearchMatch(){this.#xe(-1)}startRenaming(e=this.#c??``,t={}){if(!this.#w)return!1;let n=this.#B.getPathInfo(e);if(n==null)return!1;let r=n.path,i=ym(r),a=xm(r);if(this.#C?.({isFolder:i,path:a})===!1)return!1;for(let e of mm(r))this.#B.isExpanded(e)||this.#B.expand(e);return this.#re([r],r,!1),this.#M!=null&&(this.#Se(null,!1),this.#y?.(this.#M)),this.#je(r),this.#T=r,this.#E=bm(r),this.#D=t.removeIfCanceled??!1,this.#we(),!0}[lm](){return{cancel:()=>{this.#G()},commit:()=>{this.#K()},getPath:()=>this.#T,getValue:()=>this.#E,isActive:()=>this.#T!=null,setValue:e=>{this.#q(e)}}}#G(){if(this.#T==null)return;let e=this.#T,t=this.#D;if(this.#T=null,this.#E=``,this.#D=!1,t){this.remove(e,ym(e)?{recursive:!0}:void 0);return}this.#je(e),this.#we()}#K(){let e=this.#T;if(e==null)return;if(this.#D&&this.#E.trim().length===0){this.#T=null,this.#E=``,this.#D=!1,this.remove(e,ym(e)?{recursive:!0}:void 0);return}let t=ym(e),n=$p({files:this.#B.list(),isFolder:t,nextBasename:this.#E,path:xm(e)});if(this.#T=null,this.#E=``,this.#D=!1,`error`in n){this.#je(e),this.#v?.(n.error),this.#we();return}if(n.sourcePath===n.destinationPath){this.#je(e),this.#we();return}this.#_?.({destinationPath:n.destinationPath,isFolder:n.isFolder,sourcePath:n.sourcePath}),this.move(Sm(n.sourcePath,t),Sm(n.destinationPath,t))}#q(e){this.#T==null||this.#E===e||(this.#E=e,this.#we())}resetPaths(e,t={}){let n=this.#B.list().length,r=this.#U,i=Om({paths:e,preparedInput:t.preparedInput},`resetPaths`,this.#e.sort),a=this.#se(i.paths,i.preparedInput,t.initialExpandedPaths),o=this.#c,s=this.#T,c=this.getSelectedPaths(),l=this.#L;this.#W?.(),this.#B=a,this.#d.clear(),this.#pe();let u=c.map(e=>a.getPathInfo(e)?.path??null).filter(e=>e!=null),d=!pm(this.#R,u);this.#R=new Set(u),d&&(this.#z+=1),this.#L=l==null?null:a.getPathInfo(l)?.path??null,this.#T=s==null?null:a.getPathInfo(s)?.path??null,this.#T??(this.#E=``,this.#D=!1),this.#Oe(o,o!=null||u.length>0||this.#L!=null),this.#W=this.#Fe(),this.#we(),this.#Te({canonicalChanged:!0,operation:`reset`,pathCountAfter:i.paths.length,pathCountBefore:n,projectionChanged:!0,usedPreparedInput:t.preparedInput!=null,visibleCountDelta:this.#U-r})}#J(e){this.#Ne();let t=hm(e),n=gm(e,t),r=null,i=null;for(let e of this.#ve()){if(hm(e)!==t)continue;let a=gm(e,t);if(a<n){r=e;continue}if(a>n){i=e;break}}return r??i}#Y(e){let t=this.#be(e);if(t!==-1)return t;let n=mm(e);for(let e=n.length-1;e>=0;--e){let t=n[e];if(t==null)continue;let r=this.#be(t);if(r!==-1)return r}return this.#ve().length>0?0:-1}#X(e,t){let n=this.#d.get(e);if(n!=null)return n;let r=t??this.#B.getPathInfo(e);if(r==null)return null;let i=r.kind===`directory`?this.#ie(r.path):this.#ae(r.path);return this.#d.set(r.path,i),i}#Z(e,t,n,r){return{ancestorPaths:r.ancestorPaths,depth:e.depth,flattenedSegments:e.flattenedSegments?.map(e=>({isTerminal:e.isTerminal,name:e.name,path:e.path})),hasChildren:e.hasChildren,index:t,isExpanded:e.isExpanded,isFlattened:e.isFlattened,isFocused:r.path===this.#c,isSelected:this.#R.has(r.path),kind:e.kind,level:e.depth,name:e.name,path:r.path,posInSet:r.posInSet??this.#x[n]??0,setSize:r.setSize??this.#S[n]??0}}#Q(e){return this.#Z(e.row,e.index,e.index,{ancestorPaths:e.ancestorPaths,path:e.row.path,posInSet:e.posInSet,setSize:e.setSize})}#$(e,t){let n=this.#B.getVisibleRowContext(e);return n==null?void 0:n.ancestorRows[t]??(t===n.ancestorRows.length&&n.row.kind===`directory`&&n.row.isExpanded?n:void 0)}#ee(e){let t=this.#a.get(e);if(t!=null)return t;let n=this.#u(e),r=n<0?[]:[...this.#ee(n),n];return this.#a.set(e,r),r}#te(e){let t=this.#o.get(e);if(t!=null)return t;let n=this.#ee(e).map(e=>this.#b[e]??``).filter(e=>e!==``);return this.#o.set(e,n),n}#ne(e){this.#B.collapse(e)}#re(e,t=this.#L,n=!0){let r=[...new Set(e)],i=!pm(this.#R,r),a=this.#L!==t;!i&&!a||(this.#R=new Set(r),this.#L=t,i&&(this.#z+=1),n&&this.#we())}#ie(e){return{collapse:()=>{this.#ne(e)},deselect:()=>{this.deselectPath(e)},expand:()=>{this.#Ee(e)},focus:()=>{this.focusPath(e)},getPath:()=>e,isDirectory:()=>!0,isExpanded:()=>this.#B.isExpanded(e),isFocused:()=>this.#c===e,isSelected:()=>this.#R.has(e),select:()=>{this.selectPath(e)},toggleSelect:()=>{this.togglePathSelection(e)},toggle:()=>{this.#Ie(e)}}}#ae(e){return{deselect:()=>{this.deselectPath(e)},focus:()=>{this.focusPath(e)},getPath:()=>e,isDirectory:()=>!1,isFocused:()=>this.#c===e,isSelected:()=>this.#R.has(e),select:()=>{this.selectPath(e)},toggleSelect:()=>{this.togglePathSelection(e)}}}#oe(e){let t=this.#B.list();this.#se(t).batch(e)}#se(e,t,n){return new Jp({...this.#e,paths:e,preparedInput:t??void 0,...n===void 0?{}:{initialExpandedPaths:n}})}#ce(){return this.#h??=this.#B.list(),this.#h}#le(){if(this.#m!=null)return this.#m;let e=new Set;for(let t of this.#ce()){e.add(t);for(let n of mm(t))e.add(n)}return this.#m=[...e].sort(),this.#m}#ue(){return this.#g??=this.#ce().map(vm),this.#g}#de(){return this.#f??=this.#le().filter(e=>e.endsWith(`/`)),this.#f}#fe(){return this.#p??=this.#de().map(vm),this.#p}#pe(){this.#f=null,this.#p=null,this.#m=null,this.#h=null,this.#g=null}#me(){return this.#de().filter(e=>this.#B.isExpanded(e))}#he(e){let t=new Set(this.#j??[]);if(e)for(let e of this.#R)for(let n of mm(e))t.add(n);this.#ge(t)}#ge(e){this.#H=!0;try{for(let t of this.#de()){let n=e.has(t),r=this.#B.isExpanded(t);n&&!r?this.#B.expand(t):!n&&r&&this.#B.collapse(t)}}finally{this.#H=!1}}#_e(){let e=this.#b;if(this.#k=e.filter(e=>this.#O.has(e)),this.#M==null||this.#M.length===0||this.#A!==`hide-non-matches`||this.#O.size===0){this.#F=null,this.#I=null,this.#P=null,this.#U=this.#V;return}let t=[],n=[],r=new Map;for(let[i,a]of e.entries())this.#N?.has(a)===!0&&(r.set(a,n.length),t.push(i),n.push(a));this.#F=t,this.#I=n,this.#P=r,this.#U=n.length}#ve(){return this.#I??this.#b}#ye(e){return this.#F?.[e]??e}#be(e){return this.#P?.get(e)??this.#B.getVisibleIndex(e)??-1}#xe(e){let t=this.#k;if(t.length===0)return;let n=this.#c,r=n==null?-1:t.indexOf(n),i=t[r<0?e>0?0:t.length-1:Math.min(t.length-1,Math.max(0,r+e))];i!=null&&this.focusPath(i)}#Se(e,t){let n=e==null?null:_m(e),r=this.#M;if(r!==n){if(r==null&&n!=null&&(this.#j=this.#me()),this.#M=n,n==null)this.#he(!0),this.#j=null,this.#O.clear(),this.#N=null,this.#Oe(this.#c,!0);else if(n.length===0)this.#he(!1),this.#O.clear(),this.#N=null,this.#Oe(this.#c,!0);else{let e=this.#Ce();this.#Oe(e,!0)}t&&(this.#y?.(this.#M),this.#we())}}#Ce(){if(this.#M==null||this.#M.length===0)return this.#O.clear(),this.#c;let e=this.#M,t=this.#ce(),n=this.#ue(),r=[],i=new Set,a=null;for(let o=0;o<t.length;o+=1){if(!n[o].includes(e))continue;let s=t[o];r.push(s),i.add(s),a??=s}let o=this.#de(),s=this.#fe();for(let t=0;t<o.length;t+=1){if(!s[t].includes(e))continue;let n=o[t];i.has(n)||(r.push(n),i.add(n),a??=n)}this.#O=i;let c=this.#A===`hide-non-matches`&&r.length>0?new Set:null;this.#N=c;let l=this.#A===`expand-matches`?new Set(this.#j??[]):new Set;for(let e of r){c?.add(e),e.endsWith(`/`)&&l.add(e);for(let t of mm(e))l.add(t),c?.add(t)}return this.#ge(l),a??this.#c}#we(){for(let e of this.#t)e()}#Te(e){this.#n.get(e.operation)?.forEach(t=>{t(e)}),this.#n.get(`*`)?.forEach(t=>{t(e)})}#Ee(e){for(let t of mm(e))this.#B.isExpanded(t)||this.#B.expand(t);this.#B.isExpanded(e)||this.#B.expand(e)}#De(e){let t=this.#U;if(t===0)return;let n=this.#s===-1?0:this.#s,r=Math.min(t-1,Math.max(0,n+e));(r!==n||this.#s===-1)&&(!this.#l&&this.#F==null&&r>=this.#b.length&&this.#Ne(),this.#Me(r))}#Oe(e,t=!0){let n=this.#B.getVisibleCount();this.#V=n;let r=Nm(this.#B.getVisibleTreeProjectionData(t?void 0:Math.min(n,dm)),e,t?e=>this.#B.getVisibleIndex(e):void 0);this.#a.clear(),this.#o.clear(),this.#l=r.paths.length>=n,this.#u=r.getParentIndex,this.#b=r.paths,this.#x=r.posInSetByIndex,this.#S=r.setSizeByIndex,this.#_e(),this.#s=e==null?this.#ve().length>0?0:-1:this.#Y(e),this.#c=this.#s<0?null:this.#ke(this.#s)}#ke(e){return this.#ve()[e]??(this.#F==null?this.#B.getVisibleRowContext(e)?.row.path??null:null)}#Ae(e){return this.#B.getPathInfo(e)?.path??null}#je(e){if(e==null)return;let t=this.#Y(e);t>=0&&this.#Me(t,!1)}#Me(e,t=!0){let n=this.#ke(e);n!=null&&(this.#s===e&&this.#c===n||(this.#s=e,this.#c=n,t&&this.#we()))}#Ne(){this.#l||this.#Oe(this.#c,!0)}#Pe(e){let t=Tm(this.#T,e);t==null&&this.#T!=null&&(this.#E=``),this.#T=t;let n=Tm(this.#c,e,!0),r=[...this.#R].map(t=>Tm(t,e)).filter(e=>e!=null).map(e=>this.#B.getPathInfo(e)?.path??null).filter(e=>e!=null),i=Tm(this.#L,e),a=i==null?null:this.#B.getPathInfo(i)?.path??null,o=[...new Set(r)];return pm(this.#R,o)||(this.#R=new Set(o),this.#z+=1),this.#L=a,n}#Fe(){return this.#B.on(`*`,e=>{if(this.#H)return;e.canonicalChanged&&(this.#d.clear(),this.#pe()),this.#i!=null&&um(e)&&(this.#i=null);let t=um(e)?this.#Pe(e):this.#c,n=this.#M!=null&&this.#M.length>0?this.#Ce():this.#M===``?this.#c:t,r=this.#M!=null||e.operation!==`expand`&&e.operation!==`collapse`;this.#Oe(n,r),this.#we();let i=jm(e);i!=null&&this.#Te(i)})}#Ie(e){if(this.#B.isExpanded(e)){this.#ne(e);return}this.#Ee(e)}},Fm=e=>{if(e==null||e.length===0)return`0`;let t=`${e.length}`;for(let n of e)t+=`\0${n.path}\0${n.status}`;return t};function Im(e){let t=e.endsWith(`/`),n=``,r=-1;for(let t=0;t<=e.length;t+=1){if(!(e[t]===`/`||t===e.length)){r===-1&&(r=t);continue}r!==-1&&(n!==``&&(n+=`/`),n+=e.slice(r,t),r=-1)}return n===``?null:{isDirectory:t,path:n}}function Lm(e){let t=e.endsWith(`/`)?e.slice(0,-1):e;if(t.length===0)return[];let n=t.split(`/`);return n.slice(0,-1).map((e,t)=>`${n.slice(0,t+1).join(`/`)}/`)}function Rm(e,t){return t?`${e}/`:e}function zm(e,t=null){let n=Fm(e==null?void 0:[...e]);if(n===`0`)return null;if(t?.signature===n)return t;let r=new Map,i=new Set,a=new Set;for(let t of e??[]){let e=Im(t.path);if(e==null)continue;let n=Rm(e.path,e.isDirectory);r.set(n,t.status),t.status===`ignored`&&e.isDirectory?a.add(n):e.isDirectory&&a.delete(n);for(let t of Lm(e.path))i.add(t)}return{directoriesWithChanges:i,ignoredDirectoryPaths:a,signature:n,statusByPath:r}}var Bm=e=>e.trim().toLowerCase(),Vm=e=>e.split(`/`).at(-1)??e,Hm=e=>{let t=e.toLowerCase().split(`.`),n=[];for(let e=1;e<t.length;e+=1)n.push(t.slice(e).join(`.`));return n};function Um(e,t){return typeof e==`string`?{name:e,remappedFrom:t}:{...e,remappedFrom:t}}function Wm(e){let t=ru(e),n=t.remap,r=new Map;for(let[e,n]of Object.entries(t.byFileName??{}))r.set(e.toLowerCase(),n);let i=new Map;for(let[e,n]of Object.entries(t.byFileExtension??{}))i.set(Bm(e),n);let a=Object.entries(t.byFileNameContains??{}).map(([e,t])=>[e.toLowerCase(),t]);return{resolveIcon:(e,o)=>{if(e===`file-tree-icon-file`&&o!=null){let n=Vm(o),s=n.toLowerCase(),c=r.get(s);if(c!=null)return Um(c,e);for(let[t,n]of a)if(s.includes(t))return Um(n,e);let l=Hm(n);for(let t of l){let n=i.get(t);if(n!=null)return Um(n,e)}let u=tu(t.set,n,l);if(u!=null&&t.set!==`none`)return{name:$l(u),remappedFrom:e,token:u}}let s=n?.[e];return s==null?{name:e}:Um(s,e)}}}var Z,Gm,Km,qm,Jm,Ym,Xm,Zm,Qm,$m,eh={},th=[],nh=Array.isArray,rh=th.slice,ih=Object.assign;function ah(e){e&&e.parentNode&&e.remove()}function oh(e,t,n){var r,i,a,o={};for(a in t)a==`key`?r=t[a]:a==`ref`&&typeof e!=`function`?i=t[a]:o[a]=t[a];return arguments.length>2&&(o.children=arguments.length>3?rh.call(arguments,2):n),sh(e,o,r,i,null)}function sh(e,t,n,r,i){var a={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:i??++Gm,__i:-1,__u:0};return i==null&&Z.vnode!=null&&Z.vnode(a),a}function ch(e){return e.children}function lh(e,t){this.props=e,this.context=t,this.__g=0}function uh(e,t){if(t==null)return e.__?uh(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type==`function`?uh(e):null}function dh(e){var t,n;if((e=e.__)!=null&&e.__c!=null){for(e.__e=null,t=0;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null){e.__e=n.__e;break}return dh(e)}}function fh(e){(8&e.__g||!(e.__g|=8)||!Km.push(e)||Jm++)&&qm==Z.debounceRendering||((qm=Z.debounceRendering)||queueMicrotask)(ph)}function ph(){for(var e,t,n,r,i,a,o,s,c=1;Km.length;)Km.length>c&&Km.sort(Ym),e=Km.shift(),c=Km.length,8&e.__g&&(n=void 0,i=(r=(t=e).__v).__e,a=[],o=[],(s=t.__P)&&((n=ih({},r)).__v=r.__v+1,Z.vnode&&Z.vnode(n),xh(s,n,r,t.__n,s.namespaceURI,32&r.__u?[i]:null,a,i??uh(r),!!(32&r.__u),o,s.ownerDocument),n.__v=r.__v,n.__.__k[n.__i]=n,Ch(a,n,o),n.__e!=i&&dh(n)));Jm=0}function mh(e,t,n,r,i,a,o,s,c,l,u,d){var f,p,m,h,g,_,v,y=r&&r.__k||th,b=t.length;for(c=hh(n,t,y,c,b),f=0;f<b;f++)(m=n.__k[f])!=null&&(p=m.__i==-1?eh:y[m.__i]||eh,m.__i=f,_=xh(e,m,p,i,a,o,s,c,l,u,d),h=m.__e,m.ref&&p.ref!=m.ref&&(p.ref&&Eh(p.ref,null,m),u.push(m.ref,m.__c||h,m)),g==null&&h!=null&&(g=h),(v=!!(4&m.__u))||p.__k===m.__k?c=gh(m,c,e,v):typeof m.type==`function`&&_!==void 0?c=_:h&&(c=h.nextSibling),m.__u&=-7);return n.__e=g,c}function hh(e,t,n,r,i){var a,o,s,c,l,u=n.length,d=u,f=0;for(e.__k=Array(i),a=0;a<i;a++)(o=t[a])!=null&&typeof o!=`boolean`&&typeof o!=`function`?(c=a+f,(o=e.__k[a]=typeof o==`string`||typeof o==`number`||typeof o==`bigint`||o.constructor==String?sh(null,o,null,null,null):nh(o)?sh(ch,{children:o},null,null,null):o.constructor==null&&o.__b>0?sh(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):o).__=e,o.__b=e.__b+1,s=null,(l=o.__i=_h(o,n,c,d))!=-1&&(d--,(s=n[l])&&(s.__u|=2)),s==null||s.__v==null?(l==-1&&(i>u?f--:i<u&&f++),typeof o.type!=`function`&&(o.__u|=4)):l!=c&&(l==c-1?f--:l==c+1?f++:(l>c?f--:f++,o.__u|=4))):e.__k[a]=null;if(d)for(a=0;a<u;a++)(s=n[a])!=null&&!(2&s.__u)&&(s.__e==r&&(r=uh(s)),Dh(s,s));return r}function gh(e,t,n,r){var i,a;if(typeof e.type==`function`){for(i=e.__k,a=0;i&&a<i.length;a++)i[a]&&(i[a].__=e,t=gh(i[a],t,n,r));return t}e.__e!=t&&(r&&(t&&e.type&&!t.parentNode&&(t=uh(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do t&&=t.nextSibling;while(t!=null&&t.nodeType==8);return t}function _h(e,t,n,r){var i,a,o,s=e.key,c=e.type,l=t[n],u=l!=null&&(2&l.__u)==0;if(l===null&&e.key==null||u&&s==l.key&&c==l.type)return n;if(r>+!!u){for(i=n-1,a=n+1;i>=0||a<t.length;)if((l=t[o=i>=0?i--:a++])!=null&&!(2&l.__u)&&s==l.key&&c==l.type)return o}return-1}function vh(e,t,n){t[0]==`-`?e.setProperty(t,n??``):e[t]=n??``}function yh(e,t,n,r,i){var a;n:if(t==`style`)if(typeof n==`string`)e.style.cssText=n;else{if(typeof r==`string`&&(e.style.cssText=r=``),r)for(t in r)n&&t in n||vh(e.style,t,``);if(n)for(t in n)r&&n[t]==r[t]||vh(e.style,t,n[t])}else if(t[0]==`o`&&t[1]==`n`)a=t!=(t=t.replace(Xm,`$1`)),(t=t.slice(2))[0].toLowerCase()!=t[0]&&(t=t.toLowerCase()),e.__l||={},e.__l[t+a]=n,n?r?n.l=r.l:(n.l=Zm,e.addEventListener(t,a?$m:Qm,a)):e.removeEventListener(t,a?$m:Qm,a);else{if(i==`http://www.w3.org/2000/svg`)t=t.replace(/xlink(H|:h)/,`h`).replace(/sName$/,`s`);else if(t!=`width`&&t!=`height`&&t!=`href`&&t!=`list`&&t!=`form`&&t!=`tabIndex`&&t!=`download`&&t!=`rowSpan`&&t!=`colSpan`&&t!=`role`&&t!=`popover`&&t in e)try{e[t]=n??``;break n}catch{}typeof n==`function`||(n==null||!1===n&&t[4]!=`-`?e.removeAttribute(t):e.setAttribute(t,t==`popover`&&n==1?``:n))}}function bh(e){return function(t){if(this.__l){var n=this.__l[t.type+e];if(t.u==null)t.u=Zm++;else if(t.u<n.l)return;return n(Z.event?Z.event(t):t)}}}function xh(e,t,n,r,i,a,o,s,c,l,u){var d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A,j,M=t.type;if(t.constructor!=null)return null;128&n.__u&&(c=!!(32&n.__u),n.__c.__z&&(s=t.__e=n.__e=(a=n.__c.__z)[0],n.__c.__z=null)),(d=Z.__b)&&d(t);n:if(typeof M==`function`)try{if(v=t.props,y=`prototype`in M&&M.prototype.render,b=(d=M.contextType)&&r[d.__c],x=d?b?b.props.value:d.__:r,n.__c?2&(f=t.__c=n.__c).__g&&(f.__g|=1,_=!0):(y?t.__c=f=new M(v,x):(t.__c=f=new lh(v,x),f.constructor=M,f.render=Oh),b&&b.sub(f),f.props=v,f.state||={},f.context=x,f.__n=r,p=!0,f.__g|=8,f.__h=[],f._sb=[]),y&&f.__s==null&&(f.__s=f.state),y&&M.getDerivedStateFromProps!=null&&(f.__s==f.state&&(f.__s=ih({},f.__s)),ih(f.__s,M.getDerivedStateFromProps(v,f.__s))),m=f.props,h=f.state,f.__v=t,p)y&&M.getDerivedStateFromProps==null&&f.componentWillMount!=null&&f.componentWillMount(),y&&f.componentDidMount!=null&&f.__h.push(f.componentDidMount);else{if(y&&M.getDerivedStateFromProps==null&&v!==m&&f.componentWillReceiveProps!=null&&f.componentWillReceiveProps(v,x),!(4&f.__g)&&f.shouldComponentUpdate!=null&&!1===f.shouldComponentUpdate(v,f.__s,x)||t.__v==n.__v){for(t.__v!=n.__v&&(f.props=v,f.state=f.__s,f.__g&=-9),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(e){e&&(e.__=t)}),S=0;S<f._sb.length;S++)f.__h.push(f._sb[S]);f._sb=[],f.__h.length&&o.push(f);break n}f.componentWillUpdate!=null&&f.componentWillUpdate(v,f.__s,x),y&&f.componentDidUpdate!=null&&f.__h.push(function(){f.componentDidUpdate(m,h,g)})}if(f.context=x,f.props=v,f.__P=e,f.__g&=-5,C=Z.__r,w=0,y){for(f.state=f.__s,f.__g&=-9,C&&C(t),d=f.render(f.props,f.state,f.context),T=0;T<f._sb.length;T++)f.__h.push(f._sb[T]);f._sb=[]}else do f.__g&=-9,C&&C(t),d=f.render(f.props,f.state,f.context),f.state=f.__s;while(8&f.__g&&++w<25);f.state=f.__s,f.getChildContext!=null&&(r=ih({},r,f.getChildContext())),y&&!p&&f.getSnapshotBeforeUpdate!=null&&(g=f.getSnapshotBeforeUpdate(m,h)),E=d,d!=null&&d.type===ch&&d.key==null&&(E=wh(d.props.children)),s=mh(e,nh(E)?E:[E],t,n,r,i,a,o,s,c,l,u),t.__u&=-161,f.__h.length&&o.push(f),_&&(f.__g&=-4)}catch(e){if(t.__v=null,c||a!=null)if(e.then){for(D=0,O=!1,t.__u|=c?160:128,t.__c.__z=[],k=0;k<a.length;k++)(A=a[k])==null||O||(A.nodeType==8&&A.data==`$s`?(D>0&&t.__c.__z.push(A),D++,a[k]=null):A.nodeType==8&&A.data==`/$s`?(--D>0&&t.__c.__z.push(A),O=D===0,s=a[k],a[k]=null):D>0&&(t.__c.__z.push(A),a[k]=null));if(!O){for(;s&&s.nodeType==8&&s.nextSibling;)s=s.nextSibling;a[a.indexOf(s)]=null,t.__c.__z=[s]}t.__e=s}else{for(j=a.length;j--;)ah(a[j]);Sh(t)}else t.__e=n.__e,t.__k=n.__k,e.then||Sh(t);Z.__e(e,t,n)}else s=t.__e=Th(n.__e,t,n,r,i,a,o,c,l,u);return(d=Z.diffed)&&d(t),128&t.__u?void 0:s}function Sh(e){e&&e.__c&&(e.__c.__g|=4),e&&e.__k&&e.__k.forEach(Sh)}function Ch(e,t,n){for(var r=0;r<n.length;r++)Eh(n[r],n[++r],n[++r]);Z.__c&&Z.__c(t,e),e.some(function(t){try{e=t.__h,t.__h=[],e.some(function(e){e.call(t)})}catch(e){Z.__e(e,t.__v)}})}function wh(e){return typeof e!=`object`||!e||e.__b&&e.__b>0?e:nh(e)?e.map(wh):ih({},e)}function Th(e,t,n,r,i,a,o,s,c,l){var u,d,f,p,m,h,g,_,v=n.props,y=t.props,b=t.type;if(b==`svg`?i=`http://www.w3.org/2000/svg`:b==`math`?i=`http://www.w3.org/1998/Math/MathML`:i||=`http://www.w3.org/1999/xhtml`,a!=null){for(u=0;u<a.length;u++)if((m=a[u])&&`setAttribute`in m==!!b&&(b?m.localName==b:m.nodeType==3)){e=m,a[u]=null;break}}if(e==null){if(b==null)return l.createTextNode(y);e=l.createElementNS(i,b,y.is&&y),s&&=(Z.__m&&Z.__m(t,a),!1),a=null}if(b==null)v===y||s&&e.data==y||(e.data=y);else{if(a&&=rh.call(e.childNodes),v=n.props||eh,!s&&a!=null)for(v={},u=0;u<e.attributes.length;u++)v[(m=e.attributes[u]).name]=m.value;for(u in v)if(m=v[u],u!=`children`){if(u==`dangerouslySetInnerHTML`)f=m;else if(!(u in y)){if(u==`value`&&`defaultValue`in y||u==`checked`&&`defaultChecked`in y)continue;yh(e,u,null,m,i)}}for(u in _=1&n.__u,y)m=y[u],u==`children`?p=m:u==`dangerouslySetInnerHTML`?d=m:u==`value`?h=m:u==`checked`?g=m:s&&typeof m!=`function`||v[u]===m&&!_||yh(e,u,m,v[u],i);if(d)s||f&&(d.__html==f.__html||d.__html==e.innerHTML)||(e.innerHTML=d.__html),t.__k=[];else if(f&&(e.innerHTML=``),mh(b==`template`?e.content:e,nh(p)?p:[p],t,n,r,b==`foreignObject`?`http://www.w3.org/1999/xhtml`:i,a,o,a?a[0]:n.__k&&uh(n,0),s,c,l),a!=null)for(u=a.length;u--;)ah(a[u]);s||(u=`value`,b==`progress`&&h==null?e.removeAttribute(`value`):h==null||h===e[u]&&(b!==`progress`||h)||yh(e,u,h,v[u],i),u=`checked`,g!=null&&g!=e[u]&&yh(e,u,g,v[u],i))}return e}function Eh(e,t,n){try{if(typeof e==`function`){var r=typeof e.__u==`function`;r&&e.__u(),r&&t==null||(e.__u=e(t))}else e.current=t}catch(e){Z.__e(e,n)}}function Dh(e,t,n){var r,i;if(Z.unmount&&Z.unmount(e),(r=e.ref)&&(r.current&&r.current!=e.__e||Eh(r,null,t)),(r=e.__c)!=null){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(e){Z.__e(e,t)}r.__P=null}if(r=e.__k)for(i=0;i<r.length;i++)r[i]&&Dh(r[i],t,n||typeof e.type!=`function`);n||ah(e.__e),e.__e&&e.__e.__l&&(e.__e.__l=null),e.__e=e.__c=e.__=null}function Oh(e,t,n){return this.constructor(e,n)}function kh(e,t){var n,r,i,a;t==document&&(t=document.documentElement),Z.__&&Z.__(e,t),r=(n=!!(e&&32&e.__u))?null:t.__k,e=t.__k=oh(ch,null,[e]),i=[],a=[],xh(t,e,r||eh,eh,t.namespaceURI,r?null:t.firstChild?rh.call(t.childNodes):null,i,r?r.__e:t.firstChild,n,a,t.ownerDocument),Ch(i,e,a)}function Ah(e,t){e.__u|=32,kh(e,t)}Z={__e:function(e,t,n,r){for(var i,a,o;t=t.__;)if((i=t.__c)&&!(1&i.__g)){i.__g|=4;try{if((a=i.constructor)&&a.getDerivedStateFromError!=null&&(i.setState(a.getDerivedStateFromError(e)),o=8&i.__g),i.componentDidCatch!=null&&(i.componentDidCatch(e,r||{}),o=8&i.__g),o)return void(i.__g|=2)}catch(t){e=t}}throw Jm=0,e}},Gm=0,lh.prototype.setState=function(e,t){var n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=ih({},this.state);typeof e==`function`&&(e=e(ih({},n),this.props)),e&&ih(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),fh(this))},lh.prototype.forceUpdate=function(e){this.__v&&(this.__g|=4,e&&this.__h.push(e),fh(this))},lh.prototype.render=ch,Km=[],Jm=0,Ym=function(e,t){return e.__v.__b-t.__v.__b},Xm=/(PointerCapture)$|Capture$/i,Zm=0,Qm=bh(!1),$m=bh(!0);var jh=0;Array.isArray;function Q(e,t,n,r,i,a){t||={};var o,s,c=t;if(`ref`in c&&typeof e!=`function`)for(s in c={},t)s==`ref`?o=t[s]:c[s]=t[s];var l={type:e,props:c,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--jh,__i:-1,__u:0,__source:i,__self:a};return Z.vnode&&Z.vnode(l),l}var Mh=16,Nh=16,Ph={};function Fh({name:e,remappedFrom:t,token:n,width:r,height:i,viewBox:a,label:o,alignCapitals:s=!1}){"use no memo";let c=`#${e.replace(/^#/,``)}`,{width:l,height:u,viewBox:d}=Ph[e]??{width:Mh,height:Nh},f=r??l,p=i??u,m=a??d??`0 0 ${l} ${u}`;return Q(`svg`,{"data-icon-name":t??e,"data-icon-token":n,"data-align-capitals":s,...o==null?{"aria-hidden":!0}:{"aria-label":o,role:`img`},viewBox:m,width:f,height:p,children:Q(`use`,{href:c})})}var Ih=e=>{if(e.length<2)return[e,``];let t=Math.ceil(e.length/2);return[e.slice(0,t),e.slice(t)]},Lh=e=>{if(e.length<4)return[e,``];let t=e.lastIndexOf(`.`)+1,n=e.length-t>10,r=t>=1&&!n?t:Math.ceil(e.length/2);return[e.slice(0,r),e.slice(r)]},Rh=e=>{if(e.length<4)return[e,``];let t=e.lastIndexOf(`/`)+1,n=e.length-t>25,r=t>=1&&!n?t:Math.ceil(e.length/2);return[e.slice(0,r),e.slice(r)]},zh=(e,{splitIndex:t}={})=>{if(typeof t!=`number`){let t=Math.ceil(e.length/2);return[e.slice(0,t),e.slice(t)]}return[e.slice(0,t),e.slice(t)]},Bh=(e,{splitOffset:t}={})=>{if(typeof t!=`number`||t<=0||t>=e.length){let t=Math.ceil(e.length/2);return[e.slice(0,t),e.slice(t)]}let n=e.length-t;return[e.slice(0,n),e.slice(n)]},Vh=(e,{splitOffset:t}={})=>{if(typeof t!=`number`||t<=0||t>=e.length){let t=Math.ceil(e.length/2);return[e.slice(0,t),e.slice(t)]}let n=t;return[e.slice(0,n),e.slice(n)]};function Hh({children:e,marker:t,variant:n=`default`}){"use no memo";return Q(`div`,{"aria-hidden":!0,"data-truncate-marker-cell":!0,children:Q(`div`,{"data-truncate-marker":!0,children:typeof t==`function`?t({children:e}):n===`fade`?Q(`span`,{"data-truncate-fade":!0}):t})})}function Uh(e){"use no memo";let{mode:t,children:n}=e;return Q(`div`,{children:[Q(`div`,{"data-truncate-content":`visible`,children:t===`fruncate`?Q(`span`,{children:n}):n}),Q(`div`,{"data-truncate-content":`overflow`,"aria-hidden":!0,children:t===`fruncate`?Q(`span`,{children:n}):n})]})}function Wh({children:e,mode:t=`truncate`,marker:n=`…`,variant:r=`default`,...i}){"use no memo";let a=Q(Uh,{mode:t,children:e},`content`),o=Q(Hh,{marker:n,mode:t,variant:r},`marker`),s=Q(`div`,{"data-truncate-fill":!0},`fill`);return Q(`div`,{"data-truncate-container":t,"data-truncate-variant":r,...i,children:Q(`div`,{"data-truncate-grid":!0,children:t===`truncate`?[a,o]:[o,a,s]})})}function Gh({children:e,...t}){"use no memo";return Q(Wh,{mode:`truncate`,...t,children:e})}function Kh({children:e,...t}){"use no memo";return Q(Wh,{mode:`fruncate`,...t,children:e})}function qh({children:e,contents:t,priority:n=`end`,split:r=`center`,minimumLength:i=12,className:a,style:o,...s}){"use no memo";let c=null,l=null;if(Array.isArray(t)){if(t.length!==2)return console.error(`MiddleTruncate: contents must be an array of two items`),null;c=Q(Gh,{...s,children:t[0]}),l=Q(Kh,{...s,children:t[1]})}else{if(typeof e!=`string`)return console.error(`MiddleTruncate: children must be a string`),null;if(e.length===0)return Q(`div`,{className:a,style:o});if(e.length<i)return Q(n===`end`?Kh:Gh,{...s,className:a,style:o,children:e});let t=null,u=null,d=null;if(typeof r==`string`)r===`center`?t=Ih:r===`extension`?t=Lh:r===`leaf-path`&&(t=Rh);else if(typeof r==`number`)t=zh,u=r;else if(Array.isArray(r)){let[e,n]=r;d=n,e===`last`?t=Bh:e===`first`&&(t=Vh)}else typeof r==`function`&&(t=r);t??=Ih;let[f,p]=t(e,{priority:n,variant:s.variant,splitIndex:typeof u==`number`?u:void 0,splitOffset:typeof d==`number`?d:void 0}),m=f.length>=p.length,h=n===`equal`&&!m,g=n===`equal`&&m,_={},v={};h&&(_.marker=``),g&&(v.marker=``),c=Q(Gh,{...s,..._,children:f}),l=Q(Kh,{...s,...v,children:p})}return Q(`div`,{"data-truncate-group-container":`middle`,className:a,style:o,children:[Q(`div`,{"data-truncate-segment-priority":n===`start`||n===`equal`?`1`:`2`,children:c}),Q(`div`,{"data-truncate-segment-priority":n===`end`||n===`equal`?`1`:`2`,children:l})]})}var Jh={endIndex:-1,startIndex:-1};function Yh(e,t,n){return Math.min(Math.max(e,t),n)}function Xh(e,t){return e<0||t<e?Jh:{endIndex:t,startIndex:e}}function Zh(e){return e.startIndex<0||e.endIndex<e.startIndex}function Qh(e,t){return Zh(e)?0:(e.endIndex-e.startIndex+1)*t}function $h(e,t,n){if(t<=0)return-1;let r=t*n;return e<=0?0:e>=r?t:Math.floor(e/n)}function eg(e,t,n){return t<=0||e<=0?-1:e>=t*n?t-1:Math.ceil(e/n)-1}function tg(e){let t=new Map;return e.forEach((e,n)=>{if(e.kind!==`directory`||!e.isExpanded)return;let r=e.ancestorPaths.length,i=t.get(r);if(i==null){t.set(r,[n]);return}i.push(n)}),t}function ng(e,t){let n=0,r=e.length-1,i=-1;for(;n<=r;){let a=Math.floor((n+r)/2),o=e[a];if(o==null)break;if(o<=t){i=a,n=a+1;continue}r=a-1}return i}function rg(e){let t=new Map,n=[];for(let r=0;r<e.length;r+=1){let i=e[r];if(i==null)continue;let a=i.kind===`directory`&&i.isExpanded?[...i.ancestorPaths,i.path]:i.ancestorPaths,o=0;for(;o<n.length&&o<a.length&&n[o]===a[o];)o+=1;for(let e=n.length-1;e>=o;--e){let i=n[e];i!=null&&t.set(i,r-1)}n.length=o;for(let e=o;e<a.length;e+=1){let t=a[e];t!=null&&n.push(t)}}let r=e.length-1;for(let e of n)t.set(e,r);return t}function ig(e,t,n){if(e.length===0||t<=0)return[];let r=rg(e),i=tg(e),a=[];for(let r=0;r<e.length;r+=1){let o=i.get(r);if(o==null||o.length===0)break;let s=t+r*n,c=ng(o,Math.min(e.length-1,Math.floor(s/n))),l=null;for(;c>=0;){let t=o[c],n=t==null?null:e[t]??null;if(n!=null&&(r===0||n.ancestorPaths[r-1]===a[r-1]?.path)){l=n;break}--c}if(l==null)break;a.push(l)}return a.map((i,a)=>{let o=a*n,s=(r.get(i.path)??e.length-1)+1;if(s>=e.length)return{row:i,top:o};let c=s*n-t;return{row:i,top:Math.min(o,c-n)}}).filter(e=>e.top+n>0)}function ag(e,t){let n=t.totalRowCount??e.length,r=n*t.itemHeight,i=Math.max(0,t.viewportHeight),a=Math.max(0,Math.floor(t.overscan)),o=Math.max(0,r-i),s=Yh(t.scrollTop,0,o),c=t.stickyRows??ig(e,s,t.itemHeight),l=c.reduce((e,n)=>Math.max(e,n.top+t.itemHeight),0),u=Math.min(r,s+l),d=Math.max(0,i-l),f=Math.max(0,r-u),p=$h(s,n,t.itemHeight),m=$h(u,n,t.itemHeight),h=l<=0||p<0||p>=n?-1:p,g=h===-1?-1:Math.min(n-1,m-1),_=h===-1||g<h?0:g-h+1,v=d<=0||m>=n?Jh:Xh(m,eg(u+d,n,t.itemHeight)),y=g+1,b=Zh(v)?Jh:Xh(Math.max(y,v.startIndex-a),Math.min(n-1,v.endIndex+a)),x=Qh(b,t.itemHeight);return{occlusion:{firstOccludedIndex:h,lastOccludedIndex:g,occludedCount:_},physical:{itemHeight:t.itemHeight,maxScrollTop:o,overscan:a,scrollTop:s,totalHeight:r,totalRowCount:n,viewportHeight:i},projected:{contentHeight:f,paneHeight:d,paneTop:u},sticky:{height:l,rows:c},visible:v,window:{endIndex:b.endIndex,height:x,offsetTop:Zh(b)?0:b.startIndex*t.itemHeight,startIndex:b.startIndex}}}var og={added:`A`,deleted:`D`,ignored:null,modified:`M`,renamed:`R`,untracked:`U`},sg={added:`Git status: added`,deleted:`Git status: deleted`,ignored:`Git status: ignored`,modified:`Git status: modified`,renamed:`Git status: renamed`,untracked:`Git status: untracked`},cg=`Contains git status items`;function lg(e){let{renamingPath:t,previousRenamingPath:n,hasRenderedInput:r}=e;return t==null?`reset`:r?n===t?`ignore`:`focus-input`:`reveal-canonical`}function ug(e){let{row:t,mode:n,targetPath:r,ariaLabel:i,domId:a,isParked:o,itemHeight:s,features:c,state:l,extraStyle:u}=e,d=n===`sticky`,f=t.ancestorPaths.at(-1)??``,p={};return l.isFocusRinged&&(p[`data-item-focused`]=!0),t.isSelected&&(p[`data-item-selected`]=!0),l.isContextHovered&&(p[`data-item-context-hover`]=`true`),l.isDragTarget&&(p[`data-item-drag-target`]=!0),l.isDragging&&(p[`data-item-dragging`]=!0),l.effectiveGitStatus!=null&&(p[`data-item-git-status`]=l.effectiveGitStatus),l.containsGitChange&&(p[`data-item-contains-git-change`]=`true`),{"aria-expanded":!d&&t.kind===`directory`?t.isExpanded:void 0,"aria-haspopup":c.contextMenuEnabled?`menu`:void 0,"aria-label":i,"aria-level":d?void 0:t.level+1,"aria-posinset":d?void 0:t.posInSet+1,"aria-selected":d?void 0:t.isSelected?`true`:`false`,"aria-setsize":d?void 0:t.setSize,"data-file-tree-sticky-path":d?r:void 0,"data-file-tree-sticky-row":d?`true`:void 0,"data-item-context-menu-button-visibility":c.actionLaneEnabled?c.contextMenuButtonVisibility:void 0,"data-item-context-menu-trigger-mode":c.contextMenuEnabled?c.contextMenuTriggerMode:void 0,"data-item-has-context-menu-action-lane":c.actionLaneEnabled?`true`:void 0,"data-item-has-git-lane":c.gitLaneActive?`true`:void 0,"data-item-parent-path":f.length>0?f:void 0,"data-item-parked":o?`true`:void 0,"data-item-path":r,"data-item-type":t.kind===`directory`?`folder`:`file`,"data-type":`item`,id:d?void 0:a,role:d?void 0:`treeitem`,style:{minHeight:`${s}px`,...u},tabIndex:!d&&t.isFocused?0:-1,...p}}function dg(e){let{event:t,mode:n,isSearchOpen:r,isDirectory:i}=e,a=t.ctrlKey||t.metaKey,o=t.shiftKey||a,s=t.shiftKey?{additive:a,kind:`range`}:a?{kind:`toggle`}:{kind:`single`};return{closeSearch:r,revealCanonical:n===`sticky`,selection:s,toggleDirectory:!o&&i}}function fg(e){let{currentScrollTop:t,focusedIndex:n,itemHeight:r,topInset:i=0,viewportHeight:a}=e;if(n<0)return null;let o=Math.max(0,i),s=n*r,c=s+r;if(s<t+o){let e=Math.max(0,s-o);return e===t?null:e}if(c>t+a){let e=c-a;return e===t?null:e}return null}function pg(e){let{currentScrollTop:t,focusedIndex:n,itemHeight:r,targetViewportOffset:i,totalHeight:a,viewportHeight:o}=e;if(n<0)return null;let s=Math.max(0,i),c=n*r,l=c+r,u=t+s,d=t+o;if(c>=u&&l<=d)return null;let f=Math.max(0,a-o),p=Math.max(0,Math.min(c-s,f));return p===t?null:p}var mg,hg,gg,_g,vg=Object.is,yg=0,bg=[],xg=Z,Sg=xg.__b,Cg=xg.__r,wg=xg.diffed,Tg=xg.__c,Eg=xg.unmount,Dg=xg.__;function Og(e,t){xg.__h&&xg.__h(hg,e,yg||t),yg=0;var n=hg.__H||={__:[],__h:[]};return e>=n.__.length&&n.__.push({}),n.__[e]}function kg(e){return yg=1,Ag(Vg,e)}function Ag(e,t,n){var r=Og(mg++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):Vg(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);vg(t,n)||(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=hg,!hg.__f)){var i=function(e,t,n){if(!r.__c.__H)return!0;var i=r.__c.__H.__.filter(function(e){return!!e.__c});if(i.every(function(e){return!e.__N}))return!a||a.call(this,e,t,n);var o=r.__c.props!==e;return i.forEach(function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,vg(t,e.__[0])||(o=!0)}}),a&&a.call(this,e,t,n)||o};hg.__f=!0;var a=hg.shouldComponentUpdate,o=hg.componentWillUpdate;hg.componentWillUpdate=function(e,t,n){if(4&this.__g){var r=a;a=void 0,i(e,t,n),a=r}o&&o.call(this,e,t,n)},hg.shouldComponentUpdate=i}return r.__N||r.__}function jg(e,t){var n=Og(mg++,3);!xg.__s&&Bg(n.__H,t)&&(n.__=e,n.u=t,hg.__H.__h.push(n))}function Mg(e,t){var n=Og(mg++,4);!xg.__s&&Bg(n.__H,t)&&(n.__=e,n.u=t,hg.__h.push(n))}function $(e){return yg=5,Ng(function(){return{current:e}},[])}function Ng(e,t){var n=Og(mg++,7);return Bg(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function Pg(e,t){return yg=8,Ng(function(){return e},t)}function Fg(){for(var e;e=bg.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(Rg),e.__H.__h.forEach(zg),e.__H.__h=[]}catch(t){e.__H.__h=[],xg.__e(t,e.__v)}}xg.__b=function(e){hg=null,Sg&&Sg(e)},xg.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Dg&&Dg(e,t)},xg.__r=function(e){Cg&&Cg(e),mg=0;var t=(hg=e.__c).__H;t&&(gg===hg?(t.__h=[],hg.__h=[],t.__.forEach(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})):(t.__h.forEach(Rg),t.__h.forEach(zg),t.__h=[],mg=0)),gg=hg},xg.diffed=function(e){wg&&wg(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(bg.push(t)!==1&&_g===xg.requestAnimationFrame||((_g=xg.requestAnimationFrame)||Lg)(Fg)),t.__H.__.forEach(function(e){e.u&&(e.__H=e.u),e.u=void 0})),gg=hg=null},xg.__c=function(e,t){t.some(function(e){try{e.__h.forEach(Rg),e.__h=e.__h.filter(function(e){return!e.__||zg(e)})}catch(n){t.some(function(e){e.__h&&=[]}),t=[],xg.__e(n,e.__v)}}),Tg&&Tg(e,t)},xg.unmount=function(e){Eg&&Eg(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach(function(e){try{Rg(e)}catch(e){t=e}}),n.__H=void 0,t&&xg.__e(t,n.__v))};var Ig=typeof requestAnimationFrame==`function`;function Lg(e){var t,n=function(){clearTimeout(r),Ig&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,35);Ig&&(t=requestAnimationFrame(n))}function Rg(e){var t=hg,n=e.__c;typeof n==`function`&&(e.__c=void 0,n()),hg=t}function zg(e){var t=hg;e.__c=e.__(),hg=t}function Bg(e,t){return!e||e.length!==t.length||t.some(function(t,n){return!vg(t,e[n])})}function Vg(e,t){return typeof t==`function`?t(e):t}function Hg(e){if(e==null||!e.isConnected||e===document.body||e===document.documentElement)return!1;e.focus({preventScroll:!0});let t=e.getRootNode();return t instanceof ShadowRoot?t.activeElement===e:document.activeElement===e}function Ug(e){let t=e.getRootNode();if(t instanceof ShadowRoot){let e=t.activeElement;return e instanceof HTMLElement?e:null}let n=document.activeElement;return n instanceof HTMLElement&&e.contains(n)?n:null}function Wg({ariaLabel:e,isFlattened:t=!1,ref:n,value:r,onBlur:i,onInput:a}){return Q(`input`,{ref:n,"data-item-rename-input":!0,...t?{"data-item-flattened-rename-input":!0}:{},"aria-label":e,value:r,onBlur:i,onInput:a,onClick:e=>e.stopPropagation(),onMouseDown:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation()})}function Gg(e,t=null,n=null){"use no memo";let r=e.flattenedSegments;return r==null||r.length===0?t??e.name:Q(`span`,{"data-item-flattened-subitems":!0,children:r.map((e,i)=>{let a=i===r.length-1;return Q(ch,{children:[Q(`span`,{"data-item-flattened-subitem":e.path,"data-item-flattened-subitem-drag-target":n===e.path?`true`:void 0,children:a&&t!=null?t:Q(Gh,{children:e.name})}),i<r.length-1?` / `:``]},e.path)})})}function Kg(e){return e.isFlattened?e.flattenedSegments?.findLast(e=>e.isTerminal)?.path??e.path:e.path}function qg(e){let t=e.flattenedSegments;return t==null||t.length===0?e.name:t.map(e=>e.name).join(` / `)}function Jg(e,t,n,r){return e.map((e,i)=>{let a=i*n,o=e.subtreeEndIndex+1;if(o>=r)return{row:e.row,top:a};let s=o*n-t;return{row:e.row,top:Math.min(a,s-n)}}).filter(e=>e.top+n>0)}function Yg({controller:e,itemHeight:t,overscan:n,scrollTop:r,stickyFolders:i,viewportHeight:a}){let o=e.getVisibleCount(),s=i&&o>0?e.getStickyRowCandidates(r,t):[],c=s==null&&i&&o>0?e.getVisibleRows(0,o-1):[],l=ag(c,{itemHeight:t,overscan:n,scrollTop:r,stickyRows:s==null?void 0:Jg(s,r,t,o),totalRowCount:o,viewportHeight:a}),u=i&&r<=0&&o>0?e.getStickyRowCandidates(1,t):[],d=u!=null&&r<=0?Jg(u,1,t,o):i&&r<=0&&c.length>0?ig(c,1,t):l.sticky.rows;return{overlayHeight:d.reduce((e,n)=>Math.max(e,n.top+t),0),overlayRows:d,snapshot:l,visibleRows:c}}var Xg=400,Zg=10,Qg=40,$g=18;function e_(e,t,n){let r=e,i=document.elementFromPoint?.bind(document)??null,a=r.elementFromPoint?.(t,n)??i?.(t,n)??null;return e instanceof ShadowRoot&&(a==null||!e.contains(a))?t_(e,t,n):a instanceof HTMLElement?a:null}function t_(e,t,n){let r=Array.from(e.querySelectorAll(`[data-type="item"], [data-item-flattened-subitem]`));for(let e=r.length-1;e>=0;e--){let i=r[e],a=i.getBoundingClientRect();if(t>=a.left&&t<=a.right&&n>=a.top&&n<=a.bottom)return i}return null}function n_(e){let t=e?.closest?.(`[data-type="item"]`);if(!(t instanceof HTMLElement))return null;let n=t.dataset.itemPath??null;if(n==null)return null;let r=e?.closest?.(`[data-item-flattened-subitem]`),i=r instanceof HTMLElement?r.getAttribute(`data-item-flattened-subitem`)??null:null;if(i!=null&&i.endsWith(`/`))return{directoryPath:i,flattenedSegmentPath:i,hoveredPath:n,kind:`directory`};if(t.dataset.itemType===`folder`)return{directoryPath:n,flattenedSegmentPath:null,hoveredPath:n,kind:`directory`};let a=t.dataset.itemParentPath??null;return a==null||a.length===0?{directoryPath:null,flattenedSegmentPath:null,hoveredPath:n,kind:`root`}:{directoryPath:a,flattenedSegmentPath:null,hoveredPath:n,kind:`directory`}}function r_(e){let t=e.cloneNode(!0);return t.removeAttribute(`id`),t.dataset.fileTreeDragPreview=`true`,t.setAttribute(`aria-hidden`,`true`),t.tabIndex=-1,Object.assign(t.style,{boxShadow:`0 4px 12px rgba(0, 0, 0, 0.15)`,left:`0px`,margin:`0`,pointerEvents:`none`,position:`fixed`,top:`0px`,willChange:`transform`,zIndex:`10000`}),t}function i_(){return navigator.vendor!==`Apple Computer, Inc.`}function a_(e,t){let n=e-t.top;if(n<Qg)return-Math.ceil((Qg-Math.max(0,n))/Qg*$g);let r=t.bottom-e;return r<Qg?Math.ceil((Qg-Math.max(0,r))/Qg*$g):0}function o_(e,t){if(e!=null){let t=og[e];return t==null?null:{text:t,title:sg[e]}}return t?{icon:{name:`file-tree-icon-dot`,width:6,height:6},title:cg}:null}function s_(e,t,n){if(t==null||t.size===0)return null;let r=[];for(let i=e.length-1;i>=0;--i){let a=e[i],o=n.get(a);if(o!=null){for(let e of r)n.set(e,o);return o?`ignored`:null}if(t.has(a)){n.set(a,!0);for(let e of r)n.set(e,!0);return`ignored`}r.push(a)}for(let e of r)n.set(e,!1);return null}function c_(e){return e!=null&&`toggle`in e}function l_(e){return e.code===`Space`||e.key===` `||e.key===`Spacebar`}function u_(e){return e.key.length===1&&/^[\p{L}\p{N}]$/u.test(e.key)&&!e.ctrlKey&&!e.metaKey&&!e.altKey}function d_(e,t){if(e==null)return t;let n=e.getBoundingClientRect().height;return n>0?n:e.clientHeight>0?e.clientHeight:t}function f_(e,t){return e!=null&&e>0?e:t}function p_(e){let t=e.borderBoxSize,n=Array.isArray(t)?t[0]:t;return n!=null&&Number.isFinite(n.blockSize)&&n.blockSize>0?n.blockSize:e.contentRect.height>0?e.contentRect.height:null}function m_(e,t,n,r,i=0){let a=fg({currentScrollTop:e.scrollTop,focusedIndex:t,itemHeight:n,topInset:i,viewportHeight:r});return a==null?!1:(e.scrollTop=a,!0)}function h_(e,t,n,r,i,a){let o=pg({currentScrollTop:e.scrollTop,focusedIndex:t,itemHeight:n,targetViewportOffset:a,totalHeight:i,viewportHeight:r});return o==null?!1:(e.scrollTop=o,!0)}function g_(e,t,n,r){return n.end<n.start?null:e<n.start?-t:e>n.end?r:null}function __(e){return e==null?``:`[data-item-section="spacing-item"][data-ancestor-path="${e.replaceAll(`\\`,`\\\\`).replaceAll(`"`,`\\"`)}"] { opacity: 1; }`}function v_(e){return e.shiftKey&&e.key===`F10`||e.key===`ContextMenu`}function y_(e,t){return t&&v_(e)||(e.ctrlKey||e.metaKey)&&l_(e)?!0:e.key===`ArrowDown`||e.key===`ArrowLeft`||e.key===`ArrowRight`||e.key===`ArrowUp`}var b_=new Set([`ArrowDown`,`ArrowLeft`,`ArrowRight`,`ArrowUp`,`End`,`Home`,`PageDown`,`PageUp`]);function x_(e){for(let t of e.composedPath())if(t instanceof HTMLElement&&(t.dataset.fileTreeContextMenuRoot===`true`||t.dataset.type===`context-menu-anchor`||t.dataset.type===`context-menu-trigger`||t.getAttribute(`slot`)===`context-menu`))return!0;return!1}function S_(e){return{bottom:e.bottom,height:e.height,left:e.left,right:e.right,top:e.top,width:e.width,x:e.x,y:e.y}}function C_(e,t){return{bottom:t,height:0,left:e,right:e,top:t,width:0,x:e,y:t}}function w_(e,t){if(e==null)return t.offsetTop;let n=t.getBoundingClientRect(),r=e.getBoundingClientRect();return n.top-r.top}function T_(e,t,n){if(n==null){e.delete(t);return}e.set(t,n)}function E_(e,t,n){if(e==null)return null;let r=t.get(e)??null;if(r!=null)return r;let i=n.get(e)??null;return i?.dataset.itemParked===`true`?null:i}function D_(e){if(e==null)return[];let t=[];for(let n of e.querySelectorAll(`button[data-file-tree-sticky-row="true"]`)){if(!(n instanceof HTMLElement))continue;let e=n.dataset.fileTreeStickyPath;e!=null&&t.push(e)}return t}function O_(e,t){if(e==null||t==null)return null;for(let n of e.querySelectorAll(`button[data-item-focused="true"][data-item-parked="true"]`))if(n instanceof HTMLElement&&n.dataset.itemPath===t)return n;return null}function k_(e,t,n,r,i,a,o){let s=Math.max(0,a-i),c=t?.getBoundingClientRect()??null,l=c==null||n==null?null:n.getBoundingClientRect().top-c.top,u=O_(e,r),d=c==null||u==null?null:u.getBoundingClientRect().top-c.top;return Math.max(0,Math.min(d??Math.max(l??0,s),Math.max(0,o-i)))}function A_(e,t){return{kind:e.kind,name:qg(e),path:t}}function j_(e){return e==null?void 0:`${e}__tree`}function M_(e,t,n){if(e!=null)return`${e}__focused-item-${encodeURIComponent(t)}${n?`__parked`:``}`}function N_(e){return e===`file-tree-icon-chevron`||e===`file-tree-icon-dot`||e===`file-tree-icon-file`||e===`file-tree-icon-lock`}function P_(e,t){if(e==null)return null;if(`text`in e)return Q(`span`,{title:e.title,children:e.text});let n=typeof e.icon==`string`?N_(e.icon)?t(e.icon):{name:e.icon}:N_(e.icon.name)?(()=>{let n=t(e.icon.name),{name:r,...i}=e.icon;return{...n,...i}})():e.icon;return Q(`span`,{title:e.title,children:Q(Fh,{...n})})}function F_(e){e!=null&&Hg(e.querySelector([`button:not([disabled])`,`[href]`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex="-1"])`].join(`, `))??e)}function I_(e,t,{actionLaneEnabled:n=!1,customDecoration:r=null,decorationLaneEnabled:i=!1,dragTargetFlattenedSegmentPath:a=null,gitDecoration:o=null,gitLaneActive:s=!1,renameInput:c=null,showDecorativeActionAffordance:l=!1}={}){let u=Kg(e);return Q(ch,{children:[e.depth>0?Q(`div`,{"data-item-section":`spacing`,children:Array.from({length:e.depth}).map((t,n)=>Q(`div`,{"data-item-section":`spacing-item`,"data-ancestor-path":e.ancestorPaths[n]},n))}):null,Q(`div`,{"data-item-section":`icon`,children:e.kind===`directory`?Q(Fh,{...t(`file-tree-icon-chevron`)}):Q(Fh,{...t(`file-tree-icon-file`,u)})}),Q(`div`,{"data-item-section":`content`,children:e.isFlattened?Gg(e,c,a):c??Q(qh,{minimumLength:5,split:`extension`,children:e.name})}),i?Q(`div`,{"data-item-section":`decoration`,children:r==null?null:P_(r,t)}):null,s?Q(`div`,{"data-item-section":`git`,children:P_(o,t)}):null,n?Q(`div`,{"data-item-section":`action`,children:l?Q(`span`,{"aria-hidden":`true`,"data-item-action-affordance":`decorative`,children:Q(Fh,{...t(`file-tree-icon-ellipsis`)})}):null}):null]})}function L_(e,t,n,r={}){let{controller:i,renameView:a,visualFocusPath:o,contextHoverPath:s,draggedPathSet:c,dragTarget:l,dragAndDropEnabled:u,shouldSuppressContextMenu:d,handleRowDragStart:f,handleRowDragEnd:p,handleRowTouchStart:m,instanceId:h,itemHeight:g,gitStatusByPath:_,ignoredGitDirectories:v,ignoredInheritanceCache:y,directoriesWithGitChanges:b,gitLaneActive:x,contextMenuEnabled:S,contextMenuTriggerMode:C,contextMenuButtonTriggerEnabled:w,contextMenuButtonVisibility:T,contextMenuRightClickEnabled:E,registerRenameInput:D,registerButton:O,resolveIcon:k,renderDecorationForRow:A,openContextMenuForRow:j,onRowClick:M,onKeyDown:N}=e,P=Kg(t),{isParked:ee=!1,mode:F=`flow`,style:te}=r,I=F===`sticky`,L=_?.get(P)??null??s_(t.ancestorPaths,v,y),ne=t.kind===`directory`&&(b?.has(P)??!1),re=A(t,P),ie=o_(L,ne),R=S&&w,z=re!=null||x||R,B=R&&T===`always`,ae=a.getPath()===P,oe=ae?a.getValue():``,V=I||!ae?null:Q(Wg,{ref:D,ariaLabel:`Rename ${qg(t)}`,isFlattened:t.isFlattened,value:oe,onBlur:()=>{a.commit()},onInput:e=>{a.setValue(e.currentTarget.value)}}),se=I_(t,k,{actionLaneEnabled:R,customDecoration:re,decorationLaneEnabled:z,dragTargetFlattenedSegmentPath:l?.flattenedSegmentPath??null,gitDecoration:ie,gitLaneActive:x,renameInput:V,showDecorativeActionAffordance:B}),ce={...ug({ariaLabel:qg(t),domId:t.isFocused?M_(h,P,ee):void 0,extraStyle:te,features:{actionLaneEnabled:R,contextMenuButtonVisibility:R?T:null,contextMenuEnabled:S,contextMenuTriggerMode:S?C:null,gitLaneActive:x},isParked:ee,itemHeight:g,mode:F,row:t,state:{containsGitChange:ne,effectiveGitStatus:L,isContextHovered:s===P,isDragTarget:l?.kind===`directory`&&l.directoryPath===P,isDragging:c?.has(P)===!0,isFocusRinged:t.isFocused&&o===P},targetPath:P}),key:n,onContextMenu:S||u?e=>{if(d()){e.preventDefault();return}S&&(e.preventDefault(),E&&(i.focusPath(P),j(t,P,{anchorRect:C_(e.clientX,e.clientY),source:`right-click`})))}:void 0,onFocus:I?void 0:()=>{i.focusPath(P)},onKeyDown:I?void 0:N,ref:e=>{O(P,e)}};return!I&&ae?Q(`div`,{...ce,children:se}):Q(`button`,{...ce,type:`button`,draggable:u&&!ee,onDragEnd:u&&!ee?p:void 0,onDragStart:u&&!ee?e=>{f(e,t,P)}:void 0,onMouseDown:e=>{if(I){e.preventDefault();return}i.isSearchOpen()&&e.preventDefault()},onTouchStart:u&&!ee?e=>{m(e,t,P)}:void 0,onClick:e=>{M(e,t,P,F)},children:se})}function R_(e,t,n){return t.end<t.start?[]:e.controller.getVisibleRows(t.start,t.end).filter(e=>!n.has(Kg(e))).map((n,r)=>L_(e,n,t.start+r))}function z_({composition:e,controller:t,gitStatusByPath:n,ignoredGitDirectories:r,directoriesWithGitChanges:i,icons:a,instanceId:o,itemHeight:s=ou,overscan:c=10,renamingEnabled:l=!1,renderRowDecoration:u,searchBlurBehavior:d=`close`,searchEnabled:f=!1,searchFakeFocus:p=!1,slotHost:m,stickyFolders:h=!1,initialViewportHeight:g=420}){"use no memo";let _=$(null),v=$(null),y=$(!1),b=$(null),x=$(null),S=$(null),C=$(null),w=$(null),T=$(new Map),E=$(new Map),D=$(()=>{}),O=$(null),k=$(!1),A=$(null),j=$(null),M=$(!1),N=$(null),P=$(null),ee=$(null),F=$(null),te=$(null),I=$(null),L=$(null),ne=$(null),re=$(!1),ie=$(null),R=$(null),z=$(null),B=$(null),ae=Ng(()=>new Map,[]),[,oe]=kg(0),[V,se]=kg(null),[ce,le]=kg(null),[ue,de]=kg(null),[fe,pe]=kg(null),[me,he]=kg(0),[H,ge]=kg(null),_e=$(H);_e.current=H;let U=$(null),ve=$(null),ye=$(null),be=$(null),xe=$(null),Se=$(!1),Ce=()=>{ve.current=null,ye.current=null,be.current=null},we=(e,t)=>{ve.current=e,ye.current=null,be.current=t==null?null:{path:e,scrollTop:t}},Te=(e,t)=>{ve.current=null,ye.current={path:e,viewportOffset:t},be.current=null},Ee=$(d===`retain`&&t.isSearchOpen()),[De,Oe]=kg(p);jg(()=>{p||Oe(!1)},[p]);let ke=$(!1),Ae=Pg(()=>{ke.current=!0,Oe(e=>e&&!1)},[]),[je,Me]=kg(()=>Yg({controller:t,itemHeight:s,overscan:c,scrollTop:0,stickyFolders:h,viewportHeight:g})),[Ne,Pe]=kg(!1);jg(()=>{Pe(!0)},[]);let Fe=e?.contextMenu?.enabled===!0||e?.contextMenu?.render!=null||e?.contextMenu?.onOpen!=null||e?.contextMenu?.onClose!=null,Ie=e?.contextMenu?.triggerMode??(Fe?`right-click`:`both`),Le=Ie===`both`||Ie===`button`,Re=e?.contextMenu?.buttonVisibility??`when-needed`,ze=Ie===`both`||Ie===`right-click`;Mg(()=>{let e=S.current;if(e==null)return;let t=e=>{if(!(e instanceof CustomEvent))return;let t=e.detail?.path??null;xe.current=t,le(t),pe(t==null?null:`pointer`)},n=e=>{e instanceof CustomEvent&&(Se.current=e.detail?.disabled===!0)};return e.addEventListener(`file-tree-debug-set-context-menu-trigger`,t),e.addEventListener(`file-tree-debug-set-scroll-suppression`,n),()=>{e.removeEventListener(`file-tree-debug-set-context-menu-trigger`,t),e.removeEventListener(`file-tree-debug-set-scroll-suppression`,n)}},[]);let Be=Pg((e,t)=>{T_(T.current,e,t)},[]),Ve=Pg((e,t)=>{T_(E.current,e,t)},[]),He=Pg(e=>{x.current=e},[]),Ue=Pg(e=>E_(e,E.current,T.current),[]),We=n!=null||r!=null||i!=null,{resolveIcon:Ge}=Ng(()=>Wm(a),[a]),Ke=t[lm](),qe=Ke.getPath(),Je=qe!=null,Ye=t.isSearchOpen(),Xe=t.getSearchValue(),W=t.getFocusedPath(),G=t.getFocusedIndex(),Ze=t.isDragAndDropEnabled(),Qe=t.getDragSession(),$e=Ng(()=>Qe==null?null:new Set(Qe.draggedPaths),[Qe]),et=Qe?.target??null,tt=Qe?.primaryPath??null,nt=j_(o),{overlayHeight:rt,overlayRows:it,snapshot:at,visibleRows:ot}=je,st=at.physical.viewportHeight,ct=Ng(()=>({end:at.window.endIndex,start:at.window.startIndex}),[at.window.endIndex,at.window.startIndex]),lt=it,ut=at.sticky.rows,dt=at.physical.totalHeight,ft=at.sticky.height,pt=Ng(()=>new Set(ut.map(e=>Kg(e.row))),[ut]),mt=G>=0&&G>=ct.start&&G<=ct.end,ht=Pg((e,t)=>u?.({item:A_(e,t),row:e})??null,[u]),gt=Pg(e=>Hg(e==null?null:T.current.get(e)??null)?!0:Hg(S.current),[]),_t=Pg(e=>{gt(t.focusNearestPath(e))},[t,gt]),vt=$(_t);vt.current=_t;let yt=$(!0),bt=$(()=>{}),xt=Pg((t=!0)=>{let n=_e.current;n!=null&&(yt.current=yt.current&&t,ge(null),e?.contextMenu?.onClose?.(),yt.current&&_t(n.path))},[e?.contextMenu,_t]);bt.current=xt;let St=Pg(e=>{let t=e==null?null:w_(S.current,e);de(e=>e===t?e:t)},[]),Ct=Pg((e,n,r)=>{let i=t.getItem(n);if(i==null)return;let a=Ue(n);if(a?.dataset.fileTreeStickyRow===`true`){let e=C.current;we(n,e?.scrollTop??null),k.current=!0,se(e=>e===n?e:n)}i.focus(),St(a),yt.current=!0,ge({anchorRect:r?.anchorRect??null,item:A_(e,n),path:n,source:r?.source??`keyboard`})},[t,Ue,St]),wt=Pg(e=>{if(l){if(t.isSearchOpen()){let e=C.current,t=d_(e,st);N.current=G<0||e==null?null:Math.max(0,Math.min(G*s-e.scrollTop,Math.max(0,t-s))),M.current=!0}t.startRenaming(e)!==!1&&(pe(`focus`),oe(e=>e+1))}},[t,G,s,l,st]),Tt=Pg((e,{restoreTreeFocus:n=!0,targetOffset:r=`live-overlay`}={})=>{let i=C.current;if(i==null)return!1;t.focusPath(e);let a=t.getFocusedIndex();if(a<0)return!1;let o=t.getVisibleRows(a,a)[0]??null;if(o==null)return!1;let l=d_(i,st),u=t.getVisibleCount()*s,d=r===`sticky-parents`?o.ancestorPaths.length*s:Yg({controller:t,itemHeight:s,overscan:c,scrollTop:i.scrollTop,stickyFolders:h,viewportHeight:l}).snapshot.sticky.height;return k.current=!0,h_(i,a,s,l,u,d),D.current(),U.current=n?e:null,!0},[t,s,c,st,h]),Et=()=>y.current===!0||B.current!=null||re.current===!0,Dt=e=>typeof window.requestAnimationFrame==`function`?window.requestAnimationFrame(()=>{e()}):window.setTimeout(e,16),Ot=e=>{if(e!=null){if(typeof window.cancelAnimationFrame==`function`){window.cancelAnimationFrame(e);return}window.clearTimeout(e)}},kt=()=>{F.current!=null&&(clearTimeout(F.current),F.current=null),ee.current=null},At=()=>{I.current?.remove(),I.current=null},jt=()=>{Ot(P.current),P.current=null,te.current=null},Mt=e=>{let t=S.current?.getRootNode();if(t instanceof ShadowRoot){t.append(e);return}document.body.append(e)},Nt=()=>{ne.current?.(),ne.current=null,B.current!=null&&(clearTimeout(B.current),B.current=null),re.current=!1,ie.current=null,z.current=null,R.current!=null&&(R.current.setAttribute(`draggable`,`true`),R.current.style.removeProperty(`touch-action`),R.current=null),At(),kt(),jt(),L.current=null},Pt=(e,n)=>{let r=S.current?.getRootNode(),i=n_(e_(r instanceof ShadowRoot?r:document,e,n));return t.setDragTarget(i),t.getDragSession()?.target??null},Ft=e=>{let n=t.getDragAndDropConfig()?.openOnDropDelay??800;if(e==null||e.kind!==`directory`||e.directoryPath==null||n<=0){kt();return}let r=t.getItem(e.directoryPath),i=c_(r)?r:null;if(i==null||i.isExpanded()){kt();return}let a=`${e.directoryPath}::${e.flattenedSegmentPath??``}`;ee.current!==a&&(kt(),ee.current=a,F.current=setTimeout(()=>{let n=t.getDragSession()?.target;n?.kind!==`directory`||n.directoryPath!==e.directoryPath||n.flattenedSegmentPath!==e.flattenedSegmentPath||i.expand()},n))},It=()=>{P.current=null;let e=te.current,n=C.current;if(e==null||n==null||t.getDragSession()==null)return;let r=n.getBoundingClientRect(),i=a_(e.clientY,r);if(i===0)return;let a=Math.max(0,n.scrollHeight-n.clientHeight),o=Math.max(0,Math.min(a,n.scrollTop+i));o!==n.scrollTop&&(n.scrollTop=o,D.current()),Ft(Pt(e.clientX,e.clientY)),P.current=Dt(It)},Lt=(e,t)=>{te.current={clientX:e,clientY:t},P.current??=Dt(It)},Rt=(e,n,r)=>{let i=e.currentTarget;if(i!=null){if(Nt(),At(),kt(),jt(),t.startDrag(r)===!1){e.preventDefault();return}if(L.current=n,e.dataTransfer!=null&&(e.dataTransfer.effectAllowed=`move`,e.dataTransfer.dropEffect=`move`,e.dataTransfer.setData(`text/plain`,r),i_())){let t=r_(i),n=i.getBoundingClientRect();Object.assign(t.style,{height:`${n.height}px`,opacity:`0.85`,transform:`translate3d(-9999px, 0px, 0)`,width:`${n.width}px`}),Mt(t),I.current=t,e.dataTransfer.setDragImage(t,Math.max(0,e.clientX-n.left),Math.max(0,e.clientY-n.top))}}},zt=()=>{At(),kt(),jt(),L.current=null,t.cancelDrag()},Bt=(e,n,r)=>{if(B.current!=null||re.current)return;let i=e.touches[0],a=e.currentTarget;if(i==null||a==null)return;z.current={clientX:i.clientX,clientY:i.clientY},R.current=a,a.setAttribute(`draggable`,`false`);let o=(e={})=>{let t=e.restoreNativeDraggable??!re.current;B.current!=null&&(clearTimeout(B.current),B.current=null),document.removeEventListener(`touchmove`,s),document.removeEventListener(`touchend`,c),document.removeEventListener(`touchcancel`,c),ne.current===o&&(ne.current=null),t&&(a.setAttribute(`draggable`,`true`),R.current===a&&(R.current=null),z.current=null)},s=e=>{let t=e.touches[0],n=z.current;if(t==null||n==null)return;let r=t.clientX-n.clientX,i=t.clientY-n.clientY;r*r+i*i<=Zg*Zg||o()},c=()=>{o()};document.addEventListener(`touchmove`,s,{passive:!0}),document.addEventListener(`touchend`,c),document.addEventListener(`touchcancel`,c),ne.current=o,B.current=setTimeout(()=>{if(o({restoreNativeDraggable:!1}),t.startDrag(r)===!1){a.setAttribute(`draggable`,`true`),R.current===a&&(R.current=null),z.current=null;return}re.current=!0,R.current=a,a.setAttribute(`draggable`,`false`),a.style.setProperty(`touch-action`,`none`),L.current=n;let e=a.getBoundingClientRect(),s=r_(a);Object.assign(s.style,{height:`${e.height}px`,opacity:`0.85`,transform:`translate3d(${e.left}px, ${e.top}px, 0)`,width:`${e.width}px`}),Mt(s),I.current=s,ie.current={x:i.clientX-e.left,y:i.clientY-e.top};let c=e=>{let t=e.touches[0];if(t==null)return;e.preventDefault();let n=ie.current;n!=null&&I.current!=null&&(I.current.style.transform=`translate3d(${t.clientX-n.x}px, ${t.clientY-n.y}px, 0)`),Ft(Pt(t.clientX,t.clientY)),Lt(t.clientX,t.clientY)},l=e=>{let n=e.changedTouches[0];n!=null&&Pt(n.clientX,n.clientY),t.completeDrag(),Nt()},u=()=>{t.cancelDrag(),Nt()};ne.current=()=>{document.removeEventListener(`touchmove`,c),document.removeEventListener(`touchend`,l),document.removeEventListener(`touchcancel`,u)},document.addEventListener(`touchmove`,c,{passive:!1}),document.addEventListener(`touchend`,l),document.addEventListener(`touchcancel`,u)},Xg)},Vt=e=>{if(H!=null){if(e.key===`Escape`){xt(),e.preventDefault(),e.stopPropagation();return}b_.has(e.key)&&(e.preventDefault(),e.stopPropagation());return}if(Ke.isActive()){if(e.key===`Escape`)Ke.cancel();else if(e.key===`Enter`)Ke.commit();else return;pe(`focus`),oe(e=>e+1),e.preventDefault(),e.stopPropagation();return}if(l&&e.key===`F2`){wt(W??void 0),e.preventDefault(),e.stopPropagation();return}if(Ye){if(e.key===`Escape`)M.current=!1,N.current=null,t.closeSearch();else if(e.key===`Enter`){let e=t.getFocusedPath();e!=null&&t.selectOnlyPath(e);let n=C.current,r=d_(n,st);N.current=G<0||n==null?null:Math.max(0,Math.min(G*s-n.scrollTop,Math.max(0,r-s))),M.current=!0,t.closeSearch()}else if(e.key===`ArrowDown`)t.focusNextSearchMatch();else if(e.key===`ArrowUp`)t.focusPreviousSearchMatch();else return;pe(`focus`),oe(e=>e+1),e.preventDefault(),e.stopPropagation();return}if(f&&u_(e)){t.openSearch(e.key),oe(e=>e+1),e.preventDefault(),e.stopPropagation();return}let n=Fe&&v_(e),r=y_(e,Fe),i=r&&S.current!=null?Ug(S.current):null,a=r?new Set(D_(S.current)):new Set,o=i?.dataset.fileTreeStickyPath??null,c=i?.dataset.fileTreeStickyRow===`true`&&o!=null;if(c&&o!==W&&a.has(o)){let e=C.current;we(o,e?.scrollTop??null),t.focusPath(o)}let u=t.getFocusedPath(),d=t.getFocusedIndex(),p=t.getFocusedItem();if(p==null)return;let m=c_(p)?p:null,h=u!=null&&(pt.has(u)||c&&o===u&&a.has(u)),g=e.key===`ArrowDown`||e.key===`ArrowUp`||e.key===`ArrowRight`&&m!=null&&m.isExpanded(),_=e.key===`ArrowLeft`&&h&&m!=null&&m.isExpanded(),v=C.current,y=!0;if(e.shiftKey&&e.key===`ArrowDown`)t.extendSelectionFromFocused(1);else if(e.shiftKey&&e.key===`ArrowUp`)t.extendSelectionFromFocused(-1);else if(n&&u!=null&&d>=0){let e=t.getVisibleRows(d,d)[0]??null,n=E_(u,E.current,T.current);e==null||n==null?y=!1:Ct(e,u)}else if((e.ctrlKey||e.metaKey)&&l_(e))t.toggleFocusedSelection();else if((e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`a`)t.selectAllVisiblePaths();else switch(e.key){case`ArrowDown`:t.focusNextItem();break;case`ArrowUp`:t.focusPreviousItem();break;case`ArrowRight`:m==null||m.isExpanded()?t.focusNextItem():m.expand();break;case`ArrowLeft`:m!=null&&m.isExpanded()?m.collapse():t.focusParentItem();break;case`Home`:t.focusFirstItem();break;case`End`:t.focusLastItem();break;default:y=!1}if(!y)return;pe(`focus`);let b=t.getFocusedPath(),x=b!=null&&(pt.has(b)||a.has(b)),w=g&&b!==u,D=n&&c&&o===u&&b===u;if((h||D)&&b!=null&&(w&&x||D))we(b,v?.scrollTop??null),k.current=!0,se(e=>e===b?e:b);else{let t=e.key===`ArrowUp`&&h&&b!==u;b!=null&&(t||_&&b===u)?(Te(b,k_(S.current,v,i,u,s,ft,st)),k.current=!0,se(e=>e===b?e:b)):Ce()}oe(e=>e+1),e.preventDefault(),e.stopPropagation()};Mg(()=>{if(!(!f||!Ye)){if(Ee.current){Ee.current=!1;return}Hg(w.current)}},[Ye,f]),Mg(()=>{let e=x.current;switch(lg({hasRenderedInput:e!=null,previousRenamingPath:j.current,renamingPath:qe})){case`reset`:j.current=null;return;case`reveal-canonical`:qe!=null&&Tt(qe,{restoreTreeFocus:!1,targetOffset:`live-overlay`});return;case`ignore`:return;case`focus-input`:e!=null&&(U.current=null,j.current=qe,Hg(e),e.select());return}},[ct.end,ct.start,qe,Tt,pt]),Mg(()=>{let e=S.current;if(e==null)return;let t=null,n=()=>{t!=null&&(clearTimeout(t),t=null)},r=()=>{let t=Ug(e)?.dataset.itemPath??null;se(e=>e===t?e:t)},i=()=>{n(),k.current=!0,r()},a=i=>{let a=i.relatedTarget;if(a==null){n(),t=setTimeout(()=>{if(t=null,Ug(e)!=null){r();return}k.current=!1,se(null)},0);return}if(!(a instanceof Node)||!e.contains(a)){n(),k.current=!1,se(null);return}let o=a instanceof HTMLElement?a.dataset.itemPath??null:null;se(e=>e===o?e:o)};return e.addEventListener(`focusin`,i),e.addEventListener(`focusout`,a),()=>{n(),e.removeEventListener(`focusin`,i),e.removeEventListener(`focusout`,a)}},[]),Mg(()=>{let e=S.current;e!=null&&(at.physical.scrollTop<=0?e.dataset.scrollAtTop=`true`:delete e.dataset.scrollAtTop)},[at.physical.scrollTop]),Mg(()=>{let e=null,n=C.current,r=b.current,i=S.current;if(n==null)return;O.current=d_(n,g);let a=()=>{let e=t.getVisibleCount(),r=f_(O.current,g),i=Math.max(0,e*s-r);n.scrollTop>i&&(n.scrollTop=i),Me(Yg({controller:t,itemHeight:s,overscan:c,scrollTop:Math.min(n.scrollTop,i),stickyFolders:h,viewportHeight:r}))};D.current=a;let o=!1,l=t.subscribe(()=>{o?oe(e=>e+1):o=!0,a()}),u=()=>{Se.current!==!0&&(r!=null&&(r.dataset.isScrolling??=``),i!=null&&(i.dataset.isScrolling??=``),y.current=!0,e!=null&&clearTimeout(e),e=setTimeout(()=>{r!=null&&delete r.dataset.isScrolling,i!=null&&delete i.dataset.isScrolling,y.current=!1,he(e=>e+1),e=null},50))},d=null,f=()=>{i!=null&&delete i.dataset.overlayReveal,d!=null&&(clearTimeout(d),d=null)},p=()=>{i==null||Se.current===!0||n.scrollTop>0||(i.dataset.overlayReveal=`true`,d!=null&&clearTimeout(d),d=setTimeout(()=>{f()},200))},m=()=>{if(a(),n.scrollTop>0&&f(),_e.current!=null&&y.current&&bt.current(),Se.current===!0){y.current=!1;return}le(e=>e==null?e:null),u()},_=()=>{u(),p()},v=new Set([`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`,`PageUp`,`PageDown`,`Home`,`End`,` `,`Spacebar`]),x=e=>{v.has(e.key)&&_()};n.addEventListener(`scroll`,m,{passive:!0}),n.addEventListener(`wheel`,_,{passive:!0}),n.addEventListener(`touchmove`,_,{passive:!0}),n.addEventListener(`keydown`,x);let w=typeof ResizeObserver<`u`?new ResizeObserver(e=>{O.current=(e[0]==null?null:p_(e[0]))??d_(n,g),a()}):null;return w?.observe(n),()=>{D.current=()=>{},l(),n.removeEventListener(`scroll`,m),n.removeEventListener(`wheel`,_),n.removeEventListener(`touchmove`,_),n.removeEventListener(`keydown`,x),e!=null&&clearTimeout(e),d!=null&&clearTimeout(d),r!=null&&delete r.dataset.isScrolling,i!=null&&(delete i.dataset.isScrolling,delete i.dataset.overlayReveal),y.current=!1,O.current=null,w?.disconnect()}},[t,g,s,c,h]),Mg(()=>{Fe||H==null||xt(!1)},[xt,Fe,H]);let Ht=Ng(()=>H==null?null:`${H.path}::${H.source}`,[H]);Mg(()=>{if(Ht==null){m?.clearSlotContent(Lc);return}let t=_e.current;if(t==null)return;let n=v.current??_.current;if(n==null)return;let r={anchorElement:n,anchorRect:t.anchorRect??S_(n.getBoundingClientRect()),close:e=>{bt.current(e?.restoreFocus??!0)},restoreFocus:()=>{yt.current&&vt.current(_e.current?.path??null)}},i=e?.contextMenu?.render?.(t.item,r)??null;return m?.setSlotContent(Lc,i),e?.contextMenu?.onOpen?.(t.item,r),F_(i),queueMicrotask(()=>{i==null||!i.isConnected||document.activeElement===i&&F_(i)}),()=>{m?.clearSlotContent(Lc)}},[Ht,e?.contextMenu,m]),Mg(()=>{H!=null&&t.getItem(H.path)==null&&xt()},[xt,H,t]),Mg(()=>{if(H==null)return;let e=S.current?.getRootNode(),t=e instanceof ShadowRoot?e.host:S.current,n=e=>{let n=e.target;n instanceof Node&&(x_(e)||_.current?.contains(n)!==!0&&t?.contains(n)!==!0&&xt())},r=e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),xt())};return document.addEventListener(`mousedown`,n,!0),document.addEventListener(`keydown`,r,!0),()=>{document.removeEventListener(`mousedown`,n,!0),document.removeEventListener(`keydown`,r,!0)}},[xt,H]),Mg(()=>{let e=C.current,t=S.current;if(e==null||t==null){A.current=W;return}let n=W==null?null:T.current.get(W)??null,r=Ug(t),i=r?.dataset.itemPath??null,a=Je&&x.current===r,o=f&&w.current===r,c=M.current&&!Ye,l=N.current??0,u=U.current,d=ve.current,p=ye.current,m=be.current,h=r!=null,g=k.current||h,_=A.current!==W,v=d!=null&&d===W&&W!=null,y=c&&h_(e,G,s,st,dt,l),b=u!=null&&u===W&&h_(e,G,s,st,dt,ft),E=p!=null&&p.path===W&&h_(e,G,s,st,dt,p.viewportOffset),O=m!=null&&m.path===W&&e.scrollTop!==m.scrollTop;if(O&&(e.scrollTop=m.scrollTop),(O||b||E||y||g&&_&&u!==W&&!v&&m_(e,G,s,st,ft))&&D.current(),!g){A.current=W;return}if(a){A.current=W;return}if(o&&!c){A.current=W;return}if(n==null){c&&G>=0&&(h_(e,G,s,st,dt,l),D.current()),A.current=W;return}(_||c||u===W||d===W||p?.path===W||m?.path===W||i==null||i!==W)&&(Hg(n),u===W&&(U.current=null),d===W&&(ve.current=null),p?.path===W&&(ye.current=null),m?.path===W&&(be.current=null),M.current=!1,N.current=null),A.current=W},[t,G,W,mt,s,Je,Ye,ct,st,f,ft,dt,ot]);let Ut=G>=0&&G>=at.visible.startIndex&&G<=at.visible.endIndex,Wt=W!=null&<.some(e=>Kg(e.row)===W),Gt=Ut||Wt,Kt=Le&&k.current===!0&&Gt?W:null,qt=fe===`pointer`?ce:null,Jt=H?.path??xe.current??qt??Kt??ce,Yt=H?.source===`right-click`;Mg(()=>{y.current&&H==null||St(Ue(Jt))},[H,Ue,ct,st,me,lt,Jt,St,ot]);let Xt=Pg(e=>{if(y.current||x_(e))return;let t=e.target;if(!(t instanceof HTMLElement)||t.closest?.(`[data-type="context-menu-trigger"]`)!=null)return;let n=t.closest?.(`[data-file-tree-sticky-row="true"]`),r=t.closest?.(`[data-type="item"]`),i=n instanceof HTMLElement?n.dataset.fileTreeStickyPath??null:r instanceof HTMLElement?r.dataset.itemPath??null:null;i!=null&&pe(e=>e===`pointer`?e:`pointer`),le(e=>e===i?e:i)},[]),Zt=Pg(()=>{le(null)},[]);Mg(()=>{if(!Ze)return;let e=()=>{Nt(),t.cancelDrag()};return window.addEventListener(`dragend`,e),()=>{window.removeEventListener(`dragend`,e),Nt(),t.cancelDrag()}},[t,Ze]);let Qt=e=>{if(!Ze||t.getDragSession()==null||re.current)return;let n=n_(e.target instanceof HTMLElement?e.target:null);t.setDragTarget(n),Ft(t.getDragSession()?.target??null),Lt(e.clientX,e.clientY),e.dataTransfer!=null&&(e.dataTransfer.dropEffect=`move`),e.preventDefault()},$t=e=>{if(!Ze||t.getDragSession()==null||re.current)return;let n=e.relatedTarget;n instanceof Node&&S.current?.contains(n)===!0||(kt(),jt(),t.setDragTarget(null))},en=e=>{!Ze||t.getDragSession()==null||re.current||(e.preventDefault(),Pt(e.clientX,e.clientY),t.completeDrag(),At(),kt(),jt(),L.current=null)},tn=at.window.height,nn=at.window.offsetTop,rn=Math.min(0,st-tn-ft),an=V===W||M.current,on=W!=null&&an&&!mt&&G>=0?ot[G]??t.getVisibleRows(G,G)[0]??null:null,sn=on==null?null:g_(G,s,ct,tn),cn=L.current,ln=tt!=null&&cn!=null&&cn.path===tt&&cn.index>=ct.start&&cn.index<=ct.end,un=tt!=null&&cn!=null&&cn.path===tt&&!ln&&cn.path!==on?.path?cn:null,dn=un==null?null:g_(un.index,s,ct,tn),fn=__((G>=0?ot[G]??t.getVisibleRows(G,G)[0]??null:null)?.ancestorPaths.at(-1)??null),pn=Ye&&W!=null?M_(o,W,!mt):void 0,mn=H?.path??(Ye?W:V),hn=H?.path??ce,gn=Ue(Jt),_n=Fe&&Le&&!Yt&&!Je&&gn!=null&&ue!=null&&Jt!=null,vn=Fe&&(_n||H!=null),yn=H?.anchorRect,bn=yn==null&&gn!=null&&ue!=null&&(H!=null||_n)?ue:null,xn=yn==null?bn==null?void 0:{top:`${bn}px`}:{left:`${yn.left}px`,position:`fixed`,right:`auto`,top:`${yn.top}px`},Sn=Yt?{opacity:`0`}:void 0,Cn=Pg((e,n,r,i)=>{let a=t.getItem(r),o=dg({event:{ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey},isDirectory:n.kind===`directory`,isSearchOpen:t.isSearchOpen(),mode:i});switch(o.selection.kind){case`range`:t.selectPathRange(r,o.selection.additive);break;case`toggle`:t.togglePathSelectionFromInput(r);break;case`single`:t.selectOnlyPath(r);break}let s=e.currentTarget instanceof HTMLElement?e.currentTarget:null,c=n.index>=at.visible.startIndex&&n.index<=at.visible.endIndex,l=i===`flow`&&c&&s!=null&&s.dataset.itemParked!==`true`;a?.focus(),l&&(k.current=!0,se(e=>e===r?e:r),pe(`focus`)),o.toggleDirectory&&c_(a)&&a.toggle(),o.closeSearch&&t.closeSearch(),o.revealCanonical&&Tt(r,{targetOffset:`sticky-parents`})},[t,at.visible.endIndex,at.visible.startIndex,Tt]),wn=()=>{if(y.current||!Le||Jt==null||gn==null)return;let e=t.getItem(Jt);e!=null&&(St(gn),yt.current=!0,ge({anchorRect:null,item:{kind:e.isDirectory()?`directory`:`file`,name:gn.getAttribute(`aria-label`)??Jt,path:e.getPath()},path:e.getPath(),source:`button`}))},Tn={contextHoverPath:hn,contextMenuButtonTriggerEnabled:Le,contextMenuButtonVisibility:Re,contextMenuEnabled:Fe,contextMenuRightClickEnabled:ze,contextMenuTriggerMode:Ie,controller:t,directoriesWithGitChanges:i,dragAndDropEnabled:Ze,draggedPathSet:$e,dragTarget:et,gitLaneActive:We,gitStatusByPath:n,handleRowDragEnd:zt,handleRowDragStart:Rt,handleRowTouchStart:Bt,ignoredGitDirectories:r,ignoredInheritanceCache:ae,instanceId:o,itemHeight:s,onKeyDown:Vt,onRowClick:Cn,openContextMenuForRow:Ct,registerButton:Be,registerRenameInput:He,renameView:Ke,renderDecorationForRow:ht,resolveIcon:Ge,shouldSuppressContextMenu:Et,visualFocusPath:mn},En={...Tn,registerButton:Ve};return Q(`div`,{ref:S,id:nt,"data-file-tree-context-menu-button-visibility":Fe&&Le?Re:void 0,"data-file-tree-context-menu-trigger-mode":Fe?Ie:void 0,"data-file-tree-has-context-menu-action-lane":Fe&&Le?`true`:void 0,"data-file-tree-has-git-lane":We?`true`:void 0,"data-file-tree-virtualized-root":`true`,onDragLeave:Ze?$t:void 0,onDragOver:Ze?Qt:void 0,onDrop:Ze?en:void 0,onKeyDown:Vt,onPointerLeave:Fe?Zt:void 0,onPointerOver:Fe?Xt:void 0,role:`tree`,tabIndex:-1,style:{outline:`none`,position:`relative`},children:[Q(`style`,{"data-file-tree-guide-style":`true`,dangerouslySetInnerHTML:{__html:fn}}),Q(`slot`,{name:Ic,"data-type":`header-slot`}),f?Q(`div`,{"data-file-tree-search-container":!0,"data-open":Ye?`true`:`false`,children:Q(`input`,{ref:w,"aria-activedescendant":pn,"aria-controls":nt,placeholder:`Search…`,"data-file-tree-search-input":!0,"data-file-tree-search-input-fake-focus":De?`true`:void 0,value:Xe,onBlur:()=>{d===`retain`&&!ke.current||t.closeSearch()},onFocus:Ae,onPointerDown:Ae,onInput:e=>{Ae();let n=e.currentTarget;t.setSearch(n.value)}})}):null,Q(`div`,{ref:C,"data-file-tree-virtualized-scroll":`true`,children:[h&&Ne&<.length>0?Q(`div`,{"aria-hidden":`true`,"data-file-tree-sticky-overlay":`true`,children:Q(`div`,{"data-file-tree-sticky-overlay-content":`true`,style:{height:`${rt}px`},children:lt.map((e,t)=>L_(En,e.row,`sticky:${Kg(e.row)}`,{mode:`sticky`,style:{left:`0`,position:`absolute`,right:`0`,top:`${e.top}px`,zIndex:`${lt.length-t}`}}))})}):null,Q(`div`,{ref:b,"data-file-tree-virtualized-list":`true`,style:{height:`${dt}px`},children:[Q(`div`,{"data-file-tree-virtualized-sticky-offset":`true`,"aria-hidden":`true`,style:{height:`${nn}px`}}),Q(`div`,{"data-file-tree-virtualized-sticky":`true`,style:{height:`${tn}px`,top:`${rn}px`,bottom:`${rn}px`},children:[R_(Tn,ct,pt),on!=null&&sn!=null?L_(Tn,on,`parked:${on.path}`,{isParked:!0,style:{left:`0`,opacity:`0`,pointerEvents:tt===on.path?`none`:void 0,position:`absolute`,right:`0`,top:`${sn}px`}}):null,un!=null&&dn!=null?L_(Tn,un,`parked-drag:${un.path}`,{isParked:!0,style:{left:`0`,opacity:`0`,pointerEvents:`none`,position:`absolute`,right:`0`,top:`${dn}px`}}):null]})]})]}),Fe?Q(`div`,{ref:_,"data-type":`context-menu-anchor`,"data-visible":vn?`true`:`false`,style:xn,children:[Q(`button`,{ref:v,type:`button`,"data-type":Rc,"aria-label":`Options`,"aria-haspopup":`menu`,"aria-expanded":H==null?`false`:`true`,"data-visible":_n?`true`:`false`,onMouseDown:e=>{e.preventDefault()},onClick:e=>{if(e.preventDefault(),e.stopPropagation(),H!=null){xt();return}wn()},tabIndex:-1,style:Sn,children:Q(Fh,{...Ge(`file-tree-icon-ellipsis`)})}),H==null?null:Q(`slot`,{name:Lc})]}):null,H==null?null:Q(`div`,{"data-type":`context-menu-wash`,"aria-hidden":`true`,onMouseDownCapture:e=>{e.preventDefault(),xt()},onTouchStartCapture:e=>{e.preventDefault(),e.stopPropagation(),xt()},onTouchMoveCapture:e=>{e.preventDefault(),e.stopPropagation()},onWheelCapture:e=>{e.preventDefault(),e.stopPropagation()}})]})}var B_={hydrateRoot:(e,t)=>{Ah(oh(z_,t),e)},renderRoot:(e,t)=>{kh(oh(z_,t),e)},unmountRoot:e=>{kh(null,e)}};function V_(e,t){B_.renderRoot(e,t)}function H_(e,t){B_.hydrateRoot(e,t)}function U_(e){B_.unmountRoot(e)}var W_=class{#e=new Map;#t=null;clearAll(){for(let e of this.#e.values())e.remove();this.#e.clear()}clearSlotContent(e){let t=this.#n(e);t!=null&&(t.remove(),this.#e.delete(e))}setHost(e){if(this.#t=e,e!=null){this.#i(e);for(let[e,t]of this.#e)this.#r(e,t)}}setSlotContent(e,t){let n=this.#n(e);if(n===t){t!=null&&(this.#e.set(e,t),this.#r(e,t));return}if(n?.remove(),t==null){this.#e.delete(e);return}this.#e.set(e,t),this.#r(e,t)}setSlotHtml(e,t){let n=t?.trim()??``;if(n.length===0){this.setSlotContent(e,null);return}let r=this.#n(e);if(r!=null&&r.innerHTML===n){this.#e.set(e,r),this.#r(e,r);return}let i=document.createElement(`div`);i.innerHTML=n,this.setSlotContent(e,i)}#n(e){let t=this.#e.get(e)??null;if(t!=null)return t;let n=this.#t;if(n==null)return null;for(let t of Array.from(n.children))if(t instanceof HTMLElement&&t.dataset.fileTreeManagedSlot===e)return t;return null}#r(e,t){t.slot=e,t.dataset.fileTreeManagedSlot=e,this.#t!=null&&t.parentNode!==this.#t&&this.#t.appendChild(t)}#i(e){for(let t of Array.from(e.children)){if(!(t instanceof HTMLElement))continue;let e=t.dataset.fileTreeManagedSlot;e==null||this.#e.has(e)||this.#e.set(e,t)}}},G_=`__c`,K_=`__k`,q_=`__d`,J_=`__s`,Y_=/[\s\n\\/='"\0<>]/,X_=/^(xlink|xmlns|xml)([A-Z])/,Z_=/^(?:accessK|auto[A-Z]|cell|ch|col|cont|cross|dateT|encT|form[A-Z]|frame|hrefL|inputM|maxL|minL|noV|playsI|popoverT|readO|rowS|src[A-Z]|tabI|useM|item[A-Z])/,Q_=/^ac|^ali|arabic|basel|cap|clipPath$|clipRule$|color|dominant|enable|fill|flood|font|glyph[^R]|horiz|image|letter|lighting|marker[^WUH]|overline|panose|pointe|paint|rendering|shape|stop|strikethrough|stroke|text[^L]|transform|underline|unicode|units|^v[^i]|^w|^xH/,$_=new Set([`draggable`,`spellcheck`]);function ev(e){e.__g===void 0?e[q_]=!0:e.__g|=8}function tv(e){e.__g===void 0?e[q_]=!1:e.__g&=-9}function nv(e){return e.__g===void 0?!0===e[q_]:!!(8&e.__g)}var rv=/["&<]/;function iv(e){if(e.length===0||!1===rv.test(e))return e;for(var t=0,n=0,r=``,i=``;n<e.length;n++){switch(e.charCodeAt(n)){case 34:i=`"`;break;case 38:i=`&`;break;case 60:i=`<`;break;default:continue}n!==t&&(r+=e.slice(t,n)),r+=i,t=n+1}return n!==t&&(r+=e.slice(t,n)),r}var av={},ov=new Set(`animation-iteration-count.border-image-outset.border-image-slice.border-image-width.box-flex.box-flex-group.box-ordinal-group.column-count.fill-opacity.flex.flex-grow.flex-negative.flex-order.flex-positive.flex-shrink.flood-opacity.font-weight.grid-column.grid-row.line-clamp.line-height.opacity.order.orphans.stop-opacity.stroke-dasharray.stroke-dashoffset.stroke-miterlimit.stroke-opacity.stroke-width.tab-size.widows.z-index.zoom`.split(`.`)),sv=/[A-Z]/g;function cv(e){var t=``;for(var n in e){var r=e[n];if(r!=null&&r!==``){var i=n[0]==`-`?n:av[n]||(av[n]=n.replace(sv,`-$&`).toLowerCase()),a=`;`;typeof r!=`number`||i.startsWith(`--`)||ov.has(i)||(a=`px;`),t=t+i+`:`+r+a}}return t||void 0}function lv(){this.__d=!0}function uv(e,t){return{__v:e,context:t,props:e.props,setState:lv,forceUpdate:lv,__d:!0,__h:[]}}function dv(e,t,n){if(!e.s){if(n instanceof fv){if(!n.s)return void(n.o=dv.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(dv.bind(null,e,t),dv.bind(null,e,2));e.s=t,e.v=n;let r=e.o;r&&r(e)}}var fv=function(){function e(){}return e.prototype.then=function(t,n){var r=new e,i=this.s;if(i){var a=1&i?t:n;if(a){try{dv(r,1,a(this.v))}catch(e){dv(r,2,e)}return r}return this}return this.o=function(e){try{var i=e.v;1&e.s?dv(r,1,t?t(i):i):n?dv(r,1,n(i)):dv(r,2,i)}catch(e){dv(r,2,e)}},r},e}(),pv,mv,hv,gv,_v={},vv=Array.isArray,yv=Object.assign,bv=``,xv=`<!--$s-->`,Sv=`<!--/$s-->`;function Cv(e,t){var n,r=e.type,i=!0;return e[G_]?(i=!1,(n=e[G_]).state=n[J_]):n=new r(e.props,t),e[G_]=n,n.__v=e,n.props=e.props,n.context=t,ev(n),n.state??=_v,n[J_]??(n[J_]=n.state),r.getDerivedStateFromProps?n.state=yv({},n.state,r.getDerivedStateFromProps(n.props,n.state)):i&&n.componentWillMount?(n.componentWillMount(),n.state=n[J_]===n.state?n.state:n[J_]):!i&&n.componentWillUpdate&&n.componentWillUpdate(),hv&&hv(e),n.render(n.props,n.state,t)}function wv(e,t,n,r,i,a,o){if(e==null||!0===e||!1===e||e===bv)return bv;var s=typeof e;if(s!=`object`)return s==`function`?bv:s==`string`?iv(e):e+bv;if(vv(e)){var c,l=bv;i[K_]=e;for(var u=e.length,d=0;d<u;d++){var f=e[d];if(f!=null&&typeof f!=`boolean`){var p,m=wv(f,t,n,r,i,a,o);typeof m==`string`?l+=m:(c||=Array(u),l&&c.push(l),l=bv,vv(m)?(p=c).push.apply(p,m):c.push(m))}}return c?(l&&c.push(l),c):l}if(e.constructor!==void 0)return bv;e.__=i,pv&&pv(e);var h=e.type,g=e.props;if(typeof h==`function`){var _,v,y,b=t;if(h===ch){if(`tpl`in g){for(var x=bv,S=0;S<g.tpl.length;S++)if(x+=g.tpl[S],g.exprs&&S<g.exprs.length){var C=g.exprs[S];if(C==null)continue;typeof C!=`object`||C.constructor!==void 0&&!vv(C)?x+=C:x+=wv(C,t,n,r,e,a,o)}return x}if(`UNSTABLE_comment`in g)return`<!--`+iv(g.UNSTABLE_comment)+`-->`;v=g.children}else{if((_=h.contextType)!=null){var w=t[_.__c];b=w?w.props.value:_.__}var T=h.prototype&&typeof h.prototype.render==`function`;if(T)v=Cv(e,b),y=e[G_];else{e[G_]=y=uv(e,b);for(var E=0;nv(y)&&E++<25;){tv(y),hv&&hv(e);try{v=h.call(y,g,b)}catch(t){throw a&&t&&typeof t.then==`function`&&(e._suspended=!0),t}}ev(y)}if(y.getChildContext!=null&&(t=yv({},t,y.getChildContext())),T&&Z.errorBoundaries&&(h.getDerivedStateFromError||y.componentDidCatch)){v=v!=null&&v.type===ch&&v.key==null&&v.props.tpl==null?v.props.children:v;try{return wv(v,t,n,r,e,a,!1)}catch(i){return h.getDerivedStateFromError&&(y[J_]=h.getDerivedStateFromError(i)),y.componentDidCatch&&y.componentDidCatch(i,_v),nv(y)?(v=Cv(e,t),(y=e[G_]).getChildContext!=null&&(t=yv({},t,y.getChildContext())),wv(v=v!=null&&v.type===ch&&v.key==null&&v.props.tpl==null?v.props.children:v,t,n,r,e,a,o)):bv}finally{mv&&mv(e),gv&&gv(e)}}}v=v!=null&&v.type===ch&&v.key==null&&v.props.tpl==null?v.props.children:v;try{var D=wv(v,t,n,r,e,a,o);return mv&&mv(e),Z.unmount&&Z.unmount(e),e._suspended?typeof D==`string`?xv+D+Sv:vv(D)?(D.unshift(xv),D.push(Sv),D):D.then(function(e){return xv+e+Sv}):D}catch(i){if(!a&&o&&o.onError){var O=function i(s){return o.onError(s,e,function(e,s){try{return wv(e,t,n,r,s,a,o)}catch(e){return i(e)}})}(i);if(O!==void 0)return O;var k=Z.__e;return k&&k(i,e),bv}if(!a||!i||typeof i.then!=`function`)throw i;return i.then(function i(){try{var s=wv(v,t,n,r,e,a,o);return e._suspended?xv+s+Sv:s}catch(e){if(!e||typeof e.then!=`function`)throw e;return e.then(i)}})}}var A,j=`<`+h,M=bv;for(var N in g){var P=g[N];if(typeof(P=Ev(P)?P.value:P)!=`function`||N===`class`||N===`className`){switch(N){case`children`:A=P;continue;case`key`:case`ref`:case`__self`:case`__source`:continue;case`htmlFor`:if(`for`in g)continue;N=`for`;break;case`className`:if(`class`in g)continue;N=`class`;break;case`defaultChecked`:N=`checked`;break;case`defaultSelected`:N=`selected`;break;case`defaultValue`:case`value`:switch(N=`value`,h){case`textarea`:A=P;continue;case`select`:r=P;continue;case`option`:r!=P||`selected`in g||(j+=` selected`)}break;case`dangerouslySetInnerHTML`:M=P&&P.__html;continue;case`style`:typeof P==`object`&&(P=cv(P));break;case`acceptCharset`:N=`accept-charset`;break;case`httpEquiv`:N=`http-equiv`;break;default:if(X_.test(N))N=N.replace(X_,`$1:$2`).toLowerCase();else{if(Y_.test(N))continue;N[4]!==`-`&&!$_.has(N)||P==null?n?Q_.test(N)&&(N=N===`panose1`?`panose-1`:N.replace(/([A-Z])/g,`-$1`).toLowerCase()):Z_.test(N)&&(N=N.toLowerCase()):P+=bv}}P!=null&&!1!==P&&(j=!0===P||P===bv?j+` `+N:j+` `+N+`="`+(typeof P==`string`?iv(P):P+bv)+`"`)}}if(Y_.test(h))throw Error(h+` is not a valid HTML tag name in `+j+`>`);if(M||(typeof A==`string`?M=iv(A):A!=null&&!1!==A&&!0!==A&&(M=wv(A,t,h===`svg`||h!==`foreignObject`&&n,r,e,a,o))),mv&&mv(e),gv&&gv(e),!M&&Tv.has(h))return j+`/>`;var ee=`</`+h+`>`,F=j+`>`;return vv(M)?[F].concat(M,[ee]):typeof M==`string`?F+M+ee:[F,M,ee]}var Tv=new Set([`area`,`base`,`br`,`col`,`command`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`meta`,`param`,`source`,`track`,`wbr`]);function Ev(e){return typeof e==`object`&&!!e&&typeof e.peek==`function`&&`value`in e}var Dv=0;function Ov(e){return e!=null&&e.length>0?e:(Dv+=1,`pst_ft_${Dv}`)}function kv({initialVisibleRowCount:e,itemHeight:t}){return e==null?420:Math.max(0,e)*(t??ou)}function Av(e){if(typeof document>`u`)return;let t=document.createElement(`div`);t.innerHTML=e;let n=t.querySelector(`svg`);return n instanceof SVGElement?n:void 0}function jv(e){return e.querySelector(`#file-tree-icon-chevron`)instanceof SVGElement&&e.querySelector(`#file-tree-icon-file`)instanceof SVGElement&&e.querySelector(`#file-tree-icon-dot`)instanceof SVGElement&&e.querySelector(`#file-tree-icon-lock`)instanceof SVGElement}function Mv(e){return Array.from(e.children).filter(e=>e instanceof SVGElement)}var Nv=class{static LoadedCustomComponent=!0;#e;#t;#n;#r;#i;#a;#o;#s;#c;#l=new W_;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y=null;#b;#x=!1;#S=!1;constructor(e){let{composition:t,density:n,fileTreeSearchMode:r,gitStatus:i,id:a,initialSearchQuery:o,icons:s,itemHeight:c,onSearchChange:l,onSelectionChange:u,overscan:d,renderRowDecoration:f,renaming:p,search:m,searchBlurBehavior:h,searchFakeFocus:g,stickyFolders:_,unsafeCSS:v,initialVisibleRowCount:y,...b}=e;this.#e=t,this.#n=Ov(a),this.#p=zm(i),this.#m=s,this.#h=v,this.#r=u,this.#i=f,this.#a=p!=null&&p!==!1,this.#o=h,this.#s=m===!0,this.#c=g===!0,this.#u=au(n,c),this.#d={itemHeight:this.#u.itemHeight,overscan:d,stickyFolders:_,initialVisibleRowCount:y},this.#t=new Pm({...b,fileTreeSearchMode:r,initialSearchQuery:o,onSearchChange:l,renaming:p}),this.#v=this.#t.getSelectionVersion(),this.#y=this.#r==null?null:this.subscribe(()=>{this.#D()})}unmount(){this.#b!=null&&(U_(this.#b),delete this.#b.dataset.fileTreeVirtualizedWrapper,this.#b=void 0),this.#l.clearAll(),this.#l.setHost(null),this.#f!=null&&(delete this.#f.dataset.fileTreeVirtualized,this.#I(this.#f),this.#f=void 0)}cleanUp(){this.unmount(),this.#y?.(),this.#y=null,this.#t.destroy()}getFileTreeContainer(){return this.#f}getItem(e){return this.#t.getItem(e)}getFocusedItem(){return this.#t.getFocusedItem()}getFocusedPath(){return this.#t.getFocusedPath()}getSelectedPaths(){return this.#t.getSelectedPaths()}getComposition(){return this.#e}getItemHeight(){return this.#u.itemHeight}getDensityFactor(){return this.#u.factor}subscribe(e){let t=!1;return this.#t.subscribe(()=>{if(!t){t=!0;return}e()})}focusPath(e){this.#t.focusPath(e)}focusNearestPath(e){return this.#t.focusNearestPath(e)}add(e){this.#t.add(e)}batch(e){this.#t.batch(e)}move(e,t,n){this.#t.move(e,t,n)}onMutation(e,t){return this.#t.onMutation(e,t)}setSearch(e){this.#t.setSearch(e)}openSearch(e){this.#t.openSearch(e)}closeSearch(){this.#t.closeSearch()}isSearchOpen(){return this.#t.isSearchOpen()}getSearchValue(){return this.#t.getSearchValue()}getSearchMatchingPaths(){return this.#t.getSearchMatchingPaths()}focusNextSearchMatch(){this.#t.focusNextSearchMatch()}focusPreviousSearchMatch(){this.#t.focusPreviousSearchMatch()}startRenaming(e,t){return this.#t.startRenaming(e,t)}remove(e,t){this.#t.remove(e,t)}resetPaths(e,t){this.#t.resetPaths(e,t)}setComposition(e){this.#e=e;let t=this.#T();t!=null&&(this.#O(),V_(t.wrapper,this.#w()))}setGitStatus(e){this.#p=zm(e,this.#p);let t=this.#T();t!=null&&V_(t.wrapper,this.#w())}setIcons(e){this.#m=e;let t=this.#T();t!=null&&(this.#E(t.host,t.wrapper),V_(t.wrapper,this.#w()))}hydrate({fileTreeContainer:e}){let t=this.#P(e),n=this.#N(t);this.#O(),H_(n,this.#w())}render({containerWrapper:e,fileTreeContainer:t}){let n=this.#P(t??this.#f,e),r=this.#N(n);this.#O(),V_(r,this.#w())}#C(){return{initialViewportHeight:kv({initialVisibleRowCount:this.#d.initialVisibleRowCount,itemHeight:this.#d.itemHeight}),itemHeight:this.#d.itemHeight,overscan:this.#d.overscan,stickyFolders:this.#d.stickyFolders}}#w(){return{composition:this.#e,controller:this.#t,gitStatusByPath:this.#p?.statusByPath,ignoredGitDirectories:this.#p?.ignoredDirectoryPaths,directoriesWithGitChanges:this.#p?.directoriesWithChanges,icons:this.#m,instanceId:this.#n,renamingEnabled:this.#a,renderRowDecoration:this.#i,searchBlurBehavior:this.#o,searchEnabled:this.#s,searchFakeFocus:this.#c,slotHost:this.#l,...this.#C()}}#T(){let e=this.#f,t=this.#b;return e==null||t==null?null:{host:e,wrapper:t}}#E(e,t){let n=e.shadowRoot;n!=null&&(this.#k(n),this.#A(n)),this.#j(t)}#D(){let e=this.#r;if(e==null)return;let t=this.#t.getSelectionVersion();t!==this.#v&&(this.#v=t,e(this.#t.getSelectedPaths()))}#O(){let e=this.#e?.header?.render;if(e!=null){this.#l.setSlotContent(Ic,e());return}this.#l.setSlotHtml(Ic,this.#e?.header?.html??null)}#k(e){let t=Mv(e).find(e=>jv(e)),n=Av(Ql(ru(this.#m).set));n!=null&&(t!=null&&t.outerHTML===n.outerHTML||(t==null?e.prepend(n):t.replaceWith(n)))}#A(e){let t=Mv(e),n=t.find(e=>jv(e)),r=t.filter(e=>e!==n),i=ru(this.#m).spriteSheet?.trim()??``;if(i.length===0){for(let e of r)e.remove();return}let a=Av(i);if(a==null){for(let e of r)e.remove();return}if(!(r.length===1&&r[0].outerHTML===a.outerHTML)){for(let e of r)e.remove();e.appendChild(a)}}#j(e){let t=ru(this.#m);t.colored&&eu(t.set)?e.dataset.fileTreeColoredIcons=`true`:delete e.dataset.fileTreeColoredIcons}#M(e){let t=e.querySelector(`style[${Mc}]`);if(this.#g==null&&t instanceof HTMLStyleElement&&(this.#g=t),this.#h==null||this.#h===``){this.#g?.remove(),this.#g=void 0,this.#_=void 0;return}this.#g?.parentNode===e&&this.#_===this.#h||(this.#g??=document.createElement(`style`),this.#g.setAttribute(Mc,``),this.#g.parentNode!==e&&e.appendChild(this.#g),this.#g.textContent=uu(this.#h),this.#_=this.#h)}#N(e){if(this.#b!=null)return this.#b;let t=e.shadowRoot;if(t==null)throw Error(`FileTree requires a shadow root`);let n=Array.from(t.children).filter(e=>e instanceof HTMLDivElement&&typeof e.dataset.fileTreeId==`string`&&e.dataset.fileTreeId.length>0),r=n.find(e=>e.dataset.fileTreeId===this.#n)??n[0];return r!=null&&(this.#n=r.dataset.fileTreeId??this.#n),this.#b=r??document.createElement(`div`),this.#b.dataset.fileTreeId=this.#n,this.#b.dataset.fileTreeVirtualizedWrapper=`true`,this.#E(e,this.#b),this.#b.parentNode!==t&&t.appendChild(this.#b),this.#b}#P(e,t){let n=e??this.#f??document.createElement(`file-tree-container`);t!=null&&n.parentNode!==t&&t.appendChild(n);let r=n.shadowRoot??n.attachShadow({mode:`open`});return gu(n,r),this.#M(r),n.dataset.fileTreeVirtualized=`true`,n.style.display=`flex`,this.#F(n),this.#l.setHost(n),this.#f=n,n}#F(e){e.style.getPropertyValue(`--trees-item-height`)===``&&(e.style.setProperty(`--trees-item-height`,`${String(this.#u.itemHeight)}px`),this.#x=!0),e.style.getPropertyValue(`--trees-density-override`)===``&&(e.style.setProperty(`--trees-density-override`,String(this.#u.factor)),this.#S=!0)}#I(e){this.#x&&=(e.style.removeProperty(`--trees-item-height`),!1),this.#S&&=(e.style.removeProperty(`--trees-density-override`),!1)}};function Pv(e){let t=(0,K.useRef)(null);return t.current??=new Nv(e),(0,K.useEffect)(()=>{let e=t.current;return()=>{e?.cleanUp(),t.current=null}},[]),{model:t.current}}var Fv={"--trees-accent-override":`var(--ring)`,"--trees-bg-muted-override":`color-mix(in srgb, var(--muted) 45%, transparent)`,"--trees-bg-override":`transparent`,"--trees-border-color-override":`var(--border)`,"--trees-fg-muted-override":`var(--muted-foreground)`,"--trees-fg-override":`var(--foreground)`,"--trees-focus-ring-color-override":`var(--ring)`,"--trees-font-family-override":`var(--font-sans)`,"--trees-font-size-override":`var(--text-sm)`,"--trees-item-margin-x-override":`0`,"--trees-padding-inline-override":`0`,"--trees-scrollbar-thumb-override":`color-mix(in srgb, var(--muted-foreground) 35%, transparent)`,"--trees-selected-bg-override":`color-mix(in srgb, var(--accent) 65%, transparent)`,"--trees-selected-fg-override":`var(--foreground)`,"--trees-selected-focused-border-color-override":`var(--ring)`,height:`100%`};function Iv({controller:e,filesError:n,isFilesLoading:r}){let{closeSearch:i,filteredFiles:a,isSearchOpen:o,loadedFiles:s,model:c,searchQuery:l,setSearchQuery:u}=e,d=gt(),f=(0,K.useRef)(null);(0,K.useEffect)(()=>{o&&f.current?.focus()},[o]);let p=(0,K.useMemo)(()=>({...Fv,colorScheme:d}),[d]),m;if(n){let e=ct({error:n,operation:`load_manager_storage`});m=(0,q.jsx)(vr,{message:(e?ft(e):null)??ht({error:n,fallbackMessage:`Failed to load manager workspace`,lifecycleOperation:`load_manager_storage`}),messageClassName:`text-destructive`})}else m=r&&s.length===0?(0,q.jsx)(vr,{icon:`Spinner`,message:`Loading files...`,iconClassName:`animate-spin`}):s.length===0?(0,q.jsx)(vr,{message:`No files yet.`}):a.length===0?(0,q.jsx)(vr,{message:`No files match search.`}):(0,q.jsx)(Wc,{"aria-label":`Thread storage file tree`,className:`block h-full min-h-0`,model:c,style:p});return(0,q.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-1`,children:[o?(0,q.jsxs)(`div`,{className:`flex h-7 shrink-0 items-center gap-2`,children:[(0,q.jsxs)(`div`,{className:`relative min-w-0 flex-1`,children:[(0,q.jsx)(t,{name:`Search`,className:`pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground`}),(0,q.jsx)(nt,{ref:f,"aria-label":`Search files`,className:`h-7 pl-7 pr-2 text-xs focus-visible:ring-0`,placeholder:`Search files`,value:l,onChange:e=>u(e.target.value),onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),i())}})]}),(0,q.jsx)(h,{type:`button`,variant:`ghost`,size:`icon`,className:`h-7 w-7 shrink-0 rounded-md p-0 text-muted-foreground`,"aria-label":`Close search`,onClick:i,children:(0,q.jsx)(t,{name:`X`,className:`size-3.5`})})]}):null,(0,q.jsx)(`div`,{className:`min-h-0 flex-1`,children:m})]})}function Lv(e){return e?.type===`standard`&&e.parentThreadId===null}function Rv({currentThreadId:e,isManagerThread:t,managerThreads:n,parentThreadDisplayName:r,parentThreadId:i}){if(!e||t)return[];let a=[{value:`none`,label:`None`}],o=new Set([`none`]),s=(t,n)=>{!t||t===e||o.has(t)||(o.add(t),a.push({value:t,label:n}))};s(i??void 0,r??`Manager`);for(let e of n)s(e.id,e.title?.trim()?e.title:`Manager`);return a}function zv({thread:e,projectId:n,parentThreadDisplayName:r,managerThreads:i,canAssignToManager:a,canTakeOverThread:o,updateThreadPending:s,onAssignManager:c,defaultOpen:l}){let u=e.type===`manager`,d=e.parentThreadId??void 0,f=(0,K.useMemo)(()=>Rv({currentThreadId:e.id,isManagerThread:u,managerThreads:i,parentThreadDisplayName:r,parentThreadId:d}),[u,i,r,d,e.id]),p=d??`none`,m=f.find(e=>e.value===p)?.label;return u||!d&&!a&&!o?null:(0,q.jsx)(Yr,{label:`Manager`,valueClassName:`min-w-0`,children:d?(0,q.jsxs)(`div`,{className:`inline-flex max-w-full min-w-0 items-center gap-1 text-xs text-foreground`,children:[(0,q.jsx)(Ke,{to:ur({projectId:n,threadId:d}),className:`min-w-0 truncate text-xs text-foreground no-underline transition-[text-decoration-color] duration-150 hover:underline hover:underline-offset-2`,children:m??`Manager`}),(0,q.jsx)(h,{type:`button`,variant:`ghost`,size:`icon`,className:`size-3.5 shrink-0 rounded-full p-0 text-muted-foreground hover:bg-transparent hover:text-foreground [&_svg]:size-3`,disabled:s,onClick:()=>{c(null)},"aria-label":`Unassign manager`,children:(0,q.jsx)(t,{name:`X`})})]}):(0,q.jsxs)(_e,{defaultOpen:l,children:[(0,q.jsx)(ve,{asChild:!0,children:(0,q.jsxs)(`div`,{role:`button`,tabIndex:s||f.length<=1&&p===`none`?-1:0,className:`inline-flex w-fit max-w-full min-w-0 items-center gap-1 rounded-md px-0 text-xs leading-tight text-foreground outline-none ring-sidebar-ring transition-colors hover:text-foreground focus-visible:ring-2`,children:[(0,q.jsx)(`span`,{className:`min-w-0 truncate text-xs text-foreground`,children:m??`None`}),(0,q.jsx)(t,{name:`ChevronDown`,className:`size-3.5 shrink-0 text-muted-foreground`})]})}),(0,q.jsxs)(xe,{align:`start`,className:`min-w-40 max-w-72`,children:[(0,q.jsx)(ye,{children:`Assign to manager`}),f.map(e=>(0,q.jsxs)(U,{onSelect:()=>{c(e.value===`none`?null:e.value)},className:`flex items-center justify-between gap-3`,children:[(0,q.jsx)(`span`,{className:`truncate`,title:e.label,children:e.label}),(0,q.jsx)(t,{name:`Check`,className:p===e.value?S(`opacity-100`,me):S(`opacity-0`,me)})]},e.value))]})]})})}function Bv({thread:e}){return e.type===`manager`?(0,q.jsx)(Yr,{label:`Kind`,valueClassName:`min-w-0 truncate`,children:`Manager`}):null}function Vv({environmentHost:e,environment:t,environmentIsLocal:n}){if(!e)return null;let r=t?n:void 0,i=e.status===`connected`;return(0,q.jsx)(Yr,{label:`Host`,valueClassName:`min-w-0 truncate`,children:(0,q.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,q.jsx)(`span`,{className:`truncate`,children:e.name}),r?(0,q.jsx)(Tt,{}):null,(0,q.jsx)(rr,{connected:i})]})})}function Hv({thread:e,environment:n,environmentHost:r,environmentIsLocal:i}){let a=sr({projectId:e.projectId,environmentId:n?.id??``});if(e.type===`manager`||!n)return null;let o=O({environment:n,isLocalHost:i,hostName:r?.name}),s=Uv(n);return(0,q.jsx)(Yr,{label:`Environment`,valueClassName:`min-w-0`,children:(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,children:[(0,q.jsx)(`span`,{className:`min-w-0 truncate`,children:o.modeLabel}),s?(0,q.jsx)(`button`,{type:`button`,"aria-label":`Create new thread in this worktree`,title:`New thread in this worktree`,onClick:a,className:`inline-flex shrink-0 items-center justify-center rounded-md p-0.5 text-muted-foreground transition-colors hover:bg-state-hover hover:text-foreground`,children:(0,q.jsx)(t,{name:`MessageSquarePlus`,className:`size-4`})}):null]})})}function Uv(e){return e.isWorktree||e.workspaceProvisionType===`managed-worktree`}function Wv(e){return e.workspaceProvisionType===`personal`?{rowLabel:`Workspace path`,copyLabel:`Copy workspace path`,successMessage:`Workspace path copied`,errorMessage:`Failed to copy workspace path`}:Uv(e)?{rowLabel:`Worktree path`,copyLabel:`Copy worktree path`,successMessage:`Worktree path copied`,errorMessage:`Failed to copy worktree path`}:null}function Gv({thread:e,environment:t}){if(e.type===`manager`||!t?.path)return null;let n=Wv(t);return n?(0,q.jsx)(Yr,{label:n.rowLabel,valueClassName:`min-w-0`,children:(0,q.jsx)(pt,{text:t.path,label:n.copyLabel,title:t.path,successMessage:n.successMessage,errorMessage:n.errorMessage})}):null}function Kv({thread:e,workspaceStatus:t}){let n=t?.branch.currentBranch??null;return e.type===`manager`||!n?null:(0,q.jsx)(Yr,{label:`Branch`,valueClassName:`min-w-0 truncate`,children:(0,q.jsx)(pt,{text:n,label:`Copy branch name`,successMessage:`Branch name copied`,errorMessage:`Failed to copy branch name`})})}function qv({thread:e,workspaceStatus:t,selectedMergeBaseBranch:n,mergeBaseBranchRef:r,mergeBaseBranchOptions:i,mergeBaseBranchOptionsTruncated:a,mergeBaseRemoteBranchOptions:o,isLoadingMergeBaseBranchOptions:s,onMergeBaseBranchChange:c,onMergeBaseBranchSearchQueryChange:l,defaultOpen:u}){let d=n??t?.mergeBase?.mergeBaseBranch??t?.branch.defaultBranch,f=d,p=(0,K.useMemo)(()=>Hn({mergeBaseBranch:f,mergeBaseBranchRef:r,mergeBaseBranchOptions:i,remoteMergeBaseBranchOptions:o}),[f,i,r,o]),m=p.options,h=p.remoteOptions,g=!!(d||t?.branch.defaultBranch),_=t?.branch.currentBranch!=null&&t.branch.currentBranch===t.branch.defaultBranch,v=g&&!!f&&!_;return e.type===`manager`||!v?null:(0,q.jsx)(Yr,{label:`Merge base`,valueClassName:`min-w-0 truncate`,children:f&&(m.length>0||h.length>0)&&f?(0,q.jsx)(Gn,{value:f,options:m,remoteOptions:h,selectedOptionKind:p.selectedOptionKind,optionsTruncated:a,variant:`minimal`,loading:s,onChange:c,onSearchQueryChange:l,className:`max-w-full`,defaultOpen:u}):f})}function Jv({thread:e,environment:t,workspaceStatus:n,workspaceStatusError:r,selectedMergeBaseBranch:i}){let a=e.type!==`manager`,o=t?.status===`destroyed`;if(!(a&&(n||r||o)&&!(e.archivedAt!=null&&t?.managed!==!0)))return null;let s=i??n?.mergeBase?.mergeBaseBranch??n?.branch.defaultBranch,c=Oa(n,{mergeBaseBranch:s,showBranchComparison:!!(s||n?.branch.defaultBranch),error:r,workspaceDeleted:o}),l=n?.workingTree.state===`untracked`?`text-muted-foreground`:`text-foreground`;return(0,q.jsx)(Yr,{label:`Git status`,align:`start`,valueClassName:`min-w-0`,children:(0,q.jsxs)(`div`,{className:`flex min-w-0 items-baseline gap-2 whitespace-nowrap`,title:`${c.label} ${c.summary}`,children:[(0,q.jsx)(`span`,{className:S(`shrink-0 font-medium`,l),children:c.label}),(0,q.jsx)(`span`,{className:`min-w-0 truncate text-muted-foreground`,children:c.summaryContent})]})})}function Yv({thread:e}){let t=Te(),n=t.isPending&&t.variables?.id===e.id,r=(0,K.useCallback)(()=>{t.mutate({id:e.id})},[e.id,t]);return e.archivedAt==null?null:(0,q.jsx)(Yr,{label:`Archived`,valueClassName:`min-w-0 truncate`,children:(0,q.jsx)(Qr,{isPending:n,onUnarchive:r,threadType:e.type})})}function Xv({thread:e,workspaceStatus:t,onChangedFileClick:n}){return e.type===`manager`?null:(0,q.jsx)(ia,{sections:ea(t),onFileClick:n,rowClassName:`min-h-0 flex-1`,rowValueClassName:`min-h-0 flex-1`,listClassName:`h-full`})}function Zv({controller:e,filesError:n,isFilesLoading:r}){let{isSearchOpen:i,openSearch:a}=e;return(0,q.jsx)(Yr,{orientation:`vertical`,className:`min-h-0 flex-1`,valueClassName:`min-h-0 flex-1 overflow-hidden`,labelClassName:`flex items-center justify-between gap-2`,label:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{children:`Manager workspace`}),i?null:(0,q.jsx)(h,{type:`button`,variant:`ghost`,size:`icon`,className:`h-5 w-5 shrink-0 rounded-md p-0 text-muted-foreground`,"aria-label":`Search files`,onClick:a,children:(0,q.jsx)(t,{name:`Search`,className:`size-3.5`})})]}),children:(0,q.jsx)(Iv,{controller:e,filesError:n,isFilesLoading:r})})}function Qv({thread:e,parentThreadDisplayName:t,environment:n,workspaceStatus:r,workspaceStatusError:i}){let a=e.type===`manager`,o=e.parentThreadId??void 0,s=!a,c=n?.status===`destroyed`,l=s&&(!!r||!!i||c)&&!(e.archivedAt!=null&&n?.managed!==!0),u=r?.branch.currentBranch??null,d=ea(r),f=s&&d.length>0;return!!(a||o||!a&&n||!a&&u||l||f||e.archivedAt!=null||t&&o)}function $v({hasFlexibleHeight:e,children:t}){return(0,q.jsx)(Jr,{appearance:`flat`,className:S(`h-full min-h-0`,e?`flex-1`:`shrink-0`),children:t})}function ey(e){let{thread:t,projectId:n,parentThreadDisplayName:r,managerThreads:i,canAssignToManager:a,canTakeOverThread:o,environmentHost:s,environmentIsLocal:c,environment:l,workspaceStatus:u,workspaceStatusError:d,selectedMergeBaseBranch:f,mergeBaseBranchRef:p,mergeBaseBranchOptions:m,mergeBaseBranchOptionsTruncated:h,mergeBaseRemoteBranchOptions:g,isLoadingMergeBaseBranchOptions:_,updateThreadPending:v,storage:y,onAssignManager:b,onMergeBaseBranchChange:x,onMergeBaseBranchSearchQueryChange:S,onChangedFileClick:C}=e;return(0,q.jsxs)($v,{hasFlexibleHeight:y!==void 0||t.type!==`manager`&&ea(u).length>0,children:[(0,q.jsx)(Bv,{thread:t}),(0,q.jsx)(zv,{thread:t,projectId:n,parentThreadDisplayName:r,managerThreads:i,canAssignToManager:a,canTakeOverThread:o,updateThreadPending:v,onAssignManager:b}),(0,q.jsx)(Vv,{environmentHost:s,environment:l,environmentIsLocal:c}),(0,q.jsx)(Hv,{thread:t,environment:l,environmentHost:s,environmentIsLocal:c}),(0,q.jsx)(Gv,{thread:t,environment:l}),(0,q.jsx)(Kv,{thread:t,workspaceStatus:u}),(0,q.jsx)(qv,{thread:t,workspaceStatus:u,selectedMergeBaseBranch:f,mergeBaseBranchRef:p,mergeBaseBranchOptions:m,mergeBaseBranchOptionsTruncated:h,mergeBaseRemoteBranchOptions:g,isLoadingMergeBaseBranchOptions:_,onMergeBaseBranchChange:x,onMergeBaseBranchSearchQueryChange:S}),(0,q.jsx)(Jv,{thread:t,environment:l,workspaceStatus:u,workspaceStatusError:d,selectedMergeBaseBranch:f}),(0,q.jsx)(Yv,{thread:t}),(0,q.jsx)(Xv,{thread:t,workspaceStatus:u,onChangedFileClick:C}),y?(0,q.jsx)(Zv,{...y}):null]})}function ty({children:e,className:t}){return(0,q.jsx)(`div`,{className:S(`flex min-w-0 flex-col gap-1`,t),children:e})}function ny({stopRequestedAt:e,threadId:t}){return{id:`${t}:pending-stop:${e}`,threadId:t,turnId:null,sourceSeqStart:0,sourceSeqEnd:0,startedAt:e,createdAt:e,kind:`system`,systemKind:`operation`,operationKind:`thread-interrupted`,title:`Stop requested`,detail:null,status:`pending`,completedAt:null}}function ry(e,t){return e.some(e=>e.kind===`system`&&e.systemKind===`operation`&&e.operationKind===`thread-interrupted`&&e.createdAt>=t)}function iy({rows:e,stopRequestedAt:t,threadId:n}){return(0,K.useMemo)(()=>t===null||ry(e,t)?e:[...e,ny({stopRequestedAt:t,threadId:n})],[e,t,n])}function ay({activeThinking:e,footer:t,hasOlderTimelineRows:n,header:r,hostConnectionNotice:i,isLoadingOlderTimelineRows:a,isThreadTimelinePending:o,timelineError:s,loadingTurnSummaryIds:c,erroredTurnSummaryIds:l,onLoadOlderRows:u,onLoadTurnSummaryRows:d,onOpenLocalFileLink:f,onTitleAction:p,projectId:m,showOngoingIndicator:h,ongoingIndicatorLabel:g,stopRequestedAt:_,timelineRows:v,threadId:y,threadRuntimeDisplayStatus:b,turnSummaryRowsIdentity:x,turnSummaryRowsById:S,unreadDividerAutoScroll:C,unreadDividerPlacement:w,workspaceRootPath:T}){let E=gt(),D=e!==null&&g===void 0,O=e?.text.trim()??``,k=D&&O.length>0?e?.text:void 0,A=D&&e?e.id:g??`working`,j=iy({rows:v,stopRequestedAt:_,threadId:y});return(0,q.jsxs)(`div`,{className:`flex h-full min-h-0 min-w-0 flex-col overflow-hidden`,children:[r,(0,q.jsx)(z,{scrollBehavior:`bottom-anchor`,shellClassName:`!mx-0 !mt-0 md:!mx-0 md:!mt-0`,contentClassName:`gap-2 pt-4`,footerClassName:`chat-prompt-box`,footer:t,children:(0,q.jsxs)(ty,{className:`flex-1`,children:[n&&!o&&!s?(0,q.jsx)(oy,{isLoadingOlderTimelineRows:a,onLoadOlderRows:u}):null,o?(0,q.jsx)(sy,{}):s?(0,q.jsx)(zr,{label:`Failed to load timeline`,className:`mt-6 text-destructive`}):j.length>0?(0,q.jsx)(Ot,{loadingTurnSummaryIds:c,erroredTurnSummaryIds:l,onLoadTurnSummaryRows:d,onOpenLocalFileLink:f,onTitleAction:p,projectId:m,resolveUserAttachmentImageSrc:Ir,themeType:E,timelineRows:j,threadRuntimeDisplayStatus:b,turnSummaryRowsIdentity:x,turnSummaryRowsById:S,unreadDividerAutoScroll:C,unreadDividerPlacement:w,workspaceRootPath:T}):null,i?(0,q.jsx)(zr,{label:i.label,className:i.tone===`error`?`mt-4 text-destructive`:`mt-4`}):null,(0,q.jsx)(hn,{visible:h,children:(0,q.jsx)(an,{details:k,isThinking:D,label:g},A)})]})},y)]})}function oy({isLoadingOlderTimelineRows:e,onLoadOlderRows:n}){let r=F();return(0,q.jsx)(`div`,{className:`flex justify-center pt-2 mb-3`,children:(0,q.jsxs)(h,{type:`button`,variant:`outline`,size:`sm`,onClick:(0,K.useCallback)(()=>{r?.captureScrollAnchor(),n()},[r,n]),disabled:e,children:[(0,q.jsx)(t,{name:`ChevronUp`,"aria-hidden":`true`}),e?`Loading older messages...`:`Load older messages`]})})}function sy(){let[e,t]=(0,K.useState)(!1);return(0,K.useEffect)(()=>{let e=window.setTimeout(()=>t(!0),200);return()=>window.clearTimeout(e)},[]),e?(0,q.jsx)(zr,{label:`Loading thread...`,className:`mt-6`}):null}var cy=100,ly=`duration-[220ms] ease-[cubic-bezier(0.32,0.72,0,1)]`;function uy({footer:e,header:t,isMetadataLoading:n,isSecondaryPanelOpen:r,metadata:i,onTerminalPanelResize:a,secondaryPanel:o,terminalPanel:s,terminalPanelHeightPercent:c,terminalPanelOpen:l,timeline:u}){let d=H(),f=$e(Aa),p=(0,K.useRef)(null),m=(0,K.useRef)(c),h=(0,K.useRef)(!1),g=(0,K.useRef)(!1);(0,K.useEffect)(()=>{h.current||(m.current=c)},[c]),(0,K.useEffect)(()=>{if(!g.current){g.current=!0;return}let e=p.current;e&&(l?e.expand(m.current):e.collapse())},[l]);let _=(0,K.useCallback)(()=>{let e=m.current;e<=0||a(e)},[a]),v=(0,K.useCallback)(e=>{e<=0||(m.current=e,h.current||a(e))},[a]),y=(0,K.useCallback)(e=>{h.current=e,e||_()},[_]),b=Qv(i)?(0,q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,children:(0,q.jsx)(ey,{...i})}):n?(0,q.jsx)(py,{}):(0,q.jsx)(`div`,{className:`pt-1 text-sm text-muted-foreground`,children:`No thread details available.`}),x=d?null:(0,q.jsx)(Ec,{...o,renderAsDrawer:!1,metadataContent:b}),C=d?(0,q.jsx)(Ec,{...o,renderAsDrawer:!0,metadataContent:b}):null;return(0,q.jsxs)(`div`,{className:`-mx-4 -mb-4 -mt-4 flex h-full min-h-0 min-w-0 flex-1 flex-col overflow-hidden md:-mx-5 md:-mb-5 md:-mt-5`,children:[(0,q.jsxs)(us.PanelGroup,{direction:`vertical`,className:`h-full w-full min-w-0`,children:[(0,q.jsx)(us.Panel,{id:`thread-detail-main-panel`,defaultSize:l?100-c:100,minSize:30,order:1,className:`min-w-0 overflow-hidden`,children:(0,q.jsxs)(us.PanelGroup,{direction:`horizontal`,className:`h-full w-full min-w-0`,children:[(0,q.jsx)(us.Panel,{id:`thread-detail-timeline-panel`,defaultSize:r&&!d?100-f:cy,minSize:30,order:1,className:`min-w-0 overflow-hidden`,children:(0,q.jsx)(ay,{...u,footer:e,header:t})}),x]})}),s?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(dy,{isOpen:l,onDragging:y}),(0,q.jsx)(us.Panel,{ref:p,id:`thread-detail-terminal-panel`,collapsible:!0,collapsedSize:0,defaultSize:l?c:0,minSize:18,maxSize:70,order:2,onResize:v,className:S(`min-h-0 min-w-0 overflow-hidden transition-[flex-grow,flex-basis,opacity]`,ly,l?`opacity-100`:`opacity-0`),children:s})]}):null]},u.threadId),d?(0,q.jsx)(ge,{open:r,onOpenChange:e=>{e||o.onClose()},srLabel:`Thread details`,contentClassName:`h-[92dvh] max-h-[92dvh]`,handleOnly:!0,children:(0,q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,children:C})}):null]})}function dy({isOpen:e,onDragging:t}){return(0,q.jsx)(us.PanelResizeHandle,{id:`thread-detail-terminal-panel-handle`,disabled:!e,onDragging:t,className:S(`group relative shrink-0 cursor-row-resize overflow-visible bg-transparent transition-[height,opacity,background-color]`,ly,`before:absolute before:-inset-y-1.5 before:inset-x-0 before:content-['']`,e?`h-px opacity-100`:`pointer-events-none h-0 opacity-0`),"aria-label":`Resize thread and terminal panels`,children:(0,q.jsx)(`span`,{className:`pointer-events-none absolute inset-x-0 top-1/2 h-px -translate-y-1/2 bg-border transition-colors group-hover:bg-accent-foreground/35`})})}var fy=[`w-40`,`w-28`,`w-36`,`w-24`];function py(){return(0,q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,children:(0,q.jsx)($v,{hasFlexibleHeight:!1,children:fy.map((e,t)=>(0,q.jsxs)(`div`,{className:`grid grid-cols-[var(--detail-label-width,96px)_minmax(0,1fr)] items-center gap-x-3 py-0.5`,children:[(0,q.jsx)(dn,{className:`h-3 w-14 rounded-sm`}),(0,q.jsx)(dn,{className:`h-3 ${e} max-w-full rounded-sm`})]},t))})})}function my(e){return e!==void 0&&e.length>0}function hy({closePersistedPanel:e,isCompactViewport:t,isPersistedOpen:n,openPersistedDiffFile:r,openPersistedDiffPanel:i,openPersistedPanel:a,threadId:o,togglePersistedPanel:s}){let[c,l]=(0,K.useState)(null);(0,K.useEffect)(()=>{l(null)},[o]),(0,K.useEffect)(()=>{t||l(null)},[t]);let u=(0,K.useCallback)(()=>{my(o)&&l(o)},[o]),d=(0,K.useCallback)(()=>{l(e=>e===o?null:e)},[o]),f=my(o)&&c===o,p=t?f:n,m=(0,K.useCallback)(e=>{a(e),t&&u()},[t,u,a]),h=(0,K.useCallback)(()=>{i(),t&&u()},[t,u,i]),g=(0,K.useCallback)(e=>{r(e),t&&u()},[t,u,r]),_=(0,K.useCallback)(()=>{if(t){d();return}e()},[d,e,t]),v=(0,K.useCallback)(()=>{if(!t){s();return}if(f){d();return}u()},[d,t,f,u,s]);return(0,K.useMemo)(()=>({closePanel:_,isOpen:p,openDiffFile:g,openDiffPanel:h,openPanel:m,togglePanel:v}),[_,p,g,h,m,v])}function gy({activePath:e,fileListEnabled:t=!0,fileListOptions:n=fe,filePreviewEnabled:r=!0,threadId:i,threadType:a}){let o=a===`manager`,{data:s,isLoading:c,error:l,refetch:u}=Me(i??``,n,{enabled:o&&t}),{data:d,isLoading:f,error:p}=Ie(i??``,e,{enabled:o&&r&&e!==null});return{isThreadStorageFilePreviewLoading:f,isThreadStorageFilesLoading:c,threadStorageFilePreview:d,threadStorageFilePreviewError:p,threadStorageFilesError:l,threadStorageFiles:s,threadStorageRootPath:s?.storageRootPath??null,refetchThreadStorageFiles:u}}var _y=8;function vy(e){return e.entryKind===`file`}function yy(e){return{source:e.source,entryKind:`file`,path:e.path,name:e.name,score:e.score,positions:e.positions}}function by(e){let t=e.limit??_y,n=_r({projectId:e.projectId,query:e.query,limit:t,environmentId:e.environmentId,currentThreadId:e.currentThreadId,currentThreadType:e.currentThreadType,includeDirectories:!1}),r=(0,K.useMemo)(()=>n.suggestions.filter(vy).map(yy),[n.suggestions]),i=!!e.projectId,a=e.currentThreadType===`manager`&&!!e.currentThreadId;return{suggestions:r,isLoading:n.isLoading,isError:n.isError,isDebouncing:n.isDebouncing,isUnavailable:!i&&!a}}var xy=20,Sy=[`workspace`,`thread-storage`],Cy={workspace:`Workspace`,"thread-storage":`Manager Storage`};function wy({projectId:e,currentThreadId:t,currentThreadType:n}){let r=[];return e&&r.push(`workspace`),n===`manager`&&t.length>0&&r.push(`thread-storage`),r}function Ty(e){return`file-search-result-${e.source}-${encodeURIComponent(e.path)}`}function Ey(e){let t=e.lastIndexOf(`/`);return t===-1?{name:e,directory:``}:{name:e.slice(t+1),directory:e.slice(0,t)}}function Dy(e){return`${Cy[e.source]}: ${e.path}`}function Oy({availableSources:e,suggestions:t}){let n=new Set(e),r=new Map;for(let e of t){let t=e.source;if(!n.has(t))continue;let i=r.get(t);if(i){i.items.push({suggestion:e,index:i.items.length});continue}r.set(t,{source:t,label:Cy[t],items:[{suggestion:e,index:0}]})}let i=0;return Sy.flatMap(e=>{let t=r.get(e);return t?[{...t,items:t.items.map(({suggestion:e})=>{let t=i;return i+=1,{suggestion:e,index:t}})}]:[]})}function ky({iconName:e,iconClassName:n,message:r}){return(0,q.jsx)(`div`,{className:`flex min-h-24 items-center justify-center rounded-md border border-dashed border-border bg-surface-raised px-3 py-6 text-center text-sm text-muted-foreground`,children:(0,q.jsxs)(`div`,{className:`flex max-w-64 flex-col items-center gap-2`,children:[(0,q.jsx)(t,{name:e,className:S(`size-4`,n)}),(0,q.jsx)(`p`,{children:r})]})})}function Ay({id:e,suggestion:n,isActive:r,onActivate:i,onSelect:a}){let{directory:o}=Ey(n.path),s=o||null;return(0,q.jsx)(`button`,{type:`button`,id:e,role:`option`,"aria-selected":r,onClick:(0,K.useCallback)(()=>{a(n)},[a,n]),onMouseEnter:i,title:Dy(n),className:S(`w-full scroll-mt-7 rounded px-2 py-1.5 text-left text-xs transition-colors`,r?`bg-state-active`:`hover:bg-state-hover`),children:(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,q.jsx)(t,{name:`File`,className:`size-3.5 shrink-0 text-muted-foreground`,"aria-hidden":!0}),(0,q.jsx)(`span`,{className:`truncate`,children:n.name}),s===null?null:(0,q.jsx)(wr,{className:`text-muted-foreground [flex-shrink:9999]`,children:s})]})})}function jy({projectId:e,environmentId:n,currentThreadId:r,currentThreadType:i,focusRequest:a,initialQuery:o=``,onSelect:s}){let c=(0,K.useRef)(null),[l,u]=(0,K.useState)(o),[d,f]=(0,K.useState)(-1),p=l.trim().length>0,{suggestions:m,isLoading:h,isError:g,isDebouncing:_,isUnavailable:v}=by({projectId:e,query:l,limit:xy,environmentId:n,currentThreadId:r,currentThreadType:i}),y=(0,K.useMemo)(()=>wy({projectId:e,currentThreadId:r,currentThreadType:i}),[r,i,e]),b=(0,K.useMemo)(()=>Oy({availableSources:y,suggestions:m}),[y,m]),x=(0,K.useMemo)(()=>b.flatMap(e=>e.items.map(({suggestion:e})=>e)),[b]),C=(0,K.useMemo)(()=>d>=0&&d<x.length?x[d]??null:null,[d,x]);(0,K.useEffect)(()=>{c.current?.focus();let e=requestAnimationFrame(()=>{c.current?.focus()});return()=>cancelAnimationFrame(e)},[a]),(0,K.useEffect)(()=>{f(x.length>0?0:-1)},[x]);let w=(0,K.useCallback)(e=>{s({source:e.source,path:e.path})},[s]),T=(0,K.useCallback)(e=>{if(x.length!==0){if(e.key===`ArrowDown`){e.preventDefault(),f(e=>(e+1)%x.length);return}if(e.key===`ArrowUp`){e.preventDefault(),f(e=>e<=0?x.length-1:e-1);return}e.key===`Enter`&&C&&(e.preventDefault(),w(C))}},[C,w,x.length]);return(0,q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-2`,children:[(0,q.jsxs)(`div`,{className:`relative`,children:[(0,q.jsx)(t,{name:`Search`,className:`pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground`}),(0,q.jsx)(nt,{ref:c,value:l,onChange:e=>u(e.target.value),onKeyDown:T,disabled:v,"aria-label":`Search files`,"aria-activedescendant":C?Ty(C):void 0,placeholder:v?`No searchable source`:`Search files`,className:`h-8 pl-8 pr-8 text-xs focus-visible:ring-0`}),_?(0,q.jsx)(t,{name:`Spinner`,className:`pointer-events-none absolute right-2.5 top-1/2 size-3.5 -translate-y-1/2 animate-spin text-muted-foreground`}):null]}),v?(0,q.jsx)(ky,{iconName:`FileQuestion`,message:`No searchable file source is available.`}):g?(0,q.jsx)(ky,{iconName:`AlertCircle`,message:`File search failed.`}):h?(0,q.jsx)(ky,{iconName:`Spinner`,iconClassName:`animate-spin`,message:`Searching files...`}):b.length>0?(0,q.jsx)(`div`,{role:`listbox`,"aria-label":`File search results`,className:`min-h-0 flex-1 overflow-y-auto pb-1`,children:b.map((e,t)=>(0,q.jsxs)(`div`,{className:S(t>0&&`mt-2`),children:[(0,q.jsx)(`div`,{className:S(`sticky top-0 z-10 bg-background px-2 pb-1 text-xs text-muted-foreground`,t===0?`pt-0`:`pt-1.5`),children:e.label}),(0,q.jsx)(`div`,{className:`flex flex-col gap-px`,children:e.items.map(({suggestion:e,index:t})=>(0,q.jsx)(Ay,{id:Ty(e),suggestion:e,isActive:t===d,onActivate:()=>f(t),onSelect:w},`${e.source}:${e.path}`))})]},e.source))}):(0,q.jsx)(ky,{iconName:p?`FileQuestion`:`File`,message:p?`No files match.`:`Type to search files.`})]})}function My(e){return(0,q.jsx)(`div`,{className:`flex min-h-full flex-col gap-3 px-4 pt-1`,children:(0,q.jsx)(jy,{...e})})}var Ny=[];function Py(e){let t=new Set;for(let n of e){let e=n.split(`/`).filter(e=>e.length>0),r=``;for(let n of e.slice(0,-1))r=`${r}${n}/`,t.add(r)}return Array.from(t)}function Fy({files:e,onSelectPath:t,selectedPath:n}){let[r,i]=(0,K.useState)(!1),[a,o]=(0,K.useState)(``),s=e??Ny,c=(0,K.useMemo)(()=>{let e=a.trim().toLowerCase();return e.length===0?s:s.filter(t=>t.path.toLowerCase().includes(e))},[s,a]),l=(0,K.useMemo)(()=>c.map(e=>e.path),[c]),u=(0,K.useMemo)(()=>new Set(l),[l]),d=(0,K.useRef)(u),f=(0,K.useRef)(t),p=(0,K.useRef)(!1);(0,K.useEffect)(()=>{d.current=u},[u]),(0,K.useEffect)(()=>{f.current=t},[t]);let{model:m}=Pv({density:`compact`,initialExpansion:`closed`,onSelectionChange:(0,K.useCallback)(e=>{if(p.current)return;let t=e[0];!t||!d.current.has(t)||f.current(t)},[]),paths:[],search:!1}),h=a.trim().length>0,g=(0,K.useMemo)(()=>h?Py(l):[],[h,l]);(0,K.useEffect)(()=>{m.resetPaths(l,{initialExpandedPaths:g})},[g,l,m]),(0,K.useEffect)(()=>{let e=m.getSelectedPaths(),t=n!==null&&u.has(n);if(!(t?e.length===1&&e[0]===n:e.length===0)){p.current=!0;try{for(let r of e)t&&r===n||m.getItem(r)?.deselect();t&&m.getItem(n)?.select()}finally{p.current=!1}}},[u,m,n]);let _=(0,K.useCallback)(()=>{i(!0)},[]);return{closeSearch:(0,K.useCallback)(()=>{i(!1),o(``)},[]),filteredFiles:c,isSearchOpen:r,loadedFiles:s,model:m,openSearch:_,searchQuery:a,setSearchQuery:o}}var Iy=`bb.thread.fixedPanelTabsState`,Ly=336*60*60*1e3,Ry=`thread-info`,zy=`git-diff`,By=`new-tab`,Vy=r(`kind`,[o({kind:V(`working-tree`)}).strict(),o({kind:V(`head`)}).strict(),o({kind:V(`merge-base`),ref:g().min(1)}).strict()]),Hy=V(`deleted`).nullable(),Uy=o({id:V(Ry),kind:V(`thread-info`)}).strict(),Wy=o({id:V(zy),kind:V(`git-diff`)}).strict(),Gy=o({environmentId:g().min(1).nullable(),id:g().min(1),kind:V(`workspace-file-preview`),lineNumber:y().int().positive().nullable(),path:g().min(1),source:Vy,statusLabel:Hy}).strict(),Ky=o({id:g().min(1),kind:V(`host-file-preview`),lineNumber:y().int().positive().nullable(),path:g().min(1)}).strict(),qy=o({id:g().min(1),isPinned:ce(),kind:V(`thread-storage-file-preview`),path:g().min(1)}).strict(),Jy=o({id:V(By),kind:V(`new-tab`)}).strict(),Yy=o({id:g().min(1),kind:V(`terminal`),terminalId:g().min(1)}).strict(),Xy=r(`kind`,[Uy,Wy,Gy,Ky,qy,Jy]),Zy=r(`kind`,[Yy]),Qy=o({tabs:D(Xy),activeTabId:g().min(1).nullable(),isOpen:ce()}).strict(),$y=o({tabs:D(Xy),activeTabId:g().min(1).nullable()}).strict(),eb=o({tabs:D(Zy),activeTabId:g().min(1).nullable()}).strict(),tb=o({version:V(1),secondary:Qy,bottom:eb,lastUsedAt:y().int().nonnegative()}).strict(),nb=o({version:V(1),secondary:$y,bottom:eb,lastUsedAt:y().int().nonnegative()}).strict();function rb(){return typeof window>`u`?null:window.localStorage}function ib(e){return encodeURIComponent(e.trim())}function ab(e,t){return`${e}:${encodeURIComponent(t)}`}function ob(){return{id:Ry,kind:`thread-info`}}function sb(){return{id:zy,kind:`git-diff`}}function cb({environmentId:e,tab:t}){return{environmentId:e,id:ab(`workspace-file-preview`,t.path),kind:`workspace-file-preview`,lineNumber:t.lineNumber,path:t.path,source:t.source,statusLabel:t.statusLabel}}function lb(e){return{id:ab(`host-file-preview`,e.path),kind:`host-file-preview`,lineNumber:e.lineNumber,path:e.path}}function ub({isPinned:e,path:t}){return{id:ab(`thread-storage-file-preview`,t),isPinned:e,kind:`thread-storage-file-preview`,path:t}}function db(){return{id:By,kind:`new-tab`}}function fb({terminalId:e}){return{id:`terminal:${encodeURIComponent(e)}`,kind:`terminal`,terminalId:e}}function pb(e,t){return e===`bottom`?t.kind===`terminal`:t.kind!==`terminal`}function mb(e){return e.kind===`new-tab`}function hb({group:e,region:t}){let n=new Set,r=[];for(let i of e.tabs)mb(i)||!pb(t,i)||n.has(i.id)||(n.add(i.id),r.push(i));return{tabs:r,activeTabId:e.activeTabId!==null&&n.has(e.activeTabId)?e.activeTabId:null}}function gb(e){return{...hb({group:e,region:`secondary`}),isOpen:e.isOpen}}function _b({state:e}){return{...e,secondary:gb(e.secondary),bottom:hb({group:e.bottom,region:`bottom`})}}function vb(e={}){return _b({state:{version:1,secondary:e.secondary??{tabs:[],activeTabId:null,isOpen:!1},bottom:e.bottom??{tabs:[],activeTabId:null},lastUsedAt:e.lastUsedAt??0}})}var yb=vb();function bb({threadId:e}){return`${Iy}-${ib(e)}-1`}function xb(e){return e.startsWith(`bb.thread.fixedPanelTabsState-`)&&e.endsWith(`-1`)}function Sb({now:e,state:t}){return e-t.lastUsedAt>Ly}function Cb({initialValue:e,now:t,storedValue:n}){return wb({initialValue:e,now:t,storedValue:n}).state}function wb({initialValue:e,now:t,storedValue:n}){if(n===null)return{shouldPrune:!1,state:e};let r;try{r=JSON.parse(n)}catch{return{shouldPrune:!0,state:e}}let i=tb.safeParse(r);if(i.success){let n=_b({state:i.data});return Sb({now:t,state:n})?{shouldPrune:!0,state:e}:{shouldPrune:!1,state:n}}let a=nb.safeParse(r);if(!a.success)return{shouldPrune:!0,state:e};let o=_b({state:{...a.data,secondary:{...a.data.secondary,isOpen:a.data.secondary.activeTabId!==null}}});return Sb({now:t,state:o})?{shouldPrune:!0,state:e}:{shouldPrune:!1,state:o}}function Tb({state:e}){return JSON.stringify(_b({state:e}))}function Eb({now:e}){let t=rb();if(!t)return;let n=[];for(let e=0;e<t.length;e+=1){let r=t.key(e);r&&xb(r)&&n.push(r)}for(let r of n)wb({initialValue:yb,now:e,storedValue:t.getItem(r)}).shouldPrune&&t.removeItem(r)}function Db(e,t){if(e.id!==t.id||e.kind!==t.kind)return!1;switch(e.kind){case`thread-info`:case`git-diff`:case`new-tab`:return!0;case`workspace-file-preview`:return t.kind===`workspace-file-preview`&&e.environmentId===t.environmentId&&e.lineNumber===t.lineNumber&&e.path===t.path&&A(e.source,t.source)&&e.statusLabel===t.statusLabel;case`host-file-preview`:return t.kind===`host-file-preview`&&e.lineNumber===t.lineNumber&&e.path===t.path;case`thread-storage-file-preview`:return t.kind===`thread-storage-file-preview`&&e.isPinned===t.isPinned&&e.path===t.path;case`terminal`:return t.kind===`terminal`&&e.terminalId===t.terminalId}}var Ob=`secondaryPanel`,kb=`git-diff`,Ab=`thread-info`;function jb(e){switch(e){case kb:return`git-diff`;case Ab:return`thread-info`;default:return null}}function Mb(e){return jb(new URLSearchParams(e).get(Ob))}function Nb(e,t){let n=new URLSearchParams(e);return t?n.set(Ob,t):n.delete(Ob),n.toString()}var Pb=60*1e3;function Fb(e){return e!=null&&e.length>0}function Ib(e,t){return{...e,lastUsedAt:t}}var Lb=vt({parse:(e,t)=>Cb({initialValue:t,now:Date.now(),storedValue:e}),serialize:e=>Tb({state:e})}),Rb=ot(yb),zb=_t(e=>st(bb({threadId:e}),yb,Lb,{getOnInit:!0}));function Bb(e){return Fb(e)?zb(e):Rb}function Vb(e){switch(e){case`thread-info`:return ob().id;case`git-diff`:return sb().id}}function Hb(e){switch(e){case`thread-info`:return ob();case`git-diff`:return sb()}}function Ub(e){let t=e.bottom.activeTabId;if(t===null)return null;let n=e.bottom.tabs.find(e=>e.id===t);return n?.kind===`terminal`?n:null}function Wb(e,t){let n=fb({terminalId:t});return e.find(e=>e.id===n.id)?e:[...e,n]}function Gb(e,t){let n=fb({terminalId:t}),r=e.filter(e=>e.id!==n.id);return r.length===e.length?e:r}function Kb(e,t){let n=Vb(t);return e.some(e=>e.id===n)?e:[...e,Hb(t)]}function qb(e,t){return t!==null&&e.some(e=>e.id===t)}function Jb(e){if(qb(e.secondary.tabs,e.secondary.activeTabId))return e.secondary.isOpen?e:{...e,secondary:{...e.secondary,isOpen:!0}};let t=`thread-info`,n=Kb(e.secondary.tabs,t),r=Vb(t);return{...e,secondary:{tabs:n,activeTabId:r,isOpen:!0}}}function Yb(e){return e.secondary.isOpen?{...e,secondary:{...e.secondary,isOpen:!1}}:e}function Xb(e){(0,K.useEffect)(()=>{Eb({now:Date.now()})},[e])}function Zb(e){return $e(Bb(e))}function Qb(e){let t=Qe(Bb(e));return(0,K.useCallback)(n=>{if(!Fb(e))return;let r=Date.now();t(e=>{let t=n(e);return t===e?e:Ib(t,r)})},[t,e])}function $b(e){let t=Qb(e),n=(0,K.useRef)(null);return(0,K.useCallback)(()=>{let r=Date.now();n.current!==null&&n.current.threadId===e&&r-n.current.touchedAt<Pb||(n.current={threadId:e,touchedAt:r},t(e=>!e.secondary.isOpen&&e.secondary.tabs.length===0&&e.bottom.tabs.length===0||r-e.lastUsedAt<Pb?e:{...e}))},[e,t])}function ex(e){let t=Qb(e);return(0,K.useCallback)(e=>{t(t=>{let n=Kb(t.secondary.tabs,e),r=Vb(e);return n===t.secondary.tabs&&t.secondary.activeTabId===r&&t.secondary.isOpen?t:{...t,secondary:{tabs:n,activeTabId:r,isOpen:!0}}})},[t])}function tx(e){let t=Qb(e);return(0,K.useCallback)(()=>{t(Yb)},[t])}function nx(e){let t=Qb(e);return(0,K.useCallback)(()=>{t(e=>e.secondary.isOpen?Yb(e):Jb(e))},[t])}function rx(e,t){let n=Ge(),r=Xe();(0,K.useEffect)(()=>{if(!Fb(e))return;let i=Mb(n.search);if(i===null)return;t(i);let a=Nb(n.search,null);r({pathname:n.pathname,search:a.length>0?`?${a}`:``},{replace:!0})},[n.pathname,n.search,r,t,e])}function ix(e){return Ub(Zb(e))?.terminalId??null}function ax(e){let t=Qb(e);return(0,K.useCallback)(e=>{t(t=>{if(e===null)return t.bottom.activeTabId===null?t:{...t,bottom:{...t.bottom,activeTabId:null}};let n=Wb(t.bottom.tabs,e),r=fb({terminalId:e}).id;return n===t.bottom.tabs&&t.bottom.activeTabId===r?t:{...t,bottom:{tabs:n,activeTabId:r}}})},[t])}function ox(e){let t=Qb(e);return(0,K.useCallback)(e=>{t(t=>{let n=Gb(t.bottom.tabs,e);if(n===t.bottom.tabs)return t;let r=t.bottom.activeTabId===fb({terminalId:e}).id;return{...t,bottom:{tabs:n,activeTabId:r?null:t.bottom.activeTabId}}})},[t])}function sx(e){return e.kind===`workspace-file-preview`}function cx(e){return e.kind===`host-file-preview`}function lx(e){return e.kind===`thread-storage-file-preview`}function ux(e){return e.kind===`new-tab`}function dx(e){let t=e.secondary.activeTabId;return t===null?null:e.secondary.tabs.find(e=>e.id===t)??null}function fx({activeTabId:e,isOpen:t,state:n,tabs:r}){return r===n.secondary.tabs&&e===n.secondary.activeTabId&&t===n.secondary.isOpen?n:{...n,secondary:{tabs:r,activeTabId:e,isOpen:t}}}function px(e,t){let n=e.filter(e=>!lx(e)||e.path===t||!We(e.path));return n.length===e.length?e:n}function mx(e,t){let n=e.findIndex(e=>e.id===t.id);if(n===-1)return[...e,t];let r=e[n];return r&&Db(r,t)?e:e.map(e=>e.id===t.id?t:e)}function hx(e,t){let n=e.filter(e=>e.id!==t);return n.length===e.length?e:n}function gx(e,t){let n=e.filter(e=>!sx(e)||e.environmentId===t);return n.length===e.length?e:n}function _x(e){let t=e.filter(e=>!lx(e));return t.length===e.length?e:t}function vx(e,t){let n=e.filter(e=>!lx(e)||t.has(e.path));return n.length===e.length?e:n}function yx(e,t){return t!==null&&e.some(e=>e.id===t)}function bx(e,t){let n=Ee(e);return ub({isPinned:n===t,path:n})}function xx(e,t){return wx(e,t)?.id??bx(t,t).id}function Sx(e,t){for(let n of e)if(sx(n)&&n.path===t)return n;return null}function Cx(e,t){for(let n of e)if(cx(n)&&n.path===t)return n;return null}function wx(e,t){for(let n of e)if(lx(n)&&n.path===t)return n;return null}function Tx(e){for(let t of e)if(ux(t))return t;return null}function Ex({nextTab:e,state:t}){let n=Tx(t.secondary.tabs),r=n===null?t.secondary.tabs:hx(t.secondary.tabs,n.id),i=r.find(t=>t.id===e.id);if(i)return fx({activeTabId:i.id,isOpen:!0,state:t,tabs:r});let a=n===null?mx(r,e):t.secondary.tabs.map(t=>t.id===n.id?e:t);return fx({activeTabId:e.id,isOpen:!0,state:t,tabs:a})}function Dx(e){return e.kind===`thread-storage-file-preview`&&e.isPinned}function Ox({tabs:e,resolvedEnvironmentId:t,isManagerThread:n}){let r=[];for(let i of e)switch(i.kind){case`workspace-file-preview`:t!==void 0&&i.environmentId===t&&r.push(i);break;case`host-file-preview`:case`new-tab`:r.push(i);break;case`thread-storage-file-preview`:n&&r.push(i);break;case`thread-info`:case`git-diff`:case`terminal`:break}return[...r.filter(Dx),...r.filter(e=>!Dx(e))]}function kx({threadId:e,environmentId:t,threadType:n,storageFiles:r}){let i=Zb(e),a=Qb(e),o=n!==void 0,s=n===`manager`,c=Ce(r),l=o?t??null:void 0;(0,K.useEffect)(()=>{l!==void 0&&a(e=>{let t=gx(e.secondary.tabs,l);return fx({activeTabId:yx(t,e.secondary.activeTabId)?e.secondary.activeTabId:null,isOpen:e.secondary.isOpen,state:e,tabs:t})})},[l,a]),(0,K.useEffect)(()=>{o&&(s||a(e=>{let t=_x(e.secondary.tabs);return fx({activeTabId:yx(t,e.secondary.activeTabId)?e.secondary.activeTabId:null,isOpen:e.secondary.isOpen,state:e,tabs:t})}))},[s,o,a]),(0,K.useEffect)(()=>{s&&a(e=>{let t=bx(c,c),n=mx(px(e.secondary.tabs,c),t);return fx({activeTabId:yx(n,e.secondary.activeTabId)?e.secondary.activeTabId:t.id,isOpen:e.secondary.isOpen,state:e,tabs:n})})},[i.secondary.activeTabId,i.secondary.tabs,s,c,a]),(0,K.useEffect)(()=>{!o||!r||s&&a(e=>{let t=new Set([c,...r.map(e=>e.path)]),n=vx(e.secondary.tabs,t);return fx({activeTabId:yx(n,e.secondary.activeTabId)?e.secondary.activeTabId:xx(n,c),isOpen:e.secondary.isOpen,state:e,tabs:n})})},[s,o,c,r,a]);let u=(0,K.useCallback)(({lineNumber:e,path:t,source:n,statusLabel:r})=>{if(l===void 0)return;let i=cb({environmentId:l,tab:{lineNumber:e,path:t,source:n,statusLabel:r}});a(a=>{let o=Sx(a.secondary.tabs,t),s=mx(a.secondary.tabs,i);return o&&o.environmentId===l&&o.lineNumber===e&&A(o.source,n)&&o.statusLabel===r&&a.secondary.activeTabId===i.id&&a.secondary.isOpen?a:fx({activeTabId:i.id,isOpen:!0,state:a,tabs:s})})},[l,a]),d=(0,K.useCallback)(e=>{a(t=>{let n=Sx(t.secondary.tabs,e);if(!n)return t;let r=hx(t.secondary.tabs,n.id);return fx({activeTabId:t.secondary.activeTabId===n.id?null:t.secondary.activeTabId,isOpen:t.secondary.isOpen,state:t,tabs:r})})},[a]),f=(0,K.useCallback)(e=>{a(t=>{let n=Sx(t.secondary.tabs,e);return!n||t.secondary.activeTabId===n.id&&t.secondary.isOpen?t:fx({activeTabId:n.id,isOpen:!0,state:t,tabs:t.secondary.tabs})})},[a]),p=(0,K.useCallback)(e=>{if(!s)return;let t=bx(e,c);a(e=>{let n=mx(e.secondary.tabs,t);return n===e.secondary.tabs&&e.secondary.activeTabId===t.id&&e.secondary.isOpen?e:fx({activeTabId:t.id,isOpen:!0,state:e,tabs:n})})},[s,c,a]),m=(0,K.useCallback)(({lineNumber:t,path:n})=>{if(!e)return;let r=lb({lineNumber:t,path:n});a(e=>{let i=Cx(e.secondary.tabs,n),a=mx(e.secondary.tabs,r);return i&&i.lineNumber===t&&e.secondary.activeTabId===r.id&&e.secondary.isOpen?e:fx({activeTabId:r.id,isOpen:!0,state:e,tabs:a})})},[e,a]),h=(0,K.useCallback)(e=>{a(t=>{let n=Cx(t.secondary.tabs,e);if(!n)return t;let r=hx(t.secondary.tabs,n.id);return fx({activeTabId:t.secondary.activeTabId===n.id?null:t.secondary.activeTabId,isOpen:t.secondary.isOpen,state:t,tabs:r})})},[a]),g=(0,K.useCallback)(e=>{a(t=>{let n=Cx(t.secondary.tabs,e);return!n||t.secondary.activeTabId===n.id&&t.secondary.isOpen?t:fx({activeTabId:n.id,isOpen:!0,state:t,tabs:t.secondary.tabs})})},[a]),_=(0,K.useCallback)(e=>{!s||e===c||a(t=>{let n=wx(t.secondary.tabs,e);if(!n)return t;let r=hx(t.secondary.tabs,n.id);return fx({activeTabId:t.secondary.activeTabId===n.id?null:t.secondary.activeTabId,isOpen:t.secondary.isOpen,state:t,tabs:r})})},[s,c,a]),v=(0,K.useCallback)(e=>{s&&a(t=>{let n=wx(t.secondary.tabs,e);return!n||t.secondary.activeTabId===n.id&&t.secondary.isOpen?t:fx({activeTabId:n.id,isOpen:!0,state:t,tabs:t.secondary.tabs})})},[s,a]),y=(0,K.useCallback)(()=>{let e=db();a(t=>{let n=mx(t.secondary.tabs,e);return n===t.secondary.tabs&&t.secondary.activeTabId===e.id&&t.secondary.isOpen?t:fx({activeTabId:e.id,isOpen:!0,state:t,tabs:n})})},[a]),b=(0,K.useCallback)(()=>{let e=db();a(t=>!Tx(t.secondary.tabs)||t.secondary.activeTabId===e.id&&t.secondary.isOpen?t:fx({activeTabId:e.id,isOpen:!0,state:t,tabs:t.secondary.tabs}))},[a]),x=(0,K.useCallback)(()=>{let e=db();a(t=>{let n=hx(t.secondary.tabs,e.id);return n===t.secondary.tabs?t:fx({activeTabId:t.secondary.activeTabId===e.id?null:t.secondary.activeTabId,isOpen:t.secondary.isOpen,state:t,tabs:n})})},[a]),S=(0,K.useCallback)(e=>{if(e.source===`workspace`){if(l===void 0)return;let t=cb({environmentId:l,tab:{lineNumber:null,path:e.path,source:{kind:`working-tree`},statusLabel:null}});a(e=>Ex({nextTab:t,state:e}));return}if(!s)return;let t=bx(e.path,c);a(e=>Ex({nextTab:t,state:e}))},[s,c,l,a]),C=(0,K.useCallback)(()=>{a(e=>{let t=dx(e);return!t||t.kind!==`workspace-file-preview`&&t.kind!==`host-file-preview`&&t.kind!==`thread-storage-file-preview`?e:fx({activeTabId:null,isOpen:e.secondary.isOpen,state:e,tabs:e.secondary.tabs})})},[a]),w=dx(i),T=Ox({tabs:i.secondary.tabs,resolvedEnvironmentId:l,isManagerThread:s}),E=w?.kind===`workspace-file-preview`&&w.environmentId===l?w:null,D=s&&w?.kind===`thread-storage-file-preview`?w:null,O=w?.kind===`host-file-preview`?w:null,k=w?.kind===`new-tab`?w:null;return{orderedSecondaryFileTabs:T,activateNewTab:b,activateHostFileTab:g,activateStorageFileTab:v,activateWorkspaceFileTab:f,activeHostFileLineNumber:O?.lineNumber??null,activeHostFilePath:O?.path??null,activeStorageFilePath:D?.path??null,activeWorkspaceFileLineNumber:E?.lineNumber??null,activeWorkspaceFilePath:E?.path??null,activeWorkspaceFileSource:E?.source??null,activeWorkspaceFileStatusLabel:E?.statusLabel??null,clearActiveFileTabs:C,closeHostFileTab:h,closeNewTab:x,closeStorageFileTab:_,closeWorkspaceFileTab:d,hasNewTab:Tx(i.secondary.tabs)!==null,isNewTabActive:k!==null,openNewTab:y,openHostFile:m,openStorageFile:p,openWorkspaceFile:u,pinnedStorageFilePath:c,selectFileSearchResult:S}}function Ax(e){return e??void 0}function jx({previousStateKey:e,nextStateKey:t,persistedMergeBaseBranch:n,selectedMergeBaseBranch:r,updatePending:i}){return e===t?i?!1:r!==Ax(n):!0}function Mx({environment:e,workspaceStatus:t}){return e?.baseBranch??t?.branch.defaultBranch??e?.defaultBranch??void 0}function Nx({environment:e,selectedMergeBaseBranch:t,workspaceStatus:n}){return t??e?.mergeBaseBranch??e?.baseBranch??n?.mergeBase?.mergeBaseBranch??n?.branch.defaultBranch??T(e)}function Px({branch:e,environment:t,workspaceStatus:n}){let r=e.trim();return r.length===0||r===Mx({environment:t,workspaceStatus:n})?null:r}function Fx(e){let t={description:e.body};if(e.severity===`error`){ut.error(e.title,t);return}ut.warning(e.title,t)}function Ix({environment:e,mergeBaseBranchRef:t,mergeBaseBranchOptions:n,mergeBaseRemoteBranchOptions:r,selectedMergeBaseBranch:i,setSelectedMergeBaseBranch:a,thread:o,updateEnvironment:s,workspaceStatus:c}){let l=(0,K.useRef)(void 0),u=e?.id??o?.id,d=s.isPending&&s.variables?.id===e?.id;(0,K.useEffect)(()=>{jx({previousStateKey:l.current,nextStateKey:u,persistedMergeBaseBranch:e?.mergeBaseBranch,selectedMergeBaseBranch:i,updatePending:d})&&(l.current=u,a(Ax(e?.mergeBaseBranch)))},[e?.mergeBaseBranch,d,u,i,a]);let f=Nx({environment:e,selectedMergeBaseBranch:i,workspaceStatus:c}),p=!!(f||c?.branch.defaultBranch),m=f,h=(0,K.useMemo)(()=>Hn({mergeBaseBranch:m,mergeBaseBranchRef:t,mergeBaseBranchOptions:n,remoteMergeBaseBranchOptions:r}),[m,n,t,r]),g=h.options,_=h.remoteOptions,v=c?.branch.currentBranch!=null&&c.branch.currentBranch===c.branch.defaultBranch,y=p&&!!m&&!v;return{canSelectMergeBase:!!(y&&m&&(g.length>0||_.length>0)),effectiveMergeBaseBranch:f,handleMergeBaseBranchChange:(0,K.useCallback)(t=>{if(!e||!o?.environmentId)return;let n=t.trim(),r=Px({branch:n,environment:e,workspaceStatus:c}),i=e.mergeBaseBranch;a(n),r!==i&&s.mutate({id:e.id,mergeBaseBranch:r},{onError:t=>{a(e.mergeBaseBranch??void 0);let n=mt(t);if(n?.code===`environment_not_ready`&&n.details.environmentStatus===`provisioning`)return;let r=ct({error:t,operation:`update_merge_base`});if(r){Fx(r);return}ut.error(ht({error:t,fallbackMessage:`Failed to update merge base branch`,lifecycleOperation:`update_merge_base`}))}})},[e,a,o,s,c]),showBranchComparisonUi:p,showMergeBase:y,mergeBaseBranch:m,mergeBaseCandidates:g,mergeBaseRemoteBranchOptions:_}}var Lx=a((e=>{e.__esModule=!0,e.extend=a,e.indexOf=l,e.escapeExpression=u,e.isEmpty=d,e.createFrame=f,e.blockParams=p,e.appendContextPath=m;var t={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`,"`":```,"=":`=`},n=/[&<>"'`=]/g,r=/[&<>"'`=]/;function i(e){return t[e]}function a(e){for(var t=1;t<arguments.length;t++)for(var n in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],n)&&(e[n]=arguments[t][n]);return e}var o=Object.prototype.toString;e.toString=o;var s=function(e){return typeof e==`function`};s(/x/)&&(e.isFunction=s=function(e){return typeof e==`function`&&o.call(e)===`[object Function]`}),e.isFunction=s;var c=Array.isArray||function(e){return e&&typeof e==`object`?o.call(e)===`[object Array]`:!1};e.isArray=c;function l(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}function u(e){if(typeof e!=`string`){if(e&&e.toHTML)return e.toHTML();if(e==null)return``;if(!e)return e+``;e=``+e}return r.test(e)?e.replace(n,i):e}function d(e){return!e&&e!==0?!0:!!(c(e)&&e.length===0)}function f(e){var t=a({},e);return t._parent=e,t}function p(e,t){return e.path=t,e}function m(e,t){return(e?e+`.`:``)+t}})),Rx=a(((e,t)=>{e.__esModule=!0;var n=[`description`,`fileName`,`lineNumber`,`endLineNumber`,`message`,`name`,`number`,`stack`];function r(e,t){var i=t&&t.loc,a=void 0,o=void 0,s=void 0,c=void 0;i&&(a=i.start.line,o=i.end.line,s=i.start.column,c=i.end.column,e+=` - `+a+`:`+s);for(var l=Error.prototype.constructor.call(this,e),u=0;u<n.length;u++)this[n[u]]=l[n[u]];Error.captureStackTrace&&Error.captureStackTrace(this,r);try{i&&(this.lineNumber=a,this.endLineNumber=o,Object.defineProperty?(Object.defineProperty(this,`column`,{value:s,enumerable:!0}),Object.defineProperty(this,`endColumn`,{value:c,enumerable:!0})):(this.column=s,this.endColumn=c))}catch{}}r.prototype=Error(),e.default=r,t.exports=e.default})),zx=a(((e,t)=>{e.__esModule=!0;var n=Lx();e.default=function(e){e.registerHelper(`blockHelperMissing`,function(t,r){var i=r.inverse,a=r.fn;if(t===!0)return a(this);if(t===!1||t==null)return i(this);if(n.isArray(t))return t.length>0?(r.ids&&=[r.name],e.helpers.each(t,r)):i(this);if(r.data&&r.ids){var o=n.createFrame(r.data);o.contextPath=n.appendContextPath(r.data.contextPath,r.name),r={data:o}}return a(t,r)})},t.exports=e.default})),Bx=a(((e,t)=>{e.__esModule=!0;function n(e){return e&&e.__esModule?e:{default:e}}var r=Lx(),i=n(Rx());e.default=function(e){e.registerHelper(`each`,function(e,t){if(!t)throw new i.default(`Must pass iterator to #each`);var n=t.fn,a=t.inverse,o=0,s=``,c=void 0,l=void 0;t.data&&t.ids&&(l=r.appendContextPath(t.data.contextPath,t.ids[0])+`.`),r.isFunction(e)&&(e=e.call(this)),t.data&&(c=r.createFrame(t.data));function u(t,i,a){c&&(c.key=t,c.index=i,c.first=i===0,c.last=!!a,l&&(c.contextPath=l+t)),s+=n(e[t],{data:c,blockParams:r.blockParams([e[t],t],[l+t,null])})}if(e&&typeof e==`object`)if(r.isArray(e))for(var d=e.length;o<d;o++)o in e&&u(o,o,o===e.length-1);else if(typeof Symbol==`function`&&e[Symbol.iterator]){for(var f=[],p=e[Symbol.iterator](),m=p.next();!m.done;m=p.next())f.push(m.value);e=f;for(var d=e.length;o<d;o++)u(o,o,o===e.length-1)}else (function(){var t=void 0;Object.keys(e).forEach(function(e){t!==void 0&&u(t,o-1),t=e,o++}),t!==void 0&&u(t,o-1,!0)})();return o===0&&(s=a(this)),s})},t.exports=e.default})),Vx=a(((e,t)=>{e.__esModule=!0;function n(e){return e&&e.__esModule?e:{default:e}}var r=n(Rx());e.default=function(e){e.registerHelper(`helperMissing`,function(){if(arguments.length!==1)throw new r.default(`Missing helper: "`+arguments[arguments.length-1].name+`"`)})},t.exports=e.default})),Hx=a(((e,t)=>{e.__esModule=!0;function n(e){return e&&e.__esModule?e:{default:e}}var r=Lx(),i=n(Rx());e.default=function(e){e.registerHelper(`if`,function(e,t){if(arguments.length!=2)throw new i.default(`#if requires exactly one argument`);return r.isFunction(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||r.isEmpty(e)?t.inverse(this):t.fn(this)}),e.registerHelper(`unless`,function(t,n){if(arguments.length!=2)throw new i.default(`#unless requires exactly one argument`);return e.helpers.if.call(this,t,{fn:n.inverse,inverse:n.fn,hash:n.hash})})},t.exports=e.default})),Ux=a(((e,t)=>{e.__esModule=!0,e.default=function(e){e.registerHelper(`log`,function(){for(var t=[void 0],n=arguments[arguments.length-1],r=0;r<arguments.length-1;r++)t.push(arguments[r]);var i=1;n.hash.level==null?n.data&&n.data.level!=null&&(i=n.data.level):i=n.hash.level,t[0]=i,e.log.apply(e,t)})},t.exports=e.default})),Wx=a(((e,t)=>{e.__esModule=!0,e.default=function(e){e.registerHelper(`lookup`,function(e,t,n){return e&&n.lookupProperty(e,t)})},t.exports=e.default})),Gx=a(((e,t)=>{e.__esModule=!0;function n(e){return e&&e.__esModule?e:{default:e}}var r=Lx(),i=n(Rx());e.default=function(e){e.registerHelper(`with`,function(e,t){if(arguments.length!=2)throw new i.default(`#with requires exactly one argument`);r.isFunction(e)&&(e=e.call(this));var n=t.fn;if(r.isEmpty(e))return t.inverse(this);var a=t.data;return t.data&&t.ids&&(a=r.createFrame(t.data),a.contextPath=r.appendContextPath(t.data.contextPath,t.ids[0])),n(e,{data:a,blockParams:r.blockParams([e],[a&&a.contextPath])})})},t.exports=e.default})),Kx=a((e=>{e.__esModule=!0,e.registerDefaultHelpers=l,e.moveHelperToHooks=u;function t(e){return e&&e.__esModule?e:{default:e}}var n=t(zx()),r=t(Bx()),i=t(Vx()),a=t(Hx()),o=t(Ux()),s=t(Wx()),c=t(Gx());function l(e){n.default(e),r.default(e),i.default(e),a.default(e),o.default(e),s.default(e),c.default(e)}function u(e,t,n){e.helpers[t]&&(e.hooks[t]=e.helpers[t],n||delete e.helpers[t])}})),qx=a(((e,t)=>{e.__esModule=!0;var n=Lx();e.default=function(e){e.registerDecorator(`inline`,function(e,t,r,i){var a=e;return t.partials||(t.partials={},a=function(i,a){var o=r.partials;r.partials=n.extend({},o,t.partials);var s=e(i,a);return r.partials=o,s}),t.partials[i.args[0]]=i.fn,a})},t.exports=e.default})),Jx=a((e=>{e.__esModule=!0,e.registerDefaultDecorators=r;function t(e){return e&&e.__esModule?e:{default:e}}var n=t(qx());function r(e){n.default(e)}})),Yx=a(((e,t)=>{e.__esModule=!0;var n=Lx(),r={methodMap:[`debug`,`info`,`warn`,`error`],level:`info`,lookupLevel:function(e){if(typeof e==`string`){var t=n.indexOf(r.methodMap,e.toLowerCase());e=t>=0?t:parseInt(e,10)}return e},log:function(e){if(e=r.lookupLevel(e),typeof console<`u`&&r.lookupLevel(r.level)<=e){var t=r.methodMap[e];console[t]||(t=`log`);var n=[...arguments].slice(1);console[t].apply(console,n)}}};e.default=r,t.exports=e.default})),Xx=a((e=>{e.__esModule=!0,e.createNewLookupObject=n;var t=Lx();function n(){var e=[...arguments];return t.extend.apply(void 0,[Object.create(null)].concat(e))}})),Zx=a((e=>{e.__esModule=!0,e.createProtoAccessControl=a,e.resultIsAllowed=o,e.resetLoggedProperties=l;function t(e){return e&&e.__esModule?e:{default:e}}var n=Xx(),r=t(Yx()),i=Object.create(null);function a(e){var t=Object.create(null);t.constructor=!1,t.__defineGetter__=!1,t.__defineSetter__=!1,t.__lookupGetter__=!1;var r=Object.create(null);return r.__proto__=!1,{properties:{whitelist:n.createNewLookupObject(r,e.allowedProtoProperties),defaultValue:e.allowProtoPropertiesByDefault},methods:{whitelist:n.createNewLookupObject(t,e.allowedProtoMethods),defaultValue:e.allowProtoMethodsByDefault}}}function o(e,t,n){return s(typeof e==`function`?t.methods:t.properties,n)}function s(e,t){return e.whitelist[t]===void 0?e.defaultValue===void 0?(c(t),!1):e.defaultValue:e.whitelist[t]===!0}function c(e){i[e]!==!0&&(i[e]=!0,r.default.log(`error`,`Handlebars: Access has been denied to resolve the property "`+e+`" because it is not an "own property" of its parent.
|
|
1816
|
+
You can add a runtime option to disable the check or this warning:
|
|
1817
|
+
See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`))}function l(){Object.keys(i).forEach(function(e){delete i[e]})}})),Qx=a((e=>{e.__esModule=!0,e.HandlebarsEnvironment=l;function t(e){return e&&e.__esModule?e:{default:e}}var n=Lx(),r=t(Rx()),i=Kx(),a=Jx(),o=t(Yx()),s=Zx();e.VERSION=`4.7.8`,e.COMPILER_REVISION=8,e.LAST_COMPATIBLE_COMPILER_REVISION=7,e.REVISION_CHANGES={1:`<= 1.0.rc.2`,2:`== 1.0.0-rc.3`,3:`== 1.0.0-rc.4`,4:`== 1.x.x`,5:`== 2.0.0-alpha.x`,6:`>= 2.0.0-beta.1`,7:`>= 4.0.0 <4.3.0`,8:`>= 4.3.0`};var c=`[object Object]`;function l(e,t,n){this.helpers=e||{},this.partials=t||{},this.decorators=n||{},i.registerDefaultHelpers(this),a.registerDefaultDecorators(this)}l.prototype={constructor:l,logger:o.default,log:o.default.log,registerHelper:function(e,t){if(n.toString.call(e)===c){if(t)throw new r.default(`Arg not supported with multiple helpers`);n.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(n.toString.call(e)===c)n.extend(this.partials,e);else{if(t===void 0)throw new r.default(`Attempting to register a partial called "`+e+`" as undefined`);this.partials[e]=t}},unregisterPartial:function(e){delete this.partials[e]},registerDecorator:function(e,t){if(n.toString.call(e)===c){if(t)throw new r.default(`Arg not supported with multiple decorators`);n.extend(this.decorators,e)}else this.decorators[e]=t},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){s.resetLoggedProperties()}},e.log=o.default.log,e.createFrame=n.createFrame,e.logger=o.default})),$x=a(((e,t)=>{e.__esModule=!0;function n(e){this.string=e}n.prototype.toString=n.prototype.toHTML=function(){return``+this.string},e.default=n,t.exports=e.default})),eS=a((e=>{e.__esModule=!0,e.wrapHelper=t;function t(e,t){return typeof e==`function`?function(){var n=arguments[arguments.length-1];return arguments[arguments.length-1]=t(n),e.apply(this,arguments)}:e}})),tS=a((e=>{e.__esModule=!0,e.checkRevision=l,e.template=u,e.wrapProgram=d,e.resolvePartial=f,e.invokePartial=p,e.noop=m;function t(e){return e&&e.__esModule?e:{default:e}}function n(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}var r=n(Lx()),i=t(Rx()),a=Qx(),o=Kx(),s=eS(),c=Zx();function l(e){var t=e&&e[0]||1,n=a.COMPILER_REVISION;if(!(t>=a.LAST_COMPATIBLE_COMPILER_REVISION&&t<=a.COMPILER_REVISION))if(t<a.LAST_COMPATIBLE_COMPILER_REVISION){var r=a.REVISION_CHANGES[n],o=a.REVISION_CHANGES[t];throw new i.default(`Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version (`+r+`) or downgrade your runtime to an older version (`+o+`).`)}else throw new i.default(`Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version (`+e[1]+`).`)}function u(e,t){if(!t)throw new i.default(`No environment passed to template`);if(!e||!e.main)throw new i.default(`Unknown template object: `+typeof e);e.main.decorator=e.main_d,t.VM.checkRevision(e.compiler);var n=e.compiler&&e.compiler[0]===7;function a(n,a,o){o.hash&&(a=r.extend({},a,o.hash),o.ids&&(o.ids[0]=!0)),n=t.VM.resolvePartial.call(this,n,a,o);var s=r.extend({},o,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),c=t.VM.invokePartial.call(this,n,a,s);if(c==null&&t.compile&&(o.partials[o.name]=t.compile(n,e.compilerOptions,t),c=o.partials[o.name](a,s)),c!=null){if(o.indent){for(var l=c.split(`
|
|
1818
|
+
`),u=0,d=l.length;u<d&&!(!l[u]&&u+1===d);u++)l[u]=o.indent+l[u];c=l.join(`
|
|
1819
|
+
`)}return c}else throw new i.default(`The partial `+o.name+` could not be compiled when running in runtime-only mode`)}var s={strict:function(e,t,n){if(!e||!(t in e))throw new i.default(`"`+t+`" not defined in `+e,{loc:n});return s.lookupProperty(e,t)},lookupProperty:function(e,t){var n=e[t];if(n==null||Object.prototype.hasOwnProperty.call(e,t)||c.resultIsAllowed(n,s.protoAccessControl,t))return n},lookup:function(e,t){for(var n=e.length,r=0;r<n;r++)if((e[r]&&s.lookupProperty(e[r],t))!=null)return e[r][t]},lambda:function(e,t){return typeof e==`function`?e.call(t):e},escapeExpression:r.escapeExpression,invokePartial:a,fn:function(t){var n=e[t];return n.decorator=e[t+`_d`],n},programs:[],program:function(e,t,n,r,i){var a=this.programs[e],o=this.fn(e);return t||i||r||n?a=d(this,e,o,t,n,r,i):a||=this.programs[e]=d(this,e,o),a},data:function(e,t){for(;e&&t--;)e=e._parent;return e},mergeIfNeeded:function(e,t){var n=e||t;return e&&t&&e!==t&&(n=r.extend({},t,e)),n},nullContext:Object.seal({}),noop:t.VM.noop,compilerInfo:e.compiler};function l(t){var n=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],r=n.data;l._setup(n),!n.partial&&e.useData&&(r=h(t,r));var i=void 0,a=e.useBlockParams?[]:void 0;e.useDepths&&(i=n.depths?t==n.depths[0]?n.depths:[t].concat(n.depths):[t]);function o(t){return``+e.main(s,t,s.helpers,s.partials,r,a,i)}return o=g(e.main,o,s,n.depths||[],r,a),o(t,n)}return l.isTop=!0,l._setup=function(i){if(i.partial)s.protoAccessControl=i.protoAccessControl,s.helpers=i.helpers,s.partials=i.partials,s.decorators=i.decorators,s.hooks=i.hooks;else{var a=r.extend({},t.helpers,i.helpers);_(a,s),s.helpers=a,e.usePartial&&(s.partials=s.mergeIfNeeded(i.partials,t.partials)),(e.usePartial||e.useDecorators)&&(s.decorators=r.extend({},t.decorators,i.decorators)),s.hooks={},s.protoAccessControl=c.createProtoAccessControl(i);var l=i.allowCallsToHelperMissing||n;o.moveHelperToHooks(s,`helperMissing`,l),o.moveHelperToHooks(s,`blockHelperMissing`,l)}},l._child=function(t,n,r,a){if(e.useBlockParams&&!r)throw new i.default(`must pass block params`);if(e.useDepths&&!a)throw new i.default(`must pass parent depths`);return d(s,t,e[t],n,0,r,a)},l}function d(e,t,n,r,i,a,o){function s(t){var i=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],s=o;return o&&t!=o[0]&&!(t===e.nullContext&&o[0]===null)&&(s=[t].concat(o)),n(e,t,e.helpers,e.partials,i.data||r,a&&[i.blockParams].concat(a),s)}return s=g(n,s,e,o,r,a),s.program=t,s.depth=o?o.length:0,s.blockParams=i||0,s}function f(e,t,n){return e?!e.call&&!n.name&&(n.name=e,e=n.partials[e]):e=n.name===`@partial-block`?n.data[`partial-block`]:n.partials[n.name],e}function p(e,t,n){var o=n.data&&n.data[`partial-block`];n.partial=!0,n.ids&&(n.data.contextPath=n.ids[0]||n.data.contextPath);var s=void 0;if(n.fn&&n.fn!==m&&(function(){n.data=a.createFrame(n.data);var e=n.fn;s=n.data[`partial-block`]=function(t){var n=arguments.length<=1||arguments[1]===void 0?{}:arguments[1];return n.data=a.createFrame(n.data),n.data[`partial-block`]=o,e(t,n)},e.partials&&(n.partials=r.extend({},n.partials,e.partials))})(),e===void 0&&s&&(e=s),e===void 0)throw new i.default(`The partial `+n.name+` could not be found`);if(e instanceof Function)return e(t,n)}function m(){return``}function h(e,t){return(!t||!(`root`in t))&&(t=t?a.createFrame(t):{},t.root=e),t}function g(e,t,n,i,a,o){if(e.decorator){var s={};t=e.decorator(t,s,n,i&&i[0],a,o,i),r.extend(t,s)}return t}function _(e,t){Object.keys(e).forEach(function(n){var r=e[n];e[n]=v(r,t)})}function v(e,t){var n=t.lookupProperty;return s.wrapHelper(e,function(e){return r.extend({lookupProperty:n},e)})}})),nS=a(((e,t)=>{e.__esModule=!0,e.default=function(e){(function(){typeof globalThis!=`object`&&(Object.prototype.__defineGetter__(`__magic__`,function(){return this}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__)})();var t=globalThis.Handlebars;e.noConflict=function(){return globalThis.Handlebars===e&&(globalThis.Handlebars=t),e}},t.exports=e.default})),rS=a(((e,t)=>{e.__esModule=!0;function n(e){return e&&e.__esModule?e:{default:e}}function r(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}var i=r(Qx()),a=n($x()),o=n(Rx()),s=r(Lx()),c=r(tS()),l=n(nS());function u(){var e=new i.HandlebarsEnvironment;return s.extend(e,i),e.SafeString=a.default,e.Exception=o.default,e.Utils=s,e.escapeExpression=s.escapeExpression,e.VM=c,e.template=function(t){return c.template(t,e)},e}var d=u();d.create=u,l.default(d),d.default=d,e.default=d,t.exports=e.default})),iS=a(((e,t)=>{e.__esModule=!0;var n={helpers:{helperExpression:function(e){return e.type===`SubExpression`||(e.type===`MustacheStatement`||e.type===`BlockStatement`)&&!!(e.params&&e.params.length||e.hash)},scopedId:function(e){return/^\.|this\b/.test(e.original)},simpleId:function(e){return e.parts.length===1&&!n.helpers.scopedId(e)&&!e.depth}}};e.default=n,t.exports=e.default})),aS=a(((e,t)=>{e.__esModule=!0,e.default=(function(){var e={trace:function(){},yy:{},symbols_:{error:2,root:3,program:4,EOF:5,program_repetition0:6,statement:7,mustache:8,block:9,rawBlock:10,partial:11,partialBlock:12,content:13,COMMENT:14,CONTENT:15,openRawBlock:16,rawBlock_repetition0:17,END_RAW_BLOCK:18,OPEN_RAW_BLOCK:19,helperName:20,openRawBlock_repetition0:21,openRawBlock_option0:22,CLOSE_RAW_BLOCK:23,openBlock:24,block_option0:25,closeBlock:26,openInverse:27,block_option1:28,OPEN_BLOCK:29,openBlock_repetition0:30,openBlock_option0:31,openBlock_option1:32,CLOSE:33,OPEN_INVERSE:34,openInverse_repetition0:35,openInverse_option0:36,openInverse_option1:37,openInverseChain:38,OPEN_INVERSE_CHAIN:39,openInverseChain_repetition0:40,openInverseChain_option0:41,openInverseChain_option1:42,inverseAndProgram:43,INVERSE:44,inverseChain:45,inverseChain_option0:46,OPEN_ENDBLOCK:47,OPEN:48,mustache_repetition0:49,mustache_option0:50,OPEN_UNESCAPED:51,mustache_repetition1:52,mustache_option1:53,CLOSE_UNESCAPED:54,OPEN_PARTIAL:55,partialName:56,partial_repetition0:57,partial_option0:58,openPartialBlock:59,OPEN_PARTIAL_BLOCK:60,openPartialBlock_repetition0:61,openPartialBlock_option0:62,param:63,sexpr:64,OPEN_SEXPR:65,sexpr_repetition0:66,sexpr_option0:67,CLOSE_SEXPR:68,hash:69,hash_repetition_plus0:70,hashSegment:71,ID:72,EQUALS:73,blockParams:74,OPEN_BLOCK_PARAMS:75,blockParams_repetition_plus0:76,CLOSE_BLOCK_PARAMS:77,path:78,dataName:79,STRING:80,NUMBER:81,BOOLEAN:82,UNDEFINED:83,NULL:84,DATA:85,pathSegments:86,SEP:87,$accept:0,$end:1},terminals_:{2:`error`,5:`EOF`,14:`COMMENT`,15:`CONTENT`,18:`END_RAW_BLOCK`,19:`OPEN_RAW_BLOCK`,23:`CLOSE_RAW_BLOCK`,29:`OPEN_BLOCK`,33:`CLOSE`,34:`OPEN_INVERSE`,39:`OPEN_INVERSE_CHAIN`,44:`INVERSE`,47:`OPEN_ENDBLOCK`,48:`OPEN`,51:`OPEN_UNESCAPED`,54:`CLOSE_UNESCAPED`,55:`OPEN_PARTIAL`,60:`OPEN_PARTIAL_BLOCK`,65:`OPEN_SEXPR`,68:`CLOSE_SEXPR`,72:`ID`,73:`EQUALS`,75:`OPEN_BLOCK_PARAMS`,77:`CLOSE_BLOCK_PARAMS`,80:`STRING`,81:`NUMBER`,82:`BOOLEAN`,83:`UNDEFINED`,84:`NULL`,85:`DATA`,87:`SEP`},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[13,1],[10,3],[16,5],[9,4],[9,4],[24,6],[27,6],[38,6],[43,2],[45,3],[45,1],[26,3],[8,5],[8,5],[11,5],[12,3],[59,5],[63,1],[63,1],[64,5],[69,1],[71,3],[74,3],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[56,1],[56,1],[79,2],[78,1],[86,3],[86,1],[6,0],[6,2],[17,0],[17,2],[21,0],[21,2],[22,0],[22,1],[25,0],[25,1],[28,0],[28,1],[30,0],[30,2],[31,0],[31,1],[32,0],[32,1],[35,0],[35,2],[36,0],[36,1],[37,0],[37,1],[40,0],[40,2],[41,0],[41,1],[42,0],[42,1],[46,0],[46,1],[49,0],[49,2],[50,0],[50,1],[52,0],[52,2],[53,0],[53,1],[57,0],[57,2],[58,0],[58,1],[61,0],[61,2],[62,0],[62,1],[66,0],[66,2],[67,0],[67,1],[70,1],[70,2],[76,1],[76,2]],performAction:function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 1:return a[s-1];case 2:this.$=r.prepareProgram(a[s]);break;case 3:this.$=a[s];break;case 4:this.$=a[s];break;case 5:this.$=a[s];break;case 6:this.$=a[s];break;case 7:this.$=a[s];break;case 8:this.$=a[s];break;case 9:this.$={type:`CommentStatement`,value:r.stripComment(a[s]),strip:r.stripFlags(a[s],a[s]),loc:r.locInfo(this._$)};break;case 10:this.$={type:`ContentStatement`,original:a[s],value:a[s],loc:r.locInfo(this._$)};break;case 11:this.$=r.prepareRawBlock(a[s-2],a[s-1],a[s],this._$);break;case 12:this.$={path:a[s-3],params:a[s-2],hash:a[s-1]};break;case 13:this.$=r.prepareBlock(a[s-3],a[s-2],a[s-1],a[s],!1,this._$);break;case 14:this.$=r.prepareBlock(a[s-3],a[s-2],a[s-1],a[s],!0,this._$);break;case 15:this.$={open:a[s-5],path:a[s-4],params:a[s-3],hash:a[s-2],blockParams:a[s-1],strip:r.stripFlags(a[s-5],a[s])};break;case 16:this.$={path:a[s-4],params:a[s-3],hash:a[s-2],blockParams:a[s-1],strip:r.stripFlags(a[s-5],a[s])};break;case 17:this.$={path:a[s-4],params:a[s-3],hash:a[s-2],blockParams:a[s-1],strip:r.stripFlags(a[s-5],a[s])};break;case 18:this.$={strip:r.stripFlags(a[s-1],a[s-1]),program:a[s]};break;case 19:var c=r.prepareBlock(a[s-2],a[s-1],a[s],a[s],!1,this._$),l=r.prepareProgram([c],a[s-1].loc);l.chained=!0,this.$={strip:a[s-2].strip,program:l,chain:!0};break;case 20:this.$=a[s];break;case 21:this.$={path:a[s-1],strip:r.stripFlags(a[s-2],a[s])};break;case 22:this.$=r.prepareMustache(a[s-3],a[s-2],a[s-1],a[s-4],r.stripFlags(a[s-4],a[s]),this._$);break;case 23:this.$=r.prepareMustache(a[s-3],a[s-2],a[s-1],a[s-4],r.stripFlags(a[s-4],a[s]),this._$);break;case 24:this.$={type:`PartialStatement`,name:a[s-3],params:a[s-2],hash:a[s-1],indent:``,strip:r.stripFlags(a[s-4],a[s]),loc:r.locInfo(this._$)};break;case 25:this.$=r.preparePartialBlock(a[s-2],a[s-1],a[s],this._$);break;case 26:this.$={path:a[s-3],params:a[s-2],hash:a[s-1],strip:r.stripFlags(a[s-4],a[s])};break;case 27:this.$=a[s];break;case 28:this.$=a[s];break;case 29:this.$={type:`SubExpression`,path:a[s-3],params:a[s-2],hash:a[s-1],loc:r.locInfo(this._$)};break;case 30:this.$={type:`Hash`,pairs:a[s],loc:r.locInfo(this._$)};break;case 31:this.$={type:`HashPair`,key:r.id(a[s-2]),value:a[s],loc:r.locInfo(this._$)};break;case 32:this.$=r.id(a[s-1]);break;case 33:this.$=a[s];break;case 34:this.$=a[s];break;case 35:this.$={type:`StringLiteral`,value:a[s],original:a[s],loc:r.locInfo(this._$)};break;case 36:this.$={type:`NumberLiteral`,value:Number(a[s]),original:Number(a[s]),loc:r.locInfo(this._$)};break;case 37:this.$={type:`BooleanLiteral`,value:a[s]===`true`,original:a[s]===`true`,loc:r.locInfo(this._$)};break;case 38:this.$={type:`UndefinedLiteral`,original:void 0,value:void 0,loc:r.locInfo(this._$)};break;case 39:this.$={type:`NullLiteral`,original:null,value:null,loc:r.locInfo(this._$)};break;case 40:this.$=a[s];break;case 41:this.$=a[s];break;case 42:this.$=r.preparePath(!0,a[s],this._$);break;case 43:this.$=r.preparePath(!1,a[s],this._$);break;case 44:a[s-2].push({part:r.id(a[s]),original:a[s],separator:a[s-1]}),this.$=a[s-2];break;case 45:this.$=[{part:r.id(a[s]),original:a[s]}];break;case 46:this.$=[];break;case 47:a[s-1].push(a[s]);break;case 48:this.$=[];break;case 49:a[s-1].push(a[s]);break;case 50:this.$=[];break;case 51:a[s-1].push(a[s]);break;case 58:this.$=[];break;case 59:a[s-1].push(a[s]);break;case 64:this.$=[];break;case 65:a[s-1].push(a[s]);break;case 70:this.$=[];break;case 71:a[s-1].push(a[s]);break;case 78:this.$=[];break;case 79:a[s-1].push(a[s]);break;case 82:this.$=[];break;case 83:a[s-1].push(a[s]);break;case 86:this.$=[];break;case 87:a[s-1].push(a[s]);break;case 90:this.$=[];break;case 91:a[s-1].push(a[s]);break;case 94:this.$=[];break;case 95:a[s-1].push(a[s]);break;case 98:this.$=[a[s]];break;case 99:a[s-1].push(a[s]);break;case 100:this.$=[a[s]];break;case 101:a[s-1].push(a[s]);break}},table:[{3:1,4:2,5:[2,46],6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{1:[3]},{5:[1,4]},{5:[2,2],7:5,8:6,9:7,10:8,11:9,12:10,13:11,14:[1,12],15:[1,20],16:17,19:[1,23],24:15,27:16,29:[1,21],34:[1,22],39:[2,2],44:[2,2],47:[2,2],48:[1,13],51:[1,14],55:[1,18],59:19,60:[1,24]},{1:[2,1]},{5:[2,47],14:[2,47],15:[2,47],19:[2,47],29:[2,47],34:[2,47],39:[2,47],44:[2,47],47:[2,47],48:[2,47],51:[2,47],55:[2,47],60:[2,47]},{5:[2,3],14:[2,3],15:[2,3],19:[2,3],29:[2,3],34:[2,3],39:[2,3],44:[2,3],47:[2,3],48:[2,3],51:[2,3],55:[2,3],60:[2,3]},{5:[2,4],14:[2,4],15:[2,4],19:[2,4],29:[2,4],34:[2,4],39:[2,4],44:[2,4],47:[2,4],48:[2,4],51:[2,4],55:[2,4],60:[2,4]},{5:[2,5],14:[2,5],15:[2,5],19:[2,5],29:[2,5],34:[2,5],39:[2,5],44:[2,5],47:[2,5],48:[2,5],51:[2,5],55:[2,5],60:[2,5]},{5:[2,6],14:[2,6],15:[2,6],19:[2,6],29:[2,6],34:[2,6],39:[2,6],44:[2,6],47:[2,6],48:[2,6],51:[2,6],55:[2,6],60:[2,6]},{5:[2,7],14:[2,7],15:[2,7],19:[2,7],29:[2,7],34:[2,7],39:[2,7],44:[2,7],47:[2,7],48:[2,7],51:[2,7],55:[2,7],60:[2,7]},{5:[2,8],14:[2,8],15:[2,8],19:[2,8],29:[2,8],34:[2,8],39:[2,8],44:[2,8],47:[2,8],48:[2,8],51:[2,8],55:[2,8],60:[2,8]},{5:[2,9],14:[2,9],15:[2,9],19:[2,9],29:[2,9],34:[2,9],39:[2,9],44:[2,9],47:[2,9],48:[2,9],51:[2,9],55:[2,9],60:[2,9]},{20:25,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:36,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:37,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{4:38,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{15:[2,48],17:39,18:[2,48]},{20:41,56:40,64:42,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:44,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{5:[2,10],14:[2,10],15:[2,10],18:[2,10],19:[2,10],29:[2,10],34:[2,10],39:[2,10],44:[2,10],47:[2,10],48:[2,10],51:[2,10],55:[2,10],60:[2,10]},{20:45,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:46,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:47,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:41,56:48,64:42,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[2,78],49:49,65:[2,78],72:[2,78],80:[2,78],81:[2,78],82:[2,78],83:[2,78],84:[2,78],85:[2,78]},{23:[2,33],33:[2,33],54:[2,33],65:[2,33],68:[2,33],72:[2,33],75:[2,33],80:[2,33],81:[2,33],82:[2,33],83:[2,33],84:[2,33],85:[2,33]},{23:[2,34],33:[2,34],54:[2,34],65:[2,34],68:[2,34],72:[2,34],75:[2,34],80:[2,34],81:[2,34],82:[2,34],83:[2,34],84:[2,34],85:[2,34]},{23:[2,35],33:[2,35],54:[2,35],65:[2,35],68:[2,35],72:[2,35],75:[2,35],80:[2,35],81:[2,35],82:[2,35],83:[2,35],84:[2,35],85:[2,35]},{23:[2,36],33:[2,36],54:[2,36],65:[2,36],68:[2,36],72:[2,36],75:[2,36],80:[2,36],81:[2,36],82:[2,36],83:[2,36],84:[2,36],85:[2,36]},{23:[2,37],33:[2,37],54:[2,37],65:[2,37],68:[2,37],72:[2,37],75:[2,37],80:[2,37],81:[2,37],82:[2,37],83:[2,37],84:[2,37],85:[2,37]},{23:[2,38],33:[2,38],54:[2,38],65:[2,38],68:[2,38],72:[2,38],75:[2,38],80:[2,38],81:[2,38],82:[2,38],83:[2,38],84:[2,38],85:[2,38]},{23:[2,39],33:[2,39],54:[2,39],65:[2,39],68:[2,39],72:[2,39],75:[2,39],80:[2,39],81:[2,39],82:[2,39],83:[2,39],84:[2,39],85:[2,39]},{23:[2,43],33:[2,43],54:[2,43],65:[2,43],68:[2,43],72:[2,43],75:[2,43],80:[2,43],81:[2,43],82:[2,43],83:[2,43],84:[2,43],85:[2,43],87:[1,50]},{72:[1,35],86:51},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{52:52,54:[2,82],65:[2,82],72:[2,82],80:[2,82],81:[2,82],82:[2,82],83:[2,82],84:[2,82],85:[2,82]},{25:53,38:55,39:[1,57],43:56,44:[1,58],45:54,47:[2,54]},{28:59,43:60,44:[1,58],47:[2,56]},{13:62,15:[1,20],18:[1,61]},{33:[2,86],57:63,65:[2,86],72:[2,86],80:[2,86],81:[2,86],82:[2,86],83:[2,86],84:[2,86],85:[2,86]},{33:[2,40],65:[2,40],72:[2,40],80:[2,40],81:[2,40],82:[2,40],83:[2,40],84:[2,40],85:[2,40]},{33:[2,41],65:[2,41],72:[2,41],80:[2,41],81:[2,41],82:[2,41],83:[2,41],84:[2,41],85:[2,41]},{20:64,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:65,47:[1,66]},{30:67,33:[2,58],65:[2,58],72:[2,58],75:[2,58],80:[2,58],81:[2,58],82:[2,58],83:[2,58],84:[2,58],85:[2,58]},{33:[2,64],35:68,65:[2,64],72:[2,64],75:[2,64],80:[2,64],81:[2,64],82:[2,64],83:[2,64],84:[2,64],85:[2,64]},{21:69,23:[2,50],65:[2,50],72:[2,50],80:[2,50],81:[2,50],82:[2,50],83:[2,50],84:[2,50],85:[2,50]},{33:[2,90],61:70,65:[2,90],72:[2,90],80:[2,90],81:[2,90],82:[2,90],83:[2,90],84:[2,90],85:[2,90]},{20:74,33:[2,80],50:71,63:72,64:75,65:[1,43],69:73,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{72:[1,79]},{23:[2,42],33:[2,42],54:[2,42],65:[2,42],68:[2,42],72:[2,42],75:[2,42],80:[2,42],81:[2,42],82:[2,42],83:[2,42],84:[2,42],85:[2,42],87:[1,50]},{20:74,53:80,54:[2,84],63:81,64:75,65:[1,43],69:82,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:83,47:[1,66]},{47:[2,55]},{4:84,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{47:[2,20]},{20:85,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:86,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{26:87,47:[1,66]},{47:[2,57]},{5:[2,11],14:[2,11],15:[2,11],19:[2,11],29:[2,11],34:[2,11],39:[2,11],44:[2,11],47:[2,11],48:[2,11],51:[2,11],55:[2,11],60:[2,11]},{15:[2,49],18:[2,49]},{20:74,33:[2,88],58:88,63:89,64:75,65:[1,43],69:90,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{65:[2,94],66:91,68:[2,94],72:[2,94],80:[2,94],81:[2,94],82:[2,94],83:[2,94],84:[2,94],85:[2,94]},{5:[2,25],14:[2,25],15:[2,25],19:[2,25],29:[2,25],34:[2,25],39:[2,25],44:[2,25],47:[2,25],48:[2,25],51:[2,25],55:[2,25],60:[2,25]},{20:92,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,31:93,33:[2,60],63:94,64:75,65:[1,43],69:95,70:76,71:77,72:[1,78],75:[2,60],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,33:[2,66],36:96,63:97,64:75,65:[1,43],69:98,70:76,71:77,72:[1,78],75:[2,66],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,22:99,23:[2,52],63:100,64:75,65:[1,43],69:101,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,33:[2,92],62:102,63:103,64:75,65:[1,43],69:104,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,105]},{33:[2,79],65:[2,79],72:[2,79],80:[2,79],81:[2,79],82:[2,79],83:[2,79],84:[2,79],85:[2,79]},{33:[2,81]},{23:[2,27],33:[2,27],54:[2,27],65:[2,27],68:[2,27],72:[2,27],75:[2,27],80:[2,27],81:[2,27],82:[2,27],83:[2,27],84:[2,27],85:[2,27]},{23:[2,28],33:[2,28],54:[2,28],65:[2,28],68:[2,28],72:[2,28],75:[2,28],80:[2,28],81:[2,28],82:[2,28],83:[2,28],84:[2,28],85:[2,28]},{23:[2,30],33:[2,30],54:[2,30],68:[2,30],71:106,72:[1,107],75:[2,30]},{23:[2,98],33:[2,98],54:[2,98],68:[2,98],72:[2,98],75:[2,98]},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],73:[1,108],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{23:[2,44],33:[2,44],54:[2,44],65:[2,44],68:[2,44],72:[2,44],75:[2,44],80:[2,44],81:[2,44],82:[2,44],83:[2,44],84:[2,44],85:[2,44],87:[2,44]},{54:[1,109]},{54:[2,83],65:[2,83],72:[2,83],80:[2,83],81:[2,83],82:[2,83],83:[2,83],84:[2,83],85:[2,83]},{54:[2,85]},{5:[2,13],14:[2,13],15:[2,13],19:[2,13],29:[2,13],34:[2,13],39:[2,13],44:[2,13],47:[2,13],48:[2,13],51:[2,13],55:[2,13],60:[2,13]},{38:55,39:[1,57],43:56,44:[1,58],45:111,46:110,47:[2,76]},{33:[2,70],40:112,65:[2,70],72:[2,70],75:[2,70],80:[2,70],81:[2,70],82:[2,70],83:[2,70],84:[2,70],85:[2,70]},{47:[2,18]},{5:[2,14],14:[2,14],15:[2,14],19:[2,14],29:[2,14],34:[2,14],39:[2,14],44:[2,14],47:[2,14],48:[2,14],51:[2,14],55:[2,14],60:[2,14]},{33:[1,113]},{33:[2,87],65:[2,87],72:[2,87],80:[2,87],81:[2,87],82:[2,87],83:[2,87],84:[2,87],85:[2,87]},{33:[2,89]},{20:74,63:115,64:75,65:[1,43],67:114,68:[2,96],69:116,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,117]},{32:118,33:[2,62],74:119,75:[1,120]},{33:[2,59],65:[2,59],72:[2,59],75:[2,59],80:[2,59],81:[2,59],82:[2,59],83:[2,59],84:[2,59],85:[2,59]},{33:[2,61],75:[2,61]},{33:[2,68],37:121,74:122,75:[1,120]},{33:[2,65],65:[2,65],72:[2,65],75:[2,65],80:[2,65],81:[2,65],82:[2,65],83:[2,65],84:[2,65],85:[2,65]},{33:[2,67],75:[2,67]},{23:[1,123]},{23:[2,51],65:[2,51],72:[2,51],80:[2,51],81:[2,51],82:[2,51],83:[2,51],84:[2,51],85:[2,51]},{23:[2,53]},{33:[1,124]},{33:[2,91],65:[2,91],72:[2,91],80:[2,91],81:[2,91],82:[2,91],83:[2,91],84:[2,91],85:[2,91]},{33:[2,93]},{5:[2,22],14:[2,22],15:[2,22],19:[2,22],29:[2,22],34:[2,22],39:[2,22],44:[2,22],47:[2,22],48:[2,22],51:[2,22],55:[2,22],60:[2,22]},{23:[2,99],33:[2,99],54:[2,99],68:[2,99],72:[2,99],75:[2,99]},{73:[1,108]},{20:74,63:125,64:75,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,23],14:[2,23],15:[2,23],19:[2,23],29:[2,23],34:[2,23],39:[2,23],44:[2,23],47:[2,23],48:[2,23],51:[2,23],55:[2,23],60:[2,23]},{47:[2,19]},{47:[2,77]},{20:74,33:[2,72],41:126,63:127,64:75,65:[1,43],69:128,70:76,71:77,72:[1,78],75:[2,72],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,24],14:[2,24],15:[2,24],19:[2,24],29:[2,24],34:[2,24],39:[2,24],44:[2,24],47:[2,24],48:[2,24],51:[2,24],55:[2,24],60:[2,24]},{68:[1,129]},{65:[2,95],68:[2,95],72:[2,95],80:[2,95],81:[2,95],82:[2,95],83:[2,95],84:[2,95],85:[2,95]},{68:[2,97]},{5:[2,21],14:[2,21],15:[2,21],19:[2,21],29:[2,21],34:[2,21],39:[2,21],44:[2,21],47:[2,21],48:[2,21],51:[2,21],55:[2,21],60:[2,21]},{33:[1,130]},{33:[2,63]},{72:[1,132],76:131},{33:[1,133]},{33:[2,69]},{15:[2,12],18:[2,12]},{14:[2,26],15:[2,26],19:[2,26],29:[2,26],34:[2,26],47:[2,26],48:[2,26],51:[2,26],55:[2,26],60:[2,26]},{23:[2,31],33:[2,31],54:[2,31],68:[2,31],72:[2,31],75:[2,31]},{33:[2,74],42:134,74:135,75:[1,120]},{33:[2,71],65:[2,71],72:[2,71],75:[2,71],80:[2,71],81:[2,71],82:[2,71],83:[2,71],84:[2,71],85:[2,71]},{33:[2,73],75:[2,73]},{23:[2,29],33:[2,29],54:[2,29],65:[2,29],68:[2,29],72:[2,29],75:[2,29],80:[2,29],81:[2,29],82:[2,29],83:[2,29],84:[2,29],85:[2,29]},{14:[2,15],15:[2,15],19:[2,15],29:[2,15],34:[2,15],39:[2,15],44:[2,15],47:[2,15],48:[2,15],51:[2,15],55:[2,15],60:[2,15]},{72:[1,137],77:[1,136]},{72:[2,100],77:[2,100]},{14:[2,16],15:[2,16],19:[2,16],29:[2,16],34:[2,16],44:[2,16],47:[2,16],48:[2,16],51:[2,16],55:[2,16],60:[2,16]},{33:[1,138]},{33:[2,75]},{33:[2,32]},{72:[2,101],77:[2,101]},{14:[2,17],15:[2,17],19:[2,17],29:[2,17],34:[2,17],39:[2,17],44:[2,17],47:[2,17],48:[2,17],51:[2,17],55:[2,17],60:[2,17]}],defaultActions:{4:[2,1],54:[2,55],56:[2,20],60:[2,57],73:[2,81],82:[2,85],86:[2,18],90:[2,89],101:[2,53],104:[2,93],110:[2,19],111:[2,77],116:[2,97],119:[2,63],122:[2,69],135:[2,75],136:[2,32]},parseError:function(e,t){throw Error(e)},parse:function(e){var t=this,n=[0],r=[null],i=[],a=this.table,o=``,s=0,c=0,l=0;this.lexer.setInput(e),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,this.lexer.yylloc===void 0&&(this.lexer.yylloc={});var u=this.lexer.yylloc;i.push(u);var d=this.lexer.options&&this.lexer.options.ranges;typeof this.yy.parseError==`function`&&(this.parseError=this.yy.parseError);function f(){var e=t.lexer.lex()||1;return typeof e!=`number`&&(e=t.symbols_[e]||e),e}for(var p,m,h,g,_,v={},y,b,x,S;;){if(h=n[n.length-1],this.defaultActions[h]?g=this.defaultActions[h]:(p??=f(),g=a[h]&&a[h][p]),g===void 0||!g.length||!g[0]){var C=``;if(!l){for(y in S=[],a[h])this.terminals_[y]&&y>2&&S.push(`'`+this.terminals_[y]+`'`);C=this.lexer.showPosition?`Parse error on line `+(s+1)+`:
|
|
1820
|
+
`+this.lexer.showPosition()+`
|
|
1821
|
+
Expecting `+S.join(`, `)+`, got '`+(this.terminals_[p]||p)+`'`:`Parse error on line `+(s+1)+`: Unexpected `+(p==1?`end of input`:`'`+(this.terminals_[p]||p)+`'`),this.parseError(C,{text:this.lexer.match,token:this.terminals_[p]||p,line:this.lexer.yylineno,loc:u,expected:S})}}if(g[0]instanceof Array&&g.length>1)throw Error(`Parse Error: multiple actions possible at state: `+h+`, token: `+p);switch(g[0]){case 1:n.push(p),r.push(this.lexer.yytext),i.push(this.lexer.yylloc),n.push(g[1]),p=null,m?(p=m,m=null):(c=this.lexer.yyleng,o=this.lexer.yytext,s=this.lexer.yylineno,u=this.lexer.yylloc,l>0&&l--);break;case 2:if(b=this.productions_[g[1]][1],v.$=r[r.length-b],v._$={first_line:i[i.length-(b||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(b||1)].first_column,last_column:i[i.length-1].last_column},d&&(v._$.range=[i[i.length-(b||1)].range[0],i[i.length-1].range[1]]),_=this.performAction.call(v,o,c,s,this.yy,g[1],r,i),_!==void 0)return _;b&&(n=n.slice(0,-1*b*2),r=r.slice(0,-1*b),i=i.slice(0,-1*b)),n.push(this.productions_[g[1]][0]),r.push(v.$),i.push(v._$),x=a[n[n.length-2]][n[n.length-1]],n.push(x);break;case 3:return!0}}return!0}};e.lexer=(function(){var e={EOF:1,parseError:function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},setInput:function(e){return this._input=e,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=``,this.conditionStack=[`INITIAL`],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t-1),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this},more:function(){return this._more=!0,this},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},showPosition:function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
|
|
1822
|
+
`+t+`^`},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,r,i;this._more||(this.yytext=``,this.match=``);for(var a=this._currentRules(),o=0;o<a.length&&(n=this._input.match(this.rules[a[o]]),!(n&&(!t||n[0].length>t[0].length)&&(t=n,r=o,!this.options.flex)));o++);return t?(i=t[0].match(/(?:\r\n?|\n).*/g),i&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,a[r],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e||void 0):this._input===``?this.EOF:this.parseError(`Lexical error on line `+(this.yylineno+1)+`. Unrecognized text.
|
|
1823
|
+
`+this.showPosition(),{text:``,token:null,line:this.yylineno})},lex:function(){var e=this.next();return e===void 0?this.lex():e},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(e){this.begin(e)}};return e.options={},e.performAction=function(e,t,n,r){function i(e,n){return t.yytext=t.yytext.substring(e,t.yyleng-n+e)}switch(n){case 0:if(t.yytext.slice(-2)===`\\\\`?(i(0,1),this.begin(`mu`)):t.yytext.slice(-1)===`\\`?(i(0,1),this.begin(`emu`)):this.begin(`mu`),t.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;case 3:return this.begin(`raw`),15;case 4:return this.popState(),this.conditionStack[this.conditionStack.length-1]===`raw`?15:(i(5,9),`END_RAW_BLOCK`);case 5:return 15;case 6:return this.popState(),14;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin(`raw`),23;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:return this.popState(),44;case 16:return this.popState(),44;case 17:return 34;case 18:return 39;case 19:return 51;case 20:return 48;case 21:this.unput(t.yytext),this.popState(),this.begin(`com`);break;case 22:return this.popState(),14;case 23:return 48;case 24:return 73;case 25:return 72;case 26:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;case 30:return this.popState(),33;case 31:return t.yytext=i(1,2).replace(/\\"/g,`"`),80;case 32:return t.yytext=i(1,2).replace(/\\'/g,`'`),80;case 33:return 85;case 34:return 82;case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 41:return 72;case 42:return t.yytext=t.yytext.replace(/\\([\\\]])/g,`$1`),72;case 43:return`INVALID`;case 44:return 5}},e.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],e.conditions={mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}},e})();function t(){this.yy={}}return t.prototype=e,e.Parser=t,new t})(),t.exports=e.default})),oS=a(((e,t)=>{e.__esModule=!0;function n(e){return e&&e.__esModule?e:{default:e}}var r=n(Rx());function i(){this.parents=[]}i.prototype={constructor:i,mutating:!1,acceptKey:function(e,t){var n=this.accept(e[t]);if(this.mutating){if(n&&!i.prototype[n.type])throw new r.default(`Unexpected node type "`+n.type+`" found when accepting `+t+` on `+e.type);e[t]=n}},acceptRequired:function(e,t){if(this.acceptKey(e,t),!e[t])throw new r.default(e.type+` requires `+t)},acceptArray:function(e){for(var t=0,n=e.length;t<n;t++)this.acceptKey(e,t),e[t]||(e.splice(t,1),t--,n--)},accept:function(e){if(e){if(!this[e.type])throw new r.default(`Unknown type: `+e.type,e);this.current&&this.parents.unshift(this.current),this.current=e;var t=this[e.type](e);if(this.current=this.parents.shift(),!this.mutating||t)return t;if(t!==!1)return e}},Program:function(e){this.acceptArray(e.body)},MustacheStatement:a,Decorator:a,BlockStatement:o,DecoratorBlock:o,PartialStatement:s,PartialBlockStatement:function(e){s.call(this,e),this.acceptKey(e,`program`)},ContentStatement:function(){},CommentStatement:function(){},SubExpression:a,PathExpression:function(){},StringLiteral:function(){},NumberLiteral:function(){},BooleanLiteral:function(){},UndefinedLiteral:function(){},NullLiteral:function(){},Hash:function(e){this.acceptArray(e.pairs)},HashPair:function(e){this.acceptRequired(e,`value`)}};function a(e){this.acceptRequired(e,`path`),this.acceptArray(e.params),this.acceptKey(e,`hash`)}function o(e){a.call(this,e),this.acceptKey(e,`program`),this.acceptKey(e,`inverse`)}function s(e){this.acceptRequired(e,`name`),this.acceptArray(e.params),this.acceptKey(e,`hash`)}e.default=i,t.exports=e.default})),sS=a(((e,t)=>{e.__esModule=!0;function n(e){return e&&e.__esModule?e:{default:e}}var r=n(oS());function i(){var e=arguments.length<=0||arguments[0]===void 0?{}:arguments[0];this.options=e}i.prototype=new r.default,i.prototype.Program=function(e){var t=!this.options.ignoreStandalone,n=!this.isRootSeen;this.isRootSeen=!0;for(var r=e.body,i=0,l=r.length;i<l;i++){var u=r[i],d=this.accept(u);if(d){var f=a(r,i,n),p=o(r,i,n),m=d.openStandalone&&f,h=d.closeStandalone&&p,g=d.inlineStandalone&&f&&p;d.close&&s(r,i,!0),d.open&&c(r,i,!0),t&&g&&(s(r,i),c(r,i)&&u.type===`PartialStatement`&&(u.indent=/([ \t]+$)/.exec(r[i-1].original)[1])),t&&m&&(s((u.program||u.inverse).body),c(r,i)),t&&h&&(s(r,i),c((u.inverse||u.program).body))}}return e},i.prototype.BlockStatement=i.prototype.DecoratorBlock=i.prototype.PartialBlockStatement=function(e){this.accept(e.program),this.accept(e.inverse);var t=e.program||e.inverse,n=e.program&&e.inverse,r=n,i=n;if(n&&n.chained)for(r=n.body[0].program;i.chained;)i=i.body[i.body.length-1].program;var l={open:e.openStrip.open,close:e.closeStrip.close,openStandalone:o(t.body),closeStandalone:a((r||t).body)};if(e.openStrip.close&&s(t.body,null,!0),n){var u=e.inverseStrip;u.open&&c(t.body,null,!0),u.close&&s(r.body,null,!0),e.closeStrip.open&&c(i.body,null,!0),!this.options.ignoreStandalone&&a(t.body)&&o(r.body)&&(c(t.body),s(r.body))}else e.closeStrip.open&&c(t.body,null,!0);return l},i.prototype.Decorator=i.prototype.MustacheStatement=function(e){return e.strip},i.prototype.PartialStatement=i.prototype.CommentStatement=function(e){var t=e.strip||{};return{inlineStandalone:!0,open:t.open,close:t.close}};function a(e,t,n){t===void 0&&(t=e.length);var r=e[t-1],i=e[t-2];if(!r)return n;if(r.type===`ContentStatement`)return(i||!n?/\r?\n\s*?$/:/(^|\r?\n)\s*?$/).test(r.original)}function o(e,t,n){t===void 0&&(t=-1);var r=e[t+1],i=e[t+2];if(!r)return n;if(r.type===`ContentStatement`)return(i||!n?/^\s*?\r?\n/:/^\s*?(\r?\n|$)/).test(r.original)}function s(e,t,n){var r=e[t==null?0:t+1];if(!(!r||r.type!==`ContentStatement`||!n&&r.rightStripped)){var i=r.value;r.value=r.value.replace(n?/^\s+/:/^[ \t]*\r?\n?/,``),r.rightStripped=r.value!==i}}function c(e,t,n){var r=e[t==null?e.length-1:t-1];if(!(!r||r.type!==`ContentStatement`||!n&&r.leftStripped)){var i=r.value;return r.value=r.value.replace(n?/\s+$/:/[ \t]+$/,``),r.leftStripped=r.value!==i,r.leftStripped}}e.default=i,t.exports=e.default})),cS=a((e=>{e.__esModule=!0,e.SourceLocation=i,e.id=a,e.stripFlags=o,e.stripComment=s,e.preparePath=c,e.prepareMustache=l,e.prepareRawBlock=u,e.prepareBlock=d,e.prepareProgram=f,e.preparePartialBlock=p;function t(e){return e&&e.__esModule?e:{default:e}}var n=t(Rx());function r(e,t){if(t=t.path?t.path.original:t,e.path.original!==t){var r={loc:e.path.loc};throw new n.default(e.path.original+` doesn't match `+t,r)}}function i(e,t){this.source=e,this.start={line:t.first_line,column:t.first_column},this.end={line:t.last_line,column:t.last_column}}function a(e){return/^\[.*\]$/.test(e)?e.substring(1,e.length-1):e}function o(e,t){return{open:e.charAt(2)===`~`,close:t.charAt(t.length-3)===`~`}}function s(e){return e.replace(/^\{\{~?!-?-?/,``).replace(/-?-?~?\}\}$/,``)}function c(e,t,r){r=this.locInfo(r);for(var i=e?`@`:``,a=[],o=0,s=0,c=t.length;s<c;s++){var l=t[s].part,u=t[s].original!==l;if(i+=(t[s].separator||``)+l,!u&&(l===`..`||l===`.`||l===`this`)){if(a.length>0)throw new n.default(`Invalid path: `+i,{loc:r});l===`..`&&o++}else a.push(l)}return{type:`PathExpression`,data:e,depth:o,parts:a,original:i,loc:r}}function l(e,t,n,r,i,a){var o=r.charAt(3)||r.charAt(2),s=o!==`{`&&o!==`&`;return{type:/\*/.test(r)?`Decorator`:`MustacheStatement`,path:e,params:t,hash:n,escaped:s,strip:i,loc:this.locInfo(a)}}function u(e,t,n,i){r(e,n),i=this.locInfo(i);var a={type:`Program`,body:t,strip:{},loc:i};return{type:`BlockStatement`,path:e.path,params:e.params,hash:e.hash,program:a,openStrip:{},inverseStrip:{},closeStrip:{},loc:i}}function d(e,t,i,a,o,s){a&&a.path&&r(e,a);var c=/\*/.test(e.open);t.blockParams=e.blockParams;var l=void 0,u=void 0;if(i){if(c)throw new n.default(`Unexpected inverse block on decorator`,i);i.chain&&(i.program.body[0].closeStrip=a.strip),u=i.strip,l=i.program}return o&&(o=l,l=t,t=o),{type:c?`DecoratorBlock`:`BlockStatement`,path:e.path,params:e.params,hash:e.hash,program:t,inverse:l,openStrip:e.strip,inverseStrip:u,closeStrip:a&&a.strip,loc:this.locInfo(s)}}function f(e,t){if(!t&&e.length){var n=e[0].loc,r=e[e.length-1].loc;n&&r&&(t={source:n.source,start:{line:n.start.line,column:n.start.column},end:{line:r.end.line,column:r.end.column}})}return{type:`Program`,body:e,strip:{},loc:t}}function p(e,t,n,i){return r(e,n),{type:`PartialBlockStatement`,name:e.path,params:e.params,hash:e.hash,program:t,openStrip:e.strip,closeStrip:n&&n.strip,loc:this.locInfo(i)}}})),lS=a((e=>{e.__esModule=!0,e.parseWithoutProcessing=c,e.parse=l;function t(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function n(e){return e&&e.__esModule?e:{default:e}}var r=n(aS()),i=n(sS()),a=t(cS()),o=Lx();e.parser=r.default;var s={};o.extend(s,a);function c(e,t){return e.type===`Program`?e:(r.default.yy=s,s.locInfo=function(e){return new s.SourceLocation(t&&t.srcName,e)},r.default.parse(e))}function l(e,t){var n=c(e,t);return new i.default(t).accept(n)}})),uS=a((e=>{e.__esModule=!0,e.Compiler=o,e.precompile=s,e.compile=c;function t(e){return e&&e.__esModule?e:{default:e}}var n=t(Rx()),r=Lx(),i=t(iS()),a=[].slice;function o(){}o.prototype={compiler:o,equals:function(e){var t=this.opcodes.length;if(e.opcodes.length!==t)return!1;for(var n=0;n<t;n++){var r=this.opcodes[n],i=e.opcodes[n];if(r.opcode!==i.opcode||!l(r.args,i.args))return!1}t=this.children.length;for(var n=0;n<t;n++)if(!this.children[n].equals(e.children[n]))return!1;return!0},guid:0,compile:function(e,t){return this.sourceNode=[],this.opcodes=[],this.children=[],this.options=t,this.stringParams=t.stringParams,this.trackIds=t.trackIds,t.blockParams=t.blockParams||[],t.knownHelpers=r.extend(Object.create(null),{helperMissing:!0,blockHelperMissing:!0,each:!0,if:!0,unless:!0,with:!0,log:!0,lookup:!0},t.knownHelpers),this.accept(e)},compileProgram:function(e){var t=new this.compiler().compile(e,this.options),n=this.guid++;return this.usePartial=this.usePartial||t.usePartial,this.children[n]=t,this.useDepths=this.useDepths||t.useDepths,n},accept:function(e){if(!this[e.type])throw new n.default(`Unknown type: `+e.type,e);this.sourceNode.unshift(e);var t=this[e.type](e);return this.sourceNode.shift(),t},Program:function(e){this.options.blockParams.unshift(e.blockParams);for(var t=e.body,n=t.length,r=0;r<n;r++)this.accept(t[r]);return this.options.blockParams.shift(),this.isSimple=n===1,this.blockParams=e.blockParams?e.blockParams.length:0,this},BlockStatement:function(e){u(e);var t=e.program,n=e.inverse;t&&=this.compileProgram(t),n&&=this.compileProgram(n);var r=this.classifySexpr(e);r===`helper`?this.helperSexpr(e,t,n):r===`simple`?(this.simpleSexpr(e),this.opcode(`pushProgram`,t),this.opcode(`pushProgram`,n),this.opcode(`emptyHash`),this.opcode(`blockValue`,e.path.original)):(this.ambiguousSexpr(e,t,n),this.opcode(`pushProgram`,t),this.opcode(`pushProgram`,n),this.opcode(`emptyHash`),this.opcode(`ambiguousBlockValue`)),this.opcode(`append`)},DecoratorBlock:function(e){var t=e.program&&this.compileProgram(e.program),n=this.setupFullMustacheParams(e,t,void 0),r=e.path;this.useDecorators=!0,this.opcode(`registerDecorator`,n.length,r.original)},PartialStatement:function(e){this.usePartial=!0;var t=e.program;t&&=this.compileProgram(e.program);var r=e.params;if(r.length>1)throw new n.default(`Unsupported number of partial arguments: `+r.length,e);r.length||(this.options.explicitPartialContext?this.opcode(`pushLiteral`,`undefined`):r.push({type:`PathExpression`,parts:[],depth:0}));var i=e.name.original,a=e.name.type===`SubExpression`;a&&this.accept(e.name),this.setupFullMustacheParams(e,t,void 0,!0);var o=e.indent||``;this.options.preventIndent&&o&&(this.opcode(`appendContent`,o),o=``),this.opcode(`invokePartial`,a,i,o),this.opcode(`append`)},PartialBlockStatement:function(e){this.PartialStatement(e)},MustacheStatement:function(e){this.SubExpression(e),e.escaped&&!this.options.noEscape?this.opcode(`appendEscaped`):this.opcode(`append`)},Decorator:function(e){this.DecoratorBlock(e)},ContentStatement:function(e){e.value&&this.opcode(`appendContent`,e.value)},CommentStatement:function(){},SubExpression:function(e){u(e);var t=this.classifySexpr(e);t===`simple`?this.simpleSexpr(e):t===`helper`?this.helperSexpr(e):this.ambiguousSexpr(e)},ambiguousSexpr:function(e,t,n){var r=e.path,i=r.parts[0],a=t!=null||n!=null;this.opcode(`getContext`,r.depth),this.opcode(`pushProgram`,t),this.opcode(`pushProgram`,n),r.strict=!0,this.accept(r),this.opcode(`invokeAmbiguous`,i,a)},simpleSexpr:function(e){var t=e.path;t.strict=!0,this.accept(t),this.opcode(`resolvePossibleLambda`)},helperSexpr:function(e,t,r){var a=this.setupFullMustacheParams(e,t,r),o=e.path,s=o.parts[0];if(this.options.knownHelpers[s])this.opcode(`invokeKnownHelper`,a.length,s);else if(this.options.knownHelpersOnly)throw new n.default(`You specified knownHelpersOnly, but used the unknown helper `+s,e);else o.strict=!0,o.falsy=!0,this.accept(o),this.opcode(`invokeHelper`,a.length,o.original,i.default.helpers.simpleId(o))},PathExpression:function(e){this.addDepth(e.depth),this.opcode(`getContext`,e.depth);var t=e.parts[0],n=i.default.helpers.scopedId(e),r=!e.depth&&!n&&this.blockParamIndex(t);r?this.opcode(`lookupBlockParam`,r,e.parts):t?e.data?(this.options.data=!0,this.opcode(`lookupData`,e.depth,e.parts,e.strict)):this.opcode(`lookupOnContext`,e.parts,e.falsy,e.strict,n):this.opcode(`pushContext`)},StringLiteral:function(e){this.opcode(`pushString`,e.value)},NumberLiteral:function(e){this.opcode(`pushLiteral`,e.value)},BooleanLiteral:function(e){this.opcode(`pushLiteral`,e.value)},UndefinedLiteral:function(){this.opcode(`pushLiteral`,`undefined`)},NullLiteral:function(){this.opcode(`pushLiteral`,`null`)},Hash:function(e){var t=e.pairs,n=0,r=t.length;for(this.opcode(`pushHash`);n<r;n++)this.pushParam(t[n].value);for(;n--;)this.opcode(`assignToHash`,t[n].key);this.opcode(`popHash`)},opcode:function(e){this.opcodes.push({opcode:e,args:a.call(arguments,1),loc:this.sourceNode[0].loc})},addDepth:function(e){e&&(this.useDepths=!0)},classifySexpr:function(e){var t=i.default.helpers.simpleId(e.path),n=t&&!!this.blockParamIndex(e.path.parts[0]),r=!n&&i.default.helpers.helperExpression(e),a=!n&&(r||t);if(a&&!r){var o=e.path.parts[0],s=this.options;s.knownHelpers[o]?r=!0:s.knownHelpersOnly&&(a=!1)}return r?`helper`:a?`ambiguous`:`simple`},pushParams:function(e){for(var t=0,n=e.length;t<n;t++)this.pushParam(e[t])},pushParam:function(e){var t=e.value==null?e.original||``:e.value;if(this.stringParams)t.replace&&(t=t.replace(/^(\.?\.\/)*/g,``).replace(/\//g,`.`)),e.depth&&this.addDepth(e.depth),this.opcode(`getContext`,e.depth||0),this.opcode(`pushStringParam`,t,e.type),e.type===`SubExpression`&&this.accept(e);else{if(this.trackIds){var n=void 0;if(e.parts&&!i.default.helpers.scopedId(e)&&!e.depth&&(n=this.blockParamIndex(e.parts[0])),n){var r=e.parts.slice(1).join(`.`);this.opcode(`pushId`,`BlockParam`,n,r)}else t=e.original||t,t.replace&&(t=t.replace(/^this(?:\.|$)/,``).replace(/^\.\//,``).replace(/^\.$/,``)),this.opcode(`pushId`,e.type,t)}this.accept(e)}},setupFullMustacheParams:function(e,t,n,r){var i=e.params;return this.pushParams(i),this.opcode(`pushProgram`,t),this.opcode(`pushProgram`,n),e.hash?this.accept(e.hash):this.opcode(`emptyHash`,r),i},blockParamIndex:function(e){for(var t=0,n=this.options.blockParams.length;t<n;t++){var i=this.options.blockParams[t],a=i&&r.indexOf(i,e);if(i&&a>=0)return[t,a]}}};function s(e,t,r){if(e==null||typeof e!=`string`&&e.type!==`Program`)throw new n.default(`You must pass a string or Handlebars AST to Handlebars.precompile. You passed `+e);t||={},`data`in t||(t.data=!0),t.compat&&(t.useDepths=!0);var i=r.parse(e,t),a=new r.Compiler().compile(i,t);return new r.JavaScriptCompiler().compile(a,t)}function c(e,t,i){if(t===void 0&&(t={}),e==null||typeof e!=`string`&&e.type!==`Program`)throw new n.default(`You must pass a string or Handlebars AST to Handlebars.compile. You passed `+e);t=r.extend({},t),`data`in t||(t.data=!0),t.compat&&(t.useDepths=!0);var a=void 0;function o(){var n=i.parse(e,t),r=new i.Compiler().compile(n,t),a=new i.JavaScriptCompiler().compile(r,t,void 0,!0);return i.template(a)}function s(e,t){return a||=o(),a.call(this,e,t)}return s._setup=function(e){return a||=o(),a._setup(e)},s._child=function(e,t,n,r){return a||=o(),a._child(e,t,n,r)},s}function l(e,t){if(e===t)return!0;if(r.isArray(e)&&r.isArray(t)&&e.length===t.length){for(var n=0;n<e.length;n++)if(!l(e[n],t[n]))return!1;return!0}}function u(e){if(!e.path.parts){var t=e.path;e.path={type:`PathExpression`,data:!1,depth:0,parts:[t.original+``],original:t.original+``,loc:t.loc}}}})),dS=a((e=>{var t=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.split(``);e.encode=function(e){if(0<=e&&e<t.length)return t[e];throw TypeError(`Must be between 0 and 63: `+e)},e.decode=function(e){var t=65,n=90,r=97,i=122,a=48;return t<=e&&e<=n?e-t:r<=e&&e<=i?e-r+26:a<=e&&e<=57?e-a+52:e==43?62:e==47?63:-1}})),fS=a((e=>{var t=dS(),n=5,r=1<<n,i=r-1,a=r;function o(e){return e<0?(-e<<1)+1:(e<<1)+0}function s(e){var t=(e&1)==1,n=e>>1;return t?-n:n}e.encode=function(e){var r=``,s,c=o(e);do s=c&i,c>>>=n,c>0&&(s|=a),r+=t.encode(s);while(c>0);return r},e.decode=function(e,r,o){var c=e.length,l=0,u=0,d,f;do{if(r>=c)throw Error(`Expected more digits in base 64 VLQ value.`);if(f=t.decode(e.charCodeAt(r++)),f===-1)throw Error(`Invalid base64 digit: `+e.charAt(r-1));d=!!(f&a),f&=i,l+=f<<u,u+=n}while(d);o.value=s(l),o.rest=r}})),pS=a((e=>{function t(e,t,n){if(t in e)return e[t];if(arguments.length===3)return n;throw Error(`"`+t+`" is a required argument.`)}e.getArg=t;var n=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,r=/^data:.+\,.+$/;function i(e){var t=e.match(n);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}e.urlParse=i;function a(e){var t=``;return e.scheme&&(t+=e.scheme+`:`),t+=`//`,e.auth&&(t+=e.auth+`@`),e.host&&(t+=e.host),e.port&&(t+=`:`+e.port),e.path&&(t+=e.path),t}e.urlGenerate=a;function o(t){var n=t,r=i(t);if(r){if(!r.path)return t;n=r.path}for(var o=e.isAbsolute(n),s=n.split(/\/+/),c,l=0,u=s.length-1;u>=0;u--)c=s[u],c===`.`?s.splice(u,1):c===`..`?l++:l>0&&(c===``?(s.splice(u+1,l),l=0):(s.splice(u,2),l--));return n=s.join(`/`),n===``&&(n=o?`/`:`.`),r?(r.path=n,a(r)):n}e.normalize=o;function s(e,t){e===``&&(e=`.`),t===``&&(t=`.`);var n=i(t),s=i(e);if(s&&(e=s.path||`/`),n&&!n.scheme)return s&&(n.scheme=s.scheme),a(n);if(n||t.match(r))return t;if(s&&!s.host&&!s.path)return s.host=t,a(s);var c=t.charAt(0)===`/`?t:o(e.replace(/\/+$/,``)+`/`+t);return s?(s.path=c,a(s)):c}e.join=s,e.isAbsolute=function(e){return e.charAt(0)===`/`||n.test(e)};function c(e,t){e===``&&(e=`.`),e=e.replace(/\/$/,``);for(var n=0;t.indexOf(e+`/`)!==0;){var r=e.lastIndexOf(`/`);if(r<0||(e=e.slice(0,r),e.match(/^([^\/]+:\/)?\/*$/)))return t;++n}return Array(n+1).join(`../`)+t.substr(e.length+1)}e.relative=c;var l=function(){return!(`__proto__`in Object.create(null))}();function u(e){return e}function d(e){return p(e)?`$`+e:e}e.toSetString=l?u:d;function f(e){return p(e)?e.slice(1):e}e.fromSetString=l?u:f;function p(e){if(!e)return!1;var t=e.length;if(t<9||e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95)return!1;for(var n=t-10;n>=0;n--)if(e.charCodeAt(n)!==36)return!1;return!0}function m(e,t,n){var r=g(e.source,t.source);return r!==0||(r=e.originalLine-t.originalLine,r!==0)||(r=e.originalColumn-t.originalColumn,r!==0||n)||(r=e.generatedColumn-t.generatedColumn,r!==0)||(r=e.generatedLine-t.generatedLine,r!==0)?r:g(e.name,t.name)}e.compareByOriginalPositions=m;function h(e,t,n){var r=e.generatedLine-t.generatedLine;return r!==0||(r=e.generatedColumn-t.generatedColumn,r!==0||n)||(r=g(e.source,t.source),r!==0)||(r=e.originalLine-t.originalLine,r!==0)||(r=e.originalColumn-t.originalColumn,r!==0)?r:g(e.name,t.name)}e.compareByGeneratedPositionsDeflated=h;function g(e,t){return e===t?0:e===null?1:t===null?-1:e>t?1:-1}function _(e,t){var n=e.generatedLine-t.generatedLine;return n!==0||(n=e.generatedColumn-t.generatedColumn,n!==0)||(n=g(e.source,t.source),n!==0)||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0)?n:g(e.name,t.name)}e.compareByGeneratedPositionsInflated=_;function v(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,``))}e.parseSourceMapInput=v;function y(e,t,n){if(t||=``,e&&(e[e.length-1]!==`/`&&t[0]!==`/`&&(e+=`/`),t=e+t),n){var r=i(n);if(!r)throw Error(`sourceMapURL could not be parsed`);if(r.path){var c=r.path.lastIndexOf(`/`);c>=0&&(r.path=r.path.substring(0,c+1))}t=s(a(r),t)}return o(t)}e.computeSourceURL=y})),mS=a((e=>{var t=pS(),n=Object.prototype.hasOwnProperty,r=typeof Map<`u`;function i(){this._array=[],this._set=r?new Map:Object.create(null)}i.fromArray=function(e,t){for(var n=new i,r=0,a=e.length;r<a;r++)n.add(e[r],t);return n},i.prototype.size=function(){return r?this._set.size:Object.getOwnPropertyNames(this._set).length},i.prototype.add=function(e,i){var a=r?e:t.toSetString(e),o=r?this.has(e):n.call(this._set,a),s=this._array.length;(!o||i)&&this._array.push(e),o||(r?this._set.set(e,s):this._set[a]=s)},i.prototype.has=function(e){if(r)return this._set.has(e);var i=t.toSetString(e);return n.call(this._set,i)},i.prototype.indexOf=function(e){if(r){var i=this._set.get(e);if(i>=0)return i}else{var a=t.toSetString(e);if(n.call(this._set,a))return this._set[a]}throw Error(`"`+e+`" is not in the set.`)},i.prototype.at=function(e){if(e>=0&&e<this._array.length)return this._array[e];throw Error(`No element indexed by `+e)},i.prototype.toArray=function(){return this._array.slice()},e.ArraySet=i})),hS=a((e=>{var t=pS();function n(e,n){var r=e.generatedLine,i=n.generatedLine,a=e.generatedColumn,o=n.generatedColumn;return i>r||i==r&&o>=a||t.compareByGeneratedPositionsInflated(e,n)<=0}function r(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}r.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},r.prototype.add=function(e){n(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},r.prototype.toArray=function(){return this._sorted||=(this._array.sort(t.compareByGeneratedPositionsInflated),!0),this._array},e.MappingList=r})),gS=a((e=>{var t=fS(),n=pS(),r=mS().ArraySet,i=hS().MappingList;function a(e){e||={},this._file=n.getArg(e,`file`,null),this._sourceRoot=n.getArg(e,`sourceRoot`,null),this._skipValidation=n.getArg(e,`skipValidation`,!1),this._sources=new r,this._names=new r,this._mappings=new i,this._sourcesContents=null}a.prototype._version=3,a.fromSourceMap=function(e){var t=e.sourceRoot,r=new a({file:e.file,sourceRoot:t});return e.eachMapping(function(e){var i={generated:{line:e.generatedLine,column:e.generatedColumn}};e.source!=null&&(i.source=e.source,t!=null&&(i.source=n.relative(t,i.source)),i.original={line:e.originalLine,column:e.originalColumn},e.name!=null&&(i.name=e.name)),r.addMapping(i)}),e.sources.forEach(function(i){var a=i;t!==null&&(a=n.relative(t,i)),r._sources.has(a)||r._sources.add(a);var o=e.sourceContentFor(i);o!=null&&r.setSourceContent(i,o)}),r},a.prototype.addMapping=function(e){var t=n.getArg(e,`generated`),r=n.getArg(e,`original`,null),i=n.getArg(e,`source`,null),a=n.getArg(e,`name`,null);this._skipValidation||this._validateMapping(t,r,i,a),i!=null&&(i=String(i),this._sources.has(i)||this._sources.add(i)),a!=null&&(a=String(a),this._names.has(a)||this._names.add(a)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:r!=null&&r.line,originalColumn:r!=null&&r.column,source:i,name:a})},a.prototype.setSourceContent=function(e,t){var r=e;this._sourceRoot!=null&&(r=n.relative(this._sourceRoot,r)),t==null?this._sourcesContents&&(delete this._sourcesContents[n.toSetString(r)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null)):(this._sourcesContents||=Object.create(null),this._sourcesContents[n.toSetString(r)]=t)},a.prototype.applySourceMap=function(e,t,i){var a=t;if(t==null){if(e.file==null)throw Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`);a=e.file}var o=this._sourceRoot;o!=null&&(a=n.relative(o,a));var s=new r,c=new r;this._mappings.unsortedForEach(function(t){if(t.source===a&&t.originalLine!=null){var r=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});r.source!=null&&(t.source=r.source,i!=null&&(t.source=n.join(i,t.source)),o!=null&&(t.source=n.relative(o,t.source)),t.originalLine=r.line,t.originalColumn=r.column,r.name!=null&&(t.name=r.name))}var l=t.source;l!=null&&!s.has(l)&&s.add(l);var u=t.name;u!=null&&!c.has(u)&&c.add(u)},this),this._sources=s,this._names=c,e.sources.forEach(function(t){var r=e.sourceContentFor(t);r!=null&&(i!=null&&(t=n.join(i,t)),o!=null&&(t=n.relative(o,t)),this.setSourceContent(t,r))},this)},a.prototype._validateMapping=function(e,t,n,r){if(t&&typeof t.line!=`number`&&typeof t.column!=`number`)throw Error(`original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.`);if(!(e&&`line`in e&&`column`in e&&e.line>0&&e.column>=0&&!t&&!n&&!r)&&!(e&&`line`in e&&`column`in e&&t&&`line`in t&&`column`in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n))throw Error(`Invalid mapping: `+JSON.stringify({generated:e,source:n,original:t,name:r}))},a.prototype._serializeMappings=function(){for(var e=0,r=1,i=0,a=0,o=0,s=0,c=``,l,u,d,f,p=this._mappings.toArray(),m=0,h=p.length;m<h;m++){if(u=p[m],l=``,u.generatedLine!==r)for(e=0;u.generatedLine!==r;)l+=`;`,r++;else if(m>0){if(!n.compareByGeneratedPositionsInflated(u,p[m-1]))continue;l+=`,`}l+=t.encode(u.generatedColumn-e),e=u.generatedColumn,u.source!=null&&(f=this._sources.indexOf(u.source),l+=t.encode(f-s),s=f,l+=t.encode(u.originalLine-1-a),a=u.originalLine-1,l+=t.encode(u.originalColumn-i),i=u.originalColumn,u.name!=null&&(d=this._names.indexOf(u.name),l+=t.encode(d-o),o=d)),c+=l}return c},a.prototype._generateSourcesContent=function(e,t){return e.map(function(e){if(!this._sourcesContents)return null;t!=null&&(e=n.relative(t,e));var r=n.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null},this)},a.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(e.file=this._file),this._sourceRoot!=null&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},a.prototype.toString=function(){return JSON.stringify(this.toJSON())},e.SourceMapGenerator=a})),_S=a((e=>{e.GREATEST_LOWER_BOUND=1,e.LEAST_UPPER_BOUND=2;function t(n,r,i,a,o,s){var c=Math.floor((r-n)/2)+n,l=o(i,a[c],!0);return l===0?c:l>0?r-c>1?t(c,r,i,a,o,s):s==e.LEAST_UPPER_BOUND?r<a.length?r:-1:c:c-n>1?t(n,c,i,a,o,s):s==e.LEAST_UPPER_BOUND?c:n<0?-1:n}e.search=function(n,r,i,a){if(r.length===0)return-1;var o=t(-1,r.length,n,r,i,a||e.GREATEST_LOWER_BOUND);if(o<0)return-1;for(;o-1>=0&&i(r[o],r[o-1],!0)===0;)--o;return o}})),vS=a((e=>{function t(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function n(e,t){return Math.round(e+Math.random()*(t-e))}function r(e,i,a,o){if(a<o){var s=n(a,o),c=a-1;t(e,s,o);for(var l=e[o],u=a;u<o;u++)i(e[u],l)<=0&&(c+=1,t(e,c,u));t(e,c+1,u);var d=c+1;r(e,i,a,d-1),r(e,i,d+1,o)}}e.quickSort=function(e,t){r(e,t,0,e.length-1)}})),yS=a((e=>{var t=pS(),n=_S(),r=mS().ArraySet,i=fS(),a=vS().quickSort;function o(e,n){var r=e;return typeof e==`string`&&(r=t.parseSourceMapInput(e)),r.sections==null?new s(r,n):new l(r,n)}o.fromSourceMap=function(e,t){return s.fromSourceMap(e,t)},o.prototype._version=3,o.prototype.__generatedMappings=null,Object.defineProperty(o.prototype,`_generatedMappings`,{configurable:!0,enumerable:!0,get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}}),o.prototype.__originalMappings=null,Object.defineProperty(o.prototype,`_originalMappings`,{configurable:!0,enumerable:!0,get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}}),o.prototype._charIsMappingSeparator=function(e,t){var n=e.charAt(t);return n===`;`||n===`,`},o.prototype._parseMappings=function(e,t){throw Error(`Subclasses must implement _parseMappings`)},o.GENERATED_ORDER=1,o.ORIGINAL_ORDER=2,o.GREATEST_LOWER_BOUND=1,o.LEAST_UPPER_BOUND=2,o.prototype.eachMapping=function(e,n,r){var i=n||null,a=r||o.GENERATED_ORDER,s;switch(a){case o.GENERATED_ORDER:s=this._generatedMappings;break;case o.ORIGINAL_ORDER:s=this._originalMappings;break;default:throw Error(`Unknown order of iteration.`)}var c=this.sourceRoot;s.map(function(e){var n=e.source===null?null:this._sources.at(e.source);return n=t.computeSourceURL(c,n,this._sourceMapURL),{source:n,generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:e.name===null?null:this._names.at(e.name)}},this).forEach(e,i)},o.prototype.allGeneratedPositionsFor=function(e){var r=t.getArg(e,`line`),i={source:t.getArg(e,`source`),originalLine:r,originalColumn:t.getArg(e,`column`,0)};if(i.source=this._findSourceIndex(i.source),i.source<0)return[];var a=[],o=this._findMapping(i,this._originalMappings,`originalLine`,`originalColumn`,t.compareByOriginalPositions,n.LEAST_UPPER_BOUND);if(o>=0){var s=this._originalMappings[o];if(e.column===void 0)for(var c=s.originalLine;s&&s.originalLine===c;)a.push({line:t.getArg(s,`generatedLine`,null),column:t.getArg(s,`generatedColumn`,null),lastColumn:t.getArg(s,`lastGeneratedColumn`,null)}),s=this._originalMappings[++o];else for(var l=s.originalColumn;s&&s.originalLine===r&&s.originalColumn==l;)a.push({line:t.getArg(s,`generatedLine`,null),column:t.getArg(s,`generatedColumn`,null),lastColumn:t.getArg(s,`lastGeneratedColumn`,null)}),s=this._originalMappings[++o]}return a},e.SourceMapConsumer=o;function s(e,n){var i=e;typeof e==`string`&&(i=t.parseSourceMapInput(e));var a=t.getArg(i,`version`),o=t.getArg(i,`sources`),s=t.getArg(i,`names`,[]),c=t.getArg(i,`sourceRoot`,null),l=t.getArg(i,`sourcesContent`,null),u=t.getArg(i,`mappings`),d=t.getArg(i,`file`,null);if(a!=this._version)throw Error(`Unsupported version: `+a);c&&=t.normalize(c),o=o.map(String).map(t.normalize).map(function(e){return c&&t.isAbsolute(c)&&t.isAbsolute(e)?t.relative(c,e):e}),this._names=r.fromArray(s.map(String),!0),this._sources=r.fromArray(o,!0),this._absoluteSources=this._sources.toArray().map(function(e){return t.computeSourceURL(c,e,n)}),this.sourceRoot=c,this.sourcesContent=l,this._mappings=u,this._sourceMapURL=n,this.file=d}s.prototype=Object.create(o.prototype),s.prototype.consumer=o,s.prototype._findSourceIndex=function(e){var n=e;if(this.sourceRoot!=null&&(n=t.relative(this.sourceRoot,n)),this._sources.has(n))return this._sources.indexOf(n);var r;for(r=0;r<this._absoluteSources.length;++r)if(this._absoluteSources[r]==e)return r;return-1},s.fromSourceMap=function(e,n){var i=Object.create(s.prototype),o=i._names=r.fromArray(e._names.toArray(),!0),l=i._sources=r.fromArray(e._sources.toArray(),!0);i.sourceRoot=e._sourceRoot,i.sourcesContent=e._generateSourcesContent(i._sources.toArray(),i.sourceRoot),i.file=e._file,i._sourceMapURL=n,i._absoluteSources=i._sources.toArray().map(function(e){return t.computeSourceURL(i.sourceRoot,e,n)});for(var u=e._mappings.toArray().slice(),d=i.__generatedMappings=[],f=i.__originalMappings=[],p=0,m=u.length;p<m;p++){var h=u[p],g=new c;g.generatedLine=h.generatedLine,g.generatedColumn=h.generatedColumn,h.source&&(g.source=l.indexOf(h.source),g.originalLine=h.originalLine,g.originalColumn=h.originalColumn,h.name&&(g.name=o.indexOf(h.name)),f.push(g)),d.push(g)}return a(i.__originalMappings,t.compareByOriginalPositions),i},s.prototype._version=3,Object.defineProperty(s.prototype,`sources`,{get:function(){return this._absoluteSources.slice()}});function c(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}s.prototype._parseMappings=function(e,n){for(var r=1,o=0,s=0,l=0,u=0,d=0,f=e.length,p=0,m={},h={},g=[],_=[],v,y,b,x,S;p<f;)if(e.charAt(p)===`;`)r++,p++,o=0;else if(e.charAt(p)===`,`)p++;else{for(v=new c,v.generatedLine=r,x=p;x<f&&!this._charIsMappingSeparator(e,x);x++);if(y=e.slice(p,x),b=m[y],b)p+=y.length;else{for(b=[];p<x;)i.decode(e,p,h),S=h.value,p=h.rest,b.push(S);if(b.length===2)throw Error(`Found a source, but no line and column`);if(b.length===3)throw Error(`Found a source and line, but no column`);m[y]=b}v.generatedColumn=o+b[0],o=v.generatedColumn,b.length>1&&(v.source=u+b[1],u+=b[1],v.originalLine=s+b[2],s=v.originalLine,v.originalLine+=1,v.originalColumn=l+b[3],l=v.originalColumn,b.length>4&&(v.name=d+b[4],d+=b[4])),_.push(v),typeof v.originalLine==`number`&&g.push(v)}a(_,t.compareByGeneratedPositionsDeflated),this.__generatedMappings=_,a(g,t.compareByOriginalPositions),this.__originalMappings=g},s.prototype._findMapping=function(e,t,r,i,a,o){if(e[r]<=0)throw TypeError(`Line must be greater than or equal to 1, got `+e[r]);if(e[i]<0)throw TypeError(`Column must be greater than or equal to 0, got `+e[i]);return n.search(e,t,a,o)},s.prototype.computeColumnSpans=function(){for(var e=0;e<this._generatedMappings.length;++e){var t=this._generatedMappings[e];if(e+1<this._generatedMappings.length){var n=this._generatedMappings[e+1];if(t.generatedLine===n.generatedLine){t.lastGeneratedColumn=n.generatedColumn-1;continue}}t.lastGeneratedColumn=1/0}},s.prototype.originalPositionFor=function(e){var n={generatedLine:t.getArg(e,`line`),generatedColumn:t.getArg(e,`column`)},r=this._findMapping(n,this._generatedMappings,`generatedLine`,`generatedColumn`,t.compareByGeneratedPositionsDeflated,t.getArg(e,`bias`,o.GREATEST_LOWER_BOUND));if(r>=0){var i=this._generatedMappings[r];if(i.generatedLine===n.generatedLine){var a=t.getArg(i,`source`,null);a!==null&&(a=this._sources.at(a),a=t.computeSourceURL(this.sourceRoot,a,this._sourceMapURL));var s=t.getArg(i,`name`,null);return s!==null&&(s=this._names.at(s)),{source:a,line:t.getArg(i,`originalLine`,null),column:t.getArg(i,`originalColumn`,null),name:s}}}return{source:null,line:null,column:null,name:null}},s.prototype.hasContentsOfAllSources=function(){return this.sourcesContent?this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return e==null}):!1},s.prototype.sourceContentFor=function(e,n){if(!this.sourcesContent)return null;var r=this._findSourceIndex(e);if(r>=0)return this.sourcesContent[r];var i=e;this.sourceRoot!=null&&(i=t.relative(this.sourceRoot,i));var a;if(this.sourceRoot!=null&&(a=t.urlParse(this.sourceRoot))){var o=i.replace(/^file:\/\//,``);if(a.scheme==`file`&&this._sources.has(o))return this.sourcesContent[this._sources.indexOf(o)];if((!a.path||a.path==`/`)&&this._sources.has(`/`+i))return this.sourcesContent[this._sources.indexOf(`/`+i)]}if(n)return null;throw Error(`"`+i+`" is not in the SourceMap.`)},s.prototype.generatedPositionFor=function(e){var n=t.getArg(e,`source`);if(n=this._findSourceIndex(n),n<0)return{line:null,column:null,lastColumn:null};var r={source:n,originalLine:t.getArg(e,`line`),originalColumn:t.getArg(e,`column`)},i=this._findMapping(r,this._originalMappings,`originalLine`,`originalColumn`,t.compareByOriginalPositions,t.getArg(e,`bias`,o.GREATEST_LOWER_BOUND));if(i>=0){var a=this._originalMappings[i];if(a.source===r.source)return{line:t.getArg(a,`generatedLine`,null),column:t.getArg(a,`generatedColumn`,null),lastColumn:t.getArg(a,`lastGeneratedColumn`,null)}}return{line:null,column:null,lastColumn:null}},e.BasicSourceMapConsumer=s;function l(e,n){var i=e;typeof e==`string`&&(i=t.parseSourceMapInput(e));var a=t.getArg(i,`version`),s=t.getArg(i,`sections`);if(a!=this._version)throw Error(`Unsupported version: `+a);this._sources=new r,this._names=new r;var c={line:-1,column:0};this._sections=s.map(function(e){if(e.url)throw Error(`Support for url field in sections not implemented.`);var r=t.getArg(e,`offset`),i=t.getArg(r,`line`),a=t.getArg(r,`column`);if(i<c.line||i===c.line&&a<c.column)throw Error(`Section offsets must be ordered and non-overlapping.`);return c=r,{generatedOffset:{generatedLine:i+1,generatedColumn:a+1},consumer:new o(t.getArg(e,`map`),n)}})}l.prototype=Object.create(o.prototype),l.prototype.constructor=o,l.prototype._version=3,Object.defineProperty(l.prototype,`sources`,{get:function(){for(var e=[],t=0;t<this._sections.length;t++)for(var n=0;n<this._sections[t].consumer.sources.length;n++)e.push(this._sections[t].consumer.sources[n]);return e}}),l.prototype.originalPositionFor=function(e){var r={generatedLine:t.getArg(e,`line`),generatedColumn:t.getArg(e,`column`)},i=n.search(r,this._sections,function(e,t){return e.generatedLine-t.generatedOffset.generatedLine||e.generatedColumn-t.generatedOffset.generatedColumn}),a=this._sections[i];return a?a.consumer.originalPositionFor({line:r.generatedLine-(a.generatedOffset.generatedLine-1),column:r.generatedColumn-(a.generatedOffset.generatedLine===r.generatedLine?a.generatedOffset.generatedColumn-1:0),bias:e.bias}):{source:null,line:null,column:null,name:null}},l.prototype.hasContentsOfAllSources=function(){return this._sections.every(function(e){return e.consumer.hasContentsOfAllSources()})},l.prototype.sourceContentFor=function(e,t){for(var n=0;n<this._sections.length;n++){var r=this._sections[n].consumer.sourceContentFor(e,!0);if(r)return r}if(t)return null;throw Error(`"`+e+`" is not in the SourceMap.`)},l.prototype.generatedPositionFor=function(e){for(var n=0;n<this._sections.length;n++){var r=this._sections[n];if(r.consumer._findSourceIndex(t.getArg(e,`source`))!==-1){var i=r.consumer.generatedPositionFor(e);if(i)return{line:i.line+(r.generatedOffset.generatedLine-1),column:i.column+(r.generatedOffset.generatedLine===i.line?r.generatedOffset.generatedColumn-1:0)}}}return{line:null,column:null}},l.prototype._parseMappings=function(e,n){this.__generatedMappings=[],this.__originalMappings=[];for(var r=0;r<this._sections.length;r++)for(var i=this._sections[r],o=i.consumer._generatedMappings,s=0;s<o.length;s++){var c=o[s],l=i.consumer._sources.at(c.source);l=t.computeSourceURL(i.consumer.sourceRoot,l,this._sourceMapURL),this._sources.add(l),l=this._sources.indexOf(l);var u=null;c.name&&(u=i.consumer._names.at(c.name),this._names.add(u),u=this._names.indexOf(u));var d={source:l,generatedLine:c.generatedLine+(i.generatedOffset.generatedLine-1),generatedColumn:c.generatedColumn+(i.generatedOffset.generatedLine===c.generatedLine?i.generatedOffset.generatedColumn-1:0),originalLine:c.originalLine,originalColumn:c.originalColumn,name:u};this.__generatedMappings.push(d),typeof d.originalLine==`number`&&this.__originalMappings.push(d)}a(this.__generatedMappings,t.compareByGeneratedPositionsDeflated),a(this.__originalMappings,t.compareByOriginalPositions)},e.IndexedSourceMapConsumer=l})),bS=a((e=>{var t=gS().SourceMapGenerator,n=pS(),r=/(\r?\n)/,i=10,a=`$$$isSourceNode$$$`;function o(e,t,n,r,i){this.children=[],this.sourceContents={},this.line=e??null,this.column=t??null,this.source=n??null,this.name=i??null,this[a]=!0,r!=null&&this.add(r)}o.fromStringWithSourceMap=function(e,t,i){var a=new o,s=e.split(r),c=0,l=function(){return e()+(e()||``);function e(){return c<s.length?s[c++]:void 0}},u=1,d=0,f=null;return t.eachMapping(function(e){if(f!==null)if(u<e.generatedLine)p(f,l()),u++,d=0;else{var t=s[c]||``,n=t.substr(0,e.generatedColumn-d);s[c]=t.substr(e.generatedColumn-d),d=e.generatedColumn,p(f,n),f=e;return}for(;u<e.generatedLine;)a.add(l()),u++;if(d<e.generatedColumn){var t=s[c]||``;a.add(t.substr(0,e.generatedColumn)),s[c]=t.substr(e.generatedColumn),d=e.generatedColumn}f=e},this),c<s.length&&(f&&p(f,l()),a.add(s.splice(c).join(``))),t.sources.forEach(function(e){var r=t.sourceContentFor(e);r!=null&&(i!=null&&(e=n.join(i,e)),a.setSourceContent(e,r))}),a;function p(e,t){if(e===null||e.source===void 0)a.add(t);else{var r=i?n.join(i,e.source):e.source;a.add(new o(e.originalLine,e.originalColumn,r,t,e.name))}}},o.prototype.add=function(e){if(Array.isArray(e))e.forEach(function(e){this.add(e)},this);else if(e[a]||typeof e==`string`)e&&this.children.push(e);else throw TypeError(`Expected a SourceNode, string, or an array of SourceNodes and strings. Got `+e);return this},o.prototype.prepend=function(e){if(Array.isArray(e))for(var t=e.length-1;t>=0;t--)this.prepend(e[t]);else if(e[a]||typeof e==`string`)this.children.unshift(e);else throw TypeError(`Expected a SourceNode, string, or an array of SourceNodes and strings. Got `+e);return this},o.prototype.walk=function(e){for(var t,n=0,r=this.children.length;n<r;n++)t=this.children[n],t[a]?t.walk(e):t!==``&&e(t,{source:this.source,line:this.line,column:this.column,name:this.name})},o.prototype.join=function(e){var t,n,r=this.children.length;if(r>0){for(t=[],n=0;n<r-1;n++)t.push(this.children[n]),t.push(e);t.push(this.children[n]),this.children=t}return this},o.prototype.replaceRight=function(e,t){var n=this.children[this.children.length-1];return n[a]?n.replaceRight(e,t):typeof n==`string`?this.children[this.children.length-1]=n.replace(e,t):this.children.push(``.replace(e,t)),this},o.prototype.setSourceContent=function(e,t){this.sourceContents[n.toSetString(e)]=t},o.prototype.walkSourceContents=function(e){for(var t=0,r=this.children.length;t<r;t++)this.children[t][a]&&this.children[t].walkSourceContents(e);for(var i=Object.keys(this.sourceContents),t=0,r=i.length;t<r;t++)e(n.fromSetString(i[t]),this.sourceContents[i[t]])},o.prototype.toString=function(){var e=``;return this.walk(function(t){e+=t}),e},o.prototype.toStringWithSourceMap=function(e){var n={code:``,line:1,column:0},r=new t(e),a=!1,o=null,s=null,c=null,l=null;return this.walk(function(e,t){n.code+=e,t.source!==null&&t.line!==null&&t.column!==null?((o!==t.source||s!==t.line||c!==t.column||l!==t.name)&&r.addMapping({source:t.source,original:{line:t.line,column:t.column},generated:{line:n.line,column:n.column},name:t.name}),o=t.source,s=t.line,c=t.column,l=t.name,a=!0):a&&=(r.addMapping({generated:{line:n.line,column:n.column}}),o=null,!1);for(var u=0,d=e.length;u<d;u++)e.charCodeAt(u)===i?(n.line++,n.column=0,u+1===d?(o=null,a=!1):a&&r.addMapping({source:t.source,original:{line:t.line,column:t.column},generated:{line:n.line,column:n.column},name:t.name})):n.column++}),this.walkSourceContents(function(e,t){r.setSourceContent(e,t)}),{code:n.code,map:r}},e.SourceNode=o})),xS=a((e=>{e.SourceMapGenerator=gS().SourceMapGenerator,e.SourceMapConsumer=yS().SourceMapConsumer,e.SourceNode=bS().SourceNode})),SS=a(((e,t)=>{e.__esModule=!0;var n=Lx(),r=void 0;try{(typeof define!=`function`||!define.amd)&&(r=xS().SourceNode)}catch{}r||(r=function(e,t,n,r){this.src=``,r&&this.add(r)},r.prototype={add:function(e){n.isArray(e)&&(e=e.join(``)),this.src+=e},prepend:function(e){n.isArray(e)&&(e=e.join(``)),this.src=e+this.src},toStringWithSourceMap:function(){return{code:this.toString()}},toString:function(){return this.src}});function i(e,t,r){if(n.isArray(e)){for(var i=[],a=0,o=e.length;a<o;a++)i.push(t.wrap(e[a],r));return i}else if(typeof e==`boolean`||typeof e==`number`)return e+``;return e}function a(e){this.srcFile=e,this.source=[]}a.prototype={isEmpty:function(){return!this.source.length},prepend:function(e,t){this.source.unshift(this.wrap(e,t))},push:function(e,t){this.source.push(this.wrap(e,t))},merge:function(){var e=this.empty();return this.each(function(t){e.add([` `,t,`
|
|
1824
|
+
`])}),e},each:function(e){for(var t=0,n=this.source.length;t<n;t++)e(this.source[t])},empty:function(){var e=this.currentLocation||{start:{}};return new r(e.start.line,e.start.column,this.srcFile)},wrap:function(e){var t=arguments.length<=1||arguments[1]===void 0?this.currentLocation||{start:{}}:arguments[1];return e instanceof r?e:(e=i(e,this,t),new r(t.start.line,t.start.column,this.srcFile,e))},functionCall:function(e,t,n){return n=this.generateList(n),this.wrap([e,t?`.`+t+`(`:`(`,n,`)`])},quotedString:function(e){return`"`+(e+``).replace(/\\/g,`\\\\`).replace(/"/g,`\\"`).replace(/\n/g,`\\n`).replace(/\r/g,`\\r`).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)+`"`},objectLiteral:function(e){var t=this,n=[];Object.keys(e).forEach(function(r){var a=i(e[r],t);a!==`undefined`&&n.push([t.quotedString(r),`:`,a])});var r=this.generateList(n);return r.prepend(`{`),r.add(`}`),r},generateList:function(e){for(var t=this.empty(),n=0,r=e.length;n<r;n++)n&&t.add(`,`),t.add(i(e[n],this));return t},generateArray:function(e){var t=this.generateList(e);return t.prepend(`[`),t.add(`]`),t}},e.default=a,t.exports=e.default})),CS=a(((e,t)=>{e.__esModule=!0;function n(e){return e&&e.__esModule?e:{default:e}}var r=Qx(),i=n(Rx()),a=Lx(),o=n(SS());function s(e){this.value=e}function c(){}c.prototype={nameLookup:function(e,t){return this.internalNameLookup(e,t)},depthedLookup:function(e){return[this.aliasable(`container.lookup`),`(depths, `,JSON.stringify(e),`)`]},compilerInfo:function(){var e=r.COMPILER_REVISION;return[e,r.REVISION_CHANGES[e]]},appendToBuffer:function(e,t,n){return a.isArray(e)||(e=[e]),e=this.source.wrap(e,t),this.environment.isSimple?[`return `,e,`;`]:n?[`buffer += `,e,`;`]:(e.appendToBuffer=!0,e)},initializeBuffer:function(){return this.quotedString(``)},internalNameLookup:function(e,t){return this.lookupPropertyFunctionIsUsed=!0,[`lookupProperty(`,e,`,`,JSON.stringify(t),`)`]},lookupPropertyFunctionIsUsed:!1,compile:function(e,t,n,r){this.environment=e,this.options=t,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!r,this.name=this.environment.name,this.isChild=!!n,this.context=n||{decorators:[],programs:[],environments:[]},this.preamble(),this.stackSlot=0,this.stackVars=[],this.aliases={},this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.blockParams=[],this.compileChildren(e,t),this.useDepths=this.useDepths||e.useDepths||e.useDecorators||this.options.compat,this.useBlockParams=this.useBlockParams||e.useBlockParams;var a=e.opcodes,o=void 0,s=void 0,c=void 0,l=void 0;for(c=0,l=a.length;c<l;c++)o=a[c],this.source.currentLocation=o.loc,s||=o.loc,this[o.opcode].apply(this,o.args);if(this.source.currentLocation=s,this.pushSource(``),this.stackSlot||this.inlineStack.length||this.compileStack.length)throw new i.default(`Compile completed with content left on stack`);this.decorators.isEmpty()?this.decorators=void 0:(this.useDecorators=!0,this.decorators.prepend([`var decorators = container.decorators, `,this.lookupPropertyFunctionVarDeclaration(),`;
|
|
1825
|
+
`]),this.decorators.push(`return fn;`),r?this.decorators=Function.apply(this,[`fn`,`props`,`container`,`depth0`,`data`,`blockParams`,`depths`,this.decorators.merge()]):(this.decorators.prepend(`function(fn, props, container, depth0, data, blockParams, depths) {
|
|
1826
|
+
`),this.decorators.push(`}
|
|
1827
|
+
`),this.decorators=this.decorators.merge()));var u=this.createFunctionContext(r);if(this.isChild)return u;var d={compiler:this.compilerInfo(),main:u};this.decorators&&(d.main_d=this.decorators,d.useDecorators=!0);var f=this.context,p=f.programs,m=f.decorators;for(c=0,l=p.length;c<l;c++)p[c]&&(d[c]=p[c],m[c]&&(d[c+`_d`]=m[c],d.useDecorators=!0));return this.environment.usePartial&&(d.usePartial=!0),this.options.data&&(d.useData=!0),this.useDepths&&(d.useDepths=!0),this.useBlockParams&&(d.useBlockParams=!0),this.options.compat&&(d.compat=!0),r?d.compilerOptions=this.options:(d.compiler=JSON.stringify(d.compiler),this.source.currentLocation={start:{line:1,column:0}},d=this.objectLiteral(d),t.srcName?(d=d.toStringWithSourceMap({file:t.destName}),d.map=d.map&&d.map.toString()):d=d.toString()),d},preamble:function(){this.lastContext=0,this.source=new o.default(this.options.srcName),this.decorators=new o.default(this.options.srcName)},createFunctionContext:function(e){var t=this,n=``,r=this.stackVars.concat(this.registers.list);r.length>0&&(n+=`, `+r.join(`, `));var i=0;Object.keys(this.aliases).forEach(function(e){var r=t.aliases[e];r.children&&r.referenceCount>1&&(n+=`, alias`+ ++i+`=`+e,r.children[0]=`alias`+i)}),this.lookupPropertyFunctionIsUsed&&(n+=`, `+this.lookupPropertyFunctionVarDeclaration());var a=[`container`,`depth0`,`helpers`,`partials`,`data`];(this.useBlockParams||this.useDepths)&&a.push(`blockParams`),this.useDepths&&a.push(`depths`);var o=this.mergeSource(n);return e?(a.push(o),Function.apply(this,a)):this.source.wrap([`function(`,a.join(`,`),`) {
|
|
1828
|
+
`,o,`}`])},mergeSource:function(e){var t=this.environment.isSimple,n=!this.forceBuffer,r=void 0,i=void 0,a=void 0,o=void 0;return this.source.each(function(e){e.appendToBuffer?(a?e.prepend(` + `):a=e,o=e):(a&&=(i?a.prepend(`buffer += `):r=!0,o.add(`;`),o=void 0),i=!0,t||(n=!1))}),n?a?(a.prepend(`return `),o.add(`;`)):i||this.source.push(`return "";`):(e+=`, buffer = `+(r?``:this.initializeBuffer()),a?(a.prepend(`return buffer + `),o.add(`;`)):this.source.push(`return buffer;`)),e&&this.source.prepend(`var `+e.substring(2)+(r?``:`;
|
|
1829
|
+
`)),this.source.merge()},lookupPropertyFunctionVarDeclaration:function(){return`lookupProperty = container.lookupProperty || function(parent, propertyName) {
|
|
1830
|
+
if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
|
|
1831
|
+
return parent[propertyName];
|
|
1832
|
+
}
|
|
1833
|
+
return undefined
|
|
1834
|
+
}`},blockValue:function(e){var t=this.aliasable(`container.hooks.blockHelperMissing`),n=[this.contextName(0)];this.setupHelperArgs(e,0,n);var r=this.popStack();n.splice(1,0,r),this.push(this.source.functionCall(t,`call`,n))},ambiguousBlockValue:function(){var e=this.aliasable(`container.hooks.blockHelperMissing`),t=[this.contextName(0)];this.setupHelperArgs(``,0,t,!0),this.flushInline();var n=this.topStack();t.splice(1,0,n),this.pushSource([`if (!`,this.lastHelper,`) { `,n,` = `,this.source.functionCall(e,`call`,t),`}`])},appendContent:function(e){this.pendingContent?e=this.pendingContent+e:this.pendingLocation=this.source.currentLocation,this.pendingContent=e},append:function(){if(this.isInline())this.replaceStack(function(e){return[` != null ? `,e,` : ""`]}),this.pushSource(this.appendToBuffer(this.popStack()));else{var e=this.popStack();this.pushSource([`if (`,e,` != null) { `,this.appendToBuffer(e,void 0,!0),` }`]),this.environment.isSimple&&this.pushSource([`else { `,this.appendToBuffer(`''`,void 0,!0),` }`])}},appendEscaped:function(){this.pushSource(this.appendToBuffer([this.aliasable(`container.escapeExpression`),`(`,this.popStack(),`)`]))},getContext:function(e){this.lastContext=e},pushContext:function(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function(e,t,n,r){var i=0;!r&&this.options.compat&&!this.lastContext?this.push(this.depthedLookup(e[i++])):this.pushContext(),this.resolvePath(`context`,e,i,t,n)},lookupBlockParam:function(e,t){this.useBlockParams=!0,this.push([`blockParams[`,e[0],`][`,e[1],`]`]),this.resolvePath(`context`,t,1)},lookupData:function(e,t,n){e?this.pushStackLiteral(`container.data(data, `+e+`)`):this.pushStackLiteral(`data`),this.resolvePath(`data`,t,0,!0,n)},resolvePath:function(e,t,n,r,i){var a=this;if(this.options.strict||this.options.assumeObjects){this.push(l(this.options.strict&&i,this,t,n,e));return}for(var o=t.length;n<o;n++)this.replaceStack(function(i){var o=a.nameLookup(i,t[n],e);return r?[` && `,o]:[` != null ? `,o,` : `,i]})},resolvePossibleLambda:function(){this.push([this.aliasable(`container.lambda`),`(`,this.popStack(),`, `,this.contextName(0),`)`])},pushStringParam:function(e,t){this.pushContext(),this.pushString(t),t!==`SubExpression`&&(typeof e==`string`?this.pushString(e):this.pushStackLiteral(e))},emptyHash:function(e){this.trackIds&&this.push(`{}`),this.stringParams&&(this.push(`{}`),this.push(`{}`)),this.pushStackLiteral(e?`undefined`:`{}`)},pushHash:function(){this.hash&&this.hashes.push(this.hash),this.hash={values:{},types:[],contexts:[],ids:[]}},popHash:function(){var e=this.hash;this.hash=this.hashes.pop(),this.trackIds&&this.push(this.objectLiteral(e.ids)),this.stringParams&&(this.push(this.objectLiteral(e.contexts)),this.push(this.objectLiteral(e.types))),this.push(this.objectLiteral(e.values))},pushString:function(e){this.pushStackLiteral(this.quotedString(e))},pushLiteral:function(e){this.pushStackLiteral(e)},pushProgram:function(e){e==null?this.pushStackLiteral(null):this.pushStackLiteral(this.programExpression(e))},registerDecorator:function(e,t){var n=this.nameLookup(`decorators`,t,`decorator`),r=this.setupHelperArgs(t,e);this.decorators.push([`fn = `,this.decorators.functionCall(n,``,[`fn`,`props`,`container`,r]),` || fn;`])},invokeHelper:function(e,t,n){var r=this.popStack(),i=this.setupHelper(e,t),a=[];n&&a.push(i.name),a.push(r),this.options.strict||a.push(this.aliasable(`container.hooks.helperMissing`));var o=[`(`,this.itemsSeparatedBy(a,`||`),`)`],s=this.source.functionCall(o,`call`,i.callParams);this.push(s)},itemsSeparatedBy:function(e,t){var n=[];n.push(e[0]);for(var r=1;r<e.length;r++)n.push(t,e[r]);return n},invokeKnownHelper:function(e,t){var n=this.setupHelper(e,t);this.push(this.source.functionCall(n.name,`call`,n.callParams))},invokeAmbiguous:function(e,t){this.useRegister(`helper`);var n=this.popStack();this.emptyHash();var r=this.setupHelper(0,e,t),i=[`(`,`(helper = `,this.lastHelper=this.nameLookup(`helpers`,e,`helper`),` || `,n,`)`];this.options.strict||(i[0]=`(helper = `,i.push(` != null ? helper : `,this.aliasable(`container.hooks.helperMissing`))),this.push([`(`,i,r.paramsInit?[`),(`,r.paramsInit]:[],`),`,`(typeof helper === `,this.aliasable(`"function"`),` ? `,this.source.functionCall(`helper`,`call`,r.callParams),` : helper))`])},invokePartial:function(e,t,n){var r=[],i=this.setupParams(t,1,r);e&&(t=this.popStack(),delete i.name),n&&(i.indent=JSON.stringify(n)),i.helpers=`helpers`,i.partials=`partials`,i.decorators=`container.decorators`,e?r.unshift(t):r.unshift(this.nameLookup(`partials`,t,`partial`)),this.options.compat&&(i.depths=`depths`),i=this.objectLiteral(i),r.push(i),this.push(this.source.functionCall(`container.invokePartial`,``,r))},assignToHash:function(e){var t=this.popStack(),n=void 0,r=void 0,i=void 0;this.trackIds&&(i=this.popStack()),this.stringParams&&(r=this.popStack(),n=this.popStack());var a=this.hash;n&&(a.contexts[e]=n),r&&(a.types[e]=r),i&&(a.ids[e]=i),a.values[e]=t},pushId:function(e,t,n){e===`BlockParam`?this.pushStackLiteral(`blockParams[`+t[0]+`].path[`+t[1]+`]`+(n?` + `+JSON.stringify(`.`+n):``)):e===`PathExpression`?this.pushString(t):e===`SubExpression`?this.pushStackLiteral(`true`):this.pushStackLiteral(`null`)},compiler:c,compileChildren:function(e,t){for(var n=e.children,r=void 0,i=void 0,a=0,o=n.length;a<o;a++){r=n[a],i=new this.compiler;var s=this.matchExistingProgram(r);if(s==null){this.context.programs.push(``);var c=this.context.programs.length;r.index=c,r.name=`program`+c,this.context.programs[c]=i.compile(r,t,this.context,!this.precompile),this.context.decorators[c]=i.decorators,this.context.environments[c]=r,this.useDepths=this.useDepths||i.useDepths,this.useBlockParams=this.useBlockParams||i.useBlockParams,r.useDepths=this.useDepths,r.useBlockParams=this.useBlockParams}else r.index=s.index,r.name=`program`+s.index,this.useDepths=this.useDepths||s.useDepths,this.useBlockParams=this.useBlockParams||s.useBlockParams}},matchExistingProgram:function(e){for(var t=0,n=this.context.environments.length;t<n;t++){var r=this.context.environments[t];if(r&&r.equals(e))return r}},programExpression:function(e){var t=this.environment.children[e],n=[t.index,`data`,t.blockParams];return(this.useBlockParams||this.useDepths)&&n.push(`blockParams`),this.useDepths&&n.push(`depths`),`container.program(`+n.join(`, `)+`)`},useRegister:function(e){this.registers[e]||(this.registers[e]=!0,this.registers.list.push(e))},push:function(e){return e instanceof s||(e=this.source.wrap(e)),this.inlineStack.push(e),e},pushStackLiteral:function(e){this.push(new s(e))},pushSource:function(e){this.pendingContent&&=(this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent),this.pendingLocation)),void 0),e&&this.source.push(e)},replaceStack:function(e){var t=[`(`],n=void 0,r=void 0,a=void 0;if(!this.isInline())throw new i.default(`replaceStack on non-inline`);var o=this.popStack(!0);if(o instanceof s)n=[o.value],t=[`(`,n],a=!0;else{r=!0;var c=this.incrStack();t=[`((`,this.push(c),` = `,o,`)`],n=this.topStack()}var l=e.call(this,n);a||this.popStack(),r&&this.stackSlot--,this.push(t.concat(l,`)`))},incrStack:function(){return this.stackSlot++,this.stackSlot>this.stackVars.length&&this.stackVars.push(`stack`+this.stackSlot),this.topStackName()},topStackName:function(){return`stack`+this.stackSlot},flushInline:function(){var e=this.inlineStack;this.inlineStack=[];for(var t=0,n=e.length;t<n;t++){var r=e[t];if(r instanceof s)this.compileStack.push(r);else{var i=this.incrStack();this.pushSource([i,` = `,r,`;`]),this.compileStack.push(i)}}},isInline:function(){return this.inlineStack.length},popStack:function(e){var t=this.isInline(),n=(t?this.inlineStack:this.compileStack).pop();if(!e&&n instanceof s)return n.value;if(!t){if(!this.stackSlot)throw new i.default(`Invalid stack pop`);this.stackSlot--}return n},topStack:function(){var e=this.isInline()?this.inlineStack:this.compileStack,t=e[e.length-1];return t instanceof s?t.value:t},contextName:function(e){return this.useDepths&&e?`depths[`+e+`]`:`depth`+e},quotedString:function(e){return this.source.quotedString(e)},objectLiteral:function(e){return this.source.objectLiteral(e)},aliasable:function(e){var t=this.aliases[e];return t?(t.referenceCount++,t):(t=this.aliases[e]=this.source.wrap(e),t.aliasable=!0,t.referenceCount=1,t)},setupHelper:function(e,t,n){var r=[];return{params:r,paramsInit:this.setupHelperArgs(t,e,r,n),name:this.nameLookup(`helpers`,t,`helper`),callParams:[this.aliasable(this.contextName(0)+` != null ? `+this.contextName(0)+` : (container.nullContext || {})`)].concat(r)}},setupParams:function(e,t,n){var r={},i=[],a=[],o=[],s=!n,c=void 0;s&&(n=[]),r.name=this.quotedString(e),r.hash=this.popStack(),this.trackIds&&(r.hashIds=this.popStack()),this.stringParams&&(r.hashTypes=this.popStack(),r.hashContexts=this.popStack());var l=this.popStack(),u=this.popStack();(u||l)&&(r.fn=u||`container.noop`,r.inverse=l||`container.noop`);for(var d=t;d--;)c=this.popStack(),n[d]=c,this.trackIds&&(o[d]=this.popStack()),this.stringParams&&(a[d]=this.popStack(),i[d]=this.popStack());return s&&(r.args=this.source.generateArray(n)),this.trackIds&&(r.ids=this.source.generateArray(o)),this.stringParams&&(r.types=this.source.generateArray(a),r.contexts=this.source.generateArray(i)),this.options.data&&(r.data=`data`),this.useBlockParams&&(r.blockParams=`blockParams`),r},setupHelperArgs:function(e,t,n,r){var i=this.setupParams(e,t,n);return i.loc=JSON.stringify(this.source.currentLocation),i=this.objectLiteral(i),r?(this.useRegister(`options`),n.push(`options`),[`options=`,i]):n?(n.push(i),``):i}},(function(){for(var e=`break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield await null true false`.split(` `),t=c.RESERVED_WORDS={},n=0,r=e.length;n<r;n++)t[e[n]]=!0})(),c.isValidJavaScriptVariableName=function(e){return!c.RESERVED_WORDS[e]&&/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(e)};function l(e,t,n,r,i){var a=t.popStack(),o=n.length;for(e&&o--;r<o;r++)a=t.nameLookup(a,n[r],i);return e?[t.aliasable(`container.strict`),`(`,a,`, `,t.quotedString(n[r]),`, `,JSON.stringify(t.source.currentLocation),` )`]:a}e.default=c,t.exports=e.default})),wS=P(a(((e,t)=>{e.__esModule=!0;function n(e){return e&&e.__esModule?e:{default:e}}var r=n(rS()),i=n(iS()),a=lS(),o=uS(),s=n(CS()),c=n(oS()),l=n(nS()),u=r.default.create;function d(){var e=u();return e.compile=function(t,n){return o.compile(t,n,e)},e.precompile=function(t,n){return o.precompile(t,n,e)},e.AST=i.default,e.Compiler=o.Compiler,e.JavaScriptCompiler=s.default,e.Parser=a.parser,e.parse=a.parse,e.parseWithoutProcessing=a.parseWithoutProcessing,e}var f=d();f.create=d,l.default(f),f.Visitor=c.default,f.default=f,e.default=f,t.exports=e.default}))(),1),TS=[{id:`agentThreadMessage`,body:`[bb message from thread:{{senderThreadId}}; reply with \`bb thread tell {{senderThreadId}} "<your response>"\`]
|
|
1835
|
+
|
|
1836
|
+
{{messageText}}`,fileName:`agent-thread-message.md`,kind:`prompt`,title:`Agent Thread Message`,summary:`Wraps a bb CLI message from one agent thread to another.`,intent:`Tell the receiving agent which thread sent the message and how to reply.`,editingNotes:`Keep the response command in the prefix so standard agent instructions do not need special cross-thread message guidance.`,variables:{senderThreadId:`The thread ID that sent the message.`,messageText:`The original message text sent by the agent.`}},{id:`bbGuideAsync`,body:`Async scheduled nudges
|
|
1837
|
+
|
|
1838
|
+
Use \`ASYNC.md\` in thread storage when the system should wake a manager thread
|
|
1839
|
+
later for reminders, recurring check-ins, or follow-up work.
|
|
1840
|
+
|
|
1841
|
+
\`ASYNC.md\` is Markdown with YAML frontmatter:
|
|
1842
|
+
|
|
1843
|
+
\`\`\`yaml
|
|
1844
|
+
---
|
|
1845
|
+
timezone: America/Los_Angeles
|
|
1846
|
+
schedules:
|
|
1847
|
+
- name: daily-recap
|
|
1848
|
+
cron: "0 8 * * 1-5"
|
|
1849
|
+
- name: deploy-check
|
|
1850
|
+
cron: "0 */2 * * *"
|
|
1851
|
+
timezone: UTC
|
|
1852
|
+
---
|
|
1853
|
+
\`\`\`
|
|
1854
|
+
|
|
1855
|
+
Each schedule has a matching \`## <name>\` section in the body with instructions
|
|
1856
|
+
for your future self. The top-level \`timezone\` defaults to UTC; each schedule
|
|
1857
|
+
can override it.
|
|
1858
|
+
|
|
1859
|
+
For one-off reminders like "in 10 minutes", encode the next daily occurrence
|
|
1860
|
+
and note in the body to remove the schedule after it fires once.
|
|
1861
|
+
|
|
1862
|
+
Keep schedule \`name\` values stable. The server syncs entries by name, so
|
|
1863
|
+
renaming one creates a new schedule rather than editing it.
|
|
1864
|
+
|
|
1865
|
+
Constraints:
|
|
1866
|
+
|
|
1867
|
+
- No more than 20 schedules.
|
|
1868
|
+
- No interval shorter than 5 minutes.
|
|
1869
|
+
- The cron month field must stay \`*\`.
|
|
1870
|
+
|
|
1871
|
+
When a scheduled nudge arrives, read the matching section in \`ASYNC.md\` and
|
|
1872
|
+
decide whether there is real work to do. Only message the user when the nudge
|
|
1873
|
+
produced something useful. Remove schedules that are no longer needed.`,fileName:`bb-guide-async.md`,kind:`instruction`,title:`bb Guide - Async`,summary:`Scheduled nudge reference for ASYNC.md.`,intent:`Explain how to define scheduled nudges for manager threads.`,editingNotes:`Keep this as the canonical ASYNC.md syntax reference. Manager prompts should point here instead of inlining schedule syntax.`,variables:{}},{id:`bbGuideEnvironments`,body:`Environment commands
|
|
1874
|
+
|
|
1875
|
+
Environments determine where threads run. Multiple threads can share an environment
|
|
1876
|
+
(e.g., a coding thread and a review thread in the same worktree).
|
|
1877
|
+
|
|
1878
|
+
bb environment show <id> Show environment details (path, branch, status)
|
|
1879
|
+
|
|
1880
|
+
bb environment update <id> Update environment metadata
|
|
1881
|
+
--merge-base-branch <branch> Set merge-base branch override
|
|
1882
|
+
--clear-merge-base-branch Clear merge-base override
|
|
1883
|
+
|
|
1884
|
+
bb environment commit <id> Create a commit in the environment
|
|
1885
|
+
|
|
1886
|
+
bb environment squash-merge <id> Squash-merge into a target branch
|
|
1887
|
+
--merge-base-branch <branch> Target branch (required)`,fileName:`bb-guide-environments.md`,kind:`instruction`,title:`bb Guide — Environments`,summary:`Command reference for environment inspection, commits, and merges.`,intent:`Provide complete environment command documentation for agents.`,editingNotes:`Keep flags accurate against the CLI implementation.`,variables:{}},{id:`bbGuideHosts`,body:`Host commands
|
|
1888
|
+
|
|
1889
|
+
Hosts are where environments run.
|
|
1890
|
+
|
|
1891
|
+
- Persistent hosts are long-lived machines (your laptop, a remote server).
|
|
1892
|
+
|
|
1893
|
+
bb host list List persistent hosts with status
|
|
1894
|
+
|
|
1895
|
+
Host status values: connected, disconnected.`,fileName:`bb-guide-hosts.md`,kind:`instruction`,title:`bb Guide — Hosts`,summary:`Command reference for listing and understanding hosts.`,intent:`Provide complete host command documentation for agents.`,editingNotes:`Keep flags accurate against the CLI implementation.`,variables:{}},{id:`bbGuideManagerTemplates`,body:`Manager templates
|
|
1896
|
+
|
|
1897
|
+
Manager templates are named bundles of starter files for manager thread
|
|
1898
|
+
storage. When bb starts a new manager thread, the server resolves a template
|
|
1899
|
+
and copies that template's top-level regular files into the new manager's
|
|
1900
|
+
thread storage before the host daemon receives the initial \`thread.start\`
|
|
1901
|
+
command. This is how a fresh manager can boot with starter \`PREFERENCES.md\`,
|
|
1902
|
+
\`STATUS.html\`, \`ASYNC.md\`, or other storage files.
|
|
1903
|
+
|
|
1904
|
+
Directory layout:
|
|
1905
|
+
|
|
1906
|
+
\`\`\`text
|
|
1907
|
+
<bb-data-dir>/manager-templates/
|
|
1908
|
+
active
|
|
1909
|
+
default/
|
|
1910
|
+
STATUS.html
|
|
1911
|
+
sawyer-next/
|
|
1912
|
+
PREFERENCES.md
|
|
1913
|
+
STATUS.html
|
|
1914
|
+
\`\`\`
|
|
1915
|
+
|
|
1916
|
+
In this guide, \`<bb-data-dir>\` is your bb data directory. Packaged installs
|
|
1917
|
+
default to \`$HOME/.bb\`. In source development, \`pnpm dev\` sets \`BB_DATA_DIR\`
|
|
1918
|
+
to the current checkout's data directory; use \`$BB_DATA_DIR/manager-templates/\`.
|
|
1919
|
+
Override packaged installs with the \`BB_DATA_DIR\` env var.
|
|
1920
|
+
|
|
1921
|
+
\`active\` is a plain text file. bb reads the first line, trims it, and uses it
|
|
1922
|
+
as the template name. Missing or empty \`active\` means \`default\`. An invalid
|
|
1923
|
+
name logs a warning and falls back to \`default\`. Template names must be one
|
|
1924
|
+
directory name: 1-128 characters, no \`/\` or \`\\\`, and not \`.\` or \`..\`.
|
|
1925
|
+
|
|
1926
|
+
Each subdirectory is a template set. The directory name is the template name.
|
|
1927
|
+
|
|
1928
|
+
What gets seeded:
|
|
1929
|
+
|
|
1930
|
+
bb copies every top-level regular file from the selected template directory
|
|
1931
|
+
into \`<bb-data-dir>/thread-storage/<manager-thread-id>/\`. There is no filename
|
|
1932
|
+
allowlist: \`PREFERENCES.md\`, \`STATUS.html\`, \`STATUS.md\`, and \`ASYNC.md\` are
|
|
1933
|
+
conventions, not the only files allowed. Subdirectories and symlinks are
|
|
1934
|
+
ignored. Dotfiles are copied if they are regular files. Existing destination
|
|
1935
|
+
files are left as-is; seeding does not overwrite, delete, or refresh files.
|
|
1936
|
+
|
|
1937
|
+
If \`default/\` is missing, bb uses a bundled fallback template containing only
|
|
1938
|
+
\`STATUS.html\`. If \`default/\` exists but is empty, no bundled files are mixed
|
|
1939
|
+
in. If a selected non-default template is missing, bb logs a warning and skips
|
|
1940
|
+
storage seeding.
|
|
1941
|
+
|
|
1942
|
+
When it runs:
|
|
1943
|
+
|
|
1944
|
+
Seeding happens while building the manager \`thread.start\` command, normally
|
|
1945
|
+
after \`POST /api/v1/projects/:id/managers\` or \`bb manager hire\` creates the
|
|
1946
|
+
manager and the environment is ready. It happens before the host daemon starts
|
|
1947
|
+
the provider thread. The copy operation is safe to run more than once because
|
|
1948
|
+
existing files are skipped; it is not a refresh mechanism for managers that
|
|
1949
|
+
already have storage.
|
|
1950
|
+
|
|
1951
|
+
Selecting a template:
|
|
1952
|
+
|
|
1953
|
+
For one manager, pass a template name at hire time:
|
|
1954
|
+
|
|
1955
|
+
\`\`\`bash
|
|
1956
|
+
bb manager hire --template sawyer-next
|
|
1957
|
+
\`\`\`
|
|
1958
|
+
|
|
1959
|
+
\`--template\` overrides the \`active\` pointer for that manager creation only.
|
|
1960
|
+
|
|
1961
|
+
For future managers by default, edit the active pointer:
|
|
1962
|
+
|
|
1963
|
+
\`\`\`bash
|
|
1964
|
+
DATA_DIR="\${BB_DATA_DIR:-$HOME/.bb}"
|
|
1965
|
+
mkdir -p "$DATA_DIR/manager-templates"
|
|
1966
|
+
printf 'sawyer-next\\n' > "$DATA_DIR/manager-templates/active"
|
|
1967
|
+
\`\`\`
|
|
1968
|
+
|
|
1969
|
+
There is no dedicated CLI command today for changing the global active
|
|
1970
|
+
template.
|
|
1971
|
+
|
|
1972
|
+
Creating a template:
|
|
1973
|
+
|
|
1974
|
+
\`\`\`bash
|
|
1975
|
+
DATA_DIR="\${BB_DATA_DIR:-$HOME/.bb}"
|
|
1976
|
+
mkdir -p "$DATA_DIR/manager-templates/sawyer-next"
|
|
1977
|
+
cp "$DATA_DIR/manager-templates/default/STATUS.html" \\
|
|
1978
|
+
"$DATA_DIR/manager-templates/sawyer-next/STATUS.html"
|
|
1979
|
+
$EDITOR "$DATA_DIR/manager-templates/sawyer-next/PREFERENCES.md"
|
|
1980
|
+
printf 'sawyer-next\\n' > "$DATA_DIR/manager-templates/active"
|
|
1981
|
+
\`\`\`
|
|
1982
|
+
|
|
1983
|
+
Promoting current preferences:
|
|
1984
|
+
|
|
1985
|
+
Managers see their storage path in runtime context. To save the current
|
|
1986
|
+
manager's \`PREFERENCES.md\` to the default template:
|
|
1987
|
+
|
|
1988
|
+
\`\`\`bash
|
|
1989
|
+
DATA_DIR="\${BB_DATA_DIR:-$HOME/.bb}"
|
|
1990
|
+
THREAD_STORAGE="/absolute/path/from-manager-runtime-context"
|
|
1991
|
+
mkdir -p "$DATA_DIR/manager-templates/default"
|
|
1992
|
+
cp "$THREAD_STORAGE/PREFERENCES.md" \\
|
|
1993
|
+
"$DATA_DIR/manager-templates/default/PREFERENCES.md"
|
|
1994
|
+
printf 'default\\n' > "$DATA_DIR/manager-templates/active"
|
|
1995
|
+
\`\`\`
|
|
1996
|
+
|
|
1997
|
+
Copy \`STATUS.html\`, \`STATUS.md\`, or \`ASYNC.md\` into the same template
|
|
1998
|
+
directory when those starter files should be shared too.
|
|
1999
|
+
|
|
2000
|
+
Limitations and gotchas:
|
|
2001
|
+
|
|
2002
|
+
- There is no dedicated CLI or UI for changing \`active\`.
|
|
2003
|
+
- Template file contents are not schema-validated before copying.
|
|
2004
|
+
- Only top-level regular files are copied; template subdirectories are ignored.
|
|
2005
|
+
- Existing thread storage files are never overwritten by seeding.
|
|
2006
|
+
- A user-authored \`default/\` directory fully replaces the bundled fallback,
|
|
2007
|
+
even if it is empty.
|
|
2008
|
+
- Missing selected non-default templates skip seeding instead of falling back
|
|
2009
|
+
to \`default\`.
|
|
2010
|
+
|
|
2011
|
+
Related guides:
|
|
2012
|
+
|
|
2013
|
+
bb guide overview
|
|
2014
|
+
bb guide managers
|
|
2015
|
+
bb guide styling
|
|
2016
|
+
bb guide async`,fileName:`bb-guide-manager-templates.md`,kind:`instruction`,title:`bb Guide - Manager Templates`,summary:`Manager storage template reference.`,intent:`Explain how manager-templates seed new manager thread storage.`,editingNotes:`Keep this factual against manager-storage-templates.ts and the manager hire API/CLI.`,variables:{}},{id:`bbGuideManagers`,body:`Manager commands
|
|
2017
|
+
|
|
2018
|
+
Managers are long-running threads that coordinate work across other threads.
|
|
2019
|
+
Use bb thread commands for most manager interactions.
|
|
2020
|
+
|
|
2021
|
+
bb manager hire [projectId] Hire a new manager
|
|
2022
|
+
--project <id> Project ID (defaults to BB_PROJECT_ID)
|
|
2023
|
+
--name <name> Manager name
|
|
2024
|
+
--provider <id> Provider override
|
|
2025
|
+
--model <model> Model override
|
|
2026
|
+
--reasoning-level <level> Reasoning level: low, medium, high, xhigh, max (provider-dependent)
|
|
2027
|
+
--permission-mode <mode> Permission mode: full, workspace-write, or readonly
|
|
2028
|
+
--host <id> Target host (defaults to local host)
|
|
2029
|
+
--json Print machine-readable JSON output
|
|
2030
|
+
|
|
2031
|
+
When --provider and --model are omitted, the project's remembered manager defaults apply first.
|
|
2032
|
+
If there are no remembered manager defaults, the server manager policy is used.
|
|
2033
|
+
|
|
2034
|
+
bb manager list [projectId] List managers for a project
|
|
2035
|
+
--project <id> Project ID (defaults to BB_PROJECT_ID)
|
|
2036
|
+
--json Print machine-readable JSON output
|
|
2037
|
+
|
|
2038
|
+
bb manager status <id> Show manager status and managed threads
|
|
2039
|
+
--json Print machine-readable JSON output
|
|
2040
|
+
|
|
2041
|
+
bb manager delete <id> Delete a manager permanently
|
|
2042
|
+
--yes Skip the confirmation prompt
|
|
2043
|
+
--json Print machine-readable JSON output
|
|
2044
|
+
|
|
2045
|
+
Common manager interactions via thread commands:
|
|
2046
|
+
|
|
2047
|
+
bb thread list --parent-thread <manager-id> List managed threads
|
|
2048
|
+
bb thread tell <manager-id> "message" Message a manager
|
|
2049
|
+
bb thread log <manager-id> Show manager log
|
|
2050
|
+
|
|
2051
|
+
Manager thread logs use the conversation view by default. \`--format verbose\`
|
|
2052
|
+
expands returned timeline details but does not switch to the internal manager
|
|
2053
|
+
debug timeline.`,fileName:`bb-guide-managers.md`,kind:`instruction`,title:`bb Guide — Managers`,summary:`Command reference for hiring and managing project managers.`,intent:`Provide complete manager command documentation for agents.`,editingNotes:`Keep flags accurate against the CLI implementation.`,variables:{}},{id:`bbGuideOverview`,body:`bb is an agent orchestration tool for managing multiple agents.
|
|
2054
|
+
|
|
2055
|
+
Core concepts:
|
|
2056
|
+
|
|
2057
|
+
- Project — maps to a repository. All threads belong to a project.
|
|
2058
|
+
- Thread — a single agent conversation. The fundamental unit of work.
|
|
2059
|
+
- Environment — where a thread runs. Kinds: project checkout or isolated worktree. Multiple threads can share an environment.
|
|
2060
|
+
- Provider — the agent backend powering a thread (e.g., codex, claude-code). Each provider supports different models.
|
|
2061
|
+
- Host — where environments run. Hosts are long-lived local or remote machines.
|
|
2062
|
+
|
|
2063
|
+
Thread types:
|
|
2064
|
+
|
|
2065
|
+
- standard — does coding, research, debugging, or other tasks.
|
|
2066
|
+
- manager — coordinates work across other threads. Communicates with the user through the exact user-message tool exposed by the provider: \`mcp__bb-bridge__message_user\` in Claude Code, \`message_user\` in Codex and Pi.
|
|
2067
|
+
|
|
2068
|
+
Threads can have a parent-child relationship. The parent manages the child and receives lifecycle notifications when it completes, fails, or is interrupted. Threads without a parent are managed by the user.
|
|
2069
|
+
|
|
2070
|
+
Context variables set automatically inside a thread environment:
|
|
2071
|
+
|
|
2072
|
+
- BB_PROJECT_ID — current project
|
|
2073
|
+
- BB_THREAD_ID — current thread
|
|
2074
|
+
- BB_ENVIRONMENT_ID — current environment
|
|
2075
|
+
|
|
2076
|
+
Run \`bb status\` to see your current context (resolved project and thread IDs).
|
|
2077
|
+
|
|
2078
|
+
All commands support --json for machine-readable output.
|
|
2079
|
+
|
|
2080
|
+
Run \`bb guide <chapter>\` for command details:
|
|
2081
|
+
|
|
2082
|
+
threads Spawning, inspecting, messaging, and managing threads
|
|
2083
|
+
environments Environment operations, commits, and merges
|
|
2084
|
+
managers Hiring and managing project managers
|
|
2085
|
+
manager-templates
|
|
2086
|
+
Seeding new manager storage from template bundles
|
|
2087
|
+
status-state Persistent reactive JSON state for STATUS dashboards
|
|
2088
|
+
providers Discovering providers and models
|
|
2089
|
+
projects Project CRUD and sources
|
|
2090
|
+
hosts Listing and understanding hosts
|
|
2091
|
+
styling How to style STATUS/ and STATUS.html surfaces to match the bb UI
|
|
2092
|
+
async Defining scheduled nudges with ASYNC.md`,fileName:`bb-guide-overview.md`,kind:`instruction`,title:`bb Guide Overview`,summary:`System overview and chapter index for the bb CLI guide.`,intent:`Orient agents to bb core concepts and help them find the right guide chapter.`,editingNotes:`Keep this concise. Concepts only — command details belong in chapter files.`,variables:{}},{id:`bbGuideProjects`,body:`Project commands
|
|
2093
|
+
|
|
2094
|
+
A project maps to a code repository. All threads belong to a project.
|
|
2095
|
+
|
|
2096
|
+
bb project list List all projects
|
|
2097
|
+
bb project create --name "..." [options]
|
|
2098
|
+
--root <path> Project root path
|
|
2099
|
+
--repo-url <url> Repository URL
|
|
2100
|
+
--host <id> Default host
|
|
2101
|
+
|
|
2102
|
+
bb project show <id> Show project details
|
|
2103
|
+
bb project update <id> Update a project
|
|
2104
|
+
--name <name> New name
|
|
2105
|
+
|
|
2106
|
+
bb project delete <id> Delete project and all threads
|
|
2107
|
+
--yes Skip confirmation
|
|
2108
|
+
|
|
2109
|
+
Sources:
|
|
2110
|
+
|
|
2111
|
+
Projects can have multiple sources (paths or repos).
|
|
2112
|
+
|
|
2113
|
+
bb project source add <projectId> Add a source
|
|
2114
|
+
--path <path> Local path
|
|
2115
|
+
--repo-url <url> Repository URL
|
|
2116
|
+
--host <id> Host for this source
|
|
2117
|
+
--default Set as default source
|
|
2118
|
+
|
|
2119
|
+
bb project source update <projectId> <sourceId>
|
|
2120
|
+
--path <path>
|
|
2121
|
+
--repo-url <url>
|
|
2122
|
+
--default
|
|
2123
|
+
|
|
2124
|
+
bb project source delete <projectId> <sourceId>`,fileName:`bb-guide-projects.md`,kind:`instruction`,title:`bb Guide — Projects`,summary:`Command reference for project CRUD and sources.`,intent:`Provide complete project command documentation for agents.`,editingNotes:`Keep flags accurate against the CLI implementation.`,variables:{}},{id:`bbGuideProviders`,body:`Provider commands
|
|
2125
|
+
|
|
2126
|
+
Providers are agent backends (e.g., codex, claude-code). Each supports different models.
|
|
2127
|
+
|
|
2128
|
+
bb provider list List available providers
|
|
2129
|
+
bb provider models [providerId] List models for a provider
|
|
2130
|
+
|
|
2131
|
+
Use these before spawning threads if you are unsure which provider or model to use.
|
|
2132
|
+
When provider and model are omitted from bb thread spawn, the project's remembered
|
|
2133
|
+
defaults apply.`,fileName:`bb-guide-providers.md`,kind:`instruction`,title:`bb Guide — Providers`,summary:`Command reference for discovering providers and models.`,intent:`Provide complete provider command documentation for agents.`,editingNotes:`Keep flags accurate against the CLI implementation.`,variables:{}},{id:`bbGuideStatusState`,body:`STATUS state
|
|
2134
|
+
|
|
2135
|
+
\`window.bbStatusState\` is injected into the root manager STATUS document served
|
|
2136
|
+
from \`/api/v1/threads/<thread-id>/status/\`. Use it when \`STATUS/index.html\` or
|
|
2137
|
+
\`STATUS.html\` needs durable JSON state for controls, forms, filters, task
|
|
2138
|
+
boards, or other dashboard UI that should survive iframe reloads and update
|
|
2139
|
+
across open tabs.
|
|
2140
|
+
|
|
2141
|
+
Do not use it for rendering source files or static assets. Keep ordinary HTML,
|
|
2142
|
+
CSS, JS, images, and fonts in \`STATUS/\`; use STATUS state for data the dashboard
|
|
2143
|
+
and manager agent both need to read or update.
|
|
2144
|
+
|
|
2145
|
+
Storage layout:
|
|
2146
|
+
|
|
2147
|
+
\`\`\`text
|
|
2148
|
+
$BB_THREAD_STORAGE/
|
|
2149
|
+
STATUS/
|
|
2150
|
+
index.html
|
|
2151
|
+
STATUS-data/
|
|
2152
|
+
tasks.json
|
|
2153
|
+
dashboard-prefs.json
|
|
2154
|
+
\`\`\`
|
|
2155
|
+
|
|
2156
|
+
\`BB_THREAD_STORAGE\` is the canonical path to the current thread's durable
|
|
2157
|
+
storage. Each key is one flat file at \`STATUS-data/<key>.json\`. Keys must match
|
|
2158
|
+
\`^[A-Za-z0-9_-]{1,80}$\`; no colons, slashes, dots, spaces, or nested paths. The
|
|
2159
|
+
file stores the raw JSON value, not an envelope.
|
|
2160
|
+
|
|
2161
|
+
Agent writes:
|
|
2162
|
+
|
|
2163
|
+
Write via a temp file in the same directory, then \`mv\` it into place. Same-dir
|
|
2164
|
+
rename is atomic on macOS and Linux, and the server-wide watcher broadcasts the
|
|
2165
|
+
committed change on \`thread:<thread-id>:status-data\`.
|
|
2166
|
+
|
|
2167
|
+
\`\`\`bash
|
|
2168
|
+
key="tasks"
|
|
2169
|
+
json='[{"id":"task-1","title":"Review","status":"todo"}]'
|
|
2170
|
+
dir="$BB_THREAD_STORAGE/STATUS-data"
|
|
2171
|
+
mkdir -p "$dir"
|
|
2172
|
+
tmp=$(mktemp "$dir/.\${key}.XXXXXX")
|
|
2173
|
+
printf '%s\\n' "$json" > "$tmp" && mv "$tmp" "$dir/\${key}.json"
|
|
2174
|
+
\`\`\`
|
|
2175
|
+
|
|
2176
|
+
Delete with \`rm\`:
|
|
2177
|
+
|
|
2178
|
+
\`\`\`bash
|
|
2179
|
+
rm -f "$BB_THREAD_STORAGE/STATUS-data/tasks.json"
|
|
2180
|
+
\`\`\`
|
|
2181
|
+
|
|
2182
|
+
Malformed JSON or invalid key filenames are ignored and logged by the server;
|
|
2183
|
+
they do not broadcast. STATUS state is last-write-wins. There is no
|
|
2184
|
+
compare-and-set path for agent filesystem writes.
|
|
2185
|
+
|
|
2186
|
+
Browser API:
|
|
2187
|
+
|
|
2188
|
+
\`\`\`ts
|
|
2189
|
+
type StatusStateSelector = StatusDataKey | "*";
|
|
2190
|
+
|
|
2191
|
+
interface BbStatusState {
|
|
2192
|
+
list(): Promise<Record<StatusDataKey, JsonValue>>;
|
|
2193
|
+
get(key: StatusDataKey): Promise<JsonValue | undefined>;
|
|
2194
|
+
set(key: StatusDataKey, value: JsonValue): Promise<void>;
|
|
2195
|
+
delete(key: StatusDataKey): Promise<void>;
|
|
2196
|
+
on(selector: StatusStateSelector, callback: StatusStateChangeCallback): () => void;
|
|
2197
|
+
}
|
|
2198
|
+
|
|
2199
|
+
type StatusStateChangeCallback = (
|
|
2200
|
+
newValue: JsonValue | undefined,
|
|
2201
|
+
prevValue: JsonValue | undefined,
|
|
2202
|
+
key: StatusDataKey,
|
|
2203
|
+
event: StatusStateChangeEvent,
|
|
2204
|
+
) => void;
|
|
2205
|
+
|
|
2206
|
+
interface StatusStateChangeEvent {
|
|
2207
|
+
source: "local" | "remote";
|
|
2208
|
+
operation: "set" | "delete" | "hydrate" | "resync" | "revert";
|
|
2209
|
+
optimistic: boolean;
|
|
2210
|
+
version: string | null;
|
|
2211
|
+
error: string | null;
|
|
2212
|
+
}
|
|
2213
|
+
\`\`\`
|
|
2214
|
+
|
|
2215
|
+
Hydration and reactivity:
|
|
2216
|
+
|
|
2217
|
+
- The global exists before dashboard scripts run.
|
|
2218
|
+
- \`on(key, cb)\` fires for an existing hydrated key as soon as the listener is
|
|
2219
|
+
registered. \`on("*", cb)\` fires once for each existing key.
|
|
2220
|
+
- Local \`set\` and \`delete\` calls update the in-memory state optimistically and
|
|
2221
|
+
fire callbacks with \`source: "local"\` and \`optimistic: true\`.
|
|
2222
|
+
- Agent filesystem writes, browser writes, and deletes broadcast over bb's
|
|
2223
|
+
realtime WebSocket on the \`thread:<thread-id>:status-data\` channel.
|
|
2224
|
+
- On WebSocket reconnect, the client lists current state again and fires
|
|
2225
|
+
\`operation: "resync"\` callbacks for differences.
|
|
2226
|
+
- STATUS-data writes do not affect \`status-version\`, so they do not reload the
|
|
2227
|
+
iframe document.
|
|
2228
|
+
|
|
2229
|
+
Minimal dashboard example:
|
|
2230
|
+
|
|
2231
|
+
\`\`\`html
|
|
2232
|
+
<button id="add">Add task</button>
|
|
2233
|
+
<pre id="out"></pre>
|
|
2234
|
+
<script>
|
|
2235
|
+
const out = document.querySelector("#out");
|
|
2236
|
+
|
|
2237
|
+
function render(value) {
|
|
2238
|
+
out.textContent = JSON.stringify(value ?? [], null, 2);
|
|
2239
|
+
}
|
|
2240
|
+
|
|
2241
|
+
window.bbStatusState.on("tasks", render);
|
|
2242
|
+
|
|
2243
|
+
document.querySelector("#add").addEventListener("click", async () => {
|
|
2244
|
+
const current = (await window.bbStatusState.get("tasks")) ?? [];
|
|
2245
|
+
await window.bbStatusState.set("tasks", [
|
|
2246
|
+
...current,
|
|
2247
|
+
{ id: crypto.randomUUID(), title: "New task", status: "todo" }
|
|
2248
|
+
]);
|
|
2249
|
+
});
|
|
2250
|
+
<\/script>
|
|
2251
|
+
\`\`\`
|
|
2252
|
+
|
|
2253
|
+
Sending a message to the manager:
|
|
2254
|
+
|
|
2255
|
+
\`window.bbThreadTell(text)\` is also injected into the same root STATUS document.
|
|
2256
|
+
It sends a normal follow-up message to the manager thread that owns the iframe:
|
|
2257
|
+
|
|
2258
|
+
\`\`\`ts
|
|
2259
|
+
window.bbThreadTell(text: string): Promise<void>
|
|
2260
|
+
\`\`\`
|
|
2261
|
+
|
|
2262
|
+
There is no thread id argument. The iframe runtime uses the thread context from
|
|
2263
|
+
\`/api/v1/threads/<thread-id>/status/\` and posts to:
|
|
2264
|
+
|
|
2265
|
+
\`\`\`http
|
|
2266
|
+
POST /api/v1/threads/<thread-id>/send
|
|
2267
|
+
\`\`\`
|
|
2268
|
+
|
|
2269
|
+
The request body is:
|
|
2270
|
+
|
|
2271
|
+
\`\`\`json
|
|
2272
|
+
{
|
|
2273
|
+
"input": [{ "type": "text", "text": "hello" }],
|
|
2274
|
+
"mode": "auto"
|
|
2275
|
+
}
|
|
2276
|
+
\`\`\`
|
|
2277
|
+
|
|
2278
|
+
The promise resolves when the server accepts the send route. 4xx responses
|
|
2279
|
+
reject with the server error message and attach \`status\`, \`code\`, and
|
|
2280
|
+
\`retryable\` fields when present. 5xx responses reject with
|
|
2281
|
+
\`bbThreadTell failed: server error (<status>)\`.
|
|
2282
|
+
|
|
2283
|
+
Example component pattern:
|
|
2284
|
+
|
|
2285
|
+
\`\`\`html
|
|
2286
|
+
<textarea id="manager-message" rows="3"></textarea>
|
|
2287
|
+
<button id="manager-send" type="button">Send to manager</button>
|
|
2288
|
+
<output id="manager-send-status"></output>
|
|
2289
|
+
<script>
|
|
2290
|
+
const textarea = document.querySelector("#manager-message");
|
|
2291
|
+
const status = document.querySelector("#manager-send-status");
|
|
2292
|
+
|
|
2293
|
+
document.querySelector("#manager-send").addEventListener("click", async () => {
|
|
2294
|
+
status.textContent = "";
|
|
2295
|
+
try {
|
|
2296
|
+
await window.bbThreadTell(textarea.value);
|
|
2297
|
+
textarea.value = "";
|
|
2298
|
+
status.textContent = "sent";
|
|
2299
|
+
setTimeout(() => {
|
|
2300
|
+
if (status.textContent === "sent") status.textContent = "";
|
|
2301
|
+
}, 2000);
|
|
2302
|
+
} catch (error) {
|
|
2303
|
+
status.textContent =
|
|
2304
|
+
error instanceof Error ? error.message : "Message failed";
|
|
2305
|
+
}
|
|
2306
|
+
});
|
|
2307
|
+
<\/script>
|
|
2308
|
+
\`\`\`
|
|
2309
|
+
|
|
2310
|
+
Limits:
|
|
2311
|
+
|
|
2312
|
+
There is no new bb-specific size cap for v1. Existing browser memory, file
|
|
2313
|
+
transport, and JSON parse costs still apply. Keep STATUS-data values focused on
|
|
2314
|
+
dashboard state, not large artifacts.
|
|
2315
|
+
|
|
2316
|
+
Related guides:
|
|
2317
|
+
|
|
2318
|
+
bb guide overview
|
|
2319
|
+
bb guide managers
|
|
2320
|
+
bb guide styling`,fileName:`bb-guide-status-state.md`,kind:`instruction`,title:`bb Guide - STATUS State`,summary:`Persistent reactive JSON state and manager messaging for STATUS dashboards.`,intent:`Explain window.bbStatusState, window.bbThreadTell, direct STATUS-data storage, and atomic agent writes.`,editingNotes:`Keep this aligned with STATUS-data filesystem watching, /api/v1/threads/:id/status-data reads, /api/v1/threads/:id/send, and the injected client.`,variables:{}},{id:`bbGuideStyling`,body:`Status styling
|
|
2321
|
+
|
|
2322
|
+
\`STATUS/index.html\` and \`STATUS.html\` render in an unsandboxed iframe in the bb
|
|
2323
|
+
secondary panel. External resources such as Google Fonts, Tailwind CDN, remote
|
|
2324
|
+
images, and stylesheets load normally. For local assets, use the folder form:
|
|
2325
|
+
put \`index.html\` plus any local images, CSS, JS, or fonts inside \`STATUS/\`, then
|
|
2326
|
+
reference them with relative URLs like \`style.css\`, \`app.js\`, or \`logo.png\`.
|
|
2327
|
+
The dashboard auto-refreshes when resolved STATUS content changes.
|
|
2328
|
+
|
|
2329
|
+
Unless the user asks for a different visual direction, make the HTML status
|
|
2330
|
+
surface look like bb: dense, minimal, and built from the same tokens. Use
|
|
2331
|
+
Tailwind for layout, spacing, grids, flex rows, responsive behavior, and small
|
|
2332
|
+
utility styling, then use the bb CSS variables below for colors, fonts, borders,
|
|
2333
|
+
radius, and shadows.
|
|
2334
|
+
|
|
2335
|
+
Load Tailwind and bb's app fonts with:
|
|
2336
|
+
|
|
2337
|
+
\`\`\`html
|
|
2338
|
+
<script src="https://cdn.tailwindcss.com"><\/script>
|
|
2339
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
2340
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
2341
|
+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Fira+Code:wght@400;500&display=swap" rel="stylesheet">
|
|
2342
|
+
\`\`\`
|
|
2343
|
+
|
|
2344
|
+
bb's app dark mode is class-based on the parent app root. The iframe does not
|
|
2345
|
+
inherit that \`.dark\` class, so an HTML status document that wants light and dark
|
|
2346
|
+
rendering should use \`@media (prefers-color-scheme: dark)\` as the closest
|
|
2347
|
+
available signal for the user's OS theme.
|
|
2348
|
+
|
|
2349
|
+
Paste this starter block into \`STATUS/index.html\` or \`STATUS.html\` so the page
|
|
2350
|
+
uses bb's actual design tokens:
|
|
2351
|
+
|
|
2352
|
+
\`\`\`html
|
|
2353
|
+
<style>
|
|
2354
|
+
:root {
|
|
2355
|
+
color-scheme: light;
|
|
2356
|
+
--background: oklch(0.9551 0 0);
|
|
2357
|
+
--foreground: oklch(0.3211 0 0);
|
|
2358
|
+
--card: oklch(0.9702 0 0);
|
|
2359
|
+
--card-foreground: oklch(0.3211 0 0);
|
|
2360
|
+
--popover: oklch(0.9702 0 0);
|
|
2361
|
+
--popover-foreground: oklch(0.3211 0 0);
|
|
2362
|
+
--primary: oklch(0.4891 0 0);
|
|
2363
|
+
--primary-foreground: oklch(1 0 0);
|
|
2364
|
+
--secondary: oklch(0.9067 0 0);
|
|
2365
|
+
--secondary-foreground: oklch(0.3211 0 0);
|
|
2366
|
+
--muted: oklch(0.8853 0 0);
|
|
2367
|
+
--muted-foreground: oklch(0.5103 0 0);
|
|
2368
|
+
--accent: oklch(0.9 0 0);
|
|
2369
|
+
--accent-foreground: oklch(0.3211 0 0);
|
|
2370
|
+
--state-hover: oklch(0.92 0 0);
|
|
2371
|
+
--state-active: oklch(0.88 0 0);
|
|
2372
|
+
--destructive: oklch(0.5594 0.19 25.8625);
|
|
2373
|
+
--destructive-foreground: oklch(1 0 0);
|
|
2374
|
+
--attention: oklch(0.74 0.15 80);
|
|
2375
|
+
--attention-foreground: oklch(0.3211 0 0);
|
|
2376
|
+
--warning: oklch(0.7 0.16 50);
|
|
2377
|
+
--warning-foreground: oklch(0.3211 0 0);
|
|
2378
|
+
--success: oklch(0.7 0.15 155);
|
|
2379
|
+
--success-foreground: oklch(0.3211 0 0);
|
|
2380
|
+
--diff-added: oklch(0.5 0.13 163);
|
|
2381
|
+
--diff-removed: oklch(0.5 0.17 28);
|
|
2382
|
+
--border: oklch(0.8576 0 0);
|
|
2383
|
+
--input: oklch(0.9067 0 0);
|
|
2384
|
+
--ring: oklch(0.4891 0 0);
|
|
2385
|
+
--chart-1: oklch(0.4891 0 0);
|
|
2386
|
+
--chart-2: oklch(0.4863 0.0361 196.0278);
|
|
2387
|
+
--chart-3: oklch(0.6534 0 0);
|
|
2388
|
+
--chart-4: oklch(0.7316 0 0);
|
|
2389
|
+
--chart-5: oklch(0.8078 0 0);
|
|
2390
|
+
--sidebar: oklch(0.937 0 0);
|
|
2391
|
+
--sidebar-foreground: oklch(0.3211 0 0);
|
|
2392
|
+
--sidebar-primary: oklch(0.4891 0 0);
|
|
2393
|
+
--sidebar-primary-foreground: oklch(1 0 0);
|
|
2394
|
+
--sidebar-accent: oklch(0.8078 0 0);
|
|
2395
|
+
--sidebar-accent-foreground: oklch(0.3211 0 0);
|
|
2396
|
+
--sidebar-border: oklch(0.8576 0 0);
|
|
2397
|
+
--sidebar-ring: oklch(0.4891 0 0);
|
|
2398
|
+
--font-sans: "Inter Variable", Inter, sans-serif;
|
|
2399
|
+
--font-serif: Georgia, serif;
|
|
2400
|
+
--font-mono: "Fira Code", monospace;
|
|
2401
|
+
--radius: 0.35rem;
|
|
2402
|
+
--radius-sm: calc(var(--radius) - 4px);
|
|
2403
|
+
--radius-md: calc(var(--radius) - 2px);
|
|
2404
|
+
--radius-lg: var(--radius);
|
|
2405
|
+
--radius-xl: calc(var(--radius) + 4px);
|
|
2406
|
+
--bb-sidebar-row-height: 1.75rem;
|
|
2407
|
+
--bb-sidebar-row-height-coarse: 2.5rem;
|
|
2408
|
+
--shadow-x: 0px;
|
|
2409
|
+
--shadow-y: 2px;
|
|
2410
|
+
--shadow-blur: 0px;
|
|
2411
|
+
--shadow-spread: 0px;
|
|
2412
|
+
--shadow-opacity: 0.15;
|
|
2413
|
+
--shadow-color: hsl(0 0% 20% / 0.1);
|
|
2414
|
+
--shadow-2xs: 0px 2px 0px 0px hsl(0 0% 20% / 0.07);
|
|
2415
|
+
--shadow-xs: 0px 2px 0px 0px hsl(0 0% 20% / 0.07);
|
|
2416
|
+
--shadow-sm:
|
|
2417
|
+
0px 2px 0px 0px hsl(0 0% 20% / 0.15), 0px 1px 2px -1px hsl(0 0% 20% / 0.15);
|
|
2418
|
+
--shadow:
|
|
2419
|
+
0px 2px 0px 0px hsl(0 0% 20% / 0.15), 0px 1px 2px -1px hsl(0 0% 20% / 0.15);
|
|
2420
|
+
--shadow-md:
|
|
2421
|
+
0px 2px 0px 0px hsl(0 0% 20% / 0.15), 0px 2px 4px -1px hsl(0 0% 20% / 0.15);
|
|
2422
|
+
--shadow-lg:
|
|
2423
|
+
0px 2px 0px 0px hsl(0 0% 20% / 0.15), 0px 4px 6px -1px hsl(0 0% 20% / 0.15);
|
|
2424
|
+
--shadow-xl:
|
|
2425
|
+
0px 2px 0px 0px hsl(0 0% 20% / 0.15), 0px 8px 10px -1px hsl(0 0% 20% / 0.15);
|
|
2426
|
+
--shadow-2xl: 0px 2px 0px 0px hsl(0 0% 20% / 0.38);
|
|
2427
|
+
--tracking-normal: 0em;
|
|
2428
|
+
--spacing: 0.25rem;
|
|
2429
|
+
--icon-stroke-width: 1.75;
|
|
2430
|
+
--text-sm: 0.8125rem;
|
|
2431
|
+
--text-base: 0.9375rem;
|
|
2432
|
+
--text-base--line-height: 1.375rem;
|
|
2433
|
+
--ansi-0: #000000;
|
|
2434
|
+
--ansi-1: #a11616;
|
|
2435
|
+
--ansi-2: #13704a;
|
|
2436
|
+
--ansi-3: #7f6a00;
|
|
2437
|
+
--ansi-4: #1f5ca6;
|
|
2438
|
+
--ansi-5: #8a2f8a;
|
|
2439
|
+
--ansi-6: #0b6f88;
|
|
2440
|
+
--ansi-7: #3d3d3d;
|
|
2441
|
+
--ansi-8: #3a3a3a;
|
|
2442
|
+
--ansi-9: #d32f2f;
|
|
2443
|
+
--ansi-10: #197c52;
|
|
2444
|
+
--ansi-11: #a35f00;
|
|
2445
|
+
--ansi-12: #2666b0;
|
|
2446
|
+
--ansi-13: #9b349b;
|
|
2447
|
+
--ansi-14: #0f7798;
|
|
2448
|
+
--ansi-15: #1f1f1f;
|
|
2449
|
+
--ansi-bg-fg-0: #ffffff;
|
|
2450
|
+
--ansi-bg-fg-1: #ffffff;
|
|
2451
|
+
--ansi-bg-fg-2: #ffffff;
|
|
2452
|
+
--ansi-bg-fg-3: #ffffff;
|
|
2453
|
+
--ansi-bg-fg-4: #ffffff;
|
|
2454
|
+
--ansi-bg-fg-5: #ffffff;
|
|
2455
|
+
--ansi-bg-fg-6: #ffffff;
|
|
2456
|
+
--ansi-bg-fg-7: #ffffff;
|
|
2457
|
+
--ansi-bg-fg-8: #ffffff;
|
|
2458
|
+
--ansi-bg-fg-9: #ffffff;
|
|
2459
|
+
--ansi-bg-fg-10: #ffffff;
|
|
2460
|
+
--ansi-bg-fg-11: #ffffff;
|
|
2461
|
+
--ansi-bg-fg-12: #ffffff;
|
|
2462
|
+
--ansi-bg-fg-13: #ffffff;
|
|
2463
|
+
--ansi-bg-fg-14: #ffffff;
|
|
2464
|
+
--ansi-bg-fg-15: #ffffff;
|
|
2465
|
+
}
|
|
2466
|
+
|
|
2467
|
+
@media (prefers-color-scheme: dark) {
|
|
2468
|
+
:root {
|
|
2469
|
+
color-scheme: dark;
|
|
2470
|
+
--background: oklch(0.195 0 0);
|
|
2471
|
+
--foreground: oklch(0.8853 0 0);
|
|
2472
|
+
--card: oklch(0.2435 0 0);
|
|
2473
|
+
--card-foreground: oklch(0.8853 0 0);
|
|
2474
|
+
--popover: oklch(0.2435 0 0);
|
|
2475
|
+
--popover-foreground: oklch(0.8853 0 0);
|
|
2476
|
+
--primary: oklch(0.7058 0 0);
|
|
2477
|
+
--primary-foreground: oklch(0.2178 0 0);
|
|
2478
|
+
--secondary: oklch(0.3092 0 0);
|
|
2479
|
+
--secondary-foreground: oklch(0.8853 0 0);
|
|
2480
|
+
--muted: oklch(0.285 0 0);
|
|
2481
|
+
--muted-foreground: oklch(0.66 0 0);
|
|
2482
|
+
--accent: oklch(0.285 0 0);
|
|
2483
|
+
--accent-foreground: oklch(0.8853 0 0);
|
|
2484
|
+
--state-hover: oklch(0.255 0 0);
|
|
2485
|
+
--state-active: oklch(0.305 0 0);
|
|
2486
|
+
--destructive: oklch(0.56 0.19 22.1703);
|
|
2487
|
+
--destructive-foreground: oklch(1 0 0);
|
|
2488
|
+
--attention: oklch(0.8 0.15 80);
|
|
2489
|
+
--attention-foreground: oklch(0.2178 0 0);
|
|
2490
|
+
--warning: oklch(0.75 0.16 50);
|
|
2491
|
+
--warning-foreground: oklch(0.2178 0 0);
|
|
2492
|
+
--success: oklch(0.74 0.15 155);
|
|
2493
|
+
--success-foreground: oklch(0.2178 0 0);
|
|
2494
|
+
--diff-added: oklch(0.77 0.17 163);
|
|
2495
|
+
--diff-removed: oklch(0.72 0.19 22);
|
|
2496
|
+
--border: oklch(0.329 0 0);
|
|
2497
|
+
--input: oklch(0.3092 0 0);
|
|
2498
|
+
--ring: oklch(0.7058 0 0);
|
|
2499
|
+
--chart-1: oklch(0.7058 0 0);
|
|
2500
|
+
--chart-2: oklch(0.6714 0.0339 206.3482);
|
|
2501
|
+
--chart-3: oklch(0.5452 0 0);
|
|
2502
|
+
--chart-4: oklch(0.4604 0 0);
|
|
2503
|
+
--chart-5: oklch(0.3715 0 0);
|
|
2504
|
+
--sidebar: oklch(0.24 0 0);
|
|
2505
|
+
--sidebar-foreground: oklch(0.8853 0 0);
|
|
2506
|
+
--sidebar-primary: oklch(0.7058 0 0);
|
|
2507
|
+
--sidebar-primary-foreground: oklch(0.2178 0 0);
|
|
2508
|
+
--sidebar-accent: oklch(0.32 0 0);
|
|
2509
|
+
--sidebar-accent-foreground: oklch(0.8853 0 0);
|
|
2510
|
+
--sidebar-border: oklch(0.32 0 0);
|
|
2511
|
+
--sidebar-ring: oklch(0.7058 0 0);
|
|
2512
|
+
--font-sans: "Inter Variable", Inter, sans-serif;
|
|
2513
|
+
--font-serif: Georgia, serif;
|
|
2514
|
+
--font-mono: "Fira Code", monospace;
|
|
2515
|
+
--radius: 0.35rem;
|
|
2516
|
+
--shadow-x: 0px;
|
|
2517
|
+
--shadow-y: 2px;
|
|
2518
|
+
--shadow-blur: 0px;
|
|
2519
|
+
--shadow-spread: 0px;
|
|
2520
|
+
--shadow-opacity: 0.15;
|
|
2521
|
+
--shadow-color: hsl(0 0% 20% / 0.1);
|
|
2522
|
+
--shadow-2xs: 0px 2px 0px 0px hsl(0 0% 20% / 0.07);
|
|
2523
|
+
--shadow-xs: 0px 2px 0px 0px hsl(0 0% 20% / 0.07);
|
|
2524
|
+
--shadow-sm:
|
|
2525
|
+
0px 2px 0px 0px hsl(0 0% 20% / 0.15), 0px 1px 2px -1px hsl(0 0% 20% / 0.15);
|
|
2526
|
+
--shadow:
|
|
2527
|
+
0px 2px 0px 0px hsl(0 0% 20% / 0.15), 0px 1px 2px -1px hsl(0 0% 20% / 0.15);
|
|
2528
|
+
--shadow-md:
|
|
2529
|
+
0px 2px 0px 0px hsl(0 0% 20% / 0.15), 0px 2px 4px -1px hsl(0 0% 20% / 0.15);
|
|
2530
|
+
--shadow-lg:
|
|
2531
|
+
0px 2px 0px 0px hsl(0 0% 20% / 0.15), 0px 4px 6px -1px hsl(0 0% 20% / 0.15);
|
|
2532
|
+
--shadow-xl:
|
|
2533
|
+
0px 2px 0px 0px hsl(0 0% 20% / 0.15), 0px 8px 10px -1px hsl(0 0% 20% / 0.15);
|
|
2534
|
+
--shadow-2xl: 0px 2px 0px 0px hsl(0 0% 20% / 0.38);
|
|
2535
|
+
--ansi-0: #858585;
|
|
2536
|
+
--ansi-1: #d85e5e;
|
|
2537
|
+
--ansi-2: #0dbc79;
|
|
2538
|
+
--ansi-3: #e5e510;
|
|
2539
|
+
--ansi-4: #3c88dc;
|
|
2540
|
+
--ansi-5: #c85ac8;
|
|
2541
|
+
--ansi-6: #11a8cd;
|
|
2542
|
+
--ansi-7: #e5e5e5;
|
|
2543
|
+
--ansi-8: #9a9a9a;
|
|
2544
|
+
--ansi-9: #ff6f6f;
|
|
2545
|
+
--ansi-10: #23d18b;
|
|
2546
|
+
--ansi-11: #f5f543;
|
|
2547
|
+
--ansi-12: #5aaaf2;
|
|
2548
|
+
--ansi-13: #d670d6;
|
|
2549
|
+
--ansi-14: #29b8db;
|
|
2550
|
+
--ansi-15: #ffffff;
|
|
2551
|
+
--ansi-bg-fg-0: #000000;
|
|
2552
|
+
--ansi-bg-fg-1: #000000;
|
|
2553
|
+
--ansi-bg-fg-2: #000000;
|
|
2554
|
+
--ansi-bg-fg-3: #000000;
|
|
2555
|
+
--ansi-bg-fg-4: #000000;
|
|
2556
|
+
--ansi-bg-fg-5: #000000;
|
|
2557
|
+
--ansi-bg-fg-6: #000000;
|
|
2558
|
+
--ansi-bg-fg-7: #000000;
|
|
2559
|
+
--ansi-bg-fg-8: #000000;
|
|
2560
|
+
--ansi-bg-fg-9: #000000;
|
|
2561
|
+
--ansi-bg-fg-10: #000000;
|
|
2562
|
+
--ansi-bg-fg-11: #000000;
|
|
2563
|
+
--ansi-bg-fg-12: #000000;
|
|
2564
|
+
--ansi-bg-fg-13: #000000;
|
|
2565
|
+
--ansi-bg-fg-14: #000000;
|
|
2566
|
+
--ansi-bg-fg-15: #000000;
|
|
2567
|
+
}
|
|
2568
|
+
}
|
|
2569
|
+
|
|
2570
|
+
html,
|
|
2571
|
+
body {
|
|
2572
|
+
margin: 0;
|
|
2573
|
+
min-height: 100%;
|
|
2574
|
+
background: var(--background);
|
|
2575
|
+
color: var(--foreground);
|
|
2576
|
+
font-family: var(--font-sans);
|
|
2577
|
+
font-size: var(--text-base);
|
|
2578
|
+
line-height: var(--text-base--line-height);
|
|
2579
|
+
}
|
|
2580
|
+
|
|
2581
|
+
body {
|
|
2582
|
+
padding: 1rem;
|
|
2583
|
+
}
|
|
2584
|
+
|
|
2585
|
+
.card {
|
|
2586
|
+
background: var(--card);
|
|
2587
|
+
color: var(--card-foreground);
|
|
2588
|
+
border: 1px solid var(--border);
|
|
2589
|
+
border-radius: var(--radius);
|
|
2590
|
+
box-shadow: var(--shadow-sm);
|
|
2591
|
+
}
|
|
2592
|
+
</style>
|
|
2593
|
+
\`\`\`
|
|
2594
|
+
|
|
2595
|
+
Keep the design dense and minimal so it feels native to bb: small text,
|
|
2596
|
+
hairline borders, subtle shadows, and semantic color only for status pills such
|
|
2597
|
+
as success, attention, or destructive. Use the same shapes as the app: cards on
|
|
2598
|
+
\`--card\`, \`1px\` borders using \`--border\`, and \`--radius\` with \`--shadow-sm\`.`,fileName:`bb-guide-styling.md`,kind:`instruction`,title:`bb Guide - Styling`,summary:`Styling reference for manager status surfaces rendered inside bb.`,intent:`Give agents the tokens and starter CSS needed to make STATUS/index.html or STATUS.html match the bb UI.`,editingNotes:`Keep this as the canonical styling reference for HTML status surfaces. Manager prompts should point here instead of inlining tokens.`,variables:{}},{id:`bbGuideThreads`,body:`Thread commands
|
|
2599
|
+
|
|
2600
|
+
Every command supports --json for machine-readable output.
|
|
2601
|
+
|
|
2602
|
+
Spawning:
|
|
2603
|
+
|
|
2604
|
+
bb thread spawn --prompt "..." [options]
|
|
2605
|
+
|
|
2606
|
+
--prompt <prompt> Initial prompt (required)
|
|
2607
|
+
--title <title> Thread title
|
|
2608
|
+
--project <id> Project (defaults to BB_PROJECT_ID)
|
|
2609
|
+
--parent-thread <id> Parent thread (defaults to BB_THREAD_ID)
|
|
2610
|
+
--provider <id> Provider override
|
|
2611
|
+
--model <model> Model override
|
|
2612
|
+
--reasoning-level <level> Reasoning level: low, medium, high, xhigh, max (provider-dependent)
|
|
2613
|
+
--environment <id-or-path> Attach to an existing environment (UUID or workspace path)
|
|
2614
|
+
--new-environment <kind> Create a new environment (worktree)
|
|
2615
|
+
--service-tier <tier> Service tier: fast, default
|
|
2616
|
+
--permission-mode <mode> Permission mode: full, workspace-write, or readonly
|
|
2617
|
+
--host <id> Host ID (defaults to local host)
|
|
2618
|
+
--no-context-parent-thread Do not default parent thread to BB_THREAD_ID
|
|
2619
|
+
|
|
2620
|
+
When --provider and --model are omitted, the project's remembered defaults apply.
|
|
2621
|
+
When --parent-thread is omitted inside a thread, BB_THREAD_ID is used automatically.
|
|
2622
|
+
|
|
2623
|
+
Listing:
|
|
2624
|
+
|
|
2625
|
+
bb thread list List threads
|
|
2626
|
+
--project <id> Filter by project (defaults to BB_PROJECT_ID)
|
|
2627
|
+
--parent-thread <id> Filter by parent/manager
|
|
2628
|
+
--archived Show only archived threads
|
|
2629
|
+
|
|
2630
|
+
Inspecting:
|
|
2631
|
+
|
|
2632
|
+
bb thread show [id] Show thread details (defaults to BB_THREAD_ID)
|
|
2633
|
+
--self Target current thread
|
|
2634
|
+
--work-status Include git working-tree status
|
|
2635
|
+
--git-diff Include git diff
|
|
2636
|
+
--diff-target <type> Diff scope: uncommitted, branch_committed, all, commit
|
|
2637
|
+
--diff-sha <sha> Commit SHA (for --diff-target commit)
|
|
2638
|
+
--diff-merge-base <branch> Override merge-base branch for diff
|
|
2639
|
+
--merge-base-branches List available merge-base branches
|
|
2640
|
+
|
|
2641
|
+
bb thread log [id] Show thread event log
|
|
2642
|
+
--self Target current thread
|
|
2643
|
+
--format <format> Output format: json, minimal, verbose
|
|
2644
|
+
--limit <count> Limit entries
|
|
2645
|
+
--after-seq <seq> Paginate after sequence number
|
|
2646
|
+
|
|
2647
|
+
bb thread output <id> Get the final output of a thread
|
|
2648
|
+
|
|
2649
|
+
bb thread wait [id] Wait for a thread status or event
|
|
2650
|
+
--status <status> Wait for this status
|
|
2651
|
+
--event <type> Wait for this event type
|
|
2652
|
+
--timeout <seconds> Timeout
|
|
2653
|
+
--poll-interval <ms> Polling interval in milliseconds
|
|
2654
|
+
|
|
2655
|
+
Messaging:
|
|
2656
|
+
|
|
2657
|
+
bb thread tell <id> <message> Send a follow-up message
|
|
2658
|
+
--mode <mode> Message mode (e.g., steer)
|
|
2659
|
+
--model <model> Model override for this turn
|
|
2660
|
+
--reasoning-level <level> Reasoning level override
|
|
2661
|
+
|
|
2662
|
+
bb thread stop [id] Stop an active thread
|
|
2663
|
+
--self Stop current thread
|
|
2664
|
+
|
|
2665
|
+
Ownership:
|
|
2666
|
+
|
|
2667
|
+
bb thread update [id] Update thread metadata
|
|
2668
|
+
--self Target current thread
|
|
2669
|
+
--title <title> Set title
|
|
2670
|
+
--parent-thread <id> Assign to a parent/manager
|
|
2671
|
+
--clear-parent-thread Remove parent assignment
|
|
2672
|
+
|
|
2673
|
+
Lifecycle:
|
|
2674
|
+
|
|
2675
|
+
bb thread archive [id] Archive a thread
|
|
2676
|
+
--self Archive current thread
|
|
2677
|
+
|
|
2678
|
+
bb thread unarchive [id] Unarchive a thread
|
|
2679
|
+
--self Unarchive current thread
|
|
2680
|
+
|
|
2681
|
+
bb thread delete <id> Delete permanently
|
|
2682
|
+
--yes Skip confirmation
|
|
2683
|
+
|
|
2684
|
+
Read-only commands infer the thread from BB_THREAD_ID.
|
|
2685
|
+
Mutating commands require an explicit ID or --self.`,fileName:`bb-guide-threads.md`,kind:`instruction`,title:`bb Guide — Threads`,summary:`Command reference for thread spawning, inspecting, messaging, and lifecycle.`,intent:`Provide complete thread command documentation for agents.`,editingNotes:`Keep flags accurate against the CLI implementation. Run the json-flag-enforcement and command-output tests after changes.`,variables:{}},{id:`generateCommitMessage`,body:`Write a concise git commit message for {{diffDescription}}.
|
|
2686
|
+
Call the \`result\` tool with your answer.
|
|
2687
|
+
Rules:
|
|
2688
|
+
- Use conventional commit style (feat|fix|refactor|test|docs|chore|perf|build|ci|style).
|
|
2689
|
+
- Prefer specific types like feat/fix/refactor/test/docs/perf over chore.
|
|
2690
|
+
- Use chore only for housekeeping (deps, tooling, CI, formatting, repo maintenance).
|
|
2691
|
+
- Use imperative mood, max 72 characters.
|
|
2692
|
+
- Single line only, no body.
|
|
2693
|
+
|
|
2694
|
+
Shortstat:
|
|
2695
|
+
{{shortstat}}
|
|
2696
|
+
|
|
2697
|
+
Files (name-status):
|
|
2698
|
+
{{files}}
|
|
2699
|
+
|
|
2700
|
+
Patch excerpt:
|
|
2701
|
+
{{patch}}`,fileName:`generate-commit-message.md`,kind:`prompt`,title:`Commit Message Generator`,summary:`Prompt for generating one conventional commit line from a git diff snapshot.`,intent:`Produce a single concise conventional commit subject and nothing else.`,editingNotes:"Callers use tool-call structured output; the model calls a `result` tool with the schema.",variables:{diffDescription:`Human-readable description of the diff snapshot being summarized.`,shortstat:`Git shortstat summary for the diff.`,files:`Git name-status output for changed files.`,patch:`Trimmed patch excerpt for extra context.`}},{id:`generateThreadMetadata`,body:`You create concise titles for coding tasks.
|
|
2702
|
+
Call the \`result\` tool with:
|
|
2703
|
+
- title: short, clear, 4-5 words maximum, Title Case
|
|
2704
|
+
|
|
2705
|
+
Task:
|
|
2706
|
+
{{cleanedPrompt}}`,fileName:`generate-thread-metadata.md`,kind:`prompt`,title:`Thread Metadata Generator`,summary:`Prompt for deriving short thread metadata from the user's task prompt.`,intent:`Generate stable, operator-friendly metadata for threads without adding explanatory prose.`,editingNotes:"Callers use tool-call structured output; the model calls a `result` tool with the schema.",variables:{cleanedPrompt:`User prompt text with noisy tokens removed and length-clamped.`}},{id:`managerAgentInstructions`,body:'You are a manager in a project inside bb, a futuristic IDE where agents collaborate to complete tasks and you (the manager) have full control over the environment. You should be helpful, friendly, and proactive.\n\nYour job is to coordinate work across child threads, keep the user informed, and keep the system moving. Delegate substantive work by default. Use the manager thread for lightweight coordination, quick scoping, routing decisions, and final review.\n\nThe user will most likely be doing coding work. You should keep them updated on the changes, but not overload them with too much information. You are a middle manager reporting updates to your supervisor (the user) and delegating work to your team (child threads).\n\n## The BB System\n\nbb is the IDE that you live in. It is a UI and runtime for agents and you will primarily interact with it through the `bb` CLI.\n\n`bb` has four core primitives:\n\n- A **host** is a machine. Hosts run environments. Use `bb host list` to see available hosts.\n- An **environment** is a workspace on a host: the project checkout or an isolated git worktree.\n- A **thread** is a single agent conversation attached to an environment. Threads are the fundamental unit of work.\n- A **project** maps to a repository. All threads and environments belong to a project.\n\nThese connect in a chain: a project has hosts, hosts have environments, and environments have threads. Multiple threads can share one environment (useful for multi-thread collaboration like code-then-review). Each thread is either **standard** (does the work) or **manager** (coordinates the work). You are a manager.\n\nThe default operating model is to spawn worker threads on the same host as you, each in its own isolated worktree. This gives file-level isolation between workers and lets you directly access their worktree paths for inspection. When the user has a preference for a different host, follow that.\n\nThreads can have a parent-child relationship. A parent thread manages the child. When a child thread completes, bb notifies the parent. Threads without a parent are managed directly by the user.\n\nAs a manager, you use the `bb` CLI to spawn worker threads, inspect their progress, and manage them directly. Run `bb guide` for the system overview and `bb guide <chapter>` for detailed command reference.\n\n## Storage\n\nYou have access to durable storage. Think of this like a shared drive where you can keep notes, files, and artifacts. Use it to collaborate with your user or to write down information you want to remember for later. Use this as the place to keep plans, todos, and other work artifacts you want to share with the user.\n\nA few **special** well known files in your storage:\n\n- **`PREFERENCES.md`** — durable user preferences and collaboration norms. Create it as you learn about the user, and keep it current.\n- **`STATUS/`, `STATUS.html`, or `STATUS.md`** — a concise, current view of your work. As a manager you juggle many tasks; keep this status surface up to date so the user can catch up at a glance. The bb UI loads one server-resolved iframe URL (`/api/v1/threads/<thread-id>/status/`) and chooses the first available source in this order: `STATUS/index.html`, then `STATUS.html`, then `STATUS.md`. Use `STATUS/index.html` when you want a rich multi-asset dashboard with local images, CSS, JS, or fonts; every local asset must live inside `STATUS/` to be served. Dot-prefixed files or directories anywhere under `STATUS/` are not served. Use `STATUS.html` for a simple single-file HTML page. Use `STATUS.md` for lightweight markdown.\n- **`ASYNC.md`** — scheduled nudges. Use this for reminders, recurring check-ins, and other work that should wake you up later. Run `bb guide async` for syntax, constraints, and examples.\n\nPreferences and starter storage files can be saved as manager templates in `{{managerDataDir}}/manager-templates/` so future managers boot with the same starting state. Run `bb guide manager-templates` for the layout and commands.\n\nUnless otherwise specified, make `STATUS/index.html` or `STATUS.html` styled like bb and use Tailwind. The UI renders HTML status surfaces in an unsandboxed iframe, so external resources such as Tailwind CDN, Google Fonts, remote images, and stylesheets load normally. For bb design tokens, fonts, light/dark variables, Tailwind setup, and a starter `<style>` snippet, run `bb guide styling`.\n\nSTATUS dashboards can read and write persistent reactive JSON state under `STATUS-data/`; run `bb guide status-state` for the direct `$BB_THREAD_STORAGE/STATUS-data/<key>.json` write pattern, browser API, and manager messaging helper.\n\nThe storage directory is yours to organize. Write down anything your future self or the user might find useful. Use `notes/`, `plans/`, `research/`, and `scratch/` as default folders when they fit. When an artifact does not belong in the repository, put it in thread storage.\n\n## How to communicate\n\n**IMPORTANT**: A user will not see a message you do not send through the `message_user` tool.\n\nAll user-facing output goes through the user-message tool. Call the exact tool id exposed in your tool list: `mcp__bb-bridge__message_user` when present, otherwise `message_user`. Plain assistant text is not visible to users — they only see their own messages and what you publish through that tool. Worker messages, orchestration notes, and internal lifecycle messages are not directly visible to the user.\n\nA typical update cadence is: a short kickoff when work starts, a completion update when it finishes, and extra updates only for blockers or meaningful scope changes. Keep updates concise, factual, and ownership-clear.\n\nWhen you need user input, approval, or help clearing a blocker, ask clearly through the same exact user-message tool.\n\n## System messages\n\nMessages prefixed with `[bb system]` are internal lifecycle signals, not user requests. The important ones:\n\n- **Thread complete / failed / interrupted** — review the thread\'s result or error and decide whether to update the user, retry, or delegate a follow-up.\n- **Ownership assigned** — a thread is now yours to manage. Inspect it and decide how to proceed.\n- **Ownership removed** — stop treating that thread as active managed work.\n\n### File links and deliverables\n\nWhen sharing a file or deliverable, use a Markdown link whose target is the full absolute path. Example: `[Investigation report]({{managerDataDir}}/thread-storage/thr_abc123/reports/investigation.md)`.\n\nUse absolute paths that start with `/`, not relative paths. Prefer linking the specific Markdown file you created or updated so the user can open it directly.\n\n## How to work\n\n### Delegation is the default\n\nAny substantive task — coding, file edits, debugging, investigations, multi-step analysis — goes to a managed child thread. The manager thread handles only lightweight coordination: quick reads to scope work, status checks, and deciding what to delegate next. Unless the user explicitly asks you to do otherwise. Remember the user is always the boss and can fire you or change how you work at any time.\n\nDelegation means creating a BB child thread with `bb thread spawn`. If a spawn fails, tell the user and retry. \n\nWhen you delegate, give the thread a clear prompt: objective, constraints, expected deliverable, and how to validate the result. Prefer one clear owner per task. Ask workers to report outcome, changed files or created artifacts, validation performed, and any blockers.\n\nAfter delegating, let the worker execute. Send additional worker instructions only when requirements changed, the worker asked a question, or a blocker/error must be handled. Then wait for the system to notify you when the thread completes — do not loop on `bb thread show`, `bb thread log`, or `bb thread list` to detect completion.\n\nDo not use shell sleeps, `tail` loops, repeated log reads, repeated status reads, or transcript scraping to watch worker progress. Inspect a child thread when you need to make a routing decision, review completed work, or investigate a failure.\n\nContext variables `BB_PROJECT_ID` and `BB_THREAD_ID` are set automatically in your environment, so `--project` and `--parent-thread` default to the right values when you run `bb thread spawn` from the manager thread. Fresh managed child threads also default to a managed worktree and `workspace-write` permission mode when the selected provider supports it, so you usually do not need to pass those flags explicitly.\n\nEach worker thread\'s changes usually live in its own worktree. Keep same-environment reuse explicit with `--environment <environment-id>` when you want an implementation thread and a review thread to share files. Review worker changes in the worker environment — do not reapply edits into the manager checkout unless the user explicitly asked for that.\n\n### Direct manager work\n\nDirect manager execution is for trivial, low-latency work where delegation overhead is clearly higher than doing the work directly, or when immediate user unblock requires a small inspection. Keep direct execution minimal and return to delegation-first behavior afterward unless the user explicitly asks you to stay in direct execution mode.\n\nUnless the user explicitly asks you to do otherwise. Remember the user is always the boss and can fire you or change how you work at any time.\n\n### Common patterns\n\n**Simple delegation**: Scope the work with a quick inspection. If you are unsure which provider or model to use, run `bb provider list` and `bb provider models <provider-id>`. Spawn a thread with `bb thread spawn --title "..." --prompt "..."`. Send the user a kickoff update. When the completion notification arrives, review with `bb thread show <id> --git-diff` and `bb thread output <id>`, then update the user.\n\n**Pipeline**: When a follow-on thread (like a reviewer) needs to see the same files, get the environment ID from `bb thread show <original-id> --json` and spawn into it with `--environment <environment-id>`. That same-environment reuse is an explicit override; fresh managed children otherwise start in a separate managed worktree. After the review thread completes, triage its findings and send specific fix instructions back to the original thread via `bb thread tell`.\n\n**Parallel work**: When the user gives you several independent tasks, spawn a thread for each. Report on each as it completes rather than waiting for all to finish.\n\n**Taking over a thread**: `bb thread update <id> --parent-thread <your-id>`. Inspect its state with `bb thread show` and `bb thread log`, understand its goal, and manage it from there.\n\n**Handing off a thread**: If a user asks to takeover a thread: `bb thread update <id> --clear-parent-thread`.\n\n**Worker errors**: Inspect with `bb thread show <id> --json` and `bb thread log <id>`. Handle transient issues autonomously — retry or clarify via `bb thread tell`. Escalate when the error needs information only the user has or is significant enough they should know about.\n\n**Interrupted or stopped workers**: Inspect the thread state before acting. If CLI output, logs, or lifecycle events indicate the user stopped it manually, treat that as intentional. Summarize the stopped state if useful, but do not resume, restart, retry, replace, or continue the work unless the user explicitly asks.\n\n**Stopping a thread**: If a worker is stuck or no longer needed, stop it with `bb thread stop <id>`.\n\n**Plan decomposition**: Identify independent work units, spawn a thread per unit. Workers run in separate worktrees so they do not conflict during execution, but merging multiple worktrees back can still produce conflicts — coordinate if needed.\n\n### Thread lifecycle\n\nKeep threads around when follow-up work is likely. Archive threads once they are no longer needed with `bb thread archive <id>`. Do not archive threads that still hold active work or environments with uncommitted changes the user may need.\n\n### Scheduled nudges\n\nUse `ASYNC.md` in your thread storage for scheduled reminders, recurring check-ins, and wakeups. Run `bb guide async` for the file syntax, constraints, and examples.\n\nWhen a scheduled nudge arrives, read the matching section in `ASYNC.md` and decide whether there is real work to do. Only message the user when the nudge produced something useful. Remove schedules that are no longer needed.\n\n### Cross-manager coordination\n\nIf you need context from another manager, use `bb thread tell <manager-id> "..."`. Use `bb thread list --parent-thread <manager-id>` to see what another manager is working on. This is rare.\n\n---\n\nRuntime context:\n\n- Manager thread ID: `{{managerThreadId}}`\n- Host: `{{hostId}}`\n- Project: `{{projectName}}` (`{{projectId}}`)\n- Project root: `{{projectRootPath}}`\n- BB data dir: `{{managerDataDir}}`\n- Thread storage: `{{threadStoragePath}}`\n- Local timezone: `{{localTimezone}}`',fileName:`manager-agent-instructions.md`,kind:`instruction`,title:`Manager Agent Instructions`,summary:`Delegation-first operating instructions for a project manager agent.`,intent:`Ensure the manager stays user-facing, delegates substantive work, and uses managed threads as the default execution path.`,editingNotes:`Organized into system, communication, storage, and work guidance. First-turn startup behavior belongs in system-message-manager-welcome.md.`,variables:{localTimezone:`IANA timezone to use for local reminder-style scheduling when the user does not specify a timezone.`,managerDataDir:`Absolute path to the bb data directory that owns manager templates and thread storage on this host.`,threadStoragePath:`Absolute path to the manager thread's durable storage directory.`,managerThreadId:`The manager's own thread ID.`,projectName:`The project name.`,projectId:`The project ID.`,projectRootPath:`The project root path on disk.`,hostId:`The host ID where this manager's environment runs.`}},{id:`standardAgentInstructions`,body:"You are a coding agent working on a project thread inside bb, an agent orchestration tool. If you need to message another agent or orchestrate work across other agents (rare), use the `bb` cli.",fileName:`standard-agent-instructions.md`,kind:`instruction`,title:`Standard Agent Base Instructions`,summary:`Baseline system prompt for provider-backed coding threads.`,intent:`Keep the agent focused on following the task carefully and producing working code.`,editingNotes:`Preserve the concise coding-agent framing.`,variables:{}},{id:`systemMessageManagedThreadComplete`,body:`[bb system]
|
|
2707
|
+
|
|
2708
|
+
Managed thread complete: {{threadId}}{{titleSuffix}}
|
|
2709
|
+
Review that thread's result and decide whether to update the user or delegate a follow-up.
|
|
2710
|
+
Fresh managed child work usually lives in that thread's own worktree unless the manager explicitly reused an environment; do not reapply its edits into the manager checkout unless the user explicitly asked for that.`,fileName:`system-message-managed-thread-complete.md`,kind:`prompt`,title:`Managed Thread Complete`,summary:`Notifies a manager that one of its worker threads has finished.`,intent:`Prompt the manager to review the result and decide on next steps.`,editingNotes:`The second and third lines are behavioral guidance for the manager. Keep worktree caveat to avoid accidental edit duplication.`,variables:{threadId:`The completed worker thread's ID.`,titleSuffix:`Formatted title suffix like ' (Fix login bug)', or empty string if untitled.`}},{id:`systemMessageManagedThreadFailed`,body:`[bb system]
|
|
2711
|
+
|
|
2712
|
+
Managed thread failed: {{threadId}}{{titleSuffix}}
|
|
2713
|
+
Review that thread's error and decide whether to retry, clarify the task, or update the user.
|
|
2714
|
+
Inspect the managed thread directly before taking action; do not reapply its edits into the manager checkout unless the user explicitly asked for that.`,fileName:`system-message-managed-thread-failed.md`,kind:`prompt`,title:`Managed Thread Failed`,summary:`Notifies a manager that one of its worker threads failed.`,intent:`Prompt the manager to inspect the failure and decide on the next step.`,editingNotes:`Keep the guidance focused on investigation and recovery, not blind retrying.`,variables:{threadId:`The failed worker thread's ID.`,titleSuffix:`Formatted title suffix like ' (Fix login bug)', or empty string if untitled.`}},{id:`systemMessageManagedThreadInterrupted`,body:`[bb system]
|
|
2715
|
+
|
|
2716
|
+
Managed thread interrupted: {{threadId}}{{titleSuffix}}
|
|
2717
|
+
Inspect the managed thread directly before taking action. If it was stopped manually by the user, treat that as intentional; update the user if useful, but do not resume, restart, retry, replace, or continue the work unless the user explicitly asks.
|
|
2718
|
+
Otherwise decide whether to resume it, redirect it, or update the user.
|
|
2719
|
+
Do not reapply its edits into the manager checkout unless the user explicitly asked for that.`,fileName:`system-message-managed-thread-interrupted.md`,kind:`prompt`,title:`Managed Thread Interrupted`,summary:`Notifies a manager that one of its worker threads was interrupted.`,intent:`Prompt the manager to inspect the thread and decide whether to resume or redirect the work.`,editingNotes:`Preserve the "inspect first" guidance so managers do not guess why the thread stopped.`,variables:{threadId:`The interrupted worker thread's ID.`,titleSuffix:`Formatted title suffix like ' (Fix login bug)', or empty string if untitled.`}},{id:`systemMessageManagerPreferencesCurrent`,body:`[bb system]
|
|
2720
|
+
|
|
2721
|
+
Current PREFERENCES.md contents:
|
|
2722
|
+
|
|
2723
|
+
{{fence}}md
|
|
2724
|
+
{{preferencesContent}}
|
|
2725
|
+
{{fence}}`,fileName:`system-message-manager-preferences-current.md`,kind:`system-message`,title:`Manager Preferences Current Snapshot`,summary:`Initial manager delivery of the current PREFERENCES.md contents.`,intent:`Give a newly booted manager its durable preferences without embedding them in the system prompt.`,variables:{fence:`Markdown backtick fence long enough to contain the file contents.`,preferencesContent:`Verbatim PREFERENCES.md contents.`}},{id:`systemMessageManagerPreferencesRemoved`,body:`[bb system]
|
|
2726
|
+
|
|
2727
|
+
PREFERENCES.md was removed.`,fileName:`system-message-manager-preferences-removed.md`,kind:`system-message`,title:`Manager Preferences Removed Notice`,summary:`Manager notification that PREFERENCES.md was removed after previously being shown.`,intent:`Keep manager context aligned when durable preferences are deleted.`,variables:{}},{id:`systemMessageManagerPreferencesUpdated`,body:`[bb system]
|
|
2728
|
+
|
|
2729
|
+
PREFERENCES.md has been updated. New contents:
|
|
2730
|
+
|
|
2731
|
+
{{fence}}md
|
|
2732
|
+
{{preferencesContent}}
|
|
2733
|
+
{{fence}}`,fileName:`system-message-manager-preferences-updated.md`,kind:`system-message`,title:`Manager Preferences Updated Snapshot`,summary:`Manager notification that PREFERENCES.md changed since it was last shown.`,intent:`Refresh manager durable preferences at the start of the next inbound turn after a file change.`,variables:{fence:`Markdown backtick fence long enough to contain the file contents.`,preferencesContent:`Verbatim PREFERENCES.md contents.`}},{id:`systemMessageManagerPreferencesWarning`,body:`[bb system]
|
|
2734
|
+
|
|
2735
|
+
PREFERENCES.md was not delivered. {{reason}}`,fileName:`system-message-manager-preferences-warning.md`,kind:`system-message`,title:`Manager Preferences Warning`,summary:`Manager warning that PREFERENCES.md exists but cannot be inlined.`,intent:`Tell the manager why its durable preferences were not delivered while still recording the observed file state.`,variables:{reason:`Human-readable reason the file was not delivered.`}},{id:`systemMessageManagerQuickStart`,body:"[bb system]\n\nYou just came online inside bb. You are a manager helping your user get things done.\n\nThe user has sent their initial instructions as their next message — act on those directly.\n\nBefore diving in, peek at `PREFERENCES.md` in your thread storage. If it exists with real saved preferences, treat them as starting context. If it's missing or starter content, that's fine — don't block on creating one; capture what you learn as you go and save it later. Preserve any seeded `STATUS/`, `STATUS.html`, `STATUS.md`, or `ASYNC.md` from templates and keep them current as you work.\n\nTalk to the user with the user-message tool: `mcp__bb-bridge__message_user` when present, otherwise `message_user`. Plain assistant text is not visible to them.\n\nThings worth capturing in `PREFERENCES.md` when they come up naturally (don't open with them): what the user wants to be called and how to refer to yourself; landing mode (PR per worker vs. local-branch merge); working vibe; update cadence; any boundaries or workflow preferences. Pick them up in passing, not as a form.\n\nGet to work.",fileName:`system-message-manager-quick-start.md`,kind:`prompt`,title:`Manager Quick Start`,summary:`First-turn framing when the user provides initial instructions at hire time.`,intent:`Tell the manager to act on the user's next message directly, while still pointing it at the durable storage and user-message contracts the welcome would otherwise cover.`,editingNotes:`Used in place of system-message-manager-welcome.md when the create-manager request includes user-provided input. Keep durable manager behavior in manager-agent-instructions.md.`,variables:{}},{id:`systemMessageManagerWelcome`,body:`[bb system]
|
|
2736
|
+
|
|
2737
|
+
Welcome. You just came online inside bb. You are a manager helping your user get things done.
|
|
2738
|
+
|
|
2739
|
+
First, inspect \`PREFERENCES.md\` in your thread storage.
|
|
2740
|
+
|
|
2741
|
+
If it contains real saved preferences, treat them as the user's starting
|
|
2742
|
+
preferences. Briefly confirm you have them, ask only for useful refinements, and skip the full meet-and-greet.
|
|
2743
|
+
|
|
2744
|
+
If \`PREFERENCES.md\` does not exist or still contains starter/no-preferences
|
|
2745
|
+
content, do the first-boot conversation. Do not interrogate. Do not sound like a
|
|
2746
|
+
form. Just talk.
|
|
2747
|
+
|
|
2748
|
+
Use the exact user-message tool available to you:
|
|
2749
|
+
\`mcp__bb-bridge__message_user\` when present, otherwise \`message_user\`. You need
|
|
2750
|
+
to call this tool to send messages to the user.
|
|
2751
|
+
|
|
2752
|
+
Your first user-facing message must anchor two things up front: **scope** (what
|
|
2753
|
+
you should be working on) and **landing mode** (how worker output reaches the
|
|
2754
|
+
codebase). Ask both — either in the same message, or in a tight follow-up you
|
|
2755
|
+
explicitly promise.
|
|
2756
|
+
|
|
2757
|
+
For scope, surface these three common shapes (verbatim or paraphrased) and make
|
|
2758
|
+
clear the user can name something else entirely:
|
|
2759
|
+
|
|
2760
|
+
- Manage an individual feature or workstream.
|
|
2761
|
+
- Manage all coding agents across this repo.
|
|
2762
|
+
- Manage a specific process (code review, async triage, releases, ...).
|
|
2763
|
+
|
|
2764
|
+
For landing mode, ask whether the user wants a PR opened per worker or worker
|
|
2765
|
+
branches merged directly into a local branch. Note that the choice is editable
|
|
2766
|
+
later. Record the answer in \`PREFERENCES.md\` under the existing
|
|
2767
|
+
**Landing changes** bullet — it already documents the two modes
|
|
2768
|
+
(\`Open PRs\` and \`No PRs — local merge, push on request\`).
|
|
2769
|
+
|
|
2770
|
+
Start with something in this spirit:
|
|
2771
|
+
|
|
2772
|
+
> Hey. I just came online as your bb manager. Two questions to start.
|
|
2773
|
+
>
|
|
2774
|
+
> What's the scope? Common shapes:
|
|
2775
|
+
> - a feature or workstream you want me to drive
|
|
2776
|
+
> - all the coding-agent work across this repo
|
|
2777
|
+
> - a specific process (review, triage, releases)
|
|
2778
|
+
>
|
|
2779
|
+
> Or something else — tell me what fits.
|
|
2780
|
+
>
|
|
2781
|
+
> And when workers finish: open a PR per worker, or merge into a local branch? Easy to change later.
|
|
2782
|
+
|
|
2783
|
+
After scope and landing mode are settled, figure out together:
|
|
2784
|
+
|
|
2785
|
+
1. What the user wants to be called.
|
|
2786
|
+
2. How they want you to refer to yourself, if they care.
|
|
2787
|
+
3. The working vibe: terse, warm, formal, weird, direct, playful, or something else.
|
|
2788
|
+
4. Update cadence, boundaries, and anything they do not want you to do.
|
|
2789
|
+
5. Any stable workflow preferences worth remembering.
|
|
2790
|
+
|
|
2791
|
+
Create, replace, or update \`PREFERENCES.md\` with what you learn. If the user gives you a
|
|
2792
|
+
name, vibe, or other identity details for yourself, record those too.
|
|
2793
|
+
|
|
2794
|
+
\`STATUS/\`, \`STATUS.html\`, \`STATUS.md\`, and \`ASYNC.md\` may also already exist from user
|
|
2795
|
+
templates. Preserve any seeded structure and keep the files current as you work.
|
|
2796
|
+
|
|
2797
|
+
Depending on user preferences you might want to update the status surface to match their landing mode.
|
|
2798
|
+
|
|
2799
|
+
If there is no \`PREFERENCES.md\` fill out this template with what you learn and save it:
|
|
2800
|
+
|
|
2801
|
+
\`\`\`
|
|
2802
|
+
# User Preferences
|
|
2803
|
+
|
|
2804
|
+
This file is the manager's durable memory of how the user wants to be worked with. Edit it as you learn — keep it current.
|
|
2805
|
+
|
|
2806
|
+
## Identity
|
|
2807
|
+
|
|
2808
|
+
- Preferred name: _(fill this out)_
|
|
2809
|
+
|
|
2810
|
+
## Workflow
|
|
2811
|
+
|
|
2812
|
+
- Base branch: main (default) or something else? _(fill this out)_
|
|
2813
|
+
- **Delegator workflow**: never do substantive work in the manager thread. Always spawn a child thread for coding, edits, investigations, or multi-step analysis.
|
|
2814
|
+
- **Fresh base branch before every spawn**: before every \`bb thread spawn\`, ensure the local base branch (default \`main\`) is current with origin so workers start from the latest base.
|
|
2815
|
+
|
|
2816
|
+
## Delivery
|
|
2817
|
+
- Ask the user to choose how they want worker output to be delivered:
|
|
2818
|
+
- Open PRs (default)
|
|
2819
|
+
**or**
|
|
2820
|
+
- No PRs — Ask the user for confirmation before pushing/merging worker branches into a local branch.
|
|
2821
|
+
**or**
|
|
2822
|
+
- Merge into a local branch (like a staging area) automatically without PRs, and push to origin on user go-ahead.
|
|
2823
|
+
|
|
2824
|
+
## Keeping the user updated
|
|
2825
|
+
Adjust the status surface (\`STATUS/index.html\`, \`STATUS.html\`, or \`STATUS.md\`) to match the chosen mode (see next bullet).
|
|
2826
|
+
- **Status mode**: if the user opens PRs, the status surface tracks open PRs in its primary section. If the user does NOT use PRs, replace the \`Open PRs\` section with two sections instead: **In progress** (branches actively being worked on by workers) and **Ready for review** (branches that are validated and waiting for the user's go-ahead to push or merge). If you use an HTML template with snippet patterns, copy/paste as needed.
|
|
2827
|
+
- **Status refresh**: keep the status surface current with the state of the world
|
|
2828
|
+
- after any state-affecting action (worker spawn, branch ready, PR opened, merge, close, push).
|
|
2829
|
+
- **after every child thread completion notification** (on any \`[bb system] Thread complete/failed/interrupted\`), even if the thread didn't obviously touch the tracked state — reconcile the relevant section.
|
|
2830
|
+
- **Status styling**: run \`bb guide styling\` for the bb design tokens, fonts, and a starter \`<style>\` snippet so an iframe-rendered HTML status surface matches the rest of the app. Use \`STATUS/\` when local assets need to be served.
|
|
2831
|
+
- **Status state**: dashboards may include forms, buttons, and shared JSON state. Use \`bb guide status-state\` when the status surface should persist interactive state that you can also inspect or update as the manager.
|
|
2832
|
+
- Also keep running tasks and any user action items in the status surface
|
|
2833
|
+
|
|
2834
|
+
## Open questions to resolve when natural
|
|
2835
|
+
|
|
2836
|
+
- Preferred name / how to address the user
|
|
2837
|
+
- Worker defaults (provider / reasoning level / permission mode / preferred model) — ask the user when it comes up; do not assume a default.
|
|
2838
|
+
- Anything else the user wants surfaced in the status surface (extra sections, custom info, integrations) — ask once when natural and update the template accordingly.
|
|
2839
|
+
- Update verbosity preference (terse vs detailed)
|
|
2840
|
+
- Any specific area of the codebase that's currently the focus
|
|
2841
|
+
\`\`\`
|
|
2842
|
+
|
|
2843
|
+
When finished you can ask whether the user wants to save these preferences as manager template defaults for future managers. If they say yes, run \`bb guide manager-templates\` for the current layout and commands.`,fileName:`system-message-manager-welcome.md`,kind:`prompt`,title:`Manager Welcome`,summary:`Bootstrap message sent to a newly spawned manager thread.`,intent:`Kick off the manager's first turn with hatch-specific startup instructions.`,editingNotes:`Keep durable manager behavior in manager-agent-instructions.md. Keep first-turn startup behavior here.`,variables:{}},{id:`systemMessageScheduledNudge`,body:`[bb system]
|
|
2844
|
+
|
|
2845
|
+
Scheduled nudge: {{name}}. Check ASYNC.md.`,fileName:`system-message-scheduled-nudge.md`,kind:`prompt`,title:`Scheduled Nudge`,summary:`Wakes up a manager on its declared cron schedule.`,intent:`Prompt the manager to read the matching ASYNC.md section and decide if there's real work to do.`,editingNotes:`Keep the schedule name on the same line so the manager can pattern-match it against ASYNC.md.`,variables:{name:`The schedule name as declared in the manager's ASYNC.md frontmatter.`}},{id:`systemMessageThreadOwnershipAssigned`,body:`[bb system]
|
|
2846
|
+
|
|
2847
|
+
The following thread is now assigned to you for management:
|
|
2848
|
+
{{threadLabel}}
|
|
2849
|
+
Inspect it and decide whether to monitor it, message the user, or send a follow-up.`,fileName:`system-message-thread-ownership-assigned.md`,kind:`prompt`,title:`Thread Ownership Assigned`,summary:`Notifies a manager that a worker thread is now assigned to it.`,intent:`Let the new manager know it owns a thread so it can begin managing it.`,editingNotes:`Keep the thread label on its own line for readability in the agent's context.`,variables:{threadLabel:`Thread identifier and title, e.g. 'thr_abc123: Fix login bug'.`}},{id:`systemMessageThreadOwnershipRemoved`,body:`[bb system]
|
|
2850
|
+
|
|
2851
|
+
The following thread is no longer assigned to you:
|
|
2852
|
+
{{threadLabel}}
|
|
2853
|
+
Stop treating it as one of your active managed threads unless it is assigned back later.`,fileName:`system-message-thread-ownership-removed.md`,kind:`prompt`,title:`Thread Ownership Removed`,summary:`Notifies a manager that a worker thread is no longer assigned to it.`,intent:`Let the previous manager know a thread moved away so it can update its internal tracking.`,editingNotes:`Keep the thread label on its own line for readability in the agent's context.`,variables:{threadLabel:`Thread identifier and title, e.g. 'thr_abc123: Fix login bug'.`}},{id:`threadOperationCommitFailureFollowUp`,body:`Commit in this thread workspace failed. Inspect the workspace, fix the issue blocking the commit, and retry the commit.
|
|
2854
|
+
{{#if errorMessage}}
|
|
2855
|
+
Git reported: {{errorMessage}}.
|
|
2856
|
+
{{/if}}`,fileName:`thread-operation-commit-failure-follow-up.md`,kind:`prompt`,title:`Commit Failure Follow-Up`,summary:`Follow-up prompt for retrying a commit after git rejects the first attempt.`,intent:`Keep the retry focused on diagnosing the blocker and trying again.`,editingNotes:`Do not add generic response-format instructions here; this prompt is meant to be a concise follow-up inside an active thread.`,variables:{errorMessage:`Optional git error surfaced to the agent.`}},{id:`threadOperationSquashMergeCommitFailureFollowUp`,body:`{{#if prepCommitMergeBaseBranch}}
|
|
2857
|
+
Squash merge to {{prepCommitMergeBaseBranch}} could not create the prep commit. Inspect the workspace, fix the issue blocking the commit, create the needed prep commit, and retry the squash merge so the changes land on {{prepCommitMergeBaseBranch}}.
|
|
2858
|
+
{{/if}}
|
|
2859
|
+
{{#if squashCommitMergeBaseBranch}}
|
|
2860
|
+
Squash merge to {{squashCommitMergeBaseBranch}} applied changes but failed while creating the squash commit. Inspect the merge result, fix the issue blocking the commit, and retry the squash merge so the changes land on {{squashCommitMergeBaseBranch}}.
|
|
2861
|
+
{{/if}}
|
|
2862
|
+
{{#if errorMessage}}
|
|
2863
|
+
Git reported: {{errorMessage}}.
|
|
2864
|
+
{{/if}}`,fileName:`thread-operation-squash-merge-commit-failure-follow-up.md`,kind:`prompt`,title:`Squash Merge Commit Failure Follow-Up`,summary:`Follow-up prompt for squash-merge flows that fail while creating a prep commit or the final squash commit.`,intent:`Direct the agent to fix the blocker in-place and retry the squash merge without broadening the task.`,editingNotes:`The failure instruction is computed by the caller so this template can stay small and reusable across failure stages.`,variables:{prepCommitMergeBaseBranch:`Merge base branch name when the prep commit could not be created.`,squashCommitMergeBaseBranch:`Merge base branch name when the final squash commit could not be created.`,errorMessage:`Optional git error surfaced to the agent.`}},{id:`threadOperationSquashMergeConflictFollowUp`,body:`Squash merge into {{mergeBaseBranch}} stopped on conflicts. Rebase this branch onto {{mergeBaseBranch}}, resolve the conflicts, and retry the squash merge so the changes land on {{mergeBaseBranch}}.
|
|
2865
|
+
{{#if conflictFiles}}
|
|
2866
|
+
Conflicted files: {{conflictFiles}}.
|
|
2867
|
+
{{/if}}`,fileName:`thread-operation-squash-merge-conflict-follow-up.md`,kind:`prompt`,title:`Squash Merge Conflict Follow-Up`,summary:`Follow-up prompt for squash merges that stop on conflicts.`,intent:`Tell the agent to rebase onto the merge base, resolve the conflicts, and retry the squash merge.`,editingNotes:`Keep this concise and procedural. Conflict file details are optional context and should stay additive.`,variables:{mergeBaseBranch:`Merge base branch name shown to the agent.`,conflictFiles:`Optional comma-separated file list.`}}];function ES(e){return TS.some(t=>t.id===e)}function DS(){let e=TS.map(e=>{if(!ES(e.id))throw Error(`Unknown generated template id: ${e.id}`);return[e.id,{...e,id:e.id,kind:e.kind}]});return Object.fromEntries(e)}var OS=DS(),kS=!1;function AS(){if(!kS){for(let e of Object.values(OS))wS.default.registerPartial(e.id,e.body);kS=!0}}var jS=new Map;function MS(e){let t=jS.get(e);if(t)return t;let n=wS.default.compile(OS[e].body,{noEscape:!0});return jS.set(e,n),n}function NS(e,t){return AS(),MS(e)(t).trim()}function PS(e,t){let n=t?.conflictFiles?.filter(e=>e.trim().length>0)??[];return NS(`threadOperationSquashMergeConflictFollowUp`,{mergeBaseBranch:e.options.mergeBaseBranch.trim(),conflictFiles:n.length>0?n.join(`, `):void 0})}function FS(e,t){let n=e.options.mergeBaseBranch.trim(),r=t.errorMessage?.trim()||void 0;switch(t.stage){case`prep_commit`:return NS(`threadOperationSquashMergeCommitFailureFollowUp`,{prepCommitMergeBaseBranch:n,errorMessage:r});case`squash_commit`:return NS(`threadOperationSquashMergeCommitFailureFollowUp`,{squashCommitMergeBaseBranch:n,errorMessage:r});default:return ue(t.stage)}}function IS(e){return NS(`threadOperationCommitFailureFollowUp`,{errorMessage:e?.errorMessage?.trim()||void 0})}function LS(e){if(!(e instanceof n)||typeof e.body!=`object`||e.body===null||!(`details`in e.body))return;let t=i.safeParse(e.body.details);return t.success?t.data:void 0}function RS(e){switch(e.kind){case`commit_failed`:return e.errorMessage;case`squash_merge_conflict`:return e.conflictFiles.length>0?`Conflicts: ${e.conflictFiles.join(`, `)}`:void 0;case`squash_merge_commit_failed`:return e.errorMessage;default:return}}function zS({error:e,mergeBaseBranch:t}){let n=LS(e);if(n)switch(n.kind){case`commit_failed`:return[{type:`text`,text:IS({errorMessage:n.errorMessage})}];case`squash_merge_conflict`:return t?[{type:`text`,text:PS({action:`squash_merge`,options:{mergeBaseBranch:t}},{conflictFiles:n.conflictFiles})}]:void 0;case`squash_merge_commit_failed`:return t?[{type:`text`,text:FS({action:`squash_merge`,options:{mergeBaseBranch:t}},{stage:n.stage,errorMessage:n.errorMessage})}]:void 0;default:return}}function BS({action:e,error:t,mergeBaseBranch:n}){let r=LS(t);return{message:(r?RS(r):void 0)??ht({error:t,fallbackMessage:`Failed to start git action`,lifecycleOperation:e}),askAgentInput:zS({error:t,mergeBaseBranch:n})}}function VS(e){switch(e){case`commit`:return`Commit created`;case`squash_merge`:return`Squash merge completed`;default:return e}}function HS(e){switch(e){case`commit`:return`Commit failed`;case`squash_merge`:return`Squash merge failed`;default:return e}}function US(e){return(0,K.createElement)(Sr,{commitSha:e.commitSha,commitSubject:e.commitSubject})}function WS({response:e,toastId:t}){ut.success(VS(e.action),{id:t,description:US(e)})}function GS({action:e,error:t,mergeBaseBranch:n,onAskAgentToFix:r,threadId:i,toastId:a}){let o=BS({action:e,error:t,mergeBaseBranch:n}),s=o.askAgentInput,c=HS(e),l=o.message===c?void 0:o.message;ut.error(c,{id:a,...l?{description:l}:{},...s?{action:{label:`Ask agent to fix`,onClick:()=>r({input:s,threadId:i})}}:{}})}function KS({environment:e,requestEnvironmentAction:t,sendMessage:n,thread:r,workspaceStatus:i}){let a=Ct(),o=i?.workingTree,s=i?.mergeBase,c=r?.type!==`manager`,l=r?.archivedAt!=null,u=e?.managed===!1,d=(0,K.useMemo)(()=>{if(!r||!c||!i||l)return[];let t=[],n=o?.hasUncommittedChanges===!0,a=s?.hasCommittedUnmergedChanges===!0;return u?(n&&t.push({target:{kind:`commit`},label:`Commit`}),t):(e?.managed&&(n&&t.push({target:{kind:`commit`},label:`Commit`}),(n||a)&&t.push({target:{kind:n?`commit_and_squash_merge`:`squash_merge`},label:`Squash merge`})),t)},[c,e?.managed,l,u,r,s?.hasCommittedUnmergedChanges,i,o?.hasUncommittedChanges]),f=(0,K.useCallback)(async({input:e,threadId:t})=>{if(n.isPending)return;let r=ut.loading(`Sending message`);try{await n.mutateAsync({id:t,input:e,mode:`auto`}),ut.success(`Message sent`,{id:r})}catch(e){ut.error(`Failed to message agent`,{id:r,description:ht({error:e,fallbackMessage:`Message was not sent`,lifecycleOperation:`send_message`})})}},[n]);return{handleAskAgentToFixGitAction:f,handleCommitThread:(0,K.useCallback)(async()=>{let e=r?.environmentId;if(!r||!e)return;let n=r.id,i=ut.loading(`Creating commit`);try{let n=await t.mutateAsync({id:e,action:`commit`});if(n.action!==`commit`)throw Error(`Expected commit action response.`);WS({response:n,toastId:i})}catch(e){GS({action:`commit`,error:e,onAskAgentToFix:e=>void f(e),threadId:n,toastId:i})}},[f,t,r]),handleSquashMergeThread:(0,K.useCallback)(async({mergeBaseBranch:e})=>{let n=r?.environmentId;if(!r||!n)return;let i=r.id,a=ut.loading(`Squash merging`);try{let r=await t.mutateAsync({id:n,action:`squash_merge`,options:{mergeBaseBranch:e}});if(r.action!==`squash_merge`)throw Error(`Expected squash merge action response.`);WS({response:r,toastId:a})}catch(t){GS({action:`squash_merge`,error:t,onAskAgentToFix:e=>void f(e),mergeBaseBranch:e,threadId:i,toastId:a})}},[f,t,r]),isThreadGitActionPending:t.isPending,threadGitActionDialog:a,threadHeaderGitActions:d}}function qS({markThreadRead:e,thread:t}){let n=(0,K.useRef)(new Set);(0,K.useEffect)(()=>{if(!t||Vt(t))return;let r=`${t.id}:${t.latestAttentionAt}`;n.current.has(r)||(n.current.add(r),e.mutate(t.id,{onError:()=>{n.current.delete(r)}}))},[e,t])}var JS={autoScroll:!1,placement:null};function YS({routeThreadId:e,threadId:t,threadType:n,useStandardManagerTimeline:r}){return t===void 0||n===void 0||e!==t?!1:!(n===`manager`&&r)}function XS({lastReadAt:e,latestAttentionAt:t}){return e===void 0||t===void 0?!1:e===null||e<t}function ZS(e){return e.lastReadAt===null?{kind:`before-first`}:e.lastReadAt<e.latestAttentionAt?{kind:`after-cutoff`,cutoffAt:e.lastReadAt}:null}function QS({routeThreadId:e,thread:t,useStandardManagerTimeline:n}){let[r,i]=(0,K.useState)(null),a=(0,K.useRef)(null),o=t?.id,s=t?.lastReadAt,c=t?.latestAttentionAt,l=t?.type;return(0,K.useEffect)(()=>{if(o===void 0||s===void 0||c===void 0||l===void 0||!YS({routeThreadId:e,threadId:o,threadType:l,useStandardManagerTimeline:n})){a.current=null,i(null);return}let t=a.current!==o;a.current=o;let r={id:o,lastReadAt:s,latestAttentionAt:c,type:l};i(e=>{if(e?.threadId===o&&e.attentionAt===c)return s===null?{attentionAt:c,autoScroll:e.placement!==null&&e.autoScroll,placement:{kind:`before-first`},threadId:o}:e;let n=ZS(r);return{attentionAt:c,autoScroll:t&&n!==null,placement:n,threadId:o}})},[e,o,s,c,l,n]),!YS({routeThreadId:e,threadId:o,threadType:l,useStandardManagerTimeline:n})||r===null||r.threadId!==o||r.attentionAt!==c&&!XS({lastReadAt:s,latestAttentionAt:c})?JS:{autoScroll:r.autoScroll&&r.placement!==null,placement:r.placement}}function $S({managerTimelineView:e,threadId:t}){return`${t}:${e??`default`}`}function eC({latestRows:e,olderCursor:t,surfaceKey:n}){return{olderCursor:t,rows:[...e],surfaceKey:n}}function tC({left:e,right:t}){return e===null||t===null?e===t:e.anchorSeq===t.anchorSeq&&e.anchorId===t.anchorId}function nC(e,t){let n=new Set(e.map(e=>e.id));for(let r of t)n.has(r.id)||(n.add(r.id),e.push(r))}function rC({loadedRows:e,olderRows:t}){let n=[];return nC(n,t),nC(n,e),n}function iC({latestRows:e,loadedRows:t}){if(t.length===0)return{hasLatestOverlap:!1,rows:[...e]};let n=new Set(e.map(e=>e.id)),r=t.findIndex(e=>n.has(e.id));if(r===-1){let n=[...t];return nC(n,e),{hasLatestOverlap:!1,rows:n}}return{hasLatestOverlap:!0,rows:[...t.slice(0,r),...e]}}function aC({current:e,latestTimeline:t,surfaceKey:n}){if(e.surfaceKey!==n||e.rows.length===0&&e.olderCursor===null)return eC({latestRows:t.rows,olderCursor:t.timelinePage.olderCursor,surfaceKey:n});let r=iC({latestRows:t.rows,loadedRows:e.rows});return{...e,olderCursor:e.olderCursor,rows:r.rows}}function oC({current:e,latestTimeline:t,surfaceKey:n}){if(e.surfaceKey!==n)return eC({latestRows:t.rows,olderCursor:t.timelinePage.olderCursor,surfaceKey:n});let r=iC({latestRows:t.rows,loadedRows:e.rows});return{olderCursor:t.timelinePage.olderCursor,rows:r.rows,surfaceKey:n}}function sC(e){return e instanceof n&&e.status===400&&e.code===`invalid_request`}function cC({managerTimelineView:e,threadId:t}){let n=De(t,{refetchOnMount:!0,managerTimelineView:e}),r=$S({managerTimelineView:e,threadId:t}),[i,a]=(0,K.useState)(()=>eC({latestRows:[],olderCursor:null,surfaceKey:r})),[o,s]=(0,K.useState)(!1),c=n.data;(0,K.useEffect)(()=>{if(!c){a(e=>e.surfaceKey===r?e:eC({latestRows:[],olderCursor:null,surfaceKey:r}));return}a(e=>aC({current:e,latestTimeline:c,surfaceKey:r}))},[c,r]);let l=n.refetch,u=i.surfaceKey===r?i.olderCursor:null,d=u!==null,f=(0,K.useCallback)(async()=>{if(!(!u||!t||o)){s(!0);try{let n=await le({beforeCursor:u,id:t,managerTimelineView:e});a(e=>e.surfaceKey===r?{olderCursor:tC({left:e.olderCursor,right:u})?n.timelinePage.olderCursor:e.olderCursor,rows:rC({loadedRows:e.rows,olderRows:n.rows}),surfaceKey:r}:e)}catch(e){if(!(e instanceof Error)||!sC(e))throw e;let t=(await l()).data??c;a(e=>e.surfaceKey===r?t?oC({current:e,latestTimeline:t,surfaceKey:r}):{...e,olderCursor:null}:e)}finally{s(!1)}}},[o,c,e,u,l,r,t]);return{activeThinking:c?.activeThinking??null,contextWindowUsage:c?.contextWindowUsage,hasOlderTimelineRows:d,isLoadingOlderTimelineRows:o,loadOlderTimelineRows:f,pendingTodos:c?.pendingTodos??null,timelineError:n.error,timelineLoading:n.isLoading,timelineRows:i.surfaceKey===r&&i.rows.length>0?i.rows:c?.rows??[]}}function lC(e){if(!e.rootPath||!e.canOpenPreferredTarget)return;let t=e.rootPath;return n=>{e.openInPreferredTarget({lineNumber:null,path:rn({path:n,rootPath:t})})}}function uC(e){return e.file.status===`A`||e.file.status===`??`?{kind:`preview`,source:{kind:`working-tree`},statusLabel:null}:e.file.status===`D`?e.section.kind===`committed`?e.section.mergeBaseRef?{kind:`preview`,source:{kind:`merge-base`,ref:e.section.mergeBaseRef},statusLabel:`deleted`}:{kind:`diff`}:{kind:`preview`,source:{kind:`head`},statusLabel:`deleted`}:{kind:`diff`}}function dC(e){return e.threadEnvironmentIsLocal?e.environment?.path??null:null}function fC(e){return!e.canOpenWorkspace||!e.hasWorkspaceOpenTargets?null:dC({environment:e.environment,threadEnvironmentIsLocal:e.threadEnvironmentIsLocal})}var pC=`Thread file links are only available when the thread has an environment.`,mC=`Thread file links must use absolute file paths.`;function hC(e){return Yn.some(t=>Ye(t,e)!==null)}function gC(e){if(!e.startsWith(`/`))return null;let t=[];for(let n of e.split(`/`))if(!(n.length===0||n===`.`)){if(n===`..`){t.length>0&&t.pop();continue}t.push(n)}return t.length===0?`/`:`/${t.join(`/`)}`}function _C(e){let t=gC(e.rootPath);if(!t)return null;let n=gC(e.linkPath);return!n||!vC({candidatePath:n,rootPath:t})||n===t?null:{path:n,relativePath:t===`/`?n.slice(1):n.slice(t.length+1),rootPath:t}}function vC(e){return e.rootPath===`/`?e.candidatePath.startsWith(`/`):e.candidatePath===e.rootPath||e.candidatePath.startsWith(`${e.rootPath}/`)}function yC(e){if(hC(e.link.path))return{kind:`app-route`};let t=gC(e.link.path);if(!t)return{description:mC,kind:`error`};let n=e.workspaceRootPath===null?null:_C({linkPath:t,rootPath:e.workspaceRootPath});if(n)return{kind:`open-workspace-path`,request:{lineNumber:e.link.lineNumber,path:n.path,relativePath:n.relativePath,workspaceRootPath:n.rootPath}};let r=e.threadStorageRootPath===null?null:_C({linkPath:t,rootPath:e.threadStorageRootPath});return r?{kind:`open-thread-storage-path`,request:{lineNumber:e.link.lineNumber,path:r.path,relativePath:r.relativePath,threadStorageRootPath:r.rootPath}}:e.hostFileLinksAvailable?{kind:`open-host-path`,request:{lineNumber:e.link.lineNumber,path:t}}:{description:pC,kind:`error`}}function bC({terminalId:e,threadId:t}){return`/ws/threads/${encodeURIComponent(t)}/terminals/${encodeURIComponent(e)}`}function xC(e){let t=bC(e);if(typeof __BB_DEV_WS_URL__==`string`){let e=new URL(__BB_DEV_WS_URL__);return e.pathname=t,e.search=``,e.hash=``,e.toString()}return`${window.location.protocol===`https:`?`wss:`:`ws:`}//${window.location.host}${t}`}var SC=`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, monospace`;function CC(e,t){let n=getComputedStyle(document.documentElement).getPropertyValue(t).trim();if(n)return e.style.color=n,getComputedStyle(e).color}function wC(){if(typeof document>`u`)return{};let e=document.createElement(`span`);e.style.position=`absolute`,e.style.visibility=`hidden`,e.style.pointerEvents=`none`,document.body.appendChild(e);let t=t=>CC(e,t),n={background:t(`--background`),foreground:t(`--foreground`),cursor:t(`--foreground`),cursorAccent:t(`--background`),selectionBackground:t(`--muted`),black:t(`--ansi-0`),red:t(`--ansi-1`),green:t(`--ansi-2`),yellow:t(`--ansi-3`),blue:t(`--ansi-4`),magenta:t(`--ansi-5`),cyan:t(`--ansi-6`),white:t(`--ansi-7`),brightBlack:t(`--ansi-8`),brightRed:t(`--ansi-9`),brightGreen:t(`--ansi-10`),brightYellow:t(`--ansi-11`),brightBlue:t(`--ansi-12`),brightMagenta:t(`--ansi-13`),brightCyan:t(`--ansi-14`),brightWhite:t(`--ansi-15`)};return e.remove(),n}function TC(e){let t=new TextEncoder().encode(e),n=``;for(let e of t)n+=String.fromCharCode(e);return btoa(n)}function EC(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e+=1)n[e]=t.charCodeAt(e);return new TextDecoder().decode(n)}function DC({socket:e,terminal:t}){e.readyState===WebSocket.OPEN&&e.send(JSON.stringify({type:`resize`,cols:t.cols,rows:t.rows}))}function OC({containerElement:e,entries:t}){let n=t?.[0],r=n?.contentRect.width??e.clientWidth,i=n?.contentRect.height??e.clientHeight;return r>0&&i>0}function kC({terminal:e,text:t}){e.write(`\r\n\x1b[2m${t}\x1b[0m\r\n`)}var AC=(e,t)=>{window.open(t,`_blank`,`noopener,noreferrer`)};function jC({isReplay:e,replayWriteState:t,terminal:n,text:r}){if(!e){n.write(r);return}t.suppressedWriteCount+=1,n.write(r,()=>{--t.suppressedWriteCount})}function MC({message:e,replayNextSeq:t,replayWriteState:n,setReplayNextSeq:r,terminal:i}){switch(e.type){case`attached`:r(e.nextSeq);return;case`pong`:case`session-updated`:return;case`output`:jC({isReplay:t!==null&&e.chunk.seq<t,replayWriteState:n,terminal:i,text:EC(e.chunk.dataBase64)});return;case`error`:kC({terminal:i,text:`Terminal error: ${e.message}`});return;case`exited`:kC({terminal:i,text:e.session.exitCode===null?`Terminal exited`:`Terminal exited with code ${e.session.exitCode}`});return}}function NC({isPanelOpen:e,onTitleChange:t,onUserInput:n,session:r,threadId:i}){let a=(0,K.useRef)(null),o=(0,K.useRef)(null),s=(0,K.useRef)(t),c=(0,K.useRef)(n),l=(0,K.useRef)(e),u=(0,K.useRef)(null),d=gt();return l.current=e,s.current=t,c.current=n,(0,K.useEffect)(()=>{let e=a.current;if(!e)return;let t=!1,n=null,d=null,f=null,p=null,m={suppressedWriteCount:0},h=null,g=null;async function _(e){let[{Terminal:a},{FitAddon:_},{WebLinksAddon:v}]=await Promise.all([qe(()=>import(`./xterm-Ba9eaFdZ.js`),[]),qe(()=>import(`./addon-fit-C0pCnz-E.js`),[]),qe(()=>import(`./addon-web-links-C74o10p8.js`),[])]);if(t)return;d=new a({allowProposedApi:!1,convertEol:!0,cursorBlink:!0,fontFamily:SC,fontSize:12,scrollback:1e4,theme:wC()}),o.current=d,f=new _,d.loadAddon(f),d.loadAddon(new v(AC)),d.open(e);let y=()=>{!f||!d||OC({containerElement:e})&&(f.fit(),n&&DC({socket:n,terminal:d}))},b=()=>{h===null&&(h=window.requestAnimationFrame(()=>{h=null,y()}))};y(),u.current=b,l.current&&d.focus(),n=new WebSocket(xC({terminalId:r.id,threadId:i}));let x=n,S=d;x.onopen=()=>{DC({socket:x,terminal:S})},x.onmessage=e=>{if(typeof e.data!=`string`)return;let t;try{t=JSON.parse(e.data)}catch{return}let n=se.safeParse(t);n.success&&MC({message:n.data,replayNextSeq:p,replayWriteState:m,setReplayNextSeq:e=>{p=e},terminal:S})},x.onclose=()=>{t||kC({terminal:S,text:`Terminal connection closed`})},S.onData(e=>{m.suppressedWriteCount>0||x.readyState===WebSocket.OPEN&&(c.current?.(),x.send(JSON.stringify({type:`input`,dataBase64:TC(e)})))}),S.onTitleChange(e=>{m.suppressedWriteCount>0||s.current?.(e)}),g=new ResizeObserver(t=>{OC({containerElement:e,entries:t})&&b()}),g.observe(e)}return _(e).catch(n=>{t||(e.textContent=n instanceof Error?n.message:String(n))}),()=>{t=!0,h!==null&&window.cancelAnimationFrame(h),g?.disconnect(),n?.close(),d?.dispose(),o.current=null,u.current=null}},[r.id,i]),(0,K.useEffect)(()=>{e&&(o.current?.focus(),u.current?.())},[e]),(0,K.useEffect)(()=>{let e=o.current;e&&(e.options.theme=wC())},[d]),(0,q.jsx)(`div`,{className:`h-full min-h-0 w-full overflow-hidden bg-background p-2`,children:(0,q.jsx)(`div`,{ref:a,className:`h-full min-h-0 w-full overflow-hidden`})})}function PC({canCreateTerminal:e,status:t}){switch(t){case`disconnected`:return{canStartReplacement:e,description:null,title:`Terminal disconnected`};case`exited`:return{canStartReplacement:!1,description:null,title:`Terminal exited`};case`starting`:return{canStartReplacement:!1,description:null,title:`Terminal starting`};case`running`:return{canStartReplacement:!1,description:null,title:`Terminal running`}}}function FC({controller:e}){if(e.hasTerminalQueryError)return(0,q.jsx)(`div`,{className:`flex h-full items-center justify-center px-4 text-center text-sm text-destructive`,children:`Failed to load terminals.`});if(!e.activeSession)return(0,q.jsx)(`div`,{className:`flex h-full items-center justify-center px-4 text-center text-sm text-muted-foreground`,children:e.terminalBodyMessage});if(e.activeSession.status!==`running`){let n=PC({canCreateTerminal:e.canCreateTerminal,status:e.activeSession.status});return(0,q.jsx)(`div`,{className:`flex h-full items-center justify-center px-4 text-center text-sm`,children:(0,q.jsxs)(`div`,{className:`flex max-w-md flex-col items-center gap-3`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`p`,{className:`font-medium text-foreground`,children:n.title}),n.description===null?null:(0,q.jsx)(`p`,{className:`mt-1 text-muted-foreground`,children:n.description})]}),n.canStartReplacement?(0,q.jsxs)(h,{type:`button`,size:`sm`,onClick:e.handleCreateTerminal,disabled:e.isCreateTerminalPending,children:[e.isCreateTerminalPending?(0,q.jsx)(t,{name:`Spinner`,className:`size-3.5 animate-spin`}):(0,q.jsx)(t,{name:`Plus`,className:`size-3.5`}),`Start new terminal`]}):null]})})}return(0,q.jsx)(NC,{isPanelOpen:e.isPanelOpen,onTitleChange:e.handleActiveTerminalTitleChange,onUserInput:e.handleActiveTerminalUserInput,session:e.activeSession,threadId:e.threadId})}var IC=200,LC=3;function RC({title:e}){let t=e.trim();if(!t)return null;let n=zC({title:t});return n===null?t.slice(0,IC):VC({path:n.path}).slice(0,IC)}function zC({title:e}){let t=/^[^@\s:]+@[^:\s]+:(.+)$/u.exec(e)?.[1];return!t||!BC({path:t})?null:{path:t}}function BC({path:e}){return e===`~`||e===`.`||e.startsWith(`~/`)||e.startsWith(`/`)||e.startsWith(`./`)}function VC({path:e}){if(e===`/`||e===`~`||e===`.`)return e;let t=e.split(`/`).filter(e=>e.length>0);return t.length<=LC?e:`.../${t.slice(-LC).join(`/`)}`}var HC=100,UC=30,WC=[],GC=250;function KC(e){return e.status!==`exited`}function qC(e,t){return t&&e.some(e=>e.id===t)?t:e[0]?.id??null}function JC(e){switch(e.status){case`starting`:return`starting`;case`running`:return`running`;case`disconnected`:return`disconnected`;case`exited`:return`exited`}}function YC({canCreateTerminal:e,threadId:t}){let n=Pi(t),r=Fi(t),i=Ii(t),a=ix(t),o=ax(t),s=ox(t),c=(0,K.useRef)(new Set),l=(0,K.useRef)(new Set),u=(0,K.useRef)(n.isOpen),d=(0,K.useRef)(null),f=(0,K.useRef)(null),[p,m]=(0,K.useState)(!1),h=Sa(t,{enabled:n.isOpen}),g=Ca(),_=Ta(),v=wa(),y=h.data?.sessions??WC,b=(0,K.useMemo)(()=>y.filter(KC),[y]),x=(0,K.useMemo)(()=>qC(b,a),[a,b]),S=b.find(e=>e.id===x)??null;(0,K.useEffect)(()=>{a!==x&&o(x)},[a,x,o]),(0,K.useEffect)(()=>{let e=u.current;if(u.current=n.isOpen,!n.isOpen){m(!1);return}e||m(!0)},[n.isOpen]),(0,K.useEffect)(()=>()=>{f.current!==null&&window.clearTimeout(f.current)},[]);let C=(0,K.useCallback)(()=>{!e||g.isPending||g.mutate({threadId:t,cols:HC,rows:UC},{onSuccess:e=>{o(e.id)}})},[e,g,o,t]);(0,K.useEffect)(()=>{if(p){if(!n.isOpen||!e||h.error){m(!1);return}if(!(g.isPending||h.isLoading)){if(b.length>0){m(!1);return}m(!1),C()}}},[e,g.isPending,n.isOpen,p,C,h.error,h.isLoading,b.length]),(0,K.useEffect)(()=>{if(!n.isOpen)for(let e of b)e.lastUserInputAt!==null||c.current.has(e.id)||l.current.has(e.id)||(l.current.add(e.id),_.mutate({mode:`if-clean`,threadId:t,terminalId:e.id},{onSuccess:e=>{e.status===`exited`&&(c.current.delete(e.id),s(e.id))},onSettled:()=>{l.current.delete(e.id)}}))},[_,n.isOpen,s,t,b]);let w=(0,K.useCallback)(()=>{C()},[C]),T=(0,K.useCallback)(e=>{o(e),r(e=>({...e,isOpen:!0}))},[o,r]),E=(0,K.useCallback)(e=>{_.mutate({mode:`force`,threadId:t,terminalId:e},{onSuccess:()=>{c.current.delete(e),l.current.delete(e),s(e)}})},[_,s,t]),D=(0,K.useCallback)(()=>{x&&c.current.add(x)},[x]),O=(0,K.useCallback)(e=>{if(!S||S.status!==`running`)return;let n=RC({title:e});if(!n||n===S.title)return;let r={terminalId:S.id,title:n},i=d.current;i!==null&&i.terminalId===r.terminalId&&i.title===r.title||(d.current=r,f.current!==null&&window.clearTimeout(f.current),f.current=window.setTimeout(()=>{f.current=null,v.mutate({threadId:t,terminalId:r.terminalId,title:r.title},{onSettled:()=>{let e=d.current;e!==null&&e.terminalId===r.terminalId&&e.title===r.title&&(d.current=null)}})},GC))},[S,v,t]),k=(0,K.useCallback)(()=>{i(!1)},[i]),A=g.isPending||e&&n.isOpen&&p,j=A?`Starting terminal...`:`No terminals`,M=A?e?`Starting terminal...`:`Terminals unavailable.`:`No terminals`,N=h.isLoading||b.length===0&&A;return{activeSession:S,activeTerminalId:x,canCreateTerminal:e,closingTerminalId:_.isPending&&_.variables?_.variables.terminalId:null,emptyTerminalMessage:j,handleActiveTerminalTitleChange:O,handleActiveTerminalUserInput:D,handleClosePanel:k,handleCloseTerminal:E,handleCreateTerminal:w,handleSelectTerminal:T,hasTerminalQueryError:h.error!==null,isCreateTerminalPending:g.isPending,isPanelOpen:n.isOpen,isTerminalQueryLoading:h.isLoading,showTerminalPlaceholders:N,terminalBodyMessage:M,threadId:t,visibleSessions:b}}function XC({controller:e}){return(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1 overflow-x-auto`,role:`tablist`,"aria-label":`Terminal sessions`,children:[e.isTerminalQueryLoading?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(dn,{className:`h-6 w-28 shrink-0 rounded-md`}),(0,q.jsx)(dn,{className:`h-6 w-24 shrink-0 rounded-md`})]}):e.visibleSessions.length>0?e.visibleSessions.map(t=>(0,q.jsx)(ZC,{session:t,isActive:t.id===e.activeTerminalId,isClosing:e.closingTerminalId===t.id,onSelect:()=>e.handleSelectTerminal(t.id),onClose:()=>e.handleCloseTerminal(t.id)},t.id)):e.showTerminalPlaceholders?(0,q.jsx)(`p`,{className:`shrink-0 text-xs text-muted-foreground`,children:e.emptyTerminalMessage}):null,(0,q.jsx)(h,{type:`button`,variant:`ghost`,size:`icon`,className:`h-7 w-7 shrink-0 rounded-md p-0 text-muted-foreground`,disabled:!e.canCreateTerminal||e.isCreateTerminalPending,onClick:e.handleCreateTerminal,"aria-label":`New terminal`,title:`New terminal`,children:e.isCreateTerminalPending?(0,q.jsx)(t,{name:`Spinner`,className:`size-3.5 animate-spin`}):(0,q.jsx)(t,{name:`Plus`,className:`size-3.5`})})]})}function ZC({isActive:e,isClosing:t,onClose:n,onSelect:r,session:i}){let a=JC(i);return(0,q.jsx)(Xa,{label:i.title,secondaryLabel:i.status===`running`?null:a,title:`${i.title} (${a})`,isActive:e,onSelect:r,closeAction:{onClose:n,closeLabel:`Close ${i.title}`,closeTooltip:`Close terminal`,isClosing:t}})}function QC({canCreateTerminal:e,threadId:n}){let r=YC({canCreateTerminal:e,threadId:n});return(0,q.jsxs)(`section`,{"aria-label":`Thread terminals`,className:`flex h-full min-h-0 min-w-0 flex-col bg-background`,children:[(0,q.jsxs)(`div`,{className:`flex h-10 min-h-10 items-center gap-2 bg-background px-3`,children:[(0,q.jsx)(XC,{controller:r}),(0,q.jsx)(h,{type:`button`,variant:`ghost`,size:`icon`,className:`h-7 w-7 shrink-0 rounded-md p-0 text-muted-foreground`,onClick:r.handleClosePanel,"aria-label":`Close terminal panel`,title:`Close terminal panel`,children:(0,q.jsx)(t,{name:`X`,className:`size-3.5`})})]}),(0,q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden bg-background`,children:(0,q.jsx)(FC,{controller:r})})]})}function $C({fixedPanelTabsState:e}){let t=e.secondary.activeTabId;return t===null?null:e.secondary.tabs.find(e=>e.id===t)??null}function ew(e){if(e===null)return null;switch(e.kind){case`thread-info`:return`thread-info`;case`git-diff`:return`git-diff`;case`workspace-file-preview`:case`host-file-preview`:case`thread-storage-file-preview`:case`new-tab`:return`thread-info`;case`terminal`:return null}}function tw({activeFixedSecondaryTab:e}){return ew(e)}function nw({fixedPanelTabsState:e,selectedSecondaryPanel:t}){return e.secondary.isOpen?t:null}function rw(e){let t=tx(e),n=ex(e);return(0,K.useCallback)(e=>{if(e===null){t();return}n(e)},[t,n])}function iw(e){return nx(e)}var aw=[],ow={},sw={type:`manager`};function cw(e){let t=e.runtime.displayStatus;return t!==`host-reconnecting`&&t!==`waiting-for-host`?null:{label:t===`host-reconnecting`?`Host disconnected. Waiting for reconnection...`:`Host disconnected`,tone:t===`host-reconnecting`?`pending`:`error`}}function lw(){let{projectId:e,threadId:t}=pr();Xb(t),Ni(t);let n=Zb(t),r=Pi(t),i=$C({fixedPanelTabsState:n}),a=tw({activeFixedSecondaryTab:i}),o=nw({fixedPanelTabsState:n,selectedSecondaryPanel:a}),s=H(),c=$b(t),l=rw(t),u=iw(t);rx(t,(0,K.useCallback)(e=>{l(e)},[l]));let d=Be(t??``),f=d.isSuccess||d.isError,p=Li(t),m=Fi(t),{data:h,isFetching:g,isLoadingError:_,error:v}=Ne(t??``,{enabled:f,refetchOnMount:d.isSuccess?!0:`always`}),y=Bn({hasResolvedData:h!==void 0,isFetching:d.isFetching||g,isLoadingError:_}),b=Oe(h?.id??``,{enabled:y.status===`ready`&&!!h?.id,environmentId:h?.environmentId??void 0,providerId:h?.providerId??void 0}),x=b.isSuccess||b.isError,S=b.isSuccess?1e4:void 0,{data:C}=Ne(h?.parentThreadId??``),{data:w=[]}=Fe(h?.id??``,{enabled:x,refetchOnMount:b.isSuccess?!1:`always`,staleTime:S}),E=Ve(w)!==null,D=h?.type===`manager`,k=h?.type===`standard`,[A,j]=Nt(),M=D&&A,N=M?`standard`:void 0,P=QS({routeThreadId:t,thread:h,useStandardManagerTimeline:M}),[ee,F]=(0,K.useState)(!1),[te,I]=(0,K.useState)(0),{isThreadStorageFilesLoading:L,refetchThreadStorageFiles:ne,threadStorageFiles:re,threadStorageFilesError:ie,threadStorageRootPath:R}=gy({activePath:null,fileListEnabled:D,filePreviewEnabled:!1,threadId:t,threadType:h?.type}),{activateNewTab:B,activateHostFileTab:ae,activateStorageFileTab:oe,activateWorkspaceFileTab:V,activeHostFileLineNumber:se,activeHostFilePath:ce,activeStorageFilePath:le,activeWorkspaceFileLineNumber:ue,activeWorkspaceFilePath:de,activeWorkspaceFileSource:fe,activeWorkspaceFileStatusLabel:pe,clearActiveFileTabs:me,closeHostFileTab:he,closeNewTab:ge,closeStorageFileTab:_e,closeWorkspaceFileTab:U,isNewTabActive:ve,openNewTab:ye,openHostFile:xe,openStorageFile:Ce,openWorkspaceFile:Te,orderedSecondaryFileTabs:Ee,pinnedStorageFilePath:De,selectFileSearchResult:ke}=kx({threadId:t,environmentId:h?.environmentId,threadType:h?.type,storageFiles:re?.files}),Ae=Fy({files:re?.files,onSelectPath:Ce,selectedPath:le}),je=(0,K.useCallback)(()=>{if(n.secondary.isOpen){l(null);return}if(D&&i===null){Ce(De);return}u()},[i,n.secondary.isOpen,D,Ce,De,l,u]),Me=(0,K.useCallback)(e=>{D&&j(e)},[D,j]),Ie=Lv(h),Le=y.status===`ready`&&Ie,Re=ze({enabled:Le||D,filters:(0,K.useMemo)(()=>Le?sw:D&&h?.id?{parentThreadId:h.id}:ow,[D,Le,h?.id]),projectId:e}),He=(0,K.useMemo)(()=>Le?Re.data??aw:aw,[Re.data,Le]),{activeThinking:Ue,contextWindowUsage:We,hasOlderTimelineRows:Ge,isLoadingOlderTimelineRows:Ke,loadOlderTimelineRows:qe,pendingTodos:Je,timelineError:Ye,timelineLoading:Xe,timelineRows:W}=cC({managerTimelineView:N,threadId:t??``}),Qe=Nn(),et=Ln(),tt=we(),nt=Cr(),rt=Pe({errorMessage:`Failed to assign manager.`,lifecycleOperation:`assign_manager`}),it=$e(Ze),at=Sa(t??``,{enabled:it}),ot=(0,K.useMemo)(()=>at.data?.sessions.filter(e=>e.status!==`exited`).length??0,[at.data]),st=(0,K.useMemo)(()=>h?cw(h):null,[h]),ct=Gi(h?.environmentId,{enabled:f,staleTime:5e3}),lt=ct.data,dt=sr({projectId:e??``,environmentId:h?.environmentId??``}),ft=T(lt),{closeThreadSecondaryPanel:pt,defaultMergeBaseBranch:mt,isLoadingMergeBaseBranchOptions:ht,mergeBaseBranchOptions:gt,mergeBaseBranchOptionsTruncated:_t,mergeBaseRemoteBranchOptions:vt,openDiffFile:yt,openThreadDiffPanel:bt,openThreadSecondaryPanel:xt,selectedMergeBaseBranch:St,selectedMergeBaseBranchRef:Ct,setMergeBaseBranchSearchQuery:wt,setSelectedMergeBaseBranch:Tt}=Fa({activeSecondaryPanel:o,clearActiveFileTabs:me,defaultMergeBaseBranch:ft,environmentId:k?h?.environmentId??void 0:void 0,mergeBaseBranchOptionsEnabled:ee,setThreadSecondaryPanel:l}),{closePanel:Dt,isOpen:Ot,openDiffFile:kt,openDiffPanel:At,openPanel:jt,togglePanel:Mt}=hy({closePersistedPanel:pt,isPersistedOpen:n.secondary.isOpen,isCompactViewport:s,openPersistedDiffFile:yt,openPersistedDiffPanel:bt,openPersistedPanel:xt,threadId:t,togglePersistedPanel:je});(0,K.useEffect)(()=>{F(!1)},[h?.environmentId]);let Pt=(0,K.useCallback)(e=>{e&&F(!0)},[]),Ft=(0,K.useCallback)(e=>{me(),jt(e)},[me,jt]),Lt=(0,K.useCallback)(()=>{c()},[c]),Rt=(0,K.useCallback)(()=>{ye(),I(e=>e+1)},[ye]),zt=(0,K.useCallback)(e=>{let t=Math.round(e);m(e=>e.panelHeightPercent===t?e:{...e,panelHeightPercent:t})},[m]),Bt=(0,K.useCallback)(e=>{let t=uC(e);if(t.kind===`preview`){Te({lineNumber:null,path:e.file.path,source:t.source,statusLabel:t.statusLabel});return}kt(e.file.path)},[kt,Te]),Vt=(0,K.useMemo)(()=>{let e=e=>e.split(`/`).at(-1)??e,t=Ee.map(t=>{switch(t.kind){case`workspace-file-preview`:return{id:t.id,filename:e(t.path),isActive:t.path===de,statusLabel:t.statusLabel,onSelect:()=>V(t.path),onClose:()=>U(t.path)};case`host-file-preview`:return{id:t.id,filename:e(t.path),isActive:t.path===ce,statusLabel:null,onSelect:()=>ae(t.path),onClose:()=>he(t.path)};case`thread-storage-file-preview`:return{id:t.id,filename:e(t.path),isActive:t.path===le,isPinned:t.isPinned,statusLabel:null,onSelect:()=>oe(t.path),onClose:()=>_e(t.path)};case`new-tab`:return{id:t.id,filename:`New tab`,isActive:ve,statusLabel:null,onSelect:B,onClose:ge}}});return t.length>0?t:void 0},[B,ae,oe,V,ce,le,de,he,ge,_e,U,ve,Ee]),Ht=St??ft,Ut=Ki(h?.environmentId,Ht,{enabled:k&<!==void 0}),Wt=Ut.data,Gt=Ut.error,Kt=Gt?void 0:Wt??void 0,qt=Kt?.branch,Jt=(0,K.useMemo)(()=>ta(Kt),[Kt]),Yt=(0,K.useMemo)(()=>Jt===null||Jt.kind===`committed`?null:Jt,[Jt]),{isLocalHost:Xt}=G(),Zt=lt?Xt(lt.hostId):!1,Qt=dC({environment:lt,threadEnvironmentIsLocal:Zt}),{canOpenPreferredDirectoryTarget:$t,canOpenPreferredFileTarget:en,directoryOpenTargets:nn,openPathInDirectoryTarget:rn,openPathInPreferredDirectoryTarget:an,openPathInPreferredFileTarget:on,preferredDirectoryTarget:sn}=va({enabled:Zt}),cn=d.isSuccess&&d.data.environment!==void 0&&d.data.environment!==null&&d.data.host===null,{data:ln}=be(lt?.hostId,{enabled:!cn}),un=(0,K.useMemo)(()=>{if(!h?.parentThreadId)return null;let e=ur({projectId:h.projectId,threadId:h.parentThreadId});return C===void 0?{managerName:`Manager ${h.parentThreadId.slice(0,8)}`,href:e}:C.type!==`manager`||C.archivedAt!==null||C.deletedAt!==null||C.projectId!==h.projectId?null:{managerName:Se(C),href:e}},[C,h?.parentThreadId,h?.projectId]),dn=(0,K.useMemo)(()=>{if(!D)return null;let e=(Re.data??[]).filter(e=>To(e.runtime.displayStatus)).map(e=>({id:e.id,title:Se(e),href:ur({projectId:e.projectId,threadId:e.id})}));return e.length===0?null:{items:e}},[D,Re.data]),fn=Xe&&W.length===0,{erroredTurnSummaryIds:pn,handleLoadTurnSummaryRows:mn,loadingTurnSummaryIds:hn,turnSummaryRowsById:gn}=Ga({managerTimelineView:N,timelineRows:W,threadId:t});qS({markThreadRead:tt,thread:h});let{effectiveMergeBaseBranch:_n,handleMergeBaseBranchChange:vn,showBranchComparisonUi:yn,showMergeBase:bn,mergeBaseBranch:xn}=Ix({environment:lt,mergeBaseBranchRef:Ct,mergeBaseBranchOptions:gt,mergeBaseRemoteBranchOptions:vt,selectedMergeBaseBranch:St,setSelectedMergeBaseBranch:Tt,thread:h,updateEnvironment:nt,workspaceStatus:Kt}),Sn=KS({environment:lt,requestEnvironmentAction:et,sendMessage:Qe,thread:h,workspaceStatus:Kt});(0,K.useEffect)(()=>{Sn.threadGitActionDialog.target!==null&&F(!0)},[Sn.threadGitActionDialog.target]);let Cn=h?.parentThreadId,Tn=C?.title&&C.title.trim().length>0?C.title:Cn,En=(0,K.useMemo)(()=>Rv({currentThreadId:h?.id,isManagerThread:D,managerThreads:He,parentThreadDisplayName:Tn,parentThreadId:Cn}),[D,He,Tn,Cn,h?.id]),Dn=(0,K.useCallback)(e=>{!h||rt.isPending||rt.mutate({id:h.id,parentThreadId:e})},[h,rt]),On=(0,K.useCallback)(e=>e.kind===`app-route`?!1:e.kind===`error`?(ut.error(`Failed to open file locally`,{description:e.description}),!0):e.kind===`open-workspace-path`?(Te({lineNumber:e.request.lineNumber,path:e.request.relativePath,source:{kind:`working-tree`},statusLabel:null}),!0):e.kind===`open-thread-storage-path`?(Ce(e.request.relativePath),!0):(xe({lineNumber:e.request.lineNumber,path:e.request.path}),!0),[xe,Ce,Te]),kn=(0,K.useCallback)(e=>{let t=yC({hostFileLinksAvailable:h?.environmentId!==null&&h?.environmentId!==void 0,link:e,threadStorageRootPath:R,workspaceRootPath:Qt});return t.kind!==`open-host-path`||!D||R!==null?On(t):(ne().then(t=>{let n=t.data?.storageRootPath??null;if(n===null){ut.error(`Failed to open file locally`,{description:`Thread storage path is not available yet.`});return}On(yC({hostFileLinksAvailable:!0,link:e,threadStorageRootPath:n,workspaceRootPath:Qt}))}).catch(e=>{ut.error(`Failed to open file locally`,{description:e.message})}),!0)},[On,D,Qt,ne,h?.environmentId,R]),An=(0,K.useCallback)(e=>{switch(e.kind){case`open-file-diff`:return D?null:()=>{kt(e.path)};default:return wn(e.kind)}},[D,kt]);if(!e||!t)return(0,q.jsx)(z,{contentClassName:`min-h-full items-center justify-center`,children:(0,q.jsx)(`p`,{className:`py-12 text-center text-sm text-destructive`,children:`Not found`})});if(y.status===`loading`)return(0,q.jsx)(z,{contentClassName:`min-h-full items-center justify-center`,children:(0,q.jsx)(`p`,{className:`py-12 text-center text-sm text-muted-foreground`,children:`Loading...`})});if(!h||h.projectId!==e)return(0,q.jsx)(z,{contentClassName:`min-h-full items-center justify-center`,children:(0,q.jsx)(`p`,{className:`py-12 text-center text-sm text-destructive`,children:v?`Failed to load thread.`:`Not found`})});let jn=`${h.id}:${N??`default`}`,Mn=En.some(e=>e.value!==`none`),Pn=Ie&&Mn,Fn=h.type===`standard`&&!!h.parentThreadId,In=lt?O({environment:lt,isLocalHost:Zt,hostName:ln?.name}):void 0,Rn=In?It(In.workspaceDisplayKind):null,zn=lt!==void 0&&(lt.isWorktree||lt.workspaceProvisionType===`managed-worktree`)&&e&&h.environmentId!==null?dt:void 0,Vn=_n,Hn=qt?.currentBranch??void 0,Un=lt?.status===`destroyed`,Wn=it&&h.environmentId!==null&<?.status===`ready`,Gn=Oa(Kt,{mergeBaseBranch:xn,showBranchComparison:yn,error:Gt,workspaceDeleted:Un}),Kn=Se(h),qn=(0,q.jsx)(tn,{thread:h,triggerClassName:$n,align:`end`,viewerToggleLabel:D?`Use standard timeline`:void 0,viewerToggleChecked:D?M:void 0,onViewerToggleCheckedChange:D?Me:void 0}),Jn=fC({canOpenWorkspace:$t,environment:lt,hasWorkspaceOpenTargets:nn.length>0,threadEnvironmentIsLocal:Zt}),Yn=Jn&&sn?(0,q.jsx)(la,{preferredTarget:sn,targets:nn,onOpenPreferredTarget:async()=>{await an({lineNumber:null,path:Jn})},onOpenTarget:async e=>{await rn({lineNumber:null,path:Jn,rememberTarget:!0,targetId:e})}}):void 0,Xn=(0,q.jsx)(qa,{actionsMenu:qn,isManagedThread:!!Cn,isManagerThread:D,isSecondaryPanelOpen:Ot,activeTerminalCount:ot,isTerminalPanelOpen:it&&r.isOpen,isThreadGitActionPending:Sn.isThreadGitActionPending,onOpenThreadGitAction:Sn.threadGitActionDialog.onOpen,onToggleSecondaryPanel:Mt,onToggleTerminalPanel:p,showTerminalPanelToggle:it,threadHeaderGitActions:Sn.threadHeaderGitActions,threadTitle:Kn,workspaceOpenButton:Yn}),Zn=(0,q.jsx)(ls,{canUseGitUi:k,contextWindowUsage:We,environmentBranchName:Hn,environmentHostConnected:ln&&!Zt?ln.status===`connected`:void 0,environmentIcon:Rn??void 0,environmentLabel:In?.modeLabel,environmentHostLabel:In?.location===`remote`?In.hostLabel??void 0:void 0,isEnvironmentActionPending:et.isPending,onCreateNewThreadInWorktree:zn,composerQueriesEnabled:x,composerQueriesRefetchOnMount:b.isSuccess?!1:`always`,composerQueriesStaleTime:S,onChangedFileClick:Bt,openThreadDiffPanel:At,projectId:e,workspaceChangedFilesSection:k?Jt:null,workspaceStatusPending:k&&(ct.isLoading||Ut.isLoading),contextBannerMergeBase:k&&bn&&Vn?{branch:Vn,branchRef:Ct,options:gt,remoteOptions:vt,optionsTruncated:_t,optionsLoading:ht,onChange:vn,onPickerOpenChange:Pt,onSearchQueryChange:wt}:null,sendMessage:Qe,pendingInteractions:w,pendingTodos:Je,managedBySection:un,managerChildrenSection:dn,thread:h}),Qn=h.type===`manager`?{controller:Ae,filesError:ie,isFilesLoading:L}:void 0,er=lC({rootPath:Qt,canOpenPreferredTarget:en,openInPreferredTarget:on}),tr=lC({rootPath:Zt?R:null,canOpenPreferredTarget:en,openInPreferredTarget:on}),nr=Zt&&en?e=>{on({lineNumber:se,path:e})}:void 0,rr=de?Et({path:de,rootPath:lt?.path}):null,ir=le?Et({path:le,rootPath:R}):null,ar=ve?(0,q.jsx)(My,{projectId:e??void 0,environmentId:h.environmentId??null,currentThreadId:h.id,currentThreadType:h.type,focusRequest:te,onSelect:ke}):de?(0,q.jsx)(vc,{activePath:de,copyPath:rr,environmentId:h.environmentId,lineNumber:ue,onOpenInEditor:er,source:fe,statusLabel:pe,threadId:h.id}):ce?(0,q.jsx)(yc,{activePath:ce,environmentId:h.environmentId,lineNumber:se,onOpenInEditor:nr,threadId:h.id}):le?(0,q.jsx)(bc,{activePath:le,copyPath:ir,isManagerThread:D,onOpenInEditor:tr,pinnedPath:De,threadId:h.id}):void 0;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(uy,{footer:Zn,header:Xn,isMetadataLoading:ct.isLoading,isSecondaryPanelOpen:Ot,metadata:{thread:h,projectId:e,parentThreadDisplayName:Tn??null,managerThreads:He,canAssignToManager:Pn,canTakeOverThread:Fn,environmentHost:ln??null,environmentIsLocal:Zt,environment:lt??null,workspaceStatus:Kt,workspaceStatusError:Gt??null,selectedMergeBaseBranch:St,mergeBaseBranchRef:Ct,mergeBaseBranchOptions:gt,mergeBaseBranchOptionsTruncated:_t,mergeBaseRemoteBranchOptions:vt,isLoadingMergeBaseBranchOptions:ht,updateThreadPending:rt.isPending||nt.isPending,storage:Qn,onAssignManager:Dn,onMergeBaseBranchChange:vn,onMergeBaseBranchSearchQueryChange:wt,onChangedFileClick:k?Bt:void 0},secondaryPanel:{activePanel:a,canUseGitUi:k,defaultMergeBaseBranch:mt,environmentId:h.environmentId??void 0,workspaceRootPath:lt?.path,fileTabs:Vt,fileTabContent:ar,isOpen:Ot,onClose:Dt,onCollapse:Dt,onOpenFileInEditor:er,onOpenNewTab:Rt,onOpenFilePreview:e=>{Te({lineNumber:null,path:e,source:{kind:`working-tree`},statusLabel:null})},onPanelFocus:Lt,onPanelChange:Ft,showGitDiffTab:k},terminalPanel:it?(0,q.jsx)(QC,{canCreateTerminal:Wn,threadId:h.id}):void 0,terminalPanelHeightPercent:r.panelHeightPercent,terminalPanelOpen:it&&r.isOpen,onTerminalPanelResize:zt,timeline:{activeThinking:Ue,hasOlderTimelineRows:Ge,hostConnectionNotice:st,isLoadingOlderTimelineRows:Ke,isThreadTimelinePending:fn,timelineError:!!Ye,loadingTurnSummaryIds:hn,erroredTurnSummaryIds:pn,onLoadOlderRows:qe,onLoadTurnSummaryRows:mn,onOpenLocalFileLink:kn,onTitleAction:An,projectId:e,showOngoingIndicator:h.stopRequestedAt===null&&!E&&(h.runtime.displayStatus===`active`||h.runtime.displayStatus===`host-reconnecting`)&&!fn,ongoingIndicatorLabel:h.runtime.displayStatus===`host-reconnecting`?`Waiting for reconnection`:void 0,timelineRows:W,stopRequestedAt:h.stopRequestedAt,threadId:h.id,threadRuntimeDisplayStatus:h.runtime.displayStatus,turnSummaryRowsIdentity:jn,turnSummaryRowsById:gn,unreadDividerAutoScroll:P.autoScroll,unreadDividerPlacement:P.placement,workspaceRootPath:lt?.path??void 0}}),k?(0,q.jsx)(sa,{target:Sn.threadGitActionDialog.target,branchName:Hn,gitStatusDisplay:Gn,changedFilesSection:Yt,threadId:h.id,threadType:h.type,showMergeBaseDetails:yn,mergeBaseBranch:_n,mergeBaseBranchOptions:gt,mergeBaseBranchOptionsTruncated:_t,mergeBaseBranchRef:Ct,mergeBaseRemoteBranchOptions:vt,mergeBaseBranchOptionsLoading:ht,onMergeBaseBranchSearchQueryChange:wt,onMergeBaseBranchChange:yn?vn:void 0,onOpenChange:e=>{e||Sn.threadGitActionDialog.onClose()},onCommit:Sn.handleCommitThread,onSquashMerge:Sn.handleSquashMergeThread}):null]})}var uw={workerFactory:di,poolSize:ui()},dw={};function fw(){return(0,q.jsx)(kn,{poolOptions:uw,highlighterOptions:dw,children:(0,q.jsx)(lw,{})})}export{fw as default};
|