bb-app 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/app/dist/assets/AppSettingsView-DH1waGrt.js +1 -0
- package/app/dist/assets/InternalReplayListView-DjsfJLJv.js +1 -0
- package/app/dist/assets/ProjectArchivedThreadsView-Bj8oRQmq.js +1 -0
- package/app/dist/assets/ProjectSettingsView-B5yhhmEc.js +1 -0
- package/app/dist/assets/ThreadDetailRoute-DKYxhL5B.js +2680 -0
- package/app/dist/assets/ThreadUnarchiveButton-CdRo7M97.js +1 -0
- package/app/dist/assets/{angular-html-C2Dl0O00.js → angular-html-CoYv0XJY.js} +1 -1
- package/app/dist/assets/{angular-ts-CVYqc36v.js → angular-ts--oE0vL6J.js} +1 -1
- package/app/dist/assets/{apl-BGPamPSJ.js → apl-mu0Mp6u1.js} +1 -1
- package/app/dist/assets/{astro-Ba-Dojj4.js → astro-DGoqbRGX.js} +1 -1
- package/app/dist/assets/{blade-Lwg2Qi0v.js → blade-DQujc1A5.js} +1 -1
- package/app/dist/assets/{bsl-JaCMWPaY.js → bsl-CG-fq4sc.js} +1 -1
- package/app/dist/assets/{c-B_58eHuy.js → c-2jbVFmuV.js} +1 -1
- package/app/dist/assets/{cairo-D7Xpkdmw.js → cairo-Ds0kTeYT.js} +1 -1
- package/app/dist/assets/chunk-JZWAC4HX-C_-VEW9Q.js +3 -0
- package/app/dist/assets/{cobol-CM0x5uzi.js → cobol-Dk2pgWM3.js} +1 -1
- package/app/dist/assets/{coffee-WumiHYOD.js → coffee-6v78fbbf.js} +1 -1
- package/app/dist/assets/{cpp-D0sZgzGq.js → cpp-QzZpOrzC.js} +1 -1
- package/app/dist/assets/{crystal-C2tAIJ-r.js → crystal-CvexRWdz.js} +1 -1
- package/app/dist/assets/{css-QhLRjU31.js → css-OM3bJ3_6.js} +1 -1
- package/app/dist/assets/dialog-BjpdbSmZ.js +1 -0
- package/app/dist/assets/{edge-BmtKCk7-.js → edge-C3m71CuX.js} +1 -1
- package/app/dist/assets/effective-hosts-D-vDT9_r.js +68 -0
- package/app/dist/assets/{elixir-DiumzaXM.js → elixir-BhRXZTvD.js} +1 -1
- package/app/dist/assets/{elm-DV3i51_v.js → elm-DYE0yZFL.js} +1 -1
- package/app/dist/assets/{erb-3qqPnLJh.js → erb-SSD9uhMe.js} +1 -1
- package/app/dist/assets/{erlang-DJdyEhn7.js → erlang-C-m_88FN.js} +1 -1
- package/app/dist/assets/{fortran-fixed-form-Dyncprn4.js → fortran-fixed-form-Cx1lv7HN.js} +1 -1
- package/app/dist/assets/{fsharp-D6WYKxtq.js → fsharp-DC5k9sy2.js} +1 -1
- package/app/dist/assets/{gdresource-Bac2fAQZ.js → gdresource-D0EsKdgH.js} +1 -1
- package/app/dist/assets/{git-commit-CDZnUqIF.js → git-commit-BcFsuO5E.js} +1 -1
- package/app/dist/assets/{git-rebase-DIMwlcT0.js → git-rebase-D0Fw5_xo.js} +1 -1
- package/app/dist/assets/{glimmer-js-BKsURin4.js → glimmer-js-Jn4VQcUP.js} +1 -1
- package/app/dist/assets/{glimmer-ts-Chhe0oIX.js → glimmer-ts-BNZNfWU-.js} +1 -1
- package/app/dist/assets/{glsl-Dy3tp3E1.js → glsl-DGR2Z9QX.js} +1 -1
- package/app/dist/assets/{graphql-CseHr1LK.js → graphql-DQM3uC9O.js} +1 -1
- package/app/dist/assets/{hack-boTiAbss.js → hack-D9UfM1Cn.js} +1 -1
- package/app/dist/assets/{haml-CjrsmcwN.js → haml-BB_Vekn8.js} +1 -1
- package/app/dist/assets/{handlebars-B_oDWsbs.js → handlebars-Dttle2Wb.js} +1 -1
- package/app/dist/assets/{html-C4e0uDKx.js → html-Df_qp_V9.js} +1 -1
- package/app/dist/assets/{html-derivative-DtQj__OI.js → html-derivative-rl3w8zDj.js} +1 -1
- package/app/dist/assets/{http-W8z61A1Z.js → http-CgnYHPQJ.js} +1 -1
- package/app/dist/assets/{hurl-CBaPhsIJ.js → hurl-CUdIfmn9.js} +1 -1
- package/app/dist/assets/{hxml-BNblpm3P.js → hxml-iQTOTWpM.js} +1 -1
- package/app/dist/assets/index-CCJm8W3d.css +2 -0
- package/app/dist/assets/index-D2Ze5muL.js +1360 -0
- package/app/dist/assets/{java-C9TLG_lA.js → java-CNjohX-o.js} +1 -1
- package/app/dist/assets/{javascript-B6-baDIX.js → javascript-Bmzu-1YP.js} +1 -1
- package/app/dist/assets/{jinja-D6Ec9tX7.js → jinja-DXX545BW.js} +1 -1
- package/app/dist/assets/{jison-abiW-9pn.js → jison-BFsONSRA.js} +1 -1
- package/app/dist/assets/{json-DtR-rTq5.js → json-D3Qqjr3g.js} +1 -1
- package/app/dist/assets/{jsx-TQyKdSmQ.js → jsx-tZzot0X9.js} +1 -1
- package/app/dist/assets/{julia-BKK2QHze.js → julia-BwzvM27y.js} +1 -1
- package/app/dist/assets/{just-BY5hWNgR.js → just-6CfdIddw.js} +1 -1
- package/app/dist/assets/{latex-CuW1q2vJ.js → latex-DNTJjbTj.js} +1 -1
- package/app/dist/assets/{liquid-BsqUQnO5.js → liquid-DjUlzYiW.js} +1 -1
- package/app/dist/assets/localhost-badge-C8-uvmR_.js +22 -0
- package/app/dist/assets/{lua-D4PO1r07.js → lua-LZQVLoh_.js} +1 -1
- package/app/dist/assets/{marko-1bNyFeKY.js → marko-Dclxmh1h.js} +1 -1
- package/app/dist/assets/{mdc-BoU9IUKL.js → mdc-BpaMcHe8.js} +1 -1
- package/app/dist/assets/mutation-cache-effects-BAn11UmS.js +1 -0
- package/app/dist/assets/{nextflow-dLJhzX3Z.js → nextflow-D-Ec_bsY.js} +1 -1
- package/app/dist/assets/{nginx-BXWzwlUI.js → nginx-CYoL5nkY.js} +1 -1
- package/app/dist/assets/{nim-BgalU8R5.js → nim-CxULhr2M.js} +1 -1
- package/app/dist/assets/page-shell-BYLrlYTH.js +39 -0
- package/app/dist/assets/{perl-OrqzwF6j.js → perl-5LAV6neX.js} +1 -1
- package/app/dist/assets/{php-DsC0K8EH.js → php-D8BcRHFY.js} +1 -1
- package/app/dist/assets/pill-C-0inATv.js +1 -0
- package/app/dist/assets/{pug-D-Q9Kgtz.js → pug-C9t1Hjhu.js} +1 -1
- package/app/dist/assets/{qml-Dyn06a9u.js → qml-DGkLNN9v.js} +1 -1
- package/app/dist/assets/{r-C3AjV-3E.js → r-CeMfeXpy.js} +1 -1
- package/app/dist/assets/{razor-DHd1twLi.js → razor-DRG-JA5B.js} +1 -1
- package/app/dist/assets/{regexp-Dl_oPCDN.js → regexp-C6eJQVWV.js} +1 -1
- package/app/dist/assets/{rst-BIq6VDAT.js → rst-_TSRDHac.js} +1 -1
- package/app/dist/assets/{ruby-BJwcPMyx.js → ruby-dQqgg9kc.js} +1 -1
- package/app/dist/assets/{sas-TXWq-8Bu.js → sas-C4F5TLRE.js} +1 -1
- package/app/dist/assets/{scss-Cz2NsCSh.js → scss-CmYsLoFC.js} +1 -1
- package/app/dist/assets/{settings-section-CZi6DvBs.js → settings-section-DrGaArro.js} +1 -1
- package/app/dist/assets/{shaderlab-CSb6CBXg.js → shaderlab-DGohHMiF.js} +1 -1
- package/app/dist/assets/{shellscript-CJedfzfs.js → shellscript-WXnX1Mec.js} +1 -1
- package/app/dist/assets/{shellsession-Tkblvq8e.js → shellsession-Bn3Xgpma.js} +1 -1
- package/app/dist/assets/{soy-g_UxtUjg.js → soy-c3pX5x_S.js} +1 -1
- package/app/dist/assets/{sparql-J1VOnnwM.js → sparql-BgU2QITA.js} +1 -1
- package/app/dist/assets/split-button-BVu8nD9J.js +1 -0
- package/app/dist/assets/{sql-DQAX0EN7.js → sql-D6zVwCTB.js} +1 -1
- package/app/dist/assets/{stata-BXjroK6c.js → stata-CVENOXDm.js} +1 -1
- package/app/dist/assets/{surrealql-DyDhPjEW.js → surrealql-BT_Ybe_U.js} +1 -1
- package/app/dist/assets/{svelte-CEjCx-8g.js → svelte-C_ktJHww.js} +1 -1
- package/app/dist/assets/{templ-BViMCY-s.js → templ-BWI48nlj.js} +1 -1
- package/app/dist/assets/{tex-BOG7uw6j.js → tex-BCbKiW8N.js} +1 -1
- package/app/dist/assets/thread-queries-VdTjp5RH.js +1 -0
- package/app/dist/assets/{ts-tags-1PkZB39L.js → ts-tags--q5Co27x.js} +1 -1
- package/app/dist/assets/{tsx-B1khekg1.js → tsx-D9Tu2qDP.js} +1 -1
- package/app/dist/assets/{twig-C30VOGkj.js → twig-0tBvYCLy.js} +1 -1
- package/app/dist/assets/{typescript-BVriUqhl.js → typescript-usoJ9tbx.js} +1 -1
- package/app/dist/assets/{vue-Dy6YaQjk.js → vue-BQb85j8g.js} +1 -1
- package/app/dist/assets/{vue-html-yfcmxRL7.js → vue-html-gWLUM0tZ.js} +1 -1
- package/app/dist/assets/{vue-vine-BnfxXDO0.js → vue-vine-B47td4pS.js} +1 -1
- package/app/dist/assets/{xml-BJ3Y9ehh.js → xml-BHrSCP44.js} +1 -1
- package/app/dist/assets/{xsl-CFOlFF3h.js → xsl-D48ooQoQ.js} +1 -1
- package/app/dist/assets/{yaml-BJda_PXC.js → yaml-DyYbpBBV.js} +1 -1
- package/app/dist/index.html +9 -9
- package/dist/bb-app.js +19 -1
- package/dist/bb-host-daemon.js +16 -1
- package/dist/bb-server.js +16 -1
- package/dist/bb.js +16 -1
- package/host-daemon/dist/bb +362 -72
- package/host-daemon/dist/bb-claude-code-bridge.mjs +35 -35
- package/host-daemon/dist/daemon-bundle.mjs +389 -386
- package/package.json +1 -1
- package/server/dist/drizzle/0003_thread_dynamic_context_file_states.sql +12 -0
- package/server/dist/drizzle/meta/0003_snapshot.json +3178 -0
- package/server/dist/drizzle/meta/_journal.json +7 -0
- package/server/dist/index.js +13362 -8118
- package/app/dist/assets/AppSettingsView-SFYjccBR.js +0 -1
- package/app/dist/assets/InternalReplayListView-D-5BEgLK.js +0 -1
- package/app/dist/assets/ProjectArchivedThreadsView-DAF8LFet.js +0 -1
- package/app/dist/assets/ProjectSettingsView-C_WCJcrH.js +0 -1
- package/app/dist/assets/ThreadDetailRoute-D8k29X_E.js +0 -2390
- package/app/dist/assets/ThreadUnarchiveButton-EqnpnszW.js +0 -1
- package/app/dist/assets/dialog-CaQY-B8P.js +0 -1
- package/app/dist/assets/effective-hosts-ps3WYS_d.js +0 -68
- package/app/dist/assets/index-B8UIxEOk.js +0 -1359
- package/app/dist/assets/index-Ct4fTclZ.css +0 -2
- package/app/dist/assets/localhost-badge-C9iEqET9.js +0 -22
- package/app/dist/assets/mutation-cache-effects-BQHFwGL7.js +0 -1
- package/app/dist/assets/page-shell-Dglk9LmR.js +0 -39
- package/app/dist/assets/pill-DYYeHA29.js +0 -3
- package/app/dist/assets/split-button-2v1ePK2A.js +0 -1
- package/app/dist/assets/thread-queries-BOTfj5Vv.js +0 -1
- package/server/dist/default-template/PREFERENCES.md +0 -35
- /package/app/dist/assets/{abap-DKGmjV0m.js → abap-B1dkBSPn.js} +0 -0
- /package/app/dist/assets/{actionscript-3-PQHI9sRP.js → actionscript-3-BT4ibYlP.js} +0 -0
- /package/app/dist/assets/{ada-7dCRqcEc.js → ada-CD92zeps.js} +0 -0
- /package/app/dist/assets/{addon-fit-CIMl-Yt0.js → addon-fit-Cm0rqjtv.js} +0 -0
- /package/app/dist/assets/{addon-web-links-Sy65bwVY.js → addon-web-links-B8_D6zvC.js} +0 -0
- /package/app/dist/assets/{andromeeda-CvHLbWZU.js → andromeeda-DqSmgxi0.js} +0 -0
- /package/app/dist/assets/{apache-DuwFT_ko.js → apache-D5suuoa_.js} +0 -0
- /package/app/dist/assets/{apex-ZrILV9y9.js → apex-BL-m4VHy.js} +0 -0
- /package/app/dist/assets/{applescript-QewDI2Hm.js → applescript-CLiBqvKT.js} +0 -0
- /package/app/dist/assets/{ara-CAKYVeDX.js → ara-LdDF8cmv.js} +0 -0
- /package/app/dist/assets/{asciidoc-xYtH5EEV.js → asciidoc-2DZ9hC2N.js} +0 -0
- /package/app/dist/assets/{asm-DuNyKkDV.js → asm-0ZPGRSUy.js} +0 -0
- /package/app/dist/assets/{aurora-x-mlfFqJAh.js → aurora-x-Da7Zfvbg.js} +0 -0
- /package/app/dist/assets/{awk-BDSWDVpS.js → awk-Bn0gn_B_.js} +0 -0
- /package/app/dist/assets/{ayu-dark-BTeHke7b.js → ayu-dark-bqYKoqpM.js} +0 -0
- /package/app/dist/assets/{ayu-light-CoZXvb4i.js → ayu-light-C45jTIzZ.js} +0 -0
- /package/app/dist/assets/{ayu-mirage-DlGy8b5I.js → ayu-mirage-BV_FCTQi.js} +0 -0
- /package/app/dist/assets/{ballerina-eIQtFtZN.js → ballerina-D2nw_w8Q.js} +0 -0
- /package/app/dist/assets/{bat-DVPhDFws.js → bat-ByUBN5gS.js} +0 -0
- /package/app/dist/assets/{beancount-DRh4LoEp.js → beancount-BTb2W6Mp.js} +0 -0
- /package/app/dist/assets/{berry-BJPWN0aG.js → berry-5SO2uITG.js} +0 -0
- /package/app/dist/assets/{bibtex-BXZl-zGT.js → bibtex-CDBTNfUI.js} +0 -0
- /package/app/dist/assets/{bicep-DUhze7H3.js → bicep-fgxG_4rP.js} +0 -0
- /package/app/dist/assets/{bird2-D_94N4Us.js → bird2-BCwzDhwX.js} +0 -0
- /package/app/dist/assets/{c3-CUFd2ak_.js → c3-Dlaci63_.js} +0 -0
- /package/app/dist/assets/{cadence-zuA3Lqsu.js → cadence-DHbRuEmm.js} +0 -0
- /package/app/dist/assets/{catppuccin-frappe-C4xh_RpD.js → catppuccin-frappe-DrL1fUuH.js} +0 -0
- /package/app/dist/assets/{catppuccin-latte-ZIzlVBYe.js → catppuccin-latte-C0REgVjl.js} +0 -0
- /package/app/dist/assets/{catppuccin-macchiato-DOZXEuSH.js → catppuccin-macchiato-ChQpylWO.js} +0 -0
- /package/app/dist/assets/{catppuccin-mocha-rnm_6i_u.js → catppuccin-mocha-Dd0JU1T0.js} +0 -0
- /package/app/dist/assets/{clarity-Dp-fzxYs.js → clarity-DMoTOm4G.js} +0 -0
- /package/app/dist/assets/{clojure-85kagXuc.js → clojure-DBhE3PpS.js} +0 -0
- /package/app/dist/assets/{cmake-5KZO_J3V.js → cmake-DwMc40Or.js} +0 -0
- /package/app/dist/assets/{codeowners-CwITHnrC.js → codeowners-1lVr8wqV.js} +0 -0
- /package/app/dist/assets/{codeql-DsuZZPKs.js → codeql-DWflolvo.js} +0 -0
- /package/app/dist/assets/{common-lisp-DQj0fa1s.js → common-lisp-CrVQ5xT-.js} +0 -0
- /package/app/dist/assets/{coq-BGPtnnb4.js → coq-CjfoyYSh.js} +0 -0
- /package/app/dist/assets/{csharp-Bz4y1fn8.js → csharp-C7bIWP5y.js} +0 -0
- /package/app/dist/assets/{csv-92JdhrVb.js → csv-DsAkDVtA.js} +0 -0
- /package/app/dist/assets/{cue-DO5iBckt.js → cue-BWmQgbOB.js} +0 -0
- /package/app/dist/assets/{cypher-Dt0SBufN.js → cypher-D-jVC50Q.js} +0 -0
- /package/app/dist/assets/{d-POAmrdpL.js → d-CaviyOrm.js} +0 -0
- /package/app/dist/assets/{dark-plus-Ci223Kw7.js → dark-plus-DIrnwZt9.js} +0 -0
- /package/app/dist/assets/{dart-Cv4z4sEx.js → dart-CZEi7JgC.js} +0 -0
- /package/app/dist/assets/{dax-Cw_LNvcO.js → dax-BK-8zffy.js} +0 -0
- /package/app/dist/assets/{desktop-B_uWbpWi.js → desktop-D3cjbL4D.js} +0 -0
- /package/app/dist/assets/{diff-pSjjL-ZH.js → diff-sHAzLvlp.js} +0 -0
- /package/app/dist/assets/{docker-r0L9bSzI.js → docker--xs2Ng3w.js} +0 -0
- /package/app/dist/assets/{dotenv-DU-Uz6AA.js → dotenv-Cm4nwcJ7.js} +0 -0
- /package/app/dist/assets/{dracula-C5lq8I7X.js → dracula-CAUSusef.js} +0 -0
- /package/app/dist/assets/{dracula-soft-QH3ntlSU.js → dracula-soft-cjNkMFza.js} +0 -0
- /package/app/dist/assets/{dream-maker-DE3sVgWW.js → dream-maker-fjmWTFCO.js} +0 -0
- /package/app/dist/assets/{emacs-lisp-aMjKKeFP.js → emacs-lisp-CJzqStIa.js} +0 -0
- /package/app/dist/assets/{everforest-dark-KTiMpaXm.js → everforest-dark-DBpaSMx1.js} +0 -0
- /package/app/dist/assets/{everforest-light-yJZ9a76P.js → everforest-light-CiGrXwia.js} +0 -0
- /package/app/dist/assets/{fennel-Bruivvq3.js → fennel-DRaXF7k8.js} +0 -0
- /package/app/dist/assets/{fish-CaGhpV7s.js → fish-Bn-Yh3Jj.js} +0 -0
- /package/app/dist/assets/{fluent-BsmQk-nO.js → fluent-DF5F8Ks_.js} +0 -0
- /package/app/dist/assets/{fortran-free-form-B9mY58s0.js → fortran-free-form-hCQHRqew.js} +0 -0
- /package/app/dist/assets/{gdscript-B_WUGHIs.js → gdscript-_C9_Hi_w.js} +0 -0
- /package/app/dist/assets/{gdshader-BR6nyn6z.js → gdshader-BW7b1X1Y.js} +0 -0
- /package/app/dist/assets/{genie-CW-a1unw.js → genie-Ch_6TCHd.js} +0 -0
- /package/app/dist/assets/{gherkin-D8z0Dn14.js → gherkin-CaNUsmTq.js} +0 -0
- /package/app/dist/assets/{github-dark-C2YvJIRl.js → github-dark-B9ygjgg6.js} +0 -0
- /package/app/dist/assets/{github-dark-default-DPZ1YWUU.js → github-dark-default-Br2bgYSx.js} +0 -0
- /package/app/dist/assets/{github-dark-dimmed-BlMwpJVf.js → github-dark-dimmed-CmtqpPJ-.js} +0 -0
- /package/app/dist/assets/{github-dark-high-contrast-KRBg57oP.js → github-dark-high-contrast-fSfmrZcC.js} +0 -0
- /package/app/dist/assets/{github-light-BLj5WXD_.js → github-light-BZjUqfZl.js} +0 -0
- /package/app/dist/assets/{github-light-default-BLgrdOV4.js → github-light-default-lIytXXhR.js} +0 -0
- /package/app/dist/assets/{github-light-high-contrast-Bmexxccr.js → github-light-high-contrast-BRrjFb7n.js} +0 -0
- /package/app/dist/assets/{gleam-BtOZgVle.js → gleam-DALMDpNs.js} +0 -0
- /package/app/dist/assets/{gn-JO9YMz2t.js → gn-DGjqrYN9.js} +0 -0
- /package/app/dist/assets/{gnuplot-DjZHg3_f.js → gnuplot-BYckvgQI.js} +0 -0
- /package/app/dist/assets/{go-D2GlBE5F.js → go-JycvP538.js} +0 -0
- /package/app/dist/assets/{groovy-1vEGAvvX.js → groovy-D5qMRONT.js} +0 -0
- /package/app/dist/assets/{gruvbox-dark-hard-pdBjrsK5.js → gruvbox-dark-hard-M1dj1e6V.js} +0 -0
- /package/app/dist/assets/{gruvbox-dark-medium-Csp4lPEF.js → gruvbox-dark-medium-cqq_ncQu.js} +0 -0
- /package/app/dist/assets/{gruvbox-dark-soft-BpNWvgik.js → gruvbox-dark-soft-B4QwL2a9.js} +0 -0
- /package/app/dist/assets/{gruvbox-light-hard-CC8CVJp5.js → gruvbox-light-hard-DLayMKOQ.js} +0 -0
- /package/app/dist/assets/{gruvbox-light-medium-D2yGUmJd.js → gruvbox-light-medium-D52XgPKf.js} +0 -0
- /package/app/dist/assets/{gruvbox-light-soft-C_9RTTTT.js → gruvbox-light-soft-Dola3KdD.js} +0 -0
- /package/app/dist/assets/{haskell-BFZjB68l.js → haskell-ys7wPPEd.js} +0 -0
- /package/app/dist/assets/{haxe-DDQKctJt.js → haxe-94kiChn7.js} +0 -0
- /package/app/dist/assets/{hcl-DUAADz_v.js → hcl-DmHt_-wq.js} +0 -0
- /package/app/dist/assets/{hjson-DyGphq4K.js → hjson-xMmoJ0Gx.js} +0 -0
- /package/app/dist/assets/{hlsl-BVEJlW36.js → hlsl-b-Pskdze.js} +0 -0
- /package/app/dist/assets/{horizon-BZmYXqIF.js → horizon-BKMqttiR.js} +0 -0
- /package/app/dist/assets/{horizon-bright-D0uooZm5.js → horizon-bright-HNkBlnm5.js} +0 -0
- /package/app/dist/assets/{houston-BUtcOxf9.js → houston-BkBSBSOQ.js} +0 -0
- /package/app/dist/assets/{hy-oWi_RwAK.js → hy-DKl1XhBq.js} +0 -0
- /package/app/dist/assets/{imba-iwzgkuTD.js → imba-DPxkOTAg.js} +0 -0
- /package/app/dist/assets/{ini-BNaakZQr.js → ini-lkLGq_1x.js} +0 -0
- /package/app/dist/assets/{json5-Y2CuQCK-.js → json5-Cy6ypJuJ.js} +0 -0
- /package/app/dist/assets/{jsonc-B30nqSUF.js → jsonc-Cw2ugYAK.js} +0 -0
- /package/app/dist/assets/{jsonl-B7UEa0TN.js → jsonl-Dp5_qBVH.js} +0 -0
- /package/app/dist/assets/{jsonnet-ZiCJB3SD.js → jsonnet-BTbmg_-u.js} +0 -0
- /package/app/dist/assets/{jssm-BOfC2rh1.js → jssm-CnT7nPea.js} +0 -0
- /package/app/dist/assets/{kanagawa-dragon-BVoApXR6.js → kanagawa-dragon-CxsBnuhV.js} +0 -0
- /package/app/dist/assets/{kanagawa-lotus-C-uV5im6.js → kanagawa-lotus-vHdxDDOS.js} +0 -0
- /package/app/dist/assets/{kanagawa-wave-BizPisns.js → kanagawa-wave-CIkfTKWk.js} +0 -0
- /package/app/dist/assets/{kdl-Bg7xxjIF.js → kdl-BwK60g80.js} +0 -0
- /package/app/dist/assets/{kotlin-CNprttl8.js → kotlin-Dbd9Vi-v.js} +0 -0
- /package/app/dist/assets/{kusto-D3uRUZFA.js → kusto-BuTk9usc.js} +0 -0
- /package/app/dist/assets/{laserwave-BypMvj8s.js → laserwave-C0wf_d3o.js} +0 -0
- /package/app/dist/assets/{lean-BbKKg8_U.js → lean-CYAW8bRN.js} +0 -0
- /package/app/dist/assets/{less-6BW8xQaX.js → less-D4uen21c.js} +0 -0
- /package/app/dist/assets/{light-plus-zSYF2DYe.js → light-plus-oqYyWKEE.js} +0 -0
- /package/app/dist/assets/{llvm-OMExIg60.js → llvm-Z1xJzteV.js} +0 -0
- /package/app/dist/assets/{log-BBfW4u9k.js → log-BGUxlsk3.js} +0 -0
- /package/app/dist/assets/{logo-D8GGcRiY.js → logo-wVUhvQ1b.js} +0 -0
- /package/app/dist/assets/{luau-CZIl0XK4.js → luau-rPFZzCmq.js} +0 -0
- /package/app/dist/assets/{make-mlZyflos.js → make-BmPf6m0P.js} +0 -0
- /package/app/dist/assets/{markdown-CppElJDR.js → markdown-AseU6zcW.js} +0 -0
- /package/app/dist/assets/{material-theme-OBz0sIMu.js → material-theme-6_W6rQhR.js} +0 -0
- /package/app/dist/assets/{material-theme-darker-BNfFk916.js → material-theme-darker-VPEo3Sem.js} +0 -0
- /package/app/dist/assets/{material-theme-lighter-D0OJsx_T.js → material-theme-lighter-CUhzCcZ9.js} +0 -0
- /package/app/dist/assets/{material-theme-ocean-CKWC7YJB.js → material-theme-ocean-B2JdsaGb.js} +0 -0
- /package/app/dist/assets/{material-theme-palenight-DOTFIR3W.js → material-theme-palenight-DhY-sklA.js} +0 -0
- /package/app/dist/assets/{matlab-CwLrY_Ss.js → matlab-BOj_BDQv.js} +0 -0
- /package/app/dist/assets/{mdx-OZt5aooY.js → mdx-Cm6cDkDI.js} +0 -0
- /package/app/dist/assets/{mermaid-mzvznqsh.js → mermaid-DLO-R4hv.js} +0 -0
- /package/app/dist/assets/{min-dark-BAbZNtjj.js → min-dark-D34a_pX7.js} +0 -0
- /package/app/dist/assets/{min-light-BzEisXBR.js → min-light-Cdd4KORE.js} +0 -0
- /package/app/dist/assets/{mipsasm-DONjtc4L.js → mipsasm-DYpHF-GA.js} +0 -0
- /package/app/dist/assets/{mojo-CHKQ5hW9.js → mojo-DqYVFv_G.js} +0 -0
- /package/app/dist/assets/{monokai-B8rLeJY_.js → monokai-CDR4sQ2n.js} +0 -0
- /package/app/dist/assets/{moonbit-CWIHpJf0.js → moonbit-DRKee9wk.js} +0 -0
- /package/app/dist/assets/{move-Dy7CmIgW.js → move-DbRk6Vn9.js} +0 -0
- /package/app/dist/assets/{narrat-NioX5-_j.js → narrat-IOfmaXfb.js} +0 -0
- /package/app/dist/assets/{nextflow-groovy-jKlTICX_.js → nextflow-groovy-EYl0c2BQ.js} +0 -0
- /package/app/dist/assets/{night-owl-light-C_DkqGGe.js → night-owl-light-Bedht9b4.js} +0 -0
- /package/app/dist/assets/{night-owl-C_xVeV9U.js → night-owl-yQJ3-I0I.js} +0 -0
- /package/app/dist/assets/{nix-BZVKmCQS.js → nix-C2IovEl2.js} +0 -0
- /package/app/dist/assets/{nord-CrTSutxR.js → nord-BjZ63GNL.js} +0 -0
- /package/app/dist/assets/{nushell-C8hgS98n.js → nushell-BflTrRB5.js} +0 -0
- /package/app/dist/assets/{objective-c-BUiYTSad.js → objective-c-GRClK1S7.js} +0 -0
- /package/app/dist/assets/{objective-cpp-BwY1U2XT.js → objective-cpp-l3qYw-v5.js} +0 -0
- /package/app/dist/assets/{ocaml-D51PiCY5.js → ocaml-BBDyhyMH.js} +0 -0
- /package/app/dist/assets/{odin-CoC4d8pi.js → odin-jCJ7Js99.js} +0 -0
- /package/app/dist/assets/{one-dark-pro-C9bEA2Dz.js → one-dark-pro-PIx2Diul.js} +0 -0
- /package/app/dist/assets/{one-light-DZ_5GYrV.js → one-light-BFMEz49S.js} +0 -0
- /package/app/dist/assets/{openscad-DCmPLSXt.js → openscad-Drf0LgCX.js} +0 -0
- /package/app/dist/assets/{pascal-BMY45JJO.js → pascal-BT2XAUTl.js} +0 -0
- /package/app/dist/assets/{pierre-dark-CMWr1OVv.js → pierre-dark-BMm5HxPQ.js} +0 -0
- /package/app/dist/assets/{pierre-light-DhtJ5n85.js → pierre-light-DyzEot4Q.js} +0 -0
- /package/app/dist/assets/{pkl-BlBky-cR.js → pkl-ML-dWShO.js} +0 -0
- /package/app/dist/assets/{plastic-C50vuo0c.js → plastic-BFI-Z5Z2.js} +0 -0
- /package/app/dist/assets/{plsql-B6Eq-lAd.js → plsql-0vd5cLro.js} +0 -0
- /package/app/dist/assets/{po-ByS5p8Sz.js → po-CbZ_uqQA.js} +0 -0
- /package/app/dist/assets/{poimandres-Cs9j_baE.js → poimandres-Cayhd01L.js} +0 -0
- /package/app/dist/assets/{polar-COmSbiHW.js → polar-C4hfV8Nc.js} +0 -0
- /package/app/dist/assets/{postcss-D_ArMqNC.js → postcss-osFUbTLw.js} +0 -0
- /package/app/dist/assets/{powerquery-BzHwsYRb.js → powerquery-CTlGUQPj.js} +0 -0
- /package/app/dist/assets/{powershell-C6bIwB0M.js → powershell-DyZsOmuq.js} +0 -0
- /package/app/dist/assets/{prisma-D5S9vj6g.js → prisma-SS92PO_I.js} +0 -0
- /package/app/dist/assets/{prolog-CHVuxG8M.js → prolog-B1O1NNVC.js} +0 -0
- /package/app/dist/assets/{proto-BhkmoXVj.js → proto-BWu3eZTs.js} +0 -0
- /package/app/dist/assets/{puppet-Brdz8eoo.js → puppet-tvtRVdr6.js} +0 -0
- /package/app/dist/assets/{purescript-DX3wKXeK.js → purescript-Dtbpb7D-.js} +0 -0
- /package/app/dist/assets/{python-CUtprRpG.js → python-Dlk0Acio.js} +0 -0
- /package/app/dist/assets/{qmldir-ftS4SxdQ.js → qmldir-B-iEOngH.js} +0 -0
- /package/app/dist/assets/{qss-Mo-j41VR.js → qss-Ba0p-aHw.js} +0 -0
- /package/app/dist/assets/{racket-CrTD1_3_.js → racket-BXDsxf2U.js} +0 -0
- /package/app/dist/assets/{raku-Bhig3MAC.js → raku-Dw1WWFXK.js} +0 -0
- /package/app/dist/assets/{red-CWX-2pbk.js → red-BC3Ds49b.js} +0 -0
- /package/app/dist/assets/{reg-C0s7-4s0.js → reg-DXFHGaM4.js} +0 -0
- /package/app/dist/assets/{rel-D1_XRRAX.js → rel-Dc5_Ytx2.js} +0 -0
- /package/app/dist/assets/{riscv-QV-e36TY.js → riscv-ZgswiWij.js} +0 -0
- /package/app/dist/assets/{ron-B-EB7ZBI.js → ron-YghabWAH.js} +0 -0
- /package/app/dist/assets/{rose-pine-Dxqc8n_1.js → rose-pine-ByWLnVr3.js} +0 -0
- /package/app/dist/assets/{rose-pine-dawn-pz_3O4ep.js → rose-pine-dawn-DBmeySrz.js} +0 -0
- /package/app/dist/assets/{rose-pine-moon-B27idgkd.js → rose-pine-moon-B9J-N3nK.js} +0 -0
- /package/app/dist/assets/{rosmsg-CcBwQf5j.js → rosmsg-DTKmAsVH.js} +0 -0
- /package/app/dist/assets/{rust-ppknoGus.js → rust-nfXwuE6F.js} +0 -0
- /package/app/dist/assets/{sass-Baw41att.js → sass-CbRjkld3.js} +0 -0
- /package/app/dist/assets/{scala-DtlnBhKt.js → scala-BzD3eypx.js} +0 -0
- /package/app/dist/assets/{scheme-DYQMayIi.js → scheme-D4d1PV1y.js} +0 -0
- /package/app/dist/assets/{sdbl-D0gXyfL6.js → sdbl-Cf-Ydnvx.js} +0 -0
- /package/app/dist/assets/{slack-dark-D27cdsBY.js → slack-dark-MszIyPZ2.js} +0 -0
- /package/app/dist/assets/{slack-ochin-BaRZ7cFo.js → slack-ochin-tQ3Q0gE9.js} +0 -0
- /package/app/dist/assets/{smalltalk-DRM3jr39.js → smalltalk-_uWoArwn.js} +0 -0
- /package/app/dist/assets/{snazzy-light-BayTLer3.js → snazzy-light-9sniMEk5.js} +0 -0
- /package/app/dist/assets/{solarized-dark-Y31Htb59.js → solarized-dark-CdD0Hxzv.js} +0 -0
- /package/app/dist/assets/{solarized-light-B-u_T8hk.js → solarized-light-C-nsEdqF.js} +0 -0
- /package/app/dist/assets/{solidity-CYAp_sJG.js → solidity-D6uC-xwP.js} +0 -0
- /package/app/dist/assets/{splunk-LsCTpuOP.js → splunk-LQYHRu14.js} +0 -0
- /package/app/dist/assets/{ssh-config-QxQe7y21.js → ssh-config-B7BUl8Rd.js} +0 -0
- /package/app/dist/assets/{stylus-DZvi0832.js → stylus-Byjxdx_q.js} +0 -0
- /package/app/dist/assets/{swift-BBBWvOdl.js → swift-BexLlMrU.js} +0 -0
- /package/app/dist/assets/{synthwave-84-Dq9WAwjJ.js → synthwave-84-BxMBwQMS.js} +0 -0
- /package/app/dist/assets/{system-verilog-Ddagu-BW.js → system-verilog-DVGwm0mw.js} +0 -0
- /package/app/dist/assets/{systemd-BxlmhgV_.js → systemd-H2IT3-p5.js} +0 -0
- /package/app/dist/assets/{talonscript-p-GlmLEL.js → talonscript-mKZIGM8n.js} +0 -0
- /package/app/dist/assets/{tasl-BNm9EzXM.js → tasl-B7he_Ugr.js} +0 -0
- /package/app/dist/assets/{tcl-BQwTCs7_.js → tcl-5mT3RxHH.js} +0 -0
- /package/app/dist/assets/{terraform-DQhgYyF5.js → terraform-BZP0GLsT.js} +0 -0
- /package/app/dist/assets/{tokyo-night-DxL5lL62.js → tokyo-night-CTPVdZt9.js} +0 -0
- /package/app/dist/assets/{toml-BncMjmx0.js → toml-CTFA98he.js} +0 -0
- /package/app/dist/assets/{tsv--yOlbuAc.js → tsv-BayJtYdY.js} +0 -0
- /package/app/dist/assets/{turtle-ZCrKgE8E.js → turtle-TVCBh_kY.js} +0 -0
- /package/app/dist/assets/{typespec-9rD7KG94.js → typespec-BUvaJDLF.js} +0 -0
- /package/app/dist/assets/{typst-DJ10KoY6.js → typst-8NBaY7Ec.js} +0 -0
- /package/app/dist/assets/{v-CutuAYrg.js → v-VihyTigi.js} +0 -0
- /package/app/dist/assets/{vala-DJpFErrU.js → vala-DyFAPyX6.js} +0 -0
- /package/app/dist/assets/{vb-DQuyY02M.js → vb-Dg1Iqi4J.js} +0 -0
- /package/app/dist/assets/{verilog-BuvxZrtu.js → verilog-D2Xc-vhD.js} +0 -0
- /package/app/dist/assets/{vesper-bM1AKkiO.js → vesper-DJbtqYNr.js} +0 -0
- /package/app/dist/assets/{vhdl-pScFq2IF.js → vhdl-CU3BVeE7.js} +0 -0
- /package/app/dist/assets/{viml-LZIbwXqf.js → viml-hG2shuOW.js} +0 -0
- /package/app/dist/assets/{vitesse-black-BhKXUSxn.js → vitesse-black-DbG2gsc0.js} +0 -0
- /package/app/dist/assets/{vitesse-dark-BzqhRcAC.js → vitesse-dark-B6WV4xXH.js} +0 -0
- /package/app/dist/assets/{vitesse-light-C6rj90Ld.js → vitesse-light-DC1pdD02.js} +0 -0
- /package/app/dist/assets/{vyper-CAC2wkEx.js → vyper-C1wojIuk.js} +0 -0
- /package/app/dist/assets/{wasm-JuQDwMf4.js → wasm-C6Y0s02M.js} +0 -0
- /package/app/dist/assets/{wasm-C9fkFrNS.js → wasm-y20ImDym.js} +0 -0
- /package/app/dist/assets/{wenyan-BtC3dCkd.js → wenyan-BG5vPQF0.js} +0 -0
- /package/app/dist/assets/{wgsl-BfhDoYq0.js → wgsl-DrVb-Cub.js} +0 -0
- /package/app/dist/assets/{wikitext-BN0a9cMl.js → wikitext-PRC4s8sH.js} +0 -0
- /package/app/dist/assets/{wit-B5eB3VJ4.js → wit-ChW5qvg_.js} +0 -0
- /package/app/dist/assets/{wolfram-hGtNh8mf.js → wolfram-B8mKuZSQ.js} +0 -0
- /package/app/dist/assets/{xterm-CoRq-s8T.js → xterm-DGJHbKBQ.js} +0 -0
- /package/app/dist/assets/{zenscript-Dl5s7Kfy.js → zenscript-C-jEPC9j.js} +0 -0
- /package/app/dist/assets/{zig-Dashm4F0.js → zig-EbnRGjcz.js} +0 -0
package/README.md
CHANGED
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
|
|
11
11
|
[](https://www.npmjs.com/package/bb-app)
|
|
12
12
|
|
|
13
|
-
bb is
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
bb is an agentic IDE that can control itself. You can seamlessly
|
|
14
|
+
orchestrate all of your favorite coding agents together and have them
|
|
15
|
+
programmatically use bb too.
|
|
16
16
|
|
|
17
17
|
This package provides the `npx bb-app` launcher. Every surface — the web
|
|
18
18
|
app, CLI, and HTTP API — is a first-class way to drive bb. Work runs in
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$i as e,Ai as t,Bn as n,Ft as r,Ht as i,Lt as a,Mt as o,Zn as s,aa as c,gi as l,hi as u,ki as d,mi as f,si as p,t as m}from"./page-shell-BYLrlYTH.js";import{St as h,a as g,f as _,l as v,n as ee,s as y}from"./effective-hosts-D-vDT9_r.js";import{a as b,g as x,i as S,o as C,r as w,s as T,t as E}from"./dialog-BjpdbSmZ.js";import{Ht as D,Vt as O,Zt as k,in as A,rn as j,zt as M}from"./index-D2Ze5muL.js";import{i as N,n as P,r as F,t as I}from"./settings-section-DrGaArro.js";var L=c(e(),1),R=`size-2 shrink-0 rounded-full ring-1 ring-inset transition-all bg-success ring-success/25 shadow-[0_0_0_4px_color-mix(in_oklch,var(--color-success)_16%,transparent)]`,z=t();function B({target:e,pending:t,onOpenChange:n,onDelete:r}){return(0,z.jsx)(E,{open:e!==null,onOpenChange:n,children:(0,z.jsx)(w,{children:e?(0,z.jsx)(V,{target:e,pending:t,onDelete:r}):null})})}function V({target:e,pending:t,onDelete:n}){return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(C,{children:[(0,z.jsx)(T,{children:`Remove host?`}),(0,z.jsx)(S,{children:`Remove "${e.name}" and all of its project sources? This cannot be undone.`})]}),(0,z.jsx)(b,{children:(0,z.jsx)(p,{type:`button`,variant:`destructive`,disabled:t,onClick:()=>n(e.id),children:`Remove host`})})]})}function H({target:e,pending:t,onOpenChange:n,onRename:r}){return(0,z.jsx)(E,{open:e!==null,onOpenChange:n,children:(0,z.jsx)(w,{children:e?(0,z.jsx)(U,{target:e,pending:t,onRename:r},e.id):null})})}function U({target:e,pending:t,onRename:n}){let r=(0,L.useId)(),[i,a]=(0,L.useState)(e.currentName),[o,s]=(0,L.useState)(null);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(C,{children:[(0,z.jsx)(T,{children:`Rename host`}),(0,z.jsx)(S,{children:`Choose a new name for this host.`})]}),(0,z.jsxs)(`form`,{className:`space-y-4`,onSubmit:r=>{if(r.preventDefault(),t)return;let a=i.trim();if(!a){s(`Host name cannot be empty.`);return}n(e.id,a)},children:[(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(x,{id:r,"aria-label":`Host name`,value:i,autoFocus:!0,disabled:t,onChange:e=>{a(e.target.value),o&&s(null)}}),o?(0,z.jsx)(`p`,{className:`text-sm text-destructive`,children:o}):null]}),(0,z.jsx)(b,{children:(0,z.jsx)(p,{type:`submit`,disabled:t,children:`Rename host`})})]})]})}function W({open:e,onOpenChange:t}){return(0,z.jsx)(E,{open:e,onOpenChange:t,children:(0,z.jsx)(w,{className:`sm:max-w-2xl`,children:(0,z.jsx)(G,{})})})}function G(){return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(C,{children:[(0,z.jsx)(T,{children:`Unable to add new host`}),(0,z.jsx)(S,{children:`You need to specify the URL that allows the new host to talk to the server.`})]}),(0,z.jsxs)(`div`,{className:`min-w-0 space-y-2 text-sm text-foreground`,children:[(0,z.jsx)(`p`,{children:`Run this on the server machine, then restart bb:`}),(0,z.jsx)(`pre`,{className:`min-w-0 overflow-x-auto rounded-md border border-border bg-surface-recessed px-3 py-2 font-mono text-xs leading-5`,children:(0,z.jsx)(`code`,{children:`npx bb-app config BB_APP_URL http://<your-machine>.<tailnet>.ts.net:38886`})})]})]})}function K(e){return new Date(e).toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`})}function q({host:e,open:t,target:n,onOpenChange:r}){let i=t&&n!==null;return(0,z.jsx)(E,{open:i,onOpenChange:r,children:(0,z.jsx)(w,{className:`sm:max-w-2xl`,children:i&&n?(0,z.jsx)(J,{host:e,target:n}):null})})}function J({host:e,target:t}){let[n,r]=(0,L.useState)(()=>t.expiresAt<=Date.now()),i=e?.status===`connected`,a=!i&&!n,o=i?`Host connected`:n?`Join command expired`:`Waiting for host`;return(0,L.useEffect)(()=>{let e=t.expiresAt-Date.now();if(e<=0){r(!0);return}r(!1);let n=window.setTimeout(()=>r(!0),e);return()=>window.clearTimeout(n)},[t.expiresAt]),(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(C,{children:[(0,z.jsx)(T,{children:`New host`}),(0,z.jsx)(S,{children:`Run this command from the new host.`})]}),(0,z.jsxs)(`div`,{className:`min-w-0 space-y-3`,children:[(0,z.jsxs)(`div`,{className:`relative min-w-0 rounded-md border border-border bg-surface-recessed`,children:[(0,z.jsx)(`pre`,{className:`max-h-56 min-w-0 overflow-y-auto whitespace-pre-wrap break-all px-3 py-2.5 pr-10 text-xs leading-5`,children:(0,z.jsx)(`code`,{children:t.joinCommand})}),(0,z.jsx)(D,{text:t.joinCommand,label:`Copy host command`,className:`absolute right-2 top-2`})]}),(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 text-xs text-muted-foreground`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`,children:[i?(0,z.jsx)(f,{name:`CircleCheck`,className:`size-4 text-success`,"aria-hidden":`true`}):n?(0,z.jsx)(f,{name:`AlertCircle`,className:`size-4 text-destructive`,"aria-hidden":`true`}):null,(0,z.jsx)(`span`,{className:a?`animate-shine font-medium`:`font-medium text-foreground`,children:o}),a?(0,z.jsxs)(`span`,{children:[`· Expires at `,K(t.expiresAt)]}):null]})]})]})}var Y=[{label:`System`,value:`system`},{label:`Light`,value:`light`},{label:`Dark`,value:`dark`}],X={dark:`Dark`,light:`Light`,system:`System`};function Z(){let e=O(),{data:t=[],isLoading:c}=ee(),b=d(),[x,S]=(0,L.useState)(null),[C,w]=(0,L.useState)(null),[T,E]=(0,L.useState)(null),[D,V]=(0,L.useState)(!1),[U,G]=(0,L.useState)(!1),K=l({meta:{errorMessage:`Failed to rename host.`},mutationFn:({id:e,name:t})=>n(e,{name:t}),onSuccess:()=>{j({queryClient:b}),S(null)}}),J=l({meta:{errorMessage:`Failed to remove host.`},mutationFn:({id:e})=>i(e),onSuccess:()=>{A({queryClient:b}),w(null)}}),Z=l({meta:{errorMessage:`Failed to create host join command.`,showErrorToast:!1},mutationFn:()=>a(),onSuccess:e=>{j({queryClient:b}),E(e),V(!0)},onError:e=>{if(e instanceof o&&e.code===`app_url_required`){G(!0);return}k({error:e,fallbackMessage:`Failed to create host join command.`})}}),Q=l({meta:{errorMessage:`Failed to cancel host join.`},mutationFn:({id:e})=>r(e),onSuccess:(e,t)=>{j({queryClient:b}),E(e=>e?.hostId===t.id?null:e),V(!1)}}),$=T===null?null:t.find(e=>e.id===T.hostId)??null,te=Z.isPending||Q.isPending;async function ne(){if(T!==null&&T.expiresAt>Date.now()&&$?.status!==`connected`){V(!0);return}if(T!==null&&$?.status!==`connected`)try{await Q.mutateAsync({id:T.hostId})}catch{return}Z.mutate()}(0,L.useEffect)(()=>{if(!D||$?.status!==`connected`)return;let e=window.setTimeout(()=>{E(null),V(!1)},1500);return()=>window.clearTimeout(e)},[D,$?.status]);function re(e){if(e){V(!0);return}T!==null&&$?.status!==`connected`&&Q.mutate({id:T.hostId}),E(null),V(!1)}return(0,z.jsxs)(m,{contentClassName:`pt-4 md:pt-5`,children:[(0,z.jsxs)(`div`,{className:`mx-auto w-full max-w-3xl space-y-6`,children:[(0,z.jsx)(F,{title:`Appearance`,children:(0,z.jsx)(N,{label:`Theme`,children:(0,z.jsxs)(g,{children:[(0,z.jsx)(_,{asChild:!0,children:(0,z.jsxs)(p,{variant:`outline`,size:`sm`,className:`w-full justify-between sm:w-48`,"aria-label":`Theme`,children:[X[e],(0,z.jsx)(f,{name:`ChevronDown`,className:`size-3.5 text-muted-foreground`})]})}),(0,z.jsx)(y,{align:`end`,className:`w-48`,children:Y.map(t=>(0,z.jsxs)(v,{onSelect:()=>M(t.value),children:[t.label,(0,z.jsx)(f,{name:`Check`,className:u(`ml-auto`,e!==t.value&&`opacity-0`,h)})]},t.value))})]})})}),(0,z.jsx)(F,{title:`Hosts`,action:(0,z.jsxs)(p,{type:`button`,size:`sm`,variant:`ghost`,disabled:te,onClick:()=>{ne()},children:[(0,z.jsx)(f,{name:`Plus`,className:`size-3.5`}),`New host`]}),children:c?(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading…`}):t.length===0?(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No registered hosts.`}):(0,z.jsx)(P,{children:t.map(e=>{let t=e.status===`connected`;return(0,z.jsxs)(I,{children:[(0,z.jsxs)(`span`,{className:`min-w-0 flex-1 truncate`,children:[e.name,(0,z.jsx)(`span`,{className:`ml-1.5 text-xs text-muted-foreground`,children:e.id})]}),t?(0,z.jsx)(`span`,{className:R,title:`Connected`}):e.lastSeenAt===null?(0,z.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:`Never connected`}):(0,z.jsxs)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:[`Offline · `,s(e.lastSeenAt)]}),(0,z.jsxs)(g,{children:[(0,z.jsx)(_,{asChild:!0,children:(0,z.jsx)(p,{variant:`ghost`,size:`icon`,className:`h-7 w-7 shrink-0`,"aria-label":`Host actions`,children:(0,z.jsx)(f,{name:`MoreHorizontal`,className:`size-4`})})}),(0,z.jsxs)(y,{align:`end`,className:`w-40`,children:[(0,z.jsx)(v,{onSelect:()=>S({id:e.id,currentName:e.name}),children:`Rename`}),(0,z.jsx)(v,{className:`text-destructive focus:text-destructive`,onSelect:()=>w({id:e.id,name:e.name}),children:`Remove`})]})]})]},e.id)})})})]}),(0,z.jsx)(H,{target:x,pending:K.isPending,onOpenChange:e=>{e||S(null)},onRename:(e,t)=>K.mutate({id:e,name:t})}),(0,z.jsx)(B,{target:C,pending:J.isPending,onOpenChange:e=>{e||w(null)},onDelete:e=>J.mutate({id:e})}),(0,z.jsx)(q,{open:D,target:T,host:$,onOpenChange:re}),(0,z.jsx)(W,{open:U,onOpenChange:G})]})}export{Z as AppSettingsView};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$i as e,Ai as t,Fn as n,Wt as r,_i as i,aa as a,gi as o,hi as s,ki as c,mi as l,rt as u,si as d,t as f,vn as p}from"./page-shell-BYLrlYTH.js";import{n as m}from"./effective-hosts-D-vDT9_r.js";import{n as h}from"./chunk-JZWAC4HX-C_-VEW9Q.js";import{C as g,M as _,N as v,an as y}from"./index-D2Ze5muL.js";import{t as b}from"./pill-C-0inATv.js";import{t as x}from"./split-button-BVu8nD9J.js";var S=a(e(),1),C=t(),w=1,T=[.5,1,2,5,10],E=`block min-w-0 truncate text-foreground underline underline-offset-2 transition-colors hover:text-foreground/80`;function D(e){return`${e}×`}function O(e){return new Date(e).toLocaleString()}function k(){let e=c(),[t,a]=(0,S.useState)(()=>new Set),k=e=>{a(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},A=i({queryKey:u(),queryFn:()=>p()}),{data:j=[]}=m(),M=(0,S.useMemo)(()=>new Map(j.map(e=>[e.id,e.name])),[j]),N=o({mutationFn:e=>r(e),onSuccess:()=>{y({queryClient:e})}}),P=o({mutationFn:({captureId:e,speed:t})=>n(e,{speed:t}),onSuccess:e=>{window.open(`/projects/${e.projectId}/threads/${e.replayThreadId}`,`_blank`,`noopener`)}}),F=A.data?.captures??[];return(0,C.jsx)(f,{contentClassName:`pt-4 md:pt-5`,children:(0,C.jsxs)(`div`,{className:`mx-auto w-full max-w-3xl space-y-4`,children:[(0,C.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md border border-border bg-surface-recessed px-3 py-2 text-sm text-muted-foreground`,children:[(0,C.jsx)(l,{name:`Info`,className:`mt-0.5 size-4 shrink-0`}),(0,C.jsxs)(`p`,{className:`m-0`,children:[`Replay previously captured conversations in a fresh thread. To record new captures, create threads with`,` `,(0,C.jsx)(`code`,{className:`font-mono text-xs`,children:`BB_DEV_REPLAY_CAPTURE=true pnpm dev`}),`.`]})]}),A.isLoading?(0,C.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading…`}):A.isError?(0,C.jsx)(`p`,{className:`text-sm text-destructive`,children:`Failed to load replay captures.`}):F.length===0?(0,C.jsx)(`p`,{className:`rounded-md border border-dashed border-border px-3 py-4 text-sm text-muted-foreground`,children:`No replay captures found on any connected host.`}):(0,C.jsx)(`div`,{className:`space-y-1`,children:F.map(e=>{let n=e.userInputPreview||e.captureId,r=e.kind===`thread-start`,i=r?`new`:`follow-up`,a=g(e.providerId),o=a?.icon,c=t.has(e.captureId),u=N.isPending&&N.variables===e.captureId,f=P.isPending&&P.variables?.captureId===e.captureId,p=P.isError&&P.variables?.captureId===e.captureId,m=e.eventCounts.rawProviderEvents===0,y={label:`Start replay at ${D(w)}`,onSelect:()=>P.mutate({captureId:e.captureId,speed:w}),content:(0,C.jsxs)(C.Fragment,{children:[f?(0,C.jsx)(l,{name:`Spinner`,className:`size-3 animate-spin`}):null,`Replay`]})},S=T.map(t=>({label:`Start replay at ${D(t)}`,onSelect:()=>P.mutate({captureId:e.captureId,speed:t}),content:(0,C.jsx)(`span`,{children:D(t)})}));return(0,C.jsxs)(`div`,{children:[(0,C.jsxs)(`div`,{className:`flex h-9 items-center gap-3 text-sm`,children:[(0,C.jsxs)(`button`,{type:`button`,onClick:()=>k(e.captureId),"aria-expanded":c,className:`flex min-w-0 flex-1 items-center gap-2 text-left`,children:[(0,C.jsx)(l,{name:`ChevronRight`,className:s(`size-3 shrink-0 text-muted-foreground transition-transform`,c&&`rotate-90`)}),(0,C.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[(0,C.jsx)(`span`,{className:`min-w-0 max-w-xs truncate`,children:n}),e.title?(0,C.jsx)(`span`,{className:`min-w-0 truncate text-muted-foreground`,children:e.title}):null,(0,C.jsx)(b,{variant:r?`secondary`:`outline`,className:`shrink-0`,children:i}),o?(0,C.jsx)(o,{className:`size-3.5 shrink-0 text-muted-foreground`,"aria-label":a?.ariaLabel}):(0,C.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:e.providerId})]})]}),(0,C.jsx)(x,{disabled:f||m,primaryAction:y,secondaryActions:S,triggerLabel:`Choose replay speed`,mobileTitle:`Replay speed`}),(0,C.jsx)(d,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":`Delete replay capture`,title:`Delete replay capture`,disabled:u,onClick:()=>N.mutate(e.captureId),className:`size-6`,children:u?(0,C.jsx)(l,{name:`Spinner`,className:`size-3 animate-spin`}):(0,C.jsx)(l,{name:`Trash2`,className:`size-3`})})]}),c?(0,C.jsxs)(`div`,{className:`space-y-2 pb-3 pt-2`,children:[(0,C.jsxs)(_,{children:[(0,C.jsx)(v,{label:`Capture`,valueClassName:`min-w-0 truncate font-mono`,children:e.captureId}),(0,C.jsx)(v,{label:`Host`,valueClassName:`min-w-0 truncate`,children:M.get(e.hostId)??e.hostId}),(0,C.jsx)(v,{label:`Provider`,valueClassName:`min-w-0 truncate`,children:e.providerId}),(0,C.jsx)(v,{label:`Project`,valueClassName:`min-w-0`,children:(0,C.jsx)(h,{to:`/projects/${e.projectId}`,className:E,children:e.projectName??e.projectId})}),(0,C.jsx)(v,{label:`Thread`,valueClassName:`min-w-0`,children:(0,C.jsx)(h,{to:`/projects/${e.projectId}/threads/${e.threadId}`,className:s(E,!e.title&&`font-mono`),children:e.title??e.threadId})}),(0,C.jsx)(v,{label:`Captured`,valueClassName:`min-w-0 truncate`,children:O(e.capturedAt)}),(0,C.jsx)(v,{label:`Raw events`,valueClassName:`min-w-0 truncate`,children:e.eventCounts.rawProviderEvents})]}),p?(0,C.jsx)(`p`,{className:`text-xs text-destructive`,children:`Failed to start replay.`}):null]}):null]},`${e.hostId}:${e.captureId}`)})})]})})}export{k as InternalReplayListView};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$i as e,Ai as t,aa as n,oi as r,si as i,t as a}from"./page-shell-BYLrlYTH.js";import{E as o,n as s,w as c}from"./thread-queries-VdTjp5RH.js";import{d as l,n as u}from"./chunk-JZWAC4HX-C_-VEW9Q.js";import{t as d}from"./pill-C-0inATv.js";import{t as f}from"./ThreadUnarchiveButton-CdRo7M97.js";var p=n(e(),1),m=t(),h=[{value:`all`,label:`All`},{value:`manager`,label:`Managers`},{value:`managed`,label:`Managed`},{value:`unmanaged`,label:`Unmanaged`}];function g(e){return e.type===`manager`?`manager`:e.parentThreadId===null?null:`managed`}function _(){let{projectId:e}=l(),[t,n]=(0,p.useState)(`all`),_=s({projectId:e,kind:t}),v=c(),y=(0,p.useMemo)(()=>(_.data?.pages??[]).flat().filter(e=>e.archivedAt!=null),[_.data]);if(!e)return(0,m.jsx)(a,{contentClassName:`min-h-full items-center justify-center`,children:(0,m.jsx)(`p`,{className:`py-12 text-center text-sm text-muted-foreground`,children:`Project not found`})});let b=_.isPending,x=!b&&y.length===0;return(0,m.jsx)(a,{contentClassName:`pt-0`,children:(0,m.jsxs)(`div`,{className:`mx-auto w-full max-w-3xl`,children:[(0,m.jsxs)(`div`,{className:`sticky top-0 z-10 -mx-4 bg-background px-4 pt-4 md:-mx-5 md:px-5 md:pt-5`,children:[(0,m.jsx)(r,{placement:`below`,tone:`background`}),(0,m.jsx)(`div`,{className:`inline-flex items-center gap-1 rounded-lg border border-border p-0.5`,role:`tablist`,"aria-label":`Filter archived threads`,children:h.map(e=>{let r=t===e.value;return(0,m.jsx)(i,{type:`button`,variant:`ghost`,size:`sm`,role:`tab`,"aria-selected":r,"aria-pressed":r,className:`h-7 rounded-md px-2 text-xs font-medium text-muted-foreground sm:px-3`,onClick:()=>n(e.value),children:e.label},e.value)})})]}),(0,m.jsxs)(`div`,{className:`space-y-3 pt-3`,children:[b?(0,m.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading archived threads…`}):x?(0,m.jsx)(`p`,{className:`rounded-md border border-dashed border-border px-3 py-4 text-sm text-muted-foreground`,children:`No archived threads yet.`}):(0,m.jsx)(`div`,{className:`space-y-1`,children:y.map(t=>{let n=g(t);return(0,m.jsxs)(`div`,{className:`group flex h-9 items-center gap-3 rounded-md px-3 text-sm transition-colors hover:bg-state-hover`,children:[(0,m.jsx)(u,{to:`/projects/${e}/threads/${t.id}`,className:`min-w-0 flex-1`,children:(0,m.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,m.jsx)(`span`,{className:`truncate`,children:o(t)}),n?(0,m.jsx)(d,{variant:`outline`,className:`shrink-0`,children:n}):null]})}),(0,m.jsx)(f,{isPending:v.isPending&&v.variables?.id===t.id,onUnarchive:()=>{v.mutate({id:t.id})},threadType:t.type,className:`hover:bg-accent-foreground/15`})]},t.id)})}),_.hasNextPage?(0,m.jsx)(i,{type:`button`,variant:`ghost`,onClick:()=>{_.fetchNextPage()},disabled:_.isFetchingNextPage,className:`h-9 w-full justify-center rounded-md px-3 text-sm font-normal text-muted-foreground`,children:_.isFetchingNextPage?`Loading…`:`Load more`}):null]})]})})}export{_ as ProjectArchivedThreadsView};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$i as e,Ai as t,On as n,Sr as r,aa as i,gi as a,ki as o,mi as s,si as c,t as l,xr as u}from"./page-shell-BYLrlYTH.js";import{a as d,f,l as p,n as m,s as h}from"./effective-hosts-D-vDT9_r.js";import{d as g}from"./chunk-JZWAC4HX-C_-VEW9Q.js";import{a as _,i as v,o as y,r as b,s as x,t as S}from"./dialog-BjpdbSmZ.js";import{D as C,E as w,d as T,r as E,s as D,t as O}from"./localhost-badge-C8-uvmR_.js";import{a as k}from"./mutation-cache-effects-BAn11UmS.js";import{cn as A,ln as j,nn as M,tn as N}from"./index-D2Ze5muL.js";import{n as P,r as F,t as I}from"./settings-section-DrGaArro.js";import{t as L}from"./pill-C-0inATv.js";var R=i(e(),1),z=t();function B({target:e,pending:t,onOpenChange:n,onDelete:r}){return(0,z.jsx)(S,{open:e!==null,onOpenChange:n,children:(0,z.jsx)(b,{children:e?(0,z.jsx)(V,{target:e,pending:t,onDelete:r}):null})})}function V({target:e,pending:t,onDelete:n}){return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(y,{children:[(0,z.jsx)(x,{children:`Remove source?`}),(0,z.jsx)(v,{children:`Remove "${e.label}" from this project? This cannot be undone.`})]}),(0,z.jsx)(_,{children:(0,z.jsx)(c,{type:`button`,variant:`destructive`,disabled:t,onClick:()=>n(e.id),children:`Remove source`})})]})}function H({source:e,isLocalhostSource:t,isLocalPathInvalid:n,hostName:r,isEditPending:i,isOnlySource:a,onEditLocalPath:o,onRemove:l}){return(0,z.jsxs)(I,{children:[(0,z.jsx)(s,{name:E,className:`size-4 shrink-0 text-muted-foreground`}),(0,z.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-1.5`,children:[(0,z.jsx)(`span`,{className:`min-w-0 flex-shrink truncate`,children:e.path}),(0,z.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:r}),t?(0,z.jsx)(`span`,{className:`self-center`,children:(0,z.jsx)(O,{})}):null,n?(0,z.jsx)(L,{variant:`destructive`,children:`Invalid local path`}):null]}),(0,z.jsxs)(d,{children:[(0,z.jsx)(f,{asChild:!0,children:(0,z.jsx)(c,{variant:`ghost`,size:`icon`,className:`h-7 w-7 shrink-0`,"aria-label":`Source actions`,children:(0,z.jsx)(s,{name:`MoreHorizontal`,className:`size-4`})})}),(0,z.jsxs)(h,{align:`end`,className:`w-40`,children:[t?(0,z.jsx)(p,{disabled:i,onSelect:t=>{t.preventDefault(),o(e)},children:`Edit local path`}):null,(0,z.jsx)(p,{className:`text-destructive focus:text-destructive`,disabled:a,onSelect:()=>l(e),children:`Remove`})]})]})]})}function U(e,t){return t.get(e.hostId)??e.hostId}function W(){let{projectId:e}=g(),t=C(),i=w({enabled:t.isSuccess||t.isError}),s=i.data,d=t.isFetching||i.isLoading,{data:f=[]}=m(),p=o(),[h,_]=(0,R.useState)(null),v=a({meta:{errorMessage:`Failed to remove source.`},mutationFn:({sourceId:t})=>e?n(e,t):Promise.resolve(),onSuccess:()=>{k({projectId:e,queryClient:p}),_(null)}}),y=D(),b=T(),x=s?.find(t=>t.id===e),S=x?.sources,E=(0,R.useMemo)(()=>S??[],[S]),O=(0,R.useMemo)(()=>new Map(f.map(e=>[e.id,e.name])),[f]),I=x?.name??``,L=y.isPending||b.isPending,V=M({isPending:L,submit:(0,R.useCallback)(({path:t,hostId:n,target:i,closeDialog:a})=>{if(e){if(i.kind===`add-source`)y.mutate({projectId:e,path:t,hostId:n},{onSuccess:a});else if(i.kind===`update`){let i=E.find(e=>r(e)&&e.hostId===n);if(!i)return;b.mutate({projectId:e,sourceId:i.id,path:t},{onSuccess:a})}}},[y,e,E,b])}),W=(0,R.useCallback)(()=>{e&&V.openPicker({kind:`add-source`,projectId:e,projectName:I})},[V,e,I]),G=(0,R.useCallback)(t=>{e&&V.openPicker({kind:`update`,projectId:e,projectName:I,currentPath:t.path})},[V,e,I]),K=V.localHostId,q=j((0,R.useMemo)(()=>K?E.filter(e=>r(e)&&e.hostId===K).map(e=>e.path):[],[K,E])),J=K!=null&&!u(E,K)?(0,z.jsx)(`div`,{className:`mt-2 flex gap-2`,children:(0,z.jsx)(c,{size:`sm`,variant:`outline`,disabled:y.isPending,onClick:W,children:`Add local path`})}):null;return(0,z.jsxs)(l,{contentClassName:`pt-4 md:pt-5`,children:[(0,z.jsx)(`div`,{className:`mx-auto w-full max-w-3xl space-y-6`,children:(0,z.jsx)(F,{title:`Project Sources`,children:d?(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading…`}):E.length===0?(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No sources configured.`}),J]}):(0,z.jsxs)(`div`,{children:[(0,z.jsx)(P,{children:E.map(e=>{let t=r(e)&&K!=null&&e.hostId===K;return(0,z.jsx)(H,{source:e,isLocalhostSource:t,isLocalPathInvalid:t&&A(q,e.path),hostName:r(e)?O.get(e.hostId)??e.hostId:``,isEditPending:L,isOnlySource:E.length<=1,onEditLocalPath:G,onRemove:e=>_({id:e.id,label:U(e,O)})},e.id)})}),J]})})}),(0,z.jsx)(N,{target:V.projectPathDialog.target,pending:L,platform:V.platform,onOpenChange:V.projectPathDialog.onOpenChange,onSubmit:V.submitProjectPath}),(0,z.jsx)(B,{target:h,pending:v.isPending,onOpenChange:e=>{e||_(null)},onDelete:e=>v.mutate({sourceId:e})})]})}export{W as ProjectSettingsView};
|