bb-app 0.0.10 → 0.0.12

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.
Files changed (359) hide show
  1. package/app/dist/assets/AppSettingsView-BnxUHmxx.js +1 -0
  2. package/app/dist/assets/InternalReplayListView-csLG2lko.js +1 -0
  3. package/app/dist/assets/ProjectArchivedThreadsView-CH0nwbDU.js +1 -0
  4. package/app/dist/assets/ProjectSettingsView-nWbGXc1H.js +1 -0
  5. package/app/dist/assets/ThreadDetailRoute-CO285nQR.js +2642 -0
  6. package/app/dist/assets/ThreadUnarchiveButton-CQaA-gHV.js +1 -0
  7. package/app/dist/assets/{angular-html-BYHpibq1.js → angular-html-BOmrr01g.js} +1 -1
  8. package/app/dist/assets/{angular-ts-CvblCwhB.js → angular-ts-DCM7qcSK.js} +1 -1
  9. package/app/dist/assets/{apl-Ut09domA.js → apl-DuVJ59sz.js} +1 -1
  10. package/app/dist/assets/{astro-DxF6gUBf.js → astro-AQMIDGwi.js} +1 -1
  11. package/app/dist/assets/{blade-bddbERIS.js → blade-CsPbsxBX.js} +1 -1
  12. package/app/dist/assets/{bsl-CG-fq4sc.js → bsl-9Rfj8X2G.js} +1 -1
  13. package/app/dist/assets/{c-DvGcUFpg.js → c-D9gG2MMW.js} +1 -1
  14. package/app/dist/assets/{cairo-Ds0kTeYT.js → cairo-B8t0-PSB.js} +1 -1
  15. package/app/dist/assets/{chunk-JZWAC4HX-Bl8ic0GS.js → chunk-JZWAC4HX-vAKkV_Y-.js} +1 -1
  16. package/app/dist/assets/{cobol-NY_aN0B9.js → cobol-DD9s4tIq.js} +1 -1
  17. package/app/dist/assets/{coffee-BaV26CEE.js → coffee-6iFiN2xF.js} +1 -1
  18. package/app/dist/assets/{cpp-Xi-gZwXu.js → cpp-DyiPD7p1.js} +1 -1
  19. package/app/dist/assets/{crystal-DCBHYaw5.js → crystal-XjoV3Lue.js} +1 -1
  20. package/app/dist/assets/{css-C0Oup6fN.js → css-DJovgfNT.js} +1 -1
  21. package/app/dist/assets/dialog-BvotBFA0.js +22 -0
  22. package/app/dist/assets/{edge-IkZjdQbn.js → edge-DYu9rQsg.js} +1 -1
  23. package/app/dist/assets/effective-hosts-CgZiG_wS.js +68 -0
  24. package/app/dist/assets/{elixir-BiI7ssvs.js → elixir-CGc4gb59.js} +1 -1
  25. package/app/dist/assets/{elm--EsAmim6.js → elm-DfNAAF5X.js} +1 -1
  26. package/app/dist/assets/{erb-C4BhXkcz.js → erb-CF74Kl7K.js} +1 -1
  27. package/app/dist/assets/{erlang-C-m_88FN.js → erlang-CdOz9ruD.js} +1 -1
  28. package/app/dist/assets/{fortran-fixed-form-Cx1lv7HN.js → fortran-fixed-form-BmD2L0UY.js} +1 -1
  29. package/app/dist/assets/{fsharp-DC5k9sy2.js → fsharp-DgKUr7h2.js} +1 -1
  30. package/app/dist/assets/{gdresource-D0EsKdgH.js → gdresource-BqgTfeIa.js} +1 -1
  31. package/app/dist/assets/{git-commit-BcFsuO5E.js → git-commit-CPnaL3nl.js} +1 -1
  32. package/app/dist/assets/{git-rebase-BwYFXKg2.js → git-rebase-2bSFR8VV.js} +1 -1
  33. package/app/dist/assets/{glimmer-js-Cw6GlNl1.js → glimmer-js-D1yNTSaa.js} +1 -1
  34. package/app/dist/assets/{glimmer-ts-Dtrhen-N.js → glimmer-ts-DVblM7L5.js} +1 -1
  35. package/app/dist/assets/{glsl-CneArfWq.js → glsl-gxzJizaK.js} +1 -1
  36. package/app/dist/assets/{graphql-XWsR5yIs.js → graphql-BpTTKDqK.js} +1 -1
  37. package/app/dist/assets/{hack-B_iHa-zR.js → hack-DDSUlOik.js} +1 -1
  38. package/app/dist/assets/{haml--apJL5g3.js → haml-BZNAh4-P.js} +1 -1
  39. package/app/dist/assets/{handlebars-DjtEJWNG.js → handlebars-DlYJLEcO.js} +1 -1
  40. package/app/dist/assets/{html-ByzR__NF.js → html-MZ0Poiph.js} +1 -1
  41. package/app/dist/assets/{html-derivative-1RBgMeAA.js → html-derivative-ChK_TvO6.js} +1 -1
  42. package/app/dist/assets/{http-iGjydcO_.js → http-CEE8xOHO.js} +1 -1
  43. package/app/dist/assets/{hurl-BgevzdCh.js → hurl-B5aHyN9a.js} +1 -1
  44. package/app/dist/assets/{hxml-iQTOTWpM.js → hxml-DlOl0PEf.js} +1 -1
  45. package/app/dist/assets/index-SSlA_QcC.css +2 -0
  46. package/app/dist/assets/index-u9J_LInz.js +1366 -0
  47. package/app/dist/assets/{java-DlVWVy_H.js → java-C-CCkGSB.js} +1 -1
  48. package/app/dist/assets/{javascript-CWg9eGcp.js → javascript-CoPUJA8j.js} +1 -1
  49. package/app/dist/assets/{jinja-cQnCNhMP.js → jinja-Ce_R6KUf.js} +1 -1
  50. package/app/dist/assets/{jison-BqLsni6f.js → jison-DxdoAlKK.js} +1 -1
  51. package/app/dist/assets/{json-f_cDSIBu.js → json-PteH9L8Y.js} +1 -1
  52. package/app/dist/assets/{jsx-Dddo5A0y.js → jsx-N08PKjBU.js} +1 -1
  53. package/app/dist/assets/{julia-BAHRDZhd.js → julia-D_eVESw1.js} +1 -1
  54. package/app/dist/assets/{just-C7Svdo3e.js → just-BVZ_2gix.js} +1 -1
  55. package/app/dist/assets/{latex-DiP8QMOq.js → latex-CvglVjdX.js} +1 -1
  56. package/app/dist/assets/{liquid-Dlxvb4YZ.js → liquid-C2RPsEhH.js} +1 -1
  57. package/app/dist/assets/localhost-badge-CHDdiNhq.js +1 -0
  58. package/app/dist/assets/{lua-CYFMiD7T.js → lua-D9-kqDch.js} +1 -1
  59. package/app/dist/assets/{marko-BmLsqAhT.js → marko-jVSfYuio.js} +1 -1
  60. package/app/dist/assets/{mdc-BbryJmmE.js → mdc-DVHnOYT4.js} +1 -1
  61. package/app/dist/assets/mutation-cache-effects-plW3Wjx9.js +1 -0
  62. package/app/dist/assets/mutation-errors-INqXreOn.js +2 -0
  63. package/app/dist/assets/{nextflow-D-Ec_bsY.js → nextflow-CK5HLJvq.js} +1 -1
  64. package/app/dist/assets/{nginx-CkaxUV85.js → nginx-DfHWE4gw.js} +1 -1
  65. package/app/dist/assets/{nim-CMthB9Um.js → nim-fW6F-8R_.js} +1 -1
  66. package/app/dist/assets/page-shell-omz5VWqw.js +39 -0
  67. package/app/dist/assets/{perl-1j__vNSI.js → perl-C916SOdN.js} +1 -1
  68. package/app/dist/assets/{php-BgGf6vLq.js → php-BDWQ0WnL.js} +1 -1
  69. package/app/dist/assets/{pill-CxDd2TL9.js → pill-8eXFxAuz.js} +1 -1
  70. package/app/dist/assets/{pug-CrMx1oZj.js → pug-BTGBL6ey.js} +1 -1
  71. package/app/dist/assets/{qml-DQlcMuCA.js → qml-BB7gtLw5.js} +1 -1
  72. package/app/dist/assets/{r-BHAxDsuN.js → r-4Ktj_4BV.js} +1 -1
  73. package/app/dist/assets/{razor-DH_SJCeW.js → razor-C_Ejzpyk.js} +1 -1
  74. package/app/dist/assets/{regexp-Ux97qEA5.js → regexp-DdimReFO.js} +1 -1
  75. package/app/dist/assets/{rst-C8K66ASd.js → rst-Ba-8orMO.js} +1 -1
  76. package/app/dist/assets/{ruby-Bgv5vCSb.js → ruby-DNE0wFLx.js} +1 -1
  77. package/app/dist/assets/{sas-BJuZWbIi.js → sas-D6QyIc5Y.js} +1 -1
  78. package/app/dist/assets/{scss-CPH2TlnJ.js → scss-BpYltub1.js} +1 -1
  79. package/app/dist/assets/{settings-section-BlOBCLDd.js → settings-section-BkJbbK-p.js} +1 -1
  80. package/app/dist/assets/{shaderlab-DGohHMiF.js → shaderlab-jhHUXThs.js} +1 -1
  81. package/app/dist/assets/{shellscript-DTAdkLLb.js → shellscript-B1QZDlVi.js} +1 -1
  82. package/app/dist/assets/{shellsession-CjAj2gkp.js → shellsession-C2YSc67H.js} +1 -1
  83. package/app/dist/assets/{soy-wiaUs069.js → soy-Ba6Otyql.js} +1 -1
  84. package/app/dist/assets/{sparql-BgU2QITA.js → sparql-D050l-1j.js} +1 -1
  85. package/app/dist/assets/split-button-_uHFVDB-.js +1 -0
  86. package/app/dist/assets/{sql-QcEXm8Az.js → sql-Bnzimrzw.js} +1 -1
  87. package/app/dist/assets/{stata-C48TsyCk.js → stata-BmWbZaNS.js} +1 -1
  88. package/app/dist/assets/{surrealql-gygGBtDy.js → surrealql-BDEpTym4.js} +1 -1
  89. package/app/dist/assets/{svelte-DzJ1bjdK.js → svelte-D3__atge.js} +1 -1
  90. package/app/dist/assets/{templ-DiTphmEM.js → templ-B2QvG8e0.js} +1 -1
  91. package/app/dist/assets/{tex-C6QfjVdh.js → tex-oleGAEAp.js} +1 -1
  92. package/app/dist/assets/thread-queries-DpnZLohh.js +1 -0
  93. package/app/dist/assets/{ts-tags-Dg7FL61U.js → ts-tags-C4rrn99M.js} +1 -1
  94. package/app/dist/assets/{tsx-BG30q5NW.js → tsx-5jd1D3TG.js} +1 -1
  95. package/app/dist/assets/{twig-CWCr-AmW.js → twig-BxJeHYNu.js} +1 -1
  96. package/app/dist/assets/{typescript-BR3EjqlG.js → typescript-81bZW67U.js} +1 -1
  97. package/app/dist/assets/{vue-CkJ_ptKH.js → vue-DSNd-6Ch.js} +1 -1
  98. package/app/dist/assets/{vue-html-CFKVnnyc.js → vue-html-CQT5rCwO.js} +1 -1
  99. package/app/dist/assets/{vue-vine-clps1P0S.js → vue-vine-BafaCKEQ.js} +1 -1
  100. package/app/dist/assets/workspace-open-target-preference-yN4DFIsy.js +1 -0
  101. package/app/dist/assets/{xml-BHYwmP79.js → xml-AdWB6zlJ.js} +1 -1
  102. package/app/dist/assets/{xsl-CbEJKtIJ.js → xsl-Dy6hQs2F.js} +1 -1
  103. package/app/dist/assets/{yaml-C-71NFj-.js → yaml-BdzELsfc.js} +1 -1
  104. package/app/dist/index.html +10 -9
  105. package/dist/bb-app.js +1 -1
  106. package/dist/bb-host-daemon.js +1 -1
  107. package/host-daemon/dist/bb +325 -563
  108. package/host-daemon/dist/bb-claude-code-bridge.mjs +37 -37
  109. package/host-daemon/dist/bb-pi-bridge.mjs +1 -1
  110. package/host-daemon/dist/daemon-bundle.mjs +359 -361
  111. package/package.json +1 -1
  112. package/server/dist/default-template/apps/status/manifest.json +9 -0
  113. package/server/dist/drizzle/0006_rapid_santa_claus.sql +11 -0
  114. package/server/dist/drizzle/0007_curvy_ezekiel_stane.sql +2 -0
  115. package/server/dist/drizzle/0008_thread_pinning.sql +3 -0
  116. package/server/dist/drizzle/meta/0006_snapshot.json +3243 -0
  117. package/server/dist/drizzle/meta/0007_snapshot.json +3260 -0
  118. package/server/dist/drizzle/meta/0008_snapshot.json +3285 -0
  119. package/server/dist/drizzle/meta/_journal.json +22 -1
  120. package/server/dist/index.js +4577 -4986
  121. package/app/dist/assets/AppSettingsView-H-BJwj9_.js +0 -1
  122. package/app/dist/assets/InternalReplayListView-BTghdJ73.js +0 -1
  123. package/app/dist/assets/ProjectArchivedThreadsView-Cepv99cw.js +0 -1
  124. package/app/dist/assets/ProjectSettingsView-BHiTMC3F.js +0 -1
  125. package/app/dist/assets/ThreadDetailRoute-BoiY0PTG.js +0 -2867
  126. package/app/dist/assets/ThreadUnarchiveButton-BjYW-ned.js +0 -1
  127. package/app/dist/assets/dialog-aN1xTDyE.js +0 -1
  128. package/app/dist/assets/effective-hosts-DyMNblil.js +0 -68
  129. package/app/dist/assets/index-BikEVw-C.css +0 -2
  130. package/app/dist/assets/index-DERhWKi1.js +0 -1364
  131. package/app/dist/assets/localhost-badge-EX9hMqNt.js +0 -22
  132. package/app/dist/assets/mutation-cache-effects-Dhc8bhPi.js +0 -1
  133. package/app/dist/assets/page-shell-Cm6ORlc1.js +0 -39
  134. package/app/dist/assets/split-button-DKl9pCWu.js +0 -1
  135. package/app/dist/assets/thread-queries-BZIo9kT6.js +0 -1
  136. package/server/dist/default-template/STATUS.html +0 -380
  137. /package/app/dist/assets/{abap-B1dkBSPn.js → abap-B7RnWQOG.js} +0 -0
  138. /package/app/dist/assets/{actionscript-3-BT4ibYlP.js → actionscript-3-CRl2BRXz.js} +0 -0
  139. /package/app/dist/assets/{ada-CD92zeps.js → ada-CySgk42_.js} +0 -0
  140. /package/app/dist/assets/{addon-fit-Cm0rqjtv.js → addon-fit-C0pCnz-E.js} +0 -0
  141. /package/app/dist/assets/{addon-web-links-B8_D6zvC.js → addon-web-links-C74o10p8.js} +0 -0
  142. /package/app/dist/assets/{andromeeda-DqSmgxi0.js → andromeeda-Bnm9WW1a.js} +0 -0
  143. /package/app/dist/assets/{apache-D5suuoa_.js → apache-CQgWNR0K.js} +0 -0
  144. /package/app/dist/assets/{apex-BL-m4VHy.js → apex-CFa_x2c9.js} +0 -0
  145. /package/app/dist/assets/{applescript-CLiBqvKT.js → applescript-CCGt--QU.js} +0 -0
  146. /package/app/dist/assets/{ara-LdDF8cmv.js → ara-CJYv1XlV.js} +0 -0
  147. /package/app/dist/assets/{asciidoc-2DZ9hC2N.js → asciidoc-DxgPoKvx.js} +0 -0
  148. /package/app/dist/assets/{asm-0ZPGRSUy.js → asm-2LyQSByb.js} +0 -0
  149. /package/app/dist/assets/{aurora-x-Da7Zfvbg.js → aurora-x-DfOR6O80.js} +0 -0
  150. /package/app/dist/assets/{awk-Bn0gn_B_.js → awk-adfNbTQc.js} +0 -0
  151. /package/app/dist/assets/{ayu-dark-bqYKoqpM.js → ayu-dark-ADZF52JZ.js} +0 -0
  152. /package/app/dist/assets/{ayu-light-C45jTIzZ.js → ayu-light-CMMeLqXc.js} +0 -0
  153. /package/app/dist/assets/{ayu-mirage-BV_FCTQi.js → ayu-mirage-BZvrYN67.js} +0 -0
  154. /package/app/dist/assets/{ballerina-D2nw_w8Q.js → ballerina-G1jH5Moz.js} +0 -0
  155. /package/app/dist/assets/{bat-ByUBN5gS.js → bat-CHXtPpft.js} +0 -0
  156. /package/app/dist/assets/{beancount-BTb2W6Mp.js → beancount-EfboDiXG.js} +0 -0
  157. /package/app/dist/assets/{berry-5SO2uITG.js → berry-DAhQzFBm.js} +0 -0
  158. /package/app/dist/assets/{bibtex-CDBTNfUI.js → bibtex-CanpD3m2.js} +0 -0
  159. /package/app/dist/assets/{bicep-fgxG_4rP.js → bicep-Cc0u08ve.js} +0 -0
  160. /package/app/dist/assets/{bird2-BCwzDhwX.js → bird2-BmGSmafQ.js} +0 -0
  161. /package/app/dist/assets/{c3-Dlaci63_.js → c3-Bld9q8eN.js} +0 -0
  162. /package/app/dist/assets/{cadence-DHbRuEmm.js → cadence-_3OaglmQ.js} +0 -0
  163. /package/app/dist/assets/{catppuccin-frappe-DrL1fUuH.js → catppuccin-frappe-Dn0XJ8jj.js} +0 -0
  164. /package/app/dist/assets/{catppuccin-latte-C0REgVjl.js → catppuccin-latte-D25Kwd8S.js} +0 -0
  165. /package/app/dist/assets/{catppuccin-macchiato-ChQpylWO.js → catppuccin-macchiato-Bc6w_RYC.js} +0 -0
  166. /package/app/dist/assets/{catppuccin-mocha-Dd0JU1T0.js → catppuccin-mocha-Di4PH8Ri.js} +0 -0
  167. /package/app/dist/assets/{clarity-DMoTOm4G.js → clarity-CVKtZWJu.js} +0 -0
  168. /package/app/dist/assets/{clojure-DBhE3PpS.js → clojure-C4w8xKrn.js} +0 -0
  169. /package/app/dist/assets/{cmake-DwMc40Or.js → cmake-DuxpWyxB.js} +0 -0
  170. /package/app/dist/assets/{codeowners-1lVr8wqV.js → codeowners-BYgLRiPG.js} +0 -0
  171. /package/app/dist/assets/{codeql-DWflolvo.js → codeql-DmJo4bmm.js} +0 -0
  172. /package/app/dist/assets/{common-lisp-CrVQ5xT-.js → common-lisp-xmwdM7sj.js} +0 -0
  173. /package/app/dist/assets/{coq-CjfoyYSh.js → coq-D004aLp-.js} +0 -0
  174. /package/app/dist/assets/{csharp-C7bIWP5y.js → csharp-BJRWJrkS.js} +0 -0
  175. /package/app/dist/assets/{csv-DsAkDVtA.js → csv-Cx2EO4hN.js} +0 -0
  176. /package/app/dist/assets/{cue-BWmQgbOB.js → cue-BFvpulfw.js} +0 -0
  177. /package/app/dist/assets/{cypher-D-jVC50Q.js → cypher-CloxltJj.js} +0 -0
  178. /package/app/dist/assets/{d-CaviyOrm.js → d-ByN-nCZx.js} +0 -0
  179. /package/app/dist/assets/{dark-plus-DIrnwZt9.js → dark-plus-BRQ4k4kr.js} +0 -0
  180. /package/app/dist/assets/{dart-CZEi7JgC.js → dart-jaYeqpH7.js} +0 -0
  181. /package/app/dist/assets/{dax-BK-8zffy.js → dax-CQDoOssZ.js} +0 -0
  182. /package/app/dist/assets/{desktop-D3cjbL4D.js → desktop-DssJfs2S.js} +0 -0
  183. /package/app/dist/assets/{diff-sHAzLvlp.js → diff-DGLbp6Xl.js} +0 -0
  184. /package/app/dist/assets/{docker--xs2Ng3w.js → docker-B7aZDRTU.js} +0 -0
  185. /package/app/dist/assets/{dotenv-Cm4nwcJ7.js → dotenv-D3KyAIK0.js} +0 -0
  186. /package/app/dist/assets/{dracula-CAUSusef.js → dracula-6-t2eOMW.js} +0 -0
  187. /package/app/dist/assets/{dracula-soft-cjNkMFza.js → dracula-soft-B4TZzIlp.js} +0 -0
  188. /package/app/dist/assets/{dream-maker-fjmWTFCO.js → dream-maker-CjPuR0vx.js} +0 -0
  189. /package/app/dist/assets/{emacs-lisp-CJzqStIa.js → emacs-lisp-BHg7FqFZ.js} +0 -0
  190. /package/app/dist/assets/{everforest-dark-DBpaSMx1.js → everforest-dark-B4IVVaS6.js} +0 -0
  191. /package/app/dist/assets/{everforest-light-CiGrXwia.js → everforest-light-CNoEiPUu.js} +0 -0
  192. /package/app/dist/assets/{fennel-DRaXF7k8.js → fennel-DG6hK7z2.js} +0 -0
  193. /package/app/dist/assets/{fish-Bn-Yh3Jj.js → fish-_zY__9L4.js} +0 -0
  194. /package/app/dist/assets/{fluent-DF5F8Ks_.js → fluent-BBz3hVA9.js} +0 -0
  195. /package/app/dist/assets/{fortran-free-form-hCQHRqew.js → fortran-free-form-Db24aQuN.js} +0 -0
  196. /package/app/dist/assets/{gdscript-_C9_Hi_w.js → gdscript-CxxY7zMa.js} +0 -0
  197. /package/app/dist/assets/{gdshader-BW7b1X1Y.js → gdshader-W85lNgcx.js} +0 -0
  198. /package/app/dist/assets/{genie-Ch_6TCHd.js → genie-2WOhOayX.js} +0 -0
  199. /package/app/dist/assets/{gherkin-CaNUsmTq.js → gherkin-BsQJenZD.js} +0 -0
  200. /package/app/dist/assets/{github-dark-B9ygjgg6.js → github-dark-DH2_Q6FX.js} +0 -0
  201. /package/app/dist/assets/{github-dark-default-Br2bgYSx.js → github-dark-default-DTF8deNx.js} +0 -0
  202. /package/app/dist/assets/{github-dark-dimmed-CmtqpPJ-.js → github-dark-dimmed-BvtnYOMy.js} +0 -0
  203. /package/app/dist/assets/{github-dark-high-contrast-fSfmrZcC.js → github-dark-high-contrast-CQhqa0EF.js} +0 -0
  204. /package/app/dist/assets/{github-light-default-lIytXXhR.js → github-light-default-9rPElOua.js} +0 -0
  205. /package/app/dist/assets/{github-light-high-contrast-BRrjFb7n.js → github-light-high-contrast-Drx2T_ea.js} +0 -0
  206. /package/app/dist/assets/{github-light-BZjUqfZl.js → github-light-t2gQwbnC.js} +0 -0
  207. /package/app/dist/assets/{gleam-DALMDpNs.js → gleam-BjFNd70h.js} +0 -0
  208. /package/app/dist/assets/{gn-DGjqrYN9.js → gn-MXj_EEiV.js} +0 -0
  209. /package/app/dist/assets/{gnuplot-BYckvgQI.js → gnuplot-C40vWoS_.js} +0 -0
  210. /package/app/dist/assets/{go-JycvP538.js → go-B2Qj-jpc.js} +0 -0
  211. /package/app/dist/assets/{groovy-D5qMRONT.js → groovy-42TXi0JD.js} +0 -0
  212. /package/app/dist/assets/{gruvbox-dark-hard-M1dj1e6V.js → gruvbox-dark-hard-DaxQoAo9.js} +0 -0
  213. /package/app/dist/assets/{gruvbox-dark-medium-cqq_ncQu.js → gruvbox-dark-medium-CR6ynfxn.js} +0 -0
  214. /package/app/dist/assets/{gruvbox-dark-soft-B4QwL2a9.js → gruvbox-dark-soft-QoKQNR_B.js} +0 -0
  215. /package/app/dist/assets/{gruvbox-light-hard-DLayMKOQ.js → gruvbox-light-hard-C3-JuKAe.js} +0 -0
  216. /package/app/dist/assets/{gruvbox-light-medium-D52XgPKf.js → gruvbox-light-medium-676URJw_.js} +0 -0
  217. /package/app/dist/assets/{gruvbox-light-soft-Dola3KdD.js → gruvbox-light-soft-BGpHIYJO.js} +0 -0
  218. /package/app/dist/assets/{haskell-ys7wPPEd.js → haskell-C5VEzHiR.js} +0 -0
  219. /package/app/dist/assets/{haxe-94kiChn7.js → haxe-DxCG7g2C.js} +0 -0
  220. /package/app/dist/assets/{hcl-DmHt_-wq.js → hcl-B-KEcm-b.js} +0 -0
  221. /package/app/dist/assets/{hjson-xMmoJ0Gx.js → hjson-KcqWy6wG.js} +0 -0
  222. /package/app/dist/assets/{hlsl-b-Pskdze.js → hlsl-CU9ay1Rj.js} +0 -0
  223. /package/app/dist/assets/{horizon-BKMqttiR.js → horizon-BDDUNMOh.js} +0 -0
  224. /package/app/dist/assets/{horizon-bright-HNkBlnm5.js → horizon-bright-Km86OX7k.js} +0 -0
  225. /package/app/dist/assets/{houston-BkBSBSOQ.js → houston-CnK3oLKP.js} +0 -0
  226. /package/app/dist/assets/{hy-DKl1XhBq.js → hy-9kqolRdI.js} +0 -0
  227. /package/app/dist/assets/{imba-DPxkOTAg.js → imba-AWBATAYY.js} +0 -0
  228. /package/app/dist/assets/{ini-lkLGq_1x.js → ini-P5JLg6LV.js} +0 -0
  229. /package/app/dist/assets/{json5-Cy6ypJuJ.js → json5-Cj9weIvR.js} +0 -0
  230. /package/app/dist/assets/{jsonc-Cw2ugYAK.js → jsonc-CwVZHrLL.js} +0 -0
  231. /package/app/dist/assets/{jsonl-Dp5_qBVH.js → jsonl-CfYcxfNz.js} +0 -0
  232. /package/app/dist/assets/{jsonnet-BTbmg_-u.js → jsonnet-B351KcBZ.js} +0 -0
  233. /package/app/dist/assets/{jssm-CnT7nPea.js → jssm-CVNVxyp8.js} +0 -0
  234. /package/app/dist/assets/{kanagawa-dragon-CxsBnuhV.js → kanagawa-dragon-Bg-BKRuP.js} +0 -0
  235. /package/app/dist/assets/{kanagawa-lotus-vHdxDDOS.js → kanagawa-lotus-CVGoMXw8.js} +0 -0
  236. /package/app/dist/assets/{kanagawa-wave-CIkfTKWk.js → kanagawa-wave-CuNbEAGB.js} +0 -0
  237. /package/app/dist/assets/{kdl-BwK60g80.js → kdl-B2a5Hdo5.js} +0 -0
  238. /package/app/dist/assets/{kotlin-Dbd9Vi-v.js → kotlin-CwntYu9G.js} +0 -0
  239. /package/app/dist/assets/{kusto-BuTk9usc.js → kusto-DzqQhEgS.js} +0 -0
  240. /package/app/dist/assets/{laserwave-C0wf_d3o.js → laserwave-Bf5KiZGG.js} +0 -0
  241. /package/app/dist/assets/{lean-CYAW8bRN.js → lean-CLemLjY9.js} +0 -0
  242. /package/app/dist/assets/{less-D4uen21c.js → less-Dycz37IB.js} +0 -0
  243. /package/app/dist/assets/{light-plus-oqYyWKEE.js → light-plus-BISup5vO.js} +0 -0
  244. /package/app/dist/assets/{llvm-Z1xJzteV.js → llvm-B3vA1z1w.js} +0 -0
  245. /package/app/dist/assets/{log-BGUxlsk3.js → log-CM4eTPwH.js} +0 -0
  246. /package/app/dist/assets/{logo-wVUhvQ1b.js → logo-DCYIDlXZ.js} +0 -0
  247. /package/app/dist/assets/{luau-rPFZzCmq.js → luau-B3LrvOEt.js} +0 -0
  248. /package/app/dist/assets/{make-BmPf6m0P.js → make-Bep3F-fA.js} +0 -0
  249. /package/app/dist/assets/{markdown-AseU6zcW.js → markdown-BObkjWCp.js} +0 -0
  250. /package/app/dist/assets/{material-theme-darker-VPEo3Sem.js → material-theme-darker-DM1OIivA.js} +0 -0
  251. /package/app/dist/assets/{material-theme-6_W6rQhR.js → material-theme-jZt3rhQh.js} +0 -0
  252. /package/app/dist/assets/{material-theme-lighter-CUhzCcZ9.js → material-theme-lighter-HtgpH1FU.js} +0 -0
  253. /package/app/dist/assets/{material-theme-ocean-B2JdsaGb.js → material-theme-ocean-CeFuXoRG.js} +0 -0
  254. /package/app/dist/assets/{material-theme-palenight-DhY-sklA.js → material-theme-palenight-BMg4YxS6.js} +0 -0
  255. /package/app/dist/assets/{matlab-BOj_BDQv.js → matlab-BjvFQgI4.js} +0 -0
  256. /package/app/dist/assets/{mdx-Cm6cDkDI.js → mdx-DnKU9cqA.js} +0 -0
  257. /package/app/dist/assets/{mermaid-DLO-R4hv.js → mermaid-CH8Qvaqo.js} +0 -0
  258. /package/app/dist/assets/{min-dark-D34a_pX7.js → min-dark-B95jFnY0.js} +0 -0
  259. /package/app/dist/assets/{min-light-Cdd4KORE.js → min-light-CqwYUont.js} +0 -0
  260. /package/app/dist/assets/{mipsasm-DYpHF-GA.js → mipsasm-OAAwCDEg.js} +0 -0
  261. /package/app/dist/assets/{mojo-DqYVFv_G.js → mojo-COx3BOEA.js} +0 -0
  262. /package/app/dist/assets/{monokai-CDR4sQ2n.js → monokai-C988KBom.js} +0 -0
  263. /package/app/dist/assets/{moonbit-DRKee9wk.js → moonbit-ChOfdbnC.js} +0 -0
  264. /package/app/dist/assets/{move-DbRk6Vn9.js → move-jwG4QUY4.js} +0 -0
  265. /package/app/dist/assets/{narrat-IOfmaXfb.js → narrat-Bv3slmdi.js} +0 -0
  266. /package/app/dist/assets/{nextflow-groovy-EYl0c2BQ.js → nextflow-groovy-CYeLXiaP.js} +0 -0
  267. /package/app/dist/assets/{night-owl-yQJ3-I0I.js → night-owl-SjOLjRtB.js} +0 -0
  268. /package/app/dist/assets/{night-owl-light-Bedht9b4.js → night-owl-light-DHrEzBAj.js} +0 -0
  269. /package/app/dist/assets/{nix-C2IovEl2.js → nix-CcOD1khX.js} +0 -0
  270. /package/app/dist/assets/{nord-BjZ63GNL.js → nord-BGjNHkRW.js} +0 -0
  271. /package/app/dist/assets/{nushell-BflTrRB5.js → nushell-GFe6C8D1.js} +0 -0
  272. /package/app/dist/assets/{objective-c-GRClK1S7.js → objective-c-Da4gtNmU.js} +0 -0
  273. /package/app/dist/assets/{objective-cpp-l3qYw-v5.js → objective-cpp-Du3a_PKx.js} +0 -0
  274. /package/app/dist/assets/{ocaml-BBDyhyMH.js → ocaml-4v1g0DKj.js} +0 -0
  275. /package/app/dist/assets/{odin-jCJ7Js99.js → odin-C2CG6fMn.js} +0 -0
  276. /package/app/dist/assets/{one-dark-pro-PIx2Diul.js → one-dark-pro-BwcbXd-T.js} +0 -0
  277. /package/app/dist/assets/{one-light-BFMEz49S.js → one-light-BOQW5zin.js} +0 -0
  278. /package/app/dist/assets/{openscad-Drf0LgCX.js → openscad-Bs2SxlcB.js} +0 -0
  279. /package/app/dist/assets/{pascal-BT2XAUTl.js → pascal-B6AuHgs_.js} +0 -0
  280. /package/app/dist/assets/{pierre-dark-BMm5HxPQ.js → pierre-dark-CRPkZhl3.js} +0 -0
  281. /package/app/dist/assets/{pierre-light-DyzEot4Q.js → pierre-light-BT7AHM04.js} +0 -0
  282. /package/app/dist/assets/{pkl-ML-dWShO.js → pkl-BuPFXprX.js} +0 -0
  283. /package/app/dist/assets/{plastic-BFI-Z5Z2.js → plastic-BiAROaFC.js} +0 -0
  284. /package/app/dist/assets/{plsql-0vd5cLro.js → plsql-DQ_z5ed2.js} +0 -0
  285. /package/app/dist/assets/{po-CbZ_uqQA.js → po-BvHij3iO.js} +0 -0
  286. /package/app/dist/assets/{poimandres-Cayhd01L.js → poimandres-BbdNMHGS.js} +0 -0
  287. /package/app/dist/assets/{polar-C4hfV8Nc.js → polar-p_EVOYp2.js} +0 -0
  288. /package/app/dist/assets/{postcss-osFUbTLw.js → postcss-BVVH-mhK.js} +0 -0
  289. /package/app/dist/assets/{powerquery-CTlGUQPj.js → powerquery-D2htabf9.js} +0 -0
  290. /package/app/dist/assets/{powershell-DyZsOmuq.js → powershell-NfY3J8Uu.js} +0 -0
  291. /package/app/dist/assets/{prisma-SS92PO_I.js → prisma-CMeP8UTm.js} +0 -0
  292. /package/app/dist/assets/{prolog-B1O1NNVC.js → prolog-Cc9yvHML.js} +0 -0
  293. /package/app/dist/assets/{proto-BWu3eZTs.js → proto-CNBX21YV.js} +0 -0
  294. /package/app/dist/assets/{puppet-tvtRVdr6.js → puppet-ZnM2F-kY.js} +0 -0
  295. /package/app/dist/assets/{purescript-Dtbpb7D-.js → purescript-nyLIIaTP.js} +0 -0
  296. /package/app/dist/assets/{python-Dlk0Acio.js → python-Dt6SBvxD.js} +0 -0
  297. /package/app/dist/assets/{qmldir-B-iEOngH.js → qmldir-BDEiw2QJ.js} +0 -0
  298. /package/app/dist/assets/{qss-Ba0p-aHw.js → qss-B8ZOZZRM.js} +0 -0
  299. /package/app/dist/assets/{racket-BXDsxf2U.js → racket-emNFhxM0.js} +0 -0
  300. /package/app/dist/assets/{raku-Dw1WWFXK.js → raku-M_VGm79k.js} +0 -0
  301. /package/app/dist/assets/{red-BC3Ds49b.js → red-BcYVa2Jk.js} +0 -0
  302. /package/app/dist/assets/{reg-DXFHGaM4.js → reg-rRGLqGjW.js} +0 -0
  303. /package/app/dist/assets/{rel-Dc5_Ytx2.js → rel-DqcQFa7Q.js} +0 -0
  304. /package/app/dist/assets/{riscv-ZgswiWij.js → riscv-CanSyeO8.js} +0 -0
  305. /package/app/dist/assets/{ron-YghabWAH.js → ron-BQ46iNCb.js} +0 -0
  306. /package/app/dist/assets/{rose-pine-ByWLnVr3.js → rose-pine-BuTm62Vj.js} +0 -0
  307. /package/app/dist/assets/{rose-pine-dawn-DBmeySrz.js → rose-pine-dawn-B670NuiP.js} +0 -0
  308. /package/app/dist/assets/{rose-pine-moon-B9J-N3nK.js → rose-pine-moon-6KoQonQX.js} +0 -0
  309. /package/app/dist/assets/{rosmsg-DTKmAsVH.js → rosmsg-Bw0HfGe_.js} +0 -0
  310. /package/app/dist/assets/{rust-nfXwuE6F.js → rust-D83UuV7F.js} +0 -0
  311. /package/app/dist/assets/{sass-CbRjkld3.js → sass-CE2YZJdE.js} +0 -0
  312. /package/app/dist/assets/{scala-BzD3eypx.js → scala-CyYhociv.js} +0 -0
  313. /package/app/dist/assets/{scheme-D4d1PV1y.js → scheme-BrRWQ1yX.js} +0 -0
  314. /package/app/dist/assets/{sdbl-Cf-Ydnvx.js → sdbl-CtZR2I6R.js} +0 -0
  315. /package/app/dist/assets/{slack-dark-MszIyPZ2.js → slack-dark-nxsbRL6U.js} +0 -0
  316. /package/app/dist/assets/{slack-ochin-tQ3Q0gE9.js → slack-ochin-Cx2HX71B.js} +0 -0
  317. /package/app/dist/assets/{smalltalk-_uWoArwn.js → smalltalk-DGeW9hbd.js} +0 -0
  318. /package/app/dist/assets/{snazzy-light-9sniMEk5.js → snazzy-light-508iEJO_.js} +0 -0
  319. /package/app/dist/assets/{solarized-dark-CdD0Hxzv.js → solarized-dark-TCkigWjM.js} +0 -0
  320. /package/app/dist/assets/{solarized-light-C-nsEdqF.js → solarized-light-R2Rcjqww.js} +0 -0
  321. /package/app/dist/assets/{solidity-D6uC-xwP.js → solidity-46G7JVSr.js} +0 -0
  322. /package/app/dist/assets/{splunk-LQYHRu14.js → splunk-DKgoBk9o.js} +0 -0
  323. /package/app/dist/assets/{ssh-config-B7BUl8Rd.js → ssh-config-JoXpWa3y.js} +0 -0
  324. /package/app/dist/assets/{stylus-Byjxdx_q.js → stylus-BPw8WnNN.js} +0 -0
  325. /package/app/dist/assets/{swift-BexLlMrU.js → swift-Ce2Nlw8Q.js} +0 -0
  326. /package/app/dist/assets/{synthwave-84-BxMBwQMS.js → synthwave-84-Br2i7yYN.js} +0 -0
  327. /package/app/dist/assets/{system-verilog-DVGwm0mw.js → system-verilog-Dkc37EdI.js} +0 -0
  328. /package/app/dist/assets/{systemd-H2IT3-p5.js → systemd-CcJTFvpw.js} +0 -0
  329. /package/app/dist/assets/{talonscript-mKZIGM8n.js → talonscript-CHxC2PG4.js} +0 -0
  330. /package/app/dist/assets/{tasl-B7he_Ugr.js → tasl-woKXKJkx.js} +0 -0
  331. /package/app/dist/assets/{tcl-5mT3RxHH.js → tcl-6FTtarFH.js} +0 -0
  332. /package/app/dist/assets/{terraform-BZP0GLsT.js → terraform-DHx5Kdyi.js} +0 -0
  333. /package/app/dist/assets/{tokyo-night-CTPVdZt9.js → tokyo-night-BQsIhA-A.js} +0 -0
  334. /package/app/dist/assets/{toml-CTFA98he.js → toml-BCbG8Uu3.js} +0 -0
  335. /package/app/dist/assets/{tsv-BayJtYdY.js → tsv-Bfk0YRxN.js} +0 -0
  336. /package/app/dist/assets/{turtle-TVCBh_kY.js → turtle-DsCF_r1D.js} +0 -0
  337. /package/app/dist/assets/{typespec-BUvaJDLF.js → typespec-tsneGPKg.js} +0 -0
  338. /package/app/dist/assets/{typst-8NBaY7Ec.js → typst-BcQNhVIE.js} +0 -0
  339. /package/app/dist/assets/{v-VihyTigi.js → v-CPbK5D5K.js} +0 -0
  340. /package/app/dist/assets/{vala-DyFAPyX6.js → vala-CTmcnleK.js} +0 -0
  341. /package/app/dist/assets/{vb-Dg1Iqi4J.js → vb-iQRhK9Tp.js} +0 -0
  342. /package/app/dist/assets/{verilog-D2Xc-vhD.js → verilog-BxRFSB3_.js} +0 -0
  343. /package/app/dist/assets/{vesper-DJbtqYNr.js → vesper-D_U9vezF.js} +0 -0
  344. /package/app/dist/assets/{vhdl-CU3BVeE7.js → vhdl-D4h06VsC.js} +0 -0
  345. /package/app/dist/assets/{viml-hG2shuOW.js → viml-DMcwh6Y2.js} +0 -0
  346. /package/app/dist/assets/{vitesse-black-DbG2gsc0.js → vitesse-black-Dk8H62LF.js} +0 -0
  347. /package/app/dist/assets/{vitesse-dark-B6WV4xXH.js → vitesse-dark-BuiSS132.js} +0 -0
  348. /package/app/dist/assets/{vitesse-light-DC1pdD02.js → vitesse-light-DfdaVJLv.js} +0 -0
  349. /package/app/dist/assets/{vyper-C1wojIuk.js → vyper-DfAPtbtc.js} +0 -0
  350. /package/app/dist/assets/{wasm-C6Y0s02M.js → wasm-ByDQ9GrP.js} +0 -0
  351. /package/app/dist/assets/{wasm-y20ImDym.js → wasm-CfmxG3B2.js} +0 -0
  352. /package/app/dist/assets/{wenyan-BG5vPQF0.js → wenyan-DNkN8oQc.js} +0 -0
  353. /package/app/dist/assets/{wgsl-DrVb-Cub.js → wgsl-Bggw1Yhv.js} +0 -0
  354. /package/app/dist/assets/{wikitext-PRC4s8sH.js → wikitext-zXy-4mpr.js} +0 -0
  355. /package/app/dist/assets/{wit-ChW5qvg_.js → wit--vc2X9vR.js} +0 -0
  356. /package/app/dist/assets/{wolfram-B8mKuZSQ.js → wolfram-Dr60-Zy4.js} +0 -0
  357. /package/app/dist/assets/{xterm-DGJHbKBQ.js → xterm-Ba9eaFdZ.js} +0 -0
  358. /package/app/dist/assets/{zenscript-C-jEPC9j.js → zenscript-Cf2Qp-oj.js} +0 -0
  359. /package/app/dist/assets/{zig-EbnRGjcz.js → zig-DgUQodsP.js} +0 -0
@@ -0,0 +1,2642 @@
1
+ import{Ar as e,B as t,Bi as n,Bt as r,Cn as i,Dr as a,Er as o,F as s,Gn as c,H as l,I as u,Ii as d,It as f,Ji as p,Kt as m,Ma as h,Mi as g,Na as _,Ni as v,Oi as y,Or as b,Pi as x,R as S,Ra as C,Tr as w,U as T,Vt as E,Xi as D,Yi as O,Zn as k,Zt as A,_r as j,an as M,ca as N,cn as P,gr as F,hr as I,in as ee,ji as L,jr as R,ki as te,la as ne,li as re,mr as ie,n as z,on as ae,pr as oe,qi as B,ri as se,rn as ce,sn as le,t as ue,ui as de,vr as fe,yr as pe,zn as me}from"./page-shell-omz5VWqw.js";import{Et as he,Mt as ge,Ut as V,Wt as _e,_ as ve,c as H,f as ye,h as be,p as xe,t as Se,u as Ce}from"./effective-hosts-CgZiG_wS.js";import{T as we,a as Te,c as Ee,d as De,f as Oe,g as ke,h as Ae,i as je,j as Me,k as Ne,l as Pe,m as Fe,o as Ie,p as Le,r as Re,s as ze,t as Be,u as Ve,v as He,x as Ue,y as We}from"./thread-queries-DpnZLohh.js";import{c as Ge,n as Ke,p as qe,r as Je,s as Ye,u as Xe}from"./chunk-JZWAC4HX-vAKkV_Y-.js";import{_ as Ze,a as U,c as W,g as G,i as Qe,m as $e,o as et,p as tt,r as nt,s as rt,t as it,y as at}from"./dialog-BvotBFA0.js";import{E as ot,a as st,f as ct,h as lt,m as ut,o as dt,p as ft,s as pt,t as mt,u as ht,w as gt,y as _t}from"./mutation-errors-INqXreOn.js";import{B as vt,H as yt,V as bt,f as xt}from"./mutation-cache-effects-plW3Wjx9.js";import{a as St,m as Ct,t as wt}from"./localhost-badge-CHDdiNhq.js";import{$ as Tt,A as Et,At as Dt,B as Ot,Bt as kt,C as At,Cn as jt,Ct as Mt,Dt as Nt,E as Pt,En as Ft,Et as It,F as Lt,Ft as Rt,G as zt,Gt as Bt,H as Vt,Ht,I as Ut,It as Wt,J as Gt,Jt as Kt,K as qt,Kt as Jt,L as Yt,Lt as Xt,M as Zt,Mt as Qt,N as $t,Nt as en,O as tn,Ot as nn,P as rn,Pt as an,Q as on,Qt as sn,R as cn,Rt as ln,S as un,Sn as dn,St as fn,T as pn,Tn as mn,Tt as hn,U as gn,V as _n,Vt as vn,W as yn,Wt as bn,X as xn,Xt as Sn,Y as Cn,Yt as wn,Z as Tn,Zt as En,_ as Dn,_n as On,_t as kn,a as An,an as jn,at as Mn,b as Nn,bn as Pn,bt as Fn,c as In,ct as Ln,d as Rn,dt as zn,et as Bn,f as Vn,ft as Hn,g as Un,gn as Wn,gt as Gn,h as Kn,hn as qn,ht as Jn,i as Yn,in as Xn,it 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,ot as ur,p as dr,pn as fr,pt as pr,q as mr,qt as hr,r as gr,rn as _r,rt as vr,s as yr,sn 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-u9J_LInz.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-yN4DFIsy.js";import{n as Jr,r as Yr,t as Xr}from"./split-button-_uHFVDB-.js";import{t as Zr}from"./pill-8eXFxAuz.js";import{t as Qr}from"./ThreadUnarchiveButton-CQaA-gHV.js";var K=C(h(),1);function $r(e,t){return Ze((0,K.useMemo)(()=>at(null,(t,n,...r)=>e(t,n,...r)),[e]),t)}var ei=class{highlighter;renderCache;computedLang=`text`;lineAnnotations={};constructor(e={theme:kt},t,n){this.options=e,this.onRenderUpdate=t,this.workerManager=n,n?.isWorkingPool()!==!0&&(this.highlighter=er(e.theme??kt)?Qn():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=kt,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??fn(e.name);let t=this.highlighter!=null&&er(n.theme),i=this.highlighter!=null&&an(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??fn(e.name);let t=this.highlighter!=null&&nn(Dt(this.options.theme)),n=this.highlighter!=null&&an(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:Rr(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(hn({type:`annotation`,hunkIndex:0,lineIndex:i,annotations:t.map(e=>Fn(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 Mr({fileOrDiff:e,themeStyles:t,themeType:n??r})}renderFullHTML(e){return en(this.renderFullAST(e))}renderFullAST(e,t=[]){return t.push(It({tagName:`code`,children:e.codeAST,properties:{"data-code":``}})),{...e.preAST,children:t}}renderPartialHTML(e,t=!1){return en(t?It({tagName:`code`,children:e,properties:{"data-code":``}}):e)}async initializeHighlighter(){return this.highlighter=await Qt(Fr(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 Mt({diffIndicators:`none`,disableBackground:!0,disableLineNumbers:r,overflow:i,themeStyles:t,themeType:n??a,split:!1,totalLines:e})}};function ti(e,t){return Nt(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:kt},t,n=!1){this.options=e,this.workerManager=t,this.isContainerManaged=n,this.fileRenderer=new ei(e,this.handleHighlightRender,this.workerManager),this.resizeManager=new Rt,this.mouseEventManager=new Wt(`file`,Xt(e)),this.lineSelectionManager=new ln(Br(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(Xt(e)),this.lineSelectionManager.setOptions(Br(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;zn(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&&kn(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=Gn(Fn(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=ar(),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=pr(),this.fileContainer.shadowRoot.appendChild(this.unsafeCSSStyle)),this.unsafeCSSStyle.innerText=Hn(e)}applyHunksToDOM(e,t){this.cleanupErrorWrapper(),this.applyPreNodeAttributes(t,e),t.innerHTML=``,this.code=Jn(),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=en(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=Ht,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=kr;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;Er({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=ne();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:Fn(e),children:n(e)},t)),i!=null&&(0,q.jsx)(`div`,{slot:`hover-slot`,style:Ln,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)(Mn),o=(0,K.useRef)(null),s=Zn(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=!nr(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)(vn,{ref:u,className:i,style:a,children:xr(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=x({version:g(1),isOpen:te(),activeTerminalId:d().min(1).nullable(),panelHeightPercent:v().int().min(18).max(70),lastUsedAt:v().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=_t({parse:(e,t)=>Si({initialValue:t,now:Date.now(),storedValue:e}),serialize:e=>wi({state:e})}),ki=at(vi),Ai=gt(e=>ot(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 G(ji(e))}function Fi(e){let t=Ze(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 D({queryKey:l(e),queryFn:()=>ce(Vi(e,`useEnvironment`)),enabled:(t?.enabled??!0)&&!!e,staleTime:t?.staleTime})}function Ki(e,t,n){return D({queryKey:T(e,t??null),queryFn:()=>P(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(e,n){let r=n?.query?.trim()??``,i=n?.selectedBranch?.trim(),a=n?.limit??Bi;return D({queryKey:t(e,r,a,i??``),queryFn:()=>M(e,{...r?{query:r}:{},...i?{selectedBranch:i}:{},limit:a}),enabled:(n?.enabled??!0)&&!!e,refetchOnWindowFocus:!1,staleTime:zi,placeholderData:(t,n)=>e?bt({previousData:t,previousQueryKey:n?.queryKey,environmentId:e,limit:a,selectedBranch:i??``}):void 0})}function Ji(e,t,n,r){return D({queryKey:u(e,t,n),queryFn:({signal:r})=>le({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 D({queryKey:S(e,n?.type??null,r),queryFn:()=>ee(e,Wi(n)),enabled:(t.enabled??!0)&&!!e&&n!==void 0,placeholderData:(t,n)=>vt(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)(Jt,{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)(Xn,{message:n}):(0,q.jsx)(`ul`,{className:p(`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)(wr,{path:e.path,onClick:r?()=>r(e):void 0}),e.insertions!==null&&e.deletions!==null?(0,q.jsx)(Jt,{insertions:e.insertions,deletions:e.deletions,hideZero:!0,className:`text-xs leading-5`}):null]},`${e.status}:${e.path}`))})}function ia({sections:e,onFileClick:t,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)(H,{children:[(0,q.jsx)(be,{asChild:!0,children:(0,q.jsxs)(n,{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)(B,{name:`ChevronDown`,className:`size-3 shrink-0 text-muted-foreground`})]})}),(0,q.jsx)(Ce,{align:`start`,children:e.map(e=>(0,q.jsxs)(ye,{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)(B,{name:`Check`,className:p(`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:t?e=>t({file:e,section:c}):void 0})})}function aa({message:e,className:t}){return e?(0,q.jsx)(`p`,{className:p(`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 b(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)(it,{open:e!==null,onOpenChange:h,children:(0,q.jsx)(nt,{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:r,changedFilesSection:i,threadId:a,threadType:o,showMergeBaseDetails:s,mergeBaseBranch:c,mergeBaseBranchRef:l,mergeBaseBranchOptions:u,mergeBaseBranchOptionsTruncated:d,mergeBaseRemoteBranchOptions:f,mergeBaseBranchOptionsLoading:p,onMergeBaseBranchChange:m,onMergeBaseBranchSearchQueryChange:h,onOpenChange:g,onCommit:_,onSquashMerge:v}){let[y,x]=(0,K.useState)(null),S=oa(e),C=Un({mergeBaseBranch:c,mergeBaseBranchRef:l,mergeBaseBranchOptions:u,remoteMergeBaseBranchOptions:f}),w=C.options,T=C.remoteOptions,E=c??w[0],D=l?.name===E?l:null,O=S.showMergeBase&&!!E&&l===void 0,k=(0,K.useMemo)(()=>new Set(T),[T]),A=E?D?.kind===`remote`||D===null&&k.has(E):!1,j=D?.kind===`missing`,M=S.showMergeBase&&A,N=`Squash merge requires a local target branch. Create or check out a local branch from the remote first.`,P=`Squash merge requires an existing local target branch.`,F=`Checking merge base branch.`,I=S.showMergeBase&&s===!0&&!!m&&(w.length>0||T.length>0),ee=S.showMergeBase&&s===!0&&(I||!!E),L=!!(i&&i.files.length>0),R=E?O?F:M?N:j?P:null:`A merge base branch is required`,te=y??(O?F:M?N:j?P:null),ne=O?F:M?N:j?P:void 0;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(et,{className:`px-6 pt-5 pb-3`,children:[(0,q.jsx)(rt,{children:S.title}),(0,q.jsx)(Qe,{children:S.description})]}),(0,q.jsxs)(`form`,{className:`space-y-4 px-6 pt-1 pb-5`,onSubmit:t=>{switch(t.preventDefault(),x(null),e.kind){case`commit`:g(!1),_();break;case`commit_and_squash_merge`:if(R||!E){x(R??`A merge base branch is required`);return}g(!1),v({mergeBaseBranch:E});break;case`squash_merge`:if(R||!E){x(R??`A merge base branch is required`);return}g(!1),v({mergeBaseBranch:E});break;default:b(e)}},children:[t||r||ee||L?(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,r?(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:`${r.label} ${r.summary}`.trim(),children:[(0,q.jsx)(`span`,{className:`shrink-0 font-medium`,children:r.label}),(0,q.jsx)(`span`,{className:`min-w-0 truncate text-muted-foreground`,children:r.summaryContent})]})}):null,ee&&E?(0,q.jsx)(Yr,{label:`Merge base`,valueClassName:`min-w-0`,children:I?(0,q.jsx)(Kn,{value:E,options:w,remoteOptions:T,selectedOptionKind:C.selectedOptionKind,optionsTruncated:d,loading:p,onChange:e=>m?.(e),onSearchQueryChange:h,className:`max-w-full`}):(0,q.jsx)(`span`,{className:`block truncate`,title:E,children:E})}):null,L&&i?(0,q.jsx)(ia,{sections:[i],rowValueClassName:`pt-0.5`,listClassName:`max-h-40`}):null]}):null,(0,q.jsx)(aa,{message:te}),(0,q.jsx)(U,{children:(0,q.jsx)(n,{type:`submit`,disabled:S.showMergeBase&&R!==null,title:ne,children:S.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=`Local host daemon is unavailable.`,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){lt.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}=W(),{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 D({queryKey:f(e),queryFn:({signal:t})=>me(xa(e,`useThreadTerminals`),t),enabled:(t?.enabled??!0)&&!!e,refetchOnWindowFocus:!1})}function Ca(){let e=N();return O({meta:{errorMessage:`Failed to start terminal.`,lifecycleOperation:`open_terminal`},mutationFn:({threadId:e,...t})=>A(e,t),onSuccess:t=>{e.setQueryData(f(t.threadId),e=>ya(e,t)),e.invalidateQueries({queryKey:f(t.threadId)})}})}function wa(){let e=N();return O({meta:{errorMessage:`Failed to rename terminal.`},mutationFn:({terminalId:e,threadId:t,...n})=>c(t,e,n),onSuccess:t=>{e.setQueryData(f(t.threadId),e=>ya(e,t)),e.invalidateQueries({queryKey:f(t.threadId)})}})}function Ta(){let e=N();return O({meta:{errorMessage:`Failed to close terminal.`},mutationFn:({mode:e,terminalId:t,threadId:n})=>m(n,t,{mode:e,reason:`user`}),onSuccess:(t,n)=>{e.setQueryData(f(t.threadId),e=>t.status===`exited`?ba(e,n.terminalId):ya(e,t)),e.invalidateQueries({queryKey:f(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:st({error:t.error,operation:`load_git_status`});if(e)return Da(`Unknown`,e.body);let n=t?.error instanceof E&&t.error.code===`path_not_found`;return t?.workspaceDeleted||n?Da(`Unknown`,`Workspace not found.`):Da(`Unknown`,`Workspace status unavailable.`)}let n=t?.mergeBaseBranch??e.mergeBase?.mergeBaseBranch,r=t?.showBranchComparison?Ea(e,n):null;switch(e.workingTree.state){case`clean`:return(e.mergeBase?.aheadCount??0)>0&&(e.mergeBase?.behindCount??0)>0?Da(`Diverged`,r??`Branch has diverged.`):(e.mergeBase?.aheadCount??0)>0?Da(`Ahead`,r??`Local commits pending merge.`):(e.mergeBase?.behindCount??0)>0?Da(`Behind`,r??`Branch is behind its merge base.`):Da(t?.showBranchComparison?`Up to date`:`Clean`,n?`No local changes relative to ${n}.`:`No local changes.`);case`untracked`:return Da(`Untracked`,r??``);case`dirty_uncommitted`:return Da(`Dirty`,r??``);case`committed_unmerged`:return(e.mergeBase?.aheadCount??0)>0&&(e.mergeBase?.behindCount??0)>0?Da(`Diverged`,r??`Branch has diverged.`):(e.mergeBase?.behindCount??0)>0?Da(`Behind`,r??`Branch is behind its merge base.`):Da(`Ahead`,r??`Local commits pending merge.`);case`dirty_and_committed_unmerged`:return Da(`Dirty`,r??``);default:return b(e.workingTree.state)}}var ka=at(!1),Aa=ot(`bb.thread.secondaryPanel.widthPercent`,50,_t({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=at(new Set),Ma=at(new Set),Na=at(void 0),Pa=at(null);function Fa({activeSecondaryPanel:e,clearActiveFileTabs:t,defaultMergeBaseBranch:n,environmentId:r,mergeBaseBranchOptionsEnabled:i=!1,setThreadSecondaryPanel:a}){let o=G(Na),s=Ze(Na),c=Ze(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}=We();return Wa({managerTimelineView:e,timelineRows:t,threadId:n,loadTurnSummaryRows:(0,K.useCallback)(t=>r({...t,managerTimelineView:e}),[r,e])})}var Ka=V;function qa({actionsMenu:e,activeTerminalCount:t,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[h,...g]=f,_=_e(),v=_?`PanelBottom`:`PanelRight`;return(0,q.jsx)($n,{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,h&&g.length>0?(0,q.jsx)(Xr,{disabled:s,primaryAction:{label:h.label,onSelect:()=>c(h.target)},secondaryActions:g.map(e=>({label:e.label,onSelect:()=>c(e.target)}))}):h?(0,q.jsx)(n,{type:`button`,variant:`outline`,size:`sm`,disabled:s,className:Ka,onClick:()=>c(h.target),children:h.label}):null,d?(0,q.jsxs)(n,{type:`button`,variant:`ghost`,size:`icon`,className:`${Et} 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)(B,{name:`Terminal`}),t>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:t>9?`9+`:t}):null]}):null,e,!_&&a?null:(0,q.jsx)(n,{type:`button`,variant:`ghost`,size:`icon`,className:Et,"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)(B,{name:v})})]})})}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 b(e)}}var Ya=`max-w-[180px]`;function Xa({label:e,leadingVisual:t,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:p(`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:p(`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:[t?(0,q.jsx)(`span`,{className:`mr-1.5 inline-flex shrink-0 items-center`,children:t}):null,(0,q.jsx)(`span`,{className:p(`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)(B,{name:`Spinner`,className:`size-3 animate-spin`}):(0,q.jsx)(B,{name:`X`,className:`size-3`})}):null]})}function Za(){let e=N();return O({meta:{errorMessage:`Failed to resolve pending interaction.`,showErrorToast:!1},mutationFn:({threadId:e,interactionId:t,resolution:n})=>k(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:t,description:n,multiSelect:r,onSelect:i}){return(0,q.jsxs)(`button`,{type:`button`,"aria-pressed":e,onClick:i,className:p(`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:p(`mt-0.5 flex size-4 shrink-0 items-center justify-center border`,r?`rounded`:`rounded-full`,e?`border-primary bg-primary text-primary-foreground`:`border-input`),children:e?(0,q.jsx)(B,{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:t}),n?(0,q.jsx)(`span`,{className:`mt-0.5 block text-xs leading-snug text-muted-foreground`,children:n}):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=At(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:t,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)(t),f=Za(),m=Tr();u!==t&&(d(t),s($a(i)),l(0));let h=i.length,g=i[c]??null,_=c===0,v=c===h-1,y=(0,K.useMemo)(()=>h>0&&i.every(e=>no(e,eo(o,e))),[o,i,h]),b=f.error?mt({error:f.error,fallbackMessage:`Failed to submit answer`,lifecycleOperation:`resolve_interaction`}):null,x=f.isPending||r,S=(e,t)=>{s(n=>({...n,[e.id]:t(eo(n,e))}))},C=(e,t)=>{S(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}})},w=e=>{S(e,t=>e.multiSelect?{...t,otherSelected:!t.otherSelected}:{...t,selected:[],otherSelected:!0})},T=(e,t)=>{S(e,e=>({...e,otherText:t}))},E=()=>{x||!y||f.mutateAsync({threadId:a,interactionId:t,resolution:io(i,o)}).catch(()=>{})},D=()=>{if(v){E();return}l(e=>Math.min(e+1,h-1))},O=()=>{m.mutate(a)};if(!g)return null;let k=eo(o,g);return(0,q.jsxs)(`div`,{className:p(`text-xs text-muted-foreground`,e),children:[h>1?(0,q.jsx)(lo,{currentIndex:c,formState:o,onSelect:l,questions:i}):null,(0,q.jsx)(uo,{disabled:x,question:g,state:k,onToggleOption:e=>C(g,e),onSelectOther:()=>w(g),onFreeTextChange:e=>T(g,e),onShortcutSubmit:D}),(0,q.jsxs)(`div`,{className:`mt-3 flex items-center justify-between gap-2`,children:[(0,q.jsx)(n,{type:`button`,size:`sm`,variant:`ghost`,disabled:x||m.isPending,onClick:O,children:`Cancel`}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[_?null:(0,q.jsx)(n,{type:`button`,size:`sm`,variant:`outline`,disabled:x,onClick:()=>l(e=>Math.max(e-1,0)),children:`Back`}),(0,q.jsxs)(n,{type:`button`,size:`sm`,disabled:x||v&&!y,onClick:D,children:[r?(0,q.jsx)(B,{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 de(e.payload)?(0,q.jsx)(go,{interaction:e,payload:e.payload,threadId:t}):re(e.payload)?(0,q.jsx)(ho,{interaction:e,payload:e.payload,threadId:t}):b(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)(bn,{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?mt({error:r.error,fallbackMessage:`Failed to resolve pending interaction`,lifecycleOperation:`resolve_interaction`}):null,c=r.isPending||i,l=t=>{let i=w(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:t,isLoading:r,onClick:i}){return(0,q.jsxs)(n,{type:`button`,size:`sm`,variant:vo(e),disabled:t,onClick:i,children:[r?(0,q.jsx)(B,{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?wn(n)??n:null,i=o(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:p(Bt(`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=o(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=o(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 b(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:p(So,n),style:r,children:e}):(0,q.jsx)(`div`,{className:p(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)(B,{name:`ChevronDown`,className:p(`size-3.5 shrink-0 rotate-45`,e),"aria-hidden":`true`})}function Mo({id:e,controlsId:t,ariaLabel:n,icon:r,label:i,isExpanded:a,onToggle:o}){return(0,q.jsxs)(`button`,{type:`button`,id:e,"aria-expanded":a,"aria-controls":t,"aria-label":n,onClick:o,className:p(`flex min-w-0 items-center rounded px-1 py-0.5 text-xs transition-colors hover:bg-state-hover`,i==null?`gap-0`:`gap-1.5`,a?`text-foreground`:`text-muted-foreground`),children:[r,i==null?null:(0,q.jsx)(`span`,{className:`min-w-0 truncate`,children:i}),(0,q.jsx)(B,{name:`ChevronDown`,className:p(`size-3.5 shrink-0 text-subtle-foreground transition-transform duration-200`,a&&`rotate-180`),"aria-hidden":`true`})]})}function No({status:e}){let t=`size-3.5 shrink-0`;switch(e){case`in_progress`:return(0,q.jsx)(B,{name:`Square`,className:p(t,`fill-current text-muted-foreground/30`),"aria-hidden":`true`});case`completed`:return(0,q.jsx)(B,{name:`Check`,className:p(t,`text-muted-foreground/60`),"aria-hidden":`true`});case`pending`:return(0,q.jsx)(B,{name:`Square`,className:p(t,`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:p(`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:p(`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:t,gitSectionPending:n,archivedSection:r,managedBySection:i,managerChildrenSection:a,expandedSection:o,onToggleSection:s}){if(n)return null;if(r){let e=o===`managedBy`&&i!==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:[i?(0,q.jsx)(Mo,{id:Do.managedBy.toggle,controlsId:Do.managedBy.body,ariaLabel:`Managed by ${i.managerName}`,icon:(0,q.jsx)(B,{name:`UserRound`,className:`size-3.5 shrink-0`,"aria-hidden":`true`}),label:null,isExpanded:e,onToggle:()=>s(`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)(B,{name:`Archive`,className:`size-3.5 shrink-0`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{className:`min-w-0 truncate`,children:`Thread is archived`})]})]}),i?(0,q.jsx)(Lo,{id:Do.managedBy.body,labelledBy:Do.managedBy.toggle,isExpanded:e,children:(0,q.jsx)(Fo,{managerName:i.managerName,href:i.href})}):null]})}let c=e!==null&&ko(e.pendingTodos),l=t!==null,u=i!==null,d=a!==null&&a.items.length>0;if(!c&&!l&&!u&&!d)return null;let f=c&&e?e.pendingTodos.items:[],p=o===`todos`&&c,m=o===`git`&&l,h=o===`managedBy`&&u,g=o===`managerChildren`&&d,_=l?(0,q.jsxs)(q.Fragment,{children:[c?null:(0,q.jsxs)(q.Fragment,{children:[Eo[t.changedFiles.kind],` · `]}),$i(Xi(t.changedFiles.stats))]}):null,v=l&&t.mergeBase?Un({mergeBaseBranch:t.mergeBase.branch,mergeBaseBranchRef:t.mergeBase.branchRef,mergeBaseBranchOptions:t.mergeBase.options,remoteMergeBaseBranchOptions:t.mergeBase.remoteOptions}):{options:[],remoteOptions:[]},y=u&&!c&&!l&&!d;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:[u&&i&&y?(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 px-1 py-0.5`,children:[(0,q.jsx)(B,{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:i.href,className:`text-foreground/90 underline underline-offset-2`,children:i.managerName})]})]}):null,u&&i&&!y?(0,q.jsx)(Mo,{id:Do.managedBy.toggle,controlsId:Do.managedBy.body,ariaLabel:`Managed by ${i.managerName}`,icon:(0,q.jsx)(B,{name:`UserRound`,className:`size-3.5 shrink-0`,"aria-hidden":`true`}),label:null,isExpanded:h,onToggle:()=>s(`managedBy`)}):null,d&&a?(0,q.jsx)(Mo,{id:Do.managerChildren.toggle,controlsId:Do.managerChildren.body,icon:(0,q.jsx)(B,{name:`CircleDashed`,className:`size-3.5 shrink-0 animate-spin`,"aria-hidden":`true`}),label:`${a.items.length} active managed ${a.items.length===1?`thread`:`threads`}`,isExpanded:g,onToggle:()=>s(`managerChildren`)}):null,c?(0,q.jsx)(Mo,{id:Do.todos.toggle,controlsId:Do.todos.body,icon:(0,q.jsx)(B,{name:`ListTodo`,className:`size-3.5 shrink-0`,"aria-hidden":`true`}),label:Ao(f),isExpanded:p,onToggle:()=>s(`todos`)}):null,l&&_?(0,q.jsx)(Mo,{id:Do.git.toggle,controlsId:Do.git.body,icon:(0,q.jsx)(B,{name:`FileDiff`,className:`size-3.5 shrink-0`,"aria-hidden":`true`}),label:_,isExpanded:m,onToggle:()=>s(`git`)}):null,l&&t.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)(Kn,{value:t.mergeBase.branch,options:v.options,remoteOptions:v.remoteOptions,selectedOptionKind:v.selectedOptionKind,optionsTruncated:t.mergeBase.optionsTruncated,variant:`minimal`,loading:t.mergeBase.optionsLoading,onChange:t.mergeBase.onChange,onOpenChange:t.mergeBase.onPickerOpenChange,onSearchQueryChange:t.mergeBase.onSearchQueryChange,className:`max-w-[10rem]`,muted:!0,popoverAlign:`end`})]}):null]}),u&&i&&!y?(0,q.jsx)(Lo,{id:Do.managedBy.body,labelledBy:Do.managedBy.toggle,isExpanded:h,children:(0,q.jsx)(Fo,{managerName:i.managerName,href:i.href})}):null,d&&a?(0,q.jsx)(Lo,{id:Do.managerChildren.body,labelledBy:Do.managerChildren.toggle,isExpanded:g,children:(0,q.jsx)(Io,{items:a.items})}):null,c?(0,q.jsx)(Lo,{id:Do.todos.body,labelledBy:Do.todos.toggle,isExpanded:p,children:(0,q.jsx)(Po,{items:f})}):null,l?(0,q.jsx)(Lo,{id:Do.git.body,labelledBy:Do.git.toggle,isExpanded:m,children:(0,q.jsx)(ra,{files:t.changedFiles.files,className:`max-h-32 px-3 pb-2 pt-1`,onFileClick:e=>t.onPromptBannerFileClick({file:e,section:t.changedFiles})})}):null]})}var zo=220;function Bo(e){let t=e.trim();return t.length===0?`Attachment`:En(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 un(e)}var Wo=(0,K.memo)(function({queuedMessage:e,index:t,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:m,listeners:h,setActivatorNodeRef:g,setNodeRef:_,transform:v,transition:y}=On({id:e.id,disabled:i});return(0,q.jsx)(`li`,{ref:_,style:{transform:mn.Transform.toString(v),transition:y},className:p(`px-2.5 py-0.5`,m&&`relative z-10 opacity-80`),children:(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,q.jsx)(n,{ref:g,type:`button`,size:`icon`,variant:`ghost`,className:p(`size-6 shrink-0 text-muted-foreground`,!i&&`cursor-grab active:cursor-grabbing`),disabled:i,"aria-label":`Reorder queued message ${t+1}`,title:`Reorder queued message`,...f,...h,children:(0,q.jsx)(B,{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)(n,{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)(n,{type:`button`,size:`icon`,variant:`ghost`,className:`size-7 text-muted-foreground`,disabled:o||r,onClick:()=>c(e.id),"aria-label":`Edit queued message ${t+1}`,title:`Edit queued message`,children:(0,q.jsx)(B,{name:`Edit`,className:`size-3.5`})}),(0,q.jsx)(n,{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 ${t+1}`,title:`Delete queued message`,children:(0,q.jsx)(B,{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=jr(jt(Pr,{activationConstraint:{distance:4}}),jt(Pn,{coordinateGetter:Wn})),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=Rn({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)(Lr,{sensors:c,collisionDetection:dn,onDragEnd:d,children:(0,q.jsx)(qn,{items:l,strategy:Or,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:t,environmentHostConnected:n,environmentIcon:r,environmentBranchName:i,onCreateNewThreadInWorktree:a}){return!e&&n===void 0?null:(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 pr-1.5`,children:[e?(0,q.jsx)(pn,{label:`Environment`,value:(0,q.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,q.jsx)(`span`,{children:e}),t?(0,q.jsxs)(`span`,{className:`hidden text-muted-foreground lg:inline`,children:[`· `,t]}):null,n===void 0?null:(0,q.jsx)(rr,{connected:n,className:`translate-y-px`})]}),leading:r?(0,q.jsx)(B,{name:r,className:`size-4 shrink-0`}):null,className:`h-6 shrink-0`,muted:!0}):n===void 0?null:(0,q.jsx)(rr,{connected:n}),i?(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: ${i}`,onClick:()=>{ut(i,{successMessage:`Branch name copied`,errorMessage:`Failed to copy branch name`})},children:[(0,q.jsx)(B,{name:`GitMerge`,className:`size-3.5 shrink-0`}),(0,q.jsx)(`span`,{className:`truncate`,children:i})]}):null,a?(0,q.jsx)(`button`,{type:`button`,"aria-label":`Create new thread in this worktree`,title:`New thread in this worktree`,onClick:a,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)(B,{name:`MessageSquarePlus`,className:`size-4`})}):null]})});function qo({visible:e,active:t=!1,onClick:n,className:r,ariaLabel:i=`Scroll to latest event`}){return(0,q.jsx)(`div`,{className:p(`flex h-0 items-center justify-center`,r),children:(0,q.jsx)(`button`,{onClick:n,className:p(`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":i,type:`button`,children:t?(0,q.jsx)(Jo,{}):(0,q.jsx)(B,{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=z();return t?(0,q.jsx)(qo,{visible:!t.isAtBottom,active:e,onClick:t.scrollToBottom}):null}function Xo({onSubmit:e,submission:t,...n}){let r=z(),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({id:e,attachments:t,stack:n,composer:r,environmentSummary:i,contextWindowUsage:a,execution:o,permission:s,mentions:c,zenModeResetKey:l}){let u=r.submitMode,d=u.kind===`queue`,f=u.kind===`ready`||u.kind===`queue`,p=u.kind===`blocked`&&u.reason===`stopping`,m=u.kind===`queue`||u.kind===`stop-only`?u.onStop:void 0,h=m!==void 0,g=(0,K.useRef)(null),_=Dn(g),v=r.canModifierSubmit?r.onModifierSubmit:void 0,y=(0,K.useMemo)(()=>(0,q.jsx)(Ar,{...o}),[o]),b=(0,K.useRef)(null),[x,S]=(0,K.useState)(0);(0,K.useLayoutEffect)(()=>{let e=b.current;if(!e)return;let t=e.offsetHeight;S(e=>e===t?e:t)},[n]),(0,K.useEffect)(()=>{let e=b.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(e=>{let t=e[0];t&&S(t.contentRect.height)});return t.observe(e),()=>t.disconnect()},[]);let C=Math.max(Zo,Qo-x);return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Yo,{active:r.threadRuntimeDisplayStatus===`active`}),(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsx)(`div`,{ref:b,className:`space-y-2`,children:n}),(0,q.jsx)(Xo,{id:e,promptBoxRef:g,voice:_,minHeight:C,value:r.message,onChange:r.onChangeMessage,onSubmit:r.onSubmit,history:r.history,placeholder:r.promptPlaceholder,mentionMenuPlacement:`top`,autoFocus:!0,submission:{onStop:m,isSubmitting:r.isFollowUpSubmitting||p,disabled:!f||r.isFollowUpSubmitting,onModifierSubmit:v,title:d?`Queue follow-up (Enter)`:p?`Stopping run...`:`Submit (Enter)`,isRunning:h,mode:`enter`},mentions:c,attachments:t,zenMode:{layout:`thread`,storageKey:null,resetKey:l,resetOnSubmit:!0},footerStart:y}),(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:i}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,q.jsx)(dr,{value:s.value,options:s.options,onChange:s.onChange,supported:s.supported,className:`h-6`}),a?(0,q.jsx)(cn,{usage:a}):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`,...cs(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,...cs(e)}}function os({queuedMessageId:e,threadId:t}){return{id:t,mode:`auto`,queuedMessageId:e}}function ss({input:e,queuedMessages:t,threadId:n}){let r=is({input:e,threadId:n});if(r)return{kind:`draft`,request:r};let i=t[0];return i?{kind:`queued`,request:os({queuedMessageId:i.id,threadId:n})}:null}function cs(e){return e===null?{}:{model:e.model,...e.supportsServiceTier&&e.serviceTier?{serviceTier:e.serviceTier}:{},reasoningLevel:e.reasoningLevel,permissionMode:e.permissionMode}}var ls=()=>{},us=`thread-detail-follow-up-composer`;function ds({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=Pe(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=[]}=Fe(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 j=(0,K.useRef)([]);j.current=k;let{data:M=[]}=Le(C.id,{enabled:t,refetchOnMount:n,staleTime:r}),N=An(),P=tr(),F=lr(),I=yr(),ee=Tr(),L=Ct(),R=Yn({projectId:h,threadId:C.id}),te=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,z]=(0,K.useState)(null),[ae,oe]=(0,K.useState)(null),[B,se]=(0,K.useState)(!1),ce=(0,K.useMemo)(()=>Vn(M),[M]),{selectedProviderId:le,providerOptions:ue,hasMultipleProviders:de,selectedProviderDisplayName:fe,selectedModel:pe,setSelectedModel:me,serviceTier:he,setServiceTier:ge,reasoningLevel:V,setReasoningLevel:_e,permissionMode:ve,setPermissionMode:H,activeModel:ye,modelOptions:be,modelLoadError:xe,reasoningOptions:Se,permissionModeOptions:Ce,supportsPermissionModeSelection:we,supportsServiceTier:Te,serviceTierSupportByProvider:Ee}=Pt({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}),De=C.runtime.displayStatus,Oe=De===`created`,ke=De===`provisioning`,Ae=De===`waiting-for-host`,je=C.stopRequestedAt!==null||ee.isPending&&ee.variables===C.id,Me=Be(f),Ne=Me!==null,Ie=N.isPending||P.isPending||F.isPending||I.isPending||B,Re=S.isPending||d||N.isPending||B,ze=(0,K.useCallback)(()=>{ee.mutate(C.id)},[ee,C.id]),Ve=(0,K.useMemo)(()=>je?{kind:`blocked`,reason:`stopping`}:Ne?{kind:`blocked`,reason:`pending-interaction`}:Oe||ke?{kind:`blocked`,reason:`provisioning`}:O?{kind:`blocked`,reason:`loading-execution-options`}:Ae?{kind:`stop-only`,onStop:ze}:De===`active`||De===`host-reconnecting`?{kind:`queue`,onStop:ze}:{kind:`ready`},[ze,Ne,O,Oe,ke,je,Ae,De]),He=je?`Stopping thread...`:O&&!Oe&&!ke?`Loading thread options...`:Ja(De,C.type===`manager`),Ue=(0,K.useMemo)(()=>({text:R.text,attachments:R.attachments}),[R.attachments,R.text]),We=(0,K.useMemo)(()=>Nr(Ue),[Ue]),Ge=ts({hasPromptDraftInput:We.length>0,isFollowUpSubmitting:Re,isQueueMutationPending:Ie,queuedMessageCount:k.length,runtimeDisplayStatus:De,submitModeKind:Ve.kind}),Ke=(0,K.useMemo)(()=>D?{model:ye?.model??pe,supportsServiceTier:Te,serviceTier:he,reasoningLevel:V,permissionMode:ve}:null,[ye?.model,D,ve,V,pe,he,Te]),qe=(0,K.useCallback)(async e=>{if(e.length===0)return;re(null);let t=[];for(let n of e)try{let e=await L.mutateAsync({projectId:h,file:n});R.addAttachment(e)}catch{t.push(n.name)}t.length>0&&re(`Failed to attach: ${t.join(`, `)}`)},[h,R,L]),Je=(0,K.useCallback)(async()=>{let e=Ue,t=We;if(t.length===0||O)return;R.clearIfCurrentMatches(e),re(null);let n=es(De);try{if(n){let e=as({threadId:C.id,input:t,execution:Ke});e&&await N.mutateAsync(e)}else{let e=rs({threadId:C.id,input:t,execution:Ke});e&&await S.mutateAsync(e)}}catch(t){R.restoreIfEmpty(e),lt.error(mt({error:t,fallbackMessage:n?`Failed to queue message`:`Failed to send message`,lifecycleOperation:n?`queue_message`:`send_message`}))}},[N,Ue,We,Ke,O,R,S,C.id,De]),Ye=(0,K.useCallback)(async({guard:e,messageId:t})=>{if(A.current.has(t)&&!(e===`current-head`&&j.current[0]?.id!==t)){oe(t);try{await P.mutateAsync(os({queuedMessageId:t,threadId:C.id})),re(null)}catch(e){lt.error(mt({error:e,fallbackMessage:`Failed to send queued message`,lifecycleOperation:`send_queued_message`}))}finally{oe(e=>e===t?null:e)}}},[P,C.id]),Xe=(0,K.useCallback)(async()=>{if(!Ge)return;let e=Ue,t=ss({input:We,queuedMessages:j.current,threadId:C.id});if(!t)return;if(t.kind===`draft`){se(!0),R.clearIfCurrentMatches(e),re(null);try{await S.mutateAsync(t.request)}catch(t){R.restoreIfEmpty(e),lt.error(mt({error:t,fallbackMessage:`Failed to send message`,lifecycleOperation:`send_message`}))}finally{se(!1)}return}let n=t.request.queuedMessageId;if(j.current[0]?.id===n){se(!0);try{await Ye({guard:`current-head`,messageId:n})}finally{se(!1)}}},[Ge,Ue,We,R,S,Ye,C.id]),Ze=(0,K.useCallback)(e=>{Ye({guard:`exists`,messageId:e})},[Ye]),U=(0,K.useCallback)(e=>{let t=A.current.get(e);t&&(oe(e),F.mutateAsync({id:C.id,queuedMessageId:e}).then(()=>{let e=Uo(t.content);R.setDraft(e),re(null)}).catch(e=>{lt.error(mt({error:e,fallbackMessage:`Failed to edit queued message`}))}).finally(()=>{oe(t=>t===e?null:t)}))},[F,R,C.id]),W=(0,K.useCallback)(e=>{oe(e),F.mutateAsync({id:C.id,queuedMessageId:e}).catch(e=>{lt.error(mt({error:e,fallbackMessage:`Failed to delete queued message`}))}).finally(()=>{oe(t=>t===e?null:t)})},[F,C.id]),G=(0,K.useCallback)(e=>{I.mutateAsync({id:C.id,...e}).catch(e=>{lt.error(mt({error:e,fallbackMessage:`Failed to reorder queued message`,lifecycleOperation:`reorder_queued_message`}))})},[I,C.id]),Qe=(0,K.useCallback)(e=>{p(e)},[p]),$e=(0,K.useCallback)(e=>{z(t=>t===e?null:e)},[]),et=(0,K.useMemo)(()=>({items:R.attachments,projectId:h,isAttaching:L.isPending,error:ne,onAttachFiles:qe,onRemove:R.removeAttachment}),[ne,qe,h,R.attachments,R.removeAttachment,L.isPending]),tt=(0,K.useMemo)(()=>({history:{currentDraft:Ue,entries:ce,onSelectEntry:R.setDraft,resetKey:C.id},isFollowUpSubmitting:Re,message:R.text,onChangeMessage:R.setText,onModifierSubmit:Xe,onSubmit:Je,promptPlaceholder:He,canModifierSubmit:Ge,submitMode:Ve,threadRuntimeDisplayStatus:De}),[Ge,Ue,Je,Xe,Re,R.setDraft,R.setText,R.text,ce,He,De,Ve,C.id]),nt=(0,K.useMemo)(()=>({provider:{options:ue,selectedId:le,hasMultiple:de,displayName:fe},model:{active:ye,selected:pe,options:be,loadError:xe,onChange:me},serviceTier:{value:he,onChange:ge,supported:Te,supportByProvider:Ee},reasoning:{value:V,options:Se,onChange:_e}}),[ye,de,xe,be,ue,V,Se,pe,fe,le,he,Ee,_e,me,ge,Te]),rt=(0,K.useMemo)(()=>({value:D?ve:void 0,options:D?Ce:[],onChange:H,supported:D&&we}),[D,ve,Ce,H,we]),it=(0,K.useMemo)(()=>({suggestions:te.suggestions,threadSectionMode:te.threadSectionMode,isLoading:te.isLoading,isError:te.isError,onQueryChange:te.setQuery}),[te.isError,te.isLoading,te.setQuery,te.suggestions,te.threadSectionMode]),at=(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]),ot=(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?Qe:ls}:null,gitSectionPending:_,expandedSection:ie,onToggleSection:$e}),(0,q.jsx)(Go,{queuedMessages:k,sendDisabled:!(Ve.kind===`ready`||Ve.kind===`queue`)||Re||Ie,actionDisabled:Ie,processingMessageId:ae,onSendImmediately:Ze,onReorder:G,onEdit:U,onDelete:W})]}),[e,v,ie,W,U,Qe,G,Ze,$e,Re,Ie,b,x,y,ae,k,Ve.kind,C.archivedAt,C.type,g,_]);return Me?(0,q.jsx)(po,{interaction:Me,threadId:C.id}):(0,q.jsx)($o,{id:us,attachments:et,stack:ot,composer:tt,zenModeResetKey:C.id,environmentSummary:at,contextWindowUsage:i??null,execution:nt,permission:rt,mentions:it})}var fs=_((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=h();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 g;function _(){return g}var v=null,y=!0,b=-1,x=null;function S(e,t){if(t){let e=(t&R)!==0,n=(t&te)!==0,r=(t&ne)!==0,i=(t&re)!==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),v=null,x=null,b=-1)}function w(e,t){if(!y)return;let n=S(e,t);if(v!==n){if(v=n,x===null){x=document.createElement(`style`);let e=_();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:ee(e),b:ee(t)},r;for(;n.a.at(-1)===n.b.at(-1);)e=n.a.pop(),t=n.b.pop(),r=e;H(r,`Stacking order can only be calculated for elements with a common ancestor`);let i={a:I(F(n.a)),b:I(F(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(L(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 F(e){let t=e.length;for(;t--;){let n=e[t];if(H(n,`Missing node`),P(n))return n}return null}function I(e){return e&&Number(getComputedStyle(e).zIndex)||0}function ee(e){let t=[];for(;e;)t.push(e),e=L(e);return t}function L(e){let{parentNode:t}=e;return t&&t instanceof ShadowRoot?t.host:t}var R=1,te=2,ne=4,re=8,ie=k()===`coarse`,z=[],ae=!1,oe=new Map,B=new Map,se=new Set;function ce(e,t,n,r,i){let{ownerDocument:a}=t,o={direction:n,element:t,hitAreaMargins:r,setResizeHandlerState:i},s=oe.get(a)??0;return oe.set(a,s+1),se.add(o),V(),function(){B.delete(e),se.delete(o);let t=oe.get(a)??1;if(oe.set(a,t-1),V(),t===1&&oe.delete(a),z.includes(o)){let e=z.indexOf(o);e>=0&&z.splice(e,1),he(),i(`up`,!0,null)}}}function le(e){let{target:t}=e,{x:n,y:r}=O(e);ae=!0,pe({target:t,x:n,y:r}),V(),z.length>0&&(_e(`down`,e),e.preventDefault(),fe(t)||e.stopImmediatePropagation())}function ue(e){let{x:t,y:n}=O(e);if(ae&&e.buttons===0&&(ae=!1,_e(`up`,e)),!ae){let{target:r}=e;pe({target:r,x:t,y:n})}_e(`move`,e),he(),z.length>0&&e.preventDefault()}function de(e){let{target:t}=e,{x:n,y:r}=O(e);B.clear(),ae=!1,z.length>0&&(e.preventDefault(),fe(t)||e.stopImmediatePropagation()),_e(`up`,e),pe({target:t,x:n,y:r}),he(),V()}function fe(e){let t=e;for(;t;){if(t.hasAttribute(o.resizeHandle))return!0;t=t.parentElement}return!1}function pe({target:e,x:t,y:n}){z.splice(0);let r=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(r=e),se.forEach(e=>{let{element:i,hitAreaMargins:a}=e,o=i.getBoundingClientRect(),{bottom:s,left:c,right:l,top:u}=o,d=ie?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 me(e,t){B.set(e,t)}function he(){let e=!1,t=!1;z.forEach(n=>{let{direction:r}=n;r===`horizontal`?e=!0:t=!0});let n=0;B.forEach(e=>{n|=e}),e&&t?w(`intersection`,n):e?w(`horizontal`,n):t?w(`vertical`,n):C()}var ge=new AbortController;function V(){ge.abort(),ge=new AbortController;let e={capture:!0,signal:ge.signal};se.size&&(ae?(z.length>0&&oe.forEach((t,n)=>{let{body:r}=n;t>0&&(r.addEventListener(`contextmenu`,de,e),r.addEventListener(`pointerleave`,ue,e),r.addEventListener(`pointermove`,ue,e))}),window.addEventListener(`pointerup`,de,e),window.addEventListener(`pointercancel`,de,e)):oe.forEach((t,n)=>{let{body:r}=n;t>0&&(r.addEventListener(`pointerdown`,le,e),r.addEventListener(`pointermove`,ue,e))}))}function _e(e,t){se.forEach(n=>{let{setResizeHandlerState:r}=n;r(e,z.includes(n),t)})}function ve(){let[e,n]=t.useState(0);return t.useCallback(()=>n(e=>e+1),[])}function H(e,t){if(!e)throw console.error(t),Error(t)}function ye(e,t,n=s){return e.toFixed(n)===t.toFixed(n)?0:e>t?1:-1}function be(e,t,n=s){return ye(e,t,n)===0}function xe(e,t,n){return ye(e,t,n)===0}function Se(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(!xe(i,a,n))return!1}return!0}function Ce({panelConstraints:e,panelIndex:t,size:n}){let r=e[t];H(r!=null,`Panel constraints not found for index ${t}`);let{collapsedSize:i=0,collapsible:a,maxSize:o=100,minSize:c=0}=r;if(ye(n,c)<0)if(a){let e=(i+c)/2;n=ye(n,e)<0?i:c}else n=c;return n=Math.min(o,n),n=parseFloat(n.toFixed(s)),n}function we({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:a}){if(xe(e,0))return t;let o=[...t],[s,c]=r;H(s!=null,`Invalid first pivot index`),H(c!=null,`Invalid second pivot index`);let l=0;if(a===`keyboard`){{let r=e<0?c:s,i=n[r];H(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(H(n!=null,`Previous layout not found for panel index ${r}`),xe(n,a)){let t=l-n;ye(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}{let r=e<0?s:c,i=n[r];H(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(H(n!=null,`Previous layout not found for panel index ${r}`),xe(n,l)){let t=n-a;ye(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];H(e!=null,`Previous layout not found for panel index ${i}`);let o=Ce({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];H(a!=null,`Previous layout not found for panel index ${r}`);let s=a-i,c=Ce({panelConstraints:n,panelIndex:r,size:s});if(!xe(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(Se(i,o))return i;{let r=e<0?c:s,i=t[r];H(i!=null,`Previous layout not found for panel index ${r}`);let a=i+l,u=Ce({panelConstraints:n,panelIndex:r,size:a});if(o[r]=u,!xe(u,a)){let t=a-u,r=e<0?c:s;for(;r>=0&&r<n.length;){let i=o[r];H(i!=null,`Previous layout not found for panel index ${r}`);let a=i+t,s=Ce({panelConstraints:n,panelIndex:r,size:a});if(xe(i,s)||(t-=s-i,o[r]=s),xe(t,0))break;e>0?r--:r++}}}return xe(o.reduce((e,t)=>t+e,0),100)?o:i}function Te({layout:e,panelsArray:t,pivotIndices:n}){let r=0,i=100,a=0,o=0,s=n[0];return H(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 Ee(e,t=document){return Array.from(t.querySelectorAll(`[${o.resizeHandleId}][data-panel-group-id="${e}"]`))}function De(e,t,n=document){return Ee(e,n).findIndex(e=>e.getAttribute(o.resizeHandleId)===t)??null}function Oe(e,t,n){let r=De(e,t,n);return r==null?[-1,-1]:[r,r+1]}function ke(e,t=document){return t instanceof HTMLElement&&t?.dataset?.panelGroupId==e?t:t.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`)||null}function Ae(e,t=document){return t.querySelector(`[${o.resizeHandleId}="${e}"]`)||null}function je(e,t,n,r=document){let i=Ae(t,r),a=Ee(e,r),o=i?a.indexOf(i):-1;return[n[o]?.id??null,n[o+1]?.id??null]}function Me({committedValuesRef:e,eagerValuesRef:n,groupId:r,layout:i,panelDataArray:a,panelGroupElement:s,setLayout:l}){t.useRef({didWarnAboutMissingResizeHandle:!1}),c(()=>{if(!s)return;let e=Ee(r,s);for(let t=0;t<a.length-1;t++){let{valueMax:n,valueMin:r,valueNow:o}=Te({layout:i,panelsArray:a,pivotIndices:[t,t+1]}),s=e[t];if(s!=null){let e=a[t];H(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;H(e,`Eager values not found`);let{panelDataArray:t}=e;H(ke(r,s)!=null,`No group found for id "${r}"`);let a=Ee(r,s);H(a,`No resize handles found for group id "${r}"`);let c=a.map(e=>{let n=e.getAttribute(o.resizeHandleId);H(n,`Resize handle element has no handle id attribute`);let[a,c]=je(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];H(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=we({delta:xe(a,c)?d-c:c-a,initialLayout:i,panelConstraints:t.map(e=>e.constraints),pivotIndices:Oe(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 Ne(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 Pe(e,t){let n=e===`horizontal`,{x:r,y:i}=O(t);return n?r:i}function Fe(e,t,n,r,i){let a=n===`horizontal`,s=Ae(t,i);H(s,`No resize handle element found for id "${t}"`);let c=s.getAttribute(o.groupId);H(c,`Resize handle element has no group id attribute`);let{initialCursorPosition:l}=r,u=Pe(n,e),d=ke(c,i);H(d,`No group element found for id "${c}"`);let f=d.getBoundingClientRect(),p=a?f.width:f.height;return(u-l)/p*100}function Ie(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:Fe(e,t,n,r,a)}function Le({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];H(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];H(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 Re(e,t,n){t.forEach((t,r)=>{let i=e[r];H(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||be(u,c))&&!be(t,c)&&r(),e&&(u==null||!be(u,c))&&be(t,c)&&e())}})}function ze(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 Be({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 Ve(e,t=10){let n=null;return(...r)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...r)},t)}}function He(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 Ue(e){return`react-resizable-panels:${e}`}function We(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 Ge(e,t){try{let n=Ue(e),r=t.getItem(n);if(r){let e=JSON.parse(r);if(typeof e==`object`&&e)return e}}catch{}return null}function Ke(e,t,n){return(Ge(e,n)??{})[We(t)]??null}function qe(e,t,n,r,i){let a=Ue(e),o=We(t),s=Ge(e,i)??{};s[o]={expandToSizes:Object.fromEntries(n.entries()),layout:r};try{i.setItem(a,JSON.stringify(s))}catch(e){console.error(e)}}function Je({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(!xe(r,100)&&n.length>0)for(let e=0;e<t.length;e++){let t=n[e];H(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];H(r!=null,`No layout data found for index ${e}`);let a=Ce({panelConstraints:t,panelIndex:e,size:r});r!=a&&(i+=r-a,n[e]=a)}if(!xe(i,0))for(let e=0;e<t.length;e++){let r=n[e];H(r!=null,`No layout data found for index ${e}`);let a=r+i,o=Ce({panelConstraints:t,panelIndex:e,size:a});if(r!==o&&(i-=o-r,n[e]=o,xe(i,0)))break}return n}var Ye=100,Xe={getItem:e=>(He(Xe),Xe.getItem(e)),setItem:(e,t)=>{He(Xe),Xe.setItem(e,t)}},Ze={};function U({autoSaveId:e=null,children:n,className:r=``,direction:i,forwardedRef:s,id:l=null,onLayout:u=null,keyboardResizeBy:d=null,storage:p=Xe,style:m,tagName:h=`div`,...g}){let _=f(l),v=t.useRef(null),[y,b]=t.useState(null),[x,S]=t.useState([]),C=ve(),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=Je({layout:e,panelConstraints:r.map(e=>e.constraints)});Ne(n,i)||(S(i),j.current.layout=i,t&&t(i),Re(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}),Me({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=Ze[e];n??(n=Ve(qe,Ye),Ze[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(H(o!=null,`Panel size not found for panel "${e.id}"`),!be(o,a)){O.current.set(e.id,o);let c=we({delta:G(r,e)===r.length-1?o-a:a-o,initialLayout:n,panelConstraints:i,pivotIndices:s,prevLayout:n,trigger:`imperative-api`});ze(n,c)||(S(c),j.current.layout=c,t&&t(c),Re(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(be(s,o)){let t=O.current.get(e.id),o=t!=null&&t>=u?t:u,c=we({delta:G(i,e)===i.length-1?s-o:o-s,initialLayout:r,panelConstraints:a,pivotIndices:l,prevLayout:r,trigger:`imperative-api`});ze(r,c)||(S(c),j.current.layout=c,n&&n(c),Re(i,c,w.current))}}},[]),P=t.useCallback(e=>{let{layout:t,panelDataArray:n}=j.current,{panelSize:r}=Qe(n,e,t);return H(r!=null,`Panel size not found for panel "${e.id}"`),r},[]),F=t.useCallback((e,t)=>{let{panelDataArray:n}=j.current;return Be({defaultSize:t,dragState:y,layout:x,panelData:n,panelIndex:G(n,e)})},[y,x]),I=t.useCallback(e=>{let{layout:t,panelDataArray:n}=j.current,{collapsedSize:r=0,collapsible:i,panelSize:a}=Qe(n,e,t);return H(a!=null,`Panel size not found for panel "${e.id}"`),i===!0&&be(a,r)},[]),ee=t.useCallback(e=>{let{layout:t,panelDataArray:n}=j.current,{collapsedSize:r=0,collapsible:i,panelSize:a}=Qe(n,e,t);return H(a!=null,`Panel size not found for panel "${e.id}"`),!i||ye(a,r)>0},[]),L=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=Ke(e,i,n);t&&(O.current=new Map(Object.entries(t.expandToSizes)),a=t.layout)}a??=Le({panelDataArray:i});let o=Je({layout:a,panelConstraints:i.map(e=>e.constraints)});Ne(r,o)||(S(o),j.current.layout=o,t&&t(o),Re(i,o,w.current))}}),c(()=>{let e=j.current;return()=>{e.layout=[]}},[]);let ie=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=Oe(o,e,r),p=Ie(n,e,i,a,s,r),m=i===`horizontal`;m&&t&&(p=-p);let h=u.map(e=>e.constraints),g=we({delta:p,initialLayout:d??l,panelConstraints:h,pivotIndices:f,prevLayout:l,trigger:T(n)?`keyboard`:`mouse-or-touch`}),_=!ze(l,g);(E(n)||D(n))&&k.current!=p&&(k.current=p,!_&&p!==0?m?me(e,p<0?R:te):me(e,p<0?ne:re):me(e,0)),_&&(S(g),j.current.layout=g,c&&c(g),Re(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);H(o!=null,`Panel size not found for panel "${e.id}"`);let c=we({delta:G(i,e)===i.length-1?o-t:t-o,initialLayout:r,panelConstraints:a,pivotIndices:s,prevLayout:r,trigger:`imperative-api`});ze(r,c)||(S(c),j.current.layout=c,n&&n(c),Re(i,c,w.current))},[]),ae=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&&be(u,i)?be(i,o)||z(e,o):u<l?z(e,l):u>c&&z(e,c))},[z]),oe=t.useCallback((e,t)=>{let{direction:n}=A.current,{layout:r}=j.current;if(!v.current)return;let i=Ae(e,v.current);H(i,`Drag handle element not found for id "${e}"`);let a=Pe(n,t);b({dragHandleId:e,dragHandleRect:i.getBoundingClientRect(),initialCursorPosition:a,initialLayout:r})},[]),B=t.useCallback(()=>{b(null)},[]),se=t.useCallback(e=>{let{panelDataArray:t}=j.current,n=G(t,e);n>=0&&(t.splice(n,1),delete w.current[e.id],j.current.panelDataArrayChanged=!0,C())},[C]),ce=t.useMemo(()=>({collapsePanel:M,direction:i,dragState:y,expandPanel:N,getPanelSize:P,getPanelStyle:F,groupId:_,isPanelCollapsed:I,isPanelExpanded:ee,reevaluatePanelConstraints:ae,registerPanel:L,registerResizeHandle:ie,resizePanel:z,startDragging:oe,stopDragging:B,unregisterPanel:se,panelGroupElement:v.current}),[M,y,i,N,P,F,_,I,ee,ae,L,ie,z,oe,B,se]),le={display:`flex`,flexDirection:i===`horizontal`?`row`:`column`,height:`100%`,overflow:`hidden`,width:`100%`};return t.createElement(a.Provider,{value:ce},t.createElement(h,{...g,children:n,className:r,id:l,ref:v,style:{...le,...m},[o.group]:``,[o.groupDirection]:i,[o.groupId]:_}))}var W=t.forwardRef((e,n)=>t.createElement(U,{...e,forwardedRef:n}));U.displayName=`PanelGroup`,W.displayName=`forwardRef(PanelGroup)`;function G(e,t){return e.findIndex(e=>e===t||e.id===t.id)}function Qe(e,t,n){let r=G(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=Ae(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);H(r,`No group element found for id "${r}"`);let a=Ee(r,i),s=De(r,n,i);H(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,F]=t.useState(null),I=t.useRef({state:A});c(()=>{I.current.state=A}),t.useEffect(()=>{if(r)F(null);else{let e=T(k);F(()=>e)}},[r,k,T]);let ee=i?.coarse??15,L=i?.fine??5;t.useEffect(()=>{if(r||P==null)return;let e=b.current;H(e,`Element ref not attached`);let t=!1;return ce(k,e,C,{coarse:ee,fine:L},(e,n,r)=>{if(!n){j(`inactive`);return}switch(e){case`down`:{j(`drag`),t=!1,H(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}=I.current;t=!0,e!==`drag`&&j(`hover`),H(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}}})},[ee,C,r,L,T,k,P,E,D]),$e({disabled:r,handleId:k,resizeHandler:P,panelGroupElement:O});let R={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:{...R,...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=W,e.PanelResizeHandle=et}))(),ps=`uncommitted`;function ms(e,t){if(e===`uncommitted`)return{type:`uncommitted`};if(e)return{type:`commit`,sha:e};if(t)return{type:`all`,mergeBaseBranch:t}}function hs(e,t={hasUncommittedChanges:!1}){let n={value:`all`,label:`All changes`},r={value:ps,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 gs(e,t,n={hasUncommittedChanges:!1}){return e?e===`uncommitted`?!n.hasUncommittedChanges:!t.some(t=>t.sha===e):!1}function _s(e){let t=e.currentGitDiff.trim().length>0,n=Gt(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 vs({entry:e,expectedFileCount:t}){return t>10?!0:mr(e.fileDiff)===`deleted`}function ys({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}vs({entry:s,expectedFileCount:n})&&o.add(s.key)}return o}function bs(e){let t=Gt(e.gitDiff);if(!e.isDiffPanelActive||e.gitDiff.trim().length===0)return{kind:`reset`,gitDiffKey:t,patchChunks:[]};let n=Tn(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 xs=150,Ss=4,Cs=6,ws=30,Ts=70;function Es(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function Ds({environmentId:e,gitDiffIdentity:t,expectedGitDiffFileCount:n,parsedGitDiffFileEntries:r,isDiffPanelActive:i,isParsingGitDiffFiles:a}){let o=$r((0,K.useCallback)(e=>e(ja),[])),s=Ze(ja),c=Ze(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??xs),s=Math.max(0,t?.batchDelayMs??xs);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=ys({bulkCollapsePreference:d.current,currentCollapsedFileKeys:o(),expectedFileCount:n,focusedFileKey:f.current,parsedGitDiffFileEntries:r,previousFileKeys:p.current});p.current=e,s(e=>Es(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>Ss?{initialBatchSize:Ss,initialDelayMs:ws,batchSize:Cs,batchDelayMs:Ts}: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 Os({environmentId:e,isDiffPanelActive:t,defaultMergeBaseBranch:n}){let r=G(Na),i=G(Pa),a=Ze(Pa),o=G(ja),c=G(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)(()=>ms(u,w),[w,u]),E=(0,K.useMemo)(()=>As({environmentId:e,target:T}),[e,T]),{data:D}=Ki(e??``,w,{enabled:!!e&&!!w&&t}),{data:O,isLoading:k,isPlaceholderData:A,error:j}=Yi(e??``,{enabled:!!e&&t&&T!==void 0,target:T});(0,K.useEffect)(()=>{if(O&&!A){C(e=>e?.requestIdentity===E&&e.response===O?e:{requestIdentity:E,response:O});return}k||C(e=>e?.requestIdentity===E?e:null)},[O,E,k,A]);let M=O&&!A?O:S?.requestIdentity===E?S.response:void 0,P=M?.mergeBaseRef??null,F=(0,K.useMemo)(()=>ks({environmentId:e,mergeBaseRef:P,target:T}),[P,e,T]),I=M?.diff??``,ee=(0,K.useMemo)(()=>zt(f),[f]),{focusGitDiffFile:L,gitDiffFileRefs:R,queuedGitDiffFileRenderKeys:te,setGitDiffFileRef:ne,toggleAllGitDiffFilesCollapsed:re,toggleGitDiffFileCollapsed:ie}=Ds({environmentId:e,gitDiffIdentity:F,expectedGitDiffFileCount:h,parsedGitDiffFileEntries:ee,isDiffPanelActive:t,isParsingGitDiffFiles:_}),z=_s({currentGitDiff:I,isAwaitingPrerequisites:t&&!!e&&T===void 0,isGitDiffLoading:k,isParsingGitDiffFiles:_,lastParsedGitDiffKey:y,parsedGitDiffFileCount:ee.length});(0,K.useEffect)(()=>{let e=bs({gitDiff:I,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=Cn(I);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)}},[I,t]),(0,K.useEffect)(()=>{d(null)},[e]),(0,K.useEffect)(()=>{a(null)},[e,a]),(0,K.useEffect)(()=>{i&&d(null)},[i]);let oe=(D?.workingTree.files.length??0)>0;(0,K.useEffect)(()=>{gs(u,D?.mergeBase?.commits??[],{hasUncommittedChanges:oe})&&d(null)},[D?.mergeBase?.commits,oe,u]),(0,K.useLayoutEffect)(()=>{if(!i||!t){l.current=null;return}let e=ee.find(({fileDiff:e})=>qt(e,i));if(!e){!k&&!_&&!z.isAwaitingCurrentGitDiffParse&&a(null);return}if(l.current!==i){l.current=i,L(e.key);return}let n=o.has(e.key),r=!te.has(e.key)||c.has(e.key);n||r||(R.current.get(e.key)?.scrollIntoView({block:`start`,behavior:`instant`}),a(null))},[o,L,R,z.isAwaitingCurrentGitDiffParse,t,k,_,c,ee,i,te,a]);let B=(0,K.useMemo)(()=>D?.mergeBase?.commits??[],[D?.mergeBase?.commits]),se=u??`all`,ce=(0,K.useMemo)(()=>hs(B,{hasUncommittedChanges:oe}),[B,oe]),le=(0,K.useMemo)(()=>on(_?[]:f,I),[I,_,f]),{hasParsedGitDiffFiles:ue,isPreparingGitDiff:de}=z,fe=(0,K.useCallback)(e=>{d(e===`all`?null:e)},[]),pe=N(),me=(0,K.useMemo)(()=>Ms(T,P),[T,P]);return{currentGitDiff:I,gitDiffError:j,gitDiffSelectOptions:ce,gitDiffSelectValue:se,gitDiffStats:le,hasParsedGitDiffFiles:ue,isGitDiffLoading:k,isParsingGitDiffFiles:_,isPreparingGitDiff:de,onGitDiffSelectionChange:fe,onRequestFileContents:(0,K.useMemo)(()=>{if(!e||me===void 0)return;let t=e,n=me,r=js(n);return async(e,i)=>{let a=await pe.fetchQuery({queryKey:s(t,n.type,r,e,i),queryFn:()=>ae(t,n,e,i),staleTime:5e3});return Ns(e,a.content,a.contentEncoding)}},[e,me,pe]),parsedGitDiffFileEntries:ee,queuedGitDiffFileRenderKeys:te,setGitDiffFileRef:ne,threadGitDiff:M,toggleAllGitDiffFilesCollapsed:re,toggleGitDiffFileCollapsed:ie}}function ks({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 As({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 js(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 Ms(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 Ns(e,t,n){return n===`utf8`?{name:e,contents:t}:null}var Ps=760;function Fs({isSecondaryPanelOpen:e}){let[t,n]=(0,K.useState)(`unified`),[r,i]=(0,K.useState)(!1),a=Ze(ka),o=G(Aa),s=Ze(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>=Ps,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]),vr({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 Is=`20rem`;function Ls({value:e,options:t,onChange:r,disabled:i,panelWidthPx:a}){let o=t.find(t=>t.value===e),s=o?.label??e,c=o?.monoPrefix;return(0,q.jsxs)(H,{children:[(0,q.jsx)(be,{asChild:!0,disabled:i,children:(0,q.jsxs)(n,{type:`button`,variant:`ghost`,size:`sm`,disabled:i,className:p(`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)(B,{name:`ChevronDown`,className:`size-3.5 shrink-0 text-muted-foreground`})]})}),(0,q.jsx)(Ce,{align:`start`,className:`min-w-[var(--radix-dropdown-menu-trigger-width)]`,style:{maxWidth:`min(var(--radix-popper-available-width), max(${Is}, ${a}px))`},children:t.map(t=>(0,q.jsxs)(ye,{onSelect:()=>r(t.value),className:`flex items-center justify-between gap-2`,children:[(0,q.jsxs)(`span`,{className:`flex min-w-0 items-baseline gap-2`,title:t.monoPrefix?`${t.monoPrefix} ${t.label}`:t.label,children:[t.monoPrefix?(0,q.jsx)(`span`,{className:`shrink-0 font-mono text-muted-foreground`,children:t.monoPrefix}):null,(0,q.jsx)(`span`,{className:`truncate`,children:t.label})]}),(0,q.jsx)(B,{name:`Check`,className:p(he,t.value===e?`opacity-100`:`opacity-0`)})]},t.value))})]})}function Rs({selectionValue:e,selectionOptions:t,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}=vr({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)(Ls,{value:e,options:t,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)(B,{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)(n,{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)(B,{name:`ChevronsDown`,className:`size-3.5`}):(0,q.jsx)(B,{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)(n,{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)(B,{name:`Rows2`,className:`size-3.5`})}),(0,q.jsx)(n,{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)(B,{name:`Columns2`,className:`size-3.5`})})]})]})]})})}var zs=new Set([`md`,`mdx`,`markdown`]),Bs={"--diffs-font-size":`12px`,"--diffs-line-height":`18px`,"--diffs-gap-block":`16px`},Vs={"--md-content-w":`100cqi`},Hs={width:`100%`,height:`100%`,border:0};function Us(e){let t=e.split(`.`).pop()?.toLowerCase();return t!==void 0&&zs.has(t)}function Ws(e){return e.kind===`html`?`html`:e.kind===`ready`&&e.showMarkdownModeToggle&&Us(e.file.name)?`markdown`:null}function Gs(e){return e===`html`?`HTML view mode`:`Markdown view mode`}function Ks(e){return e===`html`?`HTML source`:`Markdown source`}function qs({state:e,path:t,copyPath:n=null,headerMode:r=`file`,onOpenInEditor:i,statusLabel:a=null}){let o=Ws(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:Vs,children:[r===`file`?(0,q.jsx)(Ys,{path:t,copyPath:n,onOpenInEditor:i,statusLabel:a,toggleKind:o,viewMode:s,onViewModeChange:c}):null,(0,q.jsx)(Js,{state:e,path:t,viewMode:o===null?`preview`:s})]})}function Js({state:e,path:t,viewMode:n}){return e.kind===`loading`?(0,q.jsx)(tc,{}):e.kind===`empty`?(0,q.jsx)(nc,{message:`Empty file.`}):e.kind===`not-found`?(0,q.jsx)(nc,{message:`File not found.`,role:`alert`}):e.kind===`error`?(0,q.jsx)(nc,{message:e.message??`Failed to load file`,role:e.message===void 0?`alert`:void 0}):e.kind===`image`?(0,q.jsx)(Zs,{url:e.url,alt:t}):e.kind===`iframe`?(0,q.jsx)(Qs,{sandbox:e.sandbox,title:e.title,url:e.url}):e.kind===`html`?n===`preview`?(0,q.jsx)(Qs,{sandbox:e.iframe.sandbox,title:e.iframe.title,url:e.iframe.url}):(0,q.jsx)(rc,{file:e.file,lineNumber:e.lineNumber}):Us(e.file.name)&&n===`preview`?(0,q.jsx)(Xs,{file:e.file,urlTransform:e.markdownUrlTransform}):(0,q.jsx)(rc,{file:e.file,lineNumber:e.lineNumber??null})}function Ys({path:e,copyPath:t,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)(cr,{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,`)`]}),t===null?null:(0,q.jsx)(ct,{text:t,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)(B,{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":Gs(a),children:[(0,q.jsx)(n,{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)(n,{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:Ks(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 Xs({file:e,urlTransform:t}){return(0,q.jsx)(`div`,{className:`px-4 pt-4`,children:(0,q.jsx)(hr,{allowHtml:!0,content:e.contents,urlTransform:t})})}function Zs({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 Qs({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)(nc,{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)(tc,{})}):null,(0,q.jsx)(`iframe`,{title:t,src:n,sandbox:e===null?void 0:e,style:Hs,onLoad:()=>i(`loaded`),onError:()=>i(`error`)})]})}function $s(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 ec(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 tc(){return(0,q.jsxs)(`div`,{className:`space-y-2 px-4 pt-4`,"aria-busy":!0,children:[(0,q.jsx)(Ft,{className:`h-3 w-3/4 rounded-sm`}),(0,q.jsx)(Ft,{className:`h-3 w-full rounded-sm`}),(0,q.jsx)(Ft,{className:`h-3 w-5/6 rounded-sm`}),(0,q.jsx)(Ft,{className:`h-3 w-2/3 rounded-sm`}),(0,q.jsx)(Ft,{className:`h-3 w-full rounded-sm`}),(0,q.jsx)(Ft,{className:`h-3 w-3/5 rounded-sm`})]})}function nc({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 rc({file:e,lineNumber:t}){let n=ht(),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||($s(e),$s(e.ownerDocument.body),t===null))return;let n=ec(e,t)??ec(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&&($s(e),$s(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:Bs,"data-file-preview-line-number":t??void 0,children:(0,q.jsx)(si,{file:e,options:i,selectedLines:a})})}var ic=`allow-scripts`;function ac({activePath:e,filePreview:t}){return{name:t.name??e,contents:t.content}}function oc({activePath:e,copyPath:t=null,error:n,filePreview:r,htmlPreviewUrl:i=null,isLoading:a,lineNumber:o=null,onOpenInEditor:s,statusLabel:c=null}){return n?(0,q.jsx)(qs,{path:e,copyPath:t,onOpenInEditor:s,statusLabel:c,state:{kind:n instanceof E&&n.status===404?`not-found`:`error`}}):a||!r||r.path!==e?(0,q.jsx)(qs,{path:e,copyPath:t,onOpenInEditor:s,statusLabel:c,state:{kind:`loading`}}):i!==null&&pe(e)?r.kind===`text`?(0,q.jsx)(qs,{path:e,copyPath:t,onOpenInEditor:s,statusLabel:c,state:{kind:`html`,file:ac({activePath:e,filePreview:r}),iframe:{sandbox:ic,title:e,url:i},lineNumber:o}}):(0,q.jsx)(qs,{path:e,copyPath:t,onOpenInEditor:s,statusLabel:c,state:{kind:`iframe`,sandbox:ic,title:e,url:i}}):r.kind===`text`?r.content.length===0?(0,q.jsx)(qs,{path:e,copyPath:t,onOpenInEditor:s,statusLabel:c,state:{kind:`empty`}}):(0,q.jsx)(qs,{path:e,copyPath:t,onOpenInEditor:s,statusLabel:c,state:{kind:`ready`,lineNumber:o,showMarkdownModeToggle:!0,file:ac({activePath:e,filePreview:r})}}):r.kind===`image`?(0,q.jsx)(qs,{path:e,copyPath:t,onOpenInEditor:s,statusLabel:c,state:{kind:`image`,url:r.url}}):(0,q.jsx)(qs,{path:e,copyPath:t,onOpenInEditor:s,statusLabel:c,state:{kind:`error`,message:`Preview not available for ${r.mimeType}.`}})}function sc({activePath:e,copyPath:t,error:n,filePreview:r,isLoading:i,lineNumber:a,onOpenInEditor:o,threadId:s}){return(0,q.jsx)(oc,{activePath:e,copyPath:t,error:n,filePreview:r,htmlPreviewUrl:F(s,e),isLoading:i,lineNumber:a,onOpenInEditor:o})}var cc=3,lc=`min-h-0 flex-1 overflow-x-hidden overflow-y-auto`;function uc({count:e=cc}){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)(Ft,{className:`size-4 shrink-0 rounded-sm`}),(0,q.jsx)(Ft,{className:`h-3 w-48 max-w-full rounded-sm`})]}),(0,q.jsx)(Ft,{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)(Ft,{className:`h-3 w-full rounded-sm`}),(0,q.jsx)(Ft,{className:`h-3 w-[94%] rounded-sm`}),(0,q.jsx)(Ft,{className:`h-3 w-[90%] rounded-sm`}),(0,q.jsx)(Ft,{className:`h-3 w-[86%] rounded-sm`})]})]},`git-diff-skeleton-${t}`))})}var dc=(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)(yn,{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 fc({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:m,toggleGitDiffFileCollapsed:h,workspaceRootPath:g}){let _=t.trim().length>0,v=n?st({error:n,operation:`load_diff`}):null,y=v?.body??(n?mt({error:n,fallbackMessage:`Failed to load git diff`,lifecycleOperation:`load_diff`}):null);return(0,q.jsx)(`div`,{className:p(lc,`px-4 pb-3`),children:a?(0,q.jsx)(uc,{}):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:[v?(0,q.jsx)(`p`,{className:`font-medium`,children:v.title}):null,(0,q.jsx)(`p`,{className:v?`mt-1 leading-5`:void 0,children:y})]}):m&&_?(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)(dc,{fileKey:t,fileDiff:n,diffViewOptions:r,filePathRoot:g,onOpenFileInEditor:s,onOpenFilePreview:c,isCollapsed:e.has(t),isRendering:!d.has(t)||o.has(t),setGitDiffFileRef:f,toggleGitDiffFileCollapsed:h,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)(Ft,{className:`h-3 w-52 max-w-full rounded-sm`}),(0,q.jsx)(Ft,{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:m.diff}),m.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 pc({metadataContent:e}){return(0,q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col px-4 pb-3`,children:e})}function mc({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)(oc,{activePath:e,copyPath:t,error:l,filePreview:c,htmlPreviewUrl:a?.kind===`working-tree`?j(s,e):null,isLoading:u,lineNumber:r,onOpenInEditor:i,statusLabel:o})}function hc({activePath:e,environmentId:t,lineNumber:n,onOpenInEditor:r,threadId:i}){let{data:a,error:o,isLoading:s}=De(i,t,e);return(0,q.jsx)(oc,{activePath:e,error:o,filePreview:a,htmlPreviewUrl:oe(i,e),isLoading:s,lineNumber:n,onOpenInEditor:r,statusLabel:null})}function gc({activePath:e,copyPath:t=null,onOpenInEditor:n,threadId:r}){let{data:i,error:a,isLoading:o}=Ae(r,e);return(0,q.jsx)(sc,{activePath:e,copyPath:t,error:a,filePreview:i,isLoading:o,onOpenInEditor:n,threadId:r})}var _c=24,vc=70,yc=`duration-[220ms] ease-[cubic-bezier(0.32,0.72,0,1)]`,bc=`min-h-0 flex-1 overflow-x-hidden overflow-y-auto`,xc={pointerEvents:`auto`};function Sc({activePanel:e,canUseGitUi:t,defaultMergeBaseBranch:r,environmentId:i,metadataContent:a,fileTabs:o,fileTabContent:s,isOpen:c,showGitDiffTab:l=!0,onPanelFocus:u,onPanelChange:d,onCollapse:f,onClose:m,onOpenNewTab:h,workspaceRootPath:g,onOpenFileInEditor:_,onOpenFilePreview:v,renderAsDrawer:y}){let b=o?.find(e=>e.isActive)!==void 0,x=y?`X`:`PanelRight`,{gitDiffDisplayMode:S,handleGitDiffDisplayModeChange:C,handleSecondaryPanelDragging:w,handleSecondaryPanelResize:T,persistedWidthPercent:E,secondaryPanelRef:D,secondaryResizablePanelRef:O}=Fs({isSecondaryPanelOpen:c}),k=!t&&e===`git-diff`?`thread-info`:e,A=k===`git-diff`,{currentGitDiff:j,gitDiffError:M,gitDiffSelectOptions:N,gitDiffSelectValue:P,gitDiffStats:F,hasParsedGitDiffFiles:I,isGitDiffLoading:ee,isParsingGitDiffFiles:L,isPreparingGitDiff:R,onGitDiffSelectionChange:te,onRequestFileContents:ne,parsedGitDiffFileEntries:re,queuedGitDiffFileRenderKeys:ie,setGitDiffFileRef:z,threadGitDiff:ae,toggleAllGitDiffFilesCollapsed:oe,toggleGitDiffFileCollapsed:se}=Os({environmentId:i,isDiffPanelActive:A,defaultMergeBaseBranch:r}),ce=G(ja),le=G(Ma),ue=G(ka),[de]=(0,K.useState)($t),fe=rn(de),pe=(0,K.useMemo)(()=>I&&re.every(({key:e})=>ce.has(e)),[ce,I,re]),me=ht(),he=(0,K.useMemo)(()=>({...gn,diffStyle:S,themeType:me}),[S,me]),ge=(0,q.jsxs)(`aside`,{ref:D,"aria-hidden":!c,onFocusCapture:e=>{let t=e.relatedTarget;t instanceof Node&&e.currentTarget.contains(t)||u()},className:p(`flex h-full min-h-0 min-w-0 flex-1 flex-col overflow-hidden bg-background`,ue&&`[&_iframe]:pointer-events-none`,!y&&[`transition-[transform,opacity,background-color]`,yc,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:p(`flex h-12 min-w-0 items-center justify-between gap-2 px-4`,fe&&`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)(n,{type:`button`,variant:`ghost`,size:`sm`,className:p(`h-7 w-7 shrink-0 rounded-md p-0`,fe&&Zt),onClick:()=>d(`thread-info`),"aria-label":`Show thread info panel`,"aria-pressed":k===`thread-info`&&!b,title:`Info`,children:(0,q.jsx)(B,{name:`Info`})}),l===!1?null:(0,q.jsx)(n,{type:`button`,variant:`ghost`,size:`sm`,className:p(`h-7 w-7 shrink-0 rounded-md p-0`,fe&&Zt),onClick:()=>d(`git-diff`),"aria-label":`Show diff panel`,"aria-pressed":A&&!b,title:`Diff`,children:(0,q.jsx)(B,{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:p(`shrink-0`,fe&&Zt),children:(0,q.jsx)(wc,{tab:e})},e.id))}):null,(0,q.jsx)(Cc,{onOpenNewTab:h,usesDesktopChrome:fe})]}),(0,q.jsx)(n,{type:`button`,variant:`ghost`,size:`icon`,className:p(`h-7 w-7 shrink-0 rounded-md p-0`,fe&&Zt),onClick:m,"aria-label":y?`Close secondary panel`:`Hide secondary panel`,title:y?`Close secondary panel`:`Hide secondary panel`,children:(0,q.jsx)(B,{name:x})})]}),A&&!b?(0,q.jsx)(Rs,{selectionValue:P,selectionOptions:N,onSelectionChange:te,isSelectorDisabled:ee||ae===void 0,stats:F,isParsing:L,areAllFilesCollapsed:pe,isCollapseAllDisabled:!I||ee,onToggleAllCollapsed:oe,displayMode:S,onDisplayModeChange:C}):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:p(bc,`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.`})}):A?(0,q.jsx)(fc,{collapsedGitDiffFileKeys:ce,currentGitDiff:j,gitDiffError:M instanceof Error?M:M?Error(`Failed to load git diff`):null,gitDiffViewOptions:he,isParsingGitDiffFiles:L,isPreparingGitDiff:R,loadingGitDiffFileKeys:le,onOpenFileInEditor:_,onOpenFilePreview:v,onRequestFileContents:ne,parsedGitDiffFileEntries:re,queuedGitDiffFileRenderKeys:ie,setGitDiffFileRef:z,threadGitDiff:ae,toggleGitDiffFileCollapsed:se,workspaceRootPath:g}):(0,q.jsx)(pc,{metadataContent:a})})]});return y?ge:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Tc,{isOpen:c,onDragging:w}),(0,q.jsx)(fs.Panel,{ref:O,id:`thread-detail-secondary-panel`,collapsible:!0,collapsedSize:0,defaultSize:c?E:0,minSize:_c,maxSize:vc,onCollapse:f,onResize:T,order:2,style:xc,className:p(`min-w-0 overflow-hidden transition-[flex-grow,flex-basis,opacity]`,yc,c?`opacity-100`:`opacity-0`),children:ge})]})}function Cc({onOpenNewTab:e,usesDesktopChrome:t}){return(0,q.jsx)(n,{type:`button`,variant:`ghost`,size:`sm`,className:p(`h-7 w-7 shrink-0 rounded-md p-0`,t&&Zt),onClick:e,"aria-label":`Open a new tab`,title:`New tab`,children:(0,q.jsx)(B,{name:`Plus`})})}function wc({tab:e}){let t=e.statusLabel===null?e.filename:`${e.filename} (${e.statusLabel})`;return(0,q.jsx)(Xa,{label:e.filename,leadingVisual:e.leadingVisual,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 Tc({isOpen:e,onDragging:t}){let n=G(ka);return(0,q.jsx)(fs.PanelResizeHandle,{id:`thread-detail-secondary-panel-handle`,disabled:!e,onDragging:t,className:p(`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-['']`,yc,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:p(`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 Ec=`file-tree-container`,Dc=`data-file-tree-style`,Oc=`data-file-tree-unsafe-css`,kc=`data-file-tree-scrollbar-measure`,Ac=`data-file-tree-scrollbar-gutter-measured`,jc=`--trees-scrollbar-gutter-measured`,Mc=`header`,Nc=`context-menu`,Pc=`context-menu-trigger`,Fc=typeof window>`u`?K.useEffect:K.useLayoutEffect;function Ic(e,t,n){let r=e==null?null:(0,q.jsx)(`div`,{slot:Mc,children:e}),i=t!=null&&n!=null?(0,q.jsx)(`div`,{slot:Nc,children:t(n.item,n.context)}):null;return r==null&&i==null?null:(0,q.jsxs)(q.Fragment,{children:[r,i]})}function Lc(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 Rc(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 zc(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 Bc({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)(()=>zc(h,e,f,p,m),[h,p,m,f,e]),_=(0,K.useCallback)(e=>{l(e)},[]);(0,K.useEffect)(()=>{f||s(null)},[f]),Fc(()=>{n.setComposition(g)},[g,n]),Fc(()=>{if(c!=null)return r!=null&&Rc(c)?n.hydrate({fileTreeContainer:c}):n.render({fileTreeContainer:c}),()=>{n.unmount(),n.setComposition(h)}},[h,c,n,r]);let v=Lc(Ic(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)(Ec,{...a,id:y,ref:_,style:b,suppressHydrationWarning:r!=null,children:v})}var Vc=`<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>`,Hc=`<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>`,Uc=`<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>`,Wc=`<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>`,Gc=`<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>`,Kc=`<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>`,qc=`<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>`,Jc=`<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>`,Yc=`<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>`,Xc=`<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>`,Zc=`<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>`,Qc=`<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>`,$c=`<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>`,el=`<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>`,tl=`<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>`,nl=`<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>`,rl=`<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>`,il=`<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>`,al=`<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>`,ol=`<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>`,sl=`<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>`,cl=`<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>`,ll=`<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>`,ul=`<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>`,dl=`<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>`,fl=`<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>`,pl=`<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>`,ml=`<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>`,hl=`<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>`,gl=`<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>`,_l=`<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>`,vl=`<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>`,yl=`<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>`,bl=`<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>`,xl=`<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>`,Sl=`<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>`,Cl=`<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>`,wl=`<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>`,Tl=`<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>`,El=`<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>`,Dl=`<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>`,Ol=`<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>`,kl=`<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>`,Al=`<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>`,jl=`<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>`,Ml=`<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>`,Nl=`<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>`,Pl=`<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>`,Fl=`<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>`,Il=`<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>`,Ll=`<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>`,Rl=[Wc,Xc,Zc,Qc,tl,nl,rl,al,ol,sl,cl,ll,ul,gl,vl,yl,Tl,El,kl,Al,`<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>`],zl=[Hc,Uc,Gc,Kc,qc,Jc,Yc,$c,el,il,dl,fl,pl,ml,hl,_l,bl,xl,Sl,Cl,wl,Dl,Ol,jl,Ml,Nl,Pl,Fl,Il,Ll];function Bl(e,t){return t.length===0?e:e.replace(`</svg>`,`\n ${t.join(`
166
+ `)}\n</svg>`)}var Vl=Bl(Vc,Rl),Hl={minimal:Vc,standard:Vl,complete:Bl(Vl,zl)},Ul={".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`},Wl={"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`},Gl={jsx:`react`,sass:`sass`,scss:`sass`,tsx:`react`},Kl=new Set([`bash`,`css`,`database`,`default`,`font`,`git`,`go`,`html`,`image`,`javascript`,`json`,`markdown`,`mcp`,`python`,`ruby`,`rust`,`swift`,`table`,`text`,`typescript`,`zip`]),ql=new Set([`complete`]);function Jl(e){return Hl[e===`none`?`minimal`:e]}function Yl(e){return`file-tree-builtin-${e}`}function Xl(e){return e!==`none`&&ql.has(e)}function Zl(e,t,n){if(e===`minimal`||e===`none`)return;let r=e===`complete`,i=Ul[t.toLowerCase()];if(i!=null&&(r||Kl.has(i)))return i;for(let e of n){if(r){let t=Gl[e];if(t!=null)return t}let t=Wl[e];if(t!=null&&(r||Kl.has(t)))return t}return`default`}function Ql(e){return e.spriteSheet!=null||e.remap!=null||e.byFileName!=null||e.byFileExtension!=null||e.byFileNameContains!=null}function $l(e){return e==null?{set:`complete`,colored:!0}:typeof e==`string`?{set:e,colored:!0}:{...e,set:e.set??(Ql(e)?`none`:`complete`),colored:e.colored??!0}}var eu={compact:{itemHeight:24,factor:.8},default:{itemHeight:30,factor:1},relaxed:{itemHeight:36,factor:1.2}};function tu(e,t){if(typeof e==`number`)return{itemHeight:t??eu.default.itemHeight,factor:e};let n=eu[e??`default`];return{itemHeight:t??n.itemHeight,factor:n.factor}}var nu=eu.default.itemHeight,ru=`@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
+ `,iu=`@layer base, unsafe;`;function au(e){return`${iu}
1810
+ @layer base {
1811
+ ${e}
1812
+ }`}function ou(e){return`${iu}
1813
+ @layer unsafe {
1814
+ ${e}
1815
+ }`}var su=new WeakMap;function cu(e){let t=su.get(e);if(t!=null)return t;let n=document.createElement(`div`);n.setAttribute(kc,`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(),su.set(e,i),i}function lu(e,t){if(!e.isConnected)return;let n=cu(t);if(n==null)return;let r=t.querySelector(`style[${Ac}]`),i=r instanceof HTMLStyleElement?r:document.createElement(`style`);r instanceof HTMLStyleElement||(i.setAttribute(Ac,``),t.appendChild(i)),i.textContent=`:host { ${jc}: ${n}px; }`}var uu;function du(e){if(typeof CSSStyleSheet<`u`&&typeof CSSStyleSheet.prototype.replaceSync==`function`&&`adoptedStyleSheets`in e){uu??(uu=new CSSStyleSheet,uu.replaceSync(au(ru)));let t=!1;try{e.adoptedStyleSheets=[uu],t=!0}catch{}if(t){e.querySelector(`style[${Dc}]`)?.remove();return}}if(e.querySelector(`style[data-file-tree-style]`)==null){let t=document.createElement(`style`);t.setAttribute(Dc,``),t.textContent=au(ru),e.prepend(t)}}function fu(e,t){pu(e,t),du(t),lu(e,t)}function pu(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`});fu(this,e)}}if(customElements.define(Ec,e),typeof document<`u`)for(let e of Array.from(document.querySelectorAll(Ec)))e instanceof HTMLElement&&fu(e,e.shadowRoot??e.attachShadow({mode:`open`}))}var mu=5,hu=1<<mu,gu=hu*4;function _u(){return{childIdByNameId:new Map,childIds:[],childPositionById:new Map,childVisibleChunkSums:null,totalChildSubtreeNodeCount:0,totalChildVisibleSubtreeCount:0}}function vu(){return{childIdByNameId:null,childIds:[],childPositionById:null,childVisibleChunkSums:null,totalChildSubtreeNodeCount:0,totalChildVisibleSubtreeCount:0}}function yu(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 bu(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 xu(e,t){e.childPositionById!=null&&e.childPositionById.set(t,e.childIds.length),e.childIds.push(t)}function Su(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 Cu(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,Du(e,t)}function wu(e,t,n,r){if(e.totalChildSubtreeNodeCount+=n,e.totalChildVisibleSubtreeCount+=r,e.childVisibleChunkSums==null||r===0)return;let i=bu(e).get(t);if(i===void 0)return;let a=i>>mu;e.childVisibleChunkSums[a]+=r}function Tu(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=Ou(e,t,a,i);return{...r,childVisibleIndex:n-r.localVisibleIndex}}i-=o,a+=hu}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 Eu(e,t,n){let r=0,i=t.childVisibleChunkSums,a=0;if(i!=null){let e=n>>mu;for(let t=0;t<e;t+=1)r+=i[t]??0;a=e<<mu}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 Du(e,t){if(t.childIds.length<gu){t.childVisibleChunkSums=null;return}let n=Math.ceil(t.childIds.length/hu),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>>mu]+=a.visibleSubtreeCount)}t.childVisibleChunkSums=r}function Ou(e,t,n,r){let i=Math.min(t.childIds.length,n+hu),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 ku=7,Au=3,ju=1<<Au,Mu=4;function Nu(e,t,n=0){return e<<Mu|n<<Au|t}function Pu(e){return e.depthAndFlags>>>Mu}function Fu(e){return(e.depthAndFlags&ju)>>Au}function J(e){return(e.depthAndFlags&ju)!==0}function Iu(e){return e.depthAndFlags&ku}function Lu(e,t){return(Iu(e)&t)!==0}function Ru(e,t){e.depthAndFlags|=t}function zu(e,t){e.depthAndFlags=Nu(t,Iu(e),Fu(e))}var Bu=Symbol(`benchmarkInstrumentation`);function Vu(e,t){return t==null||Object.defineProperty(e,Bu,{configurable:!0,enumerable:!1,value:t,writable:!1}),e}function Hu(e){return e==null?null:e[Bu]??null}function Y(e,t,n){return e==null?n():e.measurePhase(t,n)}function Uu(e,t,n){!Number.isFinite(n)||e==null||e.setCounter(t,n)}function Wu(e){return e>=48&&e<=57}function Gu(e){let t=[],n=0,r=0;for(;r<e.length;){for(;r<e.length&&!Wu(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&&Wu(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 Ku(e){let t=e.toLowerCase();return{lowerValue:t,tokens:Gu(t)}}function qu(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 Ju(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=qu(e.tokens,t.tokens);return n===0?e.lowerValue===t.lowerValue?0:e.lowerValue<t.lowerValue?-1:1:n}function Yu(e,t,n){let r=Ju(n(e),n(t));return r===0?e===t?0:e<t?-1:1:r}function Xu(e,t){return Yu(e,t,Ku)}function Zu(e,t){return t===e.segments.length-1?+!!e.isDirectory:1}function Qu(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=Zu(e,r);return a===Zu(t,r)?Xu(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 $u(e,t){return Qu(e,t)}function ed(e,t,n){let r=e=>{let t=n.get(e);if(t!=null)return t;let r=Ku(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=Zu(e,n);return o===Zu(t,n)?Yu(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 td(e,t){let n=e.sortKeyById[t];if(n!==void 0)return n;let r=e.valueById[t],i=Ku(r);return e.sortKeyById[t]=i,i}function nd(e={}){return{flattenEmptyDirectories:e.flattenEmptyDirectories!==!1,sort:e.sort??`default`}}function rd(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 id(e){let{hasTrailingSlash:t,segments:n}=rd(e);return{basename:n[n.length-1]??``,isDirectory:t,path:e,segments:n}}function ad(e){if(e.length===0)return{requiresDirectory:!1,segments:[]};let{hasTrailingSlash:t,segments:n}=rd(e);return{requiresDirectory:t,segments:n}}var od=``;function sd(){let e=new Map;return e.set(od,0),{idByValue:e,valueById:[od],sortKeyById:[Ku(od)]}}function cd(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 ld(e,t){let n=e.valueById[t];if(n===void 0)throw Error(`Unknown segment ID: ${String(t)}`);return n}var ud=Symbol(`pathStorePreparedInputKind`);function dd(e,t){return e[ud]=t,e}function fd(e){return{basename:e.basename,depth:e.segments.length,isDirectory:e.isDirectory,path:e.path,segments:e.segments}}function pd(e,t,n){return n===`default`?$u(e,t):n(fd(e),fd(t))}function md(){return{depthAndFlags:Nu(0,3,1),nameId:0,parentId:0,subtreeNodeCount:1,visibleSubtreeCount:1}}function hd(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 gd(e){return e.isDirectory?e.segments.length:e.segments.length-1}function _d(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 vd(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function yd(e,t={}){return Td(e,t).map(e=>e.path)}function bd(e,t={}){let n=Td(e,t);return dd({paths:n.map(e=>e.path),preparedPaths:n},`prepared`)}function xd(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 dd({paths:e,presortedPaths:e,presortedPathsContainDirectories:n},`presorted`)}function Sd(e){let t=e,n=t.preparedPaths;if(t[ud]===`prepared`&&n!=null)return n;if(!_d(n))throw Error(`preparedInput must come from PathStore.prepareInput()`);return n}function Cd(e){let t=e;return t[ud]===`presorted`&&t.presortedPaths!=null||vd(t.presortedPaths)?t.presortedPaths:null}function wd(e){let t=e;return typeof t.presortedPathsContainDirectories==`boolean`?t.presortedPathsContainDirectories:null}function Td(e,t={}){let n=nd(t),r=Hu(t);Uu(r,`workload.inputFiles`,e.length);let i=Y(r,`store.preparePathEntries.parse`,()=>e.map(e=>id(e)));return Y(r,`store.preparePathEntries.sort`,()=>i.sort((e,t)=>pd(e,t,n.sort))),i}var Ed=class{directories=new Map;directoryStack=[0];presortedDirectoryNodeIds=[];initialExpandedPathSet;createdDirectoriesAllExpanded=!1;createdDirectoryCount=0;lastPreparedPath=null;nodes=[md()];options;instrumentation;segmentSortKeyCache=new Map;segmentTable=sd();hasDeferredDirectoryIndexes=!1;constructor(e={}){this.instrumentation=Hu(e),this.options=nd(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,_u())}appendPaths(e){return Y(this.instrumentation,`store.builder.appendPaths.parse`,()=>this.appendPreparedPaths(e.map(e=>id(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:Nu(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:Nu(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:Nu(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=id(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:Nu(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:Nu(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=id(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`?ed(this.lastPreparedPath,e,this.segmentSortKeyCache):pd(this.lastPreparedPath,e,this.options.sort))>0)throw Error(`Builder input must be sorted before appendPaths(): "${e.path}"`)}let n=this.lastPreparedPath,r=gd(e),i=n==null?0:gd(n),a=n==null?0:hd(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=cd(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:Nu(Pu(o)+1,0),nameId:r,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),a?.set(r,s),xu(i,s),s}createFileChildUnchecked(e,t){let n=cd(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:Nu(Pu(i)+1,0),nameId:n,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),r.childIdByNameId!=null&&r.childIdByNameId.set(n,a),xu(r,a),a}getOrCreateDirectoryChild(e,t){let n=cd(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:Nu(Pu(i)+1,0,1),nameId:n,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),r.childIdByNameId!=null&&r.childIdByNameId.set(n,a),xu(r,a),this.directories.set(a,_u()),a}createDirectoryChild(e,t){let n=cd(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:Nu(Pu(i)+1,0,1),nameId:n,parentId:e,subtreeNodeCount:1,visibleSubtreeCount:1}),r.childIdByNameId!=null&&r.childIdByNameId.set(n,a),xu(r,a),this.directories.set(a,_u()),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(Lu(n,1))throw Error(`Duplicate path: "${t}"`);Ru(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,vu());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=vu();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,_u());let r=this.directories.get(n.parentId);r!=null&&(r.childIdByNameId!=null&&r.childIdByNameId.set(n.nameId,t),xu(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 Cu(this.nodes,n),t.subtreeNodeCount=r,t.visibleSubtreeCount=r,r}};function Dd(e,t=`closed`,n=null){let r=kd(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 Od(){return{affectedAncestorIds:new Set,affectedNodeIds:new Set,events:[]}}function kd(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 Ad(e,t){return Lu(t,2)||e.defaultExpansion===`open`?!0:e.defaultExpansion===`closed`?!1:Pu(t)<=e.defaultExpansion}function jd(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:Ad(e,n)}function Md(e,t,n,r=e.snapshot.nodes[t]){if(r==null||!J(r))return;let i=Ad(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 Nd(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 Pd(e,t){return e.directoryLoadInfoById.get(t)?.state??`loaded`}function Fd(e,t){let n=Nd(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 Id(e,t){let n=Nd(e,t);n.activeAttemptId=null,n.errorMessage=null,n.state=`unloaded`}function Ld(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 Rd(e,t,n){return e.directoryLoadInfoById.get(t)?.activeAttemptId===n}function zd(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 Bd(e,t){e.directoryLoadInfoById.delete(t)}function Vd(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 Hd(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!0,operation:`add`,path:e.path,projectionChanged:e.projectionChanged,visibleCountDelta:null}}function Ud(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!0,operation:`remove`,path:e.path,projectionChanged:e.projectionChanged,recursive:e.recursive,visibleCountDelta:null}}function Wd(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!0,from:e.from,operation:`move`,projectionChanged:e.projectionChanged,to:e.to,visibleCountDelta:null}}function Gd(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!1,operation:`expand`,path:e.path,projectionChanged:!0,visibleCountDelta:null}}function Kd(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!1,operation:`collapse`,path:e.path,projectionChanged:!0,visibleCountDelta:null}}function qd(e){return{affectedAncestorIds:e.affectedAncestorIds??[],affectedNodeIds:e.affectedNodeIds??[],canonicalChanged:!1,operation:`mark-directory-unloaded`,path:e.path,projectionChanged:e.projectionChanged,visibleCountDelta:null}}function Jd(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 Yd(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 Xd(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 Zd(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 Qd(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 $d(e,t,n){return{...n,visibleCountDelta:df(e)-t}}function ef(e,t){let n=df(e),r=Od();e.transactionStack.push(r);try{t()}catch(t){throw rf(e,r,!1),t}rf(e,r,!0,df(e)-n)}function tf(e,t){let n=e.instrumentation;if(n==null){nf(e,t);return}Y(n,`store.events.record`,()=>nf(e,t))}function nf(e,t){let n=e.transactionStack[e.transactionStack.length-1]??null;if(n==null){lf(e,t);return}n.events.push(t),cf(n,t)}function rf(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?sf(i,t):Y(n,`store.events.batch.merge`,()=>sf(i,t));return}let a=af(t,r),o=e.instrumentation;if(o==null){lf(e,a);return}Y(o,`store.events.batch.commit`,()=>lf(e,a))}function af(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 of(e,t){for(let n of t.affectedAncestorIds)e.affectedAncestorIds.add(n);for(let n of t.affectedNodeIds)e.affectedNodeIds.add(n)}function sf(e,t){for(let n of t.events)e.events.push(n);of(e,t)}function cf(e,t){for(let n of t.affectedNodeIds)e.affectedNodeIds.add(n);for(let n of t.affectedAncestorIds)e.affectedAncestorIds.add(n)}function lf(e,t){let n=e.instrumentation;if(n==null){uf(e,t);return}Y(n,`store.events.emit`,()=>uf(e,t))}function uf(e,t){e.listeners.get(t.operation)?.forEach(e=>e(t)),e.listeners.get(`*`)?.forEach(e=>e(t))}function df(e){return e.snapshot.nodes[e.snapshot.rootId]?.visibleSubtreeCount??0}function ff(e,t){if(e.snapshot.options.flattenEmptyDirectories!==!0)return null;let n=e.snapshot.nodes[t];if(n==null||!J(n)||Lu(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 pf(e,t){let n=t;for(;;){let t=ff(e,n);if(t==null)return n;n=t}}function mf(e,t){let n=[t],r=t;for(;;){let t=ff(e,r);if(t==null)return n;n.push(t),r=t}}function hf(e,t){let n=t==null?e.snapshot.rootId:Tf(e,t);return n==null?[]:Of(e,n)}function gf(e,t){let n=id(t),r=n.isDirectory?n.segments:n.segments.slice(0,-1),i=Uf(e,Hf(e,r)),{createdNodeIds:a,directoryId:o}=kf(e,r),s=new Set(a),c=o;if(n.isDirectory){let n=X(e,o);if(Lu(n,1))throw Error(`Path already exists: "${t}"`);Ru(n,1),e.pathCacheByNodeId.set(o,{path:t,version:e.pathCacheVersion}),s.add(o)}else c=jf(e,o,n.basename),s.add(c);Sf(e,o);let l=Uf(e,o);return Hd({affectedAncestorIds:wf(e,c),affectedNodeIds:[...s],path:t,projectionChanged:Wf(i,l)})}function _f(e,t,n){let r=Tf(e,t);if(r==null)throw Error(`Path does not exist: "${t}"`);let i=X(e,r);if(Lu(i,2))throw Error(`The root node cannot be removed`);if(J(i)&&Df(e,r).childIds.length>0&&n.recursive!==!0)throw Error(`Cannot remove a non-empty directory without recursive: "${t}"`);let a=i.parentId,o=Uf(e,a),s=Bf(e,r);Pf(e,a,r,i.nameId),Vf(e,a),Sf(e,a);let c=Uf(e,a);return Ud({affectedAncestorIds:wf(e,a),affectedNodeIds:s,path:t,projectionChanged:Wf(o,c),recursive:n.recursive===!0})}function vf(e,t,n,r){let i=Tf(e,t);if(i==null)throw Error(`Source path does not exist: "${t}"`);let a=X(e,i);if(Lu(a,2))throw Error(`The root node cannot be moved`);let o=r.collision??`error`,s=Rf(e,i,n),c=Uf(e,a.parentId),l=Uf(e,s.parentId),u=ld(e.snapshot.segmentTable,a.nameId),d=cd(e.snapshot.segmentTable,s.basename);if(s.parentId===a.parentId&&u===s.basename)return null;if(J(a)&&Jf(e,i,s.parentId))throw Error(`Cannot move a directory into one of its descendants`);let f=yu(e.snapshot.nodes,Df(e,s.parentId)).get(d),p=s.existingNodeId??f??null;if(p!=null&&p!==i&&zf(e,p,o,Fu(a))===`skip`)return null;let m=a.parentId;Pf(e,m,i,a.nameId),a.parentId=s.parentId,a.nameId=d,e.pathCacheByNodeId.delete(i),qf(e,i),Nf(e,s.parentId,i),Vf(e,m),e.pathCacheVersion++,Sf(e,m),s.parentId!==m&&Sf(e,s.parentId);let h=Uf(e,m),g=Uf(e,s.parentId);return Wd({affectedAncestorIds:[...new Set([...wf(e,m),...wf(e,s.parentId)])],affectedNodeIds:[i],from:t,projectionChanged:Gf([c,l],[h,g]),to:xf(e,i)})}function yf(e,t){let n=e.pathCacheByNodeId.get(t);return n!=null&&n.version===e.pathCacheVersion?n.path:null}function bf(e,t,n){return e.pathCacheByNodeId.set(t,{path:n,version:e.pathCacheVersion}),n}function xf(e,t){let n=X(e,t),r=yf(e,t);if(r!=null)return r;if(Lu(n,2))return bf(e,t,``);let i=xf(e,n.parentId),a=ld(e.snapshot.segmentTable,n.nameId),o=i.length===0?a:`${i}${a}`;return bf(e,t,J(n)?`${o}/`:o)}function Sf(e,t){let n=e.instrumentation;if(n==null){Xf(e,t);return}Y(n,`store.recomputeCountsUpwardFrom`,()=>Xf(e,t))}function Cf(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)){Yf(e,a,o,!0),n.pop();continue}let s=i.get(a);if(s==null||t[1]>=s.childIds.length){Yf(e,a,o,!0),n.pop();continue}let c=s.childIds[t[1]++];n.push([c,0])}}function wf(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 Tf(e,t){if(t.length===0)return e.snapshot.rootId;let n=ad(t);return Ef(e,n.segments,n.requiresDirectory)}function Ef(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=Df(e,r),a=yu(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 Df(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||Lu(n,4))throw Error(`Unknown node ID: ${String(t)}`);return n}function Of(e,t){let n=e.snapshot.nodes[t];if(n===void 0||Lu(n,4))return[];if(!J(n))return[xf(e,t)];if(Df(e,t).childIds.length===0)return Lu(n,1)&&!Lu(n,2)?[xf(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||Lu(n,4)){i.pop();continue}if(!J(n)){r.push(xf(e,t.nodeId)),i.pop();continue}let a=Df(e,t.nodeId);if(a.childIds.length===0){Lu(n,1)&&!Lu(n,2)&&r.push(xf(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 kf(e,t){let n=[],r=e.snapshot.rootId;for(let i of t){let t=cd(e.snapshot.segmentTable,i),a=Df(e,r),o=yu(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=Af(e,r,t),n.push(r)}return{createdNodeIds:n,directoryId:r}}function Af(e,t,n){let r=X(e,t),i=e.snapshot.nodes.length;return e.snapshot.nodes.push({depthAndFlags:Nu(Pu(r)+1,0,1),nameId:n,parentId:t,subtreeNodeCount:1,visibleSubtreeCount:1}),e.snapshot.directories.set(i,_u()),Nf(e,t,i),e.collapseNewDirectoriesByDefault&&(e.collapsedDirectoryIds.add(i),e.hasCollapsedDirectoryOverrides=!0),e.activeNodeCount++,i}function jf(e,t,n){let r=cd(e.snapshot.segmentTable,n),i=Df(e,t);if(yu(e.snapshot.nodes,i).has(r))throw Error(`Path already exists: "${Qf(e,t,n)}"`);let a=X(e,t),o=e.snapshot.nodes.length;return e.snapshot.nodes.push({depthAndFlags:Nu(Pu(a)+1,0),nameId:r,parentId:t,subtreeNodeCount:1,visibleSubtreeCount:1}),Nf(e,t,o),e.activeNodeCount++,o}function Mf(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}Ff(e,n,o)<0?i=a:r=a+1}return r}function Nf(e,t,n){let r=Df(e,t),i=X(e,n);yu(e.snapshot.nodes,r).set(i.nameId,n),wu(r,n,i.subtreeNodeCount,i.visibleSubtreeCount);let a=Mf(e,r,n);r.childIds.splice(a,0,n),Su(r,a),Du(e.snapshot.nodes,r)}function Pf(e,t,n,r){let i=Df(e,t),a=bu(i),o=a.get(n)??-1;yu(e.snapshot.nodes,i).delete(r),a.delete(n);let s=e.snapshot.nodes[n];s!=null&&wu(i,n,-s.subtreeNodeCount,-s.visibleSubtreeCount),o>=0&&(i.childIds.splice(o,1),Su(i,o),Du(e.snapshot.nodes,i))}function Ff(e,t,n){let r=e.snapshot.options.sort;return r===`default`?If(e,t,n):r(Lf(e,t),Lf(e,n))}function If(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=Ju(td(e.snapshot.segmentTable,r.nameId),td(e.snapshot.segmentTable,i.nameId));if(o!==0)return o;let s=ld(e.snapshot.segmentTable,r.nameId),c=ld(e.snapshot.segmentTable,i.nameId);return s===c?t<n?-1:1:s<c?-1:1}function Lf(e,t){let n=X(e,t),r=xf(e,t),i=J(n),a=i?r.slice(0,-1):r;return{basename:ld(e.snapshot.segmentTable,n.nameId),depth:Pu(n),isDirectory:i,path:r,segments:a.length===0?[]:a.split(`/`)}}function Rf(e,t,n){let r=X(e,t),i=Tf(e,n);if(i!=null){let t=X(e,i);if(J(t))return{basename:ld(e.snapshot.segmentTable,r.nameId),existingNodeId:null,parentId:i};let a=ad(n).segments;return{basename:a[a.length-1]??``,existingNodeId:i,parentId:t.parentId}}let a=ad(n),o=a.segments[a.segments.length-1]??``,s=a.segments.slice(0,-1),c=s.length===0?e.snapshot.rootId:Ef(e,s,!0);if(c==null)throw Error(`Destination parent does not exist: "${n}"`);return{basename:o,existingNodeId:null,parentId:c}}function zf(e,t,n,r){if(n===`skip`)return`skip`;if(n===`error`)throw Error(`Destination already exists: "${xf(e,t)}"`);let i=X(e,t);if(Fu(i)!==r)throw Error(`replace collision requires the same source and destination kinds`);if(J(i)&&Df(e,t).childIds.length>0)throw Error(`replace collision does not support non-empty directories`);let a=i.parentId,o=i.nameId;return Bf(e,t),Pf(e,a,t,o),Vf(e,a),Sf(e,a),`handled`}function Bf(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),Ru(i,4),e.pathCacheByNodeId.delete(t.nodeId),e.collapsedDirectoryIds.delete(t.nodeId)&&(e.hasCollapsedDirectoryOverrides=e.collapsedDirectoryIds.size>0),e.expandedDirectoryIds.delete(t.nodeId),Bd(e,t.nodeId),e.activeNodeCount--,n.push(t.nodeId);continue}r.push({nodeId:t.nodeId,visitedChildren:!0});let a=Df(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 Vf(e,t){let n=t;for(;n!=null;){let t=X(e,n);if(!J(t)||Lu(t,2)||Df(e,n).childIds.length>0)return;Ru(t,1),n=t.parentId===n?null:t.parentId}}function Hf(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=yu(e.snapshot.nodes,Df(e,n)).get(t);if(i==null||!J(X(e,i)))break;n=i}return n}function Uf(e,t){let n=Kf(e,t);if(n==null)return null;let r=pf(e,n),i=X(e,r),a=n===r?null:mf(e,n).map(t=>xf(e,t));return JSON.stringify({flattenedSegmentPaths:a,hasChildren:Df(e,r).childIds.length>0,path:xf(e,r),terminalKind:Fu(i)})}function Wf(e,t){return Gf([e],[t])}function Gf(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 Kf(e,t){let n=t;for(;n!=null;){let t=X(e,n);if(!J(t)||Lu(t,2))return null;if(!jd(e,n,t))return n;n=t.parentId}return null}function qf(e,t){let n=X(e,t);if(zu(n,(t===e.snapshot.rootId?-1:Pu(X(e,n.parentId)))+1),!J(n))return;let r=Df(e,t);for(let t of r.childIds)qf(e,t)}function Jf(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 Yf(e,t,n=X(e,t),r=!1){let i=e.instrumentation;if(i==null){Zf(e,t,n,r);return}Y(i,`store.recomputeNodeCounts`,()=>Zf(e,t,n,r))}function Xf(e,t){let n=t;for(;n!=null;){let t=X(e,n),r=t.subtreeNodeCount,i=t.visibleSubtreeCount;if(Yf(e,n,t),n===e.snapshot.rootId)return;let a=t.subtreeNodeCount-r,o=t.visibleSubtreeCount-i,s=t.parentId;(a!==0||o!==0)&&wu(Df(e,s),n,a,o),n=s}}function Zf(e,t,n,r){if(!J(n)){n.subtreeNodeCount=1,n.visibleSubtreeCount=1;return}let i=Df(e,t);if(r){let t=e.instrumentation;t==null?Cu(e.snapshot.nodes,i):Y(t,`store.recomputeNodeCounts.rebuildChildAggregates`,()=>Cu(e.snapshot.nodes,i))}let a=1+i.totalChildSubtreeNodeCount,o=i.totalChildVisibleSubtreeCount;if(n.subtreeNodeCount=a,Lu(n,2)){n.visibleSubtreeCount=o;return}n.visibleSubtreeCount=ff(e,t)==null?jd(e,t,n)?1+o:1:o}function Qf(e,t,n){let r=xf(e,t);return r.length===0?n:`${r}${n}`}function $f(e){return e!=null&&!Lu(e,4)}function ep(e,t){let n=e.snapshot.nodes[t];return!$f(n)||!J(n)||Lu(n,2)?null:n}function tp(e){let t=0;for(let[n,r]of e.pathCacheByNodeId)r.version===e.pathCacheVersion&&$f(e.snapshot.nodes[n])&&(t+=1);return t}function np(e){return Math.max(0,e.valueById.length-1)}function rp(e){return{activeNodeCount:e.activeNodeCount,cachedPathEntryCount:tp(e),loadInfoEntryCount:e.directoryLoadInfoById.size,segmentCount:np(e.snapshot.segmentTable),totalNodeSlotCount:Math.max(0,e.snapshot.nodes.length-1)}}function ip(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 ap(e){let t=[],n=[];for(let n of e.collapsedDirectoryIds)ep(e,n)!=null&&t.push(xf(e,n));for(let t of e.expandedDirectoryIds)ep(e,t)!=null&&n.push(xf(e,t));return{collapsedPaths:t,expandedPaths:n}}function op(e){let t=[];for(let[n,r]of e.directoryLoadInfoById)ep(e,n)==null||Pd(e,n)===`loaded`||t.push({info:{activeAttemptId:null,errorMessage:r.errorMessage,nextAttemptId:r.nextAttemptId,state:r.state},path:xf(e,n)});return t}function sp(e,t){e.collapsedDirectoryIds.clear(),e.hasCollapsedDirectoryOverrides=!1,e.expandedDirectoryIds.clear();for(let n of t.expandedPaths){let t=Tf(e,n);t!=null&&Md(e,t,!0,X(e,t))}for(let n of t.collapsedPaths){let t=Tf(e,n);t!=null&&Md(e,t,!1,X(e,t))}}function cp(e,t){e.directoryLoadInfoById.clear();for(let n of t){let t=Tf(e,n.path);t!=null&&ep(e,t)!=null&&e.directoryLoadInfoById.set(t,{activeAttemptId:null,errorMessage:n.info.errorMessage,nextAttemptId:n.info.nextAttemptId,state:n.info.state})}}function lp(e){e.pathCacheVersion+=1,e.pathCacheByNodeId.clear(),e.pathCacheByNodeId.set(e.snapshot.rootId,{path:``,version:e.pathCacheVersion})}function up(e){let t=e.snapshot.segmentTable,n=sd();for(let r of e.snapshot.nodes)if($f(r)){if(Lu(r,2)){r.nameId=0;continue}r.nameId=cd(n,ld(t,r.nameId))}e.snapshot.segmentTable=n}function dp(e){for(let[t,n]of e.snapshot.directories){let r=e.snapshot.nodes[t];if(!$f(r)||!J(r)){e.snapshot.directories.delete(t);continue}let i=n.childIds.filter(n=>{let r=e.snapshot.nodes[n];return $f(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])),Cu(e.snapshot.nodes,n)}}function fp(e){let t=e.snapshot.nodes.length-1;for(;t>e.snapshot.rootId;){let n=e.snapshot.nodes[t];if($f(n))break;--t}e.snapshot.nodes.length=t+1}function pp(e){let t=ap(e),n=op(e);Y(e.instrumentation,`store.cleanup.stable.clearPathCaches`,()=>lp(e)),Y(e.instrumentation,`store.cleanup.stable.rebuildSegmentTable`,()=>up(e)),Y(e.instrumentation,`store.cleanup.stable.rebuildDirectoryIndexes`,()=>dp(e)),Y(e.instrumentation,`store.cleanup.stable.trimTrailingRemovedNodeSlots`,()=>fp(e)),Y(e.instrumentation,`store.cleanup.stable.restoreExpansionOverrides`,()=>sp(e,t)),Y(e.instrumentation,`store.cleanup.stable.restoreDirectoryLoadInfos`,()=>cp(e,n)),Y(e.instrumentation,`store.cleanup.stable.recomputeCounts`,()=>Cf(e,e.snapshot.rootId))}function mp(e){let t=ap(e),n=op(e),r=Y(e.instrumentation,`store.cleanup.aggressive.listPaths`,()=>hf(e)),i=Vu({...e.snapshot.options},e.instrumentation),a=Y(e.instrumentation,`store.cleanup.aggressive.rebuildSnapshot`,()=>{let e=new Ed(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`,()=>sp(e,t)),Y(e.instrumentation,`store.cleanup.aggressive.restoreDirectoryLoadInfos`,()=>cp(e,n)),Y(e.instrumentation,`store.cleanup.aggressive.recomputeCounts`,()=>Cf(e,e.snapshot.rootId))}function hp(e){for(let t of e.directoryLoadInfoById.values())if(t.state===`loading`&&t.activeAttemptId!=null)return!0;return!1}function gp(e,t){let n=rp(e);t===`stable`?Y(e.instrumentation,`store.cleanup.stable`,()=>pp(e)):Y(e.instrumentation,`store.cleanup.aggressive`,()=>mp(e));let r=rp(e);return ip(t,t===`stable`,n,r)}var _p=64;function vp(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 yp(e){return X(e,e.snapshot.rootId).visibleSubtreeCount}function bp(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 xp(e,t,n,r){return{ancestorPaths:r,index:t.index,posInSet:t.posInSet,row:Bp(e,t.cursor),setSize:t.setSize,subtreeEndIndex:bp(e,t.cursor,t.index,n)}}function Sp(e,t,n,r,i,a){let o=Df(e,t),{childIndex:s,childVisibleIndex:c,localVisibleIndex:l}=Tu(e.snapshot.nodes,o,n),u=o.childIds[s];if(u==null)throw Error(`Visible index ${String(n)} is out of range`);return Cp(e,u,l,r+c,i+1,s,o.childIds.length,a)}function Cp(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=Pp(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)||!jd(e,c.terminalNodeId,l))throw Error(`Visible index ${String(n)} is out of range for collapsed directory`);return Sp(e,c.terminalNodeId,n-1,r+1,c.visibleDepth,[...s,{cursor:c,index:r,posInSet:a,setSize:o}])}function wp(e,t){let n=yp(e);if(t<0||t>=n)return null;let r=Sp(e,e.snapshot.rootId,t,0,-1,[]),i=r.ancestors.map(t=>xf(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=xp(e,a,n,[...i]);t.push(r),i.push(r.row.path)}return a=t,a},index:r.index,posInSet:r.posInSet,row:Bp(e,r.cursor),setSize:r.setSize,subtreeEndIndex:bp(e,r.cursor,r.index,n)}}function Tp(e,t,n){let r=e.instrumentation,i=yp(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 zp(e,o+1);let t=[],n=jp(e,a);for(let r=a;r<=o&&n!=null;r++){let r=Bp(e,n);t.push(r),n=Ip(e,n)}return t}let s=[],c=0,l=0,u=Y(r,`store.getVisibleSlice.selectFirstRow`,()=>jp(e,a));for(let t=a;t<=o&&u!=null;t++){let t=Y(r,`store.getVisibleSlice.materializeRow`,()=>Bp(e,u));s.push(t),t.isFlattened&&(c++,l+=t.flattenedSegments?.length??0),u=Y(r,`store.getVisibleSlice.advanceCursor`,()=>Ip(e,u))}return Uu(r,`workload.visibleRowsRead`,s.length),Uu(r,`workload.flattenedRowsRead`,c),Uu(r,`workload.flattenedSegmentsRead`,l),s}function Ep(e,t=yp(e)){let n=e.instrumentation;return n==null?Rp(e,t):Y(n,`store.getVisibleTreeProjection`,()=>Rp(e,t))}function Dp(e){return Lp(Ep(e))}function Op(e,t){let n=Tf(e,t);if(n==null||n===e.snapshot.rootId||J(X(e,n))&&pf(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=Df(e,t),s=bu(n).get(i);if(s==null)throw Error(`Child ${String(i)} was not found in its parent index`);if(r+=Eu(a,n,s),t!==o){let n=X(e,t),a=ff(e,t);if(!jd(e,t,n)&&a!==i)return null;pf(e,t)===t&&(r+=1)}i=t}return r}function kp(e,t){let n=Tf(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 jd(e,n,r)?null:(Md(e,n,!0,r),Sf(e,n),Gd({affectedAncestorIds:wf(e,n),affectedNodeIds:[n],path:t,projectionChanged:!0}))}function Ap(e,t){let n=Tf(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 jd(e,n,r)?(Md(e,n,!1,r),Sf(e,n),Kd({affectedAncestorIds:wf(e,n),affectedNodeIds:[n],path:t,projectionChanged:!0})):null}function jp(e,t){return t<0||t>=yp(e)?null:Mp(e,e.snapshot.rootId,t,-1)}function Mp(e,t,n,r){let i=Df(e,t),a=e.instrumentation,{childIndex:o,localVisibleIndex:s}=a==null?Tu(e.snapshot.nodes,i,n):Y(a,`store.getVisibleSlice.selectChildIndex`,()=>Tu(e.snapshot.nodes,i,n)),c=i.childIds[o];if(c!=null)return Np(e,c,s,r+1);throw Error(`Visible index ${String(n)} is out of range`)}function Np(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=Pp(e,t,r);if(n===0)return i;let a=X(e,i.terminalNodeId);if(!J(a)||!jd(e,i.terminalNodeId,a))throw Error(`Visible index ${String(n)} is out of range for collapsed directory`);return Mp(e,i.terminalNodeId,n-1,i.visibleDepth)}function Pp(e,t,n){return J(X(e,t))?e.instrumentation==null?{headNodeId:t,terminalNodeId:pf(e,t),visibleDepth:n}:{headNodeId:t,terminalNodeId:Y(e.instrumentation,`store.getVisibleSlice.flatten.resolveTerminalDirectory`,()=>pf(e,t)),visibleDepth:n}:{headNodeId:t,terminalNodeId:t,visibleDepth:n}}function Fp(e,t){let n=X(e,t);if(!J(n))return!0;let r=n.parentId;return r===e.snapshot.rootId?!0:ff(e,r)!==t}function Ip(e,t){let n=X(e,t.terminalNodeId);if(J(n)){let r=Df(e,t.terminalNodeId);if(jd(e,t.terminalNodeId,n)&&r.childIds.length>0){let n=r.childIds[0];return n==null?null:Np(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=Df(e,n),o=bu(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 Np(e,s,0,i);Fp(e,r)&&i--,r=n}}function Lp(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 Rp(e,t){let n=Array(t),r=new Int32Array(t),i=new Int32Array(t),a=new Int32Array(t),o=new Int32Array(_p);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=vp(o,y);let x,S=_;if(J(v))S=f?pf(e,_):_,x=S===_?`${b}${h[v.nameId]}/`:xf(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)&&jd(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 zp(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:xf(e,f)};continue}let h=l?pf(e,f):f,g={headNodeId:f,terminalNodeId:h,visibleDepth:m};n[r++]=Bp(e,g);let _=i[h];_!=null&&J(_)&&jd(e,h,_)&&s.push([a.get(h),0,m])}return r<t&&(n.length=r),n}function Bp(e,t){let n=X(e,t.terminalNodeId),r=J(n)?Vp(e,t):null,i=xf(e,t.terminalNodeId),a=ld(e.snapshot.segmentTable,n.nameId),o=J(n)&&Df(e,t.terminalNodeId).childIds.length>0,s=t.headNodeId!==t.terminalNodeId,c=e.instrumentation,l=s?c==null?mf(e,t.headNodeId).map(n=>{let r=X(e,n);return{isTerminal:n===t.terminalNodeId,name:ld(e.snapshot.segmentTable,r.nameId),nodeId:n,path:xf(e,n)}}):Y(c,`store.getVisibleSlice.flatten.collectSegments`,()=>mf(e,t.headNodeId).map(n=>{let r=X(e,n);return{isTerminal:n===t.terminalNodeId,name:ld(e.snapshot.segmentTable,r.nameId),nodeId:n,path:xf(e,n)}})):void 0;return{depth:t.visibleDepth,flattenedSegments:l,hasChildren:o,id:t.terminalNodeId,isExpanded:J(n)&&jd(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 Vp(e,t){if(t.headNodeId===t.terminalNodeId)return Pd(e,t.terminalNodeId);let n=mf(e,t.headNodeId),r=!1,i=!1;for(let t of n){let n=Pd(e,t);if(n===`loading`)return`loading`;if(n===`error`){i=!0;continue}n===`unloaded`&&(r=!0)}return i?`error`:r?`unloaded`:`loaded`}function Hp(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&&Du(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,Du(n,l),c.subtreeNodeCount=1+d,c.visibleSubtreeCount=f}function Up(e){return e.initialExpansion===`open`&&(e.initialExpandedPaths==null||e.initialExpandedPaths.length===0)}var Wp=class e{#e;constructor(e={}){let t=Hu(e),n=Y(t,`store.builder.create`,()=>new Ed(e));if(e.preparedInput!=null){let t=Cd(e.preparedInput);t==null?n.appendPreparedPaths(Sd(e.preparedInput),!1):n.appendPresortedPaths(t,wd(e.preparedInput))}else{let r=e.paths??[];e.presorted===!0?n.appendPaths(r):n.appendPreparedPaths(Y(t,`store.preparePathEntries`,()=>Td(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`,()=>Dd(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||Up(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`,()=>Hp(this.#e)):Y(t,`store.state.recomputeCounts`,()=>Cf(this.#e,this.#e.snapshot.rootId))}static preparePaths(e,t={}){return yd(e,t)}static prepareInput(e,t={}){return bd(e,t)}static preparePresortedInput(e){return xd(e)}list(e){return Y(this.#e.instrumentation,`store.list`,()=>hf(this.#e,e))}add(e){Y(this.#e.instrumentation,`store.add`,()=>{let t=yp(this.#e);tf(this.#e,$d(this.#e,t,gf(this.#e,e)))})}remove(e,t={}){Y(this.#e.instrumentation,`store.remove`,()=>{let n=yp(this.#e);tf(this.#e,$d(this.#e,n,_f(this.#e,e,t)))})}move(e,t,n={}){Y(this.#e.instrumentation,`store.move`,()=>{let r=yp(this.#e),i=vf(this.#e,e,t,n);i!=null&&tf(this.#e,$d(this.#e,r,i))})}batch(e){ef(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`,()=>yp(this.#e))}getVisibleSlice(e,t){return Y(this.#e.instrumentation,`store.getVisibleSlice`,()=>Tp(this.#e,e,t))}getVisibleRowContext(e){return Y(this.#e.instrumentation,`store.getVisibleRowContext`,()=>wp(this.#e,e))}getVisibleTreeProjection(){return Dp(this.#e)}getVisibleTreeProjectionData(e){return Ep(this.#e,e)}getVisibleIndex(e){return Y(this.#e.instrumentation,`store.getVisibleIndex`,()=>Op(this.#e,e))}getPathInfo(e){return Y(this.#e.instrumentation,`store.getPathInfo`,()=>{let t=Tf(this.#e,e);if(t==null)return null;let n=X(this.#e,t);return{depth:Pu(n),kind:J(n)?`directory`:`file`,path:xf(this.#e,t)}})}isExpanded(e){return Y(this.#e.instrumentation,`store.isExpanded`,()=>{let t=this.requireDirectoryNodeId(e),n=X(this.#e,t);return jd(this.#e,t,n)})}expand(e){Y(this.#e.instrumentation,`store.expand`,()=>{let t=yp(this.#e),n=kp(this.#e,e);n!=null&&tf(this.#e,$d(this.#e,t,n))})}collapse(e){Y(this.#e.instrumentation,`store.collapse`,()=>{let t=yp(this.#e),n=Ap(this.#e,e);n!=null&&tf(this.#e,$d(this.#e,t,n))})}on(e,t){return Vd(this.#e,e,t)}getDirectoryLoadState(e){let t=this.requireDirectoryNodeId(e);return Pd(this.#e,t)}markDirectoryUnloaded(e){Y(this.#e.instrumentation,`store.markDirectoryUnloaded`,()=>{let t=this.requireDirectoryNodeId(e);if(Df(this.#e,t).childIds.length>0)throw Error(`Cannot mark a directory with known children as unloaded: "${e}"`);let n=yp(this.#e);Id(this.#e,t),tf(this.#e,$d(this.#e,n,qd({affectedAncestorIds:wf(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=yp(this.#e),r=Fd(this.#e,t);return tf(this.#e,$d(this.#e,n,Jd({affectedAncestorIds:wf(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||Pd(this.#e,n)!==`loading`||!Rd(this.#e,n,e.attemptId))return!1;let r=xf(this.#e,n);this.validateChildPatch(r,t);let i=yp(this.#e),a=[];for(let e of t.operations){Gp(r,e);let t=yp(this.#e);switch(e.type){case`add`:a.push($d(this.#e,t,gf(this.#e,e.path)));break;case`remove`:a.push($d(this.#e,t,_f(this.#e,e.path,{recursive:e.recursive})));break;case`move`:{let n=vf(this.#e,e.from,e.to,{collision:e.collision});n!=null&&a.push($d(this.#e,t,n));break}}}let o=a.some(e=>e.projectionChanged)||this.isDirectoryProjectionVisible(n);return tf(this.#e,$d(this.#e,i,Yd({affectedAncestorIds:wf(this.#e,n),affectedNodeIds:[n],attemptId:e.attemptId,childEvents:a,path:xf(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=yp(this.#e),r=Ld(this.#e,t,e.attemptId);return tf(this.#e,$d(this.#e,n,Xd({affectedAncestorIds:wf(this.#e,t),affectedNodeIds:[t],attemptId:e.attemptId,path:xf(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=yp(this.#e),i=zd(this.#e,n,e.attemptId,t);return tf(this.#e,$d(this.#e,r,Zd({affectedAncestorIds:wf(this.#e,n),affectedNodeIds:[n],attemptId:e.attemptId,errorMessage:t,path:xf(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(hp(this.#e))throw Error(`Cleanup cannot run while directory loads are active.`);let t=yp(this.#e),n=gp(this.#e,e.mode??`stable`);return tf(this.#e,$d(this.#e,t,Qd({...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=Df(this.#e,p).childIds,_=m===d?n[m]??0:0,v=_,y,b=l.get(a)??Ku(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=Ju(td(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);jd(this.#e,n,i)||(Md(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(!jd(this.#e,e,t))return!1}return!0}requireDirectoryNodeId(e){let t=Tf(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=ff(this.#e,e);if(!jd(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 Gp(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 Kp=e=>e.startsWith(`f::`)?e.slice(3):e;function qp(e){let t=e.lastIndexOf(`/`);return t<0?{parentPath:``,baseName:e}:{parentPath:e.slice(0,t),baseName:e.slice(t+1)}}function Jp(e,t){return e===``?t:`${e}/${t}`}function Yp({files:e,path:t,isFolder:n,nextBasename:r}){let i=Kp(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}=qp(i);if(a===s)return{nextFiles:e,sourcePath:i,destinationPath:i,isFolder:n};let c=Jp(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 Xp(e){return e.endsWith(`/`)}function Zp(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 Qp(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 $p(e,t){return t.includes(e)?Qp(t):[e]}function em(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 tm(e,t){return{draggedPaths:e,target:t}}function nm(e,t){if(t.kind!==`directory`||t.directoryPath==null)return!1;for(let n of e)if(Xp(n)&&(t.directoryPath===n||t.directoryPath.startsWith(n)))return!0;return!1}function rm(e,t){return t.kind===`root`||t.directoryPath==null?Zp(e):t.directoryPath}function im(e,t){let n=e.map(e=>{let n=rm(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 am=Symbol(`FILE_TREE_RENAME_VIEW`);function om(e){return e.operation===`add`||e.operation===`remove`||e.operation===`move`||e.operation===`batch`}var sm=512,cm=512;function lm(e,t){if(e.size!==t.length)return!1;for(let n of t)if(!e.has(n))return!1;return!0}function um(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 dm(e){return um(e).at(-1)??null}function fm(e,t){return t==null?e:e.startsWith(t)?e.slice(t.length):e}var pm=e=>{let t=e.trim();return t.length===0?``:(t.includes(`\\`)?t.replaceAll(`\\`,`/`):t).toLowerCase()},mm=e=>e.toLowerCase();function hm(e){return e.endsWith(`/`)}function gm(e){let t=e.endsWith(`/`)?e.slice(0,-1):e,n=t.lastIndexOf(`/`);return n<0?t:t.slice(n+1)}function _m(e){return e.endsWith(`/`)?e.slice(0,-1):e}function vm(e,t){return t&&!e.endsWith(`/`)?`${e}/`:e}function ym(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 bm(e,t){if(e===t)return!0;let n=t.endsWith(`/`)?t:`${t}/`;return e.startsWith(n)}function xm(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 bm(e,t.path)?n?e:null:e;case`move`:return ym(e,t.from,t.to);case`batch`:{let r=e;for(let e of t.events)if(r=xm(r,e,n),r==null)return null;return r}}}function Sm(e){return{canonicalChanged:e.canonicalChanged,projectionChanged:e.projectionChanged,visibleCountDelta:e.visibleCountDelta}}function Cm(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 wm(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(!Cm(Wp.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 Tm(e){switch(e.operation){case`add`:return{...Sm(e),operation:`add`,path:e.path};case`remove`:return{...Sm(e),operation:`remove`,path:e.path,recursive:e.recursive};case`move`:return{...Sm(e),from:e.from,operation:`move`,to:e.to}}}function Em(e){return{...Sm(e),events:e.events.filter(e=>e.operation===`add`||e.operation===`remove`||e.operation===`move`).map(e=>Tm(e)),operation:`batch`}}function Dm(e){switch(e.operation){case`add`:case`remove`:case`move`:return Tm(e);case`batch`:return Em(e);default:return null}}function Om(e,t,n){if(e===0)return-1;if(n!=null){let e=t(n);if(e!=null)return e;let r=um(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 km(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:Om(e.paths.length,r,t),getParentIndex:e.getParentIndex,paths:e.paths,posInSetByIndex:e.posInSetByIndex,setSizeByIndex:e.setSizeByIndex}}var Am=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=wm({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=dm(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<=cm){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=$p(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=tm(t.draggedPaths,n);(nm(t.draggedPaths,n)||this.#r?.canDrop?.(e)===!1)&&(n=null)}em(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=tm(e.draggedPaths,t);if(nm(e.draggedPaths,t)||this.#r?.canDrop?.(n)===!1)return this.#we(),!1;let r=im(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=hm(r),a=_m(r);if(this.#C?.({isFolder:i,path:a})===!1)return!1;for(let e of um(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=gm(r),this.#D=t.removeIfCanceled??!1,this.#we(),!0}[am](){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,hm(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,hm(e)?{recursive:!0}:void 0);return}let t=hm(e),n=Yp({files:this.#B.list(),isFolder:t,nextBasename:this.#E,path:_m(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(vm(n.sourcePath,t),vm(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=wm({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=!lm(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=dm(e),n=fm(e,t),r=null,i=null;for(let e of this.#ve()){if(dm(e)!==t)continue;let a=fm(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=um(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=!lm(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 Wp({...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 um(t))e.add(n)}return this.#m=[...e].sort(),this.#m}#ue(){return this.#g??=this.#ce().map(mm),this.#g}#de(){return this.#f??=this.#le().filter(e=>e.endsWith(`/`)),this.#f}#fe(){return this.#p??=this.#de().map(mm),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 um(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:pm(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 um(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 um(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=km(this.#B.getVisibleTreeProjectionData(t?void 0:Math.min(n,sm)),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=xm(this.#T,e);t==null&&this.#T!=null&&(this.#E=``),this.#T=t;let n=xm(this.#c,e,!0),r=[...this.#R].map(t=>xm(t,e)).filter(e=>e!=null).map(e=>this.#B.getPathInfo(e)?.path??null).filter(e=>e!=null),i=xm(this.#L,e),a=i==null?null:this.#B.getPathInfo(i)?.path??null,o=[...new Set(r)];return lm(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&&om(e)&&(this.#i=null);let t=om(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=Dm(e);i!=null&&this.#Te(i)})}#Ie(e){if(this.#B.isExpanded(e)){this.#ne(e);return}this.#Ee(e)}},jm=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 Mm(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 Nm(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 Pm(e,t){return t?`${e}/`:e}function Fm(e,t=null){let n=jm(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=Mm(t.path);if(e==null)continue;let n=Pm(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 Nm(e.path))i.add(t)}return{directoriesWithChanges:i,ignoredDirectoryPaths:a,signature:n,statusByPath:r}}var Im=e=>e.trim().toLowerCase(),Lm=e=>e.split(`/`).at(-1)??e,Rm=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 zm(e,t){return typeof e==`string`?{name:e,remappedFrom:t}:{...e,remappedFrom:t}}function Bm(e){let t=$l(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(Im(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=Lm(o),s=n.toLowerCase(),c=r.get(s);if(c!=null)return zm(c,e);for(let[t,n]of a)if(s.includes(t))return zm(n,e);let l=Rm(n);for(let t of l){let n=i.get(t);if(n!=null)return zm(n,e)}let u=Zl(t.set,n,l);if(u!=null&&t.set!==`none`)return{name:Yl(u),remappedFrom:e,token:u}}let s=n?.[e];return s==null?{name:e}:zm(s,e)}}}var Z,Vm,Hm,Um,Wm,Gm,Km,qm,Jm,Ym,Xm={},Zm=[],Qm=Array.isArray,$m=Zm.slice,eh=Object.assign;function th(e){e&&e.parentNode&&e.remove()}function nh(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?$m.call(arguments,2):n),rh(e,o,r,i,null)}function rh(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??++Vm,__i:-1,__u:0};return i==null&&Z.vnode!=null&&Z.vnode(a),a}function ih(e){return e.children}function ah(e,t){this.props=e,this.context=t,this.__g=0}function oh(e,t){if(t==null)return e.__?oh(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`?oh(e):null}function sh(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 sh(e)}}function ch(e){(8&e.__g||!(e.__g|=8)||!Hm.push(e)||Wm++)&&Um==Z.debounceRendering||((Um=Z.debounceRendering)||queueMicrotask)(lh)}function lh(){for(var e,t,n,r,i,a,o,s,c=1;Hm.length;)Hm.length>c&&Hm.sort(Gm),e=Hm.shift(),c=Hm.length,8&e.__g&&(n=void 0,i=(r=(t=e).__v).__e,a=[],o=[],(s=t.__P)&&((n=eh({},r)).__v=r.__v+1,Z.vnode&&Z.vnode(n),_h(s,n,r,t.__n,s.namespaceURI,32&r.__u?[i]:null,a,i??oh(r),!!(32&r.__u),o,s.ownerDocument),n.__v=r.__v,n.__.__k[n.__i]=n,yh(a,n,o),n.__e!=i&&sh(n)));Wm=0}function uh(e,t,n,r,i,a,o,s,c,l,u,d){var f,p,m,h,g,_,v,y=r&&r.__k||Zm,b=t.length;for(c=dh(n,t,y,c,b),f=0;f<b;f++)(m=n.__k[f])!=null&&(p=m.__i==-1?Xm:y[m.__i]||Xm,m.__i=f,_=_h(e,m,p,i,a,o,s,c,l,u,d),h=m.__e,m.ref&&p.ref!=m.ref&&(p.ref&&Sh(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=fh(m,c,e,v):typeof m.type==`function`&&_!==void 0?c=_:h&&(c=h.nextSibling),m.__u&=-7);return n.__e=g,c}function dh(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?rh(null,o,null,null,null):Qm(o)?rh(ih,{children:o},null,null,null):o.constructor==null&&o.__b>0?rh(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=ph(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=oh(s)),Ch(s,s));return r}function fh(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=fh(i[a],t,n,r));return t}e.__e!=t&&(r&&(t&&e.type&&!t.parentNode&&(t=oh(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do t&&=t.nextSibling;while(t!=null&&t.nodeType==8);return t}function ph(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 mh(e,t,n){t[0]==`-`?e.setProperty(t,n??``):e[t]=n??``}function hh(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||mh(e.style,t,``);if(n)for(t in n)r&&n[t]==r[t]||mh(e.style,t,n[t])}else if(t[0]==`o`&&t[1]==`n`)a=t!=(t=t.replace(Km,`$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=qm,e.addEventListener(t,a?Ym:Jm,a)):e.removeEventListener(t,a?Ym:Jm,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 gh(e){return function(t){if(this.__l){var n=this.__l[t.type+e];if(t.u==null)t.u=qm++;else if(t.u<n.l)return;return n(Z.event?Z.event(t):t)}}}function _h(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 ah(v,x),f.constructor=M,f.render=wh),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=eh({},f.__s)),eh(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=eh({},r,f.getChildContext())),y&&!p&&f.getSnapshotBeforeUpdate!=null&&(g=f.getSnapshotBeforeUpdate(m,h)),E=d,d!=null&&d.type===ih&&d.key==null&&(E=bh(d.props.children)),s=uh(e,Qm(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--;)th(a[j]);vh(t)}else t.__e=n.__e,t.__k=n.__k,e.then||vh(t);Z.__e(e,t,n)}else s=t.__e=xh(n.__e,t,n,r,i,a,o,c,l,u);return(d=Z.diffed)&&d(t),128&t.__u?void 0:s}function vh(e){e&&e.__c&&(e.__c.__g|=4),e&&e.__k&&e.__k.forEach(vh)}function yh(e,t,n){for(var r=0;r<n.length;r++)Sh(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 bh(e){return typeof e!=`object`||!e||e.__b&&e.__b>0?e:Qm(e)?e.map(bh):eh({},e)}function xh(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&&=$m.call(e.childNodes),v=n.props||Xm,!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;hh(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&&!_||hh(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=``),uh(b==`template`?e.content:e,Qm(p)?p:[p],t,n,r,b==`foreignObject`?`http://www.w3.org/1999/xhtml`:i,a,o,a?a[0]:n.__k&&oh(n,0),s,c,l),a!=null)for(u=a.length;u--;)th(a[u]);s||(u=`value`,b==`progress`&&h==null?e.removeAttribute(`value`):h==null||h===e[u]&&(b!==`progress`||h)||hh(e,u,h,v[u],i),u=`checked`,g!=null&&g!=e[u]&&hh(e,u,g,v[u],i))}return e}function Sh(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 Ch(e,t,n){var r,i;if(Z.unmount&&Z.unmount(e),(r=e.ref)&&(r.current&&r.current!=e.__e||Sh(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]&&Ch(r[i],t,n||typeof e.type!=`function`);n||th(e.__e),e.__e&&e.__e.__l&&(e.__e.__l=null),e.__e=e.__c=e.__=null}function wh(e,t,n){return this.constructor(e,n)}function Th(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=nh(ih,null,[e]),i=[],a=[],_h(t,e,r||Xm,Xm,t.namespaceURI,r?null:t.firstChild?$m.call(t.childNodes):null,i,r?r.__e:t.firstChild,n,a,t.ownerDocument),yh(i,e,a)}function Eh(e,t){e.__u|=32,Th(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 Wm=0,e}},Vm=0,ah.prototype.setState=function(e,t){var n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=eh({},this.state);typeof e==`function`&&(e=e(eh({},n),this.props)),e&&eh(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),ch(this))},ah.prototype.forceUpdate=function(e){this.__v&&(this.__g|=4,e&&this.__h.push(e),ch(this))},ah.prototype.render=ih,Hm=[],Wm=0,Gm=function(e,t){return e.__v.__b-t.__v.__b},Km=/(PointerCapture)$|Capture$/i,qm=0,Jm=gh(!1),Ym=gh(!0);var Dh=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:--Dh,__i:-1,__u:0,__source:i,__self:a};return Z.vnode&&Z.vnode(l),l}var Oh=16,kh=16,Ah={};function jh({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}=Ah[e]??{width:Oh,height:kh},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 Mh=e=>{if(e.length<2)return[e,``];let t=Math.ceil(e.length/2);return[e.slice(0,t),e.slice(t)]},Nh=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)]},Ph=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)]},Fh=(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)]},Ih=(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)]},Lh=(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 Rh({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 zh(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 Bh({children:e,mode:t=`truncate`,marker:n=`…`,variant:r=`default`,...i}){"use no memo";let a=Q(zh,{mode:t,children:e},`content`),o=Q(Rh,{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 Vh({children:e,...t}){"use no memo";return Q(Bh,{mode:`truncate`,...t,children:e})}function Hh({children:e,...t}){"use no memo";return Q(Bh,{mode:`fruncate`,...t,children:e})}function Uh({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(Vh,{...s,children:t[0]}),l=Q(Hh,{...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`?Hh:Vh,{...s,className:a,style:o,children:e});let t=null,u=null,d=null;if(typeof r==`string`)r===`center`?t=Mh:r===`extension`?t=Nh:r===`leaf-path`&&(t=Ph);else if(typeof r==`number`)t=Fh,u=r;else if(Array.isArray(r)){let[e,n]=r;d=n,e===`last`?t=Ih:e===`first`&&(t=Lh)}else typeof r==`function`&&(t=r);t??=Mh;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(Vh,{...s,..._,children:f}),l=Q(Hh,{...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 Wh={endIndex:-1,startIndex:-1};function Gh(e,t,n){return Math.min(Math.max(e,t),n)}function Kh(e,t){return e<0||t<e?Wh:{endIndex:t,startIndex:e}}function qh(e){return e.startIndex<0||e.endIndex<e.startIndex}function Jh(e,t){return qh(e)?0:(e.endIndex-e.startIndex+1)*t}function Yh(e,t,n){if(t<=0)return-1;let r=t*n;return e<=0?0:e>=r?t:Math.floor(e/n)}function Xh(e,t,n){return t<=0||e<=0?-1:e>=t*n?t-1:Math.ceil(e/n)-1}function Zh(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 Qh(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 $h(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 eg(e,t,n){if(e.length===0||t<=0)return[];let r=$h(e),i=Zh(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=Qh(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 tg(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=Gh(t.scrollTop,0,o),c=t.stickyRows??eg(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=Yh(s,n,t.itemHeight),m=Yh(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?Wh:Kh(m,Xh(u+d,n,t.itemHeight)),y=g+1,b=qh(v)?Wh:Kh(Math.max(y,v.startIndex-a),Math.min(n-1,v.endIndex+a)),x=Jh(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:qh(b)?0:b.startIndex*t.itemHeight,startIndex:b.startIndex}}}var ng={added:`A`,deleted:`D`,ignored:null,modified:`M`,renamed:`R`,untracked:`U`},rg={added:`Git status: added`,deleted:`Git status: deleted`,ignored:`Git status: ignored`,modified:`Git status: modified`,renamed:`Git status: renamed`,untracked:`Git status: untracked`},ig=`Contains git status items`;function ag(e){let{renamingPath:t,previousRenamingPath:n,hasRenderedInput:r}=e;return t==null?`reset`:r?n===t?`ignore`:`focus-input`:`reveal-canonical`}function og(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 sg(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 cg(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 lg(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 ug,dg,fg,pg,mg=Object.is,hg=0,gg=[],_g=Z,vg=_g.__b,yg=_g.__r,bg=_g.diffed,xg=_g.__c,Sg=_g.unmount,Cg=_g.__;function wg(e,t){_g.__h&&_g.__h(dg,e,hg||t),hg=0;var n=dg.__H||={__:[],__h:[]};return e>=n.__.length&&n.__.push({}),n.__[e]}function Tg(e){return hg=1,Eg(Lg,e)}function Eg(e,t,n){var r=wg(ug++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):Lg(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);mg(t,n)||(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=dg,!dg.__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,mg(t,e.__[0])||(o=!0)}}),a&&a.call(this,e,t,n)||o};dg.__f=!0;var a=dg.shouldComponentUpdate,o=dg.componentWillUpdate;dg.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)},dg.shouldComponentUpdate=i}return r.__N||r.__}function Dg(e,t){var n=wg(ug++,3);!_g.__s&&Ig(n.__H,t)&&(n.__=e,n.u=t,dg.__H.__h.push(n))}function Og(e,t){var n=wg(ug++,4);!_g.__s&&Ig(n.__H,t)&&(n.__=e,n.u=t,dg.__h.push(n))}function $(e){return hg=5,kg(function(){return{current:e}},[])}function kg(e,t){var n=wg(ug++,7);return Ig(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function Ag(e,t){return hg=8,kg(function(){return e},t)}function jg(){for(var e;e=gg.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(Pg),e.__H.__h.forEach(Fg),e.__H.__h=[]}catch(t){e.__H.__h=[],_g.__e(t,e.__v)}}_g.__b=function(e){dg=null,vg&&vg(e)},_g.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Cg&&Cg(e,t)},_g.__r=function(e){yg&&yg(e),ug=0;var t=(dg=e.__c).__H;t&&(fg===dg?(t.__h=[],dg.__h=[],t.__.forEach(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})):(t.__h.forEach(Pg),t.__h.forEach(Fg),t.__h=[],ug=0)),fg=dg},_g.diffed=function(e){bg&&bg(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(gg.push(t)!==1&&pg===_g.requestAnimationFrame||((pg=_g.requestAnimationFrame)||Ng)(jg)),t.__H.__.forEach(function(e){e.u&&(e.__H=e.u),e.u=void 0})),fg=dg=null},_g.__c=function(e,t){t.some(function(e){try{e.__h.forEach(Pg),e.__h=e.__h.filter(function(e){return!e.__||Fg(e)})}catch(n){t.some(function(e){e.__h&&=[]}),t=[],_g.__e(n,e.__v)}}),xg&&xg(e,t)},_g.unmount=function(e){Sg&&Sg(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach(function(e){try{Pg(e)}catch(e){t=e}}),n.__H=void 0,t&&_g.__e(t,n.__v))};var Mg=typeof requestAnimationFrame==`function`;function Ng(e){var t,n=function(){clearTimeout(r),Mg&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,35);Mg&&(t=requestAnimationFrame(n))}function Pg(e){var t=dg,n=e.__c;typeof n==`function`&&(e.__c=void 0,n()),dg=t}function Fg(e){var t=dg;e.__c=e.__(),dg=t}function Ig(e,t){return!e||e.length!==t.length||t.some(function(t,n){return!mg(t,e[n])})}function Lg(e,t){return typeof t==`function`?t(e):t}function Rg(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 zg(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 Bg({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 Vg(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(ih,{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(Vh,{children:e.name})}),i<r.length-1?` / `:``]},e.path)})})}function Hg(e){return e.isFlattened?e.flattenedSegments?.findLast(e=>e.isTerminal)?.path??e.path:e.path}function Ug(e){let t=e.flattenedSegments;return t==null||t.length===0?e.name:t.map(e=>e.name).join(` / `)}function Wg(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 Gg({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=tg(c,{itemHeight:t,overscan:n,scrollTop:r,stickyRows:s==null?void 0:Wg(s,r,t,o),totalRowCount:o,viewportHeight:a}),u=i&&r<=0&&o>0?e.getStickyRowCandidates(1,t):[],d=u!=null&&r<=0?Wg(u,1,t,o):i&&r<=0&&c.length>0?eg(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 Kg=400,qg=10,Jg=40,Yg=18;function Xg(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))?Zg(e,t,n):a instanceof HTMLElement?a:null}function Zg(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 Qg(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 $g(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 e_(){return navigator.vendor!==`Apple Computer, Inc.`}function t_(e,t){let n=e-t.top;if(n<Jg)return-Math.ceil((Jg-Math.max(0,n))/Jg*Yg);let r=t.bottom-e;return r<Jg?Math.ceil((Jg-Math.max(0,r))/Jg*Yg):0}function n_(e,t){if(e!=null){let t=ng[e];return t==null?null:{text:t,title:rg[e]}}return t?{icon:{name:`file-tree-icon-dot`,width:6,height:6},title:ig}:null}function r_(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 i_(e){return e!=null&&`toggle`in e}function a_(e){return e.code===`Space`||e.key===` `||e.key===`Spacebar`}function o_(e){return e.key.length===1&&/^[\p{L}\p{N}]$/u.test(e.key)&&!e.ctrlKey&&!e.metaKey&&!e.altKey}function s_(e,t){if(e==null)return t;let n=e.getBoundingClientRect().height;return n>0?n:e.clientHeight>0?e.clientHeight:t}function c_(e,t){return e!=null&&e>0?e:t}function l_(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 u_(e,t,n,r,i=0){let a=cg({currentScrollTop:e.scrollTop,focusedIndex:t,itemHeight:n,topInset:i,viewportHeight:r});return a==null?!1:(e.scrollTop=a,!0)}function d_(e,t,n,r,i,a){let o=lg({currentScrollTop:e.scrollTop,focusedIndex:t,itemHeight:n,targetViewportOffset:a,totalHeight:i,viewportHeight:r});return o==null?!1:(e.scrollTop=o,!0)}function f_(e,t,n,r){return n.end<n.start?null:e<n.start?-t:e>n.end?r:null}function p_(e){return e==null?``:`[data-item-section="spacing-item"][data-ancestor-path="${e.replaceAll(`\\`,`\\\\`).replaceAll(`"`,`\\"`)}"] { opacity: 1; }`}function m_(e){return e.shiftKey&&e.key===`F10`||e.key===`ContextMenu`}function h_(e,t){return t&&m_(e)||(e.ctrlKey||e.metaKey)&&a_(e)?!0:e.key===`ArrowDown`||e.key===`ArrowLeft`||e.key===`ArrowRight`||e.key===`ArrowUp`}var g_=new Set([`ArrowDown`,`ArrowLeft`,`ArrowRight`,`ArrowUp`,`End`,`Home`,`PageDown`,`PageUp`]);function __(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 v_(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 y_(e,t){return{bottom:t,height:0,left:e,right:e,top:t,width:0,x:e,y:t}}function b_(e,t){if(e==null)return t.offsetTop;let n=t.getBoundingClientRect(),r=e.getBoundingClientRect();return n.top-r.top}function x_(e,t,n){if(n==null){e.delete(t);return}e.set(t,n)}function S_(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 C_(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 w_(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 T_(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=w_(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 E_(e,t){return{kind:e.kind,name:Ug(e),path:t}}function D_(e){return e==null?void 0:`${e}__tree`}function O_(e,t,n){if(e!=null)return`${e}__focused-item-${encodeURIComponent(t)}${n?`__parked`:``}`}function k_(e){return e===`file-tree-icon-chevron`||e===`file-tree-icon-dot`||e===`file-tree-icon-file`||e===`file-tree-icon-lock`}function A_(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`?k_(e.icon)?t(e.icon):{name:e.icon}:k_(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(jh,{...n})})}function j_(e){e!=null&&Rg(e.querySelector([`button:not([disabled])`,`[href]`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex="-1"])`].join(`, `))??e)}function M_(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=Hg(e);return Q(ih,{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(jh,{...t(`file-tree-icon-chevron`)}):Q(jh,{...t(`file-tree-icon-file`,u)})}),Q(`div`,{"data-item-section":`content`,children:e.isFlattened?Vg(e,c,a):c??Q(Uh,{minimumLength:5,split:`extension`,children:e.name})}),i?Q(`div`,{"data-item-section":`decoration`,children:r==null?null:A_(r,t)}):null,s?Q(`div`,{"data-item-section":`git`,children:A_(o,t)}):null,n?Q(`div`,{"data-item-section":`action`,children:l?Q(`span`,{"aria-hidden":`true`,"data-item-action-affordance":`decorative`,children:Q(jh,{...t(`file-tree-icon-ellipsis`)})}):null}):null]})}function N_(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=Hg(t),{isParked:F=!1,mode:I=`flow`,style:ee}=r,L=I===`sticky`,R=_?.get(P)??null??r_(t.ancestorPaths,v,y),te=t.kind===`directory`&&(b?.has(P)??!1),ne=A(t,P),re=n_(R,te),ie=S&&w,z=ne!=null||x||ie,ae=ie&&T===`always`,oe=a.getPath()===P,B=oe?a.getValue():``,se=L||!oe?null:Q(Bg,{ref:D,ariaLabel:`Rename ${Ug(t)}`,isFlattened:t.isFlattened,value:B,onBlur:()=>{a.commit()},onInput:e=>{a.setValue(e.currentTarget.value)}}),ce=M_(t,k,{actionLaneEnabled:ie,customDecoration:ne,decorationLaneEnabled:z,dragTargetFlattenedSegmentPath:l?.flattenedSegmentPath??null,gitDecoration:re,gitLaneActive:x,renameInput:se,showDecorativeActionAffordance:ae}),le={...og({ariaLabel:Ug(t),domId:t.isFocused?O_(h,P,F):void 0,extraStyle:ee,features:{actionLaneEnabled:ie,contextMenuButtonVisibility:ie?T:null,contextMenuEnabled:S,contextMenuTriggerMode:S?C:null,gitLaneActive:x},isParked:F,itemHeight:g,mode:I,row:t,state:{containsGitChange:te,effectiveGitStatus:R,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:y_(e.clientX,e.clientY),source:`right-click`})))}:void 0,onFocus:L?void 0:()=>{i.focusPath(P)},onKeyDown:L?void 0:N,ref:e=>{O(P,e)}};return!L&&oe?Q(`div`,{...le,children:ce}):Q(`button`,{...le,type:`button`,draggable:u&&!F,onDragEnd:u&&!F?p:void 0,onDragStart:u&&!F?e=>{f(e,t,P)}:void 0,onMouseDown:e=>{if(L){e.preventDefault();return}i.isSearchOpen()&&e.preventDefault()},onTouchStart:u&&!F?e=>{m(e,t,P)}:void 0,onClick:e=>{M(e,t,P,I)},children:ce})}function P_(e,t,n){return t.end<t.start?[]:e.controller.getVisibleRows(t.start,t.end).filter(e=>!n.has(Hg(e))).map((n,r)=>N_(e,n,t.start+r))}function F_({composition:e,controller:t,gitStatusByPath:n,ignoredGitDirectories:r,directoriesWithGitChanges:i,icons:a,instanceId:o,itemHeight:s=nu,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),F=$(null),I=$(null),ee=$(null),L=$(null),R=$(null),te=$(null),ne=$(!1),re=$(null),ie=$(null),z=$(null),ae=$(null),oe=kg(()=>new Map,[]),[,B]=Tg(0),[se,ce]=Tg(null),[le,ue]=Tg(null),[de,fe]=Tg(null),[pe,me]=Tg(null),[he,ge]=Tg(0),[V,_e]=Tg(null),ve=$(V);ve.current=V;let H=$(null),ye=$(null),be=$(null),xe=$(null),Se=$(null),Ce=$(!1),we=()=>{ye.current=null,be.current=null,xe.current=null},Te=(e,t)=>{ye.current=e,be.current=null,xe.current=t==null?null:{path:e,scrollTop:t}},Ee=(e,t)=>{ye.current=null,be.current={path:e,viewportOffset:t},xe.current=null},De=$(d===`retain`&&t.isSearchOpen()),[Oe,ke]=Tg(p);Dg(()=>{p||ke(!1)},[p]);let Ae=$(!1),je=Ag(()=>{Ae.current=!0,ke(e=>e&&!1)},[]),[Me,Ne]=Tg(()=>Gg({controller:t,itemHeight:s,overscan:c,scrollTop:0,stickyFolders:h,viewportHeight:g})),[Pe,Fe]=Tg(!1);Dg(()=>{Fe(!0)},[]);let Ie=e?.contextMenu?.enabled===!0||e?.contextMenu?.render!=null||e?.contextMenu?.onOpen!=null||e?.contextMenu?.onClose!=null,Le=e?.contextMenu?.triggerMode??(Ie?`right-click`:`both`),Re=Le===`both`||Le===`button`,ze=e?.contextMenu?.buttonVisibility??`when-needed`,Be=Le===`both`||Le===`right-click`;Og(()=>{let e=S.current;if(e==null)return;let t=e=>{if(!(e instanceof CustomEvent))return;let t=e.detail?.path??null;Se.current=t,ue(t),me(t==null?null:`pointer`)},n=e=>{e instanceof CustomEvent&&(Ce.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 Ve=Ag((e,t)=>{x_(T.current,e,t)},[]),He=Ag((e,t)=>{x_(E.current,e,t)},[]),Ue=Ag(e=>{x.current=e},[]),We=Ag(e=>S_(e,E.current,T.current),[]),Ge=n!=null||r!=null||i!=null,{resolveIcon:Ke}=kg(()=>Bm(a),[a]),qe=t[am](),Je=qe.getPath(),Ye=Je!=null,Xe=t.isSearchOpen(),Ze=t.getSearchValue(),U=t.getFocusedPath(),W=t.getFocusedIndex(),G=t.isDragAndDropEnabled(),Qe=t.getDragSession(),$e=kg(()=>Qe==null?null:new Set(Qe.draggedPaths),[Qe]),et=Qe?.target??null,tt=Qe?.primaryPath??null,nt=D_(o),{overlayHeight:rt,overlayRows:it,snapshot:at,visibleRows:ot}=Me,st=at.physical.viewportHeight,ct=kg(()=>({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=kg(()=>new Set(ut.map(e=>Hg(e.row))),[ut]),mt=W>=0&&W>=ct.start&&W<=ct.end,ht=Ag((e,t)=>u?.({item:E_(e,t),row:e})??null,[u]),gt=Ag(e=>Rg(e==null?null:T.current.get(e)??null)?!0:Rg(S.current),[]),_t=Ag(e=>{gt(t.focusNearestPath(e))},[t,gt]),vt=$(_t);vt.current=_t;let yt=$(!0),bt=$(()=>{}),xt=Ag((t=!0)=>{let n=ve.current;n!=null&&(yt.current=yt.current&&t,_e(null),e?.contextMenu?.onClose?.(),yt.current&&_t(n.path))},[e?.contextMenu,_t]);bt.current=xt;let St=Ag(e=>{let t=e==null?null:b_(S.current,e);fe(e=>e===t?e:t)},[]),Ct=Ag((e,n,r)=>{let i=t.getItem(n);if(i==null)return;let a=We(n);if(a?.dataset.fileTreeStickyRow===`true`){let e=C.current;Te(n,e?.scrollTop??null),k.current=!0,ce(e=>e===n?e:n)}i.focus(),St(a),yt.current=!0,_e({anchorRect:r?.anchorRect??null,item:E_(e,n),path:n,source:r?.source??`keyboard`})},[t,We,St]),wt=Ag(e=>{if(l){if(t.isSearchOpen()){let e=C.current,t=s_(e,st);N.current=W<0||e==null?null:Math.max(0,Math.min(W*s-e.scrollTop,Math.max(0,t-s))),M.current=!0}t.startRenaming(e)!==!1&&(me(`focus`),B(e=>e+1))}},[t,W,s,l,st]),Tt=Ag((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=s_(i,st),u=t.getVisibleCount()*s,d=r===`sticky-parents`?o.ancestorPaths.length*s:Gg({controller:t,itemHeight:s,overscan:c,scrollTop:i.scrollTop,stickyFolders:h,viewportHeight:l}).snapshot.sticky.height;return k.current=!0,d_(i,a,s,l,u,d),D.current(),H.current=n?e:null,!0},[t,s,c,st,h]),Et=()=>y.current===!0||ae.current!=null||ne.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=()=>{I.current!=null&&(clearTimeout(I.current),I.current=null),F.current=null},At=()=>{L.current?.remove(),L.current=null},jt=()=>{Ot(P.current),P.current=null,ee.current=null},Mt=e=>{let t=S.current?.getRootNode();if(t instanceof ShadowRoot){t.append(e);return}document.body.append(e)},Nt=()=>{te.current?.(),te.current=null,ae.current!=null&&(clearTimeout(ae.current),ae.current=null),ne.current=!1,re.current=null,z.current=null,ie.current!=null&&(ie.current.setAttribute(`draggable`,`true`),ie.current.style.removeProperty(`touch-action`),ie.current=null),At(),kt(),jt(),R.current=null},Pt=(e,n)=>{let r=S.current?.getRootNode(),i=Qg(Xg(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=i_(r)?r:null;if(i==null||i.isExpanded()){kt();return}let a=`${e.directoryPath}::${e.flattenedSegmentPath??``}`;F.current!==a&&(kt(),F.current=a,I.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=ee.current,n=C.current;if(e==null||n==null||t.getDragSession()==null)return;let r=n.getBoundingClientRect(),i=t_(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)=>{ee.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(R.current=n,e.dataTransfer!=null&&(e.dataTransfer.effectAllowed=`move`,e.dataTransfer.dropEffect=`move`,e.dataTransfer.setData(`text/plain`,r),e_())){let t=$g(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),L.current=t,e.dataTransfer.setDragImage(t,Math.max(0,e.clientX-n.left),Math.max(0,e.clientY-n.top))}}},zt=()=>{At(),kt(),jt(),R.current=null,t.cancelDrag()},Bt=(e,n,r)=>{if(ae.current!=null||ne.current)return;let i=e.touches[0],a=e.currentTarget;if(i==null||a==null)return;z.current={clientX:i.clientX,clientY:i.clientY},ie.current=a,a.setAttribute(`draggable`,`false`);let o=(e={})=>{let t=e.restoreNativeDraggable??!ne.current;ae.current!=null&&(clearTimeout(ae.current),ae.current=null),document.removeEventListener(`touchmove`,s),document.removeEventListener(`touchend`,c),document.removeEventListener(`touchcancel`,c),te.current===o&&(te.current=null),t&&(a.setAttribute(`draggable`,`true`),ie.current===a&&(ie.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<=qg*qg||o()},c=()=>{o()};document.addEventListener(`touchmove`,s,{passive:!0}),document.addEventListener(`touchend`,c),document.addEventListener(`touchcancel`,c),te.current=o,ae.current=setTimeout(()=>{if(o({restoreNativeDraggable:!1}),t.startDrag(r)===!1){a.setAttribute(`draggable`,`true`),ie.current===a&&(ie.current=null),z.current=null;return}ne.current=!0,ie.current=a,a.setAttribute(`draggable`,`false`),a.style.setProperty(`touch-action`,`none`),R.current=n;let e=a.getBoundingClientRect(),s=$g(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),L.current=s,re.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=re.current;n!=null&&L.current!=null&&(L.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()};te.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)},Kg)},Vt=e=>{if(V!=null){if(e.key===`Escape`){xt(),e.preventDefault(),e.stopPropagation();return}g_.has(e.key)&&(e.preventDefault(),e.stopPropagation());return}if(qe.isActive()){if(e.key===`Escape`)qe.cancel();else if(e.key===`Enter`)qe.commit();else return;me(`focus`),B(e=>e+1),e.preventDefault(),e.stopPropagation();return}if(l&&e.key===`F2`){wt(U??void 0),e.preventDefault(),e.stopPropagation();return}if(Xe){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=s_(n,st);N.current=W<0||n==null?null:Math.max(0,Math.min(W*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;me(`focus`),B(e=>e+1),e.preventDefault(),e.stopPropagation();return}if(f&&o_(e)){t.openSearch(e.key),B(e=>e+1),e.preventDefault(),e.stopPropagation();return}let n=Ie&&m_(e),r=h_(e,Ie),i=r&&S.current!=null?zg(S.current):null,a=r?new Set(C_(S.current)):new Set,o=i?.dataset.fileTreeStickyPath??null,c=i?.dataset.fileTreeStickyRow===`true`&&o!=null;if(c&&o!==U&&a.has(o)){let e=C.current;Te(o,e?.scrollTop??null),t.focusPath(o)}let u=t.getFocusedPath(),d=t.getFocusedIndex(),p=t.getFocusedItem();if(p==null)return;let m=i_(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=S_(u,E.current,T.current);e==null||n==null?y=!1:Ct(e,u)}else if((e.ctrlKey||e.metaKey)&&a_(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;me(`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))Te(b,v?.scrollTop??null),k.current=!0,ce(e=>e===b?e:b);else{let t=e.key===`ArrowUp`&&h&&b!==u;b!=null&&(t||_&&b===u)?(Ee(b,T_(S.current,v,i,u,s,ft,st)),k.current=!0,ce(e=>e===b?e:b)):we()}B(e=>e+1),e.preventDefault(),e.stopPropagation()};Og(()=>{if(!(!f||!Xe)){if(De.current){De.current=!1;return}Rg(w.current)}},[Xe,f]),Og(()=>{let e=x.current;switch(ag({hasRenderedInput:e!=null,previousRenamingPath:j.current,renamingPath:Je})){case`reset`:j.current=null;return;case`reveal-canonical`:Je!=null&&Tt(Je,{restoreTreeFocus:!1,targetOffset:`live-overlay`});return;case`ignore`:return;case`focus-input`:e!=null&&(H.current=null,j.current=Je,Rg(e),e.select());return}},[ct.end,ct.start,Je,Tt,pt]),Og(()=>{let e=S.current;if(e==null)return;let t=null,n=()=>{t!=null&&(clearTimeout(t),t=null)},r=()=>{let t=zg(e)?.dataset.itemPath??null;ce(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,zg(e)!=null){r();return}k.current=!1,ce(null)},0);return}if(!(a instanceof Node)||!e.contains(a)){n(),k.current=!1,ce(null);return}let o=a instanceof HTMLElement?a.dataset.itemPath??null:null;ce(e=>e===o?e:o)};return e.addEventListener(`focusin`,i),e.addEventListener(`focusout`,a),()=>{n(),e.removeEventListener(`focusin`,i),e.removeEventListener(`focusout`,a)}},[]),Og(()=>{let e=S.current;e!=null&&(at.physical.scrollTop<=0?e.dataset.scrollAtTop=`true`:delete e.dataset.scrollAtTop)},[at.physical.scrollTop]),Og(()=>{let e=null,n=C.current,r=b.current,i=S.current;if(n==null)return;O.current=s_(n,g);let a=()=>{let e=t.getVisibleCount(),r=c_(O.current,g),i=Math.max(0,e*s-r);n.scrollTop>i&&(n.scrollTop=i),Ne(Gg({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?B(e=>e+1):o=!0,a()}),u=()=>{Ce.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,ge(e=>e+1),e=null},50))},d=null,f=()=>{i!=null&&delete i.dataset.overlayReveal,d!=null&&(clearTimeout(d),d=null)},p=()=>{i==null||Ce.current===!0||n.scrollTop>0||(i.dataset.overlayReveal=`true`,d!=null&&clearTimeout(d),d=setTimeout(()=>{f()},200))},m=()=>{if(a(),n.scrollTop>0&&f(),ve.current!=null&&y.current&&bt.current(),Ce.current===!0){y.current=!1;return}ue(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:l_(e[0]))??s_(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]),Og(()=>{Ie||V==null||xt(!1)},[xt,Ie,V]);let Ht=kg(()=>V==null?null:`${V.path}::${V.source}`,[V]);Og(()=>{if(Ht==null){m?.clearSlotContent(Nc);return}let t=ve.current;if(t==null)return;let n=v.current??_.current;if(n==null)return;let r={anchorElement:n,anchorRect:t.anchorRect??v_(n.getBoundingClientRect()),close:e=>{bt.current(e?.restoreFocus??!0)},restoreFocus:()=>{yt.current&&vt.current(ve.current?.path??null)}},i=e?.contextMenu?.render?.(t.item,r)??null;return m?.setSlotContent(Nc,i),e?.contextMenu?.onOpen?.(t.item,r),j_(i),queueMicrotask(()=>{i==null||!i.isConnected||document.activeElement===i&&j_(i)}),()=>{m?.clearSlotContent(Nc)}},[Ht,e?.contextMenu,m]),Og(()=>{V!=null&&t.getItem(V.path)==null&&xt()},[xt,V,t]),Og(()=>{if(V==null)return;let e=S.current?.getRootNode(),t=e instanceof ShadowRoot?e.host:S.current,n=e=>{let n=e.target;n instanceof Node&&(__(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,V]),Og(()=>{let e=C.current,t=S.current;if(e==null||t==null){A.current=U;return}let n=U==null?null:T.current.get(U)??null,r=zg(t),i=r?.dataset.itemPath??null,a=Ye&&x.current===r,o=f&&w.current===r,c=M.current&&!Xe,l=N.current??0,u=H.current,d=ye.current,p=be.current,m=xe.current,h=r!=null,g=k.current||h,_=A.current!==U,v=d!=null&&d===U&&U!=null,y=c&&d_(e,W,s,st,dt,l),b=u!=null&&u===U&&d_(e,W,s,st,dt,ft),E=p!=null&&p.path===U&&d_(e,W,s,st,dt,p.viewportOffset),O=m!=null&&m.path===U&&e.scrollTop!==m.scrollTop;if(O&&(e.scrollTop=m.scrollTop),(O||b||E||y||g&&_&&u!==U&&!v&&u_(e,W,s,st,ft))&&D.current(),!g){A.current=U;return}if(a){A.current=U;return}if(o&&!c){A.current=U;return}if(n==null){c&&W>=0&&(d_(e,W,s,st,dt,l),D.current()),A.current=U;return}(_||c||u===U||d===U||p?.path===U||m?.path===U||i==null||i!==U)&&(Rg(n),u===U&&(H.current=null),d===U&&(ye.current=null),p?.path===U&&(be.current=null),m?.path===U&&(xe.current=null),M.current=!1,N.current=null),A.current=U},[t,W,U,mt,s,Ye,Xe,ct,st,f,ft,dt,ot]);let Ut=W>=0&&W>=at.visible.startIndex&&W<=at.visible.endIndex,Wt=U!=null&&lt.some(e=>Hg(e.row)===U),Gt=Ut||Wt,Kt=Re&&k.current===!0&&Gt?U:null,qt=pe===`pointer`?le:null,Jt=V?.path??Se.current??qt??Kt??le,Yt=V?.source===`right-click`;Og(()=>{y.current&&V==null||St(We(Jt))},[V,We,ct,st,he,lt,Jt,St,ot]);let Xt=Ag(e=>{if(y.current||__(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&&me(e=>e===`pointer`?e:`pointer`),ue(e=>e===i?e:i)},[]),Zt=Ag(()=>{ue(null)},[]);Og(()=>{if(!G)return;let e=()=>{Nt(),t.cancelDrag()};return window.addEventListener(`dragend`,e),()=>{window.removeEventListener(`dragend`,e),Nt(),t.cancelDrag()}},[t,G]);let Qt=e=>{if(!G||t.getDragSession()==null||ne.current)return;let n=Qg(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(!G||t.getDragSession()==null||ne.current)return;let n=e.relatedTarget;n instanceof Node&&S.current?.contains(n)===!0||(kt(),jt(),t.setDragTarget(null))},en=e=>{!G||t.getDragSession()==null||ne.current||(e.preventDefault(),Pt(e.clientX,e.clientY),t.completeDrag(),At(),kt(),jt(),R.current=null)},tn=at.window.height,nn=at.window.offsetTop,rn=Math.min(0,st-tn-ft),an=se===U||M.current,on=U!=null&&an&&!mt&&W>=0?ot[W]??t.getVisibleRows(W,W)[0]??null:null,sn=on==null?null:f_(W,s,ct,tn),cn=R.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:f_(un.index,s,ct,tn),fn=p_((W>=0?ot[W]??t.getVisibleRows(W,W)[0]??null:null)?.ancestorPaths.at(-1)??null),pn=Xe&&U!=null?O_(o,U,!mt):void 0,mn=V?.path??(Xe?U:se),hn=V?.path??le,gn=We(Jt),_n=Ie&&Re&&!Yt&&!Ye&&gn!=null&&de!=null&&Jt!=null,vn=Ie&&(_n||V!=null),yn=V?.anchorRect,bn=yn==null&&gn!=null&&de!=null&&(V!=null||_n)?de: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=Ag((e,n,r,i)=>{let a=t.getItem(r),o=sg({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,ce(e=>e===r?e:r),me(`focus`)),o.toggleDirectory&&i_(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||!Re||Jt==null||gn==null)return;let e=t.getItem(Jt);e!=null&&(St(gn),yt.current=!0,_e({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:Re,contextMenuButtonVisibility:ze,contextMenuEnabled:Ie,contextMenuRightClickEnabled:Be,contextMenuTriggerMode:Le,controller:t,directoriesWithGitChanges:i,dragAndDropEnabled:G,draggedPathSet:$e,dragTarget:et,gitLaneActive:Ge,gitStatusByPath:n,handleRowDragEnd:zt,handleRowDragStart:Rt,handleRowTouchStart:Bt,ignoredGitDirectories:r,ignoredInheritanceCache:oe,instanceId:o,itemHeight:s,onKeyDown:Vt,onRowClick:Cn,openContextMenuForRow:Ct,registerButton:Ve,registerRenameInput:Ue,renameView:qe,renderDecorationForRow:ht,resolveIcon:Ke,shouldSuppressContextMenu:Et,visualFocusPath:mn},En={...Tn,registerButton:He};return Q(`div`,{ref:S,id:nt,"data-file-tree-context-menu-button-visibility":Ie&&Re?ze:void 0,"data-file-tree-context-menu-trigger-mode":Ie?Le:void 0,"data-file-tree-has-context-menu-action-lane":Ie&&Re?`true`:void 0,"data-file-tree-has-git-lane":Ge?`true`:void 0,"data-file-tree-virtualized-root":`true`,onDragLeave:G?$t:void 0,onDragOver:G?Qt:void 0,onDrop:G?en:void 0,onKeyDown:Vt,onPointerLeave:Ie?Zt:void 0,onPointerOver:Ie?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:Mc,"data-type":`header-slot`}),f?Q(`div`,{"data-file-tree-search-container":!0,"data-open":Xe?`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":Oe?`true`:void 0,value:Ze,onBlur:()=>{d===`retain`&&!Ae.current||t.closeSearch()},onFocus:je,onPointerDown:je,onInput:e=>{je();let n=e.currentTarget;t.setSearch(n.value)}})}):null,Q(`div`,{ref:C,"data-file-tree-virtualized-scroll":`true`,children:[h&&Pe&&lt.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)=>N_(En,e.row,`sticky:${Hg(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:[P_(Tn,ct,pt),on!=null&&sn!=null?N_(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?N_(Tn,un,`parked-drag:${un.path}`,{isParked:!0,style:{left:`0`,opacity:`0`,pointerEvents:`none`,position:`absolute`,right:`0`,top:`${dn}px`}}):null]})]})]}),Ie?Q(`div`,{ref:_,"data-type":`context-menu-anchor`,"data-visible":vn?`true`:`false`,style:xn,children:[Q(`button`,{ref:v,type:`button`,"data-type":Pc,"aria-label":`Options`,"aria-haspopup":`menu`,"aria-expanded":V==null?`false`:`true`,"data-visible":_n?`true`:`false`,onMouseDown:e=>{e.preventDefault()},onClick:e=>{if(e.preventDefault(),e.stopPropagation(),V!=null){xt();return}wn()},tabIndex:-1,style:Sn,children:Q(jh,{...Ke(`file-tree-icon-ellipsis`)})}),V==null?null:Q(`slot`,{name:Nc})]}):null,V==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 I_={hydrateRoot:(e,t)=>{Eh(nh(F_,t),e)},renderRoot:(e,t)=>{Th(nh(F_,t),e)},unmountRoot:e=>{Th(null,e)}};function L_(e,t){I_.renderRoot(e,t)}function R_(e,t){I_.hydrateRoot(e,t)}function z_(e){I_.unmountRoot(e)}var B_=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)}}},V_=`__c`,H_=`__k`,U_=`__d`,W_=`__s`,G_=/[\s\n\\/='"\0<>]/,K_=/^(xlink|xmlns|xml)([A-Z])/,q_=/^(?: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])/,J_=/^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/,Y_=new Set([`draggable`,`spellcheck`]);function X_(e){e.__g===void 0?e[U_]=!0:e.__g|=8}function Z_(e){e.__g===void 0?e[U_]=!1:e.__g&=-9}function Q_(e){return e.__g===void 0?!0===e[U_]:!!(8&e.__g)}var $_=/["&<]/;function ev(e){if(e.length===0||!1===$_.test(e))return e;for(var t=0,n=0,r=``,i=``;n<e.length;n++){switch(e.charCodeAt(n)){case 34:i=`&quot;`;break;case 38:i=`&amp;`;break;case 60:i=`&lt;`;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 tv={},nv=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(`.`)),rv=/[A-Z]/g;function iv(e){var t=``;for(var n in e){var r=e[n];if(r!=null&&r!==``){var i=n[0]==`-`?n:tv[n]||(tv[n]=n.replace(rv,`-$&`).toLowerCase()),a=`;`;typeof r!=`number`||i.startsWith(`--`)||nv.has(i)||(a=`px;`),t=t+i+`:`+r+a}}return t||void 0}function av(){this.__d=!0}function ov(e,t){return{__v:e,context:t,props:e.props,setState:av,forceUpdate:av,__d:!0,__h:[]}}function sv(e,t,n){if(!e.s){if(n instanceof cv){if(!n.s)return void(n.o=sv.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(sv.bind(null,e,t),sv.bind(null,e,2));e.s=t,e.v=n;let r=e.o;r&&r(e)}}var cv=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{sv(r,1,a(this.v))}catch(e){sv(r,2,e)}return r}return this}return this.o=function(e){try{var i=e.v;1&e.s?sv(r,1,t?t(i):i):n?sv(r,1,n(i)):sv(r,2,i)}catch(e){sv(r,2,e)}},r},e}(),lv,uv,dv,fv,pv={},mv=Array.isArray,hv=Object.assign,gv=``,_v=`<!--$s-->`,vv=`<!--/$s-->`;function yv(e,t){var n,r=e.type,i=!0;return e[V_]?(i=!1,(n=e[V_]).state=n[W_]):n=new r(e.props,t),e[V_]=n,n.__v=e,n.props=e.props,n.context=t,X_(n),n.state??=pv,n[W_]??(n[W_]=n.state),r.getDerivedStateFromProps?n.state=hv({},n.state,r.getDerivedStateFromProps(n.props,n.state)):i&&n.componentWillMount?(n.componentWillMount(),n.state=n[W_]===n.state?n.state:n[W_]):!i&&n.componentWillUpdate&&n.componentWillUpdate(),dv&&dv(e),n.render(n.props,n.state,t)}function bv(e,t,n,r,i,a,o){if(e==null||!0===e||!1===e||e===gv)return gv;var s=typeof e;if(s!=`object`)return s==`function`?gv:s==`string`?ev(e):e+gv;if(mv(e)){var c,l=gv;i[H_]=e;for(var u=e.length,d=0;d<u;d++){var f=e[d];if(f!=null&&typeof f!=`boolean`){var p,m=bv(f,t,n,r,i,a,o);typeof m==`string`?l+=m:(c||=Array(u),l&&c.push(l),l=gv,mv(m)?(p=c).push.apply(p,m):c.push(m))}}return c?(l&&c.push(l),c):l}if(e.constructor!==void 0)return gv;e.__=i,lv&&lv(e);var h=e.type,g=e.props;if(typeof h==`function`){var _,v,y,b=t;if(h===ih){if(`tpl`in g){for(var x=gv,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&&!mv(C)?x+=C:x+=bv(C,t,n,r,e,a,o)}return x}if(`UNSTABLE_comment`in g)return`<!--`+ev(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=yv(e,b),y=e[V_];else{e[V_]=y=ov(e,b);for(var E=0;Q_(y)&&E++<25;){Z_(y),dv&&dv(e);try{v=h.call(y,g,b)}catch(t){throw a&&t&&typeof t.then==`function`&&(e._suspended=!0),t}}X_(y)}if(y.getChildContext!=null&&(t=hv({},t,y.getChildContext())),T&&Z.errorBoundaries&&(h.getDerivedStateFromError||y.componentDidCatch)){v=v!=null&&v.type===ih&&v.key==null&&v.props.tpl==null?v.props.children:v;try{return bv(v,t,n,r,e,a,!1)}catch(i){return h.getDerivedStateFromError&&(y[W_]=h.getDerivedStateFromError(i)),y.componentDidCatch&&y.componentDidCatch(i,pv),Q_(y)?(v=yv(e,t),(y=e[V_]).getChildContext!=null&&(t=hv({},t,y.getChildContext())),bv(v=v!=null&&v.type===ih&&v.key==null&&v.props.tpl==null?v.props.children:v,t,n,r,e,a,o)):gv}finally{uv&&uv(e),fv&&fv(e)}}}v=v!=null&&v.type===ih&&v.key==null&&v.props.tpl==null?v.props.children:v;try{var D=bv(v,t,n,r,e,a,o);return uv&&uv(e),Z.unmount&&Z.unmount(e),e._suspended?typeof D==`string`?_v+D+vv:mv(D)?(D.unshift(_v),D.push(vv),D):D.then(function(e){return _v+e+vv}):D}catch(i){if(!a&&o&&o.onError){var O=function i(s){return o.onError(s,e,function(e,s){try{return bv(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),gv}if(!a||!i||typeof i.then!=`function`)throw i;return i.then(function i(){try{var s=bv(v,t,n,r,e,a,o);return e._suspended?_v+s+vv:s}catch(e){if(!e||typeof e.then!=`function`)throw e;return e.then(i)}})}}var A,j=`<`+h,M=gv;for(var N in g){var P=g[N];if(typeof(P=Sv(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=iv(P));break;case`acceptCharset`:N=`accept-charset`;break;case`httpEquiv`:N=`http-equiv`;break;default:if(K_.test(N))N=N.replace(K_,`$1:$2`).toLowerCase();else{if(G_.test(N))continue;N[4]!==`-`&&!Y_.has(N)||P==null?n?J_.test(N)&&(N=N===`panose1`?`panose-1`:N.replace(/([A-Z])/g,`-$1`).toLowerCase()):q_.test(N)&&(N=N.toLowerCase()):P+=gv}}P!=null&&!1!==P&&(j=!0===P||P===gv?j+` `+N:j+` `+N+`="`+(typeof P==`string`?ev(P):P+gv)+`"`)}}if(G_.test(h))throw Error(h+` is not a valid HTML tag name in `+j+`>`);if(M||(typeof A==`string`?M=ev(A):A!=null&&!1!==A&&!0!==A&&(M=bv(A,t,h===`svg`||h!==`foreignObject`&&n,r,e,a,o))),uv&&uv(e),fv&&fv(e),!M&&xv.has(h))return j+`/>`;var F=`</`+h+`>`,I=j+`>`;return mv(M)?[I].concat(M,[F]):typeof M==`string`?I+M+F:[I,M,F]}var xv=new Set([`area`,`base`,`br`,`col`,`command`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`meta`,`param`,`source`,`track`,`wbr`]);function Sv(e){return typeof e==`object`&&!!e&&typeof e.peek==`function`&&`value`in e}var Cv=0;function wv(e){return e!=null&&e.length>0?e:(Cv+=1,`pst_ft_${Cv}`)}function Tv({initialVisibleRowCount:e,itemHeight:t}){return e==null?420:Math.max(0,e)*(t??nu)}function Ev(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 Dv(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 Ov(e){return Array.from(e.children).filter(e=>e instanceof SVGElement)}var kv=class{static LoadedCustomComponent=!0;#e;#t;#n;#r;#i;#a;#o;#s;#c;#l=new B_;#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=wv(a),this.#p=Fm(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=tu(n,c),this.#d={itemHeight:this.#u.itemHeight,overscan:d,stickyFolders:_,initialVisibleRowCount:y},this.#t=new Am({...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&&(z_(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(),L_(t.wrapper,this.#w()))}setGitStatus(e){this.#p=Fm(e,this.#p);let t=this.#T();t!=null&&L_(t.wrapper,this.#w())}setIcons(e){this.#m=e;let t=this.#T();t!=null&&(this.#E(t.host,t.wrapper),L_(t.wrapper,this.#w()))}hydrate({fileTreeContainer:e}){let t=this.#P(e),n=this.#N(t);this.#O(),R_(n,this.#w())}render({containerWrapper:e,fileTreeContainer:t}){let n=this.#P(t??this.#f,e),r=this.#N(n);this.#O(),L_(r,this.#w())}#C(){return{initialViewportHeight:Tv({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(Mc,e());return}this.#l.setSlotHtml(Mc,this.#e?.header?.html??null)}#k(e){let t=Ov(e).find(e=>Dv(e)),n=Ev(Jl($l(this.#m).set));n!=null&&(t!=null&&t.outerHTML===n.outerHTML||(t==null?e.prepend(n):t.replaceWith(n)))}#A(e){let t=Ov(e),n=t.find(e=>Dv(e)),r=t.filter(e=>e!==n),i=$l(this.#m).spriteSheet?.trim()??``;if(i.length===0){for(let e of r)e.remove();return}let a=Ev(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=$l(this.#m);t.colored&&Xl(t.set)?e.dataset.fileTreeColoredIcons=`true`:delete e.dataset.fileTreeColoredIcons}#M(e){let t=e.querySelector(`style[${Oc}]`);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(Oc,``),this.#g.parentNode!==e&&e.appendChild(this.#g),this.#g.textContent=ou(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 fu(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 Av(e){let t=(0,K.useRef)(null);return t.current??=new kv(e),(0,K.useEffect)(()=>{let e=t.current;return()=>{e?.cleanUp(),t.current=null}},[]),{model:t.current}}var jv={"--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 Mv({controller:e,filesError:t,isFilesLoading:r}){let{closeSearch:i,filteredFiles:a,isSearchOpen:o,loadedFiles:s,model:c,searchQuery:l,setSearchQuery:u}=e,d=ht(),f=(0,K.useRef)(null);(0,K.useEffect)(()=>{o&&f.current?.focus()},[o]);let p=(0,K.useMemo)(()=>({...jv,colorScheme:d}),[d]),m;if(t){let e=st({error:t,operation:`load_manager_storage`});m=(0,q.jsx)(Xn,{message:(e?dt(e):null)??mt({error:t,fallbackMessage:`Failed to load manager workspace`,lifecycleOperation:`load_manager_storage`}),messageClassName:`text-destructive`})}else m=r&&s.length===0?(0,q.jsx)(Xn,{icon:`Spinner`,message:`Loading files...`,iconClassName:`animate-spin`}):s.length===0?(0,q.jsx)(Xn,{message:`No files yet.`}):a.length===0?(0,q.jsx)(Xn,{message:`No files match search.`}):(0,q.jsx)(Bc,{"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)(B,{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)($e,{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)(n,{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)(B,{name:`X`,className:`size-3.5`})})]}):null,(0,q.jsx)(`div`,{className:`min-h-0 flex-1`,children:m})]})}function Nv(e){return e?.type===`standard`&&e.parentThreadId===null}function Pv({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 Fv({thread:e,projectId:t,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)(()=>Pv({currentThreadId:e.id,isManagerThread:u,managerThreads:i,parentThreadDisplayName:r,parentThreadId:d}),[u,i,r,d,e.id]),m=d??`none`,h=f.find(e=>e.value===m)?.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:br({projectId:t,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:h??`Manager`}),(0,q.jsx)(n,{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)(B,{name:`X`})})]}):(0,q.jsxs)(H,{defaultOpen:l,children:[(0,q.jsx)(be,{asChild:!0,children:(0,q.jsxs)(`div`,{role:`button`,tabIndex:s||f.length<=1&&m===`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:h??`None`}),(0,q.jsx)(B,{name:`ChevronDown`,className:`size-3.5 shrink-0 text-muted-foreground`})]})}),(0,q.jsxs)(Ce,{align:`start`,className:`min-w-40 max-w-72`,children:[(0,q.jsx)(xe,{children:`Assign to manager`}),f.map(e=>(0,q.jsxs)(ye,{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)(B,{name:`Check`,className:m===e.value?p(`opacity-100`,ge):p(`opacity-0`,ge)})]},e.value))]})]})})}function Iv({thread:e}){return e.type===`manager`?(0,q.jsx)(Yr,{label:`Kind`,valueClassName:`min-w-0 truncate`,children:`Manager`}):null}function Lv({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)(wt,{}):null,(0,q.jsx)(rr,{connected:i})]})})}function Rv({thread:e,environment:t,environmentHost:n,environmentIsLocal:r}){let i=_r({projectId:e.projectId,environmentId:t?.id??``});if(e.type===`manager`||!t)return null;let o=a({environment:t,isLocalHost:r,hostName:n?.name}),s=zv(t);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:i,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)(B,{name:`MessageSquarePlus`,className:`size-4`})}):null]})})}function zv(e){return e.isWorktree||e.workspaceProvisionType===`managed-worktree`}function Bv(e){return e.workspaceProvisionType===`personal`?{rowLabel:`Workspace path`,copyLabel:`Copy workspace path`,successMessage:`Workspace path copied`,errorMessage:`Failed to copy workspace path`}:zv(e)?{rowLabel:`Worktree path`,copyLabel:`Copy worktree path`,successMessage:`Worktree path copied`,errorMessage:`Failed to copy worktree path`}:null}function Vv({thread:e,environment:t}){if(e.type===`manager`||!t?.path)return null;let n=Bv(t);return n?(0,q.jsx)(Yr,{label:n.rowLabel,valueClassName:`min-w-0`,children:(0,q.jsx)(ft,{text:t.path,label:n.copyLabel,title:t.path,successMessage:n.successMessage,errorMessage:n.errorMessage})}):null}function Hv({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)(ft,{text:n,label:`Copy branch name`,successMessage:`Branch name copied`,errorMessage:`Failed to copy branch name`})})}function Uv({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)(()=>Un({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)(Kn,{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 Wv({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:p(`shrink-0 font-medium`,l),children:c.label}),(0,q.jsx)(`span`,{className:`min-w-0 truncate text-muted-foreground`,children:c.summaryContent})]})})}function Gv({thread:e}){let t=Ne(),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 Kv({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 qv({controller:e,filesError:t,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)(n,{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)(B,{name:`Search`,className:`size-3.5`})})]}),children:(0,q.jsx)(Mv,{controller:e,filesError:t,isFilesLoading:r})})}function Jv({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 Yv({hasFlexibleHeight:e,children:t}){return(0,q.jsx)(Jr,{appearance:`flat`,className:p(`h-full min-h-0`,e?`flex-1`:`shrink-0`),children:t})}function Xv(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)(Yv,{hasFlexibleHeight:y!==void 0||t.type!==`manager`&&ea(u).length>0,children:[(0,q.jsx)(Iv,{thread:t}),(0,q.jsx)(Fv,{thread:t,projectId:n,parentThreadDisplayName:r,managerThreads:i,canAssignToManager:a,canTakeOverThread:o,updateThreadPending:v,onAssignManager:b}),(0,q.jsx)(Lv,{environmentHost:s,environment:l,environmentIsLocal:c}),(0,q.jsx)(Rv,{thread:t,environment:l,environmentHost:s,environmentIsLocal:c}),(0,q.jsx)(Vv,{thread:t,environment:l}),(0,q.jsx)(Hv,{thread:t,workspaceStatus:u}),(0,q.jsx)(Uv,{thread:t,workspaceStatus:u,selectedMergeBaseBranch:f,mergeBaseBranchRef:p,mergeBaseBranchOptions:m,mergeBaseBranchOptionsTruncated:h,mergeBaseRemoteBranchOptions:g,isLoadingMergeBaseBranchOptions:_,onMergeBaseBranchChange:x,onMergeBaseBranchSearchQueryChange:S}),(0,q.jsx)(Wv,{thread:t,environment:l,workspaceStatus:u,workspaceStatusError:d,selectedMergeBaseBranch:f}),(0,q.jsx)(Gv,{thread:t}),(0,q.jsx)(Kv,{thread:t,workspaceStatus:u,onChangedFileClick:C}),y?(0,q.jsx)(qv,{...y}):null]})}function Zv({children:e,className:t}){return(0,q.jsx)(`div`,{className:p(`flex min-w-0 flex-col gap-1`,t),children:e})}function Qv({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 $v(e,t){return e.some(e=>e.kind===`system`&&e.systemKind===`operation`&&e.operationKind===`thread-interrupted`&&e.createdAt>=t)}function ey({rows:e,stopRequestedAt:t,threadId:n}){return(0,K.useMemo)(()=>t===null||$v(e,t)?e:[...e,Qv({stopRequestedAt:t,threadId:n})],[e,t,n])}function ty({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=ht(),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=ey({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)(ue,{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)(Zv,{className:`flex-1`,children:[n&&!o&&!s?(0,q.jsx)(ny,{isLoadingOlderTimelineRows:a,onLoadOlderRows:u}):null,o?(0,q.jsx)(ry,{}):s?(0,q.jsx)(Ot,{label:`Failed to load timeline`,className:`mt-6 text-destructive`}):j.length>0?(0,q.jsx)(_n,{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)(Ot,{label:i.label,className:i.tone===`error`?`mt-4 text-destructive`:`mt-4`}):null,(0,q.jsx)(Vt,{visible:h,children:(0,q.jsx)(zr,{details:k,isThinking:D,label:g},A)})]})},y)]})}function ny({isLoadingOlderTimelineRows:e,onLoadOlderRows:t}){let r=z();return(0,q.jsx)(`div`,{className:`flex justify-center pt-2 mb-3`,children:(0,q.jsxs)(n,{type:`button`,variant:`outline`,size:`sm`,onClick:(0,K.useCallback)(()=>{r?.captureScrollAnchor(),t()},[r,t]),disabled:e,children:[(0,q.jsx)(B,{name:`ChevronUp`,"aria-hidden":`true`}),e?`Loading older messages...`:`Load older messages`]})})}function ry(){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)(Ot,{label:`Loading thread...`,className:`mt-6`}):null}var iy=100,ay=`duration-[220ms] ease-[cubic-bezier(0.32,0.72,0,1)]`;function oy({footer:e,header:t,isMetadataLoading:n,isSecondaryPanelOpen:r,metadata:i,onTerminalPanelResize:a,secondaryPanel:o,terminalPanel:s,terminalPanelHeightPercent:c,terminalPanelOpen:l,timeline:u}){let d=_e(),f=G(Aa),m=(0,K.useRef)(null),h=(0,K.useRef)(c),g=(0,K.useRef)(!1),_=(0,K.useRef)(!1);(0,K.useEffect)(()=>{g.current||(h.current=c)},[c]),(0,K.useEffect)(()=>{if(!_.current){_.current=!0;return}let e=m.current;e&&(l?e.expand(h.current):e.collapse())},[l]);let v=(0,K.useCallback)(()=>{let e=h.current;e<=0||a(e)},[a]),y=(0,K.useCallback)(e=>{e<=0||(h.current=e,g.current||a(e))},[a]),b=(0,K.useCallback)(e=>{g.current=e,e||v()},[v]),x=Jv(i)?(0,q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,children:(0,q.jsx)(Xv,{...i})}):n?(0,q.jsx)(ly,{}):(0,q.jsx)(`div`,{className:`pt-1 text-sm text-muted-foreground`,children:`No thread details available.`}),S=d?null:(0,q.jsx)(Sc,{...o,renderAsDrawer:!1,metadataContent:x}),C=d?(0,q.jsx)(Sc,{...o,renderAsDrawer:!0,metadataContent:x}):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)(fs.PanelGroup,{direction:`vertical`,className:`h-full w-full min-w-0`,children:[(0,q.jsx)(fs.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)(fs.PanelGroup,{direction:`horizontal`,className:`h-full w-full min-w-0`,children:[(0,q.jsx)(fs.Panel,{id:`thread-detail-timeline-panel`,defaultSize:r&&!d?100-f:iy,minSize:30,order:1,className:`min-w-0 overflow-hidden`,children:(0,q.jsx)(ty,{...u,footer:e,header:t})}),S]})}),s?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(sy,{isOpen:l,onDragging:b}),(0,q.jsx)(fs.Panel,{ref:m,id:`thread-detail-terminal-panel`,collapsible:!0,collapsedSize:0,defaultSize:l?c:0,minSize:18,maxSize:70,order:2,onResize:y,className:p(`min-h-0 min-w-0 overflow-hidden transition-[flex-grow,flex-basis,opacity]`,ay,l?`opacity-100`:`opacity-0`),children:s})]}):null]},u.threadId),d?(0,q.jsx)(ve,{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 sy({isOpen:e,onDragging:t}){return(0,q.jsx)(fs.PanelResizeHandle,{id:`thread-detail-terminal-panel-handle`,disabled:!e,onDragging:t,className:p(`group relative shrink-0 cursor-row-resize overflow-visible bg-transparent transition-[height,opacity,background-color]`,ay,`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 cy=[`w-40`,`w-28`,`w-36`,`w-24`];function ly(){return(0,q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,children:(0,q.jsx)(Yv,{hasFlexibleHeight:!1,children:cy.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)(Ft,{className:`h-3 w-14 rounded-sm`}),(0,q.jsx)(Ft,{className:`h-3 ${e} max-w-full rounded-sm`})]},t))})})}function uy(e){return e!==void 0&&e.length>0}function dy({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)(()=>{uy(o)&&l(o)},[o]),d=(0,K.useCallback)(()=>{l(e=>e===o?null:e)},[o]),f=uy(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 fy({activePath:e,fileListEnabled:t=!0,fileListOptions:n=r,filePreviewEnabled:i=!0,threadId:a,threadType:o}){let s=o===`manager`,{data:c,isLoading:l,error:u,refetch:d}=ke(a??``,n,{enabled:s&&t}),{data:f,isLoading:p,error:m}=Ae(a??``,e,{enabled:s&&i&&e!==null});return{isThreadStorageFilePreviewLoading:p,isThreadStorageFilesLoading:l,threadStorageFilePreview:f,threadStorageFilePreviewError:m,threadStorageFilesError:u,threadStorageFiles:c,threadStorageRootPath:c?.storageRootPath??null,refetchThreadStorageFiles:d}}var py=/^(?![a-z][a-z\d+.-]*:|\/\/|\/|#|\?)/iu;function my(e){return e.length>0&&py.test(e)}function hy(e,t){let n=new URL(e,window.location.origin),r=new URL(t,n);return`${r.pathname}${r.search}${r.hash}`}function gy(e){return t=>{let n=Kt(t);return my(n)?hy(e,n):n}}var _y=`none`;function vy({appId:e,threadId:t}){let n=Te(t,e),r=n.data?.entry.kind===`md`?n.data.entry.path:null,i=Ie(t,e,r,{enabled:r!==null}),a=(0,K.useMemo)(()=>r===null?null:ie(t,e,r),[e,r,t]),o=(0,K.useMemo)(()=>{if(a!==null)return gy(a)},[a]);return n.isError?(0,q.jsx)(qs,{path:e,headerMode:_y,state:{kind:`error`,message:n.error instanceof Error?n.error.message:`Failed to load app.`}}):n.data?n.data.entry.kind===`html`?(0,q.jsx)(qs,{path:n.data.name,headerMode:_y,state:{kind:`iframe`,sandbox:null,title:n.data.name,url:I(t,e)}}):i.isError?(0,q.jsx)(qs,{path:n.data.name,headerMode:_y,state:{kind:`error`,message:i.error instanceof Error?i.error.message:`Failed to load app entry.`}}):i.data?i.data.kind===`text`?i.data.content.length===0?(0,q.jsx)(qs,{path:n.data.name,headerMode:_y,state:{kind:`empty`}}):(0,q.jsx)(qs,{path:n.data.name,headerMode:_y,state:{kind:`ready`,lineNumber:null,showMarkdownModeToggle:!1,markdownUrlTransform:o,file:{name:i.data.name??n.data.entry.path,contents:i.data.content}}}):(0,q.jsx)(qs,{path:n.data.name,headerMode:_y,state:{kind:`error`,message:`Preview not available for ${i.data.mimeType}.`}}):(0,q.jsx)(qs,{path:n.data.name,headerMode:_y,state:{kind:`loading`}}):(0,q.jsx)(qs,{path:e,headerMode:_y,state:{kind:`loading`}})}function yy({icon:e,className:t}){return e.kind===`logo`?(0,q.jsx)(`img`,{src:e.url,alt:``,className:p(`size-4 shrink-0 rounded-sm object-contain`,t)}):(0,q.jsx)(B,{name:e.name,className:p(`size-4 shrink-0 text-muted-foreground`,t),"aria-hidden":!0})}var by=8;function xy(e){return e.entryKind===`file`}function Sy(e){return{source:e.source,entryKind:`file`,path:e.path,name:e.name,score:e.score,positions:e.positions}}function Cy(e,t){if(t.length===0)return 0;let n=e.name.toLowerCase(),r=e.id.toLowerCase();return n===t||r===t?100:n.startsWith(t)||r.startsWith(t)?90:n.includes(t)?80:r.includes(t)?70:-1}function wy({apps:e,limit:t,query:n}){let r=n.trim().toLowerCase(),i=[];for(let t of e){let e=Cy(t,r);e<0||i.push({source:`app`,entryKind:`app`,app:t,appId:t.id,name:t.name,score:e})}return i.sort((e,t)=>e.score===t.score?e.name.localeCompare(t.name):t.score-e.score).slice(0,t)}function Ty(e){let t=e.limit??by,n=gr({projectId:e.projectId,query:e.query,limit:t,environmentId:e.environmentId,currentThreadId:e.currentThreadId,currentThreadType:e.currentThreadType,includeDirectories:!1}),r=!!e.currentThreadId,i=ze(e.currentThreadId??``,{enabled:r}),a=(0,K.useMemo)(()=>wy({apps:i.data??[],limit:t,query:e.query??``}),[e.query,t,i.data]),o=(0,K.useMemo)(()=>n.suggestions.filter(xy).map(Sy),[n.suggestions]),s=(0,K.useMemo)(()=>[...a,...o],[a,o]),c=!!e.projectId,l=e.currentThreadType===`manager`&&!!e.currentThreadId;return{suggestions:s,isLoading:s.length===0&&(n.isLoading||r&&i.isLoading),isError:n.isError||r&&i.isError,isDebouncing:n.isDebouncing,isUnavailable:!r&&!c&&!l}}var Ey={text:`You are creating a new bb app for this thread.
1816
+
1817
+ Apps system reference — run \`bb guide app\` for full detail. Layout:
1818
+ - apps/<id>/manifest.json — { manifestVersion: 1, id, name, icon | logo.svg, entry, contributions: ["thread.app"], capabilities: ["data"?, "message"?] }
1819
+ - apps/<id>/assets/index.html — self-contained inline HTML/CSS/JS/SVG (no build step needed)
1820
+ - apps/<id>/data/state.json — initial state if the app uses window.bb.data
1821
+
1822
+ In the page, use window.bb.data for live state (read / write / delete / list / onChange; onChange replays + streams) and window.bb.message(text) to send the thread a prompt. Guard with \`window.bb?.data?.…\` since capabilities are advisory.
1823
+
1824
+ Scaffold with \`bb app new\` — the default styling is wired up already, so build on top of it and keep the UI polished, accessible, and dense like the rest of bb.
1825
+
1826
+ What I want:
1827
+
1828
+ `,attachments:[]},Dy=20,Oy=[`apps`,`files`],ky={apps:`Apps`,files:`Files`},Ay={app:`App`,workspace:`Workspace`,"thread-storage":`Manager Storage`},jy=`sticky top-0 z-10 bg-background px-1 pb-2 text-xs font-medium uppercase tracking-wider text-subtle-foreground`,My=`group flex w-full min-w-0 items-center gap-3 rounded-md px-2 py-2 text-left transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,Ny=`flex size-9 shrink-0 items-center justify-center overflow-hidden rounded-md border border-border-hairline bg-surface-raised`,Py=`flex size-9 shrink-0 items-center justify-center rounded-md border border-dashed border-border bg-surface-raised text-muted-foreground group-hover:text-foreground`;function Fy(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)}function Iy({projectId:e,currentThreadId:t,currentThreadType:n}){let r=[];return t.length>0&&r.push(`app`),e&&r.push(`workspace`),n===`manager`&&t.length>0&&r.push(`thread-storage`),r}function Ly(e){let t=e.entryKind===`app`?e.appId:e.path;return`file-search-result-${e.source}-${encodeURIComponent(t)}`}function Ry(e){let t=e.lastIndexOf(`/`);return t===-1?{name:e,directory:``}:{name:e.slice(t+1),directory:e.slice(0,t)}}function zy(e){return e.entryKind===`app`?`${Ay.app}: ${e.name}`:`${Ay[e.source]}: ${e.path}`}function By(e){return e.entryKind===`app`?`apps`:`files`}function Vy({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=By(e),a=r.get(i);if(a){a.items.push({suggestion:e,index:a.items.length});continue}r.set(i,{kind:i,label:ky[i],items:[{suggestion:e,index:0}]})}let i=0;return Oy.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 Hy({iconName:e,iconClassName:t,message:n}){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)(B,{name:e,className:p(`size-4`,t)}),(0,q.jsx)(`p`,{children:n})]})})}function Uy({id:e,suggestion:t,isActive:n,onActivate:r,onSelect:i}){let a=(0,K.useCallback)(()=>{i(t)},[i,t]),o=t.appId!==Fy(t.name);return(0,q.jsxs)(`button`,{type:`button`,id:e,role:`option`,"aria-selected":n,onClick:a,onMouseEnter:r,title:zy(t),className:p(My,`scroll-mt-7`,n?`bg-state-active`:`hover:bg-state-hover`),children:[(0,q.jsx)(`span`,{className:Ny,children:(0,q.jsx)(yy,{icon:t.app.icon,className:`size-5 text-foreground`})}),(0,q.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,q.jsx)(`span`,{className:`truncate text-sm font-medium text-foreground`,children:t.name}),o?(0,q.jsx)(`span`,{className:`truncate font-mono text-xs text-muted-foreground`,children:t.appId}):null]})]})}function Wy({onClick:e}){return(0,q.jsxs)(`button`,{type:`button`,onClick:e,className:p(My,`hover:bg-state-hover`),children:[(0,q.jsx)(`span`,{className:Py,children:(0,q.jsx)(B,{name:`Plus`,className:`size-5`,"aria-hidden":!0})}),(0,q.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,q.jsx)(`span`,{className:`truncate text-sm font-medium text-foreground`,children:`Create App…`}),(0,q.jsx)(`span`,{className:`truncate text-xs text-muted-foreground`,children:`Describe an idea, the manager builds it`})]})]})}function Gy({id:e,suggestion:t,isActive:n,onActivate:r,onSelect:i}){let a=(0,K.useCallback)(()=>{i(t)},[i,t]),{directory:o}=Ry(t.path),s=o||null;return(0,q.jsx)(`button`,{type:`button`,id:e,role:`option`,"aria-selected":n,onClick:a,onMouseEnter:r,title:zy(t),className:p(`w-full scroll-mt-7 rounded px-2 py-1.5 text-left text-xs transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,n?`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)(B,{name:`File`,className:`size-3.5 shrink-0 text-muted-foreground`,"aria-hidden":!0}),(0,q.jsx)(`span`,{className:`truncate`,children:t.name}),s===null?null:(0,q.jsx)(cr,{className:`text-muted-foreground [flex-shrink:9999]`,children:s})]})})}function Ky({projectId:e,environmentId:t,currentThreadId:n,currentThreadType:r,focusRequest:i,initialQuery:a=``,onSelect:o,onCreateAppPromptPrefill:s}){let c=(0,K.useRef)(null),[l,u]=(0,K.useState)(a),[d,f]=(0,K.useState)(-1),p=Yn({projectId:e,threadId:n.length>0?n:null}),m=l.trim().length>0,h=p.storageKey!==null&&n.length>0,{suggestions:g,isLoading:_,isError:v,isDebouncing:y,isUnavailable:b}=Ty({projectId:e,query:l,limit:Dy,environmentId:t,currentThreadId:n,currentThreadType:r}),x=(0,K.useMemo)(()=>Iy({projectId:e,currentThreadId:n,currentThreadType:r}),[n,r,e]),S=(0,K.useMemo)(()=>Vy({availableSources:x,suggestions:g}),[x,g]),C=S.some(e=>e.kind===`apps`),w=!b&&h&&(!m||C),T=(0,K.useMemo)(()=>S.flatMap(e=>e.items.map(({suggestion:e})=>e)),[S]),E=(0,K.useMemo)(()=>d>=0&&d<T.length?T[d]??null:null,[d,T]);(0,K.useEffect)(()=>{c.current?.focus();let e=requestAnimationFrame(()=>{c.current?.focus()});return()=>cancelAnimationFrame(e)},[i]),(0,K.useEffect)(()=>{f(T.length>0?0:-1)},[T]);let D=(0,K.useCallback)(e=>{o({source:`app`,appId:e.appId})},[o]),O=(0,K.useCallback)(e=>{o({source:e.source,path:e.path})},[o]),k=(0,K.useCallback)(e=>{if(e.entryKind===`app`){D(e);return}O(e)},[D,O]),A=(0,K.useCallback)(()=>{h&&(!Nn(p.getCurrent())&&!window.confirm(`Replace the current composer draft with a Create App prompt?`)||(p.setDraft(Ey),s?.()))},[h,s,p]),j=(0,K.useCallback)(e=>{if(T.length!==0){if(e.key===`ArrowDown`){e.preventDefault(),f(e=>(e+1)%T.length);return}if(e.key===`ArrowUp`){e.preventDefault(),f(e=>e<=0?T.length-1:e-1);return}e.key===`Enter`&&E&&(e.preventDefault(),k(E))}},[E,k,T.length]);return(0,q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3`,children:[(0,q.jsxs)(`div`,{className:`relative`,children:[(0,q.jsx)(B,{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)($e,{ref:c,value:l,onChange:e=>u(e.target.value),onKeyDown:j,disabled:b,"aria-label":`Search apps and files`,"aria-activedescendant":E?Ly(E):void 0,placeholder:b?`No searchable source`:`Search apps and files`,className:`h-8 pl-8 pr-8 text-xs focus-visible:ring-0`}),y?(0,q.jsx)(B,{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]}),b?(0,q.jsx)(Hy,{iconName:`FileQuestion`,message:`No searchable app or file source is available.`}):(0,q.jsx)(qy,{activeIndex:d,canCreateApp:h,hasQuery:m,isError:v,isLoading:_,onActivateIndex:f,onAppSelect:D,onCreateApp:A,onFileSelect:O,sections:S,showAppsSectionShell:w})]})}function qy({activeIndex:e,canCreateApp:t,hasQuery:n,isError:r,isLoading:i,onActivateIndex:a,onAppSelect:o,onCreateApp:s,onFileSelect:c,sections:l,showAppsSectionShell:u}){let d=l.find(e=>e.kind===`apps`),f=l.find(e=>e.kind===`files`),m=u||d!==void 0,h=f!==void 0,g=i&&!h,_=r&&!h&&!g;return!m&&!h&&!g&&!_?(0,q.jsx)(Hy,{iconName:n?`FileQuestion`:`File`,message:n?`No apps or files match.`:`Type to search apps and files.`}):(0,q.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto pb-1`,children:[m?(0,q.jsxs)(`section`,{children:[(0,q.jsx)(`div`,{className:p(jy,`pt-0`),children:ky.apps}),d&&d.items.length>0?(0,q.jsx)(`div`,{role:`listbox`,"aria-label":ky.apps,className:`flex flex-col gap-px`,children:d.items.map(({suggestion:t,index:n})=>t.entryKind===`app`?(0,q.jsx)(Uy,{id:Ly(t),suggestion:t,isActive:n===e,onActivate:()=>a(n),onSelect:o},`app:${t.appId}`):null)}):null,t?(0,q.jsx)(`div`,{className:p(d&&d.items.length>0&&`mt-px`),children:(0,q.jsx)(Wy,{onClick:s})}):null]}):null,h&&f?(0,q.jsxs)(`section`,{className:p(m&&`mt-3`),children:[(0,q.jsx)(`div`,{className:p(jy,m&&`pt-2`),children:ky.files}),(0,q.jsx)(`div`,{role:`listbox`,"aria-label":ky.files,className:`flex flex-col gap-px`,children:f.items.map(({suggestion:t,index:n})=>t.entryKind===`file`?(0,q.jsx)(Gy,{id:Ly(t),suggestion:t,isActive:n===e,onActivate:()=>a(n),onSelect:c},`${t.source}:${t.path}`):null)})]}):g||_?(0,q.jsx)(`div`,{className:p(m&&`mt-3`),children:(0,q.jsx)(Hy,{iconName:_?`AlertCircle`:`Spinner`,iconClassName:g?`animate-spin`:void 0,message:_?`App and file search failed.`:`Searching apps and files...`})}):null]})}function Jy(e){return(0,q.jsx)(`div`,{className:`flex min-h-full flex-col gap-3 px-4 pt-1`,children:(0,q.jsx)(Ky,{...e})})}var Yy=[];function Xy(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 Zy({files:e,onSelectPath:t,selectedPath:n}){let[r,i]=(0,K.useState)(!1),[a,o]=(0,K.useState)(``),s=e??Yy,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}=Av({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?Xy(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 Qy=`bb.thread.fixedPanelTabsState`,$y=336*60*60*1e3,eb=`thread-info`,tb=`git-diff`,nb=`new-tab`,rb=L(`kind`,[x({kind:g(`working-tree`)}).strict(),x({kind:g(`head`)}).strict(),x({kind:g(`merge-base`),ref:d().min(1)}).strict()]),ib=g(`deleted`).nullable(),ab=x({id:g(eb),kind:g(`thread-info`)}).strict(),ob=x({id:g(tb),kind:g(`git-diff`)}).strict(),sb=x({environmentId:d().min(1).nullable(),id:d().min(1),kind:g(`workspace-file-preview`),lineNumber:v().int().positive().nullable(),path:d().min(1),source:rb,statusLabel:ib}).strict(),cb=x({id:d().min(1),kind:g(`host-file-preview`),lineNumber:v().int().positive().nullable(),path:d().min(1)}).strict(),lb=x({id:d().min(1),isPinned:te(),kind:g(`thread-storage-file-preview`),path:d().min(1)}).strict(),ub=x({appId:d().min(1),id:d().min(1),kind:g(`app`)}).strict(),db=x({id:g(nb),kind:g(`new-tab`)}).strict(),fb=x({id:d().min(1),kind:g(`terminal`),terminalId:d().min(1)}).strict(),pb=L(`kind`,[ab,ob,sb,cb,lb,ub,db]),mb=L(`kind`,[fb]),hb=x({tabs:y(pb),activeTabId:d().min(1).nullable(),isOpen:te()}).strict(),gb=x({tabs:y(pb),activeTabId:d().min(1).nullable()}).strict(),_b=x({tabs:y(mb),activeTabId:d().min(1).nullable()}).strict(),vb=x({version:g(1),secondary:hb,bottom:_b,lastUsedAt:v().int().nonnegative()}).strict(),yb=x({version:g(1),secondary:gb,bottom:_b,lastUsedAt:v().int().nonnegative()}).strict();function bb(){return typeof window>`u`?null:window.localStorage}function xb(e){return encodeURIComponent(e.trim())}function Sb(e,t){return`${e}:${encodeURIComponent(t)}`}function Cb(){return{id:eb,kind:`thread-info`}}function wb(){return{id:tb,kind:`git-diff`}}function Tb({environmentId:e,tab:t}){return{environmentId:e,id:Sb(`workspace-file-preview`,t.path),kind:`workspace-file-preview`,lineNumber:t.lineNumber,path:t.path,source:t.source,statusLabel:t.statusLabel}}function Eb(e){return{id:Sb(`host-file-preview`,e.path),kind:`host-file-preview`,lineNumber:e.lineNumber,path:e.path}}function Db({isPinned:e,path:t}){return{id:Sb(`thread-storage-file-preview`,t),isPinned:e,kind:`thread-storage-file-preview`,path:t}}function Ob({appId:e}){return{appId:e,id:`app:${encodeURIComponent(e)}`,kind:`app`}}function kb(){return{id:nb,kind:`new-tab`}}function Ab({terminalId:e}){return{id:`terminal:${encodeURIComponent(e)}`,kind:`terminal`,terminalId:e}}function jb(e,t){return e===`bottom`?t.kind===`terminal`:t.kind!==`terminal`}function Mb(e){return e.kind===`new-tab`}function Nb({group:e,region:t}){let n=new Set,r=[];for(let i of e.tabs)Mb(i)||!jb(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 Pb(e){return{...Nb({group:e,region:`secondary`}),isOpen:e.isOpen}}function Fb({state:e}){return{...e,secondary:Pb(e.secondary),bottom:Nb({group:e.bottom,region:`bottom`})}}function Ib(e={}){return Fb({state:{version:1,secondary:e.secondary??{tabs:[],activeTabId:null,isOpen:!1},bottom:e.bottom??{tabs:[],activeTabId:null},lastUsedAt:e.lastUsedAt??0}})}var Lb=Ib();function Rb({threadId:e}){return`${Qy}-${xb(e)}-1`}function zb(e){return e.startsWith(`bb.thread.fixedPanelTabsState-`)&&e.endsWith(`-1`)}function Bb({now:e,state:t}){return e-t.lastUsedAt>$y}function Vb({initialValue:e,now:t,storedValue:n}){return Hb({initialValue:e,now:t,storedValue:n}).state}function Hb({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=vb.safeParse(r);if(i.success){let n=Fb({state:i.data});return Bb({now:t,state:n})?{shouldPrune:!0,state:e}:{shouldPrune:!1,state:n}}let a=yb.safeParse(r);if(!a.success)return{shouldPrune:!0,state:e};let o=Fb({state:{...a.data,secondary:{...a.data.secondary,isOpen:a.data.secondary.activeTabId!==null}}});return Bb({now:t,state:o})?{shouldPrune:!0,state:e}:{shouldPrune:!1,state:o}}function Ub({state:e}){return JSON.stringify(Fb({state:e}))}function Wb({now:e}){let t=bb();if(!t)return;let n=[];for(let e=0;e<t.length;e+=1){let r=t.key(e);r&&zb(r)&&n.push(r)}for(let r of n)Hb({initialValue:Lb,now:e,storedValue:t.getItem(r)}).shouldPrune&&t.removeItem(r)}function Gb(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&&fe(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`app`:return t.kind===`app`&&e.appId===t.appId;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 Kb=`secondaryPanel`,qb=`git-diff`,Jb=`thread-info`;function Yb(e){switch(e){case qb:return`git-diff`;case Jb:return`thread-info`;default:return null}}function Xb(e){return Yb(new URLSearchParams(e).get(Kb))}function Zb(e,t){let n=new URLSearchParams(e);return t?n.set(Kb,t):n.delete(Kb),n.toString()}var Qb=60*1e3;function $b(e){return e!=null&&e.length>0}function ex(e,t){return{...e,lastUsedAt:t}}var tx=_t({parse:(e,t)=>Vb({initialValue:t,now:Date.now(),storedValue:e}),serialize:e=>Ub({state:e})}),nx=at(Lb),rx=gt(e=>ot(Rb({threadId:e}),Lb,tx,{getOnInit:!0}));function ix(e){return $b(e)?rx(e):nx}function ax(e){switch(e){case`thread-info`:return Cb().id;case`git-diff`:return wb().id}}function ox(e){switch(e){case`thread-info`:return Cb();case`git-diff`:return wb()}}function sx(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 cx(e,t){let n=Ab({terminalId:t});return e.find(e=>e.id===n.id)?e:[...e,n]}function lx(e,t){let n=Ab({terminalId:t}),r=e.filter(e=>e.id!==n.id);return r.length===e.length?e:r}function ux(e,t){let n=ax(t);return e.some(e=>e.id===n)?e:[...e,ox(t)]}function dx(e,t){return t!==null&&e.some(e=>e.id===t)}function fx(e){if(dx(e.secondary.tabs,e.secondary.activeTabId))return e.secondary.isOpen?e:{...e,secondary:{...e.secondary,isOpen:!0}};let t=`thread-info`,n=ux(e.secondary.tabs,t),r=ax(t);return{...e,secondary:{tabs:n,activeTabId:r,isOpen:!0}}}function px(e){return e.secondary.isOpen?{...e,secondary:{...e.secondary,isOpen:!1}}:e}function mx(e){(0,K.useEffect)(()=>{Wb({now:Date.now()})},[e])}function hx(e){return G(ix(e))}function gx(e){let t=Ze(ix(e));return(0,K.useCallback)(n=>{if(!$b(e))return;let r=Date.now();t(e=>{let t=n(e);return t===e?e:ex(t,r)})},[t,e])}function _x(e){let t=gx(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<Qb||(n.current={threadId:e,touchedAt:r},t(e=>!e.secondary.isOpen&&e.secondary.tabs.length===0&&e.bottom.tabs.length===0||r-e.lastUsedAt<Qb?e:{...e}))},[e,t])}function vx(e){let t=gx(e);return(0,K.useCallback)(e=>{t(t=>{let n=ux(t.secondary.tabs,e),r=ax(e);return n===t.secondary.tabs&&t.secondary.activeTabId===r&&t.secondary.isOpen?t:{...t,secondary:{tabs:n,activeTabId:r,isOpen:!0}}})},[t])}function yx(e){let t=gx(e);return(0,K.useCallback)(()=>{t(px)},[t])}function bx(e){let t=gx(e);return(0,K.useCallback)(()=>{t(e=>e.secondary.isOpen?px(e):fx(e))},[t])}function xx(e,t){let n=Ge(),r=Xe();(0,K.useEffect)(()=>{if(!$b(e))return;let i=Xb(n.search);if(i===null)return;t(i);let a=Zb(n.search,null);r({pathname:n.pathname,search:a.length>0?`?${a}`:``},{replace:!0})},[n.pathname,n.search,r,t,e])}function Sx(e){return sx(hx(e))?.terminalId??null}function Cx(e){let t=gx(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=cx(t.bottom.tabs,e),r=Ab({terminalId:e}).id;return n===t.bottom.tabs&&t.bottom.activeTabId===r?t:{...t,bottom:{tabs:n,activeTabId:r}}})},[t])}function wx(e){let t=gx(e);return(0,K.useCallback)(e=>{t(t=>{let n=lx(t.bottom.tabs,e);if(n===t.bottom.tabs)return t;let r=t.bottom.activeTabId===Ab({terminalId:e}).id;return{...t,bottom:{tabs:n,activeTabId:r?null:t.bottom.activeTabId}}})},[t])}var Tx=`status`;function Ex(e){return e.kind===`workspace-file-preview`}function Dx(e){return e.kind===`host-file-preview`}function Ox(e){return e.kind===`thread-storage-file-preview`}function kx(e){return e.kind===`app`}function Ax(e){return e.kind===`new-tab`}function jx(e){let t=e.secondary.activeTabId;return t===null?null:e.secondary.tabs.find(e=>e.id===t)??null}function Mx({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 Nx(e,t){let n=e.findIndex(e=>e.id===t.id);if(n===-1)return[...e,t];let r=e[n];return r&&Gb(r,t)?e:e.map(e=>e.id===t.id?t:e)}function Px(e,t){let n=e.filter(e=>e.id!==t);return n.length===e.length?e:n}function Fx(e,t){let n=e.filter(e=>!Ex(e)||e.environmentId===t);return n.length===e.length?e:n}function Ix(e){let t=e.filter(e=>!Ox(e));return t.length===e.length?e:t}function Lx(e,t){let n=e.filter(e=>!Ox(e)||t.has(e.path));return n.length===e.length?e:n}function Rx(e,t){let n=e.filter(e=>!kx(e)||t.has(e.appId));return n.length===e.length?e:n}function zx(e,t){return t!==null&&e.some(e=>e.id===t)}function Bx(e){return Db({isPinned:!1,path:e})}function Vx(e){return Ob({appId:e})}function Hx(e,t){for(let n of e)if(Ex(n)&&n.path===t)return n;return null}function Ux(e,t){for(let n of e)if(Dx(n)&&n.path===t)return n;return null}function Wx(e,t){for(let n of e)if(Ox(n)&&n.path===t)return n;return null}function Gx(e,t){for(let n of e)if(kx(n)&&n.appId===t)return n;return null}function Kx(e){for(let t of e)if(Ax(t))return t;return null}function qx({nextTab:e,state:t}){let n=Kx(t.secondary.tabs),r=n===null?t.secondary.tabs:Px(t.secondary.tabs,n.id),i=r.find(t=>t.id===e.id);if(i)return Mx({activeTabId:i.id,isOpen:!0,state:t,tabs:r});let a=n===null?Nx(r,e):t.secondary.tabs.map(t=>t.id===n.id?e:t);return Mx({activeTabId:e.id,isOpen:!0,state:t,tabs:a})}function Jx(e){return e.kind===`app`&&e.appId===`status`}function Yx(e){return Jx(e)}function Xx({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`app`: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(Yx),...r.filter(e=>!Yx(e))]}function Zx({apps:e,threadId:t,environmentId:n,threadType:r,storageFiles:i}){let a=hx(t),o=gx(t),s=r!==void 0,c=r===`manager`,l=s?n??null:void 0,u=(0,K.useMemo)(()=>e?new Set(e.map(e=>e.id)):null,[e]);(0,K.useEffect)(()=>{l!==void 0&&o(e=>{let t=Fx(e.secondary.tabs,l);return Mx({activeTabId:zx(t,e.secondary.activeTabId)?e.secondary.activeTabId:null,isOpen:e.secondary.isOpen,state:e,tabs:t})})},[l,o]),(0,K.useEffect)(()=>{s&&(c||o(e=>{let t=Ix(e.secondary.tabs);return Mx({activeTabId:zx(t,e.secondary.activeTabId)?e.secondary.activeTabId:null,isOpen:e.secondary.isOpen,state:e,tabs:t})}))},[c,s,o]),(0,K.useEffect)(()=>{!s||!i||c&&o(e=>{let t=new Set(i.map(e=>e.path)),n=Lx(e.secondary.tabs,t);return Mx({activeTabId:zx(n,e.secondary.activeTabId)?e.secondary.activeTabId:null,isOpen:e.secondary.isOpen,state:e,tabs:n})})},[c,s,i,o]),(0,K.useEffect)(()=>{!s||u===null||o(e=>{let t=Rx(e.secondary.tabs,u);return Mx({activeTabId:zx(t,e.secondary.activeTabId)?e.secondary.activeTabId:null,isOpen:e.secondary.isOpen,state:e,tabs:t})})},[u,s,o]),(0,K.useEffect)(()=>{!c||u===null||!u.has(`status`)||o(e=>{let t=Vx(Tx),n=Nx(e.secondary.tabs,t);return Mx({activeTabId:zx(n,e.secondary.activeTabId)?e.secondary.activeTabId:t.id,isOpen:e.secondary.isOpen,state:e,tabs:n})})},[u,c,o]);let d=(0,K.useCallback)(({lineNumber:e,path:t,source:n,statusLabel:r})=>{if(l===void 0)return;let i=Tb({environmentId:l,tab:{lineNumber:e,path:t,source:n,statusLabel:r}});o(a=>{let o=Hx(a.secondary.tabs,t),s=Nx(a.secondary.tabs,i);return o&&o.environmentId===l&&o.lineNumber===e&&fe(o.source,n)&&o.statusLabel===r&&a.secondary.activeTabId===i.id&&a.secondary.isOpen?a:Mx({activeTabId:i.id,isOpen:!0,state:a,tabs:s})})},[l,o]),f=(0,K.useCallback)(e=>{o(t=>{let n=Hx(t.secondary.tabs,e);if(!n)return t;let r=Px(t.secondary.tabs,n.id);return Mx({activeTabId:t.secondary.activeTabId===n.id?null:t.secondary.activeTabId,isOpen:t.secondary.isOpen,state:t,tabs:r})})},[o]),p=(0,K.useCallback)(e=>{o(t=>{let n=Hx(t.secondary.tabs,e);return!n||t.secondary.activeTabId===n.id&&t.secondary.isOpen?t:Mx({activeTabId:n.id,isOpen:!0,state:t,tabs:t.secondary.tabs})})},[o]),m=(0,K.useCallback)(e=>{if(!c)return;let t=Bx(e);o(e=>{let n=Nx(e.secondary.tabs,t);return n===e.secondary.tabs&&e.secondary.activeTabId===t.id&&e.secondary.isOpen?e:Mx({activeTabId:t.id,isOpen:!0,state:e,tabs:n})})},[c,o]),h=(0,K.useCallback)(({lineNumber:e,path:n})=>{if(!t)return;let r=Eb({lineNumber:e,path:n});o(t=>{let i=Ux(t.secondary.tabs,n),a=Nx(t.secondary.tabs,r);return i&&i.lineNumber===e&&t.secondary.activeTabId===r.id&&t.secondary.isOpen?t:Mx({activeTabId:r.id,isOpen:!0,state:t,tabs:a})})},[t,o]),g=(0,K.useCallback)(e=>{o(t=>{let n=Ux(t.secondary.tabs,e);if(!n)return t;let r=Px(t.secondary.tabs,n.id);return Mx({activeTabId:t.secondary.activeTabId===n.id?null:t.secondary.activeTabId,isOpen:t.secondary.isOpen,state:t,tabs:r})})},[o]),_=(0,K.useCallback)(e=>{o(t=>{let n=Ux(t.secondary.tabs,e);return!n||t.secondary.activeTabId===n.id&&t.secondary.isOpen?t:Mx({activeTabId:n.id,isOpen:!0,state:t,tabs:t.secondary.tabs})})},[o]),v=(0,K.useCallback)(e=>{let t=Vx(e);o(e=>{let n=Nx(e.secondary.tabs,t);return n===e.secondary.tabs&&e.secondary.activeTabId===t.id&&e.secondary.isOpen?e:Mx({activeTabId:t.id,isOpen:!0,state:e,tabs:n})})},[o]),y=(0,K.useCallback)(e=>{e!==`status`&&o(t=>{let n=Gx(t.secondary.tabs,e);if(!n)return t;let r=Px(t.secondary.tabs,n.id);return Mx({activeTabId:t.secondary.activeTabId===n.id?null:t.secondary.activeTabId,isOpen:t.secondary.isOpen,state:t,tabs:r})})},[o]),b=(0,K.useCallback)(e=>{o(t=>{let n=Gx(t.secondary.tabs,e);return!n||t.secondary.activeTabId===n.id&&t.secondary.isOpen?t:Mx({activeTabId:n.id,isOpen:!0,state:t,tabs:t.secondary.tabs})})},[o]),x=(0,K.useCallback)(e=>{c&&o(t=>{let n=Wx(t.secondary.tabs,e);if(!n)return t;let r=Px(t.secondary.tabs,n.id);return Mx({activeTabId:t.secondary.activeTabId===n.id?null:t.secondary.activeTabId,isOpen:t.secondary.isOpen,state:t,tabs:r})})},[c,o]),S=(0,K.useCallback)(e=>{c&&o(t=>{let n=Wx(t.secondary.tabs,e);return!n||t.secondary.activeTabId===n.id&&t.secondary.isOpen?t:Mx({activeTabId:n.id,isOpen:!0,state:t,tabs:t.secondary.tabs})})},[c,o]),C=(0,K.useCallback)(()=>{let e=kb();o(t=>{let n=Nx(t.secondary.tabs,e);return n===t.secondary.tabs&&t.secondary.activeTabId===e.id&&t.secondary.isOpen?t:Mx({activeTabId:e.id,isOpen:!0,state:t,tabs:n})})},[o]),w=(0,K.useCallback)(()=>{let e=kb();o(t=>!Kx(t.secondary.tabs)||t.secondary.activeTabId===e.id&&t.secondary.isOpen?t:Mx({activeTabId:e.id,isOpen:!0,state:t,tabs:t.secondary.tabs}))},[o]),T=(0,K.useCallback)(()=>{let e=kb();o(t=>{let n=Px(t.secondary.tabs,e.id);return n===t.secondary.tabs?t:Mx({activeTabId:t.secondary.activeTabId===e.id?null:t.secondary.activeTabId,isOpen:t.secondary.isOpen,state:t,tabs:n})})},[o]),E=(0,K.useCallback)(e=>{if(e.source===`app`){let t=Vx(e.appId);o(e=>qx({nextTab:t,state:e}));return}if(e.source===`workspace`){if(l===void 0)return;let t=Tb({environmentId:l,tab:{lineNumber:null,path:e.path,source:{kind:`working-tree`},statusLabel:null}});o(e=>qx({nextTab:t,state:e}));return}if(!c)return;let t=Bx(e.path);o(e=>qx({nextTab:t,state:e}))},[c,l,o]),D=(0,K.useCallback)(()=>{o(e=>{let t=jx(e);return!t||t.kind!==`workspace-file-preview`&&t.kind!==`host-file-preview`&&t.kind!==`thread-storage-file-preview`&&t.kind!==`app`?e:Mx({activeTabId:null,isOpen:e.secondary.isOpen,state:e,tabs:e.secondary.tabs})})},[o]),O=jx(a),k=Xx({tabs:a.secondary.tabs,resolvedEnvironmentId:l,isManagerThread:c}),A=O?.kind===`workspace-file-preview`&&O.environmentId===l?O:null,j=c&&O?.kind===`thread-storage-file-preview`?O:null,M=O?.kind===`host-file-preview`?O:null,N=O?.kind===`app`?O:null,P=O?.kind===`new-tab`?O:null;return{orderedSecondaryFileTabs:k,activateAppTab:b,activateNewTab:w,activateHostFileTab:_,activateStorageFileTab:S,activateWorkspaceFileTab:p,activeAppId:N?.appId??null,activeHostFileLineNumber:M?.lineNumber??null,activeHostFilePath:M?.path??null,activeStorageFilePath:j?.path??null,activeWorkspaceFileLineNumber:A?.lineNumber??null,activeWorkspaceFilePath:A?.path??null,activeWorkspaceFileSource:A?.source??null,activeWorkspaceFileStatusLabel:A?.statusLabel??null,clearActiveFileTabs:D,closeAppTab:y,closeHostFileTab:g,closeNewTab:T,closeStorageFileTab:x,closeWorkspaceFileTab:f,hasNewTab:Kx(a.secondary.tabs)!==null,isNewTabActive:P!==null,openNewTab:C,openApp:v,openHostFile:h,openStorageFile:m,openWorkspaceFile:d,selectFileSearchResult:E}}function Qx(e){return e??void 0}function $x({previousStateKey:e,nextStateKey:t,persistedMergeBaseBranch:n,selectedMergeBaseBranch:r,updatePending:i}){return e===t?i?!1:r!==Qx(n):!0}function eS({environment:e,workspaceStatus:t}){return e?.baseBranch??t?.branch.defaultBranch??e?.defaultBranch??void 0}function tS({environment:e,selectedMergeBaseBranch:t,workspaceStatus:n}){return t??e?.mergeBaseBranch??e?.baseBranch??n?.mergeBase?.mergeBaseBranch??n?.branch.defaultBranch??se(e)}function nS({branch:e,environment:t,workspaceStatus:n}){let r=e.trim();return r.length===0||r===eS({environment:t,workspaceStatus:n})?null:r}function rS(e){let t={description:e.body};if(e.severity===`error`){lt.error(e.title,t);return}lt.warning(e.title,t)}function iS({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)(()=>{$x({previousStateKey:l.current,nextStateKey:u,persistedMergeBaseBranch:e?.mergeBaseBranch,selectedMergeBaseBranch:i,updatePending:d})&&(l.current=u,a(Qx(e?.mergeBaseBranch)))},[e?.mergeBaseBranch,d,u,i,a]);let f=tS({environment:e,selectedMergeBaseBranch:i,workspaceStatus:c}),p=!!(f||c?.branch.defaultBranch),m=f,h=(0,K.useMemo)(()=>Un({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=nS({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=pt(t);if(n?.code===`environment_not_ready`&&n.details.environmentStatus===`provisioning`)return;let r=st({error:t,operation:`update_merge_base`});if(r){rS(r);return}lt.error(mt({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 aS=_((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={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#x27;`,"`":`&#x60;`,"=":`&#x3D;`},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}})),oS=_(((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})),sS=_(((e,t)=>{e.__esModule=!0;var n=aS();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})),cS=_(((e,t)=>{e.__esModule=!0;function n(e){return e&&e.__esModule?e:{default:e}}var r=aS(),i=n(oS());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})),lS=_(((e,t)=>{e.__esModule=!0;function n(e){return e&&e.__esModule?e:{default:e}}var r=n(oS());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})),uS=_(((e,t)=>{e.__esModule=!0;function n(e){return e&&e.__esModule?e:{default:e}}var r=aS(),i=n(oS());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})),dS=_(((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})),fS=_(((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})),pS=_(((e,t)=>{e.__esModule=!0;function n(e){return e&&e.__esModule?e:{default:e}}var r=aS(),i=n(oS());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})),mS=_((e=>{e.__esModule=!0,e.registerDefaultHelpers=l,e.moveHelperToHooks=u;function t(e){return e&&e.__esModule?e:{default:e}}var n=t(sS()),r=t(cS()),i=t(lS()),a=t(uS()),o=t(dS()),s=t(fS()),c=t(pS());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])}})),hS=_(((e,t)=>{e.__esModule=!0;var n=aS();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})),gS=_((e=>{e.__esModule=!0,e.registerDefaultDecorators=r;function t(e){return e&&e.__esModule?e:{default:e}}var n=t(hS());function r(e){n.default(e)}})),_S=_(((e,t)=>{e.__esModule=!0;var n=aS(),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})),vS=_((e=>{e.__esModule=!0,e.createNewLookupObject=n;var t=aS();function n(){var e=[...arguments];return t.extend.apply(void 0,[Object.create(null)].concat(e))}})),yS=_((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=vS(),r=t(_S()),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.
1829
+ You can add a runtime option to disable the check or this warning:
1830
+ 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]})}})),bS=_((e=>{e.__esModule=!0,e.HandlebarsEnvironment=l;function t(e){return e&&e.__esModule?e:{default:e}}var n=aS(),r=t(oS()),i=mS(),a=gS(),o=t(_S()),s=yS();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})),xS=_(((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})),SS=_((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}})),CS=_((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(aS()),i=t(oS()),a=bS(),o=mS(),s=SS(),c=yS();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(`
1831
+ `),u=0,d=l.length;u<d&&!(!l[u]&&u+1===d);u++)l[u]=o.indent+l[u];c=l.join(`
1832
+ `)}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)})}})),wS=_(((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})),TS=_(((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(bS()),a=n(xS()),o=n(oS()),s=r(aS()),c=r(CS()),l=n(wS());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})),ES=_(((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})),DS=_(((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)+`:
1833
+ `+this.lexer.showPosition()+`
1834
+ 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()+`
1835
+ `+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.
1836
+ `+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=_(((e,t)=>{e.__esModule=!0;function n(e){return e&&e.__esModule?e:{default:e}}var r=n(oS());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})),kS=_(((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})),AS=_((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(oS());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)}}})),jS=_((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(DS()),i=n(kS()),a=t(AS()),o=aS();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)}})),MS=_((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(oS()),r=aS(),i=t(ES()),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}}}})),NS=_((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}})),PS=_((e=>{var t=NS(),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}})),FS=_((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})),IS=_((e=>{var t=FS(),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})),LS=_((e=>{var t=FS();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})),RS=_((e=>{var t=PS(),n=FS(),r=IS().ArraySet,i=LS().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})),zS=_((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}})),BS=_((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)}})),VS=_((e=>{var t=FS(),n=zS(),r=IS().ArraySet,i=PS(),a=BS().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})),HS=_((e=>{var t=RS().SourceMapGenerator,n=FS(),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})),US=_((e=>{e.SourceMapGenerator=RS().SourceMapGenerator,e.SourceMapConsumer=VS().SourceMapConsumer,e.SourceNode=HS().SourceNode})),WS=_(((e,t)=>{e.__esModule=!0;var n=aS(),r=void 0;try{(typeof define!=`function`||!define.amd)&&(r=US().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,`
1837
+ `])}),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})),GS=_(((e,t)=>{e.__esModule=!0;function n(e){return e&&e.__esModule?e:{default:e}}var r=bS(),i=n(oS()),a=aS(),o=n(WS());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(),`;
1838
+ `]),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) {
1839
+ `),this.decorators.push(`}
1840
+ `),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(`,`),`) {
1841
+ `,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?``:`;
1842
+ `)),this.source.merge()},lookupPropertyFunctionVarDeclaration:function(){return`lookupProperty = container.lookupProperty || function(parent, propertyName) {
1843
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
1844
+ return parent[propertyName];
1845
+ }
1846
+ return undefined
1847
+ }`},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})),KS=C(_(((e,t)=>{e.__esModule=!0;function n(e){return e&&e.__esModule?e:{default:e}}var r=n(TS()),i=n(ES()),a=jS(),o=MS(),s=n(GS()),c=n(OS()),l=n(wS()),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),qS=[{id:`agentThreadMessage`,body:`[bb message from thread:{{senderThreadId}}; reply with \`bb thread tell {{senderThreadId}} "<your response>"\`]
1848
+
1849
+ {{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:`bbGuideApp`,body:`Apps
1850
+
1851
+ Apps are the supported way to build dashboards, control panels, and other
1852
+ interactive surfaces inside thread storage. A manager's primary status surface
1853
+ is the built-in \`status\` app. Keep that app current instead of creating legacy
1854
+ top-level status files.
1855
+
1856
+ Storage layout:
1857
+
1858
+ \`\`\`text
1859
+ $BB_THREAD_STORAGE/
1860
+ apps/
1861
+ status/
1862
+ manifest.json
1863
+ assets/
1864
+ index.html
1865
+ data/
1866
+ state.json
1867
+ \`\`\`
1868
+
1869
+ Each app is rooted at \`apps/<id>/\`. The manifest lives at
1870
+ \`apps/<id>/manifest.json\`, browser files live under \`apps/<id>/assets/\`, and
1871
+ durable JSON state lives under \`apps/<id>/data/\`. The \`status\` app should keep
1872
+ its primary shared state in \`apps/status/data/state.json\`.
1873
+
1874
+ Manifest:
1875
+
1876
+ \`\`\`json
1877
+ {
1878
+ "manifestVersion": 1,
1879
+ "id": "status",
1880
+ "name": "Status",
1881
+ "icon": "ListTodo",
1882
+ "entry": "index.html",
1883
+ "contributions": ["thread.app"],
1884
+ "capabilities": ["data", "message"]
1885
+ }
1886
+ \`\`\`
1887
+
1888
+ \`id\` uses letters, numbers, underscores, and hyphens. \`entry\` is relative to
1889
+ \`assets/\`. HTML entries load in an app iframe and receive the \`window.bb\`
1890
+ bridge according to \`capabilities\`; Markdown entries render as static documents
1891
+ and do not receive \`window.bb\`. \`capabilities\` controls which \`window.bb\`
1892
+ helpers are injected for HTML entries: \`data\` enables \`window.bb.data\`, and
1893
+ \`message\` enables \`window.bb.message\`.
1894
+
1895
+ The served app URL is flat: \`/api/v1/threads/<thread-id>/apps/<id>/<file>\`
1896
+ maps to \`apps/<id>/assets/<file>\` on disk. HTML should use flat relative refs
1897
+ like \`./index-abc.js\`, not \`./assets/index-abc.js\`. For Vite builds, set
1898
+ \`build.assetsDir = ""\` so emitted files sit alongside \`index.html\`.
1899
+
1900
+ The icon is optional and uses a built-in icon name. Icon resolution order is:
1901
+
1902
+ 1. \`manifest.icon\`, when present, as a built-in icon.
1903
+ 2. A custom top-level \`logo.svg\`, \`logo.png\`, \`logo.jpg\`, or \`logo.jpeg\` in the
1904
+ app root, up to 1 MB.
1905
+ 3. The built-in \`GridView\` fallback.
1906
+
1907
+ CLI:
1908
+
1909
+ \`\`\`bash
1910
+ bb app list --self
1911
+ bb app new "Review Board" --id review-board --template blank --self
1912
+ bb app new "Status" --id status --template status --self
1913
+ bb app open status --self
1914
+ bb app rm review-board --self --yes
1915
+ \`\`\`
1916
+
1917
+ Pass a thread id instead of \`--self\` to target another thread. \`bb app open\`
1918
+ prints the app URL. \`--json\` is available for scripts.
1919
+
1920
+ Agent writes:
1921
+
1922
+ Write app data directly to \`apps/<id>/data/<path>\` using a temp file in the
1923
+ same directory and then \`mv\` into place. Same-directory rename is atomic on
1924
+ macOS and Linux, and bb broadcasts the committed app-data change.
1925
+
1926
+ \`\`\`bash
1927
+ dir="$BB_THREAD_STORAGE/apps/status/data"
1928
+ mkdir -p "$dir"
1929
+ tmp=$(mktemp "$dir/.state.XXXXXX")
1930
+ printf '%s\\n' '{"tasks":[],"updatedAt":"2026-05-28T00:00:00Z"}' > "$tmp" &&
1931
+ mv "$tmp" "$dir/state.json"
1932
+ \`\`\`
1933
+
1934
+ Data paths are relative to the app's \`data/\` directory. They must not start or
1935
+ end with \`/\`, must not contain backslashes, dot-prefixed segments, \`.\` or \`..\`,
1936
+ and may be nested up to eight path segments. Each segment may use letters,
1937
+ numbers, dots, underscores, and hyphens.
1938
+
1939
+ Browser API:
1940
+
1941
+ \`\`\`ts
1942
+ window.bb.appId
1943
+ await window.bb.data?.read("state.json")
1944
+ await window.bb.data?.write("state.json", { tasks: [] })
1945
+ await window.bb.data?.delete("state.json")
1946
+ const entries = await window.bb.data?.list("")
1947
+ const unsubscribe = window.bb.data?.onChange("", (event) => {
1948
+ console.log(event.path, event.value, event.deleted)
1949
+ })
1950
+ await window.bb.message?.("Please review the current blockers.")
1951
+ \`\`\`
1952
+
1953
+ \`window.bb.data\` reads and writes JSON values. \`onChange(prefix, callback)\`
1954
+ matches a single data file when \`prefix\` equals that path and matches a subtree
1955
+ when the changed path is below \`prefix + "/"\`; \`""\` matches all app data.
1956
+ Registering a listener immediately replays existing matching data, and bb
1957
+ replays again after reconnects or app-data resync hints. Later filesystem
1958
+ writes, browser writes, and deletes are delivered after that replay.
1959
+ \`window.bb.message(text)\` sends a normal follow-up message to the thread that
1960
+ owns the app.
1961
+
1962
+ Minimal status app pattern:
1963
+
1964
+ \`\`\`html
1965
+ <main>
1966
+ <h1>Current work</h1>
1967
+ <ul id="tasks"></ul>
1968
+ </main>
1969
+ <script>
1970
+ const list = document.querySelector("#tasks");
1971
+
1972
+ function render(state) {
1973
+ const tasks = state?.tasks ?? [];
1974
+ list.replaceChildren(
1975
+ ...tasks.map((task) => {
1976
+ const item = document.createElement("li");
1977
+ item.textContent = \`\${task.title} - \${task.state}\`;
1978
+ return item;
1979
+ }),
1980
+ );
1981
+ }
1982
+
1983
+ window.bb.data?.read("state.json").then(render);
1984
+ window.bb.data?.onChange("state.json", (event) => render(event.value));
1985
+ <\/script>
1986
+ \`\`\`
1987
+
1988
+ Styling:
1989
+
1990
+ Make app UI quiet, dense, and consistent with bb unless the user asks for a
1991
+ different direction. Use Tailwind for layout utilities if helpful, and use the
1992
+ bb-style tokens below for colors, fonts, borders, radius, and shadows. Apps
1993
+ render in iframes, so external resources such as Google Fonts, Tailwind CDN,
1994
+ remote images, and stylesheets load normally.
1995
+
1996
+ \`\`\`html
1997
+ <script src="https://cdn.tailwindcss.com"><\/script>
1998
+ <link rel="preconnect" href="https://fonts.googleapis.com">
1999
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
2000
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Fira+Code:wght@400;500&display=swap" rel="stylesheet">
2001
+ <style>
2002
+ :root {
2003
+ color-scheme: light;
2004
+ --background: oklch(0.9551 0 0);
2005
+ --foreground: oklch(0.3211 0 0);
2006
+ --card: oklch(0.9702 0 0);
2007
+ --muted: oklch(0.8853 0 0);
2008
+ --muted-foreground: oklch(0.5103 0 0);
2009
+ --border: oklch(0.8576 0 0);
2010
+ --accent: oklch(0.9 0 0);
2011
+ --success: oklch(0.7 0.15 155);
2012
+ --warning: oklch(0.7 0.16 50);
2013
+ --destructive: oklch(0.5594 0.19 25.8625);
2014
+ --radius: 0.5rem;
2015
+ --font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;
2016
+ --font-mono: "Fira Code", ui-monospace, SFMono-Regular, monospace;
2017
+ }
2018
+ @media (prefers-color-scheme: dark) {
2019
+ :root {
2020
+ color-scheme: dark;
2021
+ --background: oklch(0.2178 0 0);
2022
+ --foreground: oklch(0.8853 0 0);
2023
+ --card: oklch(0.2435 0 0);
2024
+ --muted: oklch(0.31 0 0);
2025
+ --muted-foreground: oklch(0.7058 0 0);
2026
+ --border: oklch(0.34 0 0);
2027
+ --accent: oklch(0.32 0 0);
2028
+ }
2029
+ }
2030
+ body {
2031
+ margin: 0;
2032
+ background: var(--background);
2033
+ color: var(--foreground);
2034
+ font-family: var(--font-sans);
2035
+ font-size: 13px;
2036
+ }
2037
+ .panel {
2038
+ border: 1px solid var(--border);
2039
+ border-radius: var(--radius);
2040
+ background: var(--card);
2041
+ }
2042
+ </style>
2043
+ \`\`\`
2044
+
2045
+ Keep one canonical app for each concept. For manager progress, update the
2046
+ \`status\` app instead of creating parallel views. Use additional apps only when
2047
+ they are distinct tools or dashboards.
2048
+
2049
+ Related guides:
2050
+
2051
+ bb guide overview
2052
+ bb guide managers
2053
+ bb guide manager-templates
2054
+ bb guide async`,fileName:`bb-guide-app.md`,kind:`instruction`,title:`bb Guide - Apps`,summary:`Thread app storage, browser API, CLI, and styling reference.`,intent:`Explain the only supported way to build manager-visible dashboards and interactive thread apps.`,editingNotes:`Keep this aligned with routes/threads/apps.ts, app-client-script.ts, app CLI commands, and the default status app template.`,variables:{}},{id:`bbGuideAsync`,body:`Async scheduled nudges
2055
+
2056
+ Use \`ASYNC.md\` in thread storage when the system should wake a manager thread
2057
+ later for reminders, recurring check-ins, or follow-up work.
2058
+
2059
+ \`ASYNC.md\` is Markdown with YAML frontmatter:
2060
+
2061
+ \`\`\`yaml
2062
+ ---
2063
+ timezone: America/Los_Angeles
2064
+ schedules:
2065
+ - name: daily-recap
2066
+ cron: "0 8 * * 1-5"
2067
+ - name: deploy-check
2068
+ cron: "0 */2 * * *"
2069
+ timezone: UTC
2070
+ ---
2071
+ \`\`\`
2072
+
2073
+ Each schedule has a matching \`## <name>\` section in the body with instructions
2074
+ for your future self. The top-level \`timezone\` defaults to UTC; each schedule
2075
+ can override it.
2076
+
2077
+ For one-off reminders like "in 10 minutes", encode the next daily occurrence
2078
+ and note in the body to remove the schedule after it fires once.
2079
+
2080
+ Keep schedule \`name\` values stable. The server syncs entries by name, so
2081
+ renaming one creates a new schedule rather than editing it.
2082
+
2083
+ Constraints:
2084
+
2085
+ - No more than 20 schedules.
2086
+ - No interval shorter than 5 minutes.
2087
+ - The cron month field must stay \`*\`.
2088
+
2089
+ When a scheduled nudge arrives, read the matching section in \`ASYNC.md\` and
2090
+ decide whether there is real work to do. Only message the user when the nudge
2091
+ 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
2092
+
2093
+ Environments determine where threads run. Multiple threads can share an environment
2094
+ (e.g., a coding thread and a review thread in the same worktree).
2095
+
2096
+ bb environment show <id> Show environment details (path, branch, status)
2097
+
2098
+ bb environment update <id> Update environment metadata
2099
+ --merge-base-branch <branch> Set merge-base branch override
2100
+ --clear-merge-base-branch Clear merge-base override
2101
+
2102
+ bb environment commit <id> Create a commit in the environment
2103
+
2104
+ bb environment squash-merge <id> Squash-merge into a target branch
2105
+ --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
2106
+
2107
+ Hosts are where environments run.
2108
+
2109
+ - Persistent hosts are long-lived machines (your laptop, a remote server).
2110
+
2111
+ bb host list List persistent hosts with status
2112
+
2113
+ 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
2114
+
2115
+ Manager templates are named bundles of starter files for manager thread
2116
+ storage. When bb starts a new manager thread, the server resolves a template
2117
+ and recursively copies regular files into the new manager's thread storage
2118
+ before the host daemon receives the initial \`thread.start\` command. This is how
2119
+ a fresh manager can boot with starter \`PREFERENCES.md\`, \`ASYNC.md\`, and
2120
+ \`apps/status/\` files.
2121
+
2122
+ Directory layout:
2123
+
2124
+ \`\`\`text
2125
+ <bb-data-dir>/manager-templates/
2126
+ active
2127
+ default/
2128
+ apps/
2129
+ status/
2130
+ manifest.json
2131
+ assets/
2132
+ index.html
2133
+ data/
2134
+ state.json
2135
+ sawyer-next/
2136
+ PREFERENCES.md
2137
+ apps/
2138
+ status/
2139
+ manifest.json
2140
+ assets/
2141
+ index.html
2142
+ data/
2143
+ state.json
2144
+ \`\`\`
2145
+
2146
+ In this guide, \`<bb-data-dir>\` is your bb data directory. Packaged installs
2147
+ default to \`$HOME/.bb\`. In source development, \`pnpm dev\` sets \`BB_DATA_DIR\`
2148
+ to the current checkout's data directory; use \`$BB_DATA_DIR/manager-templates/\`.
2149
+ Override packaged installs with the \`BB_DATA_DIR\` env var.
2150
+
2151
+ \`active\` is a plain text file. bb reads the first line, trims it, and uses it
2152
+ as the template name. Missing or empty \`active\` means \`default\`. An invalid
2153
+ name logs a warning and falls back to \`default\`. Template names must be one
2154
+ directory name: 1-128 characters, no \`/\` or \`\\\`, and not \`.\` or \`..\`.
2155
+
2156
+ Each subdirectory is a template set. The directory name is the template name.
2157
+
2158
+ What gets seeded:
2159
+
2160
+ bb recursively copies every regular file from the selected template directory
2161
+ into \`<bb-data-dir>/thread-storage/<manager-thread-id>/\`. There is no filename
2162
+ allowlist: \`PREFERENCES.md\`, \`ASYNC.md\`, \`apps/status/manifest.json\`, and
2163
+ \`apps/status/data/state.json\` are conventions, not the only files allowed.
2164
+ Symlinks and other non-regular files are ignored. Existing destination files
2165
+ are left as-is; seeding does not overwrite, delete, or refresh files.
2166
+
2167
+ If \`default/\` is missing, bb uses a bundled fallback template containing only
2168
+ the \`status\` app:
2169
+
2170
+ \`\`\`text
2171
+ apps/status/manifest.json
2172
+ apps/status/assets/index.html
2173
+ apps/status/data/state.json
2174
+ \`\`\`
2175
+
2176
+ If \`default/\` exists but is empty, no bundled files are mixed in. If a selected
2177
+ non-default template is missing, bb logs a warning and skips storage seeding.
2178
+
2179
+ When it runs:
2180
+
2181
+ Seeding happens while building the manager \`thread.start\` command, normally
2182
+ after \`POST /api/v1/projects/:id/managers\` or \`bb manager hire\` creates the
2183
+ manager and the environment is ready. It happens before the host daemon starts
2184
+ the provider thread. The copy operation is safe to run more than once because
2185
+ existing files are skipped; it is not a refresh mechanism for managers that
2186
+ already have storage.
2187
+
2188
+ Selecting a template:
2189
+
2190
+ For one manager, pass a template name at hire time:
2191
+
2192
+ \`\`\`bash
2193
+ bb manager hire --template sawyer-next
2194
+ \`\`\`
2195
+
2196
+ \`--template\` overrides the \`active\` pointer for that manager creation only.
2197
+
2198
+ For future managers by default, edit the active pointer:
2199
+
2200
+ \`\`\`bash
2201
+ DATA_DIR="\${BB_DATA_DIR:-$HOME/.bb}"
2202
+ mkdir -p "$DATA_DIR/manager-templates"
2203
+ printf 'sawyer-next\\n' > "$DATA_DIR/manager-templates/active"
2204
+ \`\`\`
2205
+
2206
+ There is no dedicated CLI command today for changing the global active
2207
+ template.
2208
+
2209
+ Creating a template:
2210
+
2211
+ \`\`\`bash
2212
+ DATA_DIR="\${BB_DATA_DIR:-$HOME/.bb}"
2213
+ mkdir -p "$DATA_DIR/manager-templates/sawyer-next"
2214
+ cp -R "$DATA_DIR/manager-templates/default/apps" \\
2215
+ "$DATA_DIR/manager-templates/sawyer-next/apps"
2216
+ $EDITOR "$DATA_DIR/manager-templates/sawyer-next/PREFERENCES.md"
2217
+ printf 'sawyer-next\\n' > "$DATA_DIR/manager-templates/active"
2218
+ \`\`\`
2219
+
2220
+ Promoting current preferences:
2221
+
2222
+ Managers see their storage path in runtime context. To save the current
2223
+ manager's \`PREFERENCES.md\` and status app starter state to the default
2224
+ template:
2225
+
2226
+ \`\`\`bash
2227
+ DATA_DIR="\${BB_DATA_DIR:-$HOME/.bb}"
2228
+ THREAD_STORAGE="/absolute/path/from-manager-runtime-context"
2229
+ mkdir -p "$DATA_DIR/manager-templates/default/apps/status"
2230
+ cp "$THREAD_STORAGE/PREFERENCES.md" \\
2231
+ "$DATA_DIR/manager-templates/default/PREFERENCES.md"
2232
+ cp -R "$THREAD_STORAGE/apps/status/." \\
2233
+ "$DATA_DIR/manager-templates/default/apps/status/"
2234
+ printf 'default\\n' > "$DATA_DIR/manager-templates/active"
2235
+ \`\`\`
2236
+
2237
+ Copy \`ASYNC.md\` or additional \`apps/<id>/\` directories into the same template
2238
+ directory when those starter files should be shared too.
2239
+
2240
+ Limitations and gotchas:
2241
+
2242
+ - There is no dedicated CLI or UI for changing \`active\`.
2243
+ - Template file contents are not schema-validated before copying.
2244
+ - Symlinks and other non-regular files are ignored.
2245
+ - Existing thread storage files are never overwritten by seeding.
2246
+ - A user-authored \`default/\` directory fully replaces the bundled fallback,
2247
+ even if it is empty.
2248
+ - Missing selected non-default templates skip seeding instead of falling back
2249
+ to \`default\`.
2250
+
2251
+ Related guides:
2252
+
2253
+ bb guide overview
2254
+ bb guide managers
2255
+ bb guide app
2256
+ 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
2257
+
2258
+ Managers are long-running threads that coordinate work across other threads.
2259
+ Use bb thread commands for most manager interactions.
2260
+
2261
+ bb manager hire [projectId] Hire a new manager
2262
+ --project <id> Project ID (defaults to BB_PROJECT_ID)
2263
+ --name <name> Manager name
2264
+ --provider <id> Provider override
2265
+ --model <model> Model override
2266
+ --reasoning-level <level> Reasoning level: low, medium, high, xhigh, max (provider-dependent)
2267
+ --permission-mode <mode> Permission mode: full, workspace-write, or readonly
2268
+ --host <id> Target host (defaults to local host)
2269
+ --json Print machine-readable JSON output
2270
+
2271
+ When --provider and --model are omitted, the project's remembered manager defaults apply first.
2272
+ If there are no remembered manager defaults, the server manager policy is used.
2273
+
2274
+ bb manager list [projectId] List managers for a project
2275
+ --project <id> Project ID (defaults to BB_PROJECT_ID)
2276
+ --json Print machine-readable JSON output
2277
+
2278
+ bb manager status <id> Show manager status and managed threads
2279
+ --json Print machine-readable JSON output
2280
+
2281
+ bb manager delete <id> Delete a manager permanently
2282
+ --yes Skip the confirmation prompt
2283
+ --json Print machine-readable JSON output
2284
+
2285
+ Common manager interactions via thread commands:
2286
+
2287
+ bb thread list --parent-thread <manager-id> List managed threads
2288
+ bb thread tell <manager-id> "message" Message a manager
2289
+ bb thread log <manager-id> Show manager log
2290
+
2291
+ Manager thread logs use the conversation view by default. \`--format verbose\`
2292
+ expands returned timeline details but does not switch to the internal manager
2293
+ 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.
2294
+
2295
+ Core concepts:
2296
+
2297
+ - Project — maps to a repository. All threads belong to a project.
2298
+ - Thread — a single agent conversation. The fundamental unit of work.
2299
+ - Environment — where a thread runs. Kinds: project checkout or isolated worktree. Multiple threads can share an environment.
2300
+ - Provider — the agent backend powering a thread (e.g., codex, claude-code). Each provider supports different models.
2301
+ - Host — where environments run. Hosts are long-lived local or remote machines.
2302
+
2303
+ Thread types:
2304
+
2305
+ - standard — does coding, research, debugging, or other tasks.
2306
+ - 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.
2307
+
2308
+ 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.
2309
+
2310
+ Context variables set automatically inside a thread environment:
2311
+
2312
+ - BB_PROJECT_ID — current project
2313
+ - BB_THREAD_ID — current thread
2314
+ - BB_ENVIRONMENT_ID — current environment
2315
+
2316
+ Run \`bb status\` to see your current context (resolved project and thread IDs).
2317
+
2318
+ All commands support --json for machine-readable output.
2319
+
2320
+ Run \`bb guide <chapter>\` for command details:
2321
+
2322
+ threads Spawning, inspecting, messaging, and managing threads
2323
+ environments Environment operations, commits, and merges
2324
+ managers Hiring and managing project managers
2325
+ manager-templates
2326
+ Seeding new manager storage from template bundles
2327
+ app Thread apps, the status app, app data, browser APIs, and styling
2328
+ providers Discovering providers and models
2329
+ projects Project CRUD and sources
2330
+ hosts Listing and understanding hosts
2331
+ styling Alias for app
2332
+ 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
2333
+
2334
+ A project maps to a code repository. All threads belong to a project.
2335
+
2336
+ bb project list List all projects
2337
+ bb project create --name "..." [options]
2338
+ --root <path> Project root path
2339
+ --repo-url <url> Repository URL
2340
+ --host <id> Default host
2341
+
2342
+ bb project show <id> Show project details
2343
+ bb project update <id> Update a project
2344
+ --name <name> New name
2345
+
2346
+ bb project delete <id> Delete project and all threads
2347
+ --yes Skip confirmation
2348
+
2349
+ Sources:
2350
+
2351
+ Projects can have multiple sources (paths or repos).
2352
+
2353
+ bb project source add <projectId> Add a source
2354
+ --path <path> Local path
2355
+ --repo-url <url> Repository URL
2356
+ --host <id> Host for this source
2357
+ --default Set as default source
2358
+
2359
+ bb project source update <projectId> <sourceId>
2360
+ --path <path>
2361
+ --repo-url <url>
2362
+ --default
2363
+
2364
+ 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
2365
+
2366
+ Providers are agent backends (e.g., codex, claude-code). Each supports different models.
2367
+
2368
+ bb provider list List available providers
2369
+ bb provider models [providerId] List models for a provider
2370
+
2371
+ Use these before spawning threads if you are unsure which provider or model to use.
2372
+ When provider and model are omitted from bb thread spawn, the project's remembered
2373
+ 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:`bbGuideThreads`,body:`Thread commands
2374
+
2375
+ Every command supports --json for machine-readable output.
2376
+
2377
+ Spawning:
2378
+
2379
+ bb thread spawn --prompt "..." [options]
2380
+
2381
+ --prompt <prompt> Initial prompt (required)
2382
+ --title <title> Thread title
2383
+ --project <id> Project (defaults to BB_PROJECT_ID)
2384
+ --parent-thread <id> Parent thread (defaults to BB_THREAD_ID)
2385
+ --provider <id> Provider override
2386
+ --model <model> Model override
2387
+ --reasoning-level <level> Reasoning level: low, medium, high, xhigh, max (provider-dependent)
2388
+ --environment <id-or-path> Attach to an existing environment (UUID or workspace path)
2389
+ --new-environment <kind> Create a new environment (worktree)
2390
+ --service-tier <tier> Service tier: fast, default
2391
+ --permission-mode <mode> Permission mode: full, workspace-write, or readonly
2392
+ --host <id> Host ID (defaults to local host)
2393
+ --no-context-parent-thread Do not default parent thread to BB_THREAD_ID
2394
+
2395
+ When --provider and --model are omitted, the project's remembered defaults apply.
2396
+ When --parent-thread is omitted inside a thread, BB_THREAD_ID is used automatically.
2397
+
2398
+ Listing:
2399
+
2400
+ bb thread list List threads
2401
+ --project <id> Filter by project (defaults to BB_PROJECT_ID)
2402
+ --parent-thread <id> Filter by parent/manager
2403
+ --archived Show only archived threads
2404
+
2405
+ Inspecting:
2406
+
2407
+ bb thread show [id] Show thread details (defaults to BB_THREAD_ID)
2408
+ --self Target current thread
2409
+ --work-status Include git working-tree status
2410
+ --git-diff Include git diff
2411
+ --diff-target <type> Diff scope: uncommitted, branch_committed, all, commit
2412
+ --diff-sha <sha> Commit SHA (for --diff-target commit)
2413
+ --diff-merge-base <branch> Override merge-base branch for diff
2414
+ --merge-base-branches List available merge-base branches
2415
+
2416
+ bb thread log [id] Show thread event log
2417
+ --self Target current thread
2418
+ --format <format> Output format: json, minimal, verbose
2419
+ --limit <count> Limit entries
2420
+ --after-seq <seq> Paginate after sequence number
2421
+
2422
+ bb thread output <id> Get the final output of a thread
2423
+
2424
+ bb thread wait [id] Wait for a thread status or event
2425
+ --status <status> Wait for this status
2426
+ --event <type> Wait for this event type
2427
+ --timeout <seconds> Timeout
2428
+ --poll-interval <ms> Polling interval in milliseconds
2429
+
2430
+ Messaging:
2431
+
2432
+ bb thread tell <id> <message> Send a follow-up message
2433
+ --mode <mode> Message mode (e.g., steer)
2434
+ --model <model> Model override for this turn
2435
+ --reasoning-level <level> Reasoning level override
2436
+
2437
+ bb thread stop [id] Stop an active thread
2438
+ --self Stop current thread
2439
+
2440
+ Ownership:
2441
+
2442
+ bb thread update [id] Update thread metadata
2443
+ --self Target current thread
2444
+ --title <title> Set title
2445
+ --parent-thread <id> Assign to a parent/manager
2446
+ --clear-parent-thread Remove parent assignment
2447
+
2448
+ Lifecycle:
2449
+
2450
+ bb thread archive [id] Archive a thread
2451
+ --self Archive current thread
2452
+
2453
+ bb thread unarchive [id] Unarchive a thread
2454
+ --self Unarchive current thread
2455
+
2456
+ bb thread delete <id> Delete permanently
2457
+ --yes Skip confirmation
2458
+
2459
+ Read-only commands infer the thread from BB_THREAD_ID.
2460
+ 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}}.
2461
+ Call the \`result\` tool with your answer.
2462
+ Rules:
2463
+ - Use conventional commit style (feat|fix|refactor|test|docs|chore|perf|build|ci|style).
2464
+ - Prefer specific types like feat/fix/refactor/test/docs/perf over chore.
2465
+ - Use chore only for housekeeping (deps, tooling, CI, formatting, repo maintenance).
2466
+ - Use imperative mood, max 72 characters.
2467
+ - Single line only, no body.
2468
+
2469
+ Shortstat:
2470
+ {{shortstat}}
2471
+
2472
+ Files (name-status):
2473
+ {{files}}
2474
+
2475
+ Patch excerpt:
2476
+ {{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.
2477
+ Call the \`result\` tool with:
2478
+ - title: short, clear, 4-5 words maximum, Title Case
2479
+
2480
+ Task:
2481
+ {{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- **`apps/status/`** — the built-in manager status app. Keep `apps/status/data/state.json` current so the user can catch up at a glance. Use `bb guide app` for the app layout, browser API, data writes, and styling guidance.\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\nApps can read and write persistent reactive JSON state under `apps/<id>/data/` and can send messages to the owning thread through `window.bb.message`. Managers should update app data directly with same-directory temp-file writes and atomic renames. Use `bb app` for app creation, listing, URLs, and removal.\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]
2482
+
2483
+ Managed thread complete: {{threadId}}{{titleSuffix}}
2484
+ Review that thread's result and decide whether to update the user or delegate a follow-up.
2485
+ 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]
2486
+
2487
+ Managed thread failed: {{threadId}}{{titleSuffix}}
2488
+ Review that thread's error and decide whether to retry, clarify the task, or update the user.
2489
+ 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]
2490
+
2491
+ Managed thread interrupted: {{threadId}}{{titleSuffix}}
2492
+ 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.
2493
+ Otherwise decide whether to resume it, redirect it, or update the user.
2494
+ 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]
2495
+
2496
+ Current PREFERENCES.md contents:
2497
+
2498
+ {{fence}}md
2499
+ {{preferencesContent}}
2500
+ {{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]
2501
+
2502
+ 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]
2503
+
2504
+ PREFERENCES.md has been updated. New contents:
2505
+
2506
+ {{fence}}md
2507
+ {{preferencesContent}}
2508
+ {{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]
2509
+
2510
+ 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]
2511
+
2512
+ Welcome. You just came online inside bb. You are a manager helping your user get things done.
2513
+
2514
+ First, inspect \`PREFERENCES.md\` in your thread storage.
2515
+
2516
+ If it contains real saved preferences, treat them as the user's starting
2517
+ preferences. Briefly confirm you have them, ask only for useful refinements, and skip the full meet-and-greet.
2518
+
2519
+ If \`PREFERENCES.md\` does not exist or still contains starter/no-preferences
2520
+ content, do the first-boot conversation. Do not interrogate. Do not sound like a
2521
+ form. Just talk.
2522
+
2523
+ Use the exact user-message tool available to you:
2524
+ \`mcp__bb-bridge__message_user\` when present, otherwise \`message_user\`. You need
2525
+ to call this tool to send messages to the user.
2526
+
2527
+ Your first user-facing message must anchor two things up front: **scope** (what
2528
+ you should be working on) and **landing mode** (how worker output reaches the
2529
+ codebase). Ask both — either in the same message, or in a tight follow-up you
2530
+ explicitly promise.
2531
+
2532
+ For scope, surface these three common shapes (verbatim or paraphrased) and make
2533
+ clear the user can name something else entirely:
2534
+
2535
+ - Manage an individual feature or workstream.
2536
+ - Manage all coding agents across this repo.
2537
+ - Manage a specific process (code review, async triage, releases, ...).
2538
+
2539
+ For landing mode, ask whether the user wants a PR opened per worker or worker
2540
+ branches merged directly into a local branch. Note that the choice is editable
2541
+ later. Record the answer in \`PREFERENCES.md\` under the existing
2542
+ **Landing changes** bullet — it already documents the two modes
2543
+ (\`Open PRs\` and \`No PRs — local merge, push on request\`).
2544
+
2545
+ Start with something in this spirit:
2546
+
2547
+ > Hey. I just came online as your bb manager. Two questions to start.
2548
+ >
2549
+ > What's the scope? Common shapes:
2550
+ > - a feature or workstream you want me to drive
2551
+ > - all the coding-agent work across this repo
2552
+ > - a specific process (review, triage, releases)
2553
+ >
2554
+ > Or something else — tell me what fits.
2555
+ >
2556
+ > And when workers finish: open a PR per worker, or merge into a local branch? Easy to change later.
2557
+
2558
+ After scope and landing mode are settled, figure out together:
2559
+
2560
+ 1. What the user wants to be called.
2561
+ 2. How they want you to refer to yourself, if they care.
2562
+ 3. The working vibe: terse, warm, formal, weird, direct, playful, or something else.
2563
+ 4. Update cadence, boundaries, and anything they do not want you to do.
2564
+ 5. Any stable workflow preferences worth remembering.
2565
+
2566
+ Create, replace, or update \`PREFERENCES.md\` with what you learn. If the user gives you a
2567
+ name, vibe, or other identity details for yourself, record those too.
2568
+
2569
+ \`apps/status/\`, \`PREFERENCES.md\`, and \`ASYNC.md\` may already exist from user
2570
+ templates. Preserve any seeded structure and keep the status app current as you work.
2571
+
2572
+ Depending on user preferences you might want to update \`apps/status/data/state.json\`
2573
+ to match their landing mode.
2574
+
2575
+ If there is no \`PREFERENCES.md\` fill out this template with what you learn and save it:
2576
+
2577
+ \`\`\`
2578
+ # User Preferences
2579
+
2580
+ 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.
2581
+
2582
+ ## Identity
2583
+
2584
+ - Preferred name: _(fill this out)_
2585
+
2586
+ ## Workflow
2587
+
2588
+ - Base branch: main (default) or something else? _(fill this out)_
2589
+ - **Delegator workflow**: never do substantive work in the manager thread. Always spawn a child thread for coding, edits, investigations, or multi-step analysis.
2590
+ - **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.
2591
+
2592
+ ## Delivery
2593
+ - Ask the user to choose how they want worker output to be delivered:
2594
+ - Open PRs (default)
2595
+ **or**
2596
+ - No PRs — Ask the user for confirmation before pushing/merging worker branches into a local branch.
2597
+ **or**
2598
+ - Merge into a local branch (like a staging area) automatically without PRs, and push to origin on user go-ahead.
2599
+
2600
+ ## Keeping the user updated
2601
+ Adjust the \`status\` app to match the chosen mode.
2602
+ - **Status mode**: if the user opens PRs, the status app tracks open PRs in its primary section. If the user does NOT use PRs, use 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).
2603
+ - **Status refresh**: keep \`apps/status/data/state.json\` current with the state of the world
2604
+ - after any state-affecting action (worker spawn, branch ready, PR opened, merge, close, push).
2605
+ - **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.
2606
+ - **Status app**: run \`bb guide app\` for app data, \`window.bb\`, styling, and \`bb app\` commands.
2607
+ - Also keep running tasks and any user action items in the status app.
2608
+
2609
+ ## Open questions to resolve when natural
2610
+
2611
+ - Preferred name / how to address the user
2612
+ - Worker defaults (provider / reasoning level / permission mode / preferred model) — ask the user when it comes up; do not assume a default.
2613
+ - Anything else the user wants surfaced in the status app (extra sections, custom info, integrations) — ask once when natural and update the template accordingly.
2614
+ - Update verbosity preference (terse vs detailed)
2615
+ - Any specific area of the codebase that's currently the focus
2616
+ \`\`\`
2617
+
2618
+ 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]
2619
+
2620
+ 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]
2621
+
2622
+ The following thread is now assigned to you for management:
2623
+ {{threadLabel}}
2624
+ 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]
2625
+
2626
+ The following thread is no longer assigned to you:
2627
+ {{threadLabel}}
2628
+ 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.
2629
+ {{#if errorMessage}}
2630
+ Git reported: {{errorMessage}}.
2631
+ {{/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}}
2632
+ 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}}.
2633
+ {{/if}}
2634
+ {{#if squashCommitMergeBaseBranch}}
2635
+ 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}}.
2636
+ {{/if}}
2637
+ {{#if errorMessage}}
2638
+ Git reported: {{errorMessage}}.
2639
+ {{/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}}.
2640
+ {{#if conflictFiles}}
2641
+ Conflicted files: {{conflictFiles}}.
2642
+ {{/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 JS(e){return qS.some(t=>t.id===e)}function YS(){let e=qS.map(e=>{if(!JS(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 XS=YS(),ZS=!1;function QS(){if(!ZS){for(let e of Object.values(XS))KS.default.registerPartial(e.id,e.body);ZS=!0}}var $S=new Map;function eC(e){let t=$S.get(e);if(t)return t;let n=KS.default.compile(XS[e].body,{noEscape:!0});return $S.set(e,n),n}function tC(e,t){return QS(),eC(e)(t).trim()}function nC(e,t){let n=t?.conflictFiles?.filter(e=>e.trim().length>0)??[];return tC(`threadOperationSquashMergeConflictFollowUp`,{mergeBaseBranch:e.options.mergeBaseBranch.trim(),conflictFiles:n.length>0?n.join(`, `):void 0})}function rC(e,t){let n=e.options.mergeBaseBranch.trim(),r=t.errorMessage?.trim()||void 0;switch(t.stage){case`prep_commit`:return tC(`threadOperationSquashMergeCommitFailureFollowUp`,{prepCommitMergeBaseBranch:n,errorMessage:r});case`squash_commit`:return tC(`threadOperationSquashMergeCommitFailureFollowUp`,{squashCommitMergeBaseBranch:n,errorMessage:r});default:return b(t.stage)}}function iC(e){return tC(`threadOperationCommitFailureFollowUp`,{errorMessage:e?.errorMessage?.trim()||void 0})}function aC(t){if(!(t instanceof E)||typeof t.body!=`object`||t.body===null||!(`details`in t.body))return;let n=e.safeParse(t.body.details);return n.success?n.data:void 0}function oC(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 sC({error:e,mergeBaseBranch:t}){let n=aC(e);if(n)switch(n.kind){case`commit_failed`:return[{type:`text`,text:iC({errorMessage:n.errorMessage})}];case`squash_merge_conflict`:return t?[{type:`text`,text:nC({action:`squash_merge`,options:{mergeBaseBranch:t}},{conflictFiles:n.conflictFiles})}]:void 0;case`squash_merge_commit_failed`:return t?[{type:`text`,text:rC({action:`squash_merge`,options:{mergeBaseBranch:t}},{stage:n.stage,errorMessage:n.errorMessage})}]:void 0;default:return}}function cC({action:e,error:t,mergeBaseBranch:n}){let r=aC(t);return{message:(r?oC(r):void 0)??mt({error:t,fallbackMessage:`Failed to start git action`,lifecycleOperation:e}),askAgentInput:sC({error:t,mergeBaseBranch:n})}}function lC(e){switch(e){case`commit`:return`Commit created`;case`squash_merge`:return`Squash merge completed`;default:return e}}function uC(e){switch(e){case`commit`:return`Commit failed`;case`squash_merge`:return`Squash merge failed`;default:return e}}function dC(e){return(0,K.createElement)(Sr,{commitSha:e.commitSha,commitSubject:e.commitSubject})}function fC({response:e,toastId:t}){lt.success(lC(e.action),{id:t,description:dC(e)})}function pC({action:e,error:t,mergeBaseBranch:n,onAskAgentToFix:r,threadId:i,toastId:a}){let o=cC({action:e,error:t,mergeBaseBranch:n}),s=o.askAgentInput,c=uC(e),l=o.message===c?void 0:o.message;lt.error(c,{id:a,...l?{description:l}:{},...s?{action:{label:`Ask agent to fix`,onClick:()=>r({input:s,threadId:i})}}:{}})}function mC({environment:e,requestEnvironmentAction:t,sendMessage:n,thread:r,workspaceStatus:i}){let a=St(),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=lt.loading(`Sending message`);try{await n.mutateAsync({id:t,input:e,mode:`auto`}),lt.success(`Message sent`,{id:r})}catch(e){lt.error(`Failed to message agent`,{id:r,description:mt({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=lt.loading(`Creating commit`);try{let n=await t.mutateAsync({id:e,action:`commit`});if(n.action!==`commit`)throw Error(`Expected commit action response.`);fC({response:n,toastId:i})}catch(e){pC({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=lt.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.`);fC({response:r,toastId:a})}catch(t){pC({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 hC({markThreadRead:e,thread:t}){let n=(0,K.useRef)(new Set);(0,K.useEffect)(()=>{if(!t||Yt(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 gC={autoScroll:!1,placement:null};function _C({routeThreadId:e,threadId:t,threadType:n,useStandardManagerTimeline:r}){return t===void 0||n===void 0||e!==t?!1:!(n===`manager`&&r)}function vC({lastReadAt:e,latestAttentionAt:t}){return e===void 0||t===void 0?!1:e===null||e<t}function yC(e){return e.lastReadAt===null?{kind:`before-first`}:e.lastReadAt<e.latestAttentionAt?{kind:`after-cutoff`,cutoffAt:e.lastReadAt}:null}function bC({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||!_C({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=yC(r);return{attentionAt:c,autoScroll:t&&n!==null,placement:n,threadId:o}})},[e,o,s,c,l,n]),!_C({routeThreadId:e,threadId:o,threadType:l,useStandardManagerTimeline:n})||r===null||r.threadId!==o||r.attentionAt!==c&&!vC({lastReadAt:s,latestAttentionAt:c})?gC:{autoScroll:r.autoScroll&&r.placement!==null,placement:r.placement}}function xC({managerTimelineView:e,threadId:t}){return`${t}:${e??`default`}`}function SC({latestRows:e,olderCursor:t,surfaceKey:n}){return{olderCursor:t,rows:[...e],surfaceKey:n}}function CC({left:e,right:t}){return e===null||t===null?e===t:e.anchorSeq===t.anchorSeq&&e.anchorId===t.anchorId}function wC(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 TC({loadedRows:e,olderRows:t}){let n=[];return wC(n,t),wC(n,e),n}function EC({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 wC(n,e),{hasLatestOverlap:!1,rows:n}}return{hasLatestOverlap:!0,rows:[...t.slice(0,r),...e]}}function DC({current:e,latestTimeline:t,surfaceKey:n}){if(e.surfaceKey!==n||e.rows.length===0&&e.olderCursor===null)return SC({latestRows:t.rows,olderCursor:t.timelinePage.olderCursor,surfaceKey:n});let r=EC({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 SC({latestRows:t.rows,olderCursor:t.timelinePage.olderCursor,surfaceKey:n});let r=EC({latestRows:t.rows,loadedRows:e.rows});return{olderCursor:t.timelinePage.olderCursor,rows:r.rows,surfaceKey:n}}function kC(e){return e instanceof E&&e.status===400&&e.code===`invalid_request`}function AC({managerTimelineView:e,threadId:t}){let n=He(t,{refetchOnMount:!0,managerTimelineView:e}),r=xC({managerTimelineView:e,threadId:t}),[a,o]=(0,K.useState)(()=>SC({latestRows:[],olderCursor:null,surfaceKey:r})),[s,c]=(0,K.useState)(!1),l=n.data;(0,K.useEffect)(()=>{if(!l){o(e=>e.surfaceKey===r?e:SC({latestRows:[],olderCursor:null,surfaceKey:r}));return}o(e=>DC({current:e,latestTimeline:l,surfaceKey:r}))},[l,r]);let u=n.refetch,d=a.surfaceKey===r?a.olderCursor:null,f=d!==null,p=(0,K.useCallback)(async()=>{if(!(!d||!t||s)){c(!0);try{let n=await i({beforeCursor:d,id:t,managerTimelineView:e});o(e=>e.surfaceKey===r?{olderCursor:CC({left:e.olderCursor,right:d})?n.timelinePage.olderCursor:e.olderCursor,rows:TC({loadedRows:e.rows,olderRows:n.rows}),surfaceKey:r}:e)}catch(e){if(!(e instanceof Error)||!kC(e))throw e;let t=(await u()).data??l;o(e=>e.surfaceKey===r?t?OC({current:e,latestTimeline:t,surfaceKey:r}):{...e,olderCursor:null}:e)}finally{c(!1)}}},[s,l,e,d,u,r,t]);return{activeThinking:l?.activeThinking??null,contextWindowUsage:l?.contextWindowUsage,hasOlderTimelineRows:f,isLoadingOlderTimelineRows:s,loadOlderTimelineRows:p,pendingTodos:l?.pendingTodos??null,timelineError:n.error,timelineLoading:n.isLoading,timelineRows:a.surfaceKey===r&&a.rows.length>0?a.rows:l?.rows??[]}}function jC(e){if(!e.rootPath||!e.canOpenPreferredTarget)return;let t=e.rootPath;return n=>{e.openInPreferredTarget({lineNumber:null,path:Tt({path:n,rootPath:t})})}}function MC(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 NC(e){return e.threadEnvironmentIsLocal?e.environment?.path??null:null}function PC(e){return!e.canOpenWorkspace||!e.hasWorkspaceOpenTargets?null:NC({environment:e.environment,threadEnvironmentIsLocal:e.threadEnvironmentIsLocal})}var FC=`Thread file links are only available when the thread has an environment.`,IC=`Thread file links must use absolute file paths.`;function LC(e){return jn.some(t=>Ye(t,e)!==null)}function RC(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 zC(e){let t=RC(e.rootPath);if(!t)return null;let n=RC(e.linkPath);return!n||!BC({candidatePath:n,rootPath:t})||n===t?null:{path:n,relativePath:t===`/`?n.slice(1):n.slice(t.length+1),rootPath:t}}function BC(e){return e.rootPath===`/`?e.candidatePath.startsWith(`/`):e.candidatePath===e.rootPath||e.candidatePath.startsWith(`${e.rootPath}/`)}function VC(e){if(LC(e.link.path))return{kind:`app-route`};let t=RC(e.link.path);if(!t)return{description:IC,kind:`error`};let n=e.workspaceRootPath===null?null:zC({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:zC({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:FC,kind:`error`}}function HC({terminalId:e,threadId:t}){return`/ws/threads/${encodeURIComponent(t)}/terminals/${encodeURIComponent(e)}`}function UC(e){let t=HC(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 WC=`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, monospace`;function GC(e,t){let n=getComputedStyle(document.documentElement).getPropertyValue(t).trim();if(n)return e.style.color=n,getComputedStyle(e).color}function KC(){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=>GC(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 qC(e){let t=new TextEncoder().encode(e),n=``;for(let e of t)n+=String.fromCharCode(e);return btoa(n)}function JC(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 YC({socket:e,terminal:t}){e.readyState===WebSocket.OPEN&&e.send(JSON.stringify({type:`resize`,cols:t.cols,rows:t.rows}))}function XC({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 ZC({terminal:e,text:t}){e.write(`\r\n\x1b[2m${t}\x1b[0m\r\n`)}var QC=(e,t)=>{window.open(t,`_blank`,`noopener,noreferrer`)};function $C({isReplay:e,replayWriteState:t,terminal:n,text:r}){if(!e){n.write(r);return}t.suppressedWriteCount+=1,n.write(r,()=>{--t.suppressedWriteCount})}function ew({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`:$C({isReplay:t!==null&&e.chunk.seq<t,replayWriteState:n,terminal:i,text:JC(e.chunk.dataBase64)});return;case`error`:ZC({terminal:i,text:`Terminal error: ${e.message}`});return;case`exited`:ZC({terminal:i,text:e.session.exitCode===null?`Terminal exited`:`Terminal exited with code ${e.session.exitCode}`});return}}function tw({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=ht();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:WC,fontSize:12,scrollback:1e4,theme:KC()}),o.current=d,f=new _,d.loadAddon(f),d.loadAddon(new v(QC)),d.open(e);let y=()=>{!f||!d||XC({containerElement:e})&&(f.fit(),n&&YC({socket:n,terminal:d}))},b=()=>{h===null&&(h=window.requestAnimationFrame(()=>{h=null,y()}))};y(),u.current=b,l.current&&d.focus(),n=new WebSocket(UC({terminalId:r.id,threadId:i}));let x=n,S=d;x.onopen=()=>{YC({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=R.safeParse(t);n.success&&ew({message:n.data,replayNextSeq:p,replayWriteState:m,setReplayNextSeq:e=>{p=e},terminal:S})},x.onclose=()=>{t||ZC({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:qC(e)})))}),S.onTitleChange(e=>{m.suppressedWriteCount>0||s.current?.(e)}),g=new ResizeObserver(t=>{XC({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=KC())},[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 nw({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 rw({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 t=nw({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:t.title}),t.description===null?null:(0,q.jsx)(`p`,{className:`mt-1 text-muted-foreground`,children:t.description})]}),t.canStartReplacement?(0,q.jsxs)(n,{type:`button`,size:`sm`,onClick:e.handleCreateTerminal,disabled:e.isCreateTerminalPending,children:[e.isCreateTerminalPending?(0,q.jsx)(B,{name:`Spinner`,className:`size-3.5 animate-spin`}):(0,q.jsx)(B,{name:`Plus`,className:`size-3.5`}),`Start new terminal`]}):null]})})}return(0,q.jsx)(tw,{isPanelOpen:e.isPanelOpen,onTitleChange:e.handleActiveTerminalTitleChange,onUserInput:e.handleActiveTerminalUserInput,session:e.activeSession,threadId:e.threadId})}var iw=200,aw=3;function ow({title:e}){let t=e.trim();if(!t)return null;let n=sw({title:t});return n===null?t.slice(0,iw):lw({path:n.path}).slice(0,iw)}function sw({title:e}){let t=/^[^@\s:]+@[^:\s]+:(.+)$/u.exec(e)?.[1];return!t||!cw({path:t})?null:{path:t}}function cw({path:e}){return e===`~`||e===`.`||e.startsWith(`~/`)||e.startsWith(`/`)||e.startsWith(`./`)}function lw({path:e}){if(e===`/`||e===`~`||e===`.`)return e;let t=e.split(`/`).filter(e=>e.length>0);return t.length<=aw?e:`.../${t.slice(-aw).join(`/`)}`}var uw=100,dw=30,fw=[],pw=250;function mw(e){return e.status!==`exited`}function hw(e,t){return t&&e.some(e=>e.id===t)?t:e[0]?.id??null}function gw(e){switch(e.status){case`starting`:return`starting`;case`running`:return`running`;case`disconnected`:return`disconnected`;case`exited`:return`exited`}}function _w({canCreateTerminal:e,threadId:t}){let n=Pi(t),r=Fi(t),i=Ii(t),a=Sx(t),o=Cx(t),s=wx(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??fw,b=(0,K.useMemo)(()=>y.filter(mw),[y]),x=(0,K.useMemo)(()=>hw(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:uw,rows:dw},{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=ow({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)}})},pw))},[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 vw({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)(Ft,{className:`h-6 w-28 shrink-0 rounded-md`}),(0,q.jsx)(Ft,{className:`h-6 w-24 shrink-0 rounded-md`})]}):e.visibleSessions.length>0?e.visibleSessions.map(t=>(0,q.jsx)(yw,{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)(n,{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)(B,{name:`Spinner`,className:`size-3.5 animate-spin`}):(0,q.jsx)(B,{name:`Plus`,className:`size-3.5`})})]})}function yw({isActive:e,isClosing:t,onClose:n,onSelect:r,session:i}){let a=gw(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 bw({canCreateTerminal:e,threadId:t}){let r=_w({canCreateTerminal:e,threadId:t});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)(vw,{controller:r}),(0,q.jsx)(n,{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)(B,{name:`X`,className:`size-3.5`})})]}),(0,q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden bg-background`,children:(0,q.jsx)(rw,{controller:r})})]})}function xw({fixedPanelTabsState:e}){let t=e.secondary.activeTabId;return t===null?null:e.secondary.tabs.find(e=>e.id===t)??null}function Sw(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`app`:case`new-tab`:return`thread-info`;case`terminal`:return null}}function Cw({activeFixedSecondaryTab:e}){return Sw(e)}function ww({fixedPanelTabsState:e,selectedSecondaryPanel:t}){return e.secondary.isOpen?t:null}function Tw(e){let t=yx(e),n=vx(e);return(0,K.useCallback)(e=>{if(e===null){t();return}n(e)},[t,n])}function Ew(e){return bx(e)}var Dw=[],Ow={},kw={type:`manager`};function Aw(){window.requestAnimationFrame(()=>{let e=document.getElementById(us);if(!(e instanceof HTMLTextAreaElement))return;e.focus();let t=e.value.length;e.setSelectionRange(t,t)})}function jw(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 Mw(){let{projectId:e,threadId:t}=ir();mx(t),Ni(t);let n=hx(t),r=Pi(t),i=xw({fixedPanelTabsState:n}),o=Cw({activeFixedSecondaryTab:i}),s=ww({fixedPanelTabsState:n,selectedSecondaryPanel:o}),c=_e(),l=_x(t),u=Tw(t),d=Ew(t);xx(t,(0,K.useCallback)(e=>{u(e)},[u]));let f=Ve(t??``),p=f.isSuccess||f.isError,m=Li(t),h=Fi(t),{data:g,isFetching:_,isLoadingError:v,error:y}=je(t??``,{enabled:p,refetchOnMount:f.isSuccess?!0:`always`}),b=fr({hasResolvedData:g!==void 0,isFetching:f.isFetching||_,isLoadingError:v}),x=Ee(g?.id??``,{enabled:b.status===`ready`&&!!g?.id,environmentId:g?.environmentId??void 0,providerId:g?.providerId??void 0}),S=x.isSuccess||x.isError,C=x.isSuccess?1e4:void 0,{data:w}=je(g?.parentThreadId??``),{data:T=[]}=Oe(g?.id??``,{enabled:S,refetchOnMount:x.isSuccess?!1:`always`,staleTime:C}),E=Be(T)!==null,D=g?.type===`manager`,O=g?.type===`standard`,[k,A]=tn(),j=D&&k,M=j?`standard`:void 0,N=bC({routeThreadId:t,thread:g,useStandardManagerTimeline:j}),[P,F]=(0,K.useState)(!1),[I,ee]=(0,K.useState)(0),{isThreadStorageFilesLoading:L,refetchThreadStorageFiles:R,threadStorageFiles:te,threadStorageFilesError:ne,threadStorageRootPath:re}=fy({activePath:null,fileListEnabled:D,filePreviewEnabled:!1,threadId:t,threadType:g?.type}),ie=ze(t??``,{enabled:!!t&&g!==void 0}),{activateAppTab:z,activateNewTab:ae,activateHostFileTab:oe,activateStorageFileTab:B,activateWorkspaceFileTab:ce,activeAppId:le,activeHostFileLineNumber:de,activeHostFilePath:fe,activeStorageFilePath:pe,activeWorkspaceFileLineNumber:me,activeWorkspaceFilePath:he,activeWorkspaceFileSource:ge,activeWorkspaceFileStatusLabel:V,clearActiveFileTabs:ve,closeAppTab:H,closeHostFileTab:ye,closeNewTab:be,closeStorageFileTab:xe,closeWorkspaceFileTab:Ce,isNewTabActive:Te,openNewTab:De,openApp:ke,openHostFile:Ae,openStorageFile:Ne,openWorkspaceFile:Pe,orderedSecondaryFileTabs:Fe,selectFileSearchResult:Ie}=Zx({apps:ie.data,threadId:t,environmentId:g?.environmentId,threadType:g?.type,storageFiles:te?.files}),Le=Zy({files:te?.files,onSelectPath:Ne,selectedPath:pe}),He=(0,K.useCallback)(()=>{if(n.secondary.isOpen){u(null);return}if(D&&i===null){ke(Tx);return}d()},[i,n.secondary.isOpen,D,ke,u,d]),We=(0,K.useCallback)(e=>{D&&A(e)},[D,A]),Ge=Nv(g),Ke=b.status===`ready`&&Ge,qe=Re({enabled:Ke||D,filters:(0,K.useMemo)(()=>Ke?kw:D&&g?.id?{parentThreadId:g.id}:Ow,[D,Ke,g?.id]),projectId:e}),Je=(0,K.useMemo)(()=>Ke?qe.data??Dw:Dw,[qe.data,Ke]),{activeThinking:Ye,contextWindowUsage:Xe,hasOlderTimelineRows:Ze,isLoadingOlderTimelineRows:U,loadOlderTimelineRows:Qe,pendingTodos:$e,timelineError:et,timelineLoading:nt,timelineRows:rt}=AC({managerTimelineView:M,threadId:t??``}),it=In(),at=Cr(),ot=we(),st=sr(),ct=Me({errorMessage:`Failed to assign manager.`,lifecycleOperation:`assign_manager`}),ut=G(tt),dt=Sa(t??``,{enabled:ut}),ft=(0,K.useMemo)(()=>dt.data?.sessions.filter(e=>e.status!==`exited`).length??0,[dt.data]),pt=(0,K.useMemo)(()=>g?jw(g):null,[g]),mt=Gi(g?.environmentId,{enabled:p,staleTime:5e3}),ht=mt.data,gt=_r({projectId:e??``,environmentId:g?.environmentId??``}),_t=se(ht),{closeThreadSecondaryPanel:vt,defaultMergeBaseBranch:yt,isLoadingMergeBaseBranchOptions:bt,mergeBaseBranchOptions:xt,mergeBaseBranchOptionsTruncated:St,mergeBaseRemoteBranchOptions:Ct,openDiffFile:wt,openThreadDiffPanel:Tt,openThreadSecondaryPanel:Dt,selectedMergeBaseBranch:Ot,selectedMergeBaseBranchRef:kt,setMergeBaseBranchSearchQuery:At,setSelectedMergeBaseBranch:jt}=Fa({activeSecondaryPanel:s,clearActiveFileTabs:ve,defaultMergeBaseBranch:_t,environmentId:O?g?.environmentId??void 0:void 0,mergeBaseBranchOptionsEnabled:P,setThreadSecondaryPanel:u}),{closePanel:Mt,isOpen:Nt,openDiffFile:Pt,openDiffPanel:Ft,openPanel:It,togglePanel:Rt}=dy({closePersistedPanel:vt,isPersistedOpen:n.secondary.isOpen,isCompactViewport:c,openPersistedDiffFile:wt,openPersistedDiffPanel:Tt,openPersistedPanel:Dt,threadId:t,togglePersistedPanel:He});(0,K.useEffect)(()=>{F(!1)},[g?.environmentId]);let zt=(0,K.useCallback)(e=>{e&&F(!0)},[]),Bt=(0,K.useCallback)(e=>{ve(),It(e)},[ve,It]),Vt=(0,K.useCallback)(()=>{l()},[l]),Ht=(0,K.useCallback)(()=>{De(),ee(e=>e+1)},[De]),Wt=(0,K.useCallback)(()=>{be(),Mt(),Aw()},[be,Mt]),Gt=(0,K.useCallback)(e=>{let t=Math.round(e);h(e=>e.panelHeightPercent===t?e:{...e,panelHeightPercent:t})},[h]),Kt=(0,K.useCallback)(e=>{let t=MC(e);if(t.kind===`preview`){Pe({lineNumber:null,path:e.file.path,source:t.source,statusLabel:t.statusLabel});return}Pt(e.file.path)},[Pt,Pe]),qt=(0,K.useMemo)(()=>new Map((ie.data??[]).map(e=>[e.id,e])),[ie.data]),Jt=(0,K.useMemo)(()=>{let e=e=>e.split(`/`).at(-1)??e,t=Fe.map(t=>{switch(t.kind){case`app`:{let e=qt.get(t.appId),n=e?.name??t.appId;return{id:t.id,filename:n,isActive:t.appId===le,isPinned:t.appId===Tx,leadingVisual:e?(0,q.jsx)(yy,{icon:e.icon,className:`size-3.5`}):void 0,statusLabel:null,onSelect:()=>z(t.appId),onClose:()=>H(t.appId)}}case`workspace-file-preview`:return{id:t.id,filename:e(t.path),isActive:t.path===he,statusLabel:t.statusLabel,onSelect:()=>ce(t.path),onClose:()=>Ce(t.path)};case`host-file-preview`:return{id:t.id,filename:e(t.path),isActive:t.path===fe,statusLabel:null,onSelect:()=>oe(t.path),onClose:()=>ye(t.path)};case`thread-storage-file-preview`:return{id:t.id,filename:e(t.path),isActive:t.path===pe,isPinned:t.isPinned,statusLabel:null,onSelect:()=>B(t.path),onClose:()=>xe(t.path)};case`new-tab`:return{id:t.id,filename:`New tab`,isActive:Te,statusLabel:null,onSelect:ae,onClose:be}}});return t.length>0?t:void 0},[z,ae,oe,B,ce,le,fe,pe,he,H,ye,be,xe,Ce,Te,Fe,qt]),Yt=Ot??_t,Xt=Ki(g?.environmentId,Yt,{enabled:O&&ht!==void 0}),Zt=Xt.data,Qt=Xt.error,$t=Qt?void 0:Zt??void 0,en=$t?.branch,nn=(0,K.useMemo)(()=>ta($t),[$t]),rn=(0,K.useMemo)(()=>nn===null||nn.kind===`committed`?null:nn,[nn]),{isLocalDaemonHost:an}=W(),on=ht?an(ht.hostId):!1,cn=NC({environment:ht,threadEnvironmentIsLocal:on}),{canOpenPreferredDirectoryTarget:ln,canOpenPreferredFileTarget:un,directoryOpenTargets:dn,openPathInDirectoryTarget:fn,openPathInPreferredDirectoryTarget:pn,openPathInPreferredFileTarget:mn,preferredDirectoryTarget:hn}=va({enabled:on}),gn=f.isSuccess&&f.data.environment!==void 0&&f.data.environment!==null&&f.data.host===null,{data:_n}=Se(ht?.hostId,{enabled:!gn}),vn=(0,K.useMemo)(()=>{if(!g?.parentThreadId)return null;let e=br({projectId:g.projectId,threadId:g.parentThreadId});return w===void 0?{managerName:`Manager ${g.parentThreadId.slice(0,8)}`,href:e}:w.type!==`manager`||w.archivedAt!==null||w.deletedAt!==null||w.projectId!==g.projectId?null:{managerName:Ue(w),href:e}},[w,g?.parentThreadId,g?.projectId]),yn=(0,K.useMemo)(()=>{if(!D)return null;let e=(qe.data??[]).filter(e=>To(e.runtime.displayStatus)).map(e=>({id:e.id,title:Ue(e),href:br({projectId:e.projectId,threadId:e.id})}));return e.length===0?null:{items:e}},[D,qe.data]),bn=nt&&rt.length===0,{erroredTurnSummaryIds:xn,handleLoadTurnSummaryRows:Sn,loadingTurnSummaryIds:Cn,turnSummaryRowsById:wn}=Ga({managerTimelineView:M,timelineRows:rt,threadId:t});hC({markThreadRead:ot,thread:g});let{effectiveMergeBaseBranch:Tn,handleMergeBaseBranchChange:En,showBranchComparisonUi:Dn,showMergeBase:On,mergeBaseBranch:kn}=iS({environment:ht,mergeBaseBranchRef:kt,mergeBaseBranchOptions:xt,mergeBaseRemoteBranchOptions:Ct,selectedMergeBaseBranch:Ot,setSelectedMergeBaseBranch:jt,thread:g,updateEnvironment:st,workspaceStatus:$t}),An=mC({environment:ht,requestEnvironmentAction:at,sendMessage:it,thread:g,workspaceStatus:$t});(0,K.useEffect)(()=>{An.threadGitActionDialog.target!==null&&F(!0)},[An.threadGitActionDialog.target]);let jn=g?.parentThreadId,Mn=w?.title&&w.title.trim().length>0?w.title:jn,Nn=(0,K.useMemo)(()=>Pv({currentThreadId:g?.id,isManagerThread:D,managerThreads:Je,parentThreadDisplayName:Mn,parentThreadId:jn}),[D,Je,Mn,jn,g?.id]),Pn=(0,K.useCallback)(e=>{!g||ct.isPending||ct.mutate({id:g.id,parentThreadId:e})},[g,ct]),Fn=(0,K.useCallback)(e=>e.kind===`app-route`?!1:e.kind===`error`?(lt.error(`Failed to open file locally`,{description:e.description}),!0):e.kind===`open-workspace-path`?(Pe({lineNumber:e.request.lineNumber,path:e.request.relativePath,source:{kind:`working-tree`},statusLabel:null}),!0):e.kind===`open-thread-storage-path`?(Ne(e.request.relativePath),!0):(Ae({lineNumber:e.request.lineNumber,path:e.request.path}),!0),[Ae,Ne,Pe]),Ln=(0,K.useCallback)(e=>{let t=VC({hostFileLinksAvailable:g?.environmentId!==null&&g?.environmentId!==void 0,link:e,threadStorageRootPath:re,workspaceRootPath:cn});return t.kind!==`open-host-path`||!D||re!==null?Fn(t):(R().then(t=>{let n=t.data?.storageRootPath??null;if(n===null){lt.error(`Failed to open file locally`,{description:`Thread storage path is not available yet.`});return}Fn(VC({hostFileLinksAvailable:!0,link:e,threadStorageRootPath:n,workspaceRootPath:cn}))}).catch(e=>{lt.error(`Failed to open file locally`,{description:e.message})}),!0)},[Fn,D,cn,R,g?.environmentId,re]),Rn=(0,K.useCallback)(e=>{switch(e.kind){case`open-file-diff`:return D?null:()=>{Pt(e.path)};default:return sn(e.kind)}},[D,Pt]);if(!e||!t)return(0,q.jsx)(ue,{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(b.status===`loading`)return(0,q.jsx)(ue,{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(!g||g.projectId!==e)return(0,q.jsx)(ue,{contentClassName:`min-h-full items-center justify-center`,children:(0,q.jsx)(`p`,{className:`py-12 text-center text-sm text-destructive`,children:y?`Failed to load thread.`:`Not found`})});let zn=`${g.id}:${M??`default`}`,Vn=Nn.some(e=>e.value!==`none`),Hn=Ge&&Vn,Un=g.type===`standard`&&!!g.parentThreadId,Wn=ht?a({environment:ht,isLocalHost:on,hostName:_n?.name}):void 0,Gn=Wn?Ut(Wn.workspaceDisplayKind):null,Kn=ht!==void 0&&(ht.isWorktree||ht.workspaceProvisionType===`managed-worktree`)&&e&&g.environmentId!==null?gt:void 0,qn=Tn,Jn=en?.currentBranch??void 0,Yn=ht?.status===`destroyed`,Xn=ut&&g.environmentId!==null&&ht?.status===`ready`,Zn=Oa($t,{mergeBaseBranch:kn,showBranchComparison:Dn,error:Qt,workspaceDeleted:Yn}),Qn=Ue(g),$n=(0,q.jsx)(Lt,{thread:g,triggerClassName:Et,align:`end`,viewerToggleLabel:D?`Use standard timeline`:void 0,viewerToggleChecked:D?j:void 0,onViewerToggleCheckedChange:D?We:void 0}),er=PC({canOpenWorkspace:ln,environment:ht,hasWorkspaceOpenTargets:dn.length>0,threadEnvironmentIsLocal:on}),tr=er&&hn?(0,q.jsx)(la,{preferredTarget:hn,targets:dn,onOpenPreferredTarget:async()=>{await pn({lineNumber:null,path:er})},onOpenTarget:async e=>{await fn({lineNumber:null,path:er,rememberTarget:!0,targetId:e})}}):void 0,nr=(0,q.jsx)(qa,{actionsMenu:$n,isManagedThread:!!jn,isManagerThread:D,isSecondaryPanelOpen:Nt,activeTerminalCount:ft,isTerminalPanelOpen:ut&&r.isOpen,isThreadGitActionPending:An.isThreadGitActionPending,onOpenThreadGitAction:An.threadGitActionDialog.onOpen,onToggleSecondaryPanel:Rt,onToggleTerminalPanel:m,showTerminalPanelToggle:ut,threadHeaderGitActions:An.threadHeaderGitActions,threadTitle:Qn,workspaceOpenButton:tr}),rr=(0,q.jsx)(ds,{canUseGitUi:O,contextWindowUsage:Xe,environmentBranchName:Jn,environmentHostConnected:_n&&!on?_n.status===`connected`:void 0,environmentIcon:Gn??void 0,environmentLabel:Wn?.modeLabel,environmentHostLabel:Wn?.location===`remote`?Wn.hostLabel??void 0:void 0,isEnvironmentActionPending:at.isPending,onCreateNewThreadInWorktree:Kn,composerQueriesEnabled:S,composerQueriesRefetchOnMount:x.isSuccess?!1:`always`,composerQueriesStaleTime:C,onChangedFileClick:Kt,openThreadDiffPanel:Ft,projectId:e,workspaceChangedFilesSection:O?nn:null,workspaceStatusPending:O&&(mt.isLoading||Xt.isLoading),contextBannerMergeBase:O&&On&&qn?{branch:qn,branchRef:kt,options:xt,remoteOptions:Ct,optionsTruncated:St,optionsLoading:bt,onChange:En,onPickerOpenChange:zt,onSearchQueryChange:At}:null,sendMessage:it,pendingInteractions:T,pendingTodos:$e,managedBySection:vn,managerChildrenSection:yn,thread:g}),ar=g.type===`manager`?{controller:Le,filesError:ne,isFilesLoading:L}:void 0,or=jC({rootPath:cn,canOpenPreferredTarget:un,openInPreferredTarget:mn}),cr=jC({rootPath:on?re:null,canOpenPreferredTarget:un,openInPreferredTarget:mn}),lr=on&&un?e=>{mn({lineNumber:de,path:e})}:void 0,ur=he?Bn({path:he,rootPath:ht?.path}):null,dr=pe?Bn({path:pe,rootPath:re}):null,pr=Te?(0,q.jsx)(Jy,{projectId:e??void 0,environmentId:g.environmentId??null,currentThreadId:g.id,currentThreadType:g.type,focusRequest:I,onCreateAppPromptPrefill:Wt,onSelect:Ie}):le?(0,q.jsx)(vy,{appId:le,threadId:g.id}):he?(0,q.jsx)(mc,{activePath:he,copyPath:ur,environmentId:g.environmentId,lineNumber:me,onOpenInEditor:or,source:ge,statusLabel:V,threadId:g.id}):fe?(0,q.jsx)(hc,{activePath:fe,environmentId:g.environmentId,lineNumber:de,onOpenInEditor:lr,threadId:g.id}):pe?(0,q.jsx)(gc,{activePath:pe,copyPath:dr,onOpenInEditor:cr,threadId:g.id}):void 0;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(oy,{footer:rr,header:nr,isMetadataLoading:mt.isLoading,isSecondaryPanelOpen:Nt,metadata:{thread:g,projectId:e,parentThreadDisplayName:Mn??null,managerThreads:Je,canAssignToManager:Hn,canTakeOverThread:Un,environmentHost:_n??null,environmentIsLocal:on,environment:ht??null,workspaceStatus:$t,workspaceStatusError:Qt??null,selectedMergeBaseBranch:Ot,mergeBaseBranchRef:kt,mergeBaseBranchOptions:xt,mergeBaseBranchOptionsTruncated:St,mergeBaseRemoteBranchOptions:Ct,isLoadingMergeBaseBranchOptions:bt,updateThreadPending:ct.isPending||st.isPending,storage:ar,onAssignManager:Pn,onMergeBaseBranchChange:En,onMergeBaseBranchSearchQueryChange:At,onChangedFileClick:O?Kt:void 0},secondaryPanel:{activePanel:o,canUseGitUi:O,defaultMergeBaseBranch:yt,environmentId:g.environmentId??void 0,workspaceRootPath:ht?.path,fileTabs:Jt,fileTabContent:pr,isOpen:Nt,onClose:Mt,onCollapse:Mt,onOpenFileInEditor:or,onOpenNewTab:Ht,onOpenFilePreview:e=>{Pe({lineNumber:null,path:e,source:{kind:`working-tree`},statusLabel:null})},onPanelFocus:Vt,onPanelChange:Bt,showGitDiffTab:O},terminalPanel:ut?(0,q.jsx)(bw,{canCreateTerminal:Xn,threadId:g.id}):void 0,terminalPanelHeightPercent:r.panelHeightPercent,terminalPanelOpen:ut&&r.isOpen,onTerminalPanelResize:Gt,timeline:{activeThinking:Ye,hasOlderTimelineRows:Ze,hostConnectionNotice:pt,isLoadingOlderTimelineRows:U,isThreadTimelinePending:bn,timelineError:!!et,loadingTurnSummaryIds:Cn,erroredTurnSummaryIds:xn,onLoadOlderRows:Qe,onLoadTurnSummaryRows:Sn,onOpenLocalFileLink:Ln,onTitleAction:Rn,projectId:e,showOngoingIndicator:g.stopRequestedAt===null&&!E&&(g.runtime.displayStatus===`active`||g.runtime.displayStatus===`host-reconnecting`)&&!bn,ongoingIndicatorLabel:g.runtime.displayStatus===`host-reconnecting`?`Waiting for reconnection`:void 0,timelineRows:rt,stopRequestedAt:g.stopRequestedAt,threadId:g.id,threadRuntimeDisplayStatus:g.runtime.displayStatus,turnSummaryRowsIdentity:zn,turnSummaryRowsById:wn,unreadDividerAutoScroll:N.autoScroll,unreadDividerPlacement:N.placement,workspaceRootPath:ht?.path??void 0}}),O?(0,q.jsx)(sa,{target:An.threadGitActionDialog.target,branchName:Jn,gitStatusDisplay:Zn,changedFilesSection:rn,threadId:g.id,threadType:g.type,showMergeBaseDetails:Dn,mergeBaseBranch:Tn,mergeBaseBranchOptions:xt,mergeBaseBranchOptionsTruncated:St,mergeBaseBranchRef:kt,mergeBaseRemoteBranchOptions:Ct,mergeBaseBranchOptionsLoading:bt,onMergeBaseBranchSearchQueryChange:At,onMergeBaseBranchChange:Dn?En:void 0,onOpenChange:e=>{e||An.threadGitActionDialog.onClose()},onCommit:An.handleCommitThread,onSquashMerge:An.handleSquashMergeThread}):null]})}var Nw={workerFactory:di,poolSize:ui()},Pw={};function Fw(){return(0,q.jsx)(ur,{poolOptions:Nw,highlighterOptions:Pw,children:(0,q.jsx)(Mw,{})})}export{Fw as default};