pisper 0.5.2-linux-x64.0 → 0.5.2
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.en.md +224 -0
- package/README.md +78 -78
- package/bin/pisper.mjs +48 -0
- package/lib/install.mjs +392 -0
- package/lib/npm-platform.mjs +41 -0
- package/lib/npm-update.mjs +165 -0
- package/lib/platform.mjs +43 -0
- package/lib/postinstall.mjs +3 -0
- package/package.json +36 -14
- package/updater.pubkey +1 -0
- package/web/.vite/manifest.json +2326 -0
- package/web/assets/AnimatedContent-BiVNqD3m.js +1 -0
- package/web/assets/AnimatedList-D6P3Wwa6.js +1 -0
- package/web/assets/AppOverlays-DtsDAFVk.js +1 -0
- package/web/assets/AppSelect--dqy70Zh.js +1 -0
- package/web/assets/AssetsPage-CqikJ7bd.js +1 -0
- package/web/assets/ChannelsPage-4KQV1Uuw.js +1 -0
- package/web/assets/ChatHistoryPage-Soc6C0DX.js +1 -0
- package/web/assets/ChatPage-CKoD08Hs.js +8 -0
- package/web/assets/ClickSpark-BxLJ1PyT.js +1 -0
- package/web/assets/ConfigPage-DbeH-0Vq.js +1 -0
- package/web/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/web/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/web/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/web/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/web/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/web/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/web/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/web/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/web/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/web/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/web/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/web/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/web/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/web/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/web/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/web/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/web/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/web/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/web/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/web/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/web/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/web/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/web/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/web/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/web/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/web/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/web/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/web/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/web/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/web/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/web/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/web/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/web/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/web/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/web/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/web/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/web/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/web/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/web/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/web/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/web/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/web/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/web/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/web/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/web/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/web/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/web/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/web/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/web/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/web/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/web/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/web/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/web/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/web/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/web/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/web/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/web/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/web/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/web/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/web/assets/MarkdownMessage-CLXr6tR2.js +1 -0
- package/web/assets/MemoryPage-C65Ml0Kk.js +1 -0
- package/web/assets/PageHeader-wYQsaIzH.js +1 -0
- package/web/assets/PluginsPage-WDW-MP0Z.js +1 -0
- package/web/assets/PreviewPages-BaBPZCa-.js +1 -0
- package/web/assets/SchedulesPage-DD0E7pbR.js +1 -0
- package/web/assets/ShinyText-K2BPzduJ.js +1 -0
- package/web/assets/SkillsPage-BMIKSMzv.js +1 -0
- package/web/assets/StarOrbit-BlI6MhVr.js +1 -0
- package/web/assets/TerminalPanel-BXLOd4AI.js +18 -0
- package/web/assets/TerminalPanel-BrP-ENHg.css +1 -0
- package/web/assets/Threads-CS40baGh.js +1 -0
- package/web/assets/WelcomeEffects-Cqgskdga.js +1 -0
- package/web/assets/WorkflowsPage-CSuSRaeP.js +1 -0
- package/web/assets/alert-B7D8joCd.js +1 -0
- package/web/assets/andromeeda-vGVdxbeo.js +1 -0
- package/web/assets/angular-html-17rlCfBS.js +1 -0
- package/web/assets/angular-ts-it3MaXWH.js +1 -0
- package/web/assets/app-primitives-B_kzSTuJ.js +1 -0
- package/web/assets/astro-BEVDzCov.js +1 -0
- package/web/assets/aurora-x-CDeNXAV0.js +1 -0
- package/web/assets/ayu-dark-DluEY0Gj.js +1 -0
- package/web/assets/ayu-light-C3h-C4tm.js +1 -0
- package/web/assets/ayu-mirage-Bqwy1Gya.js +1 -0
- package/web/assets/badge-BNonIEif.js +1 -0
- package/web/assets/blade-B3yUZIOx.js +1 -0
- package/web/assets/brand-CFOXmGdd.js +1 -0
- package/web/assets/c-aGSZMVdM.js +1 -0
- package/web/assets/catppuccin-frappe-C9Q5zVZY.js +1 -0
- package/web/assets/catppuccin-latte-CtsyrtPq.js +1 -0
- package/web/assets/catppuccin-macchiato-R8nAf1vR.js +1 -0
- package/web/assets/catppuccin-mocha-DjuaAJKi.js +1 -0
- package/web/assets/chevron-down-DybEa6xm.js +1 -0
- package/web/assets/circle-dot-BdcN0YM6.js +1 -0
- package/web/assets/code-block-2QN4kmKi.js +1 -0
- package/web/assets/coffee-ouOQ86EC.js +1 -0
- package/web/assets/copy-O4BLU533.js +1 -0
- package/web/assets/cpp-Bm3vm43L.js +1 -0
- package/web/assets/createLucideIcon-BEEvpXLl.js +1 -0
- package/web/assets/css-CWcS1xXm.js +1 -0
- package/web/assets/csv-Dx-8-gkx.js +1 -0
- package/web/assets/dark-plus-Cs2F2srj.js +1 -0
- package/web/assets/dist-24sBsNk3.js +1 -0
- package/web/assets/dist-B2WU7fS_.js +1 -0
- package/web/assets/dist-BkftCMO2.js +1 -0
- package/web/assets/dist-BmM8XOsV.js +1 -0
- package/web/assets/dracula-BHWKrbxM.js +1 -0
- package/web/assets/dracula-soft-5eyTD99u.js +1 -0
- package/web/assets/es2015-D3OlFTmJ.js +41 -0
- package/web/assets/everforest-dark-sB-x3p7T.js +1 -0
- package/web/assets/everforest-light-Df2xbC6M.js +1 -0
- package/web/assets/eye-BMzzoABY.js +1 -0
- package/web/assets/file-CvhJitS9.js +1 -0
- package/web/assets/file-code-corner-lCJOIDbw.js +1 -0
- package/web/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
- package/web/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
- package/web/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
- package/web/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
- package/web/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
- package/web/assets/github-dark-C-LZuMrd.js +1 -0
- package/web/assets/github-dark-default-DXG-b-1a.js +1 -0
- package/web/assets/github-dark-dimmed-Bx1FflLF.js +1 -0
- package/web/assets/github-dark-high-contrast-B_tTalzw.js +1 -0
- package/web/assets/github-light-EUqPIrTm.js +1 -0
- package/web/assets/github-light-default-BXViO-2h.js +1 -0
- package/web/assets/github-light-high-contrast-B68TUdTA.js +1 -0
- package/web/assets/glsl-TOBAB6bO.js +1 -0
- package/web/assets/graphql-BEmIBNve.js +1 -0
- package/web/assets/gruvbox-dark-hard-C820rvS2.js +1 -0
- package/web/assets/gruvbox-dark-medium-BPjhmG05.js +1 -0
- package/web/assets/gruvbox-dark-soft-MrdJrrXF.js +1 -0
- package/web/assets/gruvbox-light-hard-BC_s9l72.js +1 -0
- package/web/assets/gruvbox-light-medium-BAWPOn9u.js +1 -0
- package/web/assets/gruvbox-light-soft-BSMLrYjP.js +1 -0
- package/web/assets/haml-CDWtFtU9.js +1 -0
- package/web/assets/handlebars-BNtjo3pL.js +1 -0
- package/web/assets/horizon-CE9ld1lL.js +1 -0
- package/web/assets/horizon-bright-DSNQnXHK.js +1 -0
- package/web/assets/houston-CsvMBhTu.js +1 -0
- package/web/assets/html-BVyvp26C.js +1 -0
- package/web/assets/html-derivative-BseLpURQ.js +1 -0
- package/web/assets/http-CkCfSMV9.js +1 -0
- package/web/assets/hurl-syYMt6Rn.js +1 -0
- package/web/assets/image-M6XRBbhu.js +1 -0
- package/web/assets/imba-DsUTQ-LC.js +1 -0
- package/web/assets/index-DoRSkbHW.js +6 -0
- package/web/assets/index-DpxwLREi.css +2 -0
- package/web/assets/java-duG_UTKe.js +1 -0
- package/web/assets/javascript-DWVbOe4X.js +1 -0
- package/web/assets/jinja-Boj4niAz.js +1 -0
- package/web/assets/jison-CHwnC1Pv.js +1 -0
- package/web/assets/json-qhed-kSA.js +1 -0
- package/web/assets/json5-BR5RXkoi.js +1 -0
- package/web/assets/jsonc-CYpm1nAK.js +1 -0
- package/web/assets/jsonl-CmCQp5Yx.js +1 -0
- package/web/assets/jsx-fcCEM_-L.js +1 -0
- package/web/assets/julia-VoF7UKfw.js +1 -0
- package/web/assets/kanagawa-dragon-Bozd7klA.js +1 -0
- package/web/assets/kanagawa-lotus-BmuOG9ZW.js +1 -0
- package/web/assets/kanagawa-wave-BML5mF2J.js +1 -0
- package/web/assets/laserwave-C_8bwKvT.js +1 -0
- package/web/assets/less-DVTAwKKz.js +1 -0
- package/web/assets/light-plus-DVQuIRkW.js +1 -0
- package/web/assets/link-2-Dd2E7M_B.js +1 -0
- package/web/assets/markdown-BYOwaDjH.js +1 -0
- package/web/assets/marko-Cupn1xhw.js +1 -0
- package/web/assets/material-theme-Bm3Qr25_.js +1 -0
- package/web/assets/material-theme-darker-2IIEA8gg.js +1 -0
- package/web/assets/material-theme-lighter-uhdI0v04.js +1 -0
- package/web/assets/material-theme-ocean-CHQ94UKr.js +1 -0
- package/web/assets/material-theme-palenight-B5W6OYN7.js +1 -0
- package/web/assets/mdc-4FfK5iWR.js +1 -0
- package/web/assets/mdx-DQZ5AkYe.js +1 -0
- package/web/assets/message-circle-Bi-lz-6t.js +1 -0
- package/web/assets/min-dark-BSWPekZh.js +1 -0
- package/web/assets/min-light-DDpmG2fV.js +1 -0
- package/web/assets/monokai-B_bV9PQ9.js +1 -0
- package/web/assets/network-UhG-ym-z.js +1 -0
- package/web/assets/night-owl-DhmEMT88.js +1 -0
- package/web/assets/night-owl-light-eJ-hLW7d.js +1 -0
- package/web/assets/nord-Cb4Vim4T.js +1 -0
- package/web/assets/one-dark-pro-CLwyXe_n.js +1 -0
- package/web/assets/one-light-D7Lr4KcI.js +1 -0
- package/web/assets/panel-top-BnVDkV60.js +1 -0
- package/web/assets/paperclip-D7mny7G8.js +1 -0
- package/web/assets/pencil-DpO4AUNy.js +1 -0
- package/web/assets/php-CUREQQ7f.js +1 -0
- package/web/assets/pick-system-directory-DiLmN6UZ.js +1 -0
- package/web/assets/plastic-DQwYfKfQ.js +1 -0
- package/web/assets/play-3QiwbcM7.js +1 -0
- package/web/assets/plus-CI2ql0x4.js +1 -0
- package/web/assets/poimandres-DRFjx7u4.js +1 -0
- package/web/assets/postcss-BXeXVLqQ.js +1 -0
- package/web/assets/progress-Byd1ZX3L.js +6 -0
- package/web/assets/pug-CQyGKZpv.js +1 -0
- package/web/assets/python-gzcpVVnB.js +1 -0
- package/web/assets/r-C5FwQflr.js +1 -0
- package/web/assets/react-bits-BFnYwuxx.css +1 -0
- package/web/assets/red-DX1BQOs8.js +1 -0
- package/web/assets/regexp--aR2_iz7.js +1 -0
- package/web/assets/rolldown-runtime-B0Z9INg1.js +1 -0
- package/web/assets/rose-pine-aMsaMD1D.js +1 -0
- package/web/assets/rose-pine-dawn-8PwUyIlP.js +1 -0
- package/web/assets/rose-pine-moon-DO-qXg-I.js +1 -0
- package/web/assets/sass-DXrisJhu.js +1 -0
- package/web/assets/save-D--1z1bw.js +1 -0
- package/web/assets/scss-Davl4E3T.js +1 -0
- package/web/assets/search-CVBbTPAG.js +1 -0
- package/web/assets/shellscript-CLZ0U2zV.js +1 -0
- package/web/assets/shield-check-mwXhKsZm.js +1 -0
- package/web/assets/slack-dark-DnToyrRv.js +1 -0
- package/web/assets/slack-ochin-B2OO5cIa.js +1 -0
- package/web/assets/smithy-Dgaz7aur.js +1 -0
- package/web/assets/snazzy-light-4G7pJPwS.js +1 -0
- package/web/assets/solarized-dark-UdsmMDCL.js +1 -0
- package/web/assets/solarized-light-C1IUL_tW.js +1 -0
- package/web/assets/sql-b92rrcVl.js +1 -0
- package/web/assets/square-C7qN58NE.js +1 -0
- package/web/assets/square-terminal-C9TjK-fA.js +1 -0
- package/web/assets/storage-BbqIMx9Y.js +1 -0
- package/web/assets/stylus-B6D30XZt.js +1 -0
- package/web/assets/svelte-BfstjgUc.js +1 -0
- package/web/assets/switch-CDwl5ZJs.js +1 -0
- package/web/assets/synthwave-84-nFMaYfgc.js +1 -0
- package/web/assets/tabs-Bz7CDa49.js +1 -0
- package/web/assets/terminal-ClxNGVIF.js +1 -0
- package/web/assets/terminal-W3Nzf7fR.js +2 -0
- package/web/assets/tokyo-night-oM2G3aXe.js +1 -0
- package/web/assets/trash-2-CATziWCd.js +1 -0
- package/web/assets/ts-tags-Cckpt1jI.js +1 -0
- package/web/assets/tsx-JMDX3aQ7.js +1 -0
- package/web/assets/typescript-BAz-bF8J.js +1 -0
- package/web/assets/use-i18n-CubNtfu7.js +1 -0
- package/web/assets/usePagePrimaryAction-Bw0OFTDZ.js +1 -0
- package/web/assets/utils-C8uzG5AZ.js +1 -0
- package/web/assets/vendor-dockview-D5adAaCg.css +1 -0
- package/web/assets/vendor-dockview-yY5mBM3U.js +1 -0
- package/web/assets/vendor-markdown-lQaMEIxc.js +130 -0
- package/web/assets/vendor-markdown-plugins-ERG5SnGL.js +263 -0
- package/web/assets/vendor-motion-XxgxfZSY.js +9 -0
- package/web/assets/vendor-react-CHuvPdJE.js +9 -0
- package/web/assets/vendor-router-Bw2aAdMs.js +4 -0
- package/web/assets/vendor-shiki-runtime-DFSfH2tH.js +153 -0
- package/web/assets/vendor-state-DE1O_s6m.js +1 -0
- package/web/assets/vendor-ui-DvrYggeS.js +1 -0
- package/web/assets/vendor-xyflow-CnjXtcyK.js +7 -0
- package/web/assets/vendor-xyflow-DLioOiRN.css +1 -0
- package/web/assets/vesper-DdrHHSXu.js +1 -0
- package/web/assets/vitesse-black-fwtXNY1n.js +1 -0
- package/web/assets/vitesse-dark-BZCL-v6S.js +1 -0
- package/web/assets/vitesse-light-VbXTXTou.js +1 -0
- package/web/assets/vue-3H7P6ncC.js +1 -0
- package/web/assets/vue-html-DZGW9MGR.js +1 -0
- package/web/assets/vue-vine-BECt67gq.js +1 -0
- package/web/assets/wasm-BnjxR4X6.js +1 -0
- package/web/assets/wasm-ByWQv1Qj.js +1 -0
- package/web/assets/wgsl-BsKzXJz4.js +1 -0
- package/web/assets/wit-DdvCle-K.js +1 -0
- package/web/assets/wrench-BaMct6KV.js +1 -0
- package/web/assets/xml-CNfvW5JP.js +1 -0
- package/web/assets/yaml-rwi0_p6S.js +1 -0
- package/web/assets/zap-Ch1TQ5QU.js +1 -0
- package/web/favicon.svg +25 -0
- package/web/icons.svg +24 -0
- package/web/index.html +57 -0
- package/web/memory-galaxy-background.webp +0 -0
- package/web/notification-sw.js +13 -0
- package/web/release-notes.json +5 -0
- package/web/tauri-pet.css +117 -0
- package/web/tauri-pet.html +16 -0
- package/web/tauri-pet.js +117 -0
- package/components/runtime/Pisper_Runtime_Node_0.5.2_linux_x86_64.tar.gz +0 -0
- package/components/runtime/Pisper_Runtime_Node_0.5.2_linux_x86_64.tar.gz.sig +0 -1
- package/components/tui/Pisper_TUI_Component_0.5.2_linux_x86_64.tar.gz +0 -0
- package/components/tui/Pisper_TUI_Component_0.5.2_linux_x86_64.tar.gz.sig +0 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/AnimatedContent-BiVNqD3m.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-react-CHuvPdJE.js","assets/utils-C8uzG5AZ.js","assets/vendor-ui-DvrYggeS.js","assets/vendor-motion-XxgxfZSY.js","assets/code-block-2QN4kmKi.js","assets/index-DoRSkbHW.js","assets/vendor-router-Bw2aAdMs.js","assets/dist-BmM8XOsV.js","assets/use-i18n-CubNtfu7.js","assets/vendor-state-DE1O_s6m.js","assets/storage-BbqIMx9Y.js","assets/dist-B2WU7fS_.js","assets/dist-24sBsNk3.js","assets/dist-BkftCMO2.js","assets/es2015-D3OlFTmJ.js","assets/createLucideIcon-BEEvpXLl.js","assets/index-DpxwLREi.css","assets/terminal-W3Nzf7fR.js","assets/AppSelect--dqy70Zh.js","assets/tabs-Bz7CDa49.js","assets/chevron-down-DybEa6xm.js","assets/copy-O4BLU533.js","assets/terminal-ClxNGVIF.js","assets/trash-2-CATziWCd.js","assets/AnimatedList-D6P3Wwa6.js","assets/react-bits-BFnYwuxx.css","assets/ShinyText-K2BPzduJ.js","assets/WelcomeEffects-Cqgskdga.js","assets/ClickSpark-BxLJ1PyT.js","assets/Threads-CS40baGh.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n,t as r}from"./vendor-react-CHuvPdJE.js";import{f as i}from"./vendor-router-Bw2aAdMs.js";import{i as a,n as o}from"./dist-BmM8XOsV.js";import{f as s,m as c,o as l,p as u,s as d,t as f,u as p}from"./use-i18n-CubNtfu7.js";import{a as m,i as h,r as g,t as _}from"./dist-B2WU7fS_.js";import{a as v,i as y,n as b,r as x,s as S,t as C,u as w}from"./es2015-D3OlFTmJ.js";import{n as T}from"./dist-24sBsNk3.js";import{t as E}from"./dist-BkftCMO2.js";import{n as D,t as O}from"./AppSelect--dqy70Zh.js";import{i as k,n as A,r as j,t as M}from"./progress-Byd1ZX3L.js";import{a as N,i as ee,n as te,o as ne,r as re,s as ie,t as ae}from"./pick-system-directory-DiLmN6UZ.js";import{n as oe}from"./switch-CDwl5ZJs.js";import{t as P}from"./utils-C8uzG5AZ.js";import{t as F}from"./storage-BbqIMx9Y.js";import{t as I}from"./createLucideIcon-BEEvpXLl.js";import{n as se,r as ce,t as le}from"./MarkdownMessage-CLXr6tR2.js";import{t as ue}from"./chevron-down-DybEa6xm.js";import{t as de}from"./circle-dot-BdcN0YM6.js";import{n as fe,t as pe}from"./eye-BMzzoABY.js";import{t as me}from"./file-CvhJitS9.js";import{n as he,r as ge,t as _e}from"./panel-top-BnVDkV60.js";import{t as ve}from"./paperclip-D7mny7G8.js";import{t as ye}from"./pencil-DpO4AUNy.js";import{t as be}from"./plus-CI2ql0x4.js";import{t as xe}from"./search-CVBbTPAG.js";import{t as Se}from"./shield-check-mwXhKsZm.js";import{t as Ce}from"./square-C7qN58NE.js";import{$ as we,A as Te,B as L,C as Ee,D as De,F as Oe,G as ke,H as Ae,I as R,K as je,L as Me,N as Ne,O as Pe,P as Fe,R as Ie,S as Le,V as Re,Z as z,_ as B,at as ze,b as Be,c as Ve,d as V,dt as He,et as Ue,f as We,ft as H,g as Ge,h as U,j as Ke,k as qe,l as Je,lt as Ye,m as Xe,nt as Ze,ot as Qe,pt as $e,q as et,rt as tt,s as nt,st as rt,tt as it,u as at,ut as ot,w as W,x as st,y as ct,z as lt}from"./index-DoRSkbHW.js";import{t as ut}from"./vendor-motion-XxgxfZSY.js";import"./badge-BNonIEif.js";import{r as dt,t as ft}from"./app-primitives-B_kzSTuJ.js";import{t as pt}from"./usePagePrimaryAction-Bw0OFTDZ.js";import{n as mt}from"./brand-CFOXmGdd.js";import{t as ht}from"./vendor-dockview-yY5mBM3U.js";import{n as gt,t as _t}from"./alert-B7D8joCd.js";var G=e(t(),1),K=r(),vt=Object.defineProperty,yt=(e,t)=>vt(e,`name`,{value:t,configurable:!0}),bt=`Collapsible`,[xt,St]=u(bt),[Ct,wt]=xt(bt),Tt=G.forwardRef(yt(function(e,t){let{__scopeCollapsible:n,open:r,defaultOpen:i,disabled:a,onOpenChange:o,...s}=e,[l,u]=p({prop:r,defaultProp:i??!1,onChange:o,caller:bt});return(0,K.jsx)(Ct,{scope:n,disabled:a,contentId:T(),open:l,onOpenToggle:G.useCallback(()=>u(e=>!e),[u]),children:(0,K.jsx)(c.div,{"data-state":Et(l),"data-disabled":a?``:void 0,...s,ref:t})})},`Collapsible`));function Et(e){return e?`open`:`closed`}yt(Et,`getState`);var Dt=Tt,Ot=Object.defineProperty,q=(e,t)=>Ot(e,`name`,{value:t,configurable:!0}),kt=`Checkbox`,[At,jt]=u(kt),[Mt,Nt]=At(kt);function Pt(e){let{__scopeCheckbox:t,checked:n,children:r,defaultChecked:i,disabled:a,form:o,name:s,onCheckedChange:c,required:l,value:u=`on`,internal_do_not_use_render:d}=e,[f,m]=p({prop:n,defaultProp:i??!1,onChange:c,caller:kt}),[h,g]=G.useState(null),[_,v]=G.useState(null),y=G.useRef(!1),[b,x]=G.useReducer(e=>e+1,0),S=!h||!!o||!!h.closest(`form`),C={checked:f,disabled:a,setChecked:m,control:h,setControl:g,name:s,form:o,value:u,hasConsumerStoppedPropagationRef:y,userInteractionCount:b,onUserInteraction:x,required:l,defaultChecked:!Ut(i)&&i,isFormControl:S,bubbleInput:_,setBubbleInput:v};return(0,K.jsx)(Mt,{scope:t,...C,children:Ht(d)?d(C):r})}q(Pt,`CheckboxProvider`);var Ft=`CheckboxTrigger`,It=G.forwardRef(q(function({__scopeCheckbox:e,onKeyDown:t,onClick:n,...r},i){let{control:o,value:l,disabled:u,checked:d,required:f,setControl:p,setChecked:m,hasConsumerStoppedPropagationRef:h,onUserInteraction:g,isFormControl:_,bubbleInput:v}=Nt(Ft,e),y=a(i,p),b=G.useRef(d);return G.useEffect(()=>{let e=o?.form;if(e){let t=q(()=>m(b.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[o,m]),(0,K.jsx)(c.button,{type:`button`,role:`checkbox`,"aria-checked":Ut(d)?`mixed`:d,"aria-required":f,"data-state":Wt(d),"data-disabled":u?``:void 0,disabled:u,value:l,...r,ref:y,onKeyDown:s(t,e=>{e.key===`Enter`&&e.preventDefault()}),onClick:s(n,e=>{g(),m(e=>Ut(e)?!0:!e),v&&_&&(h.current=e.isPropagationStopped(),h.current||e.stopPropagation())})})},`CheckboxTrigger`)),Lt=G.forwardRef(q(function(e,t){let{__scopeCheckbox:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...d}=e;return(0,K.jsx)(Pt,{__scopeCheckbox:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(It,{...d,ref:t,__scopeCheckbox:n}),e&&(0,K.jsx)(Vt,{__scopeCheckbox:n})]})})},`Checkbox`)),Rt=`CheckboxIndicator`,zt=G.forwardRef(q(function(e,t){let{__scopeCheckbox:n,forceMount:r,...i}=e,a=Nt(Rt,n);return(0,K.jsx)(w,{present:r||Ut(a.checked)||a.checked===!0,children:(0,K.jsx)(c.span,{"data-state":Wt(a.checked),"data-disabled":a.disabled?``:void 0,...i,ref:t,style:{pointerEvents:`none`,...e.style}})})},`CheckboxIndicator`)),Bt=`CheckboxBubbleInput`,Vt=G.forwardRef(q(function({__scopeCheckbox:e,onClick:t,...n},r){let{control:i,hasConsumerStoppedPropagationRef:o,userInteractionCount:l,checked:u,defaultChecked:d,required:f,disabled:p,name:m,value:h,form:g,bubbleInput:_,setBubbleInput:v}=Nt(Bt,e),y=a(r,v),b=E(i),x=G.useRef(!1),S=G.useRef(u),C=G.useRef(l);G.useEffect(()=>{let e=_;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=l!==C.current;C.current=l;let i=S.current!==u;S.current=u;let a=!(r&&o.current);if(i&&n){x.current=!r;let t=new Event(`click`,{bubbles:a});e.indeterminate=Ut(u),n.call(e,!Ut(u)&&u),e.dispatchEvent(t),x.current=!1}},[_,u,o,l]);let w=G.useRef(!Ut(u)&&u);return(0,K.jsx)(c.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:d??w.current,required:f,disabled:p,name:m,value:h,form:g,...n,tabIndex:-1,ref:y,onClick:s(t,e=>{x.current&&e.stopPropagation()}),style:{...n.style,...b,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})},`CheckboxBubbleInput`));function Ht(e){return typeof e==`function`}q(Ht,`isFunction`);function Ut(e){return e===`indeterminate`}q(Ut,`isIndeterminate`);function Wt(e){return Ut(e)?`indeterminate`:e?`checked`:`unchecked`}q(Wt,`getState`);var Gt=Object.defineProperty,Kt=(e,t)=>Gt(e,`name`,{value:t,configurable:!0}),qt=`Popover`,[Jt,Yt]=u(qt,[m]),Xt=m(),[Zt,Qt]=Jt(qt),$t=Kt(e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=Xt(t),c=G.useRef(null),[l,u]=G.useState(!1),[d,f]=p({prop:r,defaultProp:i??!1,onChange:a,caller:qt});return(0,K.jsx)(h,{...s,children:(0,K.jsx)(Zt,{scope:t,contentId:T(),triggerRef:c,open:d,onOpenChange:f,onOpenToggle:G.useCallback(()=>f(e=>!e),[f]),hasCustomAnchor:l,onCustomAnchorAdd:G.useCallback(()=>u(!0),[]),onCustomAnchorRemove:G.useCallback(()=>u(!1),[]),modal:o,children:n})})},`Popover`),en=`PopoverTrigger`,tn=G.forwardRef(Kt(function(e,t){let{__scopePopover:n,...r}=e,i=Qt(en,n),o=Xt(n),l=a(t,i.triggerRef),u=(0,K.jsx)(c.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":pn(i.open),...r,ref:l,onClick:s(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?u:(0,K.jsx)(_,{asChild:!0,...o,children:u})},`PopoverTrigger`)),nn=`PopoverPortal`,[rn,an]=Jt(nn,{forceMount:void 0}),on=Kt(e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=Qt(nn,t);return(0,K.jsx)(rn,{scope:t,forceMount:n,children:(0,K.jsx)(w,{present:n||a.open,children:(0,K.jsx)(y,{asChild:!0,container:i,children:r})})})},`PopoverPortal`),sn=`PopoverContent`,cn=G.forwardRef(Kt(function(e,t){let n=an(sn,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=Qt(sn,e.__scopePopover);return(0,K.jsx)(w,{present:r||a.open,children:a.modal?(0,K.jsx)(un,{...i,ref:t}):(0,K.jsx)(dn,{...i,ref:t})})},`PopoverContent`)),ln=o(`PopoverContent.RemoveScroll`),un=G.forwardRef(Kt(function(e,t){let n=Qt(sn,e.__scopePopover),r=G.useRef(null),i=a(t,r),o=G.useRef(!1);return G.useEffect(()=>{let e=r.current;if(e)return C(e)},[]),(0,K.jsx)(b,{as:ln,allowPinchZoom:!0,children:(0,K.jsx)(fn,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:s(e.onCloseAutoFocus,e=>{e.preventDefault(),o.current||n.triggerRef.current?.focus()}),onPointerDownOutside:s(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;o.current=r},{checkForDefaultPrevented:!1}),onFocusOutside:s(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})},`PopoverContentModal`)),dn=G.forwardRef(Kt(function(e,t){let n=Qt(sn,e.__scopePopover),r=G.useRef(!1),i=G.useRef(!1);return(0,K.jsx)(fn,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})},`PopoverContentNonModal`)),fn=G.forwardRef(Kt(function(e,t){let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onInteractOutside:u,...d}=e,f=Qt(sn,n),p=Xt(n);return x(),(0,K.jsx)(v,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,K.jsx)(S,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>f.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,K.jsx)(g,{"data-state":pn(f.open),role:`dialog`,id:f.contentId,...p,...d,ref:t,style:{...d.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})},`PopoverContentImpl`));function pn(e){return e?`open`:`closed`}Kt(pn,`getState`);var mn=$t,hn=tn,gn=on,_n=cn,vn=I(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),yn=I(`badge-check`,[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`,key:`3c2336`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),bn=I(`chevrons-left`,[[`path`,{d:`m11 17-5-5 5-5`,key:`13zhaf`}],[`path`,{d:`m18 17-5-5 5-5`,key:`h8a8et`}]]),xn=I(`chevrons-right`,[[`path`,{d:`m6 17 5-5-5-5`,key:`xnjwq`}],[`path`,{d:`m13 17 5-5-5-5`,key:`17xmmf`}]]),Sn=I(`clock-3`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6h4`,key:`135r8i`}]]),Cn=I(`command`,[[`path`,{d:`M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3`,key:`11bfej`}]]),wn=I(`database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]),Tn=I(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),En=I(`file-check-corner`,[[`path`,{d:`M10.5 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v6`,key:`g5mvt7`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m14 20 2 2 4-4`,key:`15kota`}]]),Dn=I(`file-diff`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M9 10h6`,key:`9gxzsh`}],[`path`,{d:`M12 13V7`,key:`h0r20n`}],[`path`,{d:`M9 17h6`,key:`r8uit2`}]]),On=I(`gauge`,[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]),kn=I(`git-commit-horizontal`,[[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`line`,{x1:`3`,x2:`9`,y1:`12`,y2:`12`,key:`1dyftd`}],[`line`,{x1:`15`,x2:`21`,y1:`12`,y2:`12`,key:`oup4p8`}]]),An=I(`list-checks`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`path`,{d:`m3 7 2 2 4-4`,key:`1obspn`}]]),jn=I(`list-todo`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`rect`,{x:`3`,y:`4`,width:`6`,height:`6`,rx:`1`,key:`cif1o7`}]]),Mn=I(`lock`,[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`,key:`fwvmzm`}]]),Nn=I(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),Pn=I(`shield-off`,[[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71`,key:`1jlk70`}],[`path`,{d:`M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264`,key:`18rp1v`}]]),Fn=I(`sigma`,[[`path`,{d:`M18 7V5a1 1 0 0 0-1-1H6.5a.5.5 0 0 0-.4.8l4.5 6a2 2 0 0 1 0 2.4l-4.5 6a.5.5 0 0 0 .4.8H17a1 1 0 0 0 1-1v-2`,key:`wuwx1p`}]]),In=I(`target`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`6`,key:`1vlfrh`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),Ln=I(`undo-2`,[[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`,key:`f3b9sd`}]]),Rn=I(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),zn=I(`user`,[[`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`,key:`975kel`}],[`circle`,{cx:`12`,cy:`7`,r:`4`,key:`17ys0d`}]]);function Bn(e){if(!(!e||typeof e!=`object`)){if(Object.hasOwn(e,`plan`))return e.plan??null;if(Object.hasOwn(e,`taskList`))return e.taskList??null}}function J(e,t){let n=Bn(e);return n===void 0?t:n}function Vn(e){return e===`plan_update`||e===`task_list_update`}function Hn(e){return e===`get_plan`||e===`get_task_list`}function Un(e){return e===`update_plan`||e===`update_task_list`}function Wn(e){return Hn(e)||Un(e)}function Gn(e){return Bn(e)}var Kn=Object.freeze({messages:[],tools:[],approvals:[],agents:[],currentActivity:null,activityFeed:[],thinkingText:``,queuedInputs:[],hadQueuedInput:!1,plan:null,executionMode:null,contextUsage:null,sessionUsage:null,promptCache:null,compaction:null,streaming:!1,error:``,loaded:!1,messageStart:null,hasOlder:!1,olderCursor:null});function qn(e,t){if(e===t)return!1;if(!e||!t)return!0;let n=new Set([...Object.keys(e),...Object.keys(t)]);for(let r of n)if(e[r]!==t[r])return!0;return!1}function Jn(e,t){let n=e||Kn,r=typeof t==`function`?t(n):{...n,...t};return qn(n,r)?r:n}function Yn(e,t){return t===void 0?e||[]:Array.isArray(t)?t:[]}function Xn(e=[],t){let n=Array.isArray(e)?e:[],r=-1;for(let e=n.length-1;e>=0;--e)if(n[e]?.role===`agent`){r=e;break}return r<0?[...n,t]:[...n.slice(0,r),t,...n.slice(r)]}function Zn(e){return!!(e?.streaming||e?.recovering||e?.agents?.some(e=>[`queued`,`starting`,`running`].includes(e.status)))}function Qn(e){return!!(e&&(e.streaming||String(e.thinkingText||``).trim()||e.tools?.length||e.currentActivity?.type===`agent`||e.activityFeed?.some(e=>e.type===`agent`)))}function $n(e,t,n){return t&&Qn(n)?n:Qn(e.runActivity)?e.runActivity:null}function er(e,t){if(e&&(e.loaded||e.streaming||Bn(e)!==void 0))return J(e,null);let n=Bn(t);return n===void 0?J(e,null):n}function tr(e,t={}){return!!e?.items?.length}function nr({...e}){return(0,K.jsx)(Dt,{"data-slot":`collapsible`,...e})}var rr=({className:e,defaultOpen:t=!0,...n})=>(0,K.jsx)(nr,{className:P(e),defaultOpen:t,...n}),ir=10485760,ar=20971520;function or(e){let t=[...e?.files||[]].filter(e=>e.type?.startsWith(`image/`));return t.length?t:[...e?.items||[]].filter(e=>e.kind===`file`&&e.type?.startsWith(`image/`)).map(e=>e.getAsFile?.()).filter(e=>!!e)}function sr(e,t){return new Promise((n,r)=>{let i=new FileReader;i.onload=()=>n(String(i.result).split(`,`)[1]||``),i.onerror=()=>r(i.error||Error(t(`chat:attachments.couldNotReadImage`))),i.readAsDataURL(e)})}async function cr(e,t){let n=[...e].slice(0,8),r=[];for(let e of n){if(e.size>ir)throw Error(t(`chat:attachments.nameExceedsThe10MBLimit`,{name:e.name}));e.type.startsWith(`image/`)&&r.push({id:`${e.name}-${e.lastModified}-${e.size}`,kind:`image`,name:e.name,mimeType:e.type,size:e.size,data:await sr(e,t)})}return r}function lr(e){return e.split(/[\\/]/).filter(Boolean).at(-1)||e}function ur(e){return[...e].map(e=>String(e||``).trim()).filter(Boolean).slice(0,8).map(e=>({id:`path:${e}`,kind:`path`,name:lr(e),path:e}))}function dr(){let e=(0,G.useCallback)((e,t)=>d(e,l(),t),[]),[t,n]=(0,G.useState)([]),[r,i]=(0,G.useState)(``),a=(0,G.useRef)([]),o=(0,G.useCallback)(e=>{a.current=e,n(e)},[]),s=(0,G.useCallback)(async t=>{try{i(``);let n=await cr(t||[],e),r=[...a.current,...n].slice(0,8);if(r.filter(e=>e.kind!==`path`).reduce((e,t)=>e+(t.size||0),0)>ar)throw Error(e(`chat:attachments.totalAttachmentSizeCannotExceed20MB`));return o(r),!0}catch(e){return i(e instanceof Error?e.message:String(e)),!1}},[o,e]);return{attachments:t,attachmentError:r,pasteImages:(0,G.useCallback)(e=>{let t=or(e.clipboardData);t.length&&(e.preventDefault(),s(t))},[s]),removeAttachment:(0,G.useCallback)(e=>{o(a.current.filter(t=>t.id!==e))},[o]),clearAttachments:(0,G.useCallback)(()=>o([]),[o]),addAttachments:(0,G.useCallback)(e=>{i(``);let t=[...a.current];for(let n of e)t.some(e=>e.id===n.id)||t.push(n);o(t.slice(0,8))},[o]),setError:(0,G.useCallback)(e=>{i(e instanceof Error?e.message:String(e||``))},[])}}function fr({open:e,sessionId:t,onClose:n,onSelect:r}){let{t:i}=f(),[a,o]=(0,G.useState)([]),[s,c]=(0,G.useState)(``),[l,u]=(0,G.useState)(null),[d,p]=(0,G.useState)({}),[m,h]=(0,G.useState)(!1),[g,_]=(0,G.useState)(``);(0,G.useEffect)(()=>{if(!e)return;let n=!0;return h(!0),_(``),Promise.all([Be(`/api/skills?sessionId=${encodeURIComponent(t)}`),Be(`/api/workflows`)]).then(([e,t])=>{n&&o([...(e.skills||[]).filter(e=>e.enabled&&e.command).map(e=>({kind:`skill`,id:e.id,name:e.name,description:e.description||``,inputs:[]})),...(t.workflows||[]).filter(e=>e.status===`published`).map(e=>({kind:`workflow`,id:e.id,name:e.name,description:e.description||``,inputs:e.inputs||[]}))])}).catch(e=>{n&&(o([]),_(e instanceof Error?e.message:String(e)))}).finally(()=>n&&h(!1)),()=>{n=!1}},[e,t]);let v=(0,G.useMemo)(()=>{let e=s.trim().toLowerCase();return a.filter(t=>!e||`${t.name} ${t.description}`.toLowerCase().includes(e))},[s,a]),y=e=>{u(e),p(Object.fromEntries(e.inputs.map(e=>[e.name,e.defaultValue??``])))};return(0,K.jsx)(nt,{open:e,onOpenChange:e=>!e&&n(),children:(0,K.jsxs)(Ve,{className:`chat-resource-dialog z-[220] gap-0 p-0 ring-0`,overlayClassName:`z-[220]`,showCloseButton:!1,children:[(0,K.jsxs)(`div`,{className:`chat-resource-head`,children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(We,{children:i(`chat:resourcePicker.title`)}),(0,K.jsx)(Je,{children:i(`chat:resourcePicker.description`)})]}),(0,K.jsx)(U,{size:`icon-sm`,variant:`ghost`,"aria-label":i(`chat:resourcePicker.close`),onClick:n,children:(0,K.jsx)(ke,{})})]}),(0,K.jsxs)(`div`,{className:`chat-resource-body`,children:[(0,K.jsxs)(`div`,{className:`chat-resource-browser`,children:[(0,K.jsxs)(`label`,{className:`chat-resource-search`,children:[(0,K.jsx)(xe,{size:15}),(0,K.jsx)(`input`,{autoFocus:!0,value:s,onChange:e=>c(e.target.value),placeholder:i(`chat:resourcePicker.search`)})]}),(0,K.jsxs)(`div`,{className:`chat-resource-list`,children:[v.map(e=>{let t=e.kind===`skill`?k:je;return(0,K.jsxs)(`button`,{type:`button`,className:l?.id===e.id?`active`:``,onClick:()=>y(e),children:[(0,K.jsx)(`span`,{className:`list-icon`,children:(0,K.jsx)(t,{size:15})}),(0,K.jsxs)(`span`,{children:[(0,K.jsx)(`strong`,{children:e.name}),(0,K.jsx)(`small`,{children:e.description})]}),(0,K.jsx)(`em`,{children:e.kind===`skill`?`Skill`:i(`chat:resourcePicker.workflow`)})]},`${e.kind}:${e.id}`)}),!v.length&&(0,K.jsx)(`p`,{children:m?i(`chat:resourcePicker.loading`):g||i(`chat:resourcePicker.empty`)})]})]}),(0,K.jsx)(`div`,{className:`chat-resource-config`,children:l?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(`strong`,{children:l.name}),(0,K.jsx)(`p`,{children:l.description||i(`chat:resourcePicker.noDescription`)})]}),l.kind===`workflow`&&l.inputs.length>0&&(0,K.jsx)(`div`,{className:`chat-resource-inputs`,children:l.inputs.map(e=>(0,K.jsxs)(`label`,{children:[(0,K.jsxs)(`span`,{children:[e.label,e.required?` *`:``]}),e.type===`boolean`?(0,K.jsx)(`input`,{type:`checkbox`,checked:!!d[e.name],onChange:t=>p(n=>({...n,[e.name]:t.target.checked}))}):(0,K.jsx)(Xe,{type:e.type===`number`?`number`:`text`,required:e.required,value:String(d[e.name]??``),onChange:t=>p(n=>({...n,[e.name]:t.target.value}))})]},e.id))}),(0,K.jsx)(U,{className:`chat-resource-confirm`,onClick:()=>{l&&(r({kind:l.kind,resourceId:l.id,resourceName:l.name,arguments:l.kind===`workflow`?d:void 0,behavior:l.kind===`workflow`?`background`:`foreground`}),n())},children:i(`chat:resourcePicker.useResource`)})]}):(0,K.jsx)(`p`,{children:i(`chat:resourcePicker.chooseResource`)})})]})]})})}var pr=(0,G.lazy)(()=>i(()=>import(`./AnimatedContent-BiVNqD3m.js`).then(e=>({default:e.AnimatedContent})),__vite__mapDeps([0,1,2,3,4,5])));function mr({open:e,children:t,label:n,trayId:r}){return(0,K.jsx)(G.Suspense,{fallback:null,children:(0,K.jsx)(pr,{show:e,direction:`horizontal`,reverse:!0,distance:18,duration:.24,initialOpacity:0,scale:.96,className:`composer-tool-tray-motion`,children:e?(0,K.jsx)(`div`,{id:r,className:`composer-tool-tray`,"aria-label":n,children:t}):null})})}var hr=e(n(),1);function gr({...e}){return(0,K.jsx)(mn,{"data-slot":`popover`,...e})}function _r({...e}){return(0,K.jsx)(hn,{"data-slot":`popover-trigger`,...e})}function vr({className:e,align:t=`center`,sideOffset:n=4,...r}){return(0,K.jsx)(gn,{children:(0,K.jsx)(_n,{"data-slot":`popover-content`,align:t,sideOffset:n,className:P(`z-[200] flex w-72 origin-(--radix-popover-content-transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...r})})}var yr={completed:`completed`,in_progress:`running`,blocked:`blocked`,pending:`pending`};function br(e){let t=new Map(e.map(e=>[String(e.id||``),e])),n=e=>e?.status===`completed`;return e.map(e=>{let r=String(e.id||``),i=(Array.isArray(e.dependsOn)?e.dependsOn:[]).map(e=>t.get(String(e))).filter(e=>!!e&&!n(e)),a=e.status!==`completed`&&(e.status===`blocked`||i.length>0);return{...e,id:r,blocked:a,blockedBy:i}})}function xr(e){return e===`completed`?D:e===`in_progress`?de:e===`blocked`?Mn:de}function Sr({status:e,t}){let n=xr(e),r=t(e===`completed`?`chat:planBoard.completed`:e===`in_progress`?`chat:planBoard.inProgress`:e===`blocked`?`chat:planBoard.blocked`:`chat:planBoard.pending`);return(0,K.jsxs)(`span`,{className:`plan-board-status ${yr[String(e)]||`pending`}`,children:[(0,K.jsx)(n,{size:12}),r]})}function Cr({item:e,current:t,t:n}){return(0,K.jsxs)(`li`,{className:`plan-board-row ${e.blocked?`blocked`:``}`,"aria-current":t?`step`:void 0,"data-pisper-plan-current":t?`true`:void 0,"data-pisper-plan-id":e.id,children:[(0,K.jsxs)(`div`,{className:`plan-board-row-head`,children:[(0,K.jsx)(Sr,{status:e.blocked?`blocked`:e.status,t:n}),(0,K.jsx)(`span`,{className:`plan-board-title`,title:e.title,children:e.title}),e.assignee?(0,K.jsxs)(`span`,{className:`plan-board-assignee`,title:n(`chat:planBoard.assignedTo`,{name:e.assignee}),children:[(0,K.jsx)(zn,{size:11}),e.assignee]}):e.status!==`completed`&&(0,K.jsx)(`span`,{className:`plan-board-unassigned`,children:n(`chat:planBoard.unassigned`)})]}),e.blockedBy.length>0&&(0,K.jsxs)(`div`,{className:`plan-board-deps`,children:[(0,K.jsx)(Mn,{size:11}),n(`chat:planBoard.waitingFor`,{tasks:e.blockedBy.map(e=>e.title||e.id).join(` · `)})]})]})}function wr({plan:e,header:t,collapsible:n=!1}){let{t:r}=f(),i=(0,G.useRef)(null),[a,o]=(0,G.useState)(!0),s=e?.items||[],c=br(s),l=c.filter(e=>e.status===`completed`).length,u=c.filter(e=>e.status===`in_progress`&&!e.blocked).length,d=c.filter(e=>e.blocked).length,p=c.find(e=>e.status===`in_progress`&&!e.blocked)?.id??c.find(e=>e.blocked)?.id??c.find(e=>e.status===`pending`)?.id??c.at(-1)?.id;if((0,G.useLayoutEffect)(()=>{if(n&&!a)return;let e=i.current,t=e?.querySelector(`[data-pisper-plan-current="true"]`);if(!e||!t)return;let r=e.getBoundingClientRect(),o=t.getBoundingClientRect();o.top<r.top?e.scrollTop-=r.top-o.top:o.bottom>r.bottom&&(e.scrollTop+=o.bottom-r.bottom)},[n,p,a,c.length]),!s.length)return null;let m=c.find(e=>e.id===p),h=(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(An,{className:`plan-board-summary-icon`,size:15}),(0,K.jsx)(`strong`,{children:r(`chat:planBoard.progress`,{completed:l,total:s.length})}),m?(0,K.jsx)(`span`,{className:`plan-board-current`,title:m.title,children:m.title}):null,(0,K.jsxs)(`span`,{className:`plan-board-counts`,children:[u>0&&(0,K.jsx)(`span`,{children:r(`chat:planBoard.countInProgress`,{count:u})}),d>0&&(0,K.jsx)(`span`,{className:`blocked`,children:r(`chat:planBoard.countBlocked`,{count:d})})]}),t,n?(0,K.jsx)(ue,{className:`plan-board-chevron`,size:15}):null]}),g=(0,K.jsx)(`ul`,{ref:i,className:`plan-board-list${c.length>4?` is-scrollable`:``}`,tabIndex:c.length>4?0:void 0,children:c.map(e=>(0,K.jsx)(Cr,{item:e,current:e.id===p,t:r},e.id))});return n?(0,K.jsxs)(`details`,{className:`plan-board plan-board-collapsible`,open:a,onToggle:e=>o(e.currentTarget.open),children:[(0,K.jsx)(`summary`,{className:`plan-board-summary`,"aria-label":r(`chat:planBoard.toggleAriaLabel`),children:h}),g]}):(0,K.jsxs)(`section`,{className:`plan-board`,"aria-label":r(`chat:planBoard.ariaLabel`),children:[(0,K.jsx)(`div`,{className:`plan-board-summary`,children:h}),g]})}var Tr=(0,G.memo)(wr);function Er({usage:e,plan:t}){let{t:n}=f(),r=Math.max(0,Number(e?.processedTokens)||0),i=Array.isArray(t?.items)?t.items:[],a=i.filter(e=>e?.status===`completed`).length,o=i.length?n(`chat:planBoard.progress`,{completed:a,total:i.length}):``,s=Number(e?.cacheHitRate),c=e?.cacheHitRate!=null&&Number.isFinite(s)?`${Math.round(Math.max(0,s))}%`:`—`,l=[n(`chat:focusSession.sessionUsageDetail`,{processed:B(r),input:B(e?.input),output:B(e?.output),cacheRead:B(e?.cacheRead),cacheWrite:B(e?.cacheWrite),reasoning:B(e?.reasoning),requests:Math.max(0,Number(e?.requests)||0)}),o].filter(Boolean).join(`
|
|
3
|
+
`);return(0,K.jsxs)(`div`,{className:`session-usage-metrics`,title:l,"aria-label":l,children:[(0,K.jsxs)(`span`,{children:[(0,K.jsx)(wn,{size:12}),(0,K.jsx)(`small`,{children:n(`chat:focusSession.cacheHitRate`)}),(0,K.jsx)(`strong`,{children:c})]}),(0,K.jsx)(`i`,{"aria-hidden":`true`}),(0,K.jsxs)(`span`,{children:[(0,K.jsx)(Fn,{size:12}),(0,K.jsx)(`small`,{children:n(`chat:focusSession.processedTokens`)}),(0,K.jsx)(`strong`,{children:B(r)})]}),o&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`i`,{"aria-hidden":`true`}),(0,K.jsxs)(gr,{children:[(0,K.jsx)(_r,{asChild:!0,children:(0,K.jsxs)(`button`,{type:`button`,className:`session-plan-progress`,title:n(`chat:planBoard.openCurrentPlan`,{progress:o}),"aria-label":n(`chat:planBoard.openCurrentPlan`,{progress:o}),children:[(0,K.jsx)(jn,{size:12}),(0,K.jsx)(`strong`,{children:o})]})}),(0,K.jsx)(vr,{className:`session-plan-popover`,align:`start`,side:`top`,sideOffset:7,children:(0,K.jsx)(Tr,{plan:t??null})})]})]})]})}function Dr({usage:e,onThresholdChange:t}){let{t:n}=f(),r=Number(e?.contextWindow)||0,i=e?.compactAtPercent==null?80:Number(e.compactAtPercent),a=Number.isFinite(i)?Math.round(i):80,[o,s]=(0,G.useState)(a),[c,l]=(0,G.useState)(!1),[u,d]=(0,G.useState)(``),p=(0,G.useRef)(a),m=(0,G.useRef)(void 0);if((0,G.useEffect)(()=>{window.clearTimeout(m.current),s(a),p.current=a},[a]),(0,G.useEffect)(()=>()=>window.clearTimeout(m.current),[]),!r)return null;let h=e?.percent!=null&&Number.isFinite(Number(e.percent)),g=h?Math.max(0,Number(e.percent)):null,_=g==null?null:Math.round(g),v=Math.max(50,a-15),y=g==null?`unknown`:g>=a?`danger`:g>=v?`warning`:`normal`,b=`${h?e.estimated?n(`chat:focusSession.estimatedContextUsageTokensLimitTokensPercent`,{tokens:B(e.tokens),limit:B(r),percent:_}):n(`chat:focusSession.contextUsageTokensLimitTokensPercent`,{tokens:B(e.tokens),limit:B(r),percent:_}):n(`chat:focusSession.contextUsageWillUpdateAfterTheNextModelResponseLimitLimitTokens`,{limit:B(r)})} · ${e?.autoCompactEnabled?n(`chat:focusSession.autoCompactionThresholdAboutPercent`,{percent:a}):n(`chat:focusSession.automaticContextCompactionIsDisabled`)}`,x=`${e?.tokens==null?`—`:B(e.tokens)} / ${B(r)}`,S=async e=>{let n=Math.min(95,Math.max(50,Math.round(e)));if(s(n),!(!t||n===p.current)){l(!0),d(``);try{await t(n),p.current=n}catch(e){d(e instanceof Error?e.message:String(e))}finally{l(!1)}}},C=e=>{window.clearTimeout(m.current),s(e),m.current=window.setTimeout(()=>void S(e),250)},w=e=>{window.clearTimeout(m.current),S(e)};return(0,K.jsxs)(gr,{children:[(0,K.jsx)(_r,{asChild:!0,children:(0,K.jsxs)(`button`,{type:`button`,className:`context-usage-chip ${y}`,"aria-label":b,title:b,children:[(0,K.jsx)(On,{size:12}),(0,K.jsxs)(`span`,{children:[(0,K.jsx)(`strong`,{children:x}),(0,K.jsx)(`small`,{children:_==null?`—`:`${_}%`})]}),(0,K.jsx)(`i`,{"aria-hidden":`true`,children:(0,K.jsx)(`b`,{style:{width:`${Math.min(100,g||0)}%`}})})]})}),(0,K.jsxs)(vr,{className:`context-usage-popover`,align:`end`,sideOffset:8,children:[(0,K.jsxs)(`div`,{className:`context-threshold-heading`,children:[(0,K.jsx)(`span`,{children:n(`chat:focusSession.autoCompactionThreshold`)}),(0,K.jsxs)(`output`,{children:[o,`%`]})]}),(0,K.jsx)(`input`,{type:`range`,min:`50`,max:`95`,step:`1`,value:o,"aria-label":n(`chat:focusSession.autoCompactionThreshold`),disabled:c,onChange:e=>C(Number(e.currentTarget.value)),onBlur:e=>w(Number(e.currentTarget.value)),onPointerUp:e=>w(Number(e.currentTarget.value)),onKeyUp:e=>{[`ArrowLeft`,`ArrowRight`,`Home`,`End`,`PageUp`,`PageDown`].includes(e.key)&&w(Number(e.currentTarget.value))}}),(0,K.jsxs)(`div`,{className:`context-threshold-scale`,"aria-hidden":`true`,children:[(0,K.jsx)(`span`,{children:`50%`}),(0,K.jsx)(`span`,{children:`95%`})]}),(0,K.jsx)(`small`,{className:u?`error`:``,children:u||(c?n(`chat:focusSession.savingCompactionThreshold`):`\xA0`)})]})]})}function Or({value:e,models:t,onChange:n,disabled:r,compact:i=!1}){let{t:a}=f(),o=t.find(t=>t.key===e),s=o?`${o.providerName} · ${o.label}`:e.split(`/`).at(-1);return(0,K.jsxs)(`div`,{className:`session-model-select icon-only ${i?`compact`:``}`,title:a(r?`chat:focusSession.currentModelModelCannotSwitchWhileRunning`:`chat:focusSession.currentModelModelClickToSwitch`,{model:s}),children:[(0,K.jsx)(rt,{size:i?11:14}),(0,K.jsxs)(O,{value:e,onChange:e=>n(e.target.value),disabled:r||t.length===0,"aria-label":a(`chat:focusSession.currentChatModel`),children:[!o&&(0,K.jsx)(`option`,{value:e,children:e.split(`/`).at(-1)}),t.map(e=>(0,K.jsxs)(`option`,{value:e.key,children:[e.providerName,` · `,e.label]},e.key))]})]})}function kr({value:e,levels:t,status:n=`supported`,message:r=``,onChange:i,disabled:a,compact:o=!1}){let{t:s}=f(),c=e||t[0]||`off`,l=!n&&t.length===0,u=n!==`unsupported`&&t.length>0,d=u&&t.length<=1&&t.includes(c),p=l?s(`chat:focusSession.loadingThinkingLevels`):u?s(d?`chat:focusSession.thinkingLevelFixed`:a?`chat:focusSession.currentThinkingLevelLevelCannotSwitchWhileRunning`:`chat:focusSession.currentThinkingLevelLevelClickToSwitch`,{level:c}):r||s(`chat:focusSession.thinkingLevelUnsupported`);return(0,K.jsxs)(`div`,{className:`session-model-select session-thinking-select icon-only ${o?`compact`:``}`,title:p,children:[(0,K.jsx)(Qe,{size:o?11:14}),(0,K.jsxs)(O,{value:c,onChange:e=>i(e.target.value),disabled:a||l||!u||d,"aria-label":s(`chat:focusSession.currentThinkingLevel`),children:[!t.includes(c)&&(0,K.jsx)(`option`,{value:c,children:c}),t.map(e=>(0,K.jsx)(`option`,{value:e,children:e},e))]})]})}function Ar(e){return[[`read-only`,e(`chat:focusSession.readOnly`),e(`chat:focusSession.onlyInspectAndAnalyzeContent`),pe],[`approval-required`,e(`chat:focusSession.approvalRequired`),e(`chat:focusSession.approvalRequiredShowsADiffBeforeWriting`),En],[`workspace-write`,e(`chat:focusSession.workspaceWrite`),e(`chat:focusSession.workspaceWriteRunsCommandsWithAutomaticApproval`),yn],[`full-access`,e(`chat:focusSession.fullAccess`),e(`chat:focusSession.fullAccessRunsShellWithoutPerCommandApproval`),Pn]]}function jr({value:e,onChange:t,disabled:n,compact:r=!1}){let{t:i}=f(),[a,o]=(0,G.useState)(!1),[s,c]=(0,G.useState)({left:0,top:0,width:270}),l=(0,G.useRef)(null),u=(0,G.useRef)(null),d=Ar(i),p=d.find(t=>t[0]===e)||d[1],m=p[3],h=(0,G.useCallback)(()=>{let e=l.current?.querySelector(`button`);if(!e)return;let t=e.getBoundingClientRect(),n=Math.min(270,window.innerWidth-16),r=u.current?.offsetHeight||190,i=Math.max(8,Math.min(t.right-n,window.innerWidth-n-8)),a=t.top>=r+8+8?t.top-r-8:Math.min(t.bottom+8,window.innerHeight-r-8);c({left:i,top:Math.max(8,a),width:n})},[]);(0,G.useLayoutEffect)(()=>{if(a)return h(),window.addEventListener(`resize`,h),window.addEventListener(`scroll`,h,!0),()=>{window.removeEventListener(`resize`,h),window.removeEventListener(`scroll`,h,!0)}},[a,h]),(0,G.useEffect)(()=>{if(!a)return;let e=e=>{let t=e.target instanceof Node?e.target:null;!l.current?.contains(t)&&!u.current?.contains(t)&&o(!1)},t=e=>{e.key===`Escape`&&o(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[a]);let g=a&&(0,hr.createPortal)((0,K.jsxs)(`div`,{ref:u,className:`permission-mode-menu execution-mode-menu !fixed !right-auto !bottom-auto z-[80]`,style:s,role:`menu`,children:[(0,K.jsx)(`div`,{className:`execution-mode-menu-title`,children:i(`chat:focusSession.executionMode`)}),d.map(([e,n,r,i])=>(0,K.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":e===p[0],className:e===p[0]?`active`:``,onClick:()=>{t(e),o(!1)},children:[(0,K.jsx)(`span`,{className:`permission-level level-${e}`,children:(0,K.jsx)(i,{size:13})}),(0,K.jsxs)(`span`,{children:[(0,K.jsx)(`strong`,{children:n}),(0,K.jsx)(`small`,{children:r})]}),e===p[0]&&(0,K.jsx)(D,{size:13})]},e))]}),document.body);return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`div`,{ref:l,className:`permission-mode-select execution-mode-select icon-only ${r?`compact`:``} ${a?`open`:``}`,children:(0,K.jsx)(`button`,{type:`button`,className:`permission-mode-trigger icon-only mode-${p[0]}`,title:i(`chat:focusSession.executionModeModeDescription`,{mode:p[1],description:p[2]}),disabled:n,"aria-haspopup":`menu`,"aria-expanded":a,"aria-label":i(`chat:focusSession.executionModeMode`,{mode:p[1]}),onClick:()=>o(e=>!e),children:(0,K.jsx)(m,{size:r?11:14})})}),g]})}function Mr(e,{threshold:t=64}={}){let n=(0,G.useRef)(null),[r,i]=(0,G.useState)(null),a=(0,G.useCallback)(e=>{n.current=e,i(e)},[]),o=(0,G.useRef)(0),s=(0,G.useRef)(!1),c=(0,G.useRef)(0),l=(0,G.useRef)(!0),[u,d]=(0,G.useState)(!0),[f,p]=(0,G.useState)(!1),m=(0,G.useCallback)((e=`auto`)=>{let t=n.current;t&&(s.current=!0,cancelAnimationFrame(c.current),t.scrollTo({top:t.scrollHeight,behavior:e}),l.current=!0,d(!0),p(!1),c.current=requestAnimationFrame(()=>{c.current=requestAnimationFrame(()=>{s.current=!1})}))},[]),h=(0,G.useCallback)(()=>{cancelAnimationFrame(c.current),s.current=!1},[]),g=(0,G.useCallback)(e=>{let n=e.currentTarget;if(s.current)return;let r=n.scrollHeight-n.scrollTop-n.clientHeight<=t;l.current=r,d(r),r&&p(!1)},[t]);(0,G.useEffect)(()=>{if(n.current){if(!u){p(!0);return}return cancelAnimationFrame(o.current),o.current=requestAnimationFrame(()=>m()),()=>cancelAnimationFrame(o.current)}},[e,u,m]);let _=(0,G.useCallback)(()=>{l.current&&m()},[m]);return(0,G.useEffect)(()=>()=>cancelAnimationFrame(c.current),[]),{scrollRef:n,scrollElement:r,setScrollRef:a,onScroll:g,hasUnread:f,scrollToBottom:m,maintainBottom:_,cancelProgrammaticScroll:h}}function Nr(e){return e===`queued`?{titleKey:`{name} 等待调度`,tone:`waiting`}:e===`starting`?{titleKey:`{name} 正在启动`,tone:`running`}:e===`running`?{titleKey:`{name} 正在运行`,tone:`running`}:e===`completed`?{titleKey:`{name} 已完成`,tone:`completed`}:e===`interrupted`?{titleKey:`{name} 已中断`,tone:`stopped`}:e===`failed`?{titleKey:`{name} 执行失败`,tone:`failed`}:{titleKey:`{name} 状态已更新`,tone:`waiting`}}function Pr(e){let t=typeof e==`string`||typeof e==`number`||e instanceof Date?e:0,n=new Date(t).getTime();return Number.isFinite(n)?n:0}function Fr({currentActivity:e,compaction:t,text:n,thinkingText:r,lastActivityAt:i}={}){return t?.active?{type:`compaction`,compaction:t,updatedAt:t.startedAt||i}:e&&[`model`,`compaction`,`retry`].includes(e.type)?e:{type:`model`,stage:e?.type===`tool`?e.status===`running`?`working`:`processing_result`:String(r||``).trim()?`thinking`:String(n||``).trim()?`responding`:`thinking`,updatedAt:e?.updatedAt||i}}function Ir(e=[]){return e.map(e=>`${e.type}:${e.id||e.agent?.id||``}:${e.status||e.stage||e.agent?.status||``}`).join(`|`)}function Lr(e,t=0){return e.type===`tool`?`tool:${e.id||e.name||t}`:e.type===`agent`?`agent:${e.agent?.id||e.agent?.canonicalName||t}:${e.agent?.status||e.status||``}`:e.type===`plan`?`plan:${e.id||Gn(e)?.updatedAt||e.updatedAt||t}`:`${e.type||`activity`}:${e.id||e.startedAt||e.createdAt||t}`}function Rr(e){return e?.type?e.type===`tool`?`tool:${e.id||e.name||``}`:e.type===`agent`?`agent:${e.agent?.id||e.agent?.canonicalName||``}`:e.type===`plan`?`plan:${e.updatedAt||Gn(e)?.updatedAt||``}`:e.type===`model`?`model:${e.stage||``}`:e.type===`compaction`?`compaction:${e.compaction?.status||e.compaction?.active||``}`:`${e.type}:${e.id||e.updatedAt||``}`:``}function zr(e,t){let n=new Map((e?.items||[]).map(e=>[String(e.id||``),e])),r=new Map((t?.items||[]).map(e=>[String(e.id||``),e])),i=[];for(let e of r.values()){let t=n.get(String(e.id||``));t?(t.status!==e.status||t.title!==e.title||t.note!==e.note)&&i.push({id:e.id,title:e.title,status:e.status,previousStatus:t.status,kind:`updated`}):i.push({id:e.id,title:e.title,status:e.status,kind:`added`})}for(let e of n.values())r.has(String(e.id||``))||i.push({id:e.id,title:e.title,status:e.status,kind:`removed`});return i}function Y(e=[],t,n=6){let r=Array.isArray(e)?e:[];if(![`tool`,`plan`,`agent`].includes(t?.type))return r;let i=[...r];t.type===`plan`&&(i=i.filter(e=>e?.type!==`tool`||!Wn(e.name))),t.type===`agent`&&(i=i.filter(e=>e?.type!==`tool`||![`spawn_agent`,`list_agents`,`send_message`,`followup_task`,`wait_agent`,`interrupt_agent`].includes(e.name)));let a=Rr(t),o=i.findIndex(e=>Rr(e)===a);return o>=0?i[o]={...i[o],...t}:i.push(t),i.slice(-Math.max(1,Number(n)||6))}function Br(e=[],{finishedAt:t=new Date().toISOString(),error:n=``}={}){return e.map(e=>e?.status===`running`?{...e,status:n?`error`:`done`,message:n||e.message||``,updatedAt:t,finishedAt:t}:e)}function Vr(e,t,n=Date.now()){let r=Pr(e);if(!r)return 0;let i=Pr(t)||n;return Math.max(0,i-r)}function Hr(e,t,n=Date.now()){let r=e?.type===`agent`&&e.agent||{},i=e?.startedAt||r.startedAt||e?.updatedAt||t,a=e?.finishedAt||r.completedAt||``;return!a&&e?.type===`tool`&&e.status&&e.status!==`running`&&(a=e.updatedAt),!a&&e?.type===`agent`&&![`queued`,`starting`,`running`].includes(r.status)&&(a=r.lastActivityAt||e.updatedAt),!a&&e?.type===`plan`&&(a=e.updatedAt),Vr(i,a,n)}function Ur(e,t=`zh-CN`){let n=Math.max(0,Math.round(Number(e)||0));if(n<1e3)return t===`en-US`?`${n}ms`:`${n} 毫秒`;let r=Math.floor(n/1e3);if(r<60)return t===`en-US`?`${r}s`:`${r} 秒`;let i=Math.floor(r/60),a=r%60;return i<60?`${i}:${String(a).padStart(2,`0`)}`:`${Math.floor(i/60)}:${String(i%60).padStart(2,`0`)}:${String(a).padStart(2,`0`)}`}function Wr(e,t){return e.scrollTop+t-e.scrollHeight}function Gr(e,t,n){let r=Array(e);return new Proxy(r,{get(r,i,a){if(typeof i==`string`){let a=i.charCodeAt(0);if(a>=48&&a<=57){let a=+i;if(Number.isInteger(a)&&a>=0&&a<e){let e=r[a];if(!e){let i=t[a*2];e=r[a]={index:a,key:n(a),start:i,size:t[a*2+1],end:i+t[a*2+1],lane:0}}return e}}if(i===`length`)return e}return Reflect.get(r,i,a)}})}function Kr(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return o.length!==r.length||o.some((e,t)=>r[t]!==e)?(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i):i}return o.updateDeps=e=>{r=e},o}function qr(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var Jr=(e,t)=>Math.abs(e-t)<1.01,Yr=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},Xr,Zr=()=>{if(Xr!==void 0)return Xr;if(typeof navigator>`u`)return Xr=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return Xr=!0;let e=navigator.maxTouchPoints;return Xr=navigator.platform===`MacIntel`&&e!==void 0&&e>0},Qr=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},$r=e=>e,ei=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,r=Array(n);for(let e=0;e<n;e++)r[e]=t+e;return r},ti=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(Qr(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(Qr(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},ni={passive:!0},ri=typeof window>`u`||`onscrollend`in window,ii=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&ri,o=0,s=a?null:Yr(i,()=>t(o,!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,ni),a&&r.addEventListener(`scrollend`,u,ni),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u)}},ai=(e,t)=>ii(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),oi=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},si=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})},ci=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}return}this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:$r,rangeExtractor:ei,onChange:()=>{},measureElement:oi,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=e>0?s[0]?.key??n.getItemKey(0):null,l=e>0?s[e-1]?.key??n.getItemKey(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==c||t.getItemKey(o-1)!==l)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>e&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==l)&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,s=0;if(r&&this.scrollOffset!==null){let[e,t]=r,n=this.getMeasurements(),{count:i,getItemKey:a}=this.options,c=0;for(;c<i&&a(c)!==e;)c++;if(c<i){let e=n[c];if(e){let n=Math.max(0,e.start+t);n!==this.scrollOffset&&(s=n-this.scrollOffset,this.scrollOffset=n,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,s])},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=Kr(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.targetWindow=this.scrollElement&&`ownerDocument`in this.scrollElement?this.scrollElement.ownerDocument.defaultView:this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{if(t&&this._intendedScrollOffset===null&&e===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;let n=this.getScrollOffset();this.scrollDirection=t?n===e?this.scrollDirection:n<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},n=()=>{this._iosTouching=!1,!(!Zr()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener(`touchstart`,t,ni),e.addEventListener(`touchend`,n,ni),this.unsubs.push(()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let t=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled){let[e,n,r,i]=t;e!==null&&!r&&(Zr()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?i!==0&&(this._iosDeferredAdjustment+=i):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;if(this._iosDeferredAdjustment<0&&e>=t-1){this._iosDeferredAdjustment=0;return}let n=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=n,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=Kr(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(e,t,n,r,i,a,o,s)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s}),{key:!1}),this.getMeasurements=Kr(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s},c)=>{let l=this.itemSizeCache;if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let u=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=e*2,a=this._flatMeasurements;if(!a||a.length<i){let e=new Float64Array(i);a&&u>0&&e.set(a.subarray(0,u*2)),a=e,this._flatMeasurements=a}let o;if(u===0)o=t+n;else{let e=u-1;o=a[e*2]+a[e*2+1]+s}for(let t=u;t<e;t++){let e=r(t),n=l.get(e),i=typeof n==`number`?n:this.options.estimateSize(t);a[t*2]=o,a[t*2+1]=i,o+=i+s}let c=Gr(e,a,r);return this.measurementsCache=c,c}let d=this.measurementsCache.slice(0,u),f=Array(a).fill(void 0),p=new Float64Array(a),m=0;for(let e=0;e<u;e++){let t=d[e];t&&(f[t.lane]===void 0&&m++,f[t.lane]=e,p[t.lane]=t.end)}for(let i=u;i<e;i++){let e=r(i),c=this.laneAssignments.get(i),u,h,g=o===`estimate`||l.has(e);if(c!==void 0&&this.options.lanes>1){u=c;let e=f[u],r=e===void 0?void 0:d[e];h=r?r.end+s:t+n}else if(m===a){let e=0,t=p[0],n=f[0];for(let r=1;r<a;r++){let i=p[r];(i<t||i===t&&f[r]<n)&&(e=r,t=i,n=f[r])}u=e,h=t+s,g&&this.laneAssignments.set(i,u)}else u=i%this.options.lanes,h=t+n,g&&this.laneAssignments.set(i,u);let _=l.get(e),v=typeof _==`number`?_:this.options.estimateSize(i),y=h+v;d[i]={index:i,start:h,size:v,end:y,key:e,lane:u},f[u]===void 0&&m++,f[u]=i,p[u]=y}return this.measurementsCache=d,d},{key:!1,debug:()=>this.options.debug}),this.calculateRange=Kr(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>e.length===0||t===0?(this.range=null,null):(this.range=di(e,t,n,r,r===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=Kr(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e),n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{if(e<0||e>=this.options.count)return;let n,r,i,a=this._flatMeasurements;if(this.options.lanes===1&&a!==null)i=this.options.getItemKey(e),r=a[e*2],n=a[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;i=t.key,r=t.start,n=t.size}let o=this.itemSizeCache.get(i)??n,s=t-o;if(s!==0){let a=this.options.anchorTo===`end`&&this.scrollState?.behavior!==`smooth`&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,c=a?this.getTotalSize():0,l=this.getScrollOffset()+this.scrollAdjustments,u=this.itemSizeCache.has(i)?r+o<=l&&this.scrollDirection!==`backward`:r<l,d=this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?u:this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:i,start:r,size:n,end:r+n,lane:0},s,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(i,t),this.itemSizeCacheVersion++;let f=!1;a?f=this.applyScrollAdjustment(this.getTotalSize()-c):d&&(f=this.applyScrollAdjustment(s)),this.notify(f)}},this.getVirtualItems=Kr(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._flatMeasurements,r=this.options.lanes===1&&n!=null;return qr(t[li(0,t.length-1,r?e=>n[e*2]:e=>qr(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`){if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t]}if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{this._iosDeferredAdjustment=0;let r=this.getOffsetForAlignment(e,t),i=this.now();this.scrollState={index:null,align:t,behavior:n,startedAt:i,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{this._iosDeferredAdjustment=0,e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e,r=this.now();this.scrollState={index:null,align:`start`,behavior:t,startedAt:r,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e=`auto`}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:`end`,behavior:e});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._flatMeasurements;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){return e===0?!1:Zr()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?(this._iosDeferredAdjustment+=e,!1):(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0),!0)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),t=e?e[0]:this.scrollState.lastTargetOffset,n=t!==this.scrollState.lastTargetOffset;if(!n&&Jr(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==t&&this._scrollToOffset(t,{adjustments:void 0,behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let e=this.getSize()||600,n=Math.abs(t-this.getScrollOffset()),r=this.scrollState.behavior===`smooth`&&n>e;this.scrollState.lastTargetOffset=t,r||(this.scrollState.behavior=`auto`),this._scrollToOffset(t,{adjustments:void 0,behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}},li=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function ui(e,t,n){let r=0;for(;r<=t;){let i=(r+t)/2|0,a=e[i*2];if(a<n)r=i+1;else if(a>n)t=i-1;else return i}return r>0?r-1:0}function di(e,t,n,r,i){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&i!==null){let e=ui(i,a,n),r=e,o=n+t;for(;r<a&&i[r*2]+i[r*2+1]<o;)r++;return{startIndex:e,endIndex:r}}let o=li(0,a,t=>e[t].start,n),s=o;if(r===1)for(;s<a&&e[s].end<n+t;)s++;else if(r>1){let i=Array(r).fill(0);for(;s<a&&i.some(e=>e<n+t);){let t=e[s];i[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(a,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var fi=typeof document<`u`?G.useLayoutEffect:G.useEffect;function pi({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...r}){let i=G.useReducer(e=>e+1,0)[1],a=G.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=t,a.current.mode=n;let o=e=>{let t=a.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}},s=e=>{let t=a.current;if(!t.enabled||!t.container)return;o(e);let n=!!e.options.horizontal,r=t.mode===`transform`,i=n?`left`:`top`,s=e.options.scrollMargin,c=e.getVirtualItems();for(let a of c){let o=a.start-s,c=e.elementsCache.get(a.key);c&&t.lastPositions.get(c)!==o&&(t.lastPositions.set(c,o),r?c.style.transform=n?`translate3d(${o}px, 0, 0)`:`translate3d(0, ${o}px, 0)`:c.style[i]=`${o}px`)}},c={...r,onChange:(t,n)=>{var o;let c=a.current,l=!0;if(c.enabled){s(t);let e=t.range,n=c.prevRange;l=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,l&&(c.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}l&&(e&&n?(0,hr.flushSync)(i):i()),(o=r.onChange)==null||o.call(r,t,n)}},[l]=G.useState(()=>{let e=new ci(c);return Object.assign(e,{containerRef:t=>{let n=a.current;if(n.container=t,n.lastSize=null,t&&n.enabled){let r=e.getTotalSize();n.lastSize=r;let i=e.options.horizontal?`width`:`height`;t.style[i]=`${r}px`}}})});return l.setOptions(c),fi(()=>l._didMount(),[]),fi(()=>(o(l),l._willUpdate())),fi(()=>{s(l)}),l}function mi(e){return pi({observeElementRect:ti,observeElementOffset:ai,scrollToFn:si,...e})}var hi=new Map,gi=e=>{let t=hi.get(e);return t||(t=ut.create(e),hi.set(e,t)),t};(0,G.memo)(({children:e,as:t=`p`,className:n,duration:r=2,spread:i=2})=>{let a=gi(t),o=(0,G.useMemo)(()=>(e?.length??0)*i,[e,i]);return(0,K.jsx)(a,{animate:{backgroundPosition:`0% center`},className:P(`relative inline-block bg-[length:250%_100%,auto] bg-clip-text text-transparent`,`[--bg:linear-gradient(90deg,#0000_calc(50%-var(--spread)),var(--color-background),#0000_calc(50%+var(--spread)))] [background-repeat:no-repeat,padding-box]`,n),initial:{backgroundPosition:`100% center`},style:{"--spread":`${o}px`,backgroundImage:`var(--bg), linear-gradient(var(--color-muted-foreground), var(--color-muted-foreground))`},transition:{duration:r,ease:`linear`,repeat:1/0},children:e})});var _i=(0,G.createContext)(null),vi=({className:e,isStreaming:t=!1,children:n,...r})=>{let i=(0,G.useMemo)(()=>({isStreaming:t}),[t]);return(0,K.jsx)(_i.Provider,{value:i,children:(0,K.jsx)(nr,{asChild:!0,"data-slot":`plan`,...r,children:(0,K.jsx)(oe,{className:P(`shadow-none`,e),children:n})})})},yi=({defaultOpen:e=!0,className:t,...n})=>(0,K.jsx)(nr,{className:P(t),defaultOpen:e,...n});(0,G.lazy)(()=>i(()=>import(`./code-block-2QN4kmKi.js`).then(e=>({default:e.CodeBlock})),__vite__mapDeps([6,1,2,3,4,7,8,9,10,11,12,13,14,15,16,17,18])));var bi=({className:e,...t})=>(0,K.jsx)(nr,{className:P(`group not-prose mb-4 w-full rounded-md border`,e),...t}),xi=[],Si=(0,G.lazy)(()=>i(()=>import(`./terminal-W3Nzf7fR.js`).then(e=>({default:e.Terminal})),__vite__mapDeps([19,1,2,20,9,10,11,12,13,14,15,16,21,4,3,7,8,17,18,22,23,24,25]))),Ci=(0,G.lazy)(()=>i(()=>import(`./AnimatedList-D6P3Wwa6.js`).then(e=>({default:e.AnimatedList})),__vite__mapDeps([26,1,2,3,4,5,27]))),wi=(0,G.lazy)(()=>i(()=>import(`./ShinyText-K2BPzduJ.js`).then(e=>({default:e.ShinyText})),__vite__mapDeps([28,2,1,3,4,27])));function Ti(e,t){return e===`read`?t(`chat:agentRunActivity.readingFiles`):e===`grep`?t(`chat:agentRunActivity.searchingContent`):e===`find`?t(`chat:agentRunActivity.findingFiles`):e===`ls`?t(`chat:agentRunActivity.browsingDirectories`):e===`edit`?t(`chat:agentRunActivity.editingFiles`):e===`write`?t(`chat:agentRunActivity.writingFiles`):e===`bash`?t(`chat:agentRunActivity.runningCommands`):e===`memory_search`?t(`chat:agentRunActivity.searchingMemory`):e===`memory_remember`?t(`chat:agentRunActivity.savingMemory`):e===`spawn_agent`?t(`chat:agentRunActivity.startingSubagent`):e===`list_agents`?t(`chat:agentRunActivity.checkingSubagents`):e===`send_message`?t(`chat:agentRunActivity.messagingSubagent`):e===`followup_task`?t(`chat:agentRunActivity.addingSubagentTask`):e===`wait_agent`?t(`chat:agentRunActivity.waitingForSubagent`):e===`interrupt_agent`?t(`chat:agentRunActivity.interruptingSubagent`):Hn(e)?t(`chat:agentRunActivity.readingPlan`):Un(e)?t(`chat:agentRunActivity.updatingPlan`):e===`browser_automation`?t(`chat:agentRunActivity.controllingBrowser`):e===`generate_visual`?t(`chat:agentRunActivity.generatingVisualContent`):e===`discover_tools`?t(`chat:agentRunActivity.discoveringTools`):t(`chat:agentRunActivity.usingTool`,{tool:String(e||t(`chat:agentRunActivity.tools`))})}function Ei(e,t){return e===`read`?t(`chat:agentRunActivity.filesRead`):e===`grep`?t(`chat:agentRunActivity.searchCompleted`):e===`find`?t(`chat:agentRunActivity.findCompleted`):e===`ls`?t(`chat:agentRunActivity.directoriesBrowsed`):e===`edit`?t(`chat:agentRunActivity.filesEdited`):e===`write`?t(`chat:agentRunActivity.filesWritten`):e===`bash`?t(`chat:agentRunActivity.commandCompleted`):e===`spawn_agent`?t(`chat:agentRunActivity.subagentStarted`):e===`wait_agent`?t(`chat:agentRunActivity.subagentStatusUpdated`):Un(e)?t(`chat:agentRunActivity.planUpdated`):t(e===`discover_tools`?`chat:agentRunActivity.toolsDiscovered`:`chat:agentRunActivity.currentOperationCompleted`)}function Di(e,t,n){return n(e===`queued`?`chat:agentRunActivity.agentQueued`:e===`starting`?`chat:agentRunActivity.agentStarting`:e===`running`?`chat:agentRunActivity.agentRunning`:e===`completed`?`chat:agentRunActivity.agentCompleted`:e===`interrupted`?`chat:agentRunActivity.agentInterrupted`:e===`failed`?`chat:agentRunActivity.agentFailed`:`chat:agentRunActivity.agentStatusUpdated`,{name:t})}function Oi(e){let[t,n]=(0,G.useState)(()=>Date.now());return(0,G.useEffect)(()=>{if(n(Date.now()),!e)return;let t=window.setInterval(()=>n(Date.now()),1e3);return()=>window.clearInterval(t)},[e]),t}function X(e){return String(e||``).replace(/\s+/g,` `).trim()}function ki(e){let t=e?.args||{};return e?.name===`bash`?{text:String(t.command||``).trim(),command:!0}:[`read`,`edit`,`write`,`ls`].includes(e?.name)?{text:X(t.path)}:e?.name===`grep`?{text:[t.pattern?`“${X(t.pattern)}”`:``,X(t.path)].filter(Boolean).join(` · `)}:e?.name===`find`?{text:[X(t.pattern),X(t.path)].filter(Boolean).join(` · `)}:e?.name===`browser_automation`?{text:[X(t.action),X(t.url||t.selector)].filter(Boolean).join(` · `)}:e?.name===`spawn_agent`?{text:X(t.taskName)}:[`send_message`,`followup_task`,`wait_agent`,`interrupt_agent`].includes(e?.name)?{text:X(t.target)}:e?.name===`generate_visual`?{text:X(t.outputName||t.kind)}:e?.name===`discover_tools`?{text:X(t.query)}:{text:``}}function Ai(e,t){let n=e?.items||[],r=e?.counts?.completed??n.filter(e=>e.status===`completed`).length,i=e?.counts?.inProgress??n.filter(e=>e.status===`in_progress`).length;return[n.length?t(`chat:agentRunActivity.completedTotalCompleted`,{completed:r,total:n.length}):``,i?t(`chat:agentRunActivity.countInProgress`,{count:i}):``].filter(Boolean).join(` · `)||t(`chat:agentRunActivity.planCleared`)}function ji(e,t){return e.kind===`removed`?t(`chat:agentRunActivity.removedTitle`,{title:e.title}):e.status===`completed`?t(`chat:agentRunActivity.completedTitle`,{title:e.title}):e.status===`in_progress`?t(`chat:agentRunActivity.inProgressTitle`,{title:e.title}):e.status===`blocked`?t(`chat:agentRunActivity.blockedTitle`,{title:e.title}):e.kind===`added`?t(`chat:agentRunActivity.addedTitle`,{title:e.title}):t(`chat:agentRunActivity.pendingTitle`,{title:e.title})}function Mi(e,t){return e?.active?e.reason===`overflow`?t(`chat:agentRunActivity.contextIsFullTheRequestWillRetryAfterCompaction`):e.reason===`manual`?t(`chat:agentRunActivity.summarizingOlderMessagesAsRequested`):t(`chat:agentRunActivity.contextIsNearingItsLimitSummarizingOlderMessages`):e?.tokensBefore!=null&&e?.estimatedTokensAfter!=null?t(`chat:agentRunActivity.contextCompactedBeforeAfterTokens`,{before:B(e.tokensBefore),after:B(e.estimatedTokensAfter)}):t(`chat:agentRunActivity.summarizingOlderMessages`)}function Ni(e,{t,streaming:n,text:r,thinkingText:i,compaction:a,error:o,stopped:s,notice:c,lastActivityAt:l,now:u}){let d=`running`,f=t(`chat:agentRunActivity.understandingTheTask`),p=c||``,m=``,h=!1,g=e.startedAt,_=xi;if(e.type===`tool`){let n=e.status===`error`,r=e.status===`done`;d=n?`failed`:r?`completed`:`running`,f=n?t(`chat:agentRunActivity.toolFailed`,{tool:Ti(e.name,t)}):r?Ei(e.name,t):Ti(e.name,t);let i=ki(e);p=i.text,h=!!i.command,m=X(e.message)}else if(e.type===`plan`){d=`plan`;let n=Gn(e);f=n?.items?.length?t(`chat:agentRunActivity.planUpdated`):t(`chat:agentRunActivity.planCleared`),_=e.changes||xi,p=_.length?t(`chat:agentRunActivity.countPlanChanges`,{count:_.length}):Ai(n,t)}else if(e.type===`agent`){let n=e.agent||{},r=n.canonicalName||n.taskName||t(`chat:agentRunActivity.subagent`),i=Nr(n.status);f=Di(n.status,r,t),d=i.tone,p=(n.currentActivity?.type===`tool`?ki(n.currentActivity).text||n.currentActivity.name:``)||X(n.error||n.message),m=n.status===`running`?X(n.output):``,g=n.startedAt||g}else if(e.type===`compaction`)d=`compacting`,f=t(`chat:agentRunActivity.compactingContext`),p=Mi(e.compaction||a,t);else if(e.type===`retry`)d=`waiting`,f=t(`chat:agentRunActivity.retryingRequest`),p=e.message||c||``;else{let a=Math.max(0,u-new Date(l||u).getTime());o?(d=`failed`,f=t(`chat:agentRunActivity.thisRunFailed`),p=o):s?(d=`stopped`,f=t(`chat:agentRunActivity.runStopped`)):n?a>=1e4?(d=`waiting`,f=t(`chat:agentRunActivity.waitingForTheModel`),p=t(`chat:agentRunActivity.noNewProgressForCountS`,{count:Math.floor(a/1e3)})):f=e.stage===`responding`?t(`chat:agentRunActivity.preparingTheResponse`):e.stage===`processing_result`?t(`chat:agentRunActivity.processingToolResult`):e.stage===`working`?t(`chat:agentRunActivity.advancingTheTask`):String(i||``).trim()?t(`chat:agentRunActivity.reasoningAboutTheNextStep`):String(r||``).trim()?t(`chat:agentRunActivity.preparingTheResponse`):t(`chat:agentRunActivity.understandingTheTask`):(d=`completed`,f=t(`chat:agentRunActivity.reasoningCompleted`),p=X(i)),String(i||``).trim()&&(p=X(i))}return{tone:d,title:f,detail:p,output:m,command:h,startedAt:g,changes:_}}function Pi({tone:e}){return e===`failed`?(0,K.jsx)(et,{size:14}):e===`stopped`?(0,K.jsx)(Ce,{size:12}):[`completed`,`plan`].includes(e)?(0,K.jsx)(D,{size:14}):(0,K.jsx)(z,{className:`spin`,size:14})}function Fi({activity:e,className:t,children:n}){return e.type===`tool`?(0,K.jsx)(bi,{className:`${t} !mb-0 !rounded-none !border-0`,"data-pisper-activity-type":`tool`,children:n}):e.type===`plan`?(0,K.jsx)(vi,{className:`${t} !gap-0 !rounded-none !border-0 !bg-transparent !p-0 !shadow-none`,"data-pisper-activity-type":`plan`,children:n}):e.type===`agent`?(0,K.jsx)(yi,{className:t,"data-pisper-activity-type":`agent`,children:n}):(0,K.jsx)(`div`,{className:t,"data-pisper-activity-type":e.type,children:n})}function Ii(e){if(e.type===`plan`)return!e.updatedAt;if(e.type===`tool`)return!e.status||e.status===`running`||!e.finishedAt&&!e.updatedAt;if(e.type===`agent`){let t=e.agent||{};return!t.status||[`queued`,`starting`,`running`].includes(t.status)||!t.completedAt&&!t.lastActivityAt&&!e.updatedAt}return!0}function Li(e,t){return e.activity!==t.activity||e.latest!==t.latest||e.t!==t.t||e.language!==t.language||e.runStartedAt!==t.runStartedAt||e.streaming!==t.streaming||e.now!==t.now&&Ii(t.activity)?!1:[`tool`,`plan`,`agent`].includes(t.activity.type)?!0:e.text===t.text&&e.thinkingText===t.thinkingText&&e.compaction===t.compaction&&e.error===t.error&&e.stopped===t.stopped&&e.notice===t.notice&&e.lastActivityAt===t.lastActivityAt}var Ri=(0,G.memo)(function({activity:e,latest:t,t:n,language:r,now:i,runStartedAt:a,streaming:o,text:s,thinkingText:c,compaction:l,error:u,stopped:d,notice:f,lastActivityAt:p}){let m=Ni(e,{t:n,streaming:o,text:s,thinkingText:c,compaction:l,error:u,stopped:d,notice:f,lastActivityAt:p,now:i}),h=Ur(Hr(e,a,i),r),g=e.name===`bash`&&t;return(0,K.jsxs)(Fi,{activity:e,className:`agent-run-summary ${m.tone} ${t?`current`:``}`,children:[(0,K.jsx)(`span`,{className:`agent-run-status-icon`,children:(0,K.jsx)(Pi,{tone:m.tone})}),(0,K.jsxs)(`span`,{className:`agent-run-copy`,children:[(0,K.jsx)(`strong`,{children:m.title}),m.detail&&(m.command?(0,K.jsxs)(`code`,{className:`agent-run-command`,title:m.detail,children:[`$ `,m.detail]}):(0,K.jsx)(`small`,{title:m.detail,children:m.detail})),m.changes.length>0&&(0,K.jsxs)(`span`,{className:`agent-run-plan-changes`,children:[m.changes.slice(0,4).map(e=>(0,K.jsx)(`small`,{children:ji(e,n)},`${e.id}-${e.kind}-${e.status}`)),m.changes.length>4&&(0,K.jsx)(`small`,{children:n(`chat:agentRunActivity.countMoreChanges`,{count:m.changes.length-4})})]}),!g&&m.output&&m.output!==m.detail&&(0,K.jsx)(`small`,{className:`agent-run-output`,title:m.output,children:m.output})]}),(0,K.jsxs)(`span`,{className:`agent-run-duration`,children:[(0,K.jsx)(Sn,{size:12}),h]}),g&&(0,K.jsx)(G.Suspense,{fallback:(0,K.jsx)(`pre`,{className:`agent-run-terminal agent-run-terminal-fallback`,children:String(e.output||``)}),children:(0,K.jsx)(Si,{autoScroll:!0,className:`agent-run-terminal`,isStreaming:!!(o&&e.status===`running`),output:String(e.output||``)})})]})},Li);function zi({streaming:e,text:t,thinkingText:n,currentActivity:r,activityFeed:i=xi,tools:a=xi,compaction:o,error:s,stopped:c,notice:l,startedAt:u,lastActivityAt:d,finishedAt:p,compact:m=!1}){let{t:h,language:g}=f(),_=Oi(e),v=String(n||``).trim(),y=(0,G.useRef)(null),b=(0,G.useRef)(null);(0,G.useEffect)(()=>{if(!v)return;let e=window.requestAnimationFrame(()=>{let e=y.current;e&&(e.scrollTop=e.scrollHeight)});return()=>window.cancelAnimationFrame(e)},[v]);let x=i.length?i:a,S=Ir(x);if((0,G.useEffect)(()=>{if(!e||!x.length)return;let t=window.requestAnimationFrame(()=>{let e=b.current;e&&(e.scrollTop=e.scrollHeight)});return()=>window.cancelAnimationFrame(t)},[S,x.length,e]),!e&&!v&&!x.length)return null;let C=Ni(Fr({currentActivity:r,compaction:o,text:t,thinkingText:n,lastActivityAt:d}),{t:h,streaming:e,text:t,thinkingText:v?``:n,compaction:o,error:s,stopped:c,notice:l,lastActivityAt:d,now:_});!e&&x.length&&(C.title=h(`chat:agentRunActivity.currentOperationCompleted`),C.detail=``);let w=e?0:x.length,T=!!(e||o?.active||s||c),E=Ur(Vr(u,p,_),g),D=C.command&&x.length?h(`chat:agentRunActivity.countLiveOperations`,{count:x.length}):C.detail,O=x.map((r,i)=>(0,K.jsx)(Ri,{activity:r,compaction:o,error:s,language:g,lastActivityAt:d,latest:i===x.length-1,notice:l,now:_,runStartedAt:u,stopped:c,streaming:e,t:h,text:t,thinkingText:v?``:n},Lr(r,i)));return(0,K.jsxs)(`section`,{className:`agent-run-activity ${m?`compact`:``}`,"aria-live":`polite`,children:[v&&(0,K.jsxs)(`details`,{className:`agent-thinking-window ${e?`running`:`completed`}`,"data-pisper-activity-type":`reasoning`,children:[(0,K.jsxs)(`summary`,{className:`agent-thinking-head`,"aria-label":h(`chat:agentRunActivity.toggleReasoning`),children:[(0,K.jsx)(`span`,{className:`agent-run-status-icon`,children:(0,K.jsx)(ze,{className:`agent-run-disclosure`,size:14})}),(0,K.jsx)(`span`,{className:`agent-run-copy`,children:(0,K.jsxs)(`strong`,{children:[h(e?`chat:agentRunActivity.reasoningInProgress`:`chat:agentRunActivity.reasoningCompleted`),e?(0,K.jsxs)(`span`,{className:`agent-thinking-dots`,"aria-hidden":`true`,children:[(0,K.jsx)(`i`,{}),(0,K.jsx)(`i`,{}),(0,K.jsx)(`i`,{})]}):null]})}),(0,K.jsxs)(`span`,{className:`agent-run-duration`,children:[(0,K.jsx)(Sn,{size:12}),E]})]}),(0,K.jsx)(`div`,{ref:y,className:`agent-thinking-scroll`,children:(0,K.jsx)(le,{streaming:e,children:v})})]}),T&&(0,K.jsxs)(`div`,{className:`agent-run-overview ${C.tone}`,"data-pisper-activity-type":`status`,children:[(0,K.jsx)(`span`,{className:`agent-run-status-icon`,children:(0,K.jsx)(Pi,{tone:C.tone})}),(0,K.jsxs)(`span`,{className:`agent-run-copy`,children:[(0,K.jsx)(`strong`,{children:e&&[`running`,`waiting`,`compacting`].includes(C.tone)?(0,K.jsx)(G.Suspense,{fallback:C.title,children:(0,K.jsx)(wi,{children:C.title})}):C.title}),D&&(0,K.jsx)(`small`,{title:D,children:D})]}),(0,K.jsxs)(`span`,{className:`agent-run-duration`,children:[(0,K.jsx)(Sn,{size:12}),E]})]}),e&&x.length>0&&(0,K.jsx)(`div`,{ref:b,className:`agent-run-feed live`,"aria-label":h(`chat:agentRunActivity.toolActivityAriaLabel`),tabIndex:x.length>3?0:void 0,children:(0,K.jsx)(G.Suspense,{fallback:O,children:(0,K.jsx)(Ci,{children:O})})}),w>0&&(0,K.jsxs)(`details`,{className:`agent-run-history`,children:[(0,K.jsxs)(`summary`,{children:[(0,K.jsx)(`span`,{className:`agent-run-status-icon`,children:(0,K.jsx)(ze,{className:`agent-run-disclosure`,size:14})}),(0,K.jsx)(`span`,{className:`agent-run-copy`,children:(0,K.jsx)(`strong`,{children:h(`chat:agentRunActivity.countCompletedOperations`,{count:w})})}),(0,K.jsxs)(`span`,{className:`agent-run-duration`,children:[(0,K.jsx)(Sn,{size:12}),E]})]}),(0,K.jsx)(`div`,{className:`agent-run-feed completed`,"aria-label":h(`chat:agentRunActivity.toolActivityAriaLabel`),tabIndex:x.length>3?0:void 0,children:(0,K.jsx)(G.Suspense,{fallback:O,children:O})})]})]})}function Bi(e,t){return e.streaming===t.streaming&&e.text===t.text&&e.thinkingText===t.thinkingText&&e.currentActivity===t.currentActivity&&e.activityFeed===t.activityFeed&&e.compaction===t.compaction&&e.error===t.error&&e.stopped===t.stopped&&e.notice===t.notice&&e.startedAt===t.startedAt&&e.lastActivityAt===t.lastActivityAt&&e.finishedAt===t.finishedAt&&e.compact===t.compact&&e.tools===t.tools}var Vi=(0,G.memo)(zi,Bi);function Hi({className:e,from:t,...n}){return(0,K.jsx)(`div`,{"data-ai-element":`message`,"data-role":t,className:P(`group flex w-full max-w-[95%] flex-col gap-2`,t===`user`?`is-user ml-auto justify-end`:`is-assistant`,e),...n})}function Ui({attachment:e,source:t,onClose:n}){let{t:r}=f();return(0,G.useEffect)(()=>{let e=document.body.style.overflow,t=e=>{e.key===`Escape`&&n()};return document.body.style.overflow=`hidden`,window.addEventListener(`keydown`,t),()=>{document.body.style.overflow=e,window.removeEventListener(`keydown`,t)}},[n]),(0,K.jsxs)(`div`,{className:`image-lightbox`,role:`dialog`,"aria-modal":`true`,"aria-label":r(`chat:chatMessage.fullScreenImagePreview`),onMouseDown:e=>e.target===e.currentTarget&&n(),children:[(0,K.jsxs)(`div`,{className:`image-lightbox-toolbar`,children:[(0,K.jsx)(`span`,{title:e.name,children:e.name||r(`chat:chatMessage.generatedImage`)}),(0,K.jsxs)(`div`,{children:[(0,K.jsxs)(`a`,{className:`button secondary`,href:e.downloadUrl||t,download:e.name||`generated-image`,children:[(0,K.jsx)(tt,{size:14}),r(`chat:chatMessage.downloadOriginal`)]}),(0,K.jsx)(`button`,{type:`button`,className:`icon-button`,"aria-label":r(`chat:chatMessage.closePreview`),onClick:n,children:(0,K.jsx)(ke,{size:18})})]})]}),(0,K.jsx)(`img`,{alt:e.name||r(`chat:chatMessage.generatedImage`),decoding:`async`,src:t})]})}function Wi({attachments:e,compact:t=!1}){let{t:n}=f(),[r,i]=(0,G.useState)(null);return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`div`,{className:`message-attachments ${t?`compact`:``}`,children:e.map((e,t)=>{let r=e.id||t,a=e.url||(e.data?`data:${e.mimeType};base64,${e.data}`:``);return e.kind===`image`&&a?(0,K.jsxs)(`button`,{type:`button`,className:`generated-media`,onClick:()=>i({attachment:e,source:a}),title:n(`chat:chatMessage.openFullScreenPreview`),children:[(0,K.jsx)(`img`,{alt:e.name||n(`chat:chatMessage.imageAttachment`),decoding:`async`,loading:`lazy`,src:a}),(0,K.jsx)(`small`,{children:e.name||n(`chat:chatMessage.generatedImage`)})]},r):e.kind===`video`&&a?(0,K.jsxs)(`div`,{className:`generated-media video`,children:[(0,K.jsx)(`video`,{controls:!0,preload:`metadata`,src:a}),(0,K.jsx)(`small`,{children:e.name||n(`chat:chatMessage.generatedVideo`)})]},r):(0,K.jsxs)(`a`,{className:`message-file-attachment`,href:e.downloadUrl||void 0,children:[(0,K.jsx)(me,{size:12}),e.name||n(`chat:chatMessage.fileAttachment`)]},r)})}),r&&(0,K.jsx)(Ui,{attachment:r.attachment,source:r.source,onClose:()=>i(null)})]})}function Gi(e,t){return e.message===t.message&&e.agentState===t.agentState&&e.showRunActivity===t.showRunActivity&&e.runProps===t.runProps}var Ki=(0,G.memo)(function({message:e,agentState:t,showRunActivity:n,runProps:r}){let i=!!e.streaming,a=e.text||(n?``:String(e.error||``));return(0,K.jsxs)(Hi,{from:e.role===`agent`?`assistant`:`user`,className:`message ${e.role} ${e.error?`has-error`:``}`,"data-pisper-message-id":e.id,"data-pisper-role":e.role,"data-pisper-streaming":i||void 0,"data-pisper-error":e.error?`true`:void 0,children:[(0,K.jsx)(`span`,{children:e.role===`agent`?(0,K.jsx)(`span`,{className:`agent-message-mark`,"data-state":t,"aria-label":`Pisper`,children:(0,K.jsx)(Ae,{size:20})}):`You`}),(0,K.jsxs)(`div`,{className:`message-content`,children:[n&&r&&(0,K.jsx)(Vi,{...r}),a&&(0,K.jsx)(le,{streaming:i,children:a}),e.attachments&&e.attachments.length>0&&(0,K.jsx)(Wi,{attachments:e.attachments})]})]})},Gi);function qi(e,t){return e.message===t.message}(0,G.memo)(function({message:e}){return(0,K.jsxs)(Hi,{from:e.role===`agent`?`assistant`:`user`,className:`mini-message ${e.role}`,"data-pisper-message-id":e.id,"data-pisper-role":e.role,"data-pisper-streaming":e.streaming||void 0,children:[(0,K.jsx)(`span`,{children:e.role===`agent`?`Pisper`:`You`}),(0,K.jsxs)(`div`,{className:`mini-message-content`,children:[(e.text||!e.streaming)&&(0,K.jsx)(le,{streaming:e.streaming,children:e.text}),e.attachments&&e.attachments.length>0&&(0,K.jsx)(Wi,{attachments:e.attachments,compact:!0})]})]})},qi);function Ji(e,t){let n=t?.borderBoxSize?.[0];return Math.ceil(n?.blockSize??e.getBoundingClientRect().height)}function Yi(e,t,n){let[r,i]=(0,G.useState)(0);return(0,G.useLayoutEffect)(()=>{let r=n.current;if(!e||!r)return;let a=()=>{let t=Math.max(0,r.getBoundingClientRect().top-e.getBoundingClientRect().top+e.scrollTop);i(e=>Math.abs(e-t)<1?e:t)};a();let o=typeof ResizeObserver>`u`?null:new ResizeObserver(a);return o?.observe(e),t.current&&o?.observe(t.current),window.addEventListener(`resize`,a),()=>{o?.disconnect(),window.removeEventListener(`resize`,a)}},[n,t,e]),r}var Xi=(0,G.memo)(function({messages:e,streaming:t,latestRunProps:n,measurementVersion:r,scrollElement:i,prefixRef:a,onContentSizeChange:o}){let s=(0,G.useRef)(null),c=(0,G.useRef)(e);c.current=e;let l=Yi(i,a,s),u=(0,G.useCallback)(e=>c.current[e]?.id??`transcript-message-${e}`,[]),d=mi({count:e.length,getScrollElement:()=>i,getItemKey:u,estimateSize:()=>164,measureElement:Ji,overscan:6,scrollMargin:l,useAnimationFrameWithResizeObserver:!0}),f=d.getVirtualItems(),p=d.getTotalSize(),m=e[e.length-1];return(0,G.useLayoutEffect)(()=>{o()},[o,p]),(0,G.useLayoutEffect)(()=>{if(!m)return;let e=d.elementsCache.get(m.id);e&&d.measureElement(e)},[m,r,d]),(0,K.jsx)(`div`,{className:`virtual-transcript-list`,"data-pisper-transcript-size":e.length,"data-pisper-rendered-count":f.length,ref:s,style:{height:`${p}px`},children:f.map(r=>{let i=e[r.index];if(!i)return null;let a=i.role===`agent`&&r.index===e.length-1,o=i.streaming||a&&t?`thinking`:a&&!i.error?`waiting`:`idle`,s=$n(i,a,n);return(0,K.jsx)(`div`,{className:`virtual-transcript-item`,"data-index":r.index,"data-pisper-virtual-item":i.id,ref:d.measureElement,style:{top:`${r.start-l}px`},children:(0,K.jsx)(Ki,{message:i,agentState:o,showRunActivity:!!s,runProps:s})},r.key)})})}),Zi=(0,G.lazy)(()=>i(()=>import(`./WelcomeEffects-Cqgskdga.js`),__vite__mapDeps([29,1,2,3,4,7,8,9,10,11,12,13,14,15,16,17,18,27])));function Qi({children:e,title:t}){return(0,K.jsxs)(`div`,{className:`agent-welcome-content`,children:[(0,K.jsx)(`div`,{className:`welcome-visual`,children:(0,K.jsx)(Ae,{size:54,className:`welcome-logo`})}),(0,K.jsx)(`h2`,{children:t}),e]})}function $i(e){return[{label:e(`chat:focusSession.explainCode`),prompt:e(`chat:focusSession.explainHowThisCodeWorks`)},{label:e(`chat:focusSession.writeTests`),prompt:e(`chat:focusSession.writeUnitTestsForTheFollowingCode`)},{label:e(`chat:focusSession.refactor`),prompt:e(`chat:focusSession.refactorThisCodeAndExplainTheImprovements`)},{label:e(`chat:focusSession.findABug`),prompt:e(`chat:focusSession.helpMeLocateAndFixThisBug`)},{label:e(`chat:focusSession.summarize`),prompt:e(`chat:focusSession.summarizeContentAndExtractKeyPoints`)},{label:e(`chat:focusSession.makeAPlan`),prompt:e(`chat:focusSession.makeAClearActionablePlanForThisGoal`)},{label:e(`chat:focusSession.organizeInformation`),prompt:e(`chat:focusSession.organizeThisInformationIntoAClearStructure`)},{label:e(`chat:focusSession.findIssues`),prompt:e(`chat:focusSession.reviewThisContentAndSuggestImprovements`)}]}function ea({sessionId:e,messages:t,messageStart:n,hasOlder:r,loadingOlder:i,olderError:a,currentActivity:o,activityFeed:s,tools:c,thinkingText:l,compaction:u,streaming:d,runStartedAt:p,lastActivityAt:m,runFinishedAt:h,runStopped:g,runNotice:_,error:v,scrollRequest:y,cwd:b,switchingCwd:x,onLoadOlder:S,onPromptSelect:C,onWorkspace:w}){let{t:T,language:E}=f(),D=(0,G.useRef)(null),O=(0,G.useRef)(null),k=t[t.length-1],A=Math.floor((k?.text?.length||0)/64),j=Ir(s),M=Math.floor(String(l||``).length/128),N=`${e}:${k?.id||``}:${A}:${M}:${k?.attachments?.length||0}:${j}:${u?.status||``}:${u?.finishedAt||``}:${v||``}:${d?`1`:`0`}`,{scrollRef:ee,scrollElement:te,setScrollRef:ne,onScroll:re,hasUnread:ie,scrollToBottom:ae,maintainBottom:oe,cancelProgrammaticScroll:P}=Mr(N),F=(0,G.useMemo)(()=>({streaming:d,text:k?.role===`agent`?k.text:``,currentActivity:o,activityFeed:s,tools:c,thinkingText:l,compaction:u,error:v||(k?.role===`agent`?k.error:``),stopped:g,notice:_,startedAt:p,lastActivityAt:m,finishedAt:h}),[d,k,o,s,c,l,u,v,g,_,p,m,h]),I=(0,G.useCallback)(async()=>{let e=ee.current;!e||!r||i||D.current||(D.current={scrollHeight:e.scrollHeight,scrollTop:e.scrollTop},await S?.()||(D.current=null))},[r,i,S,ee]),se=(0,G.useCallback)(e=>{re(e),e.currentTarget.scrollTop<=96&&I()},[I,re]);(0,G.useLayoutEffect)(()=>{let e=D.current,t=ee.current;!e||!t||(t.scrollTop=Wr(e,t.scrollHeight),D.current=null)},[n,ee]),(0,G.useEffect)(()=>{y&&ae(`smooth`)},[y,ae]);let ce=T(`chat:focusSession.letSBeginWithASparkOfAnIdea`),le=(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`p`,{children:T(`chat:focusSession.readyToWorkWithTheCurrentDirectoryAndHelpCompleteTheTask`)}),(0,K.jsxs)(`button`,{type:`button`,className:`welcome-workspace`,"data-target-cursor":!0,title:b,"aria-label":T(`chat:focusSession.changeWorkingDirectoryWorkspace`,{workspace:b||ct(b,E)}),onClick:w,disabled:x,children:[x?(0,K.jsx)(z,{className:`spin`,size:14}):(0,K.jsx)(it,{size:14}),(0,K.jsx)(`span`,{children:T(`chat:focusSession.workingDirectory`)}),(0,K.jsx)(`strong`,{children:ct(b,E)}),(0,K.jsx)(`small`,{children:T(`chat:focusSession.changeDirectory`)})]}),(0,K.jsx)(`div`,{className:`welcome-chips`,children:$i(T).map(e=>(0,K.jsx)(`button`,{type:`button`,"data-target-cursor":!0,onClick:()=>C(e.prompt),children:e.label},e.label))})]});return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(`div`,{className:`transcript`,ref:ne,onPointerDown:P,onScroll:se,onTouchStart:P,onWheel:P,children:[(0,K.jsx)(`div`,{className:`transcript-prefix`,ref:O,children:(r||i||a)&&(0,K.jsx)(`div`,{className:`history-page-loader`,children:a?(0,K.jsxs)(`button`,{type:`button`,className:`button secondary`,onClick:I,children:[(0,K.jsx)(z,{size:13}),T(`chat:focusSession.retryOlderMessages`)]}):i?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(z,{className:`spin`,size:14}),T(`chat:focusSession.loadingOlderMessages`)]}):(0,K.jsxs)(`button`,{type:`button`,className:`button secondary`,onClick:I,children:[(0,K.jsx)(vn,{className:`history-up-arrow`,size:14}),T(`chat:focusSession.loadOlderMessages`)]})})}),!t.length&&(0,K.jsx)(`div`,{className:`agent-welcome`,children:(0,K.jsx)(G.Suspense,{fallback:(0,K.jsx)(Qi,{title:ce,children:le}),children:(0,K.jsx)(Zi,{title:ce,children:le})})}),t.length>0&&(0,K.jsx)(Xi,{messages:t,streaming:d,latestRunProps:F,measurementVersion:N,scrollElement:te,prefixRef:O,onContentSizeChange:oe},e),v&&(0,K.jsxs)(`div`,{className:`chat-error`,children:[(0,K.jsx)(et,{size:14}),v]})]}),ie&&(0,K.jsxs)(`button`,{type:`button`,className:`button secondary jump-to-latest`,onClick:()=>ae(`smooth`),children:[(0,K.jsx)(vn,{size:14}),T(`chat:focusSession.newContent`)]})]})}var Z=e=>`/api/sessions/${encodeURIComponent(e)}`,Q={listSessions:()=>W(`/api/sessions`),createSession:(e,t=``)=>W(`/api/sessions`,{method:`POST`,data:{name:e,...t?{cwd:t}:{}}}),getConfig:()=>W(`/api/config`),updateCompactionPreference:e=>W(`/api/settings/compaction`,{method:`PATCH`,data:{thresholdPercent:e}}),getLiveSession:e=>W(`${Z(e)}/live`),getMessages:(e,t)=>{let n=new URLSearchParams({limit:String(t.limit)});return t.before&&n.set(`before`,t.before),W(`${Z(e)}/messages?${n}`)},openStream:async(e,t)=>{let n=await fetch(`/api/chat`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});await Le(n,t)},queueInput:(e,t,n)=>W(`${Z(e)}/input`,{method:`POST`,data:{message:t,behavior:n}}),compactSession:e=>W(`${Z(e)}/compact`,{method:`POST`,data:{},timeout:18e4}),getSessionWorkflowRuns:e=>W(`${Z(e)}/workflow-runs`),resolveWorkflowApproval:(e,t,n)=>W(`/api/workflow-runs/${encodeURIComponent(e)}/approvals/${encodeURIComponent(t)}`,{method:`POST`,data:{approved:n}}),stopWorkflowRun:e=>W(`/api/workflow-runs/${encodeURIComponent(e)}/stop`,{method:`POST`,data:{}}),abort:e=>W(`${Z(e)}/abort`,{method:`POST`,data:{}}),pauseGoal:e=>W(`${Z(e)}/goal`,{method:`PATCH`,data:{action:`pause`}}),setGoalBudget:(e,t)=>W(`${Z(e)}/goal`,{method:`PATCH`,data:{action:`set-budget`,tokenBudget:t}}),getGitChanges:e=>W(`${Z(e)}/git/changes`),commitGitChanges:(e,t)=>W(`${Z(e)}/git/commit`,{method:`POST`,data:{message:t},timeout:6e4}),pushGitChanges:e=>W(`${Z(e)}/git/push`,{method:`POST`,data:{},timeout:15e4}),revertGitChanges:e=>W(`${Z(e)}/git/revert`,{method:`POST`,data:{},timeout:6e4}),getVcsChanges:e=>W(`${Z(e)}/vcs/changes`),commitVcsChanges:(e,t)=>W(`${Z(e)}/vcs/commit`,{method:`POST`,data:{message:t},timeout:15e4}),pushVcsChanges:e=>W(`${Z(e)}/vcs/push`,{method:`POST`,data:{},timeout:15e4}),revertVcsChanges:e=>W(`${Z(e)}/vcs/revert`,{method:`POST`,data:{},timeout:6e4}),updateModel:(e,t,n)=>W(`${Z(e)}/model`,{method:`PUT`,data:{provider:t,model:n}}),getThinkingLevel:e=>W(`${Z(e)}/thinking-level`),setThinkingLevel:(e,t)=>W(`${Z(e)}/thinking-level`,{method:`PUT`,data:{level:t}}),updateExecutionMode:(e,t)=>W(`${Z(e)}/execution-mode`,{method:`PUT`,data:{mode:t}}),resolveApproval:(e,t,n)=>W(`${Z(e)}/approvals/${encodeURIComponent(t)}`,{method:`POST`,data:{approved:n}}),updateCwd:(e,t)=>W(`${Z(e)}/cwd`,{method:`PUT`,data:{cwd:t}}),renameSession:(e,t)=>W(Z(e),{method:`PATCH`,data:{name:t}})};function ta(e){let t=String(e||``).trim().split(` `)[0];if(t.startsWith(`"`)&&t.endsWith(`"`))try{t=JSON.parse(t)}catch{}return t===`/dev/null`?``:t.replace(/^[ab]\//,``)}function na(e){let t=e.match(/^diff --git "a\/(.+)" "b\/(.+)"$/);if(t)return ta(`b/${t[2]}`);let n=e.match(/^diff --git a\/(.+) b\/(.+)$/);return n?ta(`b/${n[2]}`):``}function ra(){return{lineNumber:null,text:``,tone:`empty`}}function ia(e){let t=e.match(/^@@\s+-(\d+)(?:,\d+)?\s+\+(\d+)(?:,\d+)?\s+@@/);return{oldLine:Number(t?.[1])||0,newLine:Number(t?.[2])||0}}function aa(e){let t=String(e||``).replace(/\r\n/g,`
|
|
4
|
+
`).split(`
|
|
5
|
+
`),n=[],r=null,i=null,a=0,o=0,s=[],c=[],l=()=>{if(!i||!s.length&&!c.length)return;let e=Math.max(s.length,c.length);for(let t=0;t<e;t+=1){let e=s[t],n=c[t];i.rows.push({kind:`pair`,old:e?{lineNumber:e.lineNumber,text:e.text,tone:`deleted`}:ra(),next:n?{lineNumber:n.lineNumber,text:n.text,tone:`added`}:ra()})}s=[],c=[]},u=()=>{l(),i=null},d=()=>{u(),r&&=(r.path=r.newPath||r.oldPath||r.path,n.push(r),null)};for(let e of t){if(e.startsWith(`diff --git `)){d(),r={oldPath:``,newPath:``,path:na(e),metadata:[],hunks:[]};continue}if(r){if(e.startsWith(`@@ `)){u();let t=ia(e);a=t.oldLine,o=t.newLine,i={header:e,rows:[]},r.hunks.push(i);continue}if(i){if(e.startsWith(`-`))s.push({lineNumber:a,text:e.slice(1)}),a+=1;else if(e.startsWith(`+`))c.push({lineNumber:o,text:e.slice(1)}),o+=1;else if(l(),e.startsWith(` `)){let t=e.slice(1);i.rows.push({kind:`pair`,old:{lineNumber:a,text:t,tone:`context`},next:{lineNumber:o,text:t,tone:`context`}}),a+=1,o+=1}else e.startsWith(`\\ `)&&i.rows.push({kind:`meta`,text:e.slice(2)});continue}e.startsWith(`--- `)?r.oldPath=ta(e.slice(4)):e.startsWith(`+++ `)?r.newPath=ta(e.slice(4)):e.trim()&&r.metadata.push(e)}}return d(),n}function oa({side:e,cell:t}){let n=t.tone===`deleted`?`−`:t.tone===`added`?`+`:` `;return(0,K.jsxs)(`div`,{className:`git-diff-cell ${e} ${t.tone}`,children:[(0,K.jsx)(`span`,{className:`git-diff-line-number`,children:t.lineNumber??``}),(0,K.jsx)(`span`,{className:`git-diff-line-marker`,"aria-hidden":`true`,children:t.tone===`empty`?``:n}),(0,K.jsx)(`code`,{children:t.text||`\xA0`})]})}function sa({file:e,scrollElement:t}){let n=(0,G.useRef)(null),[r,i]=(0,G.useState)(0),a=(0,G.useMemo)(()=>e.hunks.flatMap((e,t)=>[{kind:`header`,hunkIndex:t,header:e.header},...e.rows.map((e,n)=>({kind:`row`,hunkIndex:t,rowIndex:n,row:e}))]),[e.hunks]);(0,G.useLayoutEffect)(()=>{let e=n.current;if(!t||!e)return;let r=()=>{let n=Math.max(0,e.getBoundingClientRect().top-t.getBoundingClientRect().top+t.scrollTop);i(e=>Math.abs(e-n)<1?e:n)};r();let a=typeof ResizeObserver>`u`?null:new ResizeObserver(r);return a?.observe(t),a?.observe(e),()=>a?.disconnect()},[t]);let o=mi({count:a.length,getScrollElement:()=>t,estimateSize:()=>25,getItemKey:e=>{let t=a[e];return t.kind===`header`?`hunk-${t.hunkIndex}`:`row-${t.hunkIndex}-${t.rowIndex}`},measureElement:e=>Math.ceil(e.getBoundingClientRect().height),overscan:12,scrollMargin:r}),s=o.getVirtualItems();return(0,K.jsx)(`div`,{className:`git-diff-virtual-list`,"data-pisper-diff-row-count":a.length,"data-pisper-rendered-count":s.length,ref:n,style:{height:`${o.getTotalSize()}px`},children:s.map(e=>{let t=a[e.index];return(0,K.jsx)(`div`,{className:`git-diff-virtual-item`,"data-index":e.index,ref:o.measureElement,style:{top:`${e.start-r}px`},children:t.kind===`header`?(0,K.jsx)(`div`,{className:`git-diff-hunk-header`,children:t.header}):t.row.kind===`meta`?(0,K.jsx)(`div`,{className:`git-diff-row-meta`,children:t.row.text}):(0,K.jsxs)(`div`,{className:`git-diff-row`,children:[(0,K.jsx)(oa,{side:`old`,cell:t.row.old}),(0,K.jsx)(oa,{side:`next`,cell:t.row.next})]})},e.key)})})}function ca(e){let t=e.path.replace(/\\/g,`/`),n=t.split(`/`),r=n.pop()||t,i=0,a=0;for(let t of e.hunks)for(let e of t.rows)e.kind===`pair`&&(e.next.tone===`added`&&(i+=1),e.old.tone===`deleted`&&(a+=1));let o=e.metadata.join(`
|
|
6
|
+
`),s=/(?:^|\n)new file mode /.test(o)||!e.oldPath&&e.newPath?`added`:/(?:^|\n)deleted file mode /.test(o)||!e.newPath&&e.oldPath?`deleted`:/(?:^|\n)rename (?:from|to) /.test(o)||e.oldPath&&e.newPath&&e.oldPath!==e.newPath?`renamed`:`modified`;return{file:e,name:r,directory:n.join(`/`),added:i,deleted:a,status:s}}function la(e){return e===`added`?`A`:e===`deleted`?`D`:e===`renamed`?`R`:`M`}function ua({diff:e,truncated:t,onClose:n}){let{t:r}=f(),i=(0,G.useMemo)(()=>aa(e),[e]),a=(0,G.useMemo)(()=>i.map(ca),[i]),[o,s]=(0,G.useState)(0),[c,l]=(0,G.useState)(null),u=Math.min(o,Math.max(a.length-1,0)),d=a[u];(0,G.useEffect)(()=>{let e=document.body.style.overflow,t=e=>{e.key===`Escape`&&n()};return document.body.style.overflow=`hidden`,document.addEventListener(`keydown`,t),()=>{document.body.style.overflow=e,document.removeEventListener(`keydown`,t)}},[n]);let p=e=>{s(e),c?.scrollTo({top:0,left:0})};return(0,hr.createPortal)((0,K.jsx)(`div`,{className:`git-diff-dialog-backdrop`,role:`presentation`,onMouseDown:e=>e.target===e.currentTarget&&n(),children:(0,K.jsxs)(`section`,{className:`git-diff-dialog`,role:`dialog`,"aria-modal":`true`,"aria-label":r(`chat:focusSession.gitViewDiff`),children:[(0,K.jsxs)(`header`,{className:`git-diff-dialog-head`,children:[(0,K.jsx)(`span`,{className:`git-diff-dialog-icon`,children:(0,K.jsx)(Dn,{size:17})}),(0,K.jsxs)(`span`,{children:[(0,K.jsx)(`strong`,{children:r(`chat:focusSession.gitViewDiff`)}),(0,K.jsx)(`small`,{children:r(`chat:focusSession.gitDiffFileCount`,{count:i.length})})]}),(0,K.jsx)(`button`,{type:`button`,className:`icon-button`,title:r(`chat:focusSession.gitCloseDiff`),"aria-label":r(`chat:focusSession.gitCloseDiff`),onClick:n,children:(0,K.jsx)(ke,{size:17})})]}),a.length?(0,K.jsxs)(`div`,{className:`git-diff-workbench`,children:[(0,K.jsxs)(`nav`,{className:`git-diff-file-nav`,"aria-label":r(`chat:focusSession.gitDiffChangedFiles`),children:[(0,K.jsx)(`strong`,{className:`git-diff-file-nav-title`,children:r(`chat:focusSession.gitDiffChangedFiles`)}),(0,K.jsx)(`div`,{className:`git-diff-file-nav-list`,children:a.map((e,t)=>{let n=t===u;return(0,K.jsxs)(`button`,{type:`button`,className:`git-diff-file-nav-item ${e.status} ${n?`selected`:``}`,title:e.file.path,"aria-current":n?`true`:void 0,onClick:()=>p(t),children:[(0,K.jsx)(`span`,{className:`git-diff-file-status`,"aria-hidden":`true`,children:la(e.status)}),(0,K.jsxs)(`span`,{className:`git-diff-file-name`,children:[(0,K.jsx)(`strong`,{children:e.name}),e.directory&&(0,K.jsx)(`small`,{children:e.directory})]}),(0,K.jsxs)(`span`,{className:`git-diff-file-stats`,"aria-hidden":`true`,children:[e.added>0&&(0,K.jsxs)(`em`,{className:`added`,children:[`+`,e.added]}),e.deleted>0&&(0,K.jsxs)(`em`,{className:`deleted`,children:[`−`,e.deleted]})]})]},`${e.file.path}-${t}`)})})]}),(0,K.jsxs)(`div`,{className:`git-diff-content`,ref:l,children:[t&&(0,K.jsx)(`div`,{className:`git-diff-truncated`,children:r(`chat:focusSession.gitDiffTruncated`)}),d&&(0,K.jsxs)(`section`,{className:`git-diff-file`,children:[(0,K.jsxs)(`header`,{className:`git-diff-file-head`,children:[(0,K.jsx)(Dn,{size:14}),(0,K.jsx)(`strong`,{title:d.file.path,children:d.file.path}),d.file.oldPath&&d.file.newPath&&d.file.oldPath!==d.file.newPath&&(0,K.jsx)(`small`,{title:d.file.oldPath,children:d.file.oldPath})]}),d.file.metadata.length>0&&(0,K.jsx)(`div`,{className:`git-diff-file-meta`,children:d.file.metadata.join(` · `)}),d.file.hunks.length>0?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(`div`,{className:`git-diff-column-head`,children:[(0,K.jsx)(`span`,{children:r(`chat:focusSession.gitDiffOriginal`)}),(0,K.jsx)(`span`,{children:r(`chat:focusSession.gitDiffModified`)})]}),(0,K.jsx)(sa,{file:d.file,scrollElement:c})]}):(0,K.jsx)(`div`,{className:`git-diff-no-text`,children:r(`chat:focusSession.gitDiffNoTextChanges`)})]},d.file.path)]})]}):(0,K.jsx)(`div`,{className:`git-diff-dialog-body git-diff-dialog-empty-body`,children:(0,K.jsx)(`div`,{className:`git-diff-dialog-empty`,children:e||r(`chat:focusSession.gitDiffUnavailable`)})})]})}),document.body)}var da=8;function fa(e,t){(0,G.useLayoutEffect)(()=>{if(!e)return;let n=()=>{let e=t.current;if(!e)return;e.style.setProperty(`--menu-x-offset`,`0px`);let n=e.getBoundingClientRect(),r=n.right>window.innerWidth-da?window.innerWidth-da-n.right:n.left<da?da-n.left:0;e.style.setProperty(`--menu-x-offset`,`${r}px`)};return n(),window.addEventListener(`resize`,n),()=>window.removeEventListener(`resize`,n)},[t,e])}var pa=`Agent changes`;function ma(e){return e instanceof Error?e.message:String(e)}function ha({sessionId:e,streaming:t}){let{t:n,language:r}=f(),[i,a]=(0,G.useState)(!1),[o,s]=(0,G.useState)(!1),[c,l]=(0,G.useState)(!1),[u,d]=(0,G.useState)(null),[p,m]=(0,G.useState)(!1),[h,g]=(0,G.useState)(``),[_,v]=(0,G.useState)(null),[y,b]=(0,G.useState)(``),[x,S]=(0,G.useState)(``),C=(0,G.useRef)(null),w=(0,G.useRef)(null);fa(i,w);let T=(0,G.useCallback)(async()=>{if(e){l(!0),b(``);try{let t=await Q.getVcsChanges(e);v(t)}catch(e){b(ma(e))}finally{l(!1)}}},[e]);(0,G.useEffect)(()=>{if(!i)return;T();let e=e=>{let t=e.target instanceof Node?e.target:null;C.current?.contains(t)||a(!1)},t=e=>{e.key===`Escape`&&a(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[i,T]),(0,G.useEffect)(()=>{t||T().catch(()=>{})},[t,T]);let E=async t=>{if(!(!e||u)){if(t===`revert`&&!p){m(!0);return}d(t),b(``),S(``);try{let r;t===`commit`?(r=await Q.commitVcsChanges(e,h.trim()||pa),g(``),S(n(`chat:focusSession.gitCommitted`))):t===`push`?(r=await Q.pushVcsChanges(e),S(n(`chat:focusSession.gitPushed`))):(r=await Q.revertVcsChanges(e),m(!1),S(n(`chat:focusSession.gitReverted`))),v(r)}catch(e){b(ma(e))}finally{d(null)}}},O=(_?.vcs||(_?.isRepo?`git`:``))===`svn`,k=_?.isRepo?_.files.length:0,j=k>0,M=!!(!O&&_?.isRepo&&(_.ahead??0)>0),N=!!u,ee=O?n(`chat:focusSession.vcsSvnWorkspace`):_?.branch||n(`chat:focusSession.gitDetachedHead`),te=_?.isRepo?`${n(`chat:focusSession.gitChanges`)}${_.branch?` · ${_.branch}`:``}${O?` · ${n(`chat:focusSession.vcsSvnWorkspace`)}`:``}${j?` · ${n(`chat:focusSession.gitFilesChanged`,{count:k})}`:``}`:n(`chat:focusSession.gitChanges`);return(0,K.jsxs)(`div`,{ref:C,className:`git-changes-select ${i?`open`:``} ${j?`active`:``}`,children:[(0,K.jsxs)(`button`,{type:`button`,className:`git-changes-trigger`,title:te,"aria-label":te,"aria-haspopup":`dialog`,"aria-expanded":i,disabled:!e,onClick:()=>a(e=>!e),children:[(0,K.jsx)(A,{size:14}),j&&(0,K.jsx)(`i`,{children:k>99?`99+`:k})]}),i&&(0,K.jsxs)(`div`,{ref:w,className:`git-changes-menu`,role:`dialog`,"aria-label":n(`chat:focusSession.gitChanges`),children:[(0,K.jsxs)(`div`,{className:`git-changes-menu-head`,children:[(0,K.jsx)(`span`,{className:`git-changes-menu-icon`,children:(0,K.jsx)(A,{size:15})}),(0,K.jsxs)(`span`,{children:[(0,K.jsx)(`strong`,{children:n(`chat:focusSession.gitChanges`)}),(0,K.jsx)(`small`,{title:_?.cwd||``,children:_?.isRepo?ee:c?n(`chat:focusSession.gitLoading`):y&&!_?n(`chat:focusSession.gitLoadFailed`):_?.gitAvailable===!1&&_?.svnAvailable===!1?n(`chat:focusSession.gitUnavailable`):`${n(`chat:focusSession.gitNotARepository`)}${_?.cwd?` · ${ct(_.cwd,r)}`:``}`})]}),(0,K.jsx)(`button`,{type:`button`,className:`icon-button`,title:n(`chat:focusSession.gitRefresh`),"aria-label":n(`chat:focusSession.gitRefresh`),disabled:c||N,onClick:()=>void T(),children:(0,K.jsx)(z,{className:c?`spin`:``,size:13})})]}),y&&(0,K.jsx)(`p`,{className:`git-changes-error`,children:y}),!y&&_?.error&&(0,K.jsx)(`p`,{className:`git-changes-error`,children:_.error}),x&&!y&&(0,K.jsx)(`p`,{className:`git-changes-notice`,children:x}),_?.isRepo&&(0,K.jsxs)(K.Fragment,{children:[j?(0,K.jsxs)(`div`,{className:`git-changes-file-list`,children:[_.files.slice(0,60).map(e=>(0,K.jsxs)(`div`,{className:`git-changes-file`,children:[(0,K.jsx)(`code`,{className:`git-changes-file-status`,children:e.status}),(0,K.jsx)(`span`,{title:e.path,children:e.path})]},`${e.status}-${e.path}`)),_.files.length>60&&(0,K.jsx)(`small`,{children:n(`chat:focusSession.gitMoreFiles`,{count:_.files.length-60})})]}):(0,K.jsx)(`p`,{className:`git-changes-empty`,children:n(`chat:focusSession.gitNoChanges`)}),j&&(0,K.jsxs)(`div`,{className:`git-changes-commit-row`,children:[(0,K.jsx)(`input`,{value:h,placeholder:n(`chat:focusSession.gitCommitMessagePlaceholder`),onChange:e=>g(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),E(`commit`))}}),(0,K.jsxs)(`button`,{type:`button`,className:`button primary tiny`,disabled:N||t,title:n(t?`chat:focusSession.gitWaitForRunToFinish`:`chat:focusSession.gitCommit`),onClick:()=>void E(`commit`),children:[u===`commit`?(0,K.jsx)(z,{className:`spin`,size:12}):(0,K.jsx)(kn,{size:12}),n(`chat:focusSession.gitCommit`)]})]}),j&&(0,K.jsxs)(`button`,{type:`button`,className:`git-changes-view-diff`,onClick:()=>{s(!0),a(!1)},children:[(0,K.jsx)(Dn,{size:13}),n(`chat:focusSession.gitViewDiff`)]}),(0,K.jsxs)(`div`,{className:`git-changes-actions`,children:[!O&&(0,K.jsxs)(`button`,{type:`button`,className:`button secondary tiny`,disabled:N||!M&&!j,title:M?n(`chat:focusSession.gitPushAhead`,{count:_?.ahead||0}):n(`chat:focusSession.gitPush`),onClick:()=>void E(`push`),children:[u===`push`?(0,K.jsx)(z,{className:`spin`,size:12}):(0,K.jsx)(Rn,{size:12}),n(`chat:focusSession.gitPush`),M?` ↑${_?.ahead}`:``]}),p?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(`button`,{type:`button`,className:`button danger tiny`,disabled:N||t,title:n(t?`chat:focusSession.gitWaitForRunToFinish`:`chat:focusSession.gitConfirmRevert`),onClick:()=>void E(`revert`),children:[u===`revert`?(0,K.jsx)(z,{className:`spin`,size:12}):(0,K.jsx)(D,{size:12}),n(`chat:focusSession.gitConfirmRevert`)]}),(0,K.jsxs)(`button`,{type:`button`,className:`button secondary tiny`,disabled:N,onClick:()=>m(!1),children:[(0,K.jsx)(ke,{size:12}),n(`chat:focusSession.gitCancel`)]})]}):(0,K.jsxs)(`button`,{type:`button`,className:`button secondary tiny`,disabled:N||t||!j,title:n(O?`chat:focusSession.vcsRevertDescription`:`chat:focusSession.gitRevertDescription`),onClick:()=>void E(`revert`),children:[(0,K.jsx)(Ln,{size:12}),n(`chat:focusSession.gitRevert`)]})]})]})]}),o&&_&&(0,K.jsx)(ua,{diff:_.diff||``,truncated:_.diffTruncated,onClose:()=>s(!1)})]})}var ga=1e3;function _a({goal:e,armed:t,tokenBudget:n,onTokenBudgetChange:r,onSaveTokenBudget:i,onChange:a}){let{t:o}=f(),[s,c]=(0,G.useState)(!1),[l,u]=(0,G.useState)(!1),d=(0,G.useRef)(null),p=(0,G.useRef)(null),m=e?.status===`active`,h=m||t,g=!!e?.id,_=n!==(Number(e?.tokenBudget)||3e4),v=m?o(`chat:focusSession.runningAutonomously`):t?e?.status===`paused`?o(`chat:focusSession.theNextMessageWillResumeTheGoal`):o(`chat:focusSession.theNextMessageWillStartAGoal`):e?.status===`complete`?o(`chat:focusSession.goalComplete`):e?.status===`budget_limited`?o(`chat:focusSession.goalReachedItsBudget`):e?.status===`paused`?o(`chat:focusSession.goalPaused`):o(`chat:focusSession.enableForTheNextMessageOnly`),y=String(e?.objective||``).replace(/\s+/g,` `).trim(),b=t?v:y||v,x=g?o(`chat:focusSession.usedBudgetTokensUsed`,{used:e?.tokensUsed||0,budget:e?.tokenBudget||0}):``,S=[o(`chat:focusSession.goalMode`),b,x].filter(Boolean).join(` · `);(0,G.useEffect)(()=>{if(!s)return;let e=e=>{let t=e.target instanceof Node?e.target:null;d.current?.contains(t)||c(!1)},t=e=>{e.key===`Escape`&&c(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[s]),fa(s,p);let C=async()=>{if(!(l||!_)&&g&&i){u(!0);try{await i(n)}finally{u(!1)}}};return(0,K.jsxs)(`div`,{ref:d,className:`goal-mode-select ${s?`open`:``} ${m||t?`active`:``}`,children:[(0,K.jsx)(`button`,{type:`button`,className:`goal-mode-trigger`,title:S,"aria-label":S,"aria-haspopup":`dialog`,"aria-expanded":s,onClick:()=>c(e=>!e),children:(0,K.jsx)(In,{size:14})}),s&&(0,K.jsxs)(`div`,{ref:p,className:`goal-mode-menu`,role:`dialog`,"aria-label":o(`chat:focusSession.goalMode`),children:[(0,K.jsxs)(`div`,{className:`goal-mode-menu-row`,children:[(0,K.jsx)(`span`,{className:`goal-mode-menu-icon`,children:(0,K.jsx)(In,{size:15})}),(0,K.jsxs)(`span`,{children:[(0,K.jsx)(`strong`,{children:o(`chat:focusSession.goalMode`)}),(0,K.jsx)(`small`,{title:b,children:b})]}),(0,K.jsx)(dt,{value:h,onChange:e=>{a(e),c(!1)},ariaLabel:S,title:S})]}),x&&(0,K.jsx)(`p`,{children:x}),(0,K.jsxs)(`div`,{className:`goal-mode-budget-row`,children:[(0,K.jsx)(`label`,{htmlFor:`goal-token-budget-input`,children:o(`chat:focusSession.goalTokenBudget`)}),(0,K.jsx)(`input`,{id:`goal-token-budget-input`,type:`number`,min:ga,step:1e3,value:n,disabled:l,onChange:e=>{let t=Number(e.target.value);Number.isFinite(t)&&r(Math.max(ga,Math.round(t)))}}),g&&_&&(0,K.jsxs)(`button`,{type:`button`,className:`button secondary tiny`,disabled:l,onClick:()=>void C(),children:[l?(0,K.jsx)(z,{className:`spin`,size:12}):(0,K.jsx)(D,{size:12}),o(`chat:focusSession.goalBudgetSave`)]})]}),(0,K.jsx)(`small`,{className:`goal-mode-budget-hint`,children:g?o(`chat:focusSession.goalTokenBudgetUpdateHint`):o(`chat:focusSession.goalTokenBudgetHint`,{min:B(ga)})})]})]})}function va({className:e,...t}){return(0,K.jsx)(Lt,{"data-slot":`checkbox`,className:P(`peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-input transition-colors outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary`,e),...t,children:(0,K.jsx)(zt,{"data-slot":`checkbox-indicator`,className:`grid place-content-center text-current transition-none [&>svg]:size-3.5`,children:(0,K.jsx)(D,{})})})}function ya({open:e,initialPath:t,onOpenChange:n,onSelect:r}){let{t:i}=f(),[a,o]=(0,G.useState)(t||``),[s,c]=(0,G.useState)(null),[l,u]=(0,G.useState)([]),[d,p]=(0,G.useState)(!1),[m,h]=(0,G.useState)(``),g=(0,G.useRef)(0),_=(0,G.useCallback)(async e=>{let t=++g.current;p(!0),h(``);try{let n=await Be(`/api/workspace-entries?path=${encodeURIComponent(e.trim())}`);if(t!==g.current)return;o(n.path),c(n),u([])}catch(e){if(t!==g.current)return;h(e instanceof Error?e.message:String(e))}finally{t===g.current&&p(!1)}},[]);(0,G.useEffect)(()=>{if(!e){g.current+=1;return}o(t||``),c(null),u([]),_(t||``)},[_,t,e]);let v=e=>{e.preventDefault(),_(a)},y=(e,t)=>{u(n=>t?[...n.filter(t=>t!==e),e].slice(-8):n.filter(t=>t!==e))};return(0,K.jsx)(nt,{open:e,onOpenChange:n,children:(0,K.jsxs)(Ve,{className:`max-w-[calc(100vw-24px)]! gap-0 overflow-hidden p-0 sm:max-w-[680px]!`,children:[(0,K.jsxs)(V,{className:`border-b px-4 py-3 pr-12`,children:[(0,K.jsx)(We,{children:i(`chat:pathAttachmentPicker.title`)}),(0,K.jsx)(Je,{children:i(`chat:pathAttachmentPicker.description`)})]}),(0,K.jsxs)(`form`,{className:`flex min-w-0 items-center gap-2 px-4 py-3`,onSubmit:v,children:[(0,K.jsx)(U,{type:`button`,variant:`outline`,size:`icon`,title:i(`common:workspacePicker.parentFolder`),"aria-label":i(`common:workspacePicker.parentFolder`),disabled:d||!s?.parent,onClick:()=>s?.parent&&void _(s.parent),children:(0,K.jsx)(ie,{})}),(0,K.jsx)(Xe,{className:`min-w-0 flex-1 font-mono text-[12px]`,value:a,"aria-label":i(`chat:pathAttachmentPicker.directoryPath`),onChange:e=>o(e.target.value)}),(0,K.jsxs)(U,{type:`submit`,variant:`secondary`,disabled:d||!a.trim(),children:[d?(0,K.jsx)(N,{className:`animate-spin`}):(0,K.jsx)(ze,{}),i(`common:workspacePicker.go`)]})]}),(0,K.jsx)(ee,{className:`h-[min(400px,50dvh)] border-y bg-muted/20`,children:(0,K.jsxs)(`div`,{className:`p-2`,children:[s?.directories.map(e=>(0,K.jsxs)(`button`,{type:`button`,className:`grid h-9 w-full grid-cols-[24px_minmax(0,1fr)_20px] items-center rounded-md px-2 text-left text-[13px] hover:bg-muted focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none`,title:e.path,disabled:d,onClick:()=>void _(e.path),children:[(0,K.jsx)(ne,{className:`size-4 text-content-muted`}),(0,K.jsx)(`span`,{className:`truncate`,children:e.name}),(0,K.jsx)(ze,{className:`size-4 text-content-muted`})]},e.path)),s?.files.map(e=>{let t=l.includes(e.path);return(0,K.jsxs)(`label`,{className:`grid h-9 cursor-pointer grid-cols-[24px_minmax(0,1fr)_24px] items-center rounded-md px-2 text-[13px] hover:bg-muted`,title:e.path,children:[(0,K.jsx)(me,{className:`size-4 text-content-muted`}),(0,K.jsx)(`span`,{className:`truncate`,children:e.name}),(0,K.jsx)(va,{checked:t,"aria-label":i(`chat:pathAttachmentPicker.selectName`,{name:e.name}),onCheckedChange:t=>y(e.path,t===!0)})]},e.path)}),d&&(0,K.jsxs)(`div`,{className:`flex h-32 items-center justify-center gap-2 text-content-muted`,children:[(0,K.jsx)(N,{className:`size-4 animate-spin`}),(0,K.jsx)(`span`,{children:i(`common:workspacePicker.readingFolder`)})]}),!d&&s&&!s.directories.length&&!s.files.length&&(0,K.jsx)(`div`,{className:`flex h-32 items-center justify-center text-content-muted`,children:i(`chat:pathAttachmentPicker.empty`)})]})}),m&&(0,K.jsxs)(_t,{variant:`destructive`,className:`mx-4 mt-3 w-auto`,children:[(0,K.jsx)(et,{}),(0,K.jsx)(gt,{children:m})]}),(0,K.jsxs)(at,{className:`m-0 border-t-0 bg-transparent px-4 py-3`,children:[(0,K.jsx)(U,{type:`button`,variant:`outline`,onClick:()=>n(!1),children:i(`common:ui.cancel`)}),(0,K.jsx)(U,{type:`button`,variant:`secondary`,disabled:!l.length,onClick:()=>{l.length&&(r(l),n(!1))},children:i(`chat:pathAttachmentPicker.attachCount`,{count:l.length})})]})]})})}function ba({session:e,canSplit:t,streaming:n,switchingCwd:r,onSplitLeft:i,onSplitRight:a,onSplitTop:o,onSplitBottom:s,onClosePanel:c,onWorkspace:l,onRename:u}){let{t:d,language:p}=f(),[m,h]=(0,G.useState)(!1),g=(0,G.useRef)(null),_=(0,G.useRef)(null);fa(m,_),(0,G.useEffect)(()=>{if(!m)return;let e=e=>{let t=e.target instanceof Node?e.target:null;g.current?.contains(t)||h(!1)},t=e=>{e.key===`Escape`&&h(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[m]);let v=e=>{h(!1),e?.()},y=[[we,d(`chat:focusSession.splitToLeft`),d(`chat:focusSession.moveTheCurrentTabIntoANewGroupOnTheLeft`),i],[he,d(`chat:focusSession.splitToRight`),d(`chat:focusSession.moveTheCurrentTabIntoANewGroupOnTheRight`),a],[_e,d(`chat:focusSession.splitToTop`),d(`chat:focusSession.moveTheCurrentTabIntoANewGroupOnTheTop`),o],[ge,d(`chat:focusSession.splitToBottom`),d(`chat:focusSession.moveTheCurrentTabIntoANewGroupOnTheBottom`),s]];return(0,K.jsxs)(`div`,{ref:g,className:`session-actions-menu-root`,children:[(0,K.jsx)(`button`,{type:`button`,className:`icon-button`,title:d(`chat:focusSession.chatActions`),"aria-label":d(`chat:focusSession.openChatActionsMenu`),"aria-haspopup":`menu`,"aria-expanded":m,disabled:!e,onClick:()=>h(e=>!e),children:(0,K.jsx)(Tn,{size:17})}),m&&(0,K.jsxs)(`div`,{ref:_,className:`permission-mode-menu session-actions-menu`,role:`menu`,children:[y.map(([e,n,r,i])=>(0,K.jsxs)(`button`,{type:`button`,role:`menuitem`,disabled:!t,onClick:()=>v(i),children:[(0,K.jsx)(e,{size:15}),(0,K.jsxs)(`span`,{children:[(0,K.jsx)(`strong`,{children:n}),(0,K.jsx)(`small`,{children:t?r:d(`chat:focusSession.thisGroupHasOnlyOneChat`)})]})]},n)),(0,K.jsxs)(`button`,{type:`button`,role:`menuitem`,disabled:n||r,onClick:()=>v(l),children:[(0,K.jsx)(it,{size:15}),(0,K.jsxs)(`span`,{children:[(0,K.jsx)(`strong`,{children:d(`chat:focusSession.setWorkingDirectory`)}),(0,K.jsx)(`small`,{children:n?d(`chat:focusSession.cannotSwitchWhileTheAgentIsRunning`):ct(e?.cwd,p)})]})]}),(0,K.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:()=>v(u),children:[(0,K.jsx)(ye,{size:15}),(0,K.jsxs)(`span`,{children:[(0,K.jsx)(`strong`,{children:d(`chat:focusSession.renameChat`)}),(0,K.jsx)(`small`,{children:e?.name||d(`chat:focusSession.newChat`)})]})]}),(0,K.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:()=>v(c),children:[(0,K.jsx)(ke,{size:15}),(0,K.jsxs)(`span`,{children:[(0,K.jsx)(`strong`,{children:d(`chat:focusSession.closeTab`)}),(0,K.jsx)(`small`,{children:d(`chat:focusSession.keepTheHistoryAndCloseOnlyThisView`)})]})]})]})]})}function xa(e){return[`running`,`waiting_approval`].includes(String(e.status||``))}function Sa(e,t){return t(e===`running`?`chat:workflowRun.running`:e===`waiting_approval`?`chat:workflowRun.waitingApproval`:e===`completed`?`chat:workflowRun.completed`:e===`failed`?`chat:workflowRun.failed`:e===`cancelled`?`chat:workflowRun.stopped`:`chat:workflowRun.interrupted`)}function Ca({sessionId:e}){let{t}=f(),[n,r]=(0,G.useState)([]),[i,a]=(0,G.useState)(``),o=(0,G.useCallback)(async()=>{try{let t=await Q.getSessionWorkflowRuns(e);r(t.runs||[])}catch{}},[e]);return(0,G.useEffect)(()=>{o();let e=window.setInterval(o,1500);return()=>window.clearInterval(e)},[o]),n.length?(0,K.jsx)(`div`,{className:`session-workflow-runs`,children:[...n].sort((e,t)=>Date.parse(t.startedAt)-Date.parse(e.startedAt)).slice(0,5).map(e=>{let n=i===e.id,r=Math.round((Number(e.completedNodes)||0)/Math.max(1,Number(e.totalNodes)||1)*100);return(0,K.jsxs)(`div`,{className:`session-workflow-run ${e.status}`,children:[(0,K.jsxs)(`button`,{className:`session-workflow-summary`,onClick:()=>a(n?``:e.id),children:[(0,K.jsx)(`span`,{className:`list-icon`,children:(0,K.jsx)(je,{size:14})}),(0,K.jsxs)(`span`,{children:[(0,K.jsx)(`strong`,{children:e.workflowName}),(0,K.jsxs)(`small`,{children:[Sa(e.status,t),` · v`,e.workflowRevision||1]})]}),(0,K.jsx)(M,{value:e.status===`completed`?100:r}),n?(0,K.jsx)(ue,{size:14}):(0,K.jsx)(ze,{size:14})]}),n&&(0,K.jsxs)(`div`,{className:`session-workflow-detail`,children:[e.sourceMessage&&(0,K.jsxs)(`div`,{className:`session-workflow-context`,children:[(0,K.jsx)(`strong`,{children:t(`chat:workflowRun.request`)}),(0,K.jsx)(`p`,{children:e.sourceMessage})]}),e.inputs&&Object.keys(e.inputs).length>0&&(0,K.jsxs)(`div`,{className:`session-workflow-context`,children:[(0,K.jsx)(`strong`,{children:t(`chat:workflowRun.inputs`)}),(0,K.jsx)(`pre`,{children:JSON.stringify(e.inputs,null,2)})]}),(e.nodes||[]).map(n=>(0,K.jsxs)(`div`,{className:`session-workflow-node ${n.status}`,children:[n.status===`completed`?(0,K.jsx)(D,{size:13}):n.status===`failed`?(0,K.jsx)(j,{size:13}):n.status===`running`?(0,K.jsx)(z,{className:`spin`,size:13}):(0,K.jsx)(Ce,{size:11}),(0,K.jsxs)(`span`,{children:[(0,K.jsx)(`strong`,{children:n.label}),(n.error||n.summary)&&(0,K.jsx)(`small`,{children:n.error||n.summary})]}),n.status===`waiting_approval`&&(0,K.jsxs)(`div`,{children:[(0,K.jsx)(U,{size:`xs`,onClick:async()=>{await Q.resolveWorkflowApproval(e.id,n.id,!0),await o()},children:t(`chat:workflowRun.approve`)}),(0,K.jsx)(U,{size:`xs`,variant:`destructive`,onClick:async()=>{await Q.resolveWorkflowApproval(e.id,n.id,!1),await o()},children:t(`chat:workflowRun.reject`)})]})]},n.id)),(e.error||e.summary)&&(0,K.jsx)(`p`,{children:e.error||e.summary}),xa(e)&&(0,K.jsxs)(U,{size:`xs`,variant:`destructive`,onClick:async()=>{await Q.stopWorkflowRun(e.id),await o()},children:[(0,K.jsx)(Ce,{"data-icon":`inline-start`}),t(`chat:workflowRun.stop`)]})]})]},e.id)})}):null}(0,G.lazy)(()=>i(()=>import(`./ClickSpark-BxLJ1PyT.js`).then(e=>({default:e.ClickSpark})),__vite__mapDeps([30,1,2,3,4,27])));var wa=(0,G.createContext)(null),Ta=({className:e,approval:t,state:n,...r})=>{let i=(0,G.useMemo)(()=>({approval:t,state:n}),[t,n]);return!t||n===`input-streaming`||n===`input-available`?null:(0,K.jsx)(wa.Provider,{value:i,children:(0,K.jsx)(_t,{className:P(`flex flex-col gap-2`,e),...r})})};function Ea({approvals:e,onResolve:t,compact:n=!1}){let{t:r}=f(),[i,a]=(0,G.useState)(!1),[o,s]=(0,G.useState)(!1),c=(0,G.useRef)(!1),l=e[0];if((0,G.useEffect)(()=>s(!1),[l?.id]),!l)return null;let u=l.fileChange,d=typeof u?.diff==`string`?u.diff:``,p=async e=>{if(!c.current){c.current=!0,a(!0);try{await t(l.id,e)}finally{c.current=!1,a(!1)}}};return(0,K.jsxs)(Ta,{approval:{id:l.id},state:`approval-requested`,className:`tool-approval ${n?`compact`:``}`,"data-pisper-approval-id":l.id,children:[(0,K.jsxs)(`div`,{children:[(0,K.jsx)(Se,{size:n?12:15}),(0,K.jsxs)(`span`,{children:[(0,K.jsx)(`strong`,{children:r(`chat:focusSession.toolRequestsApproval`,{tool:l.toolName})}),(0,K.jsxs)(`small`,{children:[l.reason,e.length>1?` · ${r(`chat:focusSession.countMoreWaiting`,{count:e.length-1})}`:``]})]})]}),!n&&(0,K.jsxs)(`div`,{className:`tool-approval-details`,children:[d&&(0,K.jsxs)(`button`,{type:`button`,className:`tool-approval-view-diff`,onClick:()=>s(!0),children:[(0,K.jsx)(Dn,{size:13}),r(`chat:focusSession.gitViewDiff`)]}),(0,K.jsxs)(`details`,{children:[(0,K.jsx)(`summary`,{children:r(`chat:focusSession.viewCallArguments`)}),(0,K.jsx)(`pre`,{children:JSON.stringify(l.args,null,2)})]})]}),(0,K.jsxs)(`div`,{className:`tool-approval-actions`,children:[(0,K.jsx)(`button`,{type:`button`,className:`button secondary`,disabled:i,onClick:()=>p(!1),children:r(`chat:focusSession.deny`)}),(0,K.jsxs)(`button`,{type:`button`,className:`button primary`,disabled:i,onClick:()=>p(!0),children:[i?(0,K.jsx)(z,{className:`spin`,size:12}):(0,K.jsx)(D,{size:12}),r(`chat:focusSession.allow`)]})]}),o&&(0,K.jsx)(ua,{diff:d,truncated:!!u?.truncated,onClose:()=>s(!1)})]})}var Da=3e4,Oa=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform)?`⌘ K`:`Ctrl K`;function ka({session:e,messages:t,messageStart:n,hasOlder:r,loadingOlder:i,olderError:a,model:o,thinkingLevel:s,availableThinkingLevels:c,thinkingStatus:l,thinkingMessage:u,executionMode:d,goal:p,plan:m,currentActivity:h,activityFeed:g,tools:_,thinkingText:v,queuedInputs:y,compaction:b,contextUsage:x,sessionUsage:S,cwd:C,availableModels:w,switchingModel:T,switchingThinking:E,switchingCwd:D,switchingPermission:O,streaming:A,runStartedAt:j,lastActivityAt:M,runFinishedAt:N,runStopped:ee,runNotice:te,approvals:ne,error:re,pendingAsset:ie,canSplit:ae,onAssetConsumed:oe,onLoadOlder:P,onModelChange:F,onThinkingLevelChange:I,onExecutionModeChange:ce,onCompact:le,onCompactionThresholdChange:ue,onGoalPause:de,onGoalBudgetChange:fe,onApproval:pe,onWorkspace:me,onRename:he,onSplitLeft:ge,onSplitRight:_e,onSplitTop:ye,onSplitBottom:be,onClosePanel:xe,onSend:Se,onQueue:we,onAbort:Te}){let{t:L,language:Ee}=f(),[De,Oe]=(0,G.useState)(``),[Ae,R]=(0,G.useState)(!1),[je,Me]=(0,G.useState)(Da),[Ne,Pe]=(0,G.useState)(!1),[Fe,Ie]=(0,G.useState)(!1),[Le,Re]=(0,G.useState)(0),[B,ze]=(0,G.useState)(!1),[Be,Ve]=(0,G.useState)(!1),[V,He]=(0,G.useState)(!1),[Ue,We]=(0,G.useState)(null),H=dr(),Ge=H.addAttachments,U=(0,G.useRef)(null),qe=t.length>0,Je=`composer-tool-tray-${e.id}`,Ye=L(V?`chat:focusSession.collapseQuickActions`:`chat:focusSession.expandQuickActions`);(0,G.useEffect)(()=>{R(!1),Pe(!1),Ie(!1),We(null),ze(!1),He(!1)},[e.id]),(0,G.useEffect)(()=>{ie&&(Ge([ie]),oe?.())},[ie,oe,Ge]),(0,G.useEffect)(()=>{if(!V)return;let e=e=>{e.key===`Escape`&&He(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[V]);let Xe=e=>{Oe(e),requestAnimationFrame(()=>{let e=U.current;e&&(e.focus(),e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,220)}px`)})},Ze=()=>{Re(e=>e+1)},Qe=async()=>{if(window.pisperDesktop?.pickFiles){try{let e=await window.pisperDesktop.pickFiles(C);H.addAttachments(ur(e||[]))}catch(e){H.setError(e)}return}Ve(!0)},$e=async()=>{if(!(!le||A||Fe||b?.active)){Ie(!0);try{await le()}finally{Ie(!1)}}};return(0,K.jsxs)(ft,{className:`focus-session ${qe?`has-conversation`:`is-empty`}`,children:[!qe&&(0,K.jsx)(`div`,{className:`card-head`,children:(0,K.jsx)(`div`,{className:`focus-session-head-actions`,children:(0,K.jsx)(ba,{session:e,canSplit:ae,streaming:A,switchingCwd:D,onSplitLeft:ge,onSplitRight:_e,onSplitTop:ye,onSplitBottom:be,onClosePanel:xe,onWorkspace:me,onRename:he})})}),(0,K.jsx)(ea,{sessionId:e.id,messages:t,messageStart:n,hasOlder:r,loadingOlder:i,olderError:a,currentActivity:h,activityFeed:g,tools:_,thinkingText:v,compaction:b,streaming:A,runStartedAt:j,lastActivityAt:M,runFinishedAt:N,runStopped:ee,runNotice:te,error:re,scrollRequest:Le,cwd:C,switchingCwd:D,onLoadOlder:P,onPromptSelect:Xe,onWorkspace:me}),(0,K.jsxs)(`form`,{className:`focus-composer-shell`,onSubmit:async e=>{if(e.preventDefault(),!(!De.trim()&&!H.attachments.length&&!Ue)){if(A){if(!De.trim()||Ne)return;Pe(!0);let e=await we?.(De,`steer`);if(Pe(!1),!e)return;Oe(``),R(!1),Ze(),U.current&&(U.current.style.height=`auto`);return}Se(De,H.attachments,Ae,Ae?je:null,Ue),Ze(),Oe(``),R(!1),We(null),U.current&&(U.current.style.height=`auto`),H.clearAttachments()}},children:[(0,K.jsx)(Ea,{approvals:ne,onResolve:pe}),A&&y.length>0&&(0,K.jsx)(rr,{asChild:!0,defaultOpen:!0,children:(0,K.jsxs)(`div`,{className:`queued-input-tray`,"data-pisper-queue-size":y.length,children:[(0,K.jsx)(`span`,{children:L(`chat:focusSession.sentToTheRunningAgent`)}),y.slice(-3).map((e,t)=>(0,K.jsx)(`small`,{title:e.text,children:e.text},e.id||`${e.behavior}-${t}`)),y.length>3&&(0,K.jsx)(`em`,{children:L(`chat:focusSession.countMore`,{count:y.length-3})})]})}),(0,K.jsx)(Ca,{sessionId:e.id}),Ue&&(0,K.jsxs)(`div`,{className:`composer-resource-chip ${Ue.kind}`,children:[(0,K.jsx)(k,{size:13}),(0,K.jsxs)(`span`,{children:[Ue.kind===`skill`?`Skill`:L(`chat:resourcePicker.workflow`),` ·`,` `,Ue.resourceName]}),(0,K.jsx)(`button`,{type:`button`,"aria-label":L(`chat:resourcePicker.remove`),onClick:()=>We(null),children:(0,K.jsx)(ke,{size:13})})]}),(0,K.jsx)(Aa,{attachments:H.attachments,onRemove:H.removeAttachment}),H.attachmentError&&(0,K.jsx)(`span`,{className:`attachment-error`,children:H.attachmentError}),(0,K.jsxs)(`div`,{className:`focus-composer-status ${b?.active?`compacting`:A?`running`:`idle`}`,role:`status`,"aria-live":`polite`,children:[(0,K.jsx)(`i`,{"aria-hidden":`true`}),(0,K.jsx)(`span`,{children:b?.active?L(`chat:focusSession.compactingContext`):L(A?`chat:focusSession.running`:`chat:focusSession.waitingForInput`)})]}),(0,K.jsxs)(`div`,{className:`focus-composer`,children:[(0,K.jsx)(`textarea`,{ref:U,rows:1,value:De,onChange:e=>{Oe(e.target.value),e.currentTarget.style.height=`auto`,e.currentTarget.style.height=`${Math.min(e.currentTarget.scrollHeight,220)}px`},onPaste:A?void 0:H.pasteImages,onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),e.currentTarget.form?.requestSubmit())},placeholder:L(A?`chat:focusSession.addGuidanceForTheRunningAgentShiftEnterForANewLine`:`chat:focusSession.writeWhatYouWantToAccomplishShiftEnterForANewLine`)}),(0,K.jsxs)(`div`,{className:`focus-composer-footer ${V?`tools-open`:``}`,children:[(0,K.jsxs)(`div`,{className:`focus-composer-leading`,children:[(0,K.jsx)(`button`,{type:`button`,className:`resource-picker-trigger`,title:L(`chat:resourcePicker.open`),"aria-label":L(`chat:resourcePicker.open`),onClick:()=>ze(!0),children:(0,K.jsx)(k,{size:16})}),(0,K.jsxs)(`button`,{type:`button`,className:`attach-trigger`,title:L(`chat:focusSession.addAttachment`),"aria-label":L(`chat:focusSession.addAttachment`),onClick:()=>void Qe(),disabled:A,children:[(0,K.jsx)(ve,{size:17}),H.attachments.length>0&&(0,K.jsx)(`i`,{children:H.attachments.length})]})]}),(0,K.jsxs)(`div`,{className:`focus-composer-runtime`,children:[(0,K.jsx)(Or,{value:o,models:w,onChange:F,disabled:A||T}),(0,K.jsx)(jr,{value:d,onChange:ce,disabled:O})]}),(0,K.jsxs)(`div`,{className:`focus-composer-quick-actions`,children:[(0,K.jsx)(`button`,{type:`button`,className:`composer-tools-trigger ${V?`active`:``}`,title:Ye,"aria-label":Ye,"aria-expanded":V,"aria-controls":Je,onClick:()=>He(e=>!e),children:V?(0,K.jsx)(bn,{size:17}):(0,K.jsx)(xn,{size:17})}),(0,K.jsxs)(mr,{open:V,label:L(`chat:focusSession.quickActions`),trayId:Je,children:[(0,K.jsxs)(`button`,{type:`button`,className:`command-palette-trigger`,title:L(`chat:focusSession.openCommandPaletteShortcut`,{shortcut:Oa}),"aria-label":L(`chat:focusSession.openCommandPaletteShortcut`,{shortcut:Oa}),onClick:Ke,children:[(0,K.jsx)(Cn,{size:16}),(0,K.jsx)(`kbd`,{children:Oa})]}),(0,K.jsx)(kr,{value:s||`medium`,levels:c||[],status:l,message:u,onChange:I,disabled:A||E||T}),(0,K.jsx)(_a,{goal:p,armed:Ae,tokenBudget:je,onTokenBudgetChange:Me,onSaveTokenBudget:e=>fe?.(e),onChange:e=>{!e&&p?.status===`active`?de?.():R(e)}}),(0,K.jsx)(ha,{sessionId:e.id,streaming:A}),(0,K.jsx)(`button`,{type:`button`,className:`compact-context-trigger`,title:A?L(`chat:focusSession.manualCompactionWaitForRun`):Fe||b?.active?L(`chat:focusSession.compactingContext`):L(`chat:focusSession.compactContextNow`),"aria-label":L(`chat:focusSession.compactContextNow`),disabled:!le||A||Fe||!!b?.active||t.length===0,onClick:()=>void $e(),children:Fe||b?.active?(0,K.jsx)(z,{className:`spin`,size:14}):(0,K.jsx)(Nn,{size:14})}),qe&&(0,K.jsx)(`div`,{className:`focus-composer-session-actions`,children:(0,K.jsx)(ba,{session:e,canSplit:ae,streaming:A,switchingCwd:D,onSplitLeft:ge,onSplitRight:_e,onSplitTop:ye,onSplitBottom:be,onClosePanel:xe,onWorkspace:me,onRename:he})})]})]}),(0,K.jsx)(`div`,{className:`focus-composer-secondary`,children:(0,K.jsx)(Dr,{usage:x,onThresholdChange:ue})}),(0,K.jsx)(`button`,{type:A?`button`:`submit`,className:`send-button${A?` stop`:``}`,title:L(A?`chat:focusSession.stop`:`chat:focusSession.sendMessage`),"aria-label":L(A?`chat:focusSession.stop`:`chat:focusSession.sendMessage`),onClick:A?Te:void 0,disabled:!A&&(Ne||!De.trim()&&!H.attachments.length&&!Ue),children:A?(0,K.jsx)(Ce,{size:16,fill:`currentColor`}):Ne?(0,K.jsx)(z,{className:`spin`,size:17}):(0,K.jsx)(se,{size:18})})]})]}),(0,K.jsxs)(`div`,{className:`focus-composer-meta`,children:[qe&&(0,K.jsxs)(`button`,{type:`button`,className:`composer-workspace-status`,title:C,"aria-label":L(`chat:focusSession.changeWorkingDirectoryWorkspace`,{workspace:ct(C,Ee)}),onClick:me,disabled:A||D,children:[(0,K.jsx)(it,{size:12}),(0,K.jsx)(`span`,{children:ct(C,Ee)})]}),(0,K.jsx)(Er,{usage:S,plan:m})]})]}),(0,K.jsx)(fr,{open:B,sessionId:e.id,onClose:()=>ze(!1),onSelect:We}),(0,K.jsx)(ya,{open:Be,initialPath:C,onOpenChange:Ve,onSelect:e=>H.addAttachments(ur(e))})]})}function Aa({attachments:e,onRemove:t,compact:n=!1}){let{t:r}=f();return e.length?(0,K.jsx)(`div`,{className:`attachment-tray ${n?`compact`:``}`,children:e.map(e=>(0,K.jsxs)(`div`,{className:`attachment-chip`,children:[e.kind===`image`?(0,K.jsx)(`img`,{src:`data:${e.mimeType};base64,${e.data}`,alt:``}):(0,K.jsx)(`span`,{className:`attachment-icon`,children:(0,K.jsx)(me,{size:13})}),(0,K.jsxs)(`span`,{children:[(0,K.jsx)(`strong`,{children:e.name}),(0,K.jsxs)(`small`,{children:[e.kind===`path`?r(`chat:focusSession.localPath`):e.kind===`image`?r(`chat:focusSession.image`):e.kind===`document`?r(`chat:focusSession.document`):r(`chat:focusSession.text`),e.kind===`path`?``:` · ${Ge(e.size)}`,e.truncated?` · ${r(`chat:focusSession.truncated`)}`:``]})]}),(0,K.jsx)(`button`,{type:`button`,"aria-label":r(`chat:focusSession.removeName`,{name:e.name}),onClick:()=>t(String(e.id||``)),children:(0,K.jsx)(ke,{size:12})})]},e.id))}):null}var ja=(0,G.createContext)(null),Ma=40;function Na({params:e,api:t}){let n=(0,G.useContext)(ja),r=e?.sessionId||Ie(t?.id),[i,a]=(0,G.useState)(()=>t.isVisible),o=n?.sessions.find(e=>e.id===r),s=n?.sessionStates[r],c=s||Kn,l=!!(c.streaming||o?.streaming),u=er(s,o),d=tr(u,{streaming:l})?u:null,f=n?.loadSessionMessages,p=n?.loadSessionThinkingLevel,m=(0,G.useRef)(``);if((0,G.useEffect)(()=>{a(t.isVisible);let e=t.onDidVisibilityChange(({isVisible:e})=>a(e));return()=>e.dispose()},[t]),(0,G.useEffect)(()=>{i&&r&&f?.(r,{limit:Ma})},[f,r,i]),(0,G.useEffect)(()=>{!i||!r||!o||!p||l||c.thinkingStatus||(c.availableThinkingLevels||[]).length||m.current!==r&&(m.current=r,p(r))},[p,o,r,c.availableThinkingLevels,c.thinkingStatus,l,i]),!i)return null;if(!n||!o)return(0,K.jsxs)(`div`,{className:`session-dock-missing`,children:[(0,K.jsx)(et,{size:16}),n?`Session unavailable`:`Loading session`]});let h=n.pendingAsset?.asset&&(!n.pendingAsset.targetSessionId||n.pendingAsset.targetSessionId===r)?n.pendingAsset.asset:null;return(0,K.jsx)(`div`,{className:`session-dock-panel`,onFocusCapture:()=>t.setActive(),children:(0,K.jsx)(ka,{session:o,messages:c.messages||[],messageStart:c.messageStart,hasOlder:c.hasOlder,loadingOlder:c.loadingOlder,olderError:c.olderError,model:c.model||o.model||n.defaultModel,thinkingLevel:c.thinkingLevel||o.thinkingLevel||`medium`,availableThinkingLevels:c.availableThinkingLevels||[],thinkingStatus:c.thinkingStatus||``,thinkingMessage:c.thinkingMessage||``,executionMode:c.executionMode||o.executionMode||`approval-required`,goal:c.goal??o.goal??null,plan:d,currentActivity:c.currentActivity,activityFeed:c.activityFeed||[],tools:c.tools||[],thinkingText:c.thinkingText||``,queuedInputs:c.queuedInputs||[],compaction:c.compaction,contextUsage:c.contextUsage,sessionUsage:c.sessionUsage,cwd:c.cwd||o.cwd,availableModels:n.availableModels,switchingModel:c.switchingModel,switchingThinking:c.switchingThinking,switchingCwd:c.switchingCwd,switchingPermission:c.switchingPermission,streaming:l,runStartedAt:c.runStartedAt,lastActivityAt:c.lastActivityAt,runFinishedAt:c.runFinishedAt,runStopped:c.runStopped,runNotice:c.runNotice,approvals:c.approvals||[],error:c.error||(n.activeId===r?n.globalError:``),pendingAsset:h,onAssetConsumed:n.onAssetConsumed,onLoadOlder:()=>n.loadOlderMessages(r),onModelChange:e=>n.switchSessionModel(r,e),onThinkingLevelChange:e=>n.switchSessionThinkingLevel(r,e),onExecutionModeChange:e=>n.switchSessionExecutionMode(r,e),onGoalPause:()=>n.pauseGoal(r),onGoalBudgetChange:e=>n.setGoalBudget(r,e),onCompact:()=>n.compactSession(r),onCompactionThresholdChange:n.setCompactionThreshold,onApproval:(e,t)=>n.resolveToolApproval(r,e,t),onWorkspace:()=>void n.selectSessionWorkspace(o),onRename:()=>n.renameSession(o),onSplitLeft:()=>n.splitDockPanel(t.id,`left`),onSplitRight:()=>n.splitDockPanel(t.id,`right`),onSplitTop:()=>n.splitDockPanel(t.id,`above`),onSplitBottom:()=>n.splitDockPanel(t.id,`below`),onClosePanel:()=>n.closeDockPanel(t.id),canSplit:!n.compactDock&&t.group.size>1,onSend:(e,t,i,a,o)=>n.sendPrompt(e,r,t,i,a,o),onQueue:(e,t)=>n.queuePrompt(e,r,t),onAbort:()=>n.abort(r)})})}function Pa(){let{t:e}=f();return(0,K.jsxs)(`div`,{className:`chat-dock-watermark`,children:[(0,K.jsx)(Ue,{size:34}),(0,K.jsx)(`strong`,{children:e(`chat:chatDock.openAChatToBegin`)}),(0,K.jsx)(`span`,{children:e(`chat:chatDock.openAChatFromTheSessionListOrSplitItInAnyDirection`)})]})}var Fa=(0,G.createContext)(null),Ia=()=>{let e=(0,G.useContext)(Fa);if(!e)throw Error(`WebPreview components must be used within a WebPreview`);return e},La=({className:e,children:t,defaultUrl:n=``,onUrlChange:r,...i})=>{let[a,o]=(0,G.useState)(n),[s,c]=(0,G.useState)(!1),l=(0,G.useCallback)(e=>{o(e),r?.(e)},[r]),u=(0,G.useMemo)(()=>({consoleOpen:s,setConsoleOpen:c,setUrl:l,url:a}),[s,l,a]);return(0,K.jsx)(Fa.Provider,{value:u,children:(0,K.jsx)(`div`,{className:P(`flex size-full min-h-0 flex-col rounded-lg border bg-card`,e),...i,children:t})})},Ra=({className:e,children:t,...n})=>(0,K.jsx)(`div`,{className:P(`flex shrink-0 items-center gap-1 border-b p-2`,e),...n,children:t}),za=({onClick:e,disabled:t,tooltip:n,children:r,...i})=>(0,K.jsx)(H,{children:(0,K.jsxs)(ot,{children:[(0,K.jsx)($e,{asChild:!0,children:(0,K.jsx)(U,{className:`size-8 p-0 hover:text-foreground`,disabled:t,onClick:e,size:`sm`,variant:`ghost`,...i,children:r})}),(0,K.jsx)(He,{children:(0,K.jsx)(`p`,{children:n})})]})}),Ba=({value:e,onChange:t,onKeyDown:n,...r})=>{let{url:i,setUrl:a}=Ia(),[o,s]=(0,G.useState)(i),[c,l]=(0,G.useState)(i);i!==o&&(s(i),l(i));let u=e=>{l(e.target.value),t?.(e)},d=(0,G.useCallback)(e=>{e.key===`Enter`&&a(e.target.value),n?.(e)},[n,a]);return(0,K.jsx)(Xe,{className:`h-8 flex-1 text-sm`,onChange:t??u,onKeyDown:d,placeholder:`Enter URL...`,value:e??c,...r})},Va=({className:e,loading:t,src:n,...r})=>{let{url:i}=Ia();return(0,K.jsxs)(`div`,{className:`relative min-h-0 flex-1 overflow-hidden bg-background`,children:[(0,K.jsx)(`iframe`,{className:P(`block size-full border-0 bg-background`,e),loading:`lazy`,sandbox:`allow-scripts allow-same-origin allow-forms allow-popups allow-presentation`,src:(n??i)||void 0,title:`Preview`,...r}),t]})},Ha=`web-preview`;function Ua(e,t=`Web preview`){try{return new URL(e).hostname.replace(/^www\./i,``)||t}catch{return t}}var Wa=(0,G.lazy)(()=>i(()=>import(`./Threads-CS40baGh.js`).then(e=>({default:e.Threads})),__vite__mapDeps([31,2,1,3,4,27])));function Ga(e){return e?{entries:[e],index:0}:{entries:[],index:-1}}function Ka({params:e,api:t}){let{t:n}=f(),r=Re(e?.url||``,window.location.href)||``,[i,a]=(0,G.useState)(()=>t.isVisible),[o,s]=(0,G.useState)(()=>Ga(r)),[c,l]=(0,G.useState)(0),[u,d]=(0,G.useState)(!!r),p=o.index>=0&&o.entries[o.index]||``;(0,G.useEffect)(()=>{a(t.isVisible);let e=t.onDidVisibilityChange(({isVisible:e})=>a(e));return()=>e.dispose()},[t]),(0,G.useEffect)(()=>{!r||r===p||(s(Ga(r)),l(0),d(!0))},[p,r]),(0,G.useEffect)(()=>{t.setTitle(Ua(p,n(`common:webPreview.title`)))},[t,p,n]);let m=(0,G.useCallback)(e=>{let n=Re(e,p||window.location.href);!n||n===p||(s(e=>({entries:[...e.entries.slice(0,e.index+1),n],index:e.index+1})),t.updateParameters({url:n}),l(0),d(!0))},[t,p]),h=(0,G.useCallback)(e=>{let n=o.index+e;if(n<0||n>=o.entries.length)return;let r=o.entries[n];s(e=>({...e,index:n})),t.updateParameters({url:r}),d(!0)},[t,o]),g=(0,G.useCallback)(()=>{l(e=>e+1),d(!0)},[]),_=(0,G.useCallback)(()=>{p&&window.open(p,`_blank`,`noopener,noreferrer`)},[p]);return i?p?(0,K.jsx)(`div`,{className:`web-preview-panel`,onFocusCapture:()=>t.setActive(),children:(0,K.jsxs)(La,{className:`rounded-none border-0`,defaultUrl:p,onUrlChange:m,children:[(0,K.jsxs)(Ra,{children:[(0,K.jsx)(za,{"aria-label":n(`common:webPreview.back`),disabled:o.index<=0,onClick:()=>h(-1),tooltip:n(`common:webPreview.back`),children:(0,K.jsx)(Ye,{})}),(0,K.jsx)(za,{"aria-label":n(`common:webPreview.forward`),disabled:o.index>=o.entries.length-1,onClick:()=>h(1),tooltip:n(`common:webPreview.forward`),children:(0,K.jsx)(ce,{})}),(0,K.jsx)(za,{"aria-label":n(`common:webPreview.reload`),onClick:g,tooltip:n(`common:webPreview.reload`),children:(0,K.jsx)(z,{})}),(0,K.jsxs)(`div`,{className:`web-preview-address`,children:[(0,K.jsx)(fe,{"aria-hidden":`true`}),(0,K.jsx)(Ba,{"aria-label":n(`common:webPreview.url`),placeholder:n(`common:webPreview.urlPlaceholder`)})]}),(0,K.jsx)(za,{"aria-label":n(`common:webPreview.openExternal`),onClick:_,tooltip:n(`common:webPreview.openExternal`),children:(0,K.jsx)(Ze,{})})]}),(0,K.jsx)(Va,{onLoad:()=>d(!1),src:p,title:n(`common:webPreview.title`),loading:u?(0,K.jsxs)(`div`,{className:`web-preview-loading`,children:[(0,K.jsx)(G.Suspense,{fallback:null,children:(0,K.jsx)(Wa,{})}),(0,K.jsxs)(`span`,{className:`web-preview-loading-copy`,children:[(0,K.jsx)(N,{className:`spin`,size:18}),(0,K.jsx)(`span`,{children:n(`common:webPreview.loading`)})]})]}):null},`${p}:${c}`),(0,K.jsx)(`div`,{className:`web-preview-notice`,children:n(`common:webPreview.embedNotice`)})]},`${o.index}:${p}`)}):(0,K.jsxs)(`div`,{className:`web-preview-panel web-preview-empty`,onFocusCapture:()=>t.setActive(),children:[(0,K.jsx)(fe,{size:24}),(0,K.jsx)(`strong`,{children:n(`common:webPreview.title`)})]}):null}function $(e){return e instanceof Error?e.message:String(e)}function qa(e){return/(?:当前会话已经结束运行|session .*?(?:ended|finished|no longer running))/i.test($(e))}function Ja(e,t){let n=new Set(t.map(e=>e.id)),r=e.filter(e=>!n.has(e.id));return[...t,...r]}function Ya(e){for(let t of e){let e=typeof t.cwd==`string`?t.cwd.trim():``;if(e)return e}return``}function Xa({notify:e}){let{t}=f(),[n,r]=(0,G.useState)([]),[i,a]=(0,G.useState)(()=>localStorage.getItem(F.activeSession)||``),[o,s]=(0,G.useState)({}),[c,l]=(0,G.useState)(!0),[u,d]=(0,G.useState)(``),[p,m]=(0,G.useState)(()=>t(`chat:chatPage.waitingForConfiguration`)),[h,g]=(0,G.useState)([]),_=(0,G.useRef)(n),v=(0,G.useRef)(o),y=(0,G.useRef)(null),b=(0,G.useCallback)(e=>{let t=_.current,n=typeof e==`function`?e(t):e;return _.current=n,r(n),n},[]),x=(0,G.useCallback)(e=>{v.current=e,s(e)},[]),S=(0,G.useCallback)((e,t)=>{if(!e)return;let n=v.current,r=n[e]||Kn,i=Jn(r,t);i!==r&&x({...n,[e]:i})},[x]),C=(0,G.useCallback)((e,{panelOpen:t=!1,localStreamOwned:n=!1}={})=>{if(!e||t||n)return!1;let r=v.current,i=r[e];if(!i||Zn(i))return!1;let a={...r};return delete a[e],x(a),!0},[x]),w=(0,G.useCallback)(async e=>{let t=await Q.listSessions();return b(t.sessions),a(e||(e=>t.sessions.some(t=>t.id===e)?e:t.sessions[0]?.id||``)),qe(),t.sessions},[b]),T=(0,G.useCallback)(()=>{if(y.current)return y.current;let n=(async()=>{try{d(``);let n=await Q.createSession(t(`chat:chatPage.newChat`),Ya(_.current));a(n.id),b(e=>Ja(e,[n])),S(n.id,{messages:[],tools:[],approvals:[],queuedInputs:[],permissionMode:n.permissionMode||`ask`,executionMode:n.executionMode||`approval-required`,goal:n.goal||null,plan:J(n,null),contextUsage:n.contextUsage||null,sessionUsage:n.sessionUsage||null,compaction:null,streaming:!1,error:``,loaded:!0,pageSize:40,messageStart:0,hasOlder:!1,olderCursor:null,runStartedAt:null,lastActivityAt:null,runFinishedAt:null,runStopped:!1,runNotice:``});try{await w(n.id)}catch(e){d(t(`chat:chatPage.theChatWasCreatedButTheListCouldNotBeRefreshedError`,{error:$(e)}))}return e(t(`chat:chatPage.newChatCreated`)),n.id}catch(e){return d($(e)),``}})();return y.current=n,n.finally(()=>{y.current===n&&(y.current=null)}),n},[e,w,t,S,b]);(0,G.useEffect)(()=>{let e=!0;return Promise.all([Q.listSessions(),Q.getConfig()]).then(async([n,r])=>{if(!e)return;m(r.model?`${r.provider}/${r.model}`:t(`chat:chatPage.noModelConfigured`)),g(r.providers.flatMap(e=>e.configured&&e.enabled?e.models.filter(e=>e.kind===`chat`).map(t=>({key:`${e.id}/${t.id}`,provider:e.id,modelId:t.id,label:t.name||t.id,providerName:e.name||e.id})):[]));let i=n.sessions;if(!i.length&&(y.current||Object.keys(v.current).length)){if(await y.current,!e)return;i=(await Q.listSessions()).sessions}if(i.length||(i=[await Q.createSession(t(`chat:chatPage.newChat`))]),!e)return;b(e=>Ja(e,i)),qe();for(let e of i)S(e.id,{agents:e.agents||[],plan:J(e,null),...e.streaming?{streaming:!0,recovering:!0,loaded:!1,error:``}:{}});let o=localStorage.getItem(F.activeSession),s=new Set([...i.map(e=>e.id),...Object.keys(v.current)]);a(e=>s.has(e)?e:o&&s.has(o)?o:i[0]?.id||``)}).catch(t=>e&&d($(t))).finally(()=>e&&l(!1)),()=>{e=!1}},[t,S,b]),(0,G.useEffect)(()=>{i&&localStorage.setItem(F.activeSession,i)},[i]);let E=n.find(e=>e.id===i),D=(o[i]||Kn).model||E?.model||``;return(0,G.useEffect)(()=>{Pe(i,D)},[i,D]),(0,G.useEffect)(()=>(document.title=E?.name?`${E.name} · ${mt}`:mt,()=>{document.title=mt}),[E?.name]),{sessions:n,sessionsRef:_,activeId:i,setActiveId:a,sessionStates:o,sessionStatesRef:v,loading:c,globalError:u,setGlobalError:d,defaultModel:p,availableModels:h,updateSessions:b,replaceSessionStates:x,updateSessionState:S,releaseSessionState:C,refreshSessions:w,createSessionRecord:T}}function Za(e){try{let t=JSON.parse(localStorage.getItem(e)||`[]`);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}function Qa({sessions:e,sessionsRef:t,sessionStates:n,activeId:r,setActiveId:i,loading:a,localStreamSessionsRef:o,loadSessionMessages:s,releaseSessionState:c,notify:l}){let{t:u}=f(),[d,p]=(0,G.useState)(0),[m,h]=(0,G.useState)(()=>window.matchMedia(`(max-width: 900px)`).matches),g=(0,G.useRef)(null),_=(0,G.useRef)(!1),v=(0,G.useRef)([]),y=(0,G.useRef)(void 0),b=(0,G.useRef)(null),x=(0,G.useRef)(null),S=(0,G.useRef)(null),C=(0,G.useRef)(m),w=(0,G.useRef)(Za(F.tiledSessions));(0,G.useEffect)(()=>{let e=window.matchMedia(`(max-width: 900px)`),t=()=>{C.current=e.matches,h(e.matches)};return t(),e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]);let T=(0,G.useCallback)((e=g.current)=>{if(!_.current)return!1;window.clearTimeout(y.current),y.current=void 0;let t=b.current;if(e)try{let n=Ne(e.toJSON(),e.activePanel?.id||``);t=JSON.stringify(n)}catch{}if(!t)return!1;try{return localStorage.setItem(F.chatDockLayout,t),b.current=null,!0}catch{return!1}},[]),E=(0,G.useCallback)((e=g.current)=>{if(!e||!_.current)return;let t;try{t=JSON.stringify(Ne(e.toJSON(),e.activePanel?.id||``))}catch{return}b.current=t,window.clearTimeout(y.current),y.current=window.setTimeout(()=>{if(y.current=void 0,!(!_.current||g.current!==e))try{localStorage.setItem(F.chatDockLayout,t),b.current===t&&(b.current=null)}catch{}},180)},[]),D=(0,G.useCallback)((e,n=`open`)=>{let r=t.current.find(t=>t.id===e),a=g.current;if(!r||!a||!_.current)return x.current={sessionId:e,disposition:n},!1;let o=C.current?`open`:n,c=R(e),l=a.getPanel(c),d=a.activePanel;if(l)return o!==`open`&&(d&&l.id!==d.id?l.api.moveTo({group:d.group,position:Fe(o)}):l.group.size>1&&l.api.moveTo({group:l.group,position:Fe(o)})),l.api.setActive(),i(e),!0;let f=o===`open`?a.activeGroup?{referenceGroup:a.activeGroup}:void 0:d?{referencePanel:d,direction:o}:{direction:o};return a.addPanel({id:c,component:`session`,title:r.name||u(`chat:chatPage.untitledChat`),params:{sessionId:e},renderer:`always`,minimumWidth:300,minimumHeight:240,...f?{position:f}:{}}),i(e),s(e,{limit:40}),!0},[s,t,i,u]),O=(0,G.useCallback)(e=>{let t=g.current;if(!t||!_.current)return S.current=e,!1;let n=t.getPanel(Ha),r=Ua(e.url,u(`common:webPreview.title`));if(n)return n.api.updateParameters({url:e.url}),n.api.setTitle(r),n.api.setActive(),!0;let i=t.activePanel,a=C.current?t.activeGroup?{referenceGroup:t.activeGroup}:void 0:i?{referencePanel:i,direction:`right`}:{direction:`right`};return t.addPanel({id:Ha,component:`webPreview`,title:r,params:{url:e.url},renderer:`always`,minimumWidth:360,...a?{position:a}:{}}),!0},[u]),k=(0,G.useCallback)((e,t)=>{let n=g.current?.getPanel(e);if(n){if(C.current){l(u(`chat:chatPage.onNarrowScreensChatsStayInASingleTabGroup`),`info`);return}if(n.group.size<=1){l(u(`chat:chatPage.thisGroupHasOnlyOneChatChooseAnotherChatFromTheSessionListToCreateASplit`),`info`);return}n.api.moveTo({group:n.group,position:Fe(t)}),n.api.setActive()}},[l,u]),A=(0,G.useCallback)(e=>{g.current?.getPanel(e)?.api.close()},[]),j=(0,G.useCallback)((e,t)=>{if(!t)return;let n=g.current?.getPanel(R(e));n&&n.group!==t&&n.api.moveTo({group:t})},[]),M=(0,G.useCallback)(e=>c(e,{panelOpen:!!g.current?.getPanel(R(e)),localStreamOwned:o.current.has(e)}),[o,c]),N=(0,G.useCallback)(({api:e})=>{g.current&&g.current!==e&&(_.current=!1);for(let e of v.current)e.dispose();v.current=[],g.current=e,v.current.push(e.onDidActivePanelChange(({panel:t})=>{let n=Ie(t);n&&i(n),E(e)}),e.onDidLayoutChange(()=>E(e)),e.onDidAddPanel(e=>{let t=Ie(e);t&&s(t,{limit:40})}),e.onDidRemovePanel(e=>{let t=Ie(e);t&&queueMicrotask(()=>M(t))})),p(e=>e+1)},[s,M,E,i]);return(0,G.useEffect)(()=>{if(_.current)for(let e of Object.keys(n))M(e)},[M,n]),(0,G.useEffect)(()=>{let e=e=>{let t=e.detail,n=t?.sessionId||t?.id;n&&(localStorage.removeItem(F.sessionOpenRequest),D(n,t?.disposition||`open`))};return window.addEventListener(De,e),()=>window.removeEventListener(De,e)},[D]),(0,G.useEffect)(()=>{let e=e=>{let t=e.detail;t?.url&&(localStorage.removeItem(F.webPreviewRequest),O(t))};return window.addEventListener(lt,e),()=>window.removeEventListener(lt,e)},[O]),(0,G.useEffect)(()=>{let e=()=>{document.visibilityState===`hidden`&&T()},t=()=>T();return document.addEventListener(`visibilitychange`,e),window.addEventListener(`pagehide`,t),()=>{document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`pagehide`,t)}},[T]),(0,G.useEffect)(()=>()=>{let e=g.current;T(e),_.current=!1,window.clearTimeout(y.current),y.current=void 0;for(let e of v.current)e.dispose();v.current=[],g.current=null},[T]),(0,G.useEffect)(()=>{if(!d||a||_.current||!g.current)return;let t=g.current,n=new Set(e.map(e=>e.id)),i=Me(localStorage.getItem(F.chatDockLayout));if(i)try{t.fromJSON(i.layout);for(let e of[...t.panels]){if(e.api.component!==`session`)continue;let r=Ie(e);n.has(r)||t.removePanel(e)}}catch{t.clear(),localStorage.removeItem(F.chatDockLayout)}if(!t.panels.length){let n=Oe({activeSessionId:r||localStorage.getItem(F.activeSession)||``,legacyTiledSessionIds:w.current.slice(0,4),validSessionIds:e.map(e=>e.id)}),i;for(let r of n){let n=e.find(e=>e.id===r);if(!n)continue;let a=t.addPanel({id:R(r),component:`session`,title:n.name||u(`chat:chatPage.untitledChat`),params:{sessionId:r},renderer:`always`,minimumWidth:300,...i?{position:{referenceGroup:i}}:{},inactive:!!i});i||=a.group}}for(let n of t.panels){let t=e.find(e=>e.id===Ie(n));t&&n.api.setTitle(t.name||u(`chat:chatPage.untitledChat`))}_.current=!0,localStorage.removeItem(F.chatMode);let o=x.current||Te();x.current=null,o?D(o.sessionId,o.disposition):(t.getPanel(i?.activePanelId||R(r))||t.panels[0])?.api.setActive();let s=S.current||L();S.current=null,s&&O(s),E(t)},[r,d,a,D,O,E,e,u]),(0,G.useEffect)(()=>{if(!(!_.current||!g.current))for(let t of e)g.current.getPanel(R(t.id))?.api.setTitle(t.name||u(`chat:chatPage.untitledChat`))},[e,u]),{compactDock:m,openSessionInDock:D,splitDockPanel:k,closeDockPanel:A,moveSessionToGroup:j,onDockReady:N,getTabContextMenuItems:(0,G.useCallback)(({panel:e})=>[{label:u(`chat:chatPage.splitToLeft`),action:()=>k(e.id,`left`),disabled:m||e.group.size<=1},{label:u(`chat:chatPage.splitToRight`),action:()=>k(e.id,`right`),disabled:m||e.group.size<=1},{label:u(`chat:chatPage.splitToTop`),action:()=>k(e.id,`above`),disabled:m||e.group.size<=1},{label:u(`chat:chatPage.splitToBottom`),action:()=>k(e.id,`below`),disabled:m||e.group.size<=1},`separator`,`close`],[m,k,u])}}function $a(e){return!!e?.agents?.some(e=>[`queued`,`starting`,`running`].includes(String(e.status)))}function eo(e,{localStreamOwned:t=!1}={}){return!e||t?!1:!!(e.recovering||e.streaming||e.approvals?.length||$a(e))}function to(e,t){let n=Number(t.pageInfo?.start)||0,r=Number.isInteger(e.messageStart)?e.messageStart:null,i=r!=null&&r<=n,a=i?Math.max(0,n-r):0,o=i?r:n;return{messages:i?[...e.messages.slice(0,a),...t.messages]:t.messages,messageStart:o,hasOlder:o>0,olderCursor:o>0?String(o):null}}function no(e,t,n=new Date().toISOString()){let r=t.finishedAt||e.runFinishedAt||n;return{...e,...to(e,t),tools:t.streaming?t.tools||[]:Br(t.tools||[],{finishedAt:r,error:t.error||``}),streaming:t.streaming,recovering:t.streaming,runStartedAt:t.startedAt||e.runStartedAt||null,lastActivityAt:t.lastActivityAt||e.lastActivityAt||t.startedAt||null,runFinishedAt:t.streaming?null:r,runNotice:t.streaming&&e.runNotice||``,loaded:!0,loading:!1,error:t.error||``,model:t.model||e.model,cwd:t.cwd||e.cwd,permissionMode:t.permissionMode||e.permissionMode,executionMode:t.executionMode||e.executionMode,goal:t.goal??e.goal??null,plan:J(t,e.plan??null),contextUsage:t.contextUsage??e.contextUsage??null,sessionUsage:t.sessionUsage??e.sessionUsage??null,compaction:t.compaction??e.compaction??null,approvals:t.approvals||[],agents:t.agents||[],currentActivity:t.streaming?t.currentActivity||e.currentActivity||null:t.currentActivity?.type===`agent`?t.currentActivity:null,activityFeed:t.streaming?t.activityFeed||e.activityFeed||[]:(t.activityFeed||[]).filter(e=>e.type===`agent`),thinkingText:t.streaming?t.thinkingText??e.thinkingText??``:``,queuedInputs:Yn(e.queuedInputs,t.queuedInputs),hadQueuedInput:t.streaming?!!(e.hadQueuedInput||t.queuedInputs?.length):!1}}function ro({sessionStates:e,sessionStatesRef:t,localStreamSessionsRef:n,updateSessionState:r,updateSessions:i}){let a=(0,G.useRef)(new Set),o=(0,G.useRef)({timer:null,activeSessions:new Set}),s=(0,G.useCallback)(async e=>{if(!(!e||n.current.has(e)||a.current.has(e))){a.current.add(e);try{let t=await Q.getLiveSession(e);if(n.current.has(e))return;r(e,e=>no(e,t)),i(n=>n.map(n=>n.id===e?{...n,streaming:t.streaming,model:t.model||n.model,cwd:t.cwd||n.cwd,permissionMode:t.permissionMode||n.permissionMode,executionMode:t.executionMode||n.executionMode,goal:t.goal??n.goal??null,plan:J(t,n.plan??null)}:n))}catch(t){n.current.has(e)||r(e,{recovering:!1,loading:!1,error:$(t)})}finally{a.current.delete(e)}}},[n,r,i]),c=(0,G.useCallback)(async(e,{force:n=!1,limit:a=40}={})=>{if(!e)return;let o=t.current[e];if(o?.recovering){await s(e);return}if(!(!n&&(o?.loading||o?.streaming||o?.loaded&&(o.pageSize||0)>=a))){r(e,{loading:!0});try{let n=await Q.getMessages(e,{limit:a});r(e,e=>e.streaming?{...e,loaded:!0,loading:!1,pageSize:Math.max(e.pageSize||0,a)}:{...e,...to(e,n),model:e.model||n.model||void 0,contextUsage:n.contextUsage??e.contextUsage??null,sessionUsage:n.sessionUsage??e.sessionUsage??null,loaded:!0,loading:!1,pageSize:Math.max(e.pageSize||0,a),error:``,olderError:``});let o=t.current[e]?.model||(typeof n.model==`string`?n.model:``);o&&i(t=>t.map(t=>t.id===e&&t.model!==o?{...t,model:o}:t))}catch(t){r(e,{loading:!1,error:$(t)})}}},[t,s,r,i]),l=(0,G.useCallback)(async e=>{let n=t.current[e];if(!e||!n?.hasOlder||!n.olderCursor||n.loadingOlder)return!1;r(e,{loadingOlder:!0,olderError:``});try{let t=await Q.getMessages(e,{limit:40,before:n.olderCursor});return r(e,e=>{let n=new Set(e.messages.map(e=>e.id)),r=t.messages.filter(e=>!n.has(e.id));return{...e,messages:[...r,...e.messages],messageStart:t.pageInfo.start,hasOlder:t.pageInfo.hasMore,olderCursor:t.pageInfo.nextCursor,loadingOlder:!1,olderError:``}}),t.messages.length>0}catch(t){return r(e,{loadingOlder:!1,olderError:$(t)}),!1}},[t,r]),u=(0,G.useCallback)(()=>{o.current.timer&&window.clearInterval(o.current.timer),o.current.timer=null,o.current.activeSessions.clear()},[]),d=(0,G.useCallback)(()=>{o.current.timer||!o.current.activeSessions.size||(o.current.timer=window.setInterval(()=>{let e=Array.from(o.current.activeSessions).map(async e=>{let r=t.current[e];if(!eo(r,{localStreamOwned:n.current.has(e)})){o.current.activeSessions.delete(e);return}await s(e)});Promise.allSettled(e).then(()=>{o.current.activeSessions.size||u()})},2e3))},[n,t,u,s]);return(0,G.useEffect)(()=>{let t=new Set(Object.keys(e));for(let e of o.current.activeSessions)t.has(e)||o.current.activeSessions.delete(e);for(let[t,r]of Object.entries(e))eo(r,{localStreamOwned:n.current.has(t)})?o.current.activeSessions.add(t):o.current.activeSessions.delete(t);o.current.activeSessions.size?d():u()},[d,n,e,u]),(0,G.useEffect)(()=>u,[u]),{syncLiveSession:s,loadSessionMessages:c,loadOlderMessages:l,liveSyncInFlightRef:a}}function io(e,t){let n=null,r=!1,i=typeof document<`u`,a=()=>!i||document.visibilityState===`visible`,o=()=>{r&&=(document.removeEventListener(`visibilitychange`,c),!1)},s=()=>{n=setTimeout(()=>{n=null,e()},t)},c=()=>{!a()||n!=null||(o(),s())},l=()=>{!i||r||(document.addEventListener(`visibilitychange`,c),r=!0)};return{schedule(){n!=null||r||(a()?s():l())},flushNow(){n!=null&&(clearTimeout(n),n=null),o(),e()},cancel(){n!=null&&clearTimeout(n),n=null,o()},get active(){return n!=null||r}}}function ao(e,{intervalMs:t=48}={}){let n=null,r=null,i=io(()=>{if(n==null)return;let t=n,i=r;n=null,r=null,e(t,i)},t);return{push(e,t=new Date().toISOString()){n=e,r=t,i.schedule()},flush(){i.flushNow()},cancel(){i.cancel(),n=null,r=null}}}function oo(e,{intervalMs:t=80}={}){let n=new Map,r=null,i=io(()=>{if(!n.size)return;let t=n,i=r;n=new Map,r=null,e(t,i)},t);return{push(e,t,a=new Date().toISOString()){e&&(n.set(e,{...n.get(e)||{},...t}),r=a,i.schedule())},flush(){i.flushNow()},cancel(){i.cancel(),n=new Map,r=null}}}function so(e,t){let n=Math.min(e.length,t.length),r=0;for(;r<n&&e.charCodeAt(r)===t.charCodeAt(r);)r+=1;return r}function co(e,{minCharsPerSecond:t=36,maxCharsPerSecond:n=1200,catchUpRemaining:r=160,snapRemaining:i=480,requestFrame:a,cancelFrame:o,now:s=()=>typeof performance<`u`&&performance.now?performance.now():Date.now()}={}){let c=a||(e=>setTimeout(()=>e(s()),32)),l=o||clearTimeout,u=typeof document<`u`,d=()=>!u||document.visibilityState===`visible`,f=``,p=``,m=null,h=0,g=0,_=!1,v=()=>e(p,m),y=(e,a)=>{if(e<=0)return 0;if(e>=i)return e;if(e>=r)return Math.min(e,Math.max(12,Math.ceil(e*Math.min(1,a*10))));let o=Math.min(n,t+e*4);return Math.min(e,Math.max(1,Math.ceil(o*a)))},b=e=>{if(h=0,_)return;let t=g?Math.min(.08,Math.max(.012,(e-g)/1e3)):.032;g=e;let n=p;if(f!==p){if(!f.startsWith(p)){let e=so(p,f);p=f.slice(0,e)}if(f.length<p.length)p=f;else{let e=f.length-p.length;e>0&&(p=f.slice(0,p.length+y(e,t)))}p!==n&&v(),!_&&p!==f&&(h=c(b))}},x=()=>{_||h||!d()||(g=0,h=c(b))},S=()=>{d()?x():h&&(l(h),h=0,g=0)};return u&&document.addEventListener(`visibilitychange`,S),{setTarget(e,t=new Date().toISOString()){_||(f=String(e||``),m=t,x())},flush(){h&&l(h),h=0,g=0,p=f,v()},cancel(){_=!0,h&&l(h),u&&document.removeEventListener(`visibilitychange`,S),h=0,g=0},getShown:()=>p,getTarget:()=>f}}function lo(e,{agentId:t,responseText:n,data:r,finishedAt:i,error:a}){let o=!!a;return{...e,streaming:!1,runFinishedAt:i,lastActivityAt:i,...o?{}:{runNotice:``},currentActivity:r.currentActivity?.type===`agent`?r.currentActivity:null,activityFeed:(r.activityFeed||[]).filter(e=>e.type===`agent`),goal:o?e.goal:r.goal??e.goal??null,plan:o?e.plan:J(r,e.plan),agents:r.agents||e.agents||[],contextUsage:r.contextUsage??e.contextUsage??null,sessionUsage:r.sessionUsage??e.sessionUsage??null,compaction:r.compaction??e.compaction??null,approvals:o?[]:r.approvals||[],tools:Br(r.tools||e.tools,{finishedAt:i,...a?{error:a}:{}}),messages:e.messages.map(e=>e.id===t?{...e,text:typeof r.text==`string`?r.text:n||e.text,streaming:!1,...o?{}:r.assets?.length?{attachments:r.assets}:{}}:e)}}function uo({sessionId:e,agentId:t,sessionStatesRef:n,updateSessionState:r,updateSessions:i,typewriter:a,thinkingScheduler:o,toolScheduler:s,t:c}){let l={responseText:``,responseRenderingStreaming:!0,thinkingText:``,thinkingPrefix:``,queuedDuringRun:!1},u=t=>{i(n=>n.map(n=>n.id===e?t(n):n))};return{dispatch:(i,d)=>{let f=new Date().toISOString();if(i===`meta`)r(e,e=>({...e,model:d.model||e.model,thinkingLevel:d.thinkingLevel||e.thinkingLevel,cwd:d.cwd,permissionMode:d.permissionMode,executionMode:d.executionMode,goal:d.goal??null,plan:J(d,e.plan),agents:d.agents||e.agents||[],currentActivity:d.currentActivity||e.currentActivity||null,activityFeed:d.activityFeed||e.activityFeed||[],thinkingText:d.thinkingText??e.thinkingText??``,queuedInputs:Yn(e.queuedInputs,d.queuedInputs),hadQueuedInput:!!(e.hadQueuedInput||d.queuedInputs?.length),contextUsage:d.contextUsage??e.contextUsage??null,sessionUsage:d.sessionUsage??e.sessionUsage??null,runStartedAt:d.startedAt||e.runStartedAt,lastActivityAt:d.lastActivityAt||f})),(d.model||d.thinkingLevel||d.cwd||d.permissionMode||d.executionMode||d.goal!==void 0||Bn(d)!==void 0)&&u(e=>({...e,model:d.model||e.model,thinkingLevel:d.thinkingLevel||e.thinkingLevel,cwd:d.cwd||e.cwd,permissionMode:d.permissionMode||e.permissionMode,executionMode:d.executionMode||e.executionMode,goal:d.goal??e.goal??null,plan:J(d,e.plan??null)}));else if(i===`queue_update`)d.queuedInputs?.length&&(l.queuedDuringRun=!0),r(e,e=>({...e,queuedInputs:d.queuedInputs||[],hadQueuedInput:!!(e.hadQueuedInput||d.queuedInputs?.length)}));else if(i===`agent_update`)r(e,e=>{let t=d.currentActivity||(d.agent?{type:`agent`,agent:d.agent,updatedAt:d.agent.lastActivityAt||f}:null);return{...e,agents:d.agents||[],currentActivity:e.currentActivity?.type===`tool`?e.currentActivity:t||e.currentActivity,activityFeed:t?Y(e.activityFeed,t):e.activityFeed,lastActivityAt:d.agent?.lastActivityAt||f}});else if(i===`context_usage`)r(e,{contextUsage:d});else if(i===`session_usage`)r(e,{sessionUsage:d});else if(i===`compaction_start`)a.flush(),s.flush(),r(e,e=>{let t={type:`compaction`,compaction:d,updatedAt:d.startedAt||f};return{...e,compaction:d,currentActivity:t,activityFeed:Y(e.activityFeed,t),lastActivityAt:d.startedAt||f}});else if(i===`compaction_end`)r(e,e=>{let t={type:`model`,stage:`processing_result`,updatedAt:d.finishedAt||f};return{...e,compaction:d,currentActivity:t,activityFeed:Y(e.activityFeed,t),lastActivityAt:d.finishedAt||f}});else if(i===`text_patch`)l.responseRenderingStreaming=!0,l.responseText=st(l.responseText,d),a.setTarget(l.responseText,f);else if(i===`text_delta`)l.responseRenderingStreaming=!0,l.responseText+=d.delta||``,a.setTarget(l.responseText,f);else if(i===`text_end`)typeof d.text==`string`&&(l.responseText=d.text),l.responseRenderingStreaming=!1,a.setTarget(l.responseText,d.updatedAt||f),a.flush();else if(i===`thinking_reset`)l.thinkingText=``,l.thinkingPrefix=String(d.thinkingText||``).slice(-6e3),o.cancel(),r(e,{thinkingText:l.thinkingPrefix,currentActivity:{type:`model`,stage:`thinking`,updatedAt:d.updatedAt||f},lastActivityAt:d.updatedAt||f});else if(i===`thinking_patch`){l.thinkingText=st(l.thinkingText,d);let e=[l.thinkingPrefix,l.thinkingText].filter(Boolean).join(`
|
|
7
|
+
|
|
8
|
+
`);o.push(e.slice(-6e3),f)}else if(i===`tool_start`)o.flush(),a.flush(),s.flush(),r(e,e=>{let n={type:`tool`,id:d.id,name:d.name,args:d.args,status:`running`,startedAt:d.startedAt||f,updatedAt:f,...d.output===void 0?{}:{output:d.output}};return{...e,lastActivityAt:f,runNotice:``,tools:Y(e.tools,n),currentActivity:n,activityFeed:Y(e.activityFeed,n),messages:e.messages.map(e=>e.id===t?{...e,text:l.responseText||e.text}:e)}});else if(i===`tool_update`)s.push(d.id,{message:d.message||``,updatedAt:d.updatedAt||f,...d.output===void 0?{}:{output:d.output},...d.agent?{agent:d.agent}:{}},d.updatedAt||f);else if(i===`tool_end`)s.flush(),r(e,e=>{let t=e.tools.find(e=>e.id===d.id),n=d.finishedAt||f,r=String(t?.name||``),i=(Un(r)||[`spawn_agent`,`list_agents`,`send_message`,`followup_task`,`wait_agent`,`interrupt_agent`].includes(r))&&[`plan`,`agent`].includes(e.currentActivity?.type),a={...t||{},type:`tool`,status:d.error?`error`:`done`,message:d.message||t?.message||``,updatedAt:n,finishedAt:n,...d.output===void 0?{}:{output:d.output}},o=d.agent?{type:`agent`,agent:d.agent,updatedAt:d.agent.lastActivityAt||n}:null,s=e.activityFeed||[];return(d.error||!i&&!o)&&(s=Y(s,a)),o&&(s=Y(s,o)),{...e,lastActivityAt:n,tools:e.tools.map(e=>e.id===d.id?{...e,status:d.error?`error`:`done`,message:d.message||``,updatedAt:n,finishedAt:n,...d.output===void 0?{}:{output:d.output}}:e),currentActivity:d.error?a:o||(i?e.currentActivity:a),activityFeed:s}});else if(i===`permission_request`)a.flush(),s.flush(),r(e,e=>({...e,lastActivityAt:f,approvals:[...(e.approvals||[]).filter(e=>e.id!==d.id),d]}));else if(i===`permission_resolved`)r(e,e=>({...e,lastActivityAt:f,approvals:(e.approvals||[]).filter(e=>e.id!==d.id)}));else if(i===`generated_asset`)r(e,e=>({...e,lastActivityAt:f,messages:e.messages.map(e=>e.id===t?{...e,attachments:[...(e.attachments||[]).filter(e=>e.id!==d.id),d]}:e)}));else if(i===`goal_update`)r(e,{goal:d.goal??null}),u(e=>({...e,goal:d.goal??null}));else if(Vn(i))a.flush(),s.flush(),r(e,e=>{let t=J(d,e.plan),n=d.currentActivity||{type:`plan`,plan:t,changes:zr(e.plan,t),updatedAt:t?.updatedAt||f};return{...e,lastActivityAt:f,plan:t,currentActivity:n,activityFeed:Y(e.activityFeed,n)}}),u(e=>({...e,plan:J(d,e.plan??null)}));else if(i===`session_title`)u(e=>({...e,name:d.name}));else if(i===`retry`){let t=c(`chat:chatPage.retryingAttemptMaxAttemptsMessage`,{attempt:d.attempt,maxAttempts:d.maxAttempts,message:d.message});r(e,e=>{let n={type:`retry`,message:t,updatedAt:f};return{...e,runNotice:t,currentActivity:n,activityFeed:Y(e.activityFeed,n),lastActivityAt:f}})}else if(i===`done`||i===`error`){l.queuedDuringRun||=!!(n.current[e]?.hadQueuedInput||n.current[e]?.queuedInputs?.length);let c=d.finishedAt||f;if(typeof d.text==`string`&&(l.responseText=d.text),l.responseRenderingStreaming=!1,a.setTarget(l.responseText,c),a.flush(),o.flush(),s.cancel(),r(e,e=>lo(e,{agentId:t,responseText:l.responseText,data:d,finishedAt:c,...i===`error`?{error:d.message}:{}})),i===`done`)return u(e=>({...e,streaming:!1,goal:d.goal??e.goal??null,plan:J(d,e.plan??null)})),!1;throw Error(d.message)}},state:l}}var fo=`pisper:usage-updated`;function po({browserNotify:e,notify:t,defaultModel:n,localStreamSessionsRef:r,sessionStatesRef:i,setActiveId:a,setGlobalError:o,updateSessionState:s,updateSessions:c,createSession:l,loadSessionMessages:u,refreshSessions:d,syncLiveSession:p}){let{t:m}=f(),h=(0,G.useRef)(new Map),g=(0,G.useCallback)(async(t,f,g=[],_=!1,v=null,y=null)=>{let b=t.trim()||(g.length?m(`chat:chatPage.pleaseAnalyzeTheseAttachments`):``)||(y?y.resourceName:``);if(!b&&!y)return;let x=f;if(x||=await l(),!x||i.current[x]?.streaming)return;let S=()=>{},C=new Promise(e=>{S=e});h.current.set(x,{promise:C,resolve:S}),a(x),o(``);let w={id:`user-${Date.now()}`,role:`user`,text:b,invocation:y,attachments:g.map(({id:e,kind:t,name:n,mimeType:r,size:i,data:a})=>({id:e,kind:t,name:n,mimeType:r,size:i,data:t===`image`?a:void 0}))},T=`agent-${Date.now()}`,E=new Date().toISOString(),D={responseText:``,responseRenderingStreaming:!0,thinkingText:``,thinkingPrefix:``,queuedDuringRun:!1},O=ao((e,t)=>{s(x,n=>({...n,thinkingText:e,lastActivityAt:t||n.lastActivityAt,currentActivity:{type:`model`,stage:`thinking`,updatedAt:t||n.lastActivityAt}}))},{intervalMs:80}),k=co((e,t)=>{s(x,n=>{let r={type:`model`,stage:`responding`,updatedAt:t||n.lastActivityAt};return{...n,lastActivityAt:t||n.lastActivityAt,runNotice:``,currentActivity:r,activityFeed:Y(n.activityFeed,r),messages:n.messages.map(t=>t.id===T?{...t,text:e,streaming:D.responseRenderingStreaming}:t)}})}),A=oo((e,t)=>{s(x,n=>{let r=n.activityFeed||[];for(let[n,i]of e){let e=r.find(e=>e.type===`tool`&&e.id===n);e&&(r=Y(r,{...e,...i,updatedAt:t||e.updatedAt}))}let i=n.currentActivity?.type===`tool`&&e.has(n.currentActivity.id)?{...n.currentActivity,...e.get(n.currentActivity.id),updatedAt:t||n.currentActivity.updatedAt}:n.currentActivity;return{...n,lastActivityAt:t||n.lastActivityAt,tools:n.tools.map(t=>{let n=e.get(String(t.id||``));return n?{...t,...n}:t}),currentActivity:i,activityFeed:r}})}),j=uo({sessionId:x,agentId:T,sessionStatesRef:i,updateSessionState:s,updateSessions:c,typewriter:k,thinkingScheduler:O,toolScheduler:A,t:m});D=j.state,s(x,e=>{let t=_||e.goal?.status===`active`;return{...e,messages:[...e.messages,w,{id:T,role:`agent`,text:``,streaming:!0}],tools:[],approvals:[],error:``,streaming:!0,loaded:!0,runStartedAt:E,lastActivityAt:E,runFinishedAt:null,runStopped:!1,runNotice:``,currentActivity:{type:`model`,stage:`thinking`,updatedAt:E},activityFeed:[],thinkingText:``,hadQueuedInput:!1,compaction:null,plan:t?e.plan:null}}),_||c(e=>e.map(e=>e.id!==x||e.goal?.status===`active`?e:{...e,plan:null})),r.current.add(x);try{await Q.openStream({sessionId:x,message:b,attachments:g,goalMode:_,goalTokenBudget:v,invocation:y},j.dispatch),k.setTarget(D.responseText),k.flush(),O.flush(),A.flush();let t=new Date().toISOString();i.current[x]?.streaming&&s(x,e=>{let n=e.runFinishedAt||t;return{...e,streaming:!1,runFinishedAt:n,lastActivityAt:n,runNotice:``,currentActivity:null,activityFeed:[],approvals:[],tools:Br(e.tools,{finishedAt:n}),messages:e.messages.map(e=>e.id===T?{...e,streaming:!1,text:D.responseText||e.text}:e)}}),await u(x,{force:!0}),(_||D.queuedDuringRun||i.current[x]?.hadQueuedInput||i.current[x]?.goal||i.current[x]?.queuedInputs?.length)&&s(x,{queuedInputs:[],hadQueuedInput:!1});let r;try{r=(await d()).find(e=>e.id===x)}catch{p(x)}e?.(`chat.completed`,{chat:{title:r?.name||m(`chat:chatPage.appChat`,{app:`Pisper`}),summary:D.responseText.trim().slice(0,260)||m(`chat:chatPage.theAgentHasFinishedResponding`),model:i.current[x]?.model||n}})}catch(e){k.cancel(),O.flush(),A.cancel();let t=new Date().toISOString(),n=$(e);if(s(x,e=>({...e,streaming:!1,error:n,runFinishedAt:t,lastActivityAt:t,runNotice:``,currentActivity:null,activityFeed:[],approvals:[],tools:Br(e.tools,{finishedAt:t,error:n}),messages:e.messages.map(e=>e.id===T?{...e,streaming:!1,error:n,text:e.text||D.responseText||n}:e)})),D.queuedDuringRun||i.current[x]?.hadQueuedInput||i.current[x]?.queuedInputs?.length){try{await u(x,{force:!0})}catch{}s(x,{queuedInputs:[],hadQueuedInput:!1})}c(e=>e.map(e=>e.id===x?{...e,streaming:!1}:e))}finally{r.current.delete(x),k.cancel(),O.cancel(),A.cancel(),s(x,{streaming:!1,hadQueuedInput:!1});let e=h.current.get(x);h.current.delete(x),e?.resolve(),window.dispatchEvent(new Event(fo))}},[e,l,n,u,r,d,i,a,o,p,m,s,c]);return{sendPrompt:g,queuePrompt:(0,G.useCallback)(async(e,n,r=`steer`)=>{let i=String(e||``).trim();if(!n||!i)return!1;try{let e=await Q.queueInput(n,i,r),t=new Date().toISOString(),a={id:`interactive-user-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,role:`user`,text:i,queuedAt:t,streamingBehavior:e.behavior||r};return s(n,n=>({...n,messages:Xn(n.messages,a),queuedInputs:Yn(n.queuedInputs,e.queuedInputs),hadQueuedInput:!0,lastActivityAt:t})),!0}catch(e){if(qa(e)){let e=h.current.get(n);return e?await e.promise:await p(n),s(n,{streaming:!1,recovering:!1,queuedInputs:[],hadQueuedInput:!1}),await u(n,{force:!0}),g(i,n),!0}return t($(e),`error`),!1}},[u,t,g,p,s]),abort:(0,G.useCallback)(async e=>{if(!e)return;let n=await Q.abort(e),r=new Date().toISOString();s(e,e=>({...e,streaming:!1,queuedInputs:[],hadQueuedInput:!1,goal:n.goal??null,compaction:e.compaction?.active?{...e.compaction,active:!1,status:`aborted`,aborted:!0,finishedAt:r}:e.compaction,runFinishedAt:r,lastActivityAt:r,runStopped:!0,runNotice:``,approvals:[],tools:Br(e.tools,{finishedAt:r,error:m(`chat:chatPage.stopped`)}),messages:e.messages.map(e=>e.streaming?{...e,streaming:!1}:e)})),c(t=>t.map(t=>t.id===e?{...t,streaming:!1,goal:n.goal??t.goal??null}:t)),t(m(`chat:chatPage.currentRunStopped`),`info`)},[t,m,s,c])}}function mo({notify:e,requestText:t,requestConfirm:n,availableModels:r,sessionStatesRef:i,updateSessionState:a,updateSessions:o,replaceSessionStates:s,setGlobalError:c,syncLiveSession:l}){let{t:u,language:d}=f(),[p,m]=(0,G.useState)(null),h=(0,G.useCallback)((e,t)=>{o(n=>n.map(n=>n.id===e?t(n):n))},[o]),g=(0,G.useCallback)(async t=>{if(t)try{let n=await Q.pauseGoal(t);a(t,{goal:n.goal||null}),h(t,e=>({...e,goal:n.goal||null})),e(u(`chat:chatPage.goalPaused`),`info`)}catch(e){a(t,{error:$(e)})}},[e,u,a,h]),_=(0,G.useCallback)(async(t,n)=>{if(t)try{let r=await Q.setGoalBudget(t,n);a(t,{goal:r.goal||null}),h(t,e=>({...e,goal:r.goal||null})),e(u(`chat:chatPage.goalTokenBudgetUpdated`),`info`)}catch(e){a(t,{error:$(e)})}},[e,u,a,h]),v=(0,G.useCallback)(async t=>{let n=i.current[t];if(!(!t||n?.streaming||n?.compaction?.active)){a(t,{compaction:{...n?.compaction||{},active:!0,status:`running`,reason:`manual`},error:``});try{let n=await Q.compactSession(t);a(t,{compaction:n.compaction||null,contextUsage:n.contextUsage||null}),e(u(`chat:chatPage.contextCompacted`))}catch(e){await l(t).catch(()=>{}),a(t,{error:$(e)})}}},[e,i,l,u,a]),y=(0,G.useCallback)(async e=>{let t=await Q.updateCompactionPreference(e);s(Object.fromEntries(Object.entries(i.current).map(([e,n])=>{let r=Number(n.contextUsage?.contextWindow)||0;return r?[e,{...n,contextUsage:{...n.contextUsage,compactAtPercent:t.thresholdPercent,compactAtTokens:Math.floor(r*t.thresholdPercent/100)}}]:[e,n]})))},[s,i]),b=(0,G.useCallback)((e,t={})=>{let n=String(t.model||``),r=String(i.current[e]?.model||``);if(n&&r&&n!==r)return;let o=Array.isArray(t.availableThinkingLevels)?t.availableThinkingLevels.map(e=>String(e)):Array.isArray(t.availableLevels)?t.availableLevels.map(e=>String(e)):[],s=String(t.thinkingLevel||``);a(e,{thinkingLevel:s||void 0,availableThinkingLevels:o,thinkingStatus:String(t.thinkingStatus||t.status||``),thinkingMessage:String(t.thinkingMessage||t.message||``),switchingThinking:!1}),s&&h(e,e=>({...e,thinkingLevel:s}))},[i,a,h]),x=(0,G.useCallback)(async e=>{if(!(!e||i.current[e]?.streaming))try{let t=await Q.getThinkingLevel(e);b(e,t)}catch{a(e,{thinkingStatus:`error`,thinkingMessage:u(`chat:focusSession.thinkingLevelsLoadFailed`)})}},[b,i,u,a]),S=(0,G.useCallback)(async(t,o)=>{let s=r.find(e=>e.key===o);if(!t||!s||i.current[t]?.streaming)return;let c=i.current[t],l=c?.model||``,d=!!c?.messages?.length&&!c?.compaction?.active;a(t,{switchingModel:!0,model:s.key,error:``}),h(t,e=>({...e,model:s.key}));try{let r=await Q.updateModel(t,s.provider,s.modelId);a(t,{model:r.model||s.key,contextUsage:r.contextUsage??null,switchingModel:!1}),h(t,e=>({...e,model:r.model||s.key})),b(t,r),e(u(`chat:chatPage.switchedToModel`,{model:s.label})),d&&await n({title:u(`chat:chatPage.compactAfterModelSwitch`),message:u(`chat:chatPage.compactAfterModelSwitchDescription`),confirmLabel:u(`chat:chatPage.compactNow`)})&&await v(t)}catch(e){a(t,{switchingModel:!1,model:l||void 0,error:$(e)}),l&&h(t,e=>({...e,model:l}))}},[b,r,v,e,n,i,u,a,h]),C=(0,G.useCallback)(async(t,n)=>{let r=String(n||``).trim();if(!t||!r||i.current[t]?.streaming)return;let o=i.current[t]||{},s=String(o.thinkingLevel||``);a(t,{switchingThinking:!0,thinkingLevel:r,error:``}),h(t,e=>({...e,thinkingLevel:r}));try{let n=await Q.setThinkingLevel(t,r);b(t,n),e(u(`chat:chatPage.switchedToThinkingLevel`,{level:String(n.thinkingLevel||r)}))}catch(e){a(t,{switchingThinking:!1,thinkingLevel:s||void 0,error:$(e)}),s&&h(t,e=>({...e,thinkingLevel:s}))}},[b,e,i,u,a,h]),w=(0,G.useCallback)(async(t,r)=>{if(!t)return!1;if(i.current[t]?.streaming)return e(u(`chat:chatPage.stopTheActiveRunBeforeChangingTheExecutionMode`),`info`),!1;a(t,{switchingPermission:!0,error:``});try{if(r===`full-access`&&!await n({title:u(`chat:chatPage.enableFullAccess`),message:u(`chat:chatPage.fullAccessAllowsTheAgentToUseFilesAndNetworkServicesOutsideTheWorkspaceAndShellCommandsWillNoLon`),confirmLabel:u(`chat:chatPage.enableFullAccess`)}))return a(t,{switchingPermission:!1}),!1;let i=await Q.updateExecutionMode(t,r);return a(t,{executionMode:i.executionMode,permissionMode:i.permissionMode,switchingPermission:!1}),h(t,e=>({...e,executionMode:i.executionMode,permissionMode:i.permissionMode})),e(u(`chat:chatPage.executionModeChangedToMode`,{mode:i.executionMode===`read-only`?u(`chat:chatPage.readOnly`):i.executionMode===`approval-required`?u(`chat:chatPage.approvalRequired`):i.executionMode===`workspace-write`?u(`chat:focusSession.workspaceWrite`):u(`chat:chatPage.fullAccess`)})),!0}catch(e){return a(t,{switchingPermission:!1,error:$(e)}),!1}},[e,n,i,u,a,h]),T=(0,G.useCallback)(async(t,n,r)=>{a(t,e=>({...e,approvals:(e.approvals||[]).filter(e=>e.id!==n),error:``}));try{(await Q.resolveApproval(t,n,r)).alreadyResolved&&l(t)}catch(n){if(await l(t),n instanceof Ee&&n.status===404){e(u(`chat:chatPage.approvalStatusUpdated`),`info`);return}throw a(t,{error:$(n)}),n}},[e,l,u,a]),E=(0,G.useCallback)(async(t,n)=>{if(!(!t?.id||i.current[t.id]?.streaming)){a(t.id,{switchingCwd:!0,error:``});try{let r=await Q.updateCwd(t.id,n);a(t.id,{cwd:r.cwd,switchingCwd:!1}),h(t.id,e=>({...e,cwd:r.cwd})),m(null),e(u(`chat:chatPage.workingDirectoryChangedToWorkspace`,{workspace:ct(r.cwd,d)}))}catch(e){throw a(t.id,{switchingCwd:!1,error:$(e)}),e}}},[d,e,i,u,a,h]);return{workspaceSession:p,setWorkspaceSession:m,switchSessionCwd:E,selectSessionWorkspace:(0,G.useCallback)(async t=>{if(t?.id){if(i.current[t.id]?.streaming){e(u(`chat:chatPage.stopTheActiveRunBeforeChangingTheWorkspace`),`info`);return}if(!ae()){m(t);return}try{let e=await te(t.cwd);e&&await E(t,e)}catch(e){a(t.id,{switchingCwd:!1,error:$(e)})}}},[e,i,E,u,a]),renameSession:(0,G.useCallback)(async n=>{if(!n?.id)return;if(i.current[n.id]?.streaming){e(u(`chat:chatPage.stopTheActiveRunBeforeRenamingTheChat`),`info`);return}let r=await t({title:u(`chat:chatPage.renameChat`),inputLabel:u(`chat:chatPage.chatTitle`),value:n.name,confirmLabel:u(`chat:chatPage.save`)});if(r!==null&&r!==n.name)try{let t=await Q.renameSession(n.id,r);h(n.id,e=>({...e,name:t.name})),qe(),e(u(`chat:chatPage.chatTitleUpdated`))}catch(e){c($(e))}},[e,t,i,c,u,h]),pauseGoal:g,setGoalBudget:_,compactSession:v,setCompactionThreshold:y,loadSessionThinkingLevel:x,switchSessionModel:S,switchSessionThinkingLevel:C,switchSessionExecutionMode:w,resolveToolApproval:T}}function ho({notify:e,browserNotify:t,registerPrimaryAction:n,pendingAsset:r,onAssetConsumed:i,requestText:a,requestConfirm:o}){let{t:s}=f(),c=(0,G.useRef)(new Set),l=Xa({notify:e}),u=ro({sessionStates:l.sessionStates,sessionStatesRef:l.sessionStatesRef,localStreamSessionsRef:c,updateSessionState:l.updateSessionState,updateSessions:l.updateSessions}),d=Qa({sessions:l.sessions,sessionsRef:l.sessionsRef,sessionStates:l.sessionStates,activeId:l.activeId,setActiveId:l.setActiveId,loading:l.loading,localStreamSessionsRef:c,loadSessionMessages:u.loadSessionMessages,releaseSessionState:l.releaseSessionState,notify:e}),p=l.createSessionRecord,m=d.openSessionInDock,h=d.moveSessionToGroup,g=(0,G.useCallback)(async e=>{let t=await p();return t?(m(t)&&h(t,e),t):``},[p,h,m]);pt(n,g);let _=po({browserNotify:t,notify:e,defaultModel:l.defaultModel,localStreamSessionsRef:c,sessionStatesRef:l.sessionStatesRef,setActiveId:l.setActiveId,setGlobalError:l.setGlobalError,updateSessionState:l.updateSessionState,updateSessions:l.updateSessions,createSession:g,loadSessionMessages:u.loadSessionMessages,refreshSessions:l.refreshSessions,syncLiveSession:u.syncLiveSession}),v=mo({notify:e,requestText:a,requestConfirm:o,availableModels:l.availableModels,sessionStatesRef:l.sessionStatesRef,updateSessionState:l.updateSessionState,updateSessions:l.updateSessions,replaceSessionStates:l.replaceSessionStates,setGlobalError:l.setGlobalError,syncLiveSession:u.syncLiveSession}),y=(0,G.useMemo)(()=>function({group:e}){let t=s(`navigation:pageHeader.newChat`);return(0,K.jsx)(`button`,{type:`button`,className:`dock-new-session`,title:t,"aria-label":t,onPointerDown:e=>e.stopPropagation(),onClick:t=>{t.stopPropagation(),g(e)},children:(0,K.jsx)(be,{size:15})})},[g,s]),b=(0,G.useMemo)(()=>({session:Na,webPreview:Ka}),[]),x={sessions:l.sessions,sessionStates:l.sessionStates,defaultModel:l.defaultModel,availableModels:l.availableModels,globalError:l.globalError,activeId:l.activeId,compactDock:d.compactDock,pendingAsset:r,onAssetConsumed:i,loadSessionMessages:u.loadSessionMessages,loadOlderMessages:u.loadOlderMessages,sendPrompt:_.sendPrompt,queuePrompt:_.queuePrompt,abort:_.abort,pauseGoal:v.pauseGoal,setGoalBudget:v.setGoalBudget,compactSession:v.compactSession,setCompactionThreshold:v.setCompactionThreshold,switchSessionModel:v.switchSessionModel,loadSessionThinkingLevel:v.loadSessionThinkingLevel,switchSessionThinkingLevel:v.switchSessionThinkingLevel,switchSessionExecutionMode:v.switchSessionExecutionMode,resolveToolApproval:v.resolveToolApproval,selectSessionWorkspace:v.selectSessionWorkspace,renameSession:v.renameSession,splitDockPanel:d.splitDockPanel,closeDockPanel:d.closeDockPanel};return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`div`,{className:`chat-layout dock-layout`,children:l.loading?(0,K.jsxs)(ft,{className:`empty-state`,children:[(0,K.jsx)(z,{className:`spin`,size:24}),(0,K.jsx)(`h2`,{children:s(`chat:chatPage.wakingTheAgent`)}),(0,K.jsx)(`p`,{children:s(`chat:chatPage.modelsSessionsAndContextAreSettlingIntoPlace`)})]}):(0,K.jsx)(`div`,{className:`chat-dock-workspace`,children:(0,K.jsx)(ja.Provider,{value:x,children:(0,K.jsx)(ht,{className:`dockview-theme-light dockview-theme-pisper`,components:b,watermarkComponent:Pa,leftHeaderActionsComponent:y,onReady:d.onDockReady,getTabContextMenuItems:d.getTabContextMenuItems,disableFloatingGroups:!0,disableDnd:d.compactDock,noPanelsOverlay:`watermark`})})})}),v.workspaceSession&&(0,K.jsx)(re,{open:!0,initialPath:v.workspaceSession.cwd,description:s(`common:workspacePicker.selectWorkspaceForChat`,{name:v.workspaceSession.name}),onOpenChange:e=>!e&&v.setWorkspaceSession(null),onSelect:e=>v.switchSessionCwd(v.workspaceSession,e)})]})}export{ho as ChatPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,t as n}from"./vendor-react-CHuvPdJE.js";import{t as r}from"./utils-C8uzG5AZ.js";/* empty css */var i=e(t(),1),a=n();function o({className:e,onPointerDownCapture:t,children:n,...o}){let[s,c]=(0,i.useState)(null),l=(0,i.useCallback)(e=>{let n=e.currentTarget.getBoundingClientRect();c({id:Date.now(),x:e.clientX-n.left,y:e.clientY-n.top}),t?.(e)},[t]);return(0,a.jsxs)(`span`,{className:r(`rb-click-spark`,e),onPointerDownCapture:l,...o,children:[n,s&&(0,a.jsx)(`span`,{"aria-hidden":`true`,className:`rb-click-spark-burst`,style:{left:s.x,top:s.y},children:Array.from({length:8},(e,t)=>(0,a.jsx)(`i`,{style:{"--rb-spark-angle":`${t*45}deg`}},t))},s.id)]})}export{o as ClickSpark};
|