@rexvane/piweb 0.3.22 → 0.3.23
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/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +5 -4
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +4 -4
- package/.next/react-loadable-manifest.json +11 -4
- package/.next/routes-manifest.json +8 -0
- package/.next/server/app/_global-error/page.js +2 -2
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/agent/[id]/events/route.js +2 -2
- package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/[id]/route.js +1 -1
- package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/[id]/side-chat/route.js +5 -0
- package/.next/server/app/api/agent/[id]/side-chat/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/[id]/side-chat/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/agent/[id]/tree/route.js +1 -1
- package/.next/server/app/api/agent/[id]/tree/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/new/route.js +1 -1
- package/.next/server/app/api/agent/new/route.js.nft.json +1 -1
- package/.next/server/app/api/config/route.js +1 -1
- package/.next/server/app/api/config/route.js.nft.json +1 -1
- package/.next/server/app/api/files/route.js +1 -1
- package/.next/server/app/api/files/route.js.nft.json +1 -1
- package/.next/server/app/api/fs/route.js +1 -1
- package/.next/server/app/api/fs/route.js.nft.json +1 -1
- package/.next/server/app/api/git/route.js +2 -2
- package/.next/server/app/api/git/route.js.nft.json +1 -1
- package/.next/server/app/api/github/route.js +2 -2
- package/.next/server/app/api/github/route.js.nft.json +1 -1
- package/.next/server/app/api/growth/route.js +1 -1
- package/.next/server/app/api/growth/route.js.nft.json +1 -1
- package/.next/server/app/api/health/route.js +1 -1
- package/.next/server/app/api/health/route.js.nft.json +1 -1
- package/.next/server/app/api/models/defaults/route.js +1 -1
- package/.next/server/app/api/models/defaults/route.js.nft.json +1 -1
- package/.next/server/app/api/models/route.js +1 -1
- package/.next/server/app/api/models/route.js.nft.json +1 -1
- package/.next/server/app/api/pi-settings/route.js +1 -1
- package/.next/server/app/api/pi-settings/route.js.nft.json +1 -1
- package/.next/server/app/api/plugins/route.js +1 -1
- package/.next/server/app/api/plugins/route.js.nft.json +1 -1
- package/.next/server/app/api/prompts/route.js +1 -1
- package/.next/server/app/api/prompts/route.js.nft.json +1 -1
- package/.next/server/app/api/remote/route.js +3 -3
- package/.next/server/app/api/remote/route.js.nft.json +1 -1
- package/.next/server/app/api/security/route.js +1 -1
- package/.next/server/app/api/security/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/export/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/import/route.js +2 -2
- package/.next/server/app/api/sessions/import/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/route.js +1 -1
- package/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/route.js +2 -2
- package/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/update/route.js +2 -2
- package/.next/server/app/api/update/route.js.nft.json +1 -1
- package/.next/server/app/api/version/route.js +1 -1
- package/.next/server/app/api/version/route.js.nft.json +1 -1
- package/.next/server/app/api/web-auth/route.js +2 -2
- package/.next/server/app/api/web-auth/route.js.nft.json +1 -1
- package/.next/server/app/api/workspaces/route.js +1 -1
- package/.next/server/app/api/workspaces/route.js.nft.json +1 -1
- package/.next/server/app/icon.svg/route.js +1 -1
- package/.next/server/app/icon.svg/route.js.nft.json +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +7 -6
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +7 -6
- package/.next/server/app/index.segments/_full.segment.rsc +7 -6
- package/.next/server/app/index.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/login/page.js +1 -1
- package/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +1 -1
- package/.next/server/app/login.rsc +3 -3
- package/.next/server/app/login.segments/_full.segment.rsc +3 -3
- package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/page.js +1 -1
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +5 -4
- package/.next/server/chunks/{813.js → 1813.js} +1 -1
- package/.next/server/chunks/{430.js → 2430.js} +1 -1
- package/.next/server/chunks/{970.js → 2970.js} +1 -1
- package/.next/server/chunks/3421.js +1 -0
- package/.next/server/chunks/3924.js +6 -0
- package/.next/server/chunks/4807.js +1 -0
- package/.next/server/chunks/5393.js +1 -0
- package/.next/server/chunks/5802.js +2 -0
- package/.next/server/chunks/6229.js +1 -0
- package/.next/server/chunks/7496.js +1 -0
- package/.next/server/chunks/7662.js +2 -0
- package/.next/server/chunks/8686.js +1 -0
- package/.next/server/chunks/{593.js → 974.js} +1 -1
- package/.next/server/chunks/{920.js → 9920.js} +1 -1
- package/.next/server/functions-config-manifest.json +2 -1
- package/.next/server/instrumentation.js +1 -1
- package/.next/server/instrumentation.js.nft.json +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/middleware.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/preview-props.json +3 -3
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/server/webpack-runtime.js +1 -1
- package/.next/static/chunks/2716.44fdf1b21454b961.js +1 -0
- package/.next/static/chunks/4673.e261707dce391be7.js +1 -0
- package/.next/static/chunks/4686-0cd87513f9ea3538.js +1 -0
- package/.next/static/chunks/7411.5f79671208209b13.js +1 -0
- package/.next/static/chunks/app/_global-error/page-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/events/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/side-chat/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/tree/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/agent/new/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/config/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/files/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/fs/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/git/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/github/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/growth/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/health/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/models/defaults/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/models/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/pi-settings/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/plugins/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/prompts/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/remote/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/security/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/export/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/sessions/import/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/sessions/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/skills/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/update/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/version/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/web-auth/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/api/workspaces/route-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/app/page-dc3cb41d91c7432e.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-cbaaee0d7aacb85a.js +1 -0
- package/.next/static/chunks/webpack-2ac3d76b81895f5b.js +1 -0
- package/.next/static/css/9fc559c2c4ad1d0f.css +1 -0
- package/.next/static/css/c6e2227c36ec2fd6.css +1 -0
- package/.next/types/app/api/agent/[id]/side-chat/route.ts +355 -0
- package/.next/types/routes.d.ts +2 -1
- package/.next/types/validator.ts +10 -0
- package/next.config.ts +2 -0
- package/package.json +7 -1
- package/scripts/release.mjs +3 -7
- package/scripts/runtime/check-installed.mjs +66 -0
- package/scripts/runtime/pi-packages.mjs +51 -0
- package/scripts/verify-package.mjs +29 -7
- package/src/app/api/agent/[id]/side-chat/route.ts +77 -0
- package/src/app/globals.css +1576 -14
- package/src/components/AppShell.tsx +63 -13
- package/src/components/ChatInput.tsx +33 -29
- package/src/components/ChatWindow.tsx +6 -7
- package/src/components/ContextMeter.tsx +35 -16
- package/src/components/DrawerPanel.tsx +1 -1
- package/src/components/FileViewer.tsx +89 -8
- package/src/components/GrowthTree.tsx +30 -5
- package/src/components/ModelSelector.tsx +21 -5
- package/src/components/SettingsPanel.tsx +25 -16
- package/src/components/chat/reading-anchor.ts +81 -0
- package/src/components/composer/ComposerImages.tsx +31 -11
- package/src/components/side-chat/SideChatPanel.module.css +131 -0
- package/src/components/side-chat/SideChatPanel.tsx +189 -0
- package/src/components/side-chat/icons.tsx +8 -0
- package/src/components/side-chat/request-history.ts +29 -0
- package/src/components/side-chat/store.ts +248 -0
- package/src/hooks/useFileViewer.ts +6 -4
- package/src/i18n.tsx +50 -8
- package/src/lib/files-service.ts +66 -2
- package/src/lib/path-security.ts +24 -32
- package/src/lib/session-reader.ts +1 -1
- package/src/lib/side-chat/context.ts +123 -0
- package/src/lib/side-chat/service.ts +191 -0
- package/src/lib/side-chat/types.ts +61 -0
- package/src/lib/types.ts +1 -1
- package/src/lib/update-service.ts +4 -6
- package/.next/server/chunks/229.js +0 -1
- package/.next/server/chunks/393.js +0 -1
- package/.next/server/chunks/421.js +0 -1
- package/.next/server/chunks/496.js +0 -1
- package/.next/server/chunks/662.js +0 -2
- package/.next/server/chunks/686.js +0 -1
- package/.next/server/chunks/802.js +0 -2
- package/.next/server/chunks/807.js +0 -1
- package/.next/server/chunks/924.js +0 -6
- package/.next/static/chunks/2716.7ad073038e94a802.js +0 -1
- package/.next/static/chunks/4673.4cf66cbdd8364c57.js +0 -1
- package/.next/static/chunks/4686-09fcd0028079006c.js +0 -1
- package/.next/static/chunks/7411.67366dc5032a141d.js +0 -1
- package/.next/static/chunks/app/_global-error/page-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/events/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/tree/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/agent/new/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/config/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/files/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/fs/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/git/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/github/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/growth/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/health/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/models/defaults/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/models/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/pi-settings/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/plugins/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/prompts/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/remote/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/security/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/export/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/sessions/import/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/sessions/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/skills/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/update/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/version/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/web-auth/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/api/workspaces/route-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/page-fc4ed2ff29b6235e.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/webpack-22ebffc20adb44ae.js +0 -1
- package/.next/static/css/6671d0d1589fdc0e.css +0 -1
- /package/.next/static/{WMazYvD-gbeLsCUfUxvvM → hYPL1-dmhKFjLS3f5yoqN}/_buildManifest.js +0 -0
- /package/.next/static/{WMazYvD-gbeLsCUfUxvvM → hYPL1-dmhKFjLS3f5yoqN}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8974],{560:(e,t,r)=>{"use strict";r.d(t,{$h:()=>o,t7:()=>d,vf:()=>i,yw:()=>u});var s=r(2115);let n="piweb.enterBehavior",l="steer",a=new Set;function o(){let e=localStorage.getItem(n);return"queue"===e||"steer"===e?e:l}function i(e){for(let t of(localStorage.setItem(n,e),a))t()}function d(e){return"steer"===e?"queue":"steer"}function c(e){return a.add(e),window.addEventListener("storage",e),()=>{a.delete(e),window.removeEventListener("storage",e)}}function u(){return(0,s.useSyncExternalStore)(c,o,()=>l)}},826:(e,t,r)=>{"use strict";r.d(t,{H:()=>o});var s=r(5155),n=r(2115),l=r(1859),a=r(8155);function o({command:e}){let{t}=(0,l.s)(),[r,i]=(0,n.useState)("");return(0,s.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:[(0,s.jsx)("code",{className:"min-w-0 flex-1",style:{fontFamily:"var(--font-mono)",fontSize:11,color:"var(--dsw-label-primary)",whiteSpace:"nowrap",overflowX:"auto"},children:e}),(0,s.jsx)("button",{type:"button",className:"btn-outline flex-none",style:{height:22,padding:"0 8px",fontSize:11,color:"fail"===r?"var(--dsw-danger)":void 0},onClick:()=>{(0,a.D)(e).then(e=>{i(e?"ok":"fail"),setTimeout(()=>i(""),1500)})},children:"ok"===r?t.updateCopied:"fail"===r?t.copyFailed:t.copy})]})}},922:(e,t,r)=>{"use strict";r.d(t,{D8:()=>l,Uf:()=>c,Z$:()=>n,di:()=>d,ll:()=>i});let s={ui:'"Maple Mono CN", ui-monospace, SFMono-Regular, Menlo, Consolas, "PingFang SC", "Microsoft YaHei", monospace',mono:'"Maple Mono CN", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace'},n={ui:[{id:"maple",stack:s.ui,label:{zh:"Maple Mono CN(默认)",en:"Maple Mono CN (default)"}},{id:"system",stack:'ui-sans-serif, system-ui, -apple-system, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif',label:{zh:"系统默认",en:"System default"}},{id:"noto",stack:'"Noto Sans SC", ui-sans-serif, system-ui, "PingFang SC", "Microsoft YaHei", sans-serif',label:{zh:"思源黑体",en:"Noto Sans SC"}}],mono:[{id:"maple",stack:s.mono,label:{zh:"Maple Mono CN(默认)",en:"Maple Mono CN (default)"}},{id:"system",stack:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",label:{zh:"系统等宽",en:"System monospace"}},{id:"jetbrains",stack:'"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace',label:{zh:"JetBrains Mono",en:"JetBrains Mono"}},{id:"fira",stack:'"Fira Code", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace',label:{zh:"Fira Code",en:"Fira Code"}}]},l="custom:",a={ui:"piweb.fontUi",mono:"piweb.fontMono"},o={ui:"--font-ui",mono:"--font-mono"};function i(e){try{return localStorage.getItem(a[e])}catch{return null}}function d(e,t){let r=document.documentElement;try{if(!t){r.style.removeProperty(o[e]),localStorage.removeItem(a[e]);return}r.style.setProperty(o[e],t?t.startsWith(l)?t.slice(l.length).trim()||s[e]:n[e].find(e=>e.id===t)?.stack??s[e]:s[e]),localStorage.setItem(a[e],t)}catch{}}function c(){d("ui",i("ui")),d("mono",i("mono"))}},1135:(e,t,r)=>{"use strict";function s(e){return`${e.kind}:${e.path}`}function n(e){let t=e.lastIndexOf("/");return t<0?"":e.slice(0,t)}function l(e){let t=[],r=n(e);for(;r;)t.push(r),r=n(r);return t.reverse()}function a(e,t){return e.kind!==t.kind?"dir"===e.kind?-1:1:e.name.localeCompare(t.name,void 0,{numeric:!0,sensitivity:"base"})}function o(){return{added:0,modified:0,deleted:0,renamed:0,pending:0}}function i(e,t,r=[],s=[]){let l={path:"",name:"",kind:"dir",children:[],counts:o()},d=new Map([["",l]]),c=e=>{let t=d.get(e);if(t)return t;let r=c(n(e)),s={path:e,name:e.slice(e.lastIndexOf("/")+1),kind:"dir",children:[],counts:o()};return r.children.push(s),d.set(e,s),s},u=new Map,p=(e,t)=>{let r=u.get(e);if(r)return r;let s=c(n(e)),l={path:e,name:e.slice(e.lastIndexOf("/")+1),kind:"file",size:t};return s.children.push(l),u.set(e,l),l};for(let t of e)p(t.path,t.size);for(let e of t){let t=p(e.path);t.status=e.status,e.from&&(t.from=e.from),void 0!==e.add&&(t.add=e.add),void 0!==e.del&&(t.del=e.del),e.binary&&(t.binary=!0)}for(let e of r){let t=/[/\\]$/.test(e),r=e.replace(/\\/g,"/").replace(/^\/+|\/+$/g,"");if(!r)continue;let s=t?d.get(r):u.get(r)??d.get(r);s?s.pending=!0:t?c(r).pending=!0:p(r).pending=!0}for(let e of s)d.has(e)||(c(e).lazy=!0);let m=e=>{let t=o();for(let r of e.children??[])if("dir"===r.kind){let e=m(r);r.pending&&!e.pending&&(t.pending+=1),t.added+=e.added,t.modified+=e.modified,t.deleted+=e.deleted,t.renamed+=e.renamed,t.pending+=e.pending}else"A"===r.status?t.added+=1:"M"===r.status?t.modified+=1:"D"===r.status?t.deleted+=1:"R"===r.status&&(t.renamed+=1),r.pending&&(t.pending+=1);return e.children.sort(a),e.counts=t,t};return m(l),l}function d(e,t,r={}){let s=(r.filter??"").trim().toLowerCase(),n=[],l=e=>(!r.onlyChanges||!!function(e){if("file"===e.kind)return!!(e.status||e.pending);let t=e.counts;return!!(e.pending||t&&(t.added||t.modified||t.deleted||t.renamed||t.pending))}(e))&&(!s||("file"===e.kind?e.name.toLowerCase().includes(s):(e.children??[]).some(l))),a=(e,r)=>{for(let o of e.children??[]){if(!l(o))continue;let e="dir"===o.kind&&(!!s||t.has(o.path));n.push({node:o,depth:r,expanded:e}),e&&a(o,r+1)}};return a(e,0),n}function c(e){let t=[],r=e=>{for(let s of e.children??[])"dir"===s.kind&&(t.push(s.path),r(s))};return r(e),t}function u(e,t=[]){let r=new Set;for(let t of e)for(let e of l(t.path))r.add(e);for(let e of t)for(let t of l(e.replace(/\\/g,"/")))r.add(t);return[...r]}function p(e,t){let r=e.toLowerCase(),s=t.toLowerCase();if(!r)return 0;let n=s.indexOf(r);if(n>=0)return 1e3-n-(s.length-r.length)*.01;let l=0,a=0,o=-2;for(let e of r){let t=s.indexOf(e,a);if(t<0)return -1;l+=t===o+1?5:1,(0===t||"/"===s[t-1]||"."===s[t-1]||"-"===s[t-1]||"_"===s[t-1])&&(l+=3),o=t,a=t+1}return l-.01*s.length}function m(e,t){if(!t.size)return e;let r=e=>{if("dir"!==e.kind)return e;let n=new Map((e.children??[]).map(e=>[s(e),r(e)]));for(let l of t.get(e.path)??[]){let e=s(l),t=n.get(e);t?"dir"===t.kind&&n.set(e,{...t,lazy:!0}):n.set(e,r(l))}return{...e,children:[...n.values()].sort(a)}};return r(e)}r.d(t,{H6:()=>i,SG:()=>s,dG:()=>d,dt:()=>p,jg:()=>m,pI:()=>u,pu:()=>c})},2253:(e,t,r)=>{"use strict";r.d(t,{s:()=>l,Q:()=>a});let s=JSON.parse('{"defaults":{"file":"file","folder":"folder","folderOpen":"folder-open"},"ext":{"7z":"zip","adoc":"asciidoc","ai":"adobe-illustrator","asc":"key","asm":"assembly","astro":"astro","avi":"video","avif":"image","bash":"console","bat":"console","bib":"bibliography","bicep":"bicep","blend":"blender","bmp":"image","bz2":"zip","c":"c","cc":"cpp","cer":"certificate","cfg":"settings","cjs":"javascript","clj":"clojure","cmake":"cmake","cmd":"console","conf":"settings","cpp":"cpp","crt":"certificate","cs":"csharp","cshtml":"razor","css":"css","csv":"table","d.ts":"typescript-def","dart":"dart","db":"database","diff":"diff","doc":"word","docx":"word","ejs":"ejs","elm":"elm","env":"tune","eot":"font","erl":"erlang","ex":"elixir","exs":"elixir","fbx":"3d","fish":"console","flac":"audio","fs":"fsharp","gif":"image","glsl":"shader","gltf":"3d","go":"go","gpg":"key","gql":"graphql","gradle":"gradle","graphql":"graphql","groovy":"groovy","gz":"zip","h":"h","hbs":"handlebars","hcl":"hcl","hlsl":"shader","hpp":"hpp","hs":"haskell","htm":"html","html":"html","ico":"image","ics":"email","ini":"settings","ipynb":"jupyter","java":"java","jl":"julia","jpeg":"image","jpg":"image","js":"javascript","json":"json","json5":"json","jsonc":"json","jsonl":"json","jsx":"react","key":"key","kt":"kotlin","kts":"kotlin","less":"less","liquid":"liquid","lock":"lock","log":"log","lua":"lua","m":"objective-c","markdown":"markdown","md":"markdown","mdx":"mdx","mjs":"javascript","mk":"makefile","mkv":"video","ml":"ocaml","mm":"objective-cpp","mo":"i18n","mov":"video","mp3":"audio","mp4":"video","nim":"nim","nix":"nix","obj":"3d","ogg":"video","otf":"font","owl":"xml","patch":"git","pdf":"pdf","pem":"key","php":"php","pl":"prolog","plist":"xml","png":"image","po":"i18n","pot":"i18n","ppt":"powerpoint","pptx":"powerpoint","prisma":"prisma","properties":"settings","proto":"proto","ps1":"powershell","psd":"adobe-photoshop","psm1":"powershell","pub":"key","pug":"pug","py":"python","pyc":"python-misc","pyi":"python","r":"r","rar":"zip","razor":"razor","rb":"ruby","rdf":"xml","rs":"rust","rst":"markdown","rtf":"word","s":"assembly","sass":"sass","scala":"scala","scss":"sass","sh":"console","shader":"shader","sig":"sml","sol":"solidity","spec.js":"test-js","spec.ts":"test-ts","sql":"database","sqlite":"database","sqlite3":"database","stl":"3d","styl":"stylus","svelte":"svelte","svg":"svg","swift":"swift","tar":"zip","test.js":"test-js","test.ts":"test-ts","test.tsx":"test-jsx","tex":"tex","tf":"terraform","tfvars":"terraform","tgz":"zip","toml":"toml","ts":"typescript","tsv":"table","tsx":"react_ts","ttf":"font","txt":"document","unity":"unity","v":"vlang","vala":"vala","vim":"vim","vue":"vue","wasm":"webassembly","wat":"webassembly","wav":"audio","webm":"video","webp":"image","woff":"font","woff2":"font","xls":"table","xlsx":"table","xml":"xml","xz":"zip","yaml":"yaml","yml":"yaml","zig":"zig","zip":"zip","zsh":"console"},"name":{".babelrc":"babel",".cursorrules":"cursor",".editorconfig":"editorconfig",".env.development":"tune",".env.example":"tune",".env.local":"tune",".env.production":"tune",".env.test":"tune",".eslintrc":"eslint",".eslintrc.js":"eslint",".eslintrc.json":"eslint",".gitattributes":"git",".gitignore":"git",".gitkeep":"git",".gitmodules":"git",".huskyrc":"husky",".lintstagedrc":"lintstaged",".npmrc":"npm",".nvmrc":"nodejs",".prettierignore":"prettier",".prettierrc":"prettier",".releaserc":"semantic-release",".travis.yml":"travis","agents.md":"agent","authors":"authors","babel.config.js":"babel","bun.lock":"bun","bun.lockb":"bun","changelog":"changelog","changelog.md":"changelog","cmakelists.txt":"cmake","code_of_conduct.md":"conduct","codeowners":"codeowners","commitlint.config.js":"commitlint","compose.yaml":"docker","compose.yml":"docker","composer.lock":"json","contributing.md":"contributing","deno.json":"deno","deno.jsonc":"deno","docker-compose.yaml":"docker","docker-compose.yml":"docker","dockerfile":"docker","ecosystem.config.js":"pm2-ecosystem","eslint.config.js":"eslint","eslint.config.mjs":"eslint","favicon.ico":"favicon","gemfile":"gemfile","go.mod":"go-mod","go.sum":"go-mod","jenkinsfile":"jenkins","jest.config.js":"jest","jest.config.ts":"jest","jsconfig.json":"jsconfig","justfile":"just","lerna.json":"lerna","license":"license","license.md":"license","license.txt":"license","makefile":"makefile","netlify.toml":"netlify","next.config.js":"next","next.config.mjs":"next","next.config.ts":"next","nodemon.json":"nodemon","now.json":"vercel","nx.json":"nx","package-lock.json":"nodejs","package.json":"nodejs","pipfile":"python-misc","pnpm-lock.yaml":"pnpm","poetry.lock":"poetry","pom.xml":"maven","postcss.config.js":"postcss","postcss.config.mjs":"postcss","procfile":"heroku","pyproject.toml":"python-misc","rakefile":"ruby","readme":"readme","readme.md":"readme","renovate.json":"renovate","requirements.txt":"python-misc","robots.txt":"robots","rollup.config.js":"rollup","rollup.config.mjs":"rollup","security.md":"lock","tailwind.config.js":"tailwindcss","tailwind.config.ts":"tailwindcss","taskfile.yml":"taskfile","tsconfig.base.json":"tsconfig","tsconfig.json":"tsconfig","turbo.json":"turborepo","uv.lock":"uv","vercel.json":"vercel","vite.config.js":"vite","vite.config.ts":"vite","vitest.config.mts":"vitest","vitest.config.ts":"vitest","webpack.config.js":"webpack","yarn.lock":"yarn"},"folder":{"__mocks__":"folder-mock","__pycache__":"folder-python","__tests__":"folder-test",".cache":"folder-temp",".circleci":"folder-circleci",".git":"folder-git",".github":"folder-github",".gitlab":"folder-gitlab",".husky":"folder-husky",".idea":"folder-intellij",".next":"folder-next",".nuxt":"folder-nuxt",".pytest_cache":"folder-python",".svelte-kit":"folder-svelte",".turbo":"folder-turborepo",".venv":"folder-environment",".vscode":"folder-vscode","@types":"folder-typescript","admin":"folder-admin","agent":"folder-robot","agents":"folder-robot","android":"folder-android","api":"folder-api","apis":"folder-api","app":"folder-app","apps":"folder-app","archive":"folder-archive","archives":"folder-archive","assets":"folder-resource","atoms":"folder-atom","audio":"folder-audio","auth":"folder-secure","aws":"folder-aws","azure":"folder-aws","backend":"folder-server","backup":"folder-backup","backups":"folder-backup","benchmark":"folder-benchmark","benchmarks":"folder-benchmark","bin":"folder-dist","blog":"folder-docs","build":"folder-dist","cache":"folder-temp","cart":"folder-cart","certificates":"folder-secure","certs":"folder-secure","chat":"folder-messages","ci":"folder-ci","cli":"folder-command","client":"folder-client","command":"folder-command","commands":"folder-command","common":"folder-shared","components":"folder-components","config":"folder-config","configs":"folder-config","configuration":"folder-config","console":"folder-console","content":"folder-content","context":"folder-context","contexts":"folder-context","contract":"folder-contract","contracts":"folder-contract","controller":"folder-controller","controllers":"folder-controller","core":"folder-core","coverage":"folder-coverage","css":"folder-css","data":"folder-database","database":"folder-database","db":"folder-database","debug":"folder-debug","demo":"folder-examples","demos":"folder-examples","deprecated":"folder-deprecated","design":"folder-theme","designs":"folder-theme","desktop":"folder-desktop","dist":"folder-dist","doc":"folder-docs","docker":"folder-docker","docs":"folder-docs","documentation":"folder-docs","draft":"folder-mock","drafts":"folder-mock","e2e":"folder-coverage","element":"folder-element","elements":"folder-element","env":"folder-environment","environment":"folder-environment","environments":"folder-environment","event":"folder-event","events":"folder-event","example":"folder-examples","examples":"folder-examples","extension":"folder-plugin","extensions":"folder-plugin","feature":"folder-features","features":"folder-features","fixture":"folder-mock","fixtures":"folder-mock","font":"folder-font","fonts":"folder-font","frontend":"folder-client","functions":"folder-functions","gcp":"folder-aws","gen":"folder-generator","generated":"folder-generator","gql":"folder-graphql","graphql":"folder-graphql","helper":"folder-helper","helpers":"folder-helper","history":"folder-backup","hooks":"folder-hook","i18n":"folder-i18n","icon":"folder-images","icons":"folder-images","image":"folder-images","images":"folder-images","img":"folder-images","include":"folder-include","includes":"folder-include","infra":"folder-server","infrastructure":"folder-server","interfaces":"folder-interface","ios":"folder-ios","java":"folder-java","job":"folder-job","jobs":"folder-job","k8s":"folder-kubernetes","keys":"folder-keys","kubernetes":"folder-kubernetes","lambda":"folder-functions","lang":"folder-i18n","langs":"folder-i18n","layout":"folder-layout","layouts":"folder-layout","less":"folder-less","lib":"folder-lib","libraries":"folder-lib","library":"folder-lib","libs":"folder-lib","locale":"folder-i18n","locales":"folder-i18n","log":"folder-log","logs":"folder-log","media":"folder-video","messages":"folder-messages","meta":"folder-meta","metadata":"folder-meta","middleware":"folder-middleware","middlewares":"folder-middleware","migration":"folder-migrations","migrations":"folder-migrations","mobile":"folder-mobile","mock":"folder-mock","mocks":"folder-mock","model":"folder-class","models":"folder-class","module":"folder-plugin","modules":"folder-plugin","molecules":"folder-molecule","node_modules":"folder-node","notebook":"folder-jupyter","notebooks":"folder-jupyter","organisms":"folder-organism","out":"folder-dist","output":"folder-dist","package":"folder-packages","packages":"folder-packages","pages":"folder-views","plugin":"folder-plugin","plugins":"folder-plugin","posts":"folder-docs","prisma":"folder-prisma","prompt":"folder-prompts","prompts":"folder-prompts","proto":"folder-proto","provider":"folder-controller","providers":"folder-controller","public":"folder-public","python":"folder-python","queue":"folder-queue","release":"folder-dist","res":"folder-resource","resource":"folder-resource","resources":"folder-resource","review":"folder-review","reviews":"folder-review","router":"folder-routes","routers":"folder-routes","routes":"folder-routes","rust":"folder-rust","sample":"folder-examples","samples":"folder-examples","sass":"folder-sass","schema":"folder-class","schemas":"folder-class","script":"folder-scripts","scripts":"folder-scripts","scss":"folder-sass","secrets":"folder-keys","seed":"folder-seeders","seeds":"folder-seeders","server":"folder-server","service":"folder-controller","services":"folder-controller","settings":"folder-config","shared":"folder-shared","site":"folder-public","skill":"folder-skills","skills":"folder-skills","sounds":"folder-audio","source":"folder-src","spec":"folder-test","specs":"folder-test","src":"folder-src","static":"folder-resource","store":"folder-store","stores":"folder-store","stories":"folder-storybook","style":"folder-css","styles":"folder-css","supabase":"folder-supabase","target":"folder-target","tasks":"folder-tasks","temp":"folder-temp","template":"folder-template","templates":"folder-template","terraform":"folder-terraform","test":"folder-test","tests":"folder-test","theme":"folder-theme","themes":"folder-theme","third-party":"folder-lib","tmp":"folder-temp","tooling":"folder-tools","tools":"folder-tools","translations":"folder-i18n","types":"folder-typescript","typings":"folder-typescript","ui":"folder-ui","util":"folder-utils","utils":"folder-utils","vendor":"folder-lib","vendors":"folder-lib","venv":"folder-environment","video":"folder-video","videos":"folder-video","view":"folder-views","views":"folder-views","web":"folder-public","website":"folder-public","widget":"folder-components","widgets":"folder-components"}}');function n(e){return`/file-icons/${e}.svg`}function l(e){let t=e.toLowerCase(),r=s.name[t];if(r)return n(r);let l=t.split(".");for(let e=1;e<l.length;e+=1){let t=l.slice(e).join("."),r=s.ext[t];if(r)return n(r)}return n(s.defaults.file)}function a(e,t){let r=s.folder[e.toLowerCase()];return r?n(t?`${r}-open`:r):n(t?s.defaults.folderOpen:s.defaults.folder)}},2578:(e,t,r)=>{"use strict";function s(e){return e?["text","image"]:["text"]}r.d(t,{C:()=>n,Gy:()=>g,Ik:()=>x,KM:()=>c,Ki:()=>v,Lg:()=>a,SC:()=>i,Vt:()=>h,aK:()=>p,sm:()=>u,vV:()=>m,xe:()=>d});let n={contextWindow:128e3,maxTokens:16384};function l(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function a(e){let t=l(e)?e:{id:"string"==typeof e?e:""},r=Array.isArray(t.input)?t.input.filter(e=>"string"==typeof e):void 0;return{id:String(t.id??""),name:"string"==typeof t.name?t.name:"",contextWindow:"number"==typeof t.contextWindow?t.contextWindow:void 0,maxTokens:"number"==typeof t.maxTokens?t.maxTokens:void 0,vision:r?r.includes("image"):void 0,source:t}}function o(e){return"number"==typeof e&&Number.isSafeInteger(e)&&e>0?e:void 0}function i(e){let t=o(e.contextWindow),r=o(e.maxTokens);return{id:e.id.trim(),name:e.name??"",...void 0===t?{}:{contextWindow:t},...void 0===r?{}:{maxTokens:r},..."boolean"==typeof e.vision?{vision:e.vision}:{}}}function d(e){let t=l(e)?e:{};return[...Array.isArray(t.models)?t.models.map(a):[],...l(t.modelOverrides)?Object.entries(t.modelOverrides).map(([e,t])=>({...a({...l(t)?t:{},id:e}),origin:"override"})):[]]}function c(e){let t=e.trim().toLowerCase();if(!t)return;let r=/^(\d+(?:\.\d+)?)\s*([km]?)$/.exec(t);if(!r)return 0/0;let s=Math.round(Number(r[1])*("k"===r[2]?1e3:"m"===r[2]?1e6:1));return Number.isSafeInteger(s)&&s>0?s:0/0}function u(e){return void 0===e||!Number.isFinite(e)||e<=0?"":e>=1e6&&e%1e6==0?`${e/1e6}M`:e>=1e3&&e%1e3==0?`${e/1e3}K`:String(e)}function p(e){let t=new Set;for(let r=0;r<e.length;r+=1){let s=e[r],n=s.id.trim();if(!n||t.has(n))return{index:r,reason:"id"};if(t.add(n),[s.contextWindow,s.maxTokens].some(e=>void 0!==e&&(!Number.isSafeInteger(e)||e<=0)))return{index:r,reason:"capacity"}}}function m(e){let t={...e.source},r=e.source?a(e.source):void 0;for(let s of["id","name","contextWindow","maxTokens"]){let n=e[s];if(!(r&&Object.is(n,r[s])))if("id"===s||"name"===s){let e="string"==typeof n?n.trim():"";"id"===s||e?t[s]=e:delete t[s]}else"number"==typeof n&&Number.isSafeInteger(n)&&n>0?t[s]=n:delete t[s]}let n=e.vision;return void 0===n?r?.vision!==void 0&&delete t.input:Object.is(n,r?.vision)||(t.input=s(n)),t}function h(e,t,r,s){let n={...e};for(let r of["baseUrl","name","api"]){let s=t[r];void 0!==s&&s!==("string"==typeof e[r]?e[r]:"")&&(s.trim()?n[r]=s.trim():delete n[r])}t.apiKey?.trim()&&(n.apiKey=t.apiKey.trim());let{definitions:o,overrides:i}=s?function(e,t){let r=[],s=[];for(let n of e){let e=n.id.trim(),o=l(n.source)?n.source:void 0,i="override"!==n.origin&&(o?.api!==void 0||o?.baseUrl!==void 0),d="override"===n.origin&&void 0!==o&&a(o).id===e,c=!i&&(t.has(e)||d),u=m(n);if(!c){r.push(u);continue}let p={...u};delete p.id,Object.keys(p).length&&s.push([e,p])}return{definitions:r,overrides:Object.fromEntries(s)}}(t.models,s):{definitions:t.models.map(e=>m(e)),overrides:void 0};return(o.length||Object.prototype.hasOwnProperty.call(e,"models"))&&(n.models=o),i&&(Object.keys(i).length?n.modelOverrides=i:delete n.modelOverrides),o.length&&void 0===e.models&&void 0===n.api&&r&&(n.api=r),n}let f=new Set(["api","name","models","modelOverrides"]);function g(e){return!(Array.isArray(e.models)&&e.models.length||l(e.modelOverrides)&&Object.keys(e.modelOverrides).length)&&Object.keys(e).every(e=>f.has(e))}function x(e){let t=[];for(let[r,s]of Object.entries(e))(l(s)&&Array.isArray(s.models)?s.models:[]).forEach((e,s)=>{if(!l(e))return;let n="string"==typeof e.id?e.id.trim():"";if(!n)return;let o=[];if(void 0===e.contextWindow&&o.push("contextWindow"),void 0===e.maxTokens&&o.push("maxTokens"),Array.isArray(e.input)||o.push("input"),!o.length)return;let i=a(e);t.push({provider:r,index:s,id:n,name:"string"==typeof e.name&&e.name.trim()?e.name.trim():null,...void 0===i.contextWindow?{}:{contextWindow:i.contextWindow},...void 0===i.maxTokens?{}:{maxTokens:i.maxTokens},...void 0===i.vision?{}:{vision:i.vision},missing:o})});return t}function v(e,t){let r=JSON.parse(JSON.stringify(e)),n=0;for(let e of t){let t=Object.prototype.hasOwnProperty.call(r,e.provider)?r[e.provider]:void 0,a=l(t)&&Array.isArray(t.models)?t.models[e.index]:void 0;if(!l(a)||"string"!=typeof a.id||a.id.trim()!==e.id)continue;let i=!1;for(let t of["contextWindow","maxTokens"]){let r=o(e[t]);void 0===a[t]&&void 0!==r&&(a[t]=r,i=!0)}"boolean"!=typeof e.vision||Array.isArray(a.input)||(a.input=s(e.vision),i=!0),i&&(n+=1)}return{providers:r,filled:n}}},3364:(e,t,r)=>{"use strict";function s(e){if(!Number.isFinite(e))return"—";if(1e3>Math.abs(e))return String(Math.round(e));let t=e/1e3;return 1e3>Math.abs(Number(t.toFixed(2)))?`${t.toFixed(2)}K`:`${(e/1e6).toFixed(2)}M`}function n(e){return`${(Number.isFinite(e)?e:0).toFixed(2)}%`}function l(e){return(Number.isFinite(e)?e:0).toFixed(2)}function a(e){let t=Math.max(0,Number.isFinite(e)?e:0)/1e3;if(t<60)return`${t.toFixed(2)}s`;let r=Math.round(t);return`${Math.floor(r/60)}m${r%60}s`}function o(e){return!Number.isFinite(e)||e<=0?"0 B":e<1024?`${Math.round(e)} B`:e<1048576?`${(e/1024).toFixed(2)} KB`:`${(e/1024/1024).toFixed(2)} MB`}r.d(t,{J0:()=>n,c5:()=>a,uZ:()=>l,yj:()=>s,zi:()=>o})},4588:e=>{e.exports={panel:"SideChatPanel_panel__gmJjI",header:"SideChatPanel_header__3WY5N",title:"SideChatPanel_title__TS7UD",history:"SideChatPanel_history__mwswv",historyButton:"SideChatPanel_historyButton__I5lxO",historyMenu:"SideChatPanel_historyMenu__TsxYJ",historyItem:"SideChatPanel_historyItem__xmkhN",historyMeta:"SideChatPanel_historyMeta__tG2Mk",messages:"SideChatPanel_messages__PnT4R",messageContent:"SideChatPanel_messageContent__nVhAI",empty:"SideChatPanel_empty__2Bhps",question:"SideChatPanel_question__DnPBq",answer:"SideChatPanel_answer__fKje9",notice:"SideChatPanel_notice__0_HJt",waiting:"SideChatPanel_waiting__1y_j1",error:"SideChatPanel_error__uWlAq",storageError:"SideChatPanel_storageError__X4qhD",composer:"SideChatPanel_composer__AsYis",actions:"SideChatPanel_actions__MP_rx",model:"SideChatPanel_model__k6y3F",meter:"SideChatPanel_meter__rQsmg",send:"SideChatPanel_send__QgKbN"}},4965:(e,t,r)=>{"use strict";r.d(t,{d:()=>s});let s=(0,r(2115).createContext)(null)},6540:(e,t,r)=>{"use strict";r.d(t,{HD:()=>u,Xf:()=>d,kK:()=>c,m6:()=>i});var s=r(922);let n=["dsh","silver-steel","limestone-coal","linen-moss","nord-paper","pebrel"],l=["light","dark","system"],a="piweb.pebrelTheme",o="piweb.theme";function i(){try{let e=localStorage.getItem(a);if(e&&n.includes(e))return e}catch{}return"dsh"}function d(){try{let e=localStorage.getItem(o);if(e&&l.includes(e))return e}catch{}return"system"}function c(e,t){var r;let n,l,i,c=t??d();"dsh"===e?(document.documentElement.removeAttribute("data-pebrel-theme"),document.body?.removeAttribute("data-pebrel-theme")):(document.documentElement.setAttribute("data-pebrel-theme",e),document.body?.setAttribute("data-pebrel-theme",e)),n="dark"===("system"===(r=c)?window.matchMedia?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":"dark":r),l=document.documentElement,i=document.body,n?(l.setAttribute("data-ds-dark-theme",""),l.removeAttribute("data-ds-light-theme"),i?.setAttribute("data-ds-dark-theme",""),i?.removeAttribute("data-ds-light-theme")):(l.removeAttribute("data-ds-dark-theme"),l.setAttribute("data-ds-light-theme",""),i?.removeAttribute("data-ds-dark-theme"),i?.setAttribute("data-ds-light-theme","")),l.style.colorScheme=n?"dark":"light";try{let e=localStorage.getItem("piweb.fontSize");if(e){let t=Math.max(12,Math.min(18,parseInt(e,10)||14));document.documentElement.style.setProperty("--dsh-content-font-size",`${t}px`),document.documentElement.style.setProperty("--dsh-content-font-delta",`${t-14}px`)}let t=localStorage.getItem("piweb.chatFontSize");if(t){let e=Math.max(12,Math.min(20,parseInt(t,10)||14));document.documentElement.style.setProperty("--piweb-chat-font-size",`${e}px`)}}catch{}(0,s.Uf)();try{localStorage.setItem(a,e),localStorage.setItem(o,c)}catch{}}function u(){c(i(),d())}},7523:(e,t,r)=>{Promise.resolve().then(r.bind(r,8847)),Promise.resolve().then(r.bind(r,1859))},8155:(e,t,r)=>{"use strict";async function s(e){try{if(navigator.clipboard?.writeText)return await navigator.clipboard.writeText(e),!0}catch{}let t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select();try{return document.execCommand("copy")}catch{return!1}finally{t.remove()}}r.d(t,{D:()=>s})},8476:(e,t,r)=>{"use strict";r.d(t,{hM:()=>o,rj:()=>a,xZ:()=>i});var s=r(5155),n=r(2115),l=r(9665);function a(e){let t,r=[],s=e.replace(/\r\n/g,"\n").split("\n"),n=0,l=0,a=0,o=0,i=!1,d=e=>{let t=e.slice(4).split(" ")[0];if(!t.startsWith('"'))return t;try{return JSON.parse(t)}catch{return t.slice(1,-1)}};for(let e=0;e<s.length;e+=1){let c=s[e],u=/^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@(?:.*)$/.exec(c);if(u){n=Number(u[1]),l=Number(u[3]),a=void 0===u[2]?1:Number(u[2]),o=void 0===u[4]?1:Number(u[4]),i=a>0||o>0,void 0!==t?(r.push({kind:"file",text:t}),t=void 0):r.length&&"file"!==r[r.length-1].kind&&r.push({kind:"hunk",text:"…"});continue}if(!(i&&(c.startsWith("\\")||(c.startsWith("-")&&a>0?(r.push({kind:"del",old:n++,text:c.slice(1)}),a-=1):c.startsWith("+")&&o>0?(r.push({kind:"add",new:l++,text:c.slice(1)}),o-=1):c.startsWith(" ")&&a>0&&o>0?(r.push({kind:"ctx",old:n++,new:l++,text:c.slice(1)}),a-=1,o-=1):i=!1,0===a&&0===o&&(i=!1),"+"===c[0]||"-"===c[0]||" "===c[0])))){if(c.startsWith("diff --git ")&&(t=void 0),c.startsWith("--- ")&&s[e+1]?.startsWith("+++ ")){let r=d(c),n=d(s[++e]);t="/dev/null"===n?r.replace(/^a\//,""):n.replace(/^b\//,"")}}}return r.some(e=>"add"===e.kind||"del"===e.kind||"ctx"===e.kind)?r:null}function o(e){let t=0,r=0;for(let s of e)"add"===s.kind?t+=1:"del"===s.kind&&(r+=1);return{add:t,del:r}}function i({lines:e,language:t}){let r=1;for(let t of e){let e=t.new??t.old??0;e>r&&(r=e)}let a=String(r).length,o=(0,n.useMemo)(()=>{let r=t;return e.map(e=>"file"===e.kind?(r=(0,l.f3)(e.text)??t,null):"hunk"!==e.kind&&r&&e.text.trim()?(0,l.NK)(e.text,r):null)},[e,t]);return(0,s.jsx)("pre",{className:"hljs whitespace-pre-wrap",style:{fontFamily:"var(--font-mono)",fontSize:12,lineHeight:"18px",margin:0,background:"transparent"},children:e.map((e,t)=>{if("file"===e.kind)return(0,s.jsx)("div",{className:"truncate",style:{margin:0===t?"0 -8px 2px":"8px -8px 2px",padding:"2px 8px",fontSize:11.5,fontWeight:600,color:"var(--dsw-label-secondary)",borderBottom:"0.5px solid var(--dsw-border-l2)"},title:e.text,children:e.text},t);let r="hunk"===e.kind?"":String("del"===e.kind?e.old:e.new).padStart(a),n="add"===e.kind?"var(--dsw-success)":"del"===e.kind?"var(--dsw-danger)":"var(--dsw-label-caption)",l="add"===e.kind?"rgba(34,197,94,.14)":"del"===e.kind?"rgba(236,19,19,.12)":"transparent",i="add"===e.kind?"inset 2px 0 0 var(--dsw-success)":"del"===e.kind?"inset 2px 0 0 var(--dsw-danger)":void 0,d="add"===e.kind?"+":"del"===e.kind?"-":" ",c=o[t];return(0,s.jsxs)("div",{style:{background:l,boxShadow:i,color:"hunk"===e.kind?"var(--dsw-label-caption)":"var(--dsw-label-secondary)",padding:"0 8px",margin:"0 -8px"},children:[(0,s.jsxs)("span",{style:{color:n,userSelect:"none"},children:[r," ",d," "]}),c?(0,s.jsx)("span",{dangerouslySetInnerHTML:{__html:c}}):e.text]},t)})})}},8847:(e,t,r)=>{"use strict";r.d(t,{AppShell:()=>tN});var s=r(5155),n=r(2115),l=r(2576),a=r(9992),o=r(1859),i=r(3364),d=r(2578);function c(e){let t=e.toLowerCase();return"bash"===t||"powershell"===t||"pwsh"===t||"shell"===t||"sh"===t||"cmd"===t?"cmd":"read"===t?"read":"grep"===t||"glob"===t||"find"===t||"ls"===t||"search"===t?"search":"edit"===t||"write"===t||"multiedit"===t||"multi_edit"===t?"write":"other"}function u(e){let t=e.trim().replace(/^"(.*)"$/,"$1").replace(/^'(.*)'$/,"$1").replace(/\\/g,"/"),r=t.match(/^\/([a-zA-Z])\/(.*)$/);return r&&(t=`${r[1].toUpperCase()}:/${r[2]}`),t}function p(e){return e.replace(/\/+$/,"")}function m(e,t){if(!e)return e;let r=u(e);if(!t)return r;let s=p(u(t));if(!s)return r;let n=r.toLowerCase(),l=s.toLowerCase();return n===l?".":n.startsWith(`${l}/`)?r.slice(s.length+1):r}function h(e){let t=u(e).split("/").filter(Boolean);return t[t.length-1]??e}function f(e,t){let r=e.replace(/\r/g,"").split("\n").filter(e=>e.trim().length>0),s=r[0]??"";if(t){let e=p(u(t)).toLowerCase();for(;;){let t=s.match(/^\s*(?:cd|pushd)\s+(?:\/d\s+)?("[^"]*"|'[^']*'|\S+)\s*(?:&&|;)\s*/);if(!t||p(u(t[1])).toLowerCase()!==e)break;s=s.slice(t[0].length)}}let n=s.replace(/\s+/g," ").trim();return n=function(e){let t=v(e).map(e=>e.trim());if(t.length<2)return e;let r=t.filter(e=>e&&!(e=>{let t=e.match(/^echo(?:\s+-[ne]+)?\s*(?:"([^"]*)"|'([^']*)'|(\S*))?$/);if(!t)return!1;let r=t[1]??t[2]??t[3]??"";return!r.includes("$")&&(!!/^[\s\-=─═—#*~_.>]*$/.test(r)||/[─═=\-#*~]{3,}/.test(r))})(e));return r.length&&r.length!==t.filter(Boolean).length?r.join("; "):e}(n),t&&(n=y(n,t)),{text:n,lines:r.length}}let g=new Set(["rm","remove-item","ri","del","erase","unlink","trash"]);function x(e){let t=e.trim().split(/\s+/).filter(Boolean);if(!t.length)return!1;let r=(t[0].split(/[\\/]/).pop()??t[0]).toLowerCase().replace(/\.(exe|ps1|bat|cmd)$/,"");return"git"===r?t[1]?.toLowerCase()==="rm"&&t.slice(2).some(e=>!e.startsWith("-")):!!g.has(r)&&t.slice(1).some(e=>!e.startsWith("-"))}function v(e){let t=[],r="",s=null;for(let n=0;n<e.length;n+=1){let l=e[n];if(s){r+=l,l===s&&"\\"!==e[n-1]&&(s=null);continue}if('"'===l||"'"===l){s=l,r+=l;continue}if(";"===l){t.push(r),r="";continue}if("&"===l&&"&"===e[n+1]||"|"===l&&"|"===e[n+1]){t.push(r),r="",n+=1;continue}r+=l}return t.push(r),t}let w={bash:"Bash",powershell:"PowerShell",pwsh:"PowerShell",shell:"Shell",read:"Read",edit:"Edit",multiedit:"MultiEdit",multi_edit:"MultiEdit",write:"Write",grep:"Grep",glob:"Glob",find:"Find",ls:"List",search:"Search"};function b(e){return w[e.toLowerCase()]??e.charAt(0).toUpperCase()+e.slice(1)}function y(e,t){let r=p(u(t));if(!r)return e;let s=r.match(/^([A-Za-z]):\/(.*)$/),n=s?s[2]:r.replace(/^\//,""),l="(?:\\/|\\\\+)",a=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\//g,l),o=s?`(?:${s[1]}:${l}|/${s[1]}/)`:"/",i=RegExp(`${o}${a}(?=\\/|\\\\|["'\\s]|$)(${l})?`,"gi");return e.replace(i,(e,t)=>t?"":".")}let C={ts:"TypeScript",tsx:"TSX",js:"JavaScript",jsx:"JSX",mjs:"JavaScript",cjs:"JavaScript",py:"Python",rs:"Rust",go:"Go",java:"Java",kt:"Kotlin",rb:"Ruby",php:"PHP",cs:"C#",c:"C",h:"C",cpp:"C++",hpp:"C++",swift:"Swift",vue:"Vue",svelte:"Svelte",css:"CSS",scss:"SCSS",html:"HTML",json:"JSON",md:"Markdown",mdx:"MDX",yml:"YAML",yaml:"YAML",toml:"TOML",sh:"Shell",bash:"Shell",ps1:"PowerShell",sql:"SQL",xml:"XML",txt:"Text",lock:"Lock",env:"Env"},j=new Set(["cat","ls","dir","tree","find","fd","head","tail","type","grep","rg","egrep","fgrep","ag","sed","awk","echo","printf","less","more","which","where","env","printenv","set","stat","file","ps","curl","wget","jq"]),k=new Set(["log","status","diff","show","branch","ls-files","blame","remote","stash","tag","config","grep"]);function S({percent:e,tokens:t,contextWindow:r,model:l,source:a,label:d}){let[c,u]=(0,n.useState)(!1),[p,m]=(0,n.useState)(!1),h=(0,n.useRef)(null),{t:f}=(0,o.s)(),g=!!a?.breakdown?.cold;(0,n.useEffect)(()=>{g||m(!1)},[g]),(0,n.useEffect)(()=>{if(!c)return;let e=e=>{h.current?.contains(e.target)||u(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[c]);let x=(0,n.useMemo)(()=>(function(e){let t={user:0,agentText:0,agentThinking:0,agentToolCall:0,toolOutput:0};for(let r of e)for(let e of r.content)if("text"===e.type){let s=e.text?.length??0;"user"===r.role?t.user+=s:"toolResult"===r.role?t.toolOutput+=s:"system"!==r.role&&(t.agentText+=s)}else"thinking"===e.type?t.agentThinking+=e.thinking?.length??0:"toolCall"===e.type?t.agentToolCall+=(e.name?.length??0)+JSON.stringify(e.arguments??"").length:"toolResult"===e.type&&(t.toolOutput+=e.text?.length??0);return t})(c?a?.messages??[]:[]),[c,a]),v=(0,n.useMemo)(()=>c?a?.messages.findLast(e=>"assistant"===e.role&&"error"!==e.stopReason&&"aborted"!==e.stopReason&&"pending"!==e.stopReason&&(e.usage?.input??0)+(e.usage?.cacheRead??0)+(e.usage?.cacheWrite??0)+(e.usage?.output??0)>0)?.usage:void 0,[c,a]),w=v?(v.input??0)+(v.cacheRead??0)+(v.cacheWrite??0):null,b=l?`${l.provider}/${l.id}`:"",[y,C]=(0,n.useState)(null);(0,n.useEffect)(()=>{y&&(y.key!==b||r!==y.from)&&C(null)},[y,b,r]);let j=y&&y.key===b&&r===y.from?y.value:null,k=null!==t&&Number.isFinite(t)&&t>=0,N=k?t:0,E=j??r??0,T=null!==j&&k,$=T?N/j*100:e??0,z=null!==e||T?`${(0,i.J0)($)} ${d??f.contextEstimated}`:f.contextUnknown,I=2*Math.PI*5.5,R=Math.max(0,a?.breakdown?.autoCompactBuffer??0),P=E>0?null!==w?Math.min(w,E):k?Math.min(N,E):null:null,A=null===P?0:Math.min(R,Math.max(0,E-P)),B=null===P?null:Math.max(0,E-P-R),F=a?.breakdown?.characters,H=[{key:"system",label:f.contextSystemPrompt,value:F?.systemPrompt,color:"var(--dsw-accent)"},{key:"builtin",label:f.contextSystemTools,value:F?.systemTools,color:"#8B7EC8"},{key:"custom",label:f.contextCustomTools,value:F?.customTools,color:"#B39DDB"},{key:"background",label:f.contextBackground,value:F?.background,color:"#5B8DEF"},{key:"memory",label:f.contextMemory,value:F?.memory,color:"#5FA8D3"},{key:"skills",label:f.contextSkills,value:F?.skills,color:"#4FB286"},{key:"user",label:f.contextUserMessages,value:x.user,color:"var(--dsw-success)"},{key:"text",label:f.contextAgentText,value:x.agentText,color:"#7BC96F"},{key:"thinking",label:f.contextAgentThinking,value:x.agentThinking,color:"#C9A66B"},{key:"call",label:f.contextAgentToolCall,value:x.agentToolCall,color:"#D3A15F"},{key:"output",label:f.contextToolOutput,value:x.toolOutput,color:"var(--dsw-warn)"},{key:"compacted",label:f.contextCompacted,value:F?.compacted,color:"#A05A78"}].filter(e=>void 0!==e.value&&e.value>0),O=H.reduce((e,t)=>e+(t.value??0),0),_=null===P||0===O?[]:H.map(e=>({key:e.key,label:e.label,value:e.value,color:e.color,width:P/E*100*(e.value/O)}));return(0,s.jsxs)("div",{ref:h,className:"relative",children:[(0,s.jsx)("button",{className:"icon-btn",style:{width:28,height:28},title:z,"aria-label":z,onClick:()=>u(e=>!e),children:(0,s.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",children:[(0,s.jsx)("circle",{cx:"7",cy:"7",r:5.5,fill:"none",stroke:"var(--dsw-border-l3)",strokeWidth:"2"}),(0,s.jsx)("circle",{cx:"7",cy:"7",r:5.5,fill:"none",stroke:$>85?"var(--dsw-warn)":"var(--dsw-accent)",strokeWidth:"2",strokeDasharray:`${I*Math.max(0,Math.min(100,$))/100} ${I}`,transform:"rotate(-90 7 7)",strokeLinecap:"round"})]})}),c&&(0,s.jsxs)("div",{className:"popover absolute bottom-9 right-0 z-50 w-72 p-4",style:{fontSize:"var(--dsh-content-font-size-secondary)"},children:[null!==w&&(0,s.jsxs)("div",{className:"mt-2 flex items-center justify-between gap-2",children:[(0,s.jsx)("span",{children:f.contextApiInput}),(0,s.jsxs)("span",{title:`${w} tok`,children:[(0,i.yj)(w)," tok"]})]}),E>0&&(0,s.jsxs)("div",{className:"mt-3 flex h-2 w-full overflow-hidden rounded-full",style:{background:"var(--dsw-selector)"},"data-testid":"context-bar","aria-hidden":!0,children:[_.map(e=>(0,s.jsx)("span",{"data-segment":e.key,className:"flex-none",title:`${e.label}:${(0,i.yj)(e.value)} ${f.contextChars}`,style:{width:`${e.width}%`,background:e.color}},e.key)),A>0&&(0,s.jsx)("span",{"data-segment":"reserved",className:"flex-none",style:{width:`${A/E*100}%`,background:"var(--dsw-border-l3)"}})]}),(0,s.jsxs)("div",{className:"mt-2 flex flex-col gap-1",style:{color:"var(--dsw-label-tertiary)"},children:[R>0&&(0,s.jsx)(M,{label:f.contextAutoCompactBuffer,value:`${(0,i.yj)(R)} tok`,exact:`${R} tok`,color:"var(--dsw-border-l3)"}),E>0&&(0,s.jsx)(M,{label:f.contextFreeSpace,value:null===B?"—":`~${(0,i.yj)(B)} tok`,color:"var(--dsw-selector)"})]}),(0,s.jsx)("div",{className:"mt-3 flex flex-col gap-1",style:{color:"var(--dsw-label-tertiary)"},children:H.map(e=>(0,s.jsx)(M,{label:e.label,value:`${(0,i.yj)(e.value)} ${f.contextChars}`,exact:`${e.value} ${f.contextChars}`,color:e.color},e.key))}),g&&a?.loadFull&&(0,s.jsxs)("div",{className:"mt-3 flex items-center justify-between gap-2",style:{color:"var(--dsw-label-tertiary)"},children:[(0,s.jsx)("span",{className:"min-w-0",style:{fontSize:11.5},children:f.contextColdHint}),(0,s.jsx)("button",{type:"button",className:"btn-outline flex-none",style:{height:24,padding:"0 10px",fontSize:12},disabled:p,onClick:()=>{m(!0),Promise.resolve(a.loadFull?.()).then(e=>{e?.success===!1&&m(!1)},()=>m(!1))},children:p?f.contextCounting:f.contextCountNow})]}),l&&E>0&&(0,s.jsx)(L,{model:l,value:E,onSaved:e=>C({key:b,from:r??0,value:e})},b)]})]})}async function N(e){let t=await fetch("/api/models",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),r=await t.json().catch(()=>null);if(!t.ok||!r?.success)throw Error(r?.error||`request failed (${t.status})`);return r.data}function L({model:e,value:t,onSaved:r}){let{t:l}=(0,o.s)(),[a,i]=(0,n.useState)(!1),[c,u]=(0,n.useState)(""),[p,m]=(0,n.useState)(void 0),[h,f]=(0,n.useState)(!1),[g,x]=(0,n.useState)(null),v=(0,n.useRef)(0),w=(0,d.KM)(c),b=void 0===w||Number.isNaN(w)?null:w,y=null!==b,C=null!==b&&"number"==typeof p&&b>p,j=()=>{v.current+=1,i(!1)},k=async()=>{if(null!==b&&!h){f(!0),x(null);try{let t=await N({action:"setContextWindow",providerId:e.provider,modelId:e.id,contextWindow:b});r(t.contextWindow),i(!1)}catch(e){x(e instanceof Error?e.message:String(e))}finally{f(!1)}}};return a?(0,s.jsxs)("div",{className:"hairline-t mt-3 pt-3",style:{color:"var(--dsw-label-tertiary)"},children:[(0,s.jsx)("div",{children:l.contextWindowLabel}),(0,s.jsxs)("div",{className:"mt-1.5 flex items-center gap-1.5",children:[(0,s.jsx)("input",{autoFocus:!0,value:c,onChange:e=>u(e.target.value),onKeyDown:e=>{"Enter"===e.key?(e.preventDefault(),k()):"Escape"===e.key&&(e.preventDefault(),e.stopPropagation(),j())},"aria-label":l.contextWindowLabel,"aria-invalid":!y,spellCheck:!1,className:"min-w-0 flex-1 rounded-md px-2",style:{height:26,fontSize:12.5,fontFamily:"var(--font-mono)",color:"var(--dsw-label-primary)",background:"var(--dsw-hover)",border:`0.5px solid ${y?"var(--dsw-border-l2)":"var(--dsw-danger)"}`}}),(0,s.jsx)("button",{type:"button",className:"btn-primary-white flex-none",style:{height:26,padding:"0 10px",fontSize:12},disabled:!y||h,onClick:()=>void k(),children:h?l.saving:l.save}),(0,s.jsx)("button",{type:"button",className:"btn-outline flex-none",style:{height:26,padding:"0 10px",fontSize:12},disabled:h,onClick:j,children:l.cancel})]}),"number"==typeof p&&(0,s.jsxs)("div",{className:"mt-1.5 flex items-center gap-1.5",style:{fontSize:11.5},children:[(0,s.jsx)("span",{children:l.contextWindowBuiltin.replace("{value}",p.toLocaleString("en-US"))}),b!==p&&(0,s.jsx)("button",{type:"button",className:"underline",style:{color:"var(--dsw-label-secondary)"},onClick:()=>u((0,d.sm)(p)),children:l.contextWindowUseBuiltin})]}),y?C?(0,s.jsx)("div",{className:"mt-1",style:{fontSize:11.5,color:"var(--dsw-warn)"},children:l.contextWindowOverBuiltin}):null===p?(0,s.jsx)("div",{className:"mt-1",style:{fontSize:11.5},children:l.contextWindowNoBuiltin}):null:(0,s.jsx)("div",{className:"mt-1",style:{fontSize:11.5,color:"var(--dsw-danger)"},children:l.contextWindowInvalid}),(0,s.jsx)("div",{className:"mt-1",style:{fontSize:11.5},children:l.contextWindowScope}),g&&(0,s.jsx)("div",{className:"mt-1",role:"alert",style:{fontSize:11.5,color:"var(--dsw-danger)"},children:g})]}):(0,s.jsxs)("div",{className:"hairline-t mt-3 flex items-center justify-between gap-2 pt-3",style:{color:"var(--dsw-label-tertiary)"},children:[(0,s.jsx)("span",{children:l.contextWindowLabel}),(0,s.jsxs)("span",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{style:{color:"var(--dsw-label-secondary)",fontFamily:"var(--font-mono)"},children:t.toLocaleString("en-US")}),(0,s.jsx)("button",{type:"button",className:"btn-outline",style:{height:22,padding:"0 8px",fontSize:11.5},onClick:()=>{i(!0),u((0,d.sm)(t)),x(null),m(void 0);let r=++v.current;N({action:"contextWindowInfo",providerId:e.provider,modelId:e.id}).then(e=>{r===v.current&&m(e.builtin)},()=>{r===v.current&&m(null)})},children:l.contextWindowEdit})]})]})}function M({label:e,value:t,exact:r,color:n}){return(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,s.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,s.jsx)("span",{className:"inline-block rounded-full",style:{width:7,height:7,background:n}}),e]}),(0,s.jsx)("span",{title:r,children:t})]})}var E=r(7650);let T=e=>Math.round(10*e)/10,$=new WeakMap,z=0;function I(e){let t=$.get(e);return t||(z+=1,t=`image-${z}`,$.set(e,t)),t}let R=e=>`data:${e.mimeType};base64,${e.data}`;function P({images:e,disabled:t,onRemove:r,onClear:l}){var a,i,d;let c,u,p,m,h,f,g,x,{t:v}=(0,o.s)(),w=e.length>4,[b,y]=(0,n.useState)(!1),C=w&&b,[j,k]=(0,n.useState)(null),[S,N]=(0,n.useState)(null),L=(0,n.useRef)(null),[M,$]=(0,n.useState)(0);(0,n.useEffect)(()=>{let e=L.current;if(!e||!w)return;let t=()=>$(Math.max(0,e.clientWidth-8));if(t(),"u"<typeof ResizeObserver)return;let r=new ResizeObserver(t);return r.observe(e),()=>r.disconnect()},[w]);let z=t=>{r(t),k(null),N(t=>null===t||e.length<=1?null:Math.min(t,e.length-2))},B=e=>(0,s.jsx)("button",{type:"button",className:"pw-image-delete",disabled:t,"aria-label":`${v.delete} ${e+1}`,onClick:()=>z(e),children:"✕"}),F=C?(a=e.length,i=M||360,u=(c=a>1?Math.min(76,Math.max(8,(i-96-16)/(a-1))):0)/520,f=12+(h=48*(Math.abs(Math.sin(m=-(p=(a-1)/2)*u))+Math.cos(m)-1)),x=(g=Array.from({length:a},(e,t)=>{let r=(t-p)*u;return{x:T(8+520*(Math.sin(r)-Math.sin(m))),y:T(f+520*(1-Math.cos(r))),angle:T(180*r/Math.PI)}})).length?g[g.length-1].x+96+8:0,{cards:g,width:Math.ceil(x),height:Math.ceil(f+520*(1-Math.cos(m))+96+h),gap:T(c)}):{cards:Array.from({length:d=e.length},(e,t)=>({x:4*Math.min(t,4),y:0,angle:0,hidden:t>4})),width:96+4*Math.min(Math.max(d-1,0),4),height:96,gap:4},H=null!==S&&e[S]?S:null;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{ref:L,className:"pointer-events-auto flex flex-wrap items-center gap-2 px-1","data-testid":"composer-images",children:[w?(0,s.jsx)("div",{className:"pw-image-fan","data-testid":"image-fan","data-expanded":C,"data-crowded":!!C&&F.gap<30||void 0,style:{position:"relative",width:C?"100%":F.width,height:F.height},children:e.map((t,r)=>{let n=F.cards[r],l=C&&j===r,a=C||0===r,o=Math.min(C?14*r:(e.length-1-r)*10,140);return(0,s.jsxs)("div",{className:"pw-image-card","data-hidden":n.hidden||void 0,"data-lifted":l||void 0,style:{zIndex:l?e.length+1:e.length-r,transform:`translate(${n.x}px, ${n.y-12*!!l}px) rotate(${n.angle}deg)`,transitionDelay:l||null!==j?"0ms":`${o}ms`},onMouseEnter:()=>C&&k(r),onMouseLeave:()=>k(e=>e===r?null:e),onFocus:()=>C&&k(r),onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||k(e=>e===r?null:e)},children:[(0,s.jsx)("button",{type:"button",className:"pw-image-face",tabIndex:a?void 0:-1,"aria-hidden":!a||void 0,title:v.imagePreview,"aria-label":v.imagePreview,onClick:()=>N(r),children:(0,s.jsx)("img",{src:R(t),alt:"",className:"h-full w-full object-contain",draggable:!1})}),a?B(r):null]},I(t))})}):e.map((e,t)=>(0,s.jsxs)("div",{className:"pw-image-thumb",children:[(0,s.jsx)("button",{type:"button",className:"block",title:v.imagePreview,"aria-label":v.imagePreview,onClick:()=>N(t),children:(0,s.jsx)("img",{src:R(e),alt:"",className:"max-h-24 max-w-32 rounded-[10px] object-contain",draggable:!1})}),B(t)]},I(e))),e.length>1&&l?(0,s.jsx)("button",{type:"button",className:"pw-chip","data-testid":"images-clear",disabled:t,onClick:()=>{l(),k(null),N(null)},children:v.imageClearAll}):null,w?(0,s.jsx)("button",{type:"button",className:"pw-chip","data-testid":"images-toggle","aria-expanded":C,onClick:()=>{y(e=>!e),k(null)},children:C?v.chipCollapse:v.chipExpandMore.replace("{n}",String(e.length-1))}):null]}),null!==H?(0,E.createPortal)((0,s.jsx)(A,{images:e,index:H,disabled:t,onIndex:N,onRemove:z,onClose:()=>N(null)}),document.body):null]})}function A({images:e,index:t,disabled:r,onIndex:l,onRemove:a,onClose:i}){let{t:d}=(0,o.s)(),c=(0,n.useRef)(null),u=(0,n.useRef)(null),p=e.length,m=e=>l((t+e+p)%p);return(0,n.useEffect)(()=>{let e=document.activeElement instanceof HTMLElement?document.activeElement:null;return u.current?.focus(),()=>{e?.isConnected&&e.focus()}},[]),(0,n.useEffect)(()=>{let e=e=>{if("Escape"===e.key)i();else if("ArrowLeft"===e.key&&p>1)m(-1);else if("ArrowRight"===e.key&&p>1)m(1);else{if("Tab"!==e.key)return;let t=[...c.current?.querySelectorAll("button:not(:disabled)")??[]];if(!t.length)return;let r=t.indexOf(document.activeElement),s=e.shiftKey?r<=0?t.length-1:r-1:r===t.length-1?0:r+1;t[s].focus()}e.preventDefault(),e.stopPropagation()};return document.addEventListener("keydown",e,!0),()=>document.removeEventListener("keydown",e,!0)},[p,t]),(0,s.jsxs)("div",{ref:c,className:"pw-lightbox",role:"dialog","aria-modal":"true","aria-label":d.imageViewer,onClick:i,children:[(0,s.jsxs)("div",{className:"pw-lightbox-bar",onClick:e=>e.stopPropagation(),children:[(0,s.jsx)("span",{className:"pw-lightbox-count",children:p>1?`${t+1} / ${p}`:""}),(0,s.jsx)("button",{type:"button",className:"pw-lightbox-btn",disabled:r,onClick:()=>a(t),children:d.delete}),(0,s.jsx)("button",{ref:u,type:"button",className:"pw-lightbox-btn","aria-label":d.close,onClick:i,children:"✕"})]}),(0,s.jsx)("img",{src:R(e[t]),alt:"",className:"pw-lightbox-image",onClick:e=>e.stopPropagation()}),p>1?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("button",{type:"button",className:"pw-lightbox-nav","data-side":"prev","aria-label":d.imagePrev,onClick:e=>{e.stopPropagation(),m(-1)},children:"‹"}),(0,s.jsx)("button",{type:"button",className:"pw-lightbox-nav","data-side":"next","aria-label":d.imageNext,onClick:e=>{e.stopPropagation(),m(1)},children:"›"})]}):null]})}function B({model:e,thinkingLevel:t,thinkingLevels:r,models:l,providerNames:i,authByProvider:d,onSelectModel:c,onSelectLevel:u,open:p,onOpenChange:m,modelOnly:h=!1,disabled:f=!1,defaultOption:g}){let[x,v]=(0,n.useState)(!1),w=p??x,b=e=>{v(e),m?.(e)},[y,C]=(0,n.useState)("model"),j=(0,n.useRef)(null),k=(0,n.useRef)(null),{t:S}=(0,o.s)();(0,n.useEffect)(()=>{if(!w)return void C("model");let e=e=>{j.current?.contains(e.target)||b(!1)},t=e=>{"Escape"===e.key&&("effort"===y?C("model"):b(!1))};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[w,y]);let N=(0,n.useMemo)(()=>{let t=new Map;for(let e of l)!1!==d[e.provider]&&(t.has(e.provider)||t.set(e.provider,[]),t.get(e.provider).push(e));let r=[...t.entries()].map(([e,t])=>({provider:e,label:i[e]??e,models:[...t].sort((e,t)=>e.name.localeCompare(t.name))}));if(r.sort((e,t)=>e.label.localeCompare(t.label)),e){let t=r.findIndex(t=>t.provider===e.provider);if(t>0){let[e]=r.splice(t,1);r.unshift(e)}}return r},[l,i,d,e]);(0,n.useEffect)(()=>{w&&"model"===y&&requestAnimationFrame(()=>{k.current?.querySelector('[data-selected="true"]')?.scrollIntoView({block:"center"})})},[w,y]);let L=!!e?.id,M=L&&(e?.name||e?.id)||"",E=!h&&L&&t&&"off"!==t?t:void 0,T=(g?.selected?`${g.label} \xb7 `:"")+(L?`${i[e?.provider??""]??e?.provider}/${M}${E?` \xb7 ${E}`:""}`:S.selectModel);return(0,s.jsxs)("div",{ref:j,className:"relative",children:[(0,s.jsxs)("button",{type:"button",className:"chip","data-open":w,title:T,"aria-label":T,"aria-haspopup":"menu","aria-expanded":w,disabled:f,onClick:()=>{b(!w),C("model")},children:[(0,s.jsx)("span",{className:"max-w-[220px] truncate",suppressHydrationWarning:!0,children:L?M:S.selectModel}),E&&(0,s.jsx)("span",{style:{color:"var(--dsw-label-caption)",flex:"none",fontSize:13},children:E}),(0,s.jsx)("span",{className:"chevron",children:(0,s.jsx)(a.Cd,{size:14})})]}),w&&(0,s.jsxs)("div",{className:"popover absolute bottom-10 right-0 z-50 flex w-[312px] max-w-[calc(100vw-24px)] flex-col",role:"menu",onKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),"effort"===y?C("model"):b(!1))},children:["effort"===y&&(0,s.jsxs)("div",{className:"py-1",children:[(0,s.jsxs)("button",{type:"button",className:"flex w-full items-center gap-2 px-3 py-2 text-left transition-colors",style:{color:"var(--dsw-label-secondary)"},onMouseEnter:e=>e.currentTarget.style.background="var(--dsw-hover)",onMouseLeave:e=>e.currentTarget.style.background="transparent",onClick:()=>C("model"),children:[(0,s.jsx)(a.bQ,{size:14})," ",S.thinking]}),0===r.length&&(0,s.jsx)("div",{className:"px-4 py-3",style:{fontSize:13,color:"var(--dsw-label-caption)"},children:S.emptyEfforts}),r.map(e=>{let r=t===e;return(0,s.jsxs)("button",{type:"button",role:"menuitemradio","aria-checked":r,className:"flex w-full items-center justify-between px-4 py-2 text-left transition-colors",onMouseEnter:e=>{r||(e.currentTarget.style.background="var(--dsw-hover)")},onMouseLeave:e=>{r||(e.currentTarget.style.background="transparent")},onClick:()=>{u(e),b(!1)},children:[(0,s.jsx)("span",{style:{fontSize:14,color:"var(--dsw-label-primary)"},children:e}),r&&(0,s.jsx)("span",{style:{display:"inline-flex",color:"var(--dsw-label-primary)"},children:(0,s.jsx)(a.df,{size:14})})]},e)})]}),"model"===y&&(0,s.jsxs)("div",{className:"flex min-h-0 flex-col",children:[(0,s.jsxs)("div",{ref:k,className:"max-h-[340px] overflow-y-auto py-1",children:[g&&(0,s.jsxs)("button",{type:"button",role:"menuitemradio","aria-checked":g.selected,"data-selected":g.selected,className:"flex min-h-10 w-full items-center justify-between gap-3 rounded-[10px] px-3 py-2 text-left",style:{fontSize:13,background:g.selected?"var(--dsw-active)":void 0},onClick:()=>{g.onSelect(),b(!1)},children:[g.label,g.selected&&(0,s.jsx)(a.df,{size:14})]}),0===N.length&&(0,s.jsx)("div",{className:"px-3 py-3",style:{fontSize:13,color:"var(--dsw-label-caption)"},children:S.emptyModels}),N.map(t=>(0,s.jsxs)("section",{role:"group","aria-label":t.label,children:[(0,s.jsx)("div",{className:"px-3 pb-1 pt-2",style:{fontSize:12,fontWeight:500,color:"var(--dsw-label-caption)"},children:t.label}),t.models.map(t=>{let r=!g?.selected&&e?.provider===t.provider&&e?.id===t.id;return(0,s.jsxs)("button",{type:"button",role:"menuitemradio","aria-checked":r,"data-selected":r,className:"flex min-h-10 w-full items-center justify-between gap-3 rounded-[10px] px-3 py-2 text-left transition-colors",style:{background:r?"var(--dsw-active)":"transparent"},onMouseEnter:e=>{r||(e.currentTarget.style.background="var(--dsw-hover)")},onMouseLeave:e=>{r||(e.currentTarget.style.background="transparent")},onClick:()=>{c(t.provider,t.id),b(!1)},children:[(0,s.jsx)("span",{className:"min-w-0 flex-1 truncate",style:{fontSize:14,fontWeight:500,color:"var(--dsw-label-primary)"},children:t.name}),r&&(0,s.jsx)("span",{style:{display:"inline-flex",color:"var(--dsw-label-primary)",flex:"none"},children:(0,s.jsx)(a.df,{size:16})})]},`${t.provider}/${t.id}`)})]},t.provider))]}),L&&!h&&(r.length>1?(0,s.jsxs)("button",{type:"button",className:"mt-1 flex w-full items-center justify-between gap-3 border-t px-3 pb-1 pt-2 text-left transition-colors",style:{borderColor:"var(--dsw-border-l1)"},onMouseEnter:e=>e.currentTarget.style.background="var(--dsw-hover)",onMouseLeave:e=>e.currentTarget.style.background="transparent",onClick:()=>C("effort"),children:[(0,s.jsx)("span",{style:{fontSize:13.5,color:"var(--dsw-label-secondary)"},children:S.thinking}),(0,s.jsxs)("span",{className:"flex min-w-0 items-center gap-1",children:[(0,s.jsx)("span",{className:"truncate",style:{fontSize:13,color:"var(--dsw-label-caption)"},children:t??S.thinkingOff}),(0,s.jsx)(a.QY,{size:14,style:{flex:"none",color:"var(--dsw-label-tertiary)"}})]})]}):(0,s.jsxs)("div",{className:"mt-1 flex w-full items-center justify-between gap-3 border-t px-3 pb-1 pt-2",style:{borderColor:"var(--dsw-border-l1)",opacity:.6},title:S.thinkingUnsupportedHint,children:[(0,s.jsx)("span",{style:{fontSize:13.5,color:"var(--dsw-label-secondary)"},children:S.thinking}),(0,s.jsx)("span",{className:"truncate",style:{fontSize:12.5,color:"var(--dsw-label-caption)"},children:S.thinkingUnsupported})]}))]})]})]})}function F(e){return e.replace(/\\/g,"/")}function H(e){let t=e.replace(/\/+$/,"");return t.slice(t.lastIndexOf("/")+1)}function O(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}let _=new Set([" "," ",'"',"'","="]),W=RegExp(`(?:(?=\\p{Punctuation})${/[\p{Script_Extensions=Han}\p{Script_Extensions=Hiragana}\p{Script_Extensions=Katakana}\p{Script_Extensions=Hangul}\p{Script_Extensions=Bopomofo}]/u.source}|[,.:;!?()[]{}“”‘’…—])`,"u"),q=RegExp(`(?:\\s|${W.source})`,"u"),D=RegExp(`(?:^|${q.source})$`,"u"),Z={"(":")","[":"]","{":"}","<":">","`":"`"};function V(e){return _.has(e)||q.test(e)}let U=new Map,J=new Map;async function K(e){let t=await fetch(`/api/files?index=1&cwd=${encodeURIComponent(e)}`,{cache:"no-store"}),r=await t.json();if(!t.ok||!r.success)throw Error(r.error||`request failed (${t.status})`);let s=r.data,n={at:Date.now(),candidates:function(e,t){let r=[];for(let e of t)r.push({path:e,dir:!0});for(let t of e)r.push({path:t,dir:!1});return r}(s.files,function(e){let t=new Set;for(let r of e){let e=r.split("/");for(let r=1;r<e.length;r+=1)t.add(e.slice(0,r).join("/"))}return[...t]}(s.files)),source:s.source,truncated:s.truncated};return U.set(e,n),n}var G=r(560);let Y={text:"",images:[],uploads:[],references:[]};function Q({disabled:e,isStreaming:t,contextPercent:r,contextTokens:l,contextWindow:i,contextSource:d,contextVisible:c=!0,cwd:u,model:p,thinkingLevel:m,thinkingLevels:h,models:f,providerNames:g,authByProvider:x,queue:v,commands:w,onCommand:b,onSend:y,onSteer:C,onFollowUp:j,onAbort:k,onSelectModel:N,onSelectLevel:L,onClearQueue:M,draft:E,initialDraft:T,onDraftChange:$,onUploadError:z,onUploadProgress:I,uploadFailure:R,pendingUploadCount:A=0,pendingSend:W=!1,onSendPendingChange:q}){let[ee,et]=(0,n.useState)(T??Y),er=E??ee,es=(0,n.useRef)(er);es.current=er;let en=e=>{let t="function"==typeof e?e(es.current):e;es.current=t,void 0===E&&et(t),$?.(e)},{text:el,images:ea,uploads:eo}=er,ei=er.references??[],ed=er.adopted??null,ec=e=>en(t=>({...t,text:"function"==typeof e?e(t.text):e})),eu=e=>en(t=>({...t,adopted:e})),ep=(0,n.useRef)([]),em=(0,n.useRef)(0),eh=(0,n.useRef)(!0),ef=(0,n.useRef)(!1),[eg,ex]=(0,n.useState)(!1),[ev,ew]=(0,n.useState)(""),[eb,ey]=(0,n.useState)(0),eC=eb>0||A>0,ej=eg||W,[ek,eS]=(0,n.useState)(!1),[eN,eL]=(0,n.useState)(!1),[eM,eE]=(0,n.useState)(!1),eT=(0,n.useRef)(0),[e$,ez]=(0,n.useState)(!1),[eI,eR]=(0,n.useState)(0),[eP,eA]=(0,n.useState)(!1),[eB,eF]=(0,n.useState)(null),[eH,eO]=(0,n.useState)(0),e_=(0,n.useRef)(null),eW=(0,n.useRef)(null),eq=(0,n.useRef)(null),eD=(0,n.useRef)(null),{t:eZ}=(0,o.s)(),eV=!p?.id,eU=(0,G.yw)(),eJ=v.steering.length+v.followUp.length,[eK,eG]=(0,n.useState)(0);(0,n.useEffect)(()=>(eh.current=!0,()=>{eh.current=!1}),[]),(0,n.useEffect)(()=>{ew(R??"")},[R]),(0,n.useEffect)(()=>{tt()},[el]);let eY=el.startsWith("/")?el.slice(1):"",eQ=eY.includes(" "),eX=!!w?.length&&el.startsWith("/")&&!eP&&!eQ,e1=(w??[]).filter(e=>e.name.toLowerCase().startsWith(eY.split(" ")[0].toLowerCase())),e0=null!==eB,e2=eB?.query??null,e3=function(e,t){let[r,s]=(0,n.useState)({status:"idle",candidates:[],source:null,truncated:!1,error:null}),l=(0,n.useRef)({cwd:"",controller:new AbortController});return(0,n.useEffect)(()=>{if(!t||!e)return;let r=new AbortController;l.current={cwd:e,controller:r};let n=()=>l.current.controller===r&&!r.signal.aborted,a=U.get(e);if(a){if(s({status:"ready",candidates:a.candidates,source:a.source,truncated:a.truncated,error:null}),Date.now()-a.at<3e4)return()=>r.abort()}else s({status:"loading",candidates:[],source:null,truncated:!1,error:null});return(function(e){let t=J.get(e);if(t)return t;let r=K(e).finally(()=>J.delete(e));return J.set(e,r),r})(e).then(e=>{n()&&s({status:"ready",candidates:e.candidates,source:e.source,truncated:e.truncated,error:null})},t=>{!n()||U.has(e)||s({status:"error",candidates:[],source:null,truncated:!1,error:t instanceof Error?t.message:String(t)})}),()=>r.abort()},[e,t]),r}(u??"",e0),e5=(0,n.useMemo)(()=>null===e2?[]:function(e,t,r=20){let s=new Set;for(let t of e)t.dir&&s.add(t.path);let n=function(e,t){let r=F(e),s=r.lastIndexOf("/");if(-1===s)return null;let n=r.slice(0,s+1);if(n.startsWith("/")||n.startsWith("~/"))return null;let l=[];for(let e of n.split("/"))if(e&&"."!==e)if(".."===e){if(!l.length)return null;l.pop()}else l.push(e);let a=l.join("/");return a&&!t.has(a)?null:{base:a,query:r.slice(s+1),displayBase:n}}(t,s),l=n?n.query:t,a=n?.base?`${n.base}/`:"",o=null;if(l){let e=F(l).includes("/"),t=function(e){let t=/\p{Lu}/u.test(e.replace(/\\./g,""));try{let r=new RegExp(e,t?"":"i");return e=>r.test(e)}catch{let r=t?e:e.toLowerCase();return e=>(t?e:e.toLowerCase()).includes(r)}}(function(e){let t=F(e);if(!t.includes("/"))return t;let r=t.replace(/^\/+|\/+$/g,"");if(!r)return t;let s=r.split("/").filter(Boolean).map(O);if(!s.length)return t;let n="[\\\\/]";return s.join(n)+(t.endsWith("/")?n:"")}(l));o=e?t:e=>t(H(e))}let i=[];for(let t of e){if(a&&!t.path.startsWith(a))continue;let e=t.path.slice(a.length);if(!e||o&&!o(e))continue;let r=t.dir?`${e}/`:e,s=l?function(e,t,r){let s=H(e).toLowerCase(),n=t.toLowerCase(),l=0;return s===n?l=100:s.startsWith(n)?l=80:s.includes(n)?l=50:e.toLowerCase().includes(n)&&(l=30),r&&l>0&&(l+=10),l}(r,l,t.dir):1;s<=0||i.push({candidate:t,path:r,score:s,depth:e.split("/").filter(Boolean).length})}return i.sort((e,t)=>t.score-e.score||e.depth-t.depth||e.path.length-t.path.length||e.path.localeCompare(t.path)),i.slice(0,r).map(({candidate:e,path:t})=>{let r=e.dir?t.slice(0,-1):t;return{candidate:e,label:H(r)+(e.dir?"/":""),description:n?`${n.displayBase}${r}`:r}})}(e3.candidates,e2),[e3.candidates,e2]),e4=Math.min(eH,Math.max(0,e5.length-1));(0,n.useEffect)(()=>{eW.current?.querySelector('[aria-selected="true"]')?.scrollIntoView({block:"nearest"})},[eH,e5.length]);let e6=(e,t)=>{let r=null!==t&&u?function(e,t){let r=Math.max(0,Math.min(t,e.length)),s=e.lastIndexOf("\n",r-1)+1,n=e.slice(s,r),l=function(e){let t=!1,r=-1;for(let s=0;s<e.length;s+=1)'"'===e[s]&&(t=!t)&&(r=s);return t?r:null}(n);if(null!==l&&l>0&&"@"===n[l-1]&&function(e,t){let r=t;for(;r>0&&Z[e[r-1]];)r-=1;return _.has(e[r-1]??"")||D.test(e.slice(0,r))}(n,l-1)){let t=e.indexOf('"',r),a=e.indexOf("\n",r);return{query:n.slice(l+1),start:s+l-1,end:r,tokenEnd:-1!==t&&(-1===a||t<a)?t+1:r}}let a=function(e){let t=-1,r=0;for(let s of e)r+=s.length,V(s)&&(t=r-1);return t}(n)+1,o=n.slice(a),i=function(e){let t=e;for(;t.length>0;){let e=Z[t[0]];if(!e||t.includes(e,1))break;t=t.slice(1)}return t}(o);if(!i.startsWith("@"))return null;let d=r;for(let t of e.slice(r)){if(V(t))break;d+=t.length}return{query:i.slice(1),start:s+a+o.length-i.length,end:r,tokenEnd:d}}(e,t):null;if(!r){e_.current=null,eF(null);return}e_.current===`${r.start}:${e.slice(r.start,r.tokenEnd)}`?eF(null):(eB&&eB.start===r.start&&eB.query===r.query||eO(0),eB&&eB.start===r.start&&eB.query===r.query&&eB.tokenEnd===r.tokenEnd||eF({query:r.query,start:r.start,tokenEnd:r.tokenEnd}))},e8=e=>{if(!eB)return;let{start:t,tokenEnd:r}=eB,s=e.dir?`${e.path}/`:e.path;en(e=>{let n=e.references??[];return{...e,text:e.text.slice(0,t)+e.text.slice(r),references:n.some(e=>e.replace(/[\\/]+$/,"")===s.replace(/[\\/]+$/,""))?n:[...n,s]}}),eF(null),eO(0),requestAnimationFrame(()=>{tt();let e=eq.current;e&&(e.focus(),e.setSelectionRange(t,t))})},e7=(0,n.useRef)(null);(0,n.useEffect)(()=>{e7.current?.querySelector('button[aria-selected="true"]')?.scrollIntoView({block:"nearest"})},[eI,e1.length]);let e9=Math.min(eI,Math.max(0,e1.length-1)),te=e=>{let t=eY.slice(e.name.length).trim();if("builtin"===e.kind&&"model"===e.name){ez(!0),ec(""),eA(!1);return}if("builtin"===e.kind)b?.(e.name,t);else return"template"!==e.kind||!e.argumentHint||t?void tr(void 0,`/${e.name}${t?` ${t}`:""}`):(ec(`/${e.name} `),eA(!0),requestAnimationFrame(()=>eq.current?.focus()),void 0);ec(""),eR(0),eA(!1)},tt=()=>{let e=eq.current;e&&(e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,336)}px`)},tr=(r,s)=>{if(e||eV||ef.current||W||eC)return;ef.current=!0,ex(!0),q?.(!0);let n=(s??es.current.text).trim(),l=[...es.current.references??[]],a=ed?`/${ed.name}${n?` ${n}`:""}`:n;(async()=>{try{let e;ep.current.length&&await Promise.allSettled(ep.current);let n=es.current,o=[...n.images],i=[...n.uploads];if(!a&&0===o.length&&0===i.length&&0===l.length)return;if(a.startsWith("/")&&0===o.length&&0===i.length&&0===l.length){let[e,...t]=a.slice(1).split(/\s+/),r=(w??[]).find(t=>"builtin"===t.kind&&t.name.toLowerCase()===e.toLowerCase());if(r){"model"===r.name?ez(!0):b?.(r.name,t.join(" ")),en(e=>({...e,text:"",adopted:null})),eA(!1);return}}let d=e=>{let t=[e];return l.length&&t.push(l.map(e=>`@${e}`).join("\n")),i.length&&t.push(i.map(e=>eZ.attachmentLine.replace("{path}",e.path).replace("{size}",X(e.size))).join("\n")),t.filter(Boolean).join("\n\n")};if(t){let t=r??("steer"===eU?"steer":"followUp");e="followUp"===t&&j?await j(d(a),o):await C(d(a),o)}else e=await y(d(a),o);if(!e?.success){s&&ec(s),e?.error&&eh.current&&ew(e.error);return}en(e=>({...e,text:e.text===n.text?"":e.text,adopted:e.adopted===n.adopted?null:e.adopted,images:e.images.filter(e=>!o.includes(e)),uploads:e.uploads.filter(e=>!i.some(t=>t.path===e.path)),references:(e.references??[]).filter(e=>!l.includes(e))}))}catch(e){s&&ec(s),eh.current&&ew(e instanceof Error?e.message:String(e))}finally{ef.current=!1,q?.(!1),eh.current&&ex(!1)}})()},ts=e=>{let t=[...e?.data?.steering??[],...e?.data?.followUp??[]];t.length&&(ec(e=>[t.join("\n\n"),e].filter(e=>e.trim()).join("\n\n")),eA(!0),eG(e=>e+1))};(0,n.useEffect)(()=>{eK&&(tt(),eq.current?.focus())},[eK]);let tn=async()=>ts(await k()),tl=async()=>ts(await M?.()),ta=t=>{if(t&&!e&&!eV&&!ef.current&&!W)for(let e of Array.from(t))if(["image/jpeg","image/png","image/webp","image/gif"].includes(e.type)){if(e.size>0x1400000){ew(eZ.imageTooLarge);continue}let t=new Promise(t=>{let r=new FileReader;r.onload=()=>{let s=String(r.result),n={type:"image",data:s.slice(s.indexOf(",")+1),mimeType:e.type};en(e=>e.images.length>=20?e:{...e,images:[...e.images,n]}),t()},r.onerror=()=>t(),r.onabort=()=>t(),r.readAsDataURL(e)});ep.current.push(t),t.finally(()=>{ep.current=ep.current.filter(e=>e!==t)})}else to(e)},to=async e=>{if(e.size>0x6400000)return ew(eZ.uploadTooLarge),!1;if(es.current.uploads.length+Math.max(em.current,A)>=16)return ew(eZ.uploadCountLimit),!1;em.current+=1,I?.(1),ey(e=>e+1),ew("");try{let t=await fetch(`/api/files?action=upload&name=${encodeURIComponent(e.name)}`,{method:"POST",headers:{"Content-Type":"application/octet-stream","x-upload-size":String(e.size)},body:e}),r=await t.json();if(!t.ok||!r.success)throw Error(r.error||"upload failed");if(r.data?.size!==e.size)throw Error("upload size mismatch");let s={name:r.data.name,path:r.data.path,size:r.data.size};return en(e=>e.uploads.some(e=>e.path===s.path)?e:{...e,uploads:[...e.uploads,s]}),!0}catch(t){let e=`${eZ.uploadFailed}:${t instanceof Error?t.message:String(t)}`;return z?.(e),eh.current&&ew(e),!1}finally{em.current-=1,I?.(-1),eh.current&&ey(e=>Math.max(0,e-1))}},ti=(0,n.useRef)(ta);ti.current=ta,(0,n.useEffect)(()=>{let e=e=>null!==e.dataTransfer&&e.dataTransfer.types.includes("Files"),t=()=>{eT.current=0,eS(!1)},r=t=>{e(t)&&(t.preventDefault(),eT.current+=1,eS(!0))},s=t=>{e(t)&&t.preventDefault()},n=t=>{e(t)&&(eT.current=Math.max(0,eT.current-1),0===eT.current&&eS(!1))},l=e=>{null!==e.dataTransfer&&(e.preventDefault(),t(),ti.current(e.dataTransfer.files))};return document.addEventListener("dragenter",r),document.addEventListener("dragover",s),document.addEventListener("dragleave",n),document.addEventListener("drop",l),window.addEventListener("dragend",t),()=>{document.removeEventListener("dragenter",r),document.removeEventListener("dragover",s),document.removeEventListener("dragleave",n),document.removeEventListener("drop",l),window.removeEventListener("dragend",t)}},[]);let td=el.trim().length>0||ea.length>0||eo.length>0||ei.length>0;return(0,s.jsxs)("div",{ref:eD,className:"relative w-full","data-testid":"composer",children:[eJ>0&&(0,s.jsxs)("div",{className:"pw-queue",children:[v.steering.map((e,t)=>(0,s.jsxs)("div",{className:"pw-queue-row",title:e,children:[(0,s.jsx)("span",{className:"pw-queue-tag",children:eZ.modeSteer}),(0,s.jsx)("span",{className:"pw-queue-text",children:e})]},`s${t}`)),v.followUp.map((e,t)=>(0,s.jsxs)("div",{className:"pw-queue-row",title:e,children:[(0,s.jsx)("span",{className:"pw-queue-tag",children:eZ.modeQueue}),(0,s.jsx)("span",{className:"pw-queue-text",children:e})]},`f${t}`)),(0,s.jsxs)("div",{className:"pw-queue-foot",children:[(0,s.jsx)("button",{type:"button",onClick:()=>void tl(),children:eZ.queueEdit}),(0,s.jsx)("button",{type:"button",onClick:()=>void M?.(),children:eZ.queueDrop})]})]}),ev&&(0,s.jsx)("div",{className:"mb-2 px-2",role:"alert",style:{fontSize:12,color:"var(--dsw-danger)"},children:ev}),e0&&(0,s.jsxs)("div",{ref:eW,"data-testid":"mention-menu",className:"popover absolute bottom-full left-0 right-0 z-50 mb-2 max-h-[340px] overflow-y-auto py-1.5",role:"listbox","aria-label":eZ.mentionFiles,style:{overflowY:"auto"},children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-4 pb-1 pt-1",style:{fontSize:11.5,color:"var(--dsw-label-caption)"},children:[(0,s.jsx)("span",{children:eZ.mentionFiles}),e3.truncated&&(0,s.jsx)("span",{style:{color:"var(--dsw-warn)"},children:eZ.mentionTruncated}),"disk"===e3.source&&(0,s.jsx)("span",{title:eZ.mentionDiskSourceHint,children:eZ.mentionDiskSource}),(0,s.jsx)("span",{className:"flex-1"}),(0,s.jsx)("span",{children:eZ.mentionHint})]}),"loading"===e3.status&&(0,s.jsx)("div",{className:"px-4 py-2",style:{fontSize:12.5,color:"var(--dsw-label-caption)"},children:eZ.panelLoading}),"error"===e3.status&&(0,s.jsx)("div",{className:"px-4 py-2",style:{fontSize:12.5,color:"var(--dsw-danger)"},role:"alert",children:e3.error}),"ready"===e3.status&&0===e5.length&&(0,s.jsx)("div",{className:"px-4 py-2",style:{fontSize:12.5,color:"var(--dsw-label-caption)"},children:eZ.mentionNoMatch}),e5.map(({candidate:e,label:t,description:r},n)=>(0,s.jsxs)("button",{type:"button",role:"option","aria-selected":n===e4,className:"flex w-full items-center gap-2 px-4 py-1.5 text-left transition-colors",style:{background:n===e4?"var(--dsw-hover)":"transparent"},onMouseEnter:()=>eO(n),onClick:()=>e8(e),title:e.dir?`${e.path}/`:e.path,children:[e.dir?(0,s.jsx)(a.pH,{size:13,style:{flex:"none",color:"var(--dsw-warn)"}}):(0,s.jsx)(a.lx,{size:13,style:{flex:"none",color:"var(--dsw-label-caption)"}}),(0,s.jsx)("span",{className:"flex-none truncate",style:{maxWidth:"55%",fontSize:12.5,fontFamily:"var(--font-mono)",color:"var(--dsw-label-primary)"},children:t}),r.replace(/\/$/,"")!==t.replace(/\/$/,"")&&(0,s.jsx)("span",{className:"min-w-0 flex-1 truncate",style:{fontSize:11.5,fontFamily:"var(--font-mono)",color:"var(--dsw-label-caption)"},children:r})]},`${e.dir?"d":"f"}:${e.path}`))]}),eX&&e1.length>0&&(0,s.jsxs)("div",{ref:e7,className:"popover absolute bottom-full left-0 right-0 z-50 mb-2 max-h-[340px] overflow-y-auto py-1.5",role:"listbox","aria-label":eZ.slashCatalog,style:{overflowY:"auto"},children:[(0,s.jsx)("div",{className:"px-4 pb-1 pt-1",style:{fontSize:11.5,color:"var(--dsw-label-caption)"},children:eZ.slashCatalog}),e1.map((e,t)=>(0,s.jsxs)("button",{role:"option","aria-selected":t===e9,className:"flex w-full items-baseline gap-3 px-4 py-2 text-left transition-colors",style:{background:t===e9?"var(--dsw-hover)":"transparent"},onMouseEnter:()=>eR(t),onClick:()=>te(e),children:[(0,s.jsx)("span",{style:{fontSize:14,fontWeight:500,color:"var(--dsw-label-primary)",flex:"none"},children:e.name}),"builtin"!==e.kind&&(0,s.jsx)("span",{className:"rounded px-1.5 py-0.5",style:{fontSize:10.5,color:"var(--dsw-label-caption)",background:"var(--dsw-selector)",flex:"none"},children:"skill"===e.kind?eZ.skillType:"template"===e.kind?eZ.promptType:eZ.extensionCmdType}),e.argumentHint&&(0,s.jsx)("span",{style:{fontSize:12,fontFamily:"var(--font-mono)",color:"var(--dsw-label-caption)",flex:"none"},children:e.argumentHint}),(0,s.jsx)("span",{className:"truncate",style:{fontSize:13,color:"var(--dsw-label-tertiary)"},children:e.desc})]},`${e.kind}:${e.name}`))]}),(0,s.jsxs)("div",{className:"pointer-events-none absolute inset-x-0 bottom-full z-20 flex flex-col gap-1.5 pb-2","data-testid":"composer-attachments",children:[ea.length>0&&(0,s.jsx)(P,{images:ea,disabled:ej,onRemove:e=>en(t=>({...t,images:t.images.filter((t,r)=>r!==e)})),onClear:()=>en(e=>({...e,images:[]}))}),ei.length>0&&(0,s.jsxs)("div",{className:"pointer-events-auto flex flex-wrap gap-1 px-1","data-testid":"composer-references",children:[(eN?ei:ei.slice(0,4)).map((e,t)=>{let r=function(e){let t=/[\\/]$/.test(e),r=e.replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean);if(!r.length)return{text:e,dir:t};let s=r.slice(-2).join("/");return{text:t?`${s}/`:r.length>2?`…/${s}`:s,dir:t}}(e);return(0,s.jsxs)("span",{className:"pw-ref-chip group/ref",title:e,style:{animationDelay:`${Math.min(14*t,140)}ms`},children:[r.dir?(0,s.jsx)(a.pH,{size:12,style:{flex:"none",color:"var(--dsw-warn)"}}):(0,s.jsx)(a.lx,{size:12,style:{flex:"none",color:"var(--dsw-accent)"}}),(0,s.jsx)("span",{className:"truncate",children:r.text}),(0,s.jsx)("button",{type:"button",className:"pw-ref-close",disabled:ej,onClick:()=>en(t=>({...t,references:(t.references??[]).filter(t=>t!==e)})),"aria-label":`${eZ.delete} ${e}`,children:"✕"})]},e)}),ei.length>4?(0,s.jsx)("button",{type:"button",className:"pw-chip","data-testid":"references-toggle",onClick:()=>eL(e=>!e),children:eN?eZ.chipCollapse:eZ.chipExpandMore.replace("{n}",String(ei.length-4))}):null]}),eo.length>0&&(0,s.jsxs)("div",{className:"pointer-events-auto flex flex-wrap items-center gap-1 px-1","data-testid":"composer-uploads",children:[(eM?eo:eo.slice(0,4)).map((e,t)=>(0,s.jsxs)("span",{className:"pw-ref-chip group/ref",title:e.path,children:[(0,s.jsx)(a.lx,{size:12,style:{flex:"none",color:"var(--dsw-label-tertiary)"}}),(0,s.jsx)("span",{className:"max-w-[180px] truncate",children:e.name}),(0,s.jsx)("span",{style:{flex:"none",fontSize:11,color:"var(--dsw-label-caption)"},children:X(e.size)}),(0,s.jsx)("button",{type:"button",className:"pw-ref-close",disabled:ej,onClick:()=>en(e=>({...e,uploads:e.uploads.filter((e,r)=>r!==t)})),"aria-label":`${eZ.delete} ${e.name}`,children:"✕"})]},e.path)),eo.length>4?(0,s.jsx)("button",{type:"button",className:"pw-chip","data-testid":"uploads-toggle",onClick:()=>eE(e=>!e),children:eM?eZ.chipCollapse:eZ.chipExpandMore.replace("{n}",String(eo.length-4))}):null]})]}),(0,s.jsxs)("div",{className:"relative w-full",style:{borderRadius:22,background:"var(--dsw-input-major)",boxShadow:"var(--dsw-elevation-soft)",border:"0.5px solid var(--dsw-border-l1)"},children:[(0,s.jsxs)("div",{className:"px-4 pt-3 flex items-start gap-1.5",children:[ed&&(0,s.jsxs)("button",{type:"button",className:"flex-none flex items-center gap-1 self-start",title:`${eZ.delete} (Backspace)`,style:{fontSize:"var(--piweb-chat-font-size, var(--dsh-content-font-size))",lineHeight:"var(--piweb-chat-line-height, 1.55)",padding:0,background:"transparent",border:"none",color:"var(--dsw-label-primary)"},onClick:()=>{eu(null),requestAnimationFrame(()=>eq.current?.focus())},children:[(0,s.jsx)(a.ZL,{size:14,style:{color:"var(--dsw-accent)",flex:"none"}}),(0,s.jsxs)("span",{style:{color:"var(--dsw-accent)",fontWeight:600},children:["/",ed.name]})]}),(0,s.jsx)("textarea",{ref:eq,value:el,disabled:e||eV||ej,rows:1,placeholder:ed?ed.argumentHint??eZ.inputPlaceholder:!e&&eV?eZ.blockedComposer:eZ.inputPlaceholder,suppressHydrationWarning:!0,className:"min-w-0 flex-1 resize-none",style:{fontSize:"var(--piweb-chat-font-size, var(--dsh-content-font-size))",lineHeight:1.55},onChange:e=>{let t=e.target.value;ec(t),eA(!1),eR(0),e6(t,e.target.selectionStart),tt()},onSelect:e=>{let t=e.target;e6(t.value,t.selectionStart===t.selectionEnd?t.selectionStart:null)},onPaste:e=>{Array.from(e.clipboardData.files).length&&(e.preventDefault(),ta(e.clipboardData.files))},onKeyDown:e=>{if(e0&&!e.nativeEvent.isComposing){if("Escape"===e.key){e.preventDefault(),eB&&(e_.current=`${eB.start}:${el.slice(eB.start,eB.tokenEnd)}`),eF(null),eO(0);return}if(e5.length>0){if("ArrowDown"===e.key){e.preventDefault(),eO(e=>Math.min(e+1,e5.length-1));return}if("ArrowUp"===e.key){e.preventDefault(),eO(e=>Math.max(e-1,0));return}if("Enter"===e.key||"Tab"===e.key){e.preventDefault();let t=e5[e4];t&&e8(t.candidate);return}}}if(ed&&""===el&&("Backspace"===e.key||"Escape"===e.key)){e.preventDefault(),eu(null);return}if(eX&&e1.length>0){if("ArrowDown"===e.key){e.preventDefault(),eR(e=>Math.min(e+1,e1.length-1));return}if("ArrowUp"===e.key){e.preventDefault(),eR(e=>Math.max(e-1,0));return}if("Escape"===e.key){e.preventDefault(),eA(!0);return}if("Enter"===e.key&&!e.nativeEvent.isComposing){e.preventDefault(),te(e1[e9]);return}if("Tab"===e.key){e.preventDefault();let t=e1[e9];if(!t)return;eu(t),ec(""),eR(0),requestAnimationFrame(()=>{tt(),eq.current?.focus()});return}}if("ArrowUp"===e.key&&""===el&&eJ>0){e.preventDefault(),tl();return}if("Enter"===e.key&&!e.shiftKey&&!e.nativeEvent.isComposing){e.preventDefault();let r=e.ctrlKey||e.metaKey;tr(t&&r?"steer"===(0,G.t7)(eU)?"steer":"followUp":void 0)}}})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",style:{paddingLeft:8,paddingRight:12,paddingBottom:8,paddingTop:4,height:40,containerType:"inline-size"},children:[(0,s.jsx)("div",{className:"flex-1"}),(0,s.jsx)(B,{model:p,thinkingLevel:m,thinkingLevels:h,models:f,providerNames:g,authByProvider:x,onSelectModel:N,onSelectLevel:L,open:e$,onOpenChange:ez}),c&&(0,s.jsx)(S,{percent:r,tokens:l,contextWindow:i,model:p,source:d}),t&&!td?(0,s.jsx)("button",{className:"btn-primary-circle",title:eZ.stop,onClick:()=>void tn(),children:(0,s.jsx)(a.uN,{size:16})}):(0,s.jsxs)(s.Fragment,{children:[t&&(0,s.jsx)("button",{className:"btn-ghost-circle",title:eZ.stop,onClick:()=>void tn(),children:(0,s.jsx)(a.uN,{size:14})}),(0,s.jsx)("button",{className:"btn-primary-circle",title:t?"steer"===eU?eZ.sendSteer:eZ.sendQueue:eZ.send,disabled:!td||e||eV||ej||eC,onClick:()=>tr(),children:(0,s.jsx)(a.Jz,{size:16})})]})]})]}),ek&&(0,s.jsx)("div",{className:"pointer-events-none fixed inset-0 z-[95] flex items-center justify-center",style:{background:"color-mix(in srgb, var(--dsw-bg-base) 65%, transparent)"},children:(0,s.jsxs)("div",{className:"flex flex-col items-center gap-3 rounded-3xl px-12 py-10",style:{border:"2px dashed var(--dsw-accent)",background:"var(--dsw-glass-popover)",boxShadow:"var(--dsw-elevation-prominent)"},children:[(0,s.jsx)(a.lx,{size:32,style:{color:"var(--dsw-accent)"}}),(0,s.jsx)("div",{style:{fontSize:15,fontWeight:500,color:"var(--dsw-label-primary)"},children:eC?eZ.uploading:eZ.dropToAttach}),(0,s.jsx)("div",{style:{fontSize:12,color:"var(--dsw-label-caption)"},children:eZ.dropToAttachHint}),(0,s.jsx)("div",{className:"rounded-full px-3 py-1",style:{fontSize:11.5,color:"var(--dsw-label-secondary)",background:"var(--dsw-hover)",lineHeight:"18px"},children:eZ.dropLimits})]})})]})}function X(e){return(0,i.zi)(e).replace(/ /g,"")}var ee=r(4825),et=r(8476),er=r(9665),es=r(8155);function en({scrollRef:e,revision:t}){let{t:r}=(0,o.s)(),[l,a]=(0,n.useState)([]),[i,d]=(0,n.useState)(0),[c,u]=(0,n.useState)(!1),p=(0,n.useRef)(null),m=(0,n.useCallback)(()=>{let t=e.current;if(!t)return;let r=[],s=t.querySelectorAll('[data-role="user"], [data-role="assistant"]'),n=0;for(let e of s){if("user"===e.dataset.role){n+=1;let t=((e.querySelector(".msg-user-bubble")??e).textContent??"").replace(/\s+/g," ").trim();t&&r.push({key:`u${n}`,level:0,text:t.slice(0,80),el:e});continue}let t=e.querySelectorAll(".md h1, .md h2, .md h3, .md h4"),s=0;for(let e of t){s+=1;let t=(e.textContent??"").replace(/\s+/g," ").trim();t&&r.push({key:`u${n}-h${s}`,level:Number(e.tagName.slice(1)),text:t,el:e})}}a(r)},[e]);return((0,n.useEffect)(()=>{let e=setTimeout(m,400*!!t.endsWith(":1"));return()=>clearTimeout(e)},[m,t]),(0,n.useEffect)(()=>{let t,r=e.current;if(!r)return;let s=new MutationObserver(()=>{clearTimeout(t),t=setTimeout(m,300)});return s.observe(r,{childList:!0,subtree:!0}),()=>{s.disconnect(),clearTimeout(t)}},[m,e]),(0,n.useEffect)(()=>{let t=e.current;if(!t||!l.length)return;let r=0,s=()=>{r=0;let e=t.getBoundingClientRect().top+80,s=0;for(let t=0;t<l.length;t+=1)if(l[t].el.getBoundingClientRect().top<=e)s=t;else break;d(s)},n=()=>{r||(r=requestAnimationFrame(s))};return s(),t.addEventListener("scroll",n,{passive:!0}),()=>{t.removeEventListener("scroll",n),r&&cancelAnimationFrame(r)}},[l,e]),(0,n.useEffect)(()=>{c&&p.current?.querySelector('[data-active="true"]')?.scrollIntoView({block:"nearest"})},[c,i]),l.length<3)?null:(0,s.jsx)("div",{className:"outline-rail absolute right-2 top-1/2 z-20 -translate-y-1/2",onMouseEnter:()=>u(!0),onMouseLeave:()=>u(!1),"aria-label":r.outline,children:c?(0,s.jsx)("div",{ref:p,className:"max-h-[70vh] w-[260px] overflow-y-auto py-1.5",style:{background:"var(--dsw-glass-popover)",border:"0.5px solid var(--dsw-border-l2)",borderRadius:14,boxShadow:"var(--dsw-elevation-panel)"},children:l.map((t,r)=>{let n=r===i;return(0,s.jsx)("button",{type:"button","data-active":n,className:"block w-full truncate px-3 py-1 text-left transition-colors",style:{paddingLeft:12+12*Math.max(0,t.level-1),fontSize:(t.level,12.5),fontWeight:0===t.level||n?600:400,color:n?"var(--dsw-accent)":0===t.level?"var(--dsw-label-primary)":"var(--dsw-label-secondary)",background:n?"var(--dsw-accent-soft)":"transparent",lineHeight:"20px"},title:t.text,onMouseEnter:e=>{n||(e.currentTarget.style.background="var(--dsw-hover)")},onMouseLeave:e=>{n||(e.currentTarget.style.background="transparent")},onClick:()=>(t=>{let r=e.current;if(!r)return;let s=t.el.getBoundingClientRect().top-r.getBoundingClientRect().top+r.scrollTop-16;r.scrollTo({top:Math.max(0,s),behavior:"smooth"})})(t),children:t.text},t.key)})}):(0,s.jsx)("div",{className:"flex flex-col items-end gap-[6px] py-2 pl-3 pr-1",children:l.slice(0,40).map((e,t)=>(0,s.jsx)("span",{"aria-hidden":!0,style:{display:"block",height:2,borderRadius:2,width:0===e.level?18:Math.max(6,16-(e.level-1)*3),background:t===i?"var(--dsw-accent)":"var(--dsw-border-l4)",transition:"background var(--ds-duration-fast) var(--ds-ease-in-out)"}},e.key))})})}var el=r(4965);let ea="piweb:before-chat-layout";function eo(){window.dispatchEvent(new Event(ea))}function ei(e,t){let r=Math.max(0,Math.floor(e/1e3)),s=Math.floor(r/60),n=r%60;return s>0?t.durationMinutes.replace("{minutes}",String(s)).replace("{seconds}",String(n).padStart(2,"0")):t.durationSeconds.replace("{seconds}",String(n))}let ed=(0,ee.default)(()=>Promise.all([r.e(5173),r.e(8552)]).then(r.bind(r,8552)).then(e=>e.MarkdownBlock),{loadableGenerated:{webpack:()=>[8552]},ssr:!1,loading:()=>null}),ec=(0,ee.default)(()=>Promise.all([r.e(5173),r.e(8552)]).then(r.bind(r,8552)).then(e=>e.StreamingMarkdownBlock),{loadableGenerated:{webpack:()=>[8552]},ssr:!1,loading:()=>null});function eu({durationMs:e,usage:t,t:r}){let[l,o]=(0,n.useState)(!1),d=(0,n.useRef)(null);(0,n.useEffect)(()=>{if(!l)return;let e=e=>{d.current?.contains(e.target)||o(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[l]);let c=(t?.input??0)+(t?.cacheRead??0)+(t?.cacheWrite??0),u=null!=t&&(c>0||(t.output??0)>0);return(0,s.jsxs)("div",{ref:d,className:"relative",children:[(0,s.jsxs)("button",{type:"button",className:"flex items-center gap-1 rounded-full px-2",style:{height:22,fontSize:"var(--piweb-chat-font-xs)",color:"var(--dsw-label-caption)"},title:r.turnUsageTitle,"aria-haspopup":"dialog","aria-expanded":l,onClick:()=>o(e=>!e),children:[(0,s.jsx)(a.BF,{size:13,style:{flex:"none"}}),(0,s.jsx)("span",{style:{whiteSpace:"nowrap"},children:r.turnRanFor.replace("{duration}",ei(e,r))})]}),l&&(0,s.jsx)("div",{className:"popover absolute left-0 top-full z-50 mt-1.5 w-44 p-3",role:"dialog","aria-label":r.turnUsageTitle,children:(0,s.jsxs)("div",{className:"flex flex-col gap-1",style:{fontSize:"var(--piweb-chat-font-t)",color:"var(--dsw-label-secondary)"},children:[(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,s.jsx)("span",{style:{color:"var(--dsw-label-caption)"},children:r.duration}),(0,s.jsx)("span",{children:ei(e,r)})]}),u&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,s.jsx)("span",{style:{color:"var(--dsw-label-caption)"},children:r.inputTokens}),(0,s.jsx)("span",{children:(0,i.yj)(c)})]}),(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,s.jsx)("span",{style:{color:"var(--dsw-label-caption)"},children:r.outputTokens}),(0,s.jsx)("span",{children:(0,i.yj)(t.output??0)})]}),(t.cacheRead??0)+(t.cacheWrite??0)>0&&(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,s.jsx)("span",{style:{color:"var(--dsw-label-caption)"},children:r.cacheHits}),(0,s.jsx)("span",{children:(0,i.J0)((t.cacheRead??0)/Math.max(c,1)*100)})]})]}),t?.cost?.total!=null&&t.cost.total>0&&(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,s.jsx)("span",{style:{color:"var(--dsw-label-caption)"},children:r.cost}),(0,s.jsxs)("span",{children:["$",t.cost.total.toFixed(4)]})]})]})})]})}function ep({text:e,onFork:t,onEdit:r,durationMs:l,usage:i,time:d,clockStart:c=!1}){let u,p,m,h,[f,g]=(0,n.useState)(!1),[x,v]=(0,n.useState)(!1),[w,b]=(0,n.useState)(!1),{t:y}=(0,o.s)(),C=void 0===d?null:(0,s.jsx)("span",{className:`msg-clock ${c?"msg-clock-start":""}`,style:{whiteSpace:"nowrap"},suppressHydrationWarning:!0,children:(u=new Date(d),p=new Date,m=`${String(u.getHours()).padStart(2,"0")}:${String(u.getMinutes()).padStart(2,"0")}`,h=u.getFullYear()===p.getFullYear()?y.clockMd.replace("{m}",String(u.getMonth()+1)).replace("{d}",String(u.getDate())):y.clockYmd.replace("{y}",String(u.getFullYear())).replace("{m}",String(u.getMonth()+1)).replace("{d}",String(u.getDate())),`${h} ${m}`)});return(0,s.jsxs)("div",{className:"msg-actions",children:[c&&C,(0,s.jsx)("button",{className:"icon-btn",title:x?y.copyFailed:y.copy,"aria-label":y.copy,onClick:()=>{(0,es.D)(e).then(e=>{g(e),v(!e),setTimeout(()=>{g(!1),v(!1)},1200)})},children:f?(0,s.jsx)(a.df,{size:14}):(0,s.jsx)(a.sS,{size:14})}),x&&(0,s.jsx)("span",{role:"alert",style:{fontSize:11,color:"var(--dsw-danger)"},children:y.copyFailed}),r&&(0,s.jsx)("button",{className:"icon-btn",title:y.editMessage,"aria-label":y.editMessage,onClick:r,children:(0,s.jsx)(a.PT,{size:14})}),t&&(0,s.jsx)("button",{className:"icon-btn",title:y.forkSession,"aria-label":y.forkSession,disabled:w,style:{opacity:w?.6:void 0},onClick:()=>{w||(b(!0),Promise.resolve(t()).finally(()=>b(!1)))},children:(0,s.jsx)("span",{className:w?"piweb-spin":void 0,style:{display:"inline-flex"},children:(0,s.jsx)(a.r$,{size:14})})}),void 0!==l&&(0,s.jsx)(eu,{durationMs:l,usage:i,t:y}),!c&&C]})}let em=["Thinking","Pondering","Cogitating","Mulling","Percolating","Brewing","Simmering","Ruminating","Synthesizing","Noodling","Marinating","Crafting"];function eh(e,t){let[r,s]=(0,n.useState)(()=>Date.now());return(0,n.useEffect)(()=>{if(!t)return;s(Date.now());let e=setInterval(()=>s(Date.now()),1e3);return()=>clearInterval(e)},[t]),e?Math.max(0,r-e):0}function ef(e){let t=Math.max(0,Math.round(e/1e3));if(t<60)return`${t}s`;let r=Math.floor(t/60);return r<60?`${r}m ${t%60}s`:`${Math.floor(r/60)}h ${r%60}m ${t%60}s`}function eg({kind:e}){let t={size:14,style:{flex:"none"}};switch(e){case"cmd":return(0,s.jsx)(a.ZL,{...t});case"read":return(0,s.jsx)(a.NA,{...t});case"search":return(0,s.jsx)(a.FG,{...t});case"write":return(0,s.jsx)(a.PT,{...t});case"think":case"summary":return(0,s.jsx)(a.RX,{...t});case"context":return(0,s.jsx)(a.lx,{...t});case"error":return(0,s.jsx)(a.PP,{...t});case"abort":return(0,s.jsx)(a.Bh,{...t});case"retry":return(0,s.jsx)(a.Ct,{...t});case"work":return(0,s.jsx)("span",{className:"pw-pi","aria-hidden":!0,children:"π"});default:return(0,s.jsx)(a.tq,{...t})}}function ex({kind:e,tone:t="dim",live:r,className:n,children:l}){return(0,s.jsxs)("div",{className:n?`pw-step ${n}`:"pw-step","data-kind":e,"data-tone":t,"data-live":r||void 0,children:[(0,s.jsx)("span",{className:"pw-icon","aria-hidden":!0,children:(0,s.jsx)(eg,{kind:e})}),(0,s.jsx)("div",{className:"pw-body",children:l})]})}function ev(e,t){let r,n=[],l=/\{(\w+)\}/g,a=0,o=0;for(;r=l.exec(e);)r.index>a&&n.push(e.slice(a,r.index)),n.push((0,s.jsx)("strong",{children:t[r[1]]??""},o++)),a=r.index+r[0].length;return a<e.length&&n.push(e.slice(a)),n}let ew=e=>"string"==typeof e?e:void 0,eb=(0,n.memo)(function({id:e,name:t,args:r,state:l,cwd:i,onInspectTool:d,onOpenFile:u}){let p,[g,w]=(0,n.useState)(!1),{t:S}=(0,o.s)(),N=c(t),L=!l||"running"===l.state,M=eh(l?.startedAt,L),E=l?.result??l?.partialResult??"",T="write"===t.toLowerCase(),$=(0,n.useMemo)(()=>{if("write"!==N||!l||"done"!==l.state)return null;let e=(0,et.rj)(l.patch||E);if(e)return e;if(T){let e=ew(r?.content);if(e)return e.replace(/\r/g,"").replace(/\n$/,"").split("\n").map((e,t)=>({kind:"add",new:t+1,text:e}))}return null},[r,T,N,E,l]),z=!!l?.isError&&!L,I=function(e,t,r){let s=t??{},n=e.toLowerCase(),l=c(e),a=e=>{let t=ew(e);return t?m(t,r):""};if("cmd"===l){let e=f(ew(s.command)??ew(s.cmd)??ew(s.script)??"",r);return{text:e.text,scriptLines:e.lines}}return"grep"===n||"glob"===n||"find"===n?{text:[ew(s.pattern),a(s.path)].filter(Boolean).join(" "),scriptLines:0}:"read"===l||"write"===l||"ls"===n?{text:a(s.path??s.file_path),scriptLines:0}:{text:(Object.values(s).find(e=>"string"==typeof e)??"").replace(/\s+/g," ").slice(0,160),scriptLines:0}}(t,r,i),R=I.text;try{R=JSON.stringify(r,null,2).slice(0,2e3)}catch{}let P="read"!==N&&"write"!==N?"":ew(r?.path??r?.file_path)??"",A="cmd"===N?ew(r?.command)??ew(r?.cmd)??ew(r?.script)??"":"",B="cmd"===N&&!L&&!z&&v(A).some(x)?function(e){for(let t of v(e)){if(!x(t))continue;let e=t.trim().match(/"[^"]*"|'[^']*'|\S+/g)??[],r=e[0]?.toLowerCase()==="git"?2:1,s=e.slice(r).find(e=>!e.startsWith("-"));if(s)return s.replace(/^["']|["']$/g,"")}return""}(A):"",F=l?function(e,t,r,s){let n="running"===t.state,l=(t.result??t.partialResult??"").replace(/\r/g,""),a=l.match(/Command exited with code (\d+)/),o=a?Number(a[1]):void 0,i=l.replace(/\r/g,"").split("\n").filter(e=>e.trim().length>0).filter(e=>!/^Command exited with code \d+/.test(e)),d=(e,t)=>r[e].replace("{n}",String(t)),c=e=>s?e.map(e=>y(e,s)):e,u=function(e){let t=e.length;for(;t>0&&!/[\p{L}\p{N}]/u.test(e[t-1]);)t-=1;return t===e.length?e:e.slice(0,t)}(i),p=e=>({lines:c(u.slice(-e)),hidden:Math.max(0,i.length-Math.min(e,u.length)),side:"tail"}),m=e=>({lines:c(i.slice(0,e)),hidden:Math.max(0,i.length-e),side:"head"}),g={lines:[],hidden:0},x=t.args,v="cmd"===e?ew(x?.command)??ew(x?.cmd)??ew(x?.script)??"":"";if(n)return"cmd"===e&&i.length?p(3):g;if(t.isError)return{head:void 0!==o&&0!==o?`${r.toolFailed} \xb7 ${r.toolExit.replace("{code}",String(o))}`:r.toolFailed,..."cmd"===e?p(4):m(4)};switch(e){case"read":{let e,t="dockerfile"===(e=h(ew(x?.path??x?.file_path)??"").toLowerCase())?"Dockerfile":"makefile"===e?"Makefile":C[e.includes(".")?e.slice(e.lastIndexOf(".")+1):""]??"";return{head:i.length?`${d("resultRead",i.length)}${t?` \xb7 ${t}`:""}`:r.toolNoOutput,lines:[],hidden:0}}case"search":return i.length?{head:d("resultFound",i.length),...m(3)}:{head:r.toolNoOutput,lines:[],hidden:0};case"cmd":{let e=void 0!==o&&0!==o?r.toolExit.replace("{code}",String(o)):void 0;if(!i.length)return{head:e??r.toolNoOutput,lines:[],hidden:0};return{head:e,..."head"===function(e){let t=e.replace(/\r/g,"").split("\n").find(e=>e.trim().length>0)??"";for(;;){let e=t.match(/^\s*(?:cd|pushd)\s+(?:\/d\s+)?(?:"[^"]*"|'[^']*'|\S+)\s*(?:&&|;)\s*/);if(!e)break;t=t.slice(e[0].length)}let r=t.trim().replace(/^(?:\w+=\S*\s+)+/,"").split(/\s+/),s=h(r[0]??"").replace(/\.exe$/i,"").toLowerCase();return"git"===s?k.has((r[1]??"").toLowerCase())?"head":"tail":j.has(s)?"head":"tail"}(f(v,s).text)?m(3):p(3)}}case"write":return g;default:return i.length?m(2):{head:r.toolNoOutput,lines:[],hidden:0}}}(N,l,S,i):{lines:[],hidden:0},H=!!($&&$.length),O=!!(E||l?.encodingLoss),_=O&&!H&&!L,W=l?.startedAt&&l?.endedAt?l.endedAt-l.startedAt:0,q=!!F.head||F.lines.length>0,D=O&&(g&&_||z&&H),Z=H&&$&&g?$:null,V=H&&$?T&&!l?.patch?S.diffSummary.replace("{add}",String($.length)).replace("{del}","0"):S.diffSummary.replace("{add}",String($.filter(e=>"add"===e.kind).length)).replace("{del}",String($.filter(e=>"del"===e.kind).length)):"",U=()=>w(e=>!e),J=e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),U())};return(0,s.jsxs)(ex,{kind:N,tone:L?"live":z?"fail":"dim",live:L,className:"group/tool",children:[(0,s.jsxs)("div",{className:"pw-line",role:H?"button":void 0,tabIndex:H?0:void 0,"aria-expanded":H?g:void 0,style:H?{cursor:"pointer"}:void 0,title:H?g?S.collapseOutput:S.expandDiff:void 0,onClick:H?U:void 0,onKeyDown:H?J:void 0,children:[L?(0,s.jsx)("span",{className:"pw-shimmer",children:S.stepRunning}):(0,s.jsx)("span",{className:"pw-verb","data-failed":z||void 0,children:(p=t.toLowerCase(),"cmd"===N?S.stepRan:"read"===N?S.stepRead:"search"===N?S.stepSearched:"write"===N?"write"===p?S.stepWrote:S.stepEdited:b(t))}),I.text?(0,s.jsx)("span",{className:"pw-arg",title:R,children:I.text}):(0,s.jsx)("span",{className:"pw-arg",style:{color:"var(--dsw-label-caption)"},children:b(t)}),V&&(0,s.jsx)("span",{className:"pw-meta",children:V}),H&&(0,s.jsx)("span",{className:"pw-meta","aria-hidden":!0,style:{display:"inline-flex",transform:g?"rotate(90deg)":void 0,transition:"transform var(--ds-duration-fast)"},children:(0,s.jsx)(a.QY,{size:11})}),B&&(0,s.jsx)("span",{className:"pw-meta",style:{color:"var(--dsw-danger)"},title:B,children:S.deletedFile.replace("{path}",y(B,i||""))}),I.scriptLines>1&&(0,s.jsx)("span",{className:"pw-meta",children:S.commandLines.replace("{n}",String(I.scriptLines))}),L&&(0,s.jsx)("span",{className:"pw-meta",children:ef(M)}),!L&&W>=1e3&&(0,s.jsx)("span",{className:"pw-meta",children:ef(W)}),u&&P&&(0,s.jsx)("button",{type:"button",className:"icon-btn opacity-0 group-hover/tool:opacity-100 focus-visible:opacity-100",style:{width:22,height:22,flex:"none"},title:S.fileOpenEditor,"aria-label":S.fileOpenEditor,onClick:e=>{e.stopPropagation(),u(P)},children:(0,s.jsx)(a.lx,{size:13})}),d&&(0,s.jsx)("button",{type:"button",className:"icon-btn opacity-0 group-hover/tool:opacity-100 focus-visible:opacity-100",style:{width:22,height:22,flex:"none"},title:S.viewInTrajectory,"aria-label":S.viewInTrajectory,onClick:t=>{t.stopPropagation(),d(e)},children:(0,s.jsx)(a.tq,{size:13})})]}),q&&(0,s.jsxs)("div",{className:"pw-result","data-failed":z||void 0,role:_?"button":void 0,tabIndex:_?0:void 0,onClick:_?U:void 0,onKeyDown:_?J:void 0,title:_?g?S.collapseOutput:S.expandOutput:void 0,children:[(0,s.jsx)("span",{className:"pw-rail",children:"⎿"}),(0,s.jsxs)("span",{className:"pw-lines",children:[F.head&&(0,s.jsx)("div",{className:"pw-head",children:F.head}),!g&&"tail"===F.side&&F.hidden>0&&(0,s.jsxs)("div",{className:"pw-more",children:["… ",S.moreLines.replace("{n}",String(F.hidden))]}),!g&&F.lines.map((e,t)=>(0,s.jsx)("div",{children:e},t)),!g&&"tail"!==F.side&&F.hidden>0&&(0,s.jsxs)("div",{className:"pw-more",children:["… ",S.moreLines.replace("{n}",String(F.hidden))]}),g&&_&&(0,s.jsx)("div",{className:"pw-more",children:S.collapseOutput})]})]}),Z&&Z.length>0&&(0,s.jsxs)("div",{className:"pw-diff",children:[(0,s.jsx)(et.xZ,{lines:Z,language:(0,er.f3)(P)}),(0,s.jsx)("button",{type:"button",className:"pw-more",onClick:()=>w(!1),children:S.collapseOutput})]}),D&&(0,s.jsxs)("div",{className:"pw-output",children:[A&&(0,s.jsx)("div",{className:"cmdline",children:A}),l?.encodingLoss&&(0,s.jsx)("p",{className:"mb-2 whitespace-normal",style:{color:"var(--dsw-warn)"},children:S.encodingLossWarning}),E&&(0,s.jsx)("pre",{style:{margin:0,whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"inherit"},children:E})]})]})}),ey=(0,n.memo)(function({text:e,live:t,startedAt:r}){let[l,a]=(0,n.useState)(!1),{t:i}=(0,o.s)(),d=eh(r,!!t);if(t){let t=e.replace(/\s+/g," ").trim(),n=t.length>220?`…${t.slice(-220)}`:t;return(0,s.jsxs)(ex,{kind:"think",tone:"live",live:!0,children:[(0,s.jsxs)("div",{className:"pw-line",children:[(0,s.jsxs)("span",{className:"pw-shimmer",children:[i.thinkingLive,"…"]}),r&&d>=3e3?(0,s.jsx)("span",{className:"pw-meta",children:ef(d)}):null]}),n&&(0,s.jsx)("div",{className:"pw-tail",children:n})]})}return(0,s.jsxs)(ex,{kind:"think",children:[(0,s.jsx)("button",{type:"button",className:"pw-line pw-clickable",onClick:()=>a(e=>!e),"aria-expanded":l,title:i.thinkLabel,children:(0,s.jsx)("span",{className:"pw-gist",children:function(e,t=140){let r=e.replace(/\s+/g," ").trim();if(!r)return"";let s=r.match(/^.*?(?:[.!?](?=\s|$)|[。!?])/),n=s?s[0].trim():r,l=/[㐀-鿿]/.test(n)?4:12;return n.length<l&&r.length>n.length&&(n=r),n.length>t?`${n.slice(0,t-1).trimEnd()}…`:n}(e,140)})}),l&&(0,s.jsx)("pre",{className:"pw-output pw-think-full",children:e})]})}),eC=(0,n.memo)(function({text:e,live:t,error:r}){let[l,a]=(0,n.useState)(!!t);return t&&!l&&a(!0),(0,s.jsx)("div",{className:"pw-narr","data-error":r||void 0,children:l?(0,s.jsx)(ec,{text:e,live:!!t}):(0,s.jsx)(ed,{text:e})})}),ej={rateLimit:"modelErrorRateLimit",billing:"modelErrorBilling",auth:"modelErrorAuth",notFound:"modelErrorNotFound",context:"modelErrorContext",timeout:"modelErrorTimeout",server:"modelErrorServer",network:"modelErrorNetwork",moderation:"modelErrorModeration"};function ek({message:e,count:t,model:r}){let n,{t:l}=(0,o.s)(),a=(n=e.toLowerCase(),/sensitive[ _-]?words?|content (moderation|filter)|moderation|content_policy|content policy|input blocked/.test(n)?"moderation":/\b429\b|rate.?limit|too many requests|requests per (minute|second)/.test(n)?"rateLimit":/\b402\b|insufficient (balance|credits|quota|funds)|billing|quota exceeded|余额/.test(n)?"billing":/\b401\b|\b403\b|unauthori[sz]ed|forbidden|invalid.*(api.?key|token)|authentication|permission denied/.test(n)?"auth":/\b404\b|model.*not (found|exist)|unknown model|no such model|not_found_error/.test(n)?"notFound":/context.*(length|window|limit)|too long|maximum.*tokens|prompt is too long|input length|exceeds the (limit|maximum)/.test(n)?"context":/timeout|timed out|etimedout|\b408\b|\b504\b/.test(n)?"timeout":/\b5\d\d\b|overloaded|server error|bad gateway|unavailable|internal error/.test(n)?"server":/econnrefused|econnreset|enotfound|eai_again|fetch failed|network|socket hang up/.test(n)?"network":null),i=a?l[ej[a]]:"";return(0,s.jsx)(ex,{kind:"error",tone:"warn",children:(0,s.jsxs)("div",{className:"pw-line",children:[(0,s.jsxs)("span",{className:"pw-warn-text",title:e,children:[l.modelError,": ",e,i?` \xb7 ${i}`:""]}),t>1&&(0,s.jsx)("span",{className:"pw-meta",children:l.modelErrorTimes.replace("{n}",String(t))}),r&&(0,s.jsx)("span",{className:"pw-meta",children:r})]})})}function eS(){let{t:e}=(0,o.s)();return(0,s.jsx)(ex,{kind:"abort",children:(0,s.jsx)("div",{className:"pw-line",children:e.turnAborted})})}function eN({text:e}){let[t,r]=(0,n.useState)(!1),[l,...a]=e.replace(/\s+/g," ").trim().split(":");return(0,s.jsxs)(ex,{kind:"retry",tone:"warn",live:!0,children:[(0,s.jsxs)("button",{type:"button",className:"pw-line pw-clickable",onClick:()=>r(e=>!e),"aria-expanded":t,children:[(0,s.jsx)("span",{className:"pw-verb",style:{color:"var(--dsw-warn)"},children:l}),!t&&a.length>0&&(0,s.jsx)("span",{className:"pw-gist",children:a.join(":")})]}),t&&(0,s.jsx)("pre",{className:"pw-output pw-think-full",children:e})]})}function eL({resource:e,cwd:t}){let[r,l]=(0,n.useState)(!1),{t:a}=(0,o.s)(),i="string"==typeof e?{path:e,content:"",source:"project"}:e;return(0,s.jsxs)(ex,{kind:"context",children:[(0,s.jsxs)("button",{type:"button",className:"pw-line pw-clickable","aria-expanded":r,onClick:()=>l(e=>!e),children:[(0,s.jsx)("span",{className:"pw-verb",children:a.contextInject}),(0,s.jsx)("span",{className:"pw-arg",title:i.path,children:m(i.path,t)})]}),r&&i.content&&(0,s.jsx)("pre",{className:"pw-output",style:{maxHeight:160},children:i.content})]})}function eM({startedAt:e,outputTokens:t,workingMessage:r,hasLiveStep:n}){let l=eh(e,!0),a=em[Math.floor(l/3e3)%em.length],o=r||(n?null:`${a}…`);return(0,s.jsx)(ex,{kind:"work",tone:"live",live:!0,children:(0,s.jsxs)("div",{className:"pw-line",children:[o?(0,s.jsx)("span",{className:"pw-shimmer",children:o}):(0,s.jsx)("span",{className:"pw-verb",children:ev("Working for {d}",{d:ef(l)})}),o&&(0,s.jsx)("span",{className:"pw-meta",children:ef(l)}),t?(0,s.jsxs)("span",{className:"pw-meta",children:["↓ ",(0,i.yj)(t)," tokens"]}):null]})})}function eE(e,t){if(e.msgIndex===t)return!1;if("think"===e.kind)return!e.live;if("tool"===e.kind){let t=e.state;if(!t||"done"!==t.state||t.isError)return!1;let r=c(e.call.name);return"cmd"===r||"read"===r||"search"===r}return!1}function eT({run:e,expanded:t,onToggle:r}){let{t:n}=(0,o.s)(),l=[];return e.hasThink&&void 0!==e.durationMs&&l.push(ev(n.sumThought,{d:ef(e.durationMs)})),e.cmds&&l.push(ev(1===e.cmds?n.sumRan1:n.sumRan,{n:String(e.cmds)})),e.reads&&l.push(ev(1===e.reads?n.sumRead1:n.sumRead,{n:String(e.reads)})),e.searches&&l.push(ev(1===e.searches?n.sumSearched1:n.sumSearched,{n:String(e.searches)})),l.length&&"string"==typeof l[0][0]&&(l[0][0]=l[0][0].replace(/^[a-z]/,e=>e.toUpperCase())),(0,s.jsx)(ex,{kind:e.hasThink?"summary":e.cmds?"cmd":e.reads?"read":"search",children:(0,s.jsxs)("button",{type:"button",className:"pw-line pw-clickable pw-summary","aria-expanded":t,onClick:r,children:[(0,s.jsx)("span",{className:"pw-gist",children:l.map((e,t)=>(0,s.jsxs)("span",{children:[t>0?n.sumJoin:"",e]},t))}),(0,s.jsx)(a.QY,{size:12,className:"pw-chev"})]})})}function e$({item:e,cwd:t,onInspectTool:r,onOpenFile:n}){switch(e.kind){case"think":return(0,s.jsx)(ey,{text:e.text,live:e.live,startedAt:e.startedAt});case"narr":return(0,s.jsx)(eC,{text:e.text,live:e.live,error:e.error});case"image":return(0,s.jsx)("div",{className:"pw-narr",children:(0,s.jsx)("img",{src:`data:${e.mimeType};base64,${e.data}`,alt:"",className:"my-1 max-h-96 max-w-full rounded-2xl object-contain"})});case"tool":return(0,s.jsx)(eb,{id:e.call.id,name:e.call.name,args:e.call.arguments,state:e.state,cwd:t,onInspectTool:r,onOpenFile:n});case"error":return(0,s.jsx)(ek,{message:e.message,count:e.count,model:e.model});case"abort":return(0,s.jsx)(eS,{});default:return null}}let ez=(0,n.memo)(function({message:e,onFork:t,showActions:r,turnStartMs:n,roundBadge:l,onShowRound:a}){let{t:i}=(0,o.s)(),d=e.content.filter(e=>"text"===e.type).map(e=>e.text).join("");return(0,s.jsxs)("div",{className:"group w-full",style:{marginTop:14},"data-role":"assistant",children:[e.content.map((e,t)=>"text"===e.type&&e.text.trim()?(0,s.jsx)(ed,{text:e.text},t):"image"===e.type?(0,s.jsx)("img",{src:`data:${e.mimeType};base64,${e.data}`,alt:"",className:"my-2 max-h-96 max-w-full rounded-2xl object-contain"},t):null),r&&(0,s.jsx)(ep,{text:d.trim(),onFork:e.id&&t?()=>t(e.id):void 0,durationMs:(e.endedAt??e.timestamp)!=null&&null!=n?Math.max(0,(e.endedAt??e.timestamp)-n):void 0,usage:e.usage,time:e.timestamp}),r&&l&&(0,s.jsx)("div",{className:"msg-actions",children:(0,s.jsxs)("button",{type:"button",className:"pw-chip",title:i.chatRoundShow,onClick:()=>a?.(l.commit),"data-testid":"round-badge",children:[l.files?i.chatRoundChanged.replace("{n}",String(l.files)):i.chatRoundNoChanges,l.files>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("span",{style:{color:"var(--dsw-success)"},children:[" +",l.add]}),(0,s.jsxs)("span",{style:{color:"var(--dsw-danger)"},children:[" −",l.del]})]})]})})]})}),eI=(0,n.memo)(function({message:e,onEditMessage:t}){let{t:r}=(0,o.s)(),l=e.content.filter(e=>"text"===e.type).map(e=>e.text).join("\n"),a=e.content.filter(e=>"image"===e.type),[i,d]=(0,n.useState)(!1),[c,u]=(0,n.useState)(l),p=!!(t&&e.id&&l);if(i)return(0,s.jsxs)("div",{className:"group mt-7 flex w-full flex-col items-end first:mt-0","data-role":"user","data-message-id":e.id,children:[(0,s.jsx)("div",{className:"msg-user-bubble w-full",children:(0,s.jsx)("textarea",{className:"w-full resize-none bg-transparent outline-none",style:{minHeight:68,font:"inherit",color:"inherit"},value:c,"aria-label":r.editMessage,autoFocus:!0,onChange:e=>u(e.target.value),onKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),d(!1)),"Enter"!==e.key||e.shiftKey||(e.preventDefault(),m())}})}),(0,s.jsxs)("div",{className:"mt-1.5 flex items-center gap-2",children:[(0,s.jsx)("button",{type:"button",className:"btn-outline",style:{height:26,padding:"0 10px",fontSize:12},onClick:()=>d(!1),children:r.cancel}),(0,s.jsx)("button",{type:"button",className:"btn-primary-white",style:{height:26,padding:"0 12px",fontSize:12},disabled:!c.trim()||c.trim()===l.trim(),onClick:m,children:r.sendEdit})]})]});function m(){let r=c.trim();r&&r!==l.trim()&&t&&e.id&&(d(!1),t(e.id,r))}return(0,s.jsxs)("div",{className:"group mt-7 flex w-full flex-col items-end first:mt-0","data-role":"user","data-message-id":e.id,children:[a.length>0&&(0,s.jsx)("div",{className:"mb-2 flex max-w-[85%] flex-wrap justify-end gap-2",children:a.map((e,t)=>(0,s.jsx)("img",{src:`data:${e.mimeType};base64,${e.data}`,alt:"",className:"max-h-72 max-w-full rounded-2xl object-contain",style:{border:"0.5px solid var(--dsw-border-l2)"}},t))}),l&&(0,s.jsx)("div",{className:"msg-user-bubble",children:(0,s.jsx)(ed,{text:l})}),l&&(0,s.jsx)(ep,{text:l,clockStart:void 0!==e.timestamp,time:e.timestamp,onEdit:p?()=>{u(l),d(!0)}:void 0})]})});function eR(e){let t=e.content.some(e=>"text"===e.type&&e.text.trim()),r=e.content.some(e=>"toolCall"===e.type),s=e.stopReason??"stop";return t&&!r&&"toolUse"!==s&&"pending"!==s&&"error"!==s&&"aborted"!==s}function eP({turn:e,messages:t}){let{t:r}=(0,o.s)(),n=e.userIndex>=0?t[e.userIndex]:void 0,l=e.assistantIndexes[e.assistantIndexes.length-1],a=void 0!==l&&eR(t[l])?l:-1,i=e=>e.content.filter(e=>"text"===e.type&&"string"==typeof e.text).map(e=>e.text).join("\n");return(0,s.jsxs)(s.Fragment,{children:[n&&(0,s.jsx)("div",{className:"group mt-7 flex w-full flex-col items-end first:mt-0","data-role":"user","data-message-id":n.id,children:(0,s.jsx)("div",{className:"msg-user-bubble pw-turn-lite",children:(0,s.jsx)("div",{children:i(n)})})}),e.assistantIndexes.map(e=>{let n=t[e];if(!n)return null;let l=n.content.some(e=>"thinking"===e.type),o=n.content.filter(e=>"toolCall"===e.type).length,d=i(n);return e===a?(0,s.jsx)("div",{className:"group w-full",style:{marginTop:14},"data-role":"assistant",children:(0,s.jsx)("div",{className:"md pw-turn-lite",children:function(e){let t=[],r=[],n=null,l=()=>{r.join("").trim()&&t.push((0,s.jsx)("div",{children:r.join("\n")},t.length)),r=[]};for(let a of e.split("\n")){let e=/^\s*(`{3,}|~{3,})/.exec(a)?.[1];e&&(!n||e.startsWith(n))&&(n=n?null:e.slice(0,3));let o=n||e?null:/^ {0,3}(#{1,4})\s+(.+?)\s*#*\s*$/.exec(a);if(!o){r.push(a);continue}l();let i=`h${o[1].length}`;t.push((0,s.jsx)(i,{children:o[2]},t.length))}return l(),t}(d)})},e):(0,s.jsxs)("div",{className:"group w-full",style:{marginTop:14},children:[(l||o>0)&&(0,s.jsxs)("div",{className:"pw-line",style:{color:"var(--dsw-label-tertiary)"},children:[l&&(0,s.jsx)("span",{children:r.thinkLabel}),l&&o>0&&(0,s.jsx)("span",{children:" \xb7 "}),o>0&&(0,s.jsxs)("span",{children:[r.toolCalls," \xd7 ",o]})]}),d&&(0,s.jsx)("div",{className:"pw-turn-lite",children:(0,s.jsx)("div",{children:d})})]},e)})]})}function eA({stats:e}){let{t}=(0,o.s)();if(!e||0===e.assistantMessages)return null;let r=[t.statsCounts.replace("{turns}",String(e.userMessages)).replace("{steps}",String(e.assistantMessages))],n=[];e.llmMs>0&&n.push(`LLM ${(0,i.c5)(e.llmMs)}`),e.toolMs>0&&n.push(`${t.toolCalls} ${(0,i.c5)(e.toolMs)}`),n.length&&r.push(n.join(" \xb7 "));let l=[];e.ttftSteps>0&&l.push(`${t.ttftAverage} ${(0,i.c5)(e.ttftMs/e.ttftSteps)}`),e.decodeMs>0&&l.push(`${(0,i.uZ)(e.decodeTokens/(e.decodeMs/1e3))} tok/s`),l.length&&r.push(l.join(" \xb7 "));let a=e.tokens.input+e.tokens.cacheRead+e.tokens.cacheWrite;(a>0||e.tokens.output>0)&&(a>0&&r.push(`${t.cacheHits} ${(0,i.J0)(e.tokens.cacheRead/a*100)}`),r.push(`${t.inputTokens} ${(0,i.yj)(a)} tok \xb7 ${t.outputTokens} ${(0,i.yj)(e.tokens.output)} tok`));let d=r.join(" | ");return(0,s.jsxs)("div",{className:"group relative mx-auto mt-1 block w-full px-4 pt-1 text-center",children:[(0,s.jsx)("div",{className:"[overflow-wrap:anywhere]",style:{fontSize:"var(--dsh-content-font-size-secondary, 13px)",lineHeight:"20px",color:"var(--dsw-label-caption)"},children:d}),(0,s.jsx)("div",{className:"pointer-events-none absolute bottom-full left-1/2 z-50 mb-1 hidden w-max max-w-[90vw] -translate-x-1/2 rounded-xl px-3 py-2 text-left group-hover:block",style:{background:"var(--dsw-glass-popover)",border:"0.5px solid var(--dsw-border-l2)",boxShadow:"var(--dsw-elevation-soft)",fontSize:"var(--dsh-content-font-size-secondary, 13px)",lineHeight:"20px",color:"var(--dsw-label-secondary)"},children:d})]})}let eB=(0,n.memo)(function({turn:e,messages:t,tools:r,cwd:l,isStreaming:a,isLast:o,lastAssistantIndex:i,contextFiles:d,retryNotice:u,streamStartedAt:p,runningTool:m,outputTokens:h,workingMessage:f,onFork:g,onEditMessage:x,roundBadge:v,onShowRound:w,onInspectTool:b,onOpenFile:y}){let[C,j]=(0,n.useState)(()=>new Set),k=e.userIndex>=0?t[e.userIndex]:void 0,S=e.assistantIndexes,N=S[S.length-1],L=a&&o,M=void 0!==N&&eR(t[N])&&!(a&&N===i)?N:-1,E=new Map;{let e=-1,r="";for(let s of S){let n=t[s],l="error"===n.stopReason&&!n.content.some(e=>"text"===e.type&&e.text.trim()||"toolCall"===e.type);if(l&&e>=0&&(n.errorMessage??"")===r){E.set(s,0),E.set(e,(E.get(e)??1)+1);continue}if(l){e=s,r=n.errorMessage??"",E.set(s,1);continue}e=-1}}let T=S.filter(e=>e!==M||t[e].content.some(e=>"thinking"===e.type&&e.thinking.trim())).flatMap(e=>{var s,n,l;let o,d,c,u;return s=a&&e===i,n=e===M,l=E.get(e),d=(o=t[e]).content.length-1,c="error"===o.stopReason,u=[],o.content.forEach((t,l)=>{let a=`${e}-${l}`;"thinking"===t.type&&t.thinking.trim()?u.push({kind:"think",key:a,msgIndex:e,text:t.thinking,live:s&&l===d,startedAt:o.timestamp}):"toolCall"===t.type?u.push({kind:"tool",key:`${a}-${t.id}`,msgIndex:e,call:t,state:r[t.id]}):"text"===t.type&&!n&&t.text.trim()?u.push({kind:"narr",key:a,msgIndex:e,text:t.text,live:s&&l===d,error:c}):"image"!==t.type||n||u.push({kind:"image",key:a,msgIndex:e,data:t.data,mimeType:t.mimeType})}),c&&(l??1)>0&&u.push({kind:"error",key:`${e}-err`,msgIndex:e,message:o.errorMessage||o.stopReason||"error",count:l??1,model:o.model}),"aborted"===o.stopReason&&u.push({kind:"abort",key:`${e}-abort`,msgIndex:e}),u}),$=L?T.map(e=>({kind:"item",item:e})):function(e,t,r){let s=[],n=0;for(;n<e.length;){if(!eE(e[n],t)){s.push({kind:"item",item:e[n]}),n+=1;continue}let l=n;for(;l<e.length&&eE(e[l],t);)l+=1;let a=e.slice(n,l),o=0,i=0,d=0,u=!1;for(let e of a)if("think"===e.kind)u=!0;else if("tool"===e.kind){let t=c(e.call.name);"cmd"===t?o+=1:"read"===t?i+=1:d+=1}let p=r(a[0].msgIndex,a[a.length-1].msgIndex);if(o+i+d===0&&void 0===p)for(let e of a)s.push({kind:"item",item:e});else s.push({kind:"run",key:`run-${a[0].key}`,items:a,hasThink:u,cmds:o,reads:i,searches:d,durationMs:p});n=l}return s}(T,M,(e,r)=>{let s=t[e]?.timestamp,n=S.find(e=>e>r),l=void 0!==n?t[n]?.timestamp:t[r]?.endedAt;return"number"==typeof s&&"number"==typeof l&&l>=s?l-s:void 0}),z=T[T.length-1],I=!!m||z?.kind==="think"&&z.live||z?.kind==="narr"&&z.live,R=T.length>0||!!d?.length||L||o&&!!u;return(0,s.jsxs)(s.Fragment,{children:[k&&(0,s.jsx)(eI,{message:k,onEditMessage:x}),R&&(0,s.jsxs)("div",{className:"pw-turn",children:[d?.map((e,t)=>(0,s.jsx)(eL,{resource:e,cwd:l},`ctx-${"string"==typeof e?e:`${e.source}-${e.path}`}-${t}`)),$.map(e=>{if("item"===e.kind)return(0,s.jsx)(e$,{item:e.item,cwd:l,onInspectTool:b,onOpenFile:y},e.item.key);let t=C.has(e.key);return(0,s.jsxs)("div",{className:"pw-run","data-open":t||void 0,children:[(0,s.jsx)(eT,{run:e,expanded:t,onToggle:()=>j(t=>{let r=new Set(t);return r.has(e.key)?r.delete(e.key):r.add(e.key),r})}),t&&e.items.map(e=>(0,s.jsx)(e$,{item:e,cwd:l,onInspectTool:b,onOpenFile:y},e.key))]},e.key)}),o&&u&&(0,s.jsx)(eN,{text:u}),L&&p&&(0,s.jsx)(eM,{startedAt:p,outputTokens:h,workingMessage:f,hasLiveStep:I})]}),M>=0&&(0,s.jsx)(ez,{message:t[M],onFork:g,showActions:!a||!o,turnStartMs:k?.timestamp,roundBadge:v,onShowRound:w})]})},function(e,t){if(e.cwd!==t.cwd||e.isStreaming!==t.isStreaming||e.isLast!==t.isLast||e.lastAssistantIndex!==t.lastAssistantIndex||e.retryNotice!==t.retryNotice||e.streamStartedAt!==t.streamStartedAt||e.runningTool!==t.runningTool||e.outputTokens!==t.outputTokens||e.workingMessage!==t.workingMessage||e.contextFiles!==t.contextFiles||e.onFork!==t.onFork||e.onEditMessage!==t.onEditMessage||e.onShowRound!==t.onShowRound||e.roundBadge?.commit!==t.roundBadge?.commit||e.roundBadge?.files!==t.roundBadge?.files||e.roundBadge?.add!==t.roundBadge?.add||e.roundBadge?.del!==t.roundBadge?.del||e.onInspectTool!==t.onInspectTool||e.onOpenFile!==t.onOpenFile||e.turn.key!==t.turn.key||e.turn.userIndex!==t.turn.userIndex||e.turn.assistantIndexes.length!==t.turn.assistantIndexes.length||!e.turn.assistantIndexes.every((e,r)=>e===t.turn.assistantIndexes[r]))return!1;let r=[e.turn.userIndex,...e.turn.assistantIndexes].filter(e=>e>=0);if(!r.every(r=>e.messages[r]===t.messages[r]))return!1;let s=[];for(let t of r)for(let r of e.messages[t]?.content??[])"toolCall"===r.type&&r.id&&s.push(r.id);return s.every(r=>e.tools[r]===t.tools[r])}),eF="piweb.chatContentWidth";function eH(e,t){let r=Math.max(320,Math.min(1200,t-64));return Math.max(Math.min(480,r),Math.min(e,r))}function eO(e,t){let r=e.closest(".pi-main");if(!r)return;if(null===t){r.style.removeProperty("--dsh-chat-content-width"),r.style.removeProperty("--dsh-composer-card-max-width");return}let s=eH(t,e.clientWidth);r.style.setProperty("--dsh-chat-content-width",`${s}px`),r.style.setProperty("--dsh-composer-card-max-width",`${s+32}px`)}function e_({messages:e,tools:t,contextFiles:r,cwd:l,onFork:a,onEditMessage:i,isStreaming:d=!1,error:c,connected:u=!0,onClearError:p,retryNotice:m,compaction:h,onClearCompaction:f,workingMessage:g,stats:x,onOpenTrajectory:v,onOpenFile:w,roundBadges:b,onShowRound:y}){var C;let j,k=(0,n.useRef)(null),S=(0,n.useRef)(null),N=(0,n.useRef)(null),L=(0,n.useRef)(null),M=(0,n.useRef)(!0),E=(0,n.useRef)(0),T=(0,n.useMemo)(()=>({shouldPin:()=>M.current,pin:()=>{let e=k.current;e&&(e.scrollTop=e.scrollHeight)}}),[]);C=T.shouldPin,j=(0,n.useRef)(null),(0,n.useEffect)(()=>{let e=S.current,t=k.current;if(!e||!t)return;let r=0,s=()=>{let r=j.current;if(j.current=null,!r||Date.now()-r.capturedAt>500||e.getBoundingClientRect().width===r.width)return;if(r.bottom){t.scrollTop=t.scrollHeight;return}let s=r.range?.startContainer.isConnected?r.range.getBoundingClientRect():r.element?.isConnected?r.element.getBoundingClientRect():null;s&&(t.scrollTop+=s.top-t.getBoundingClientRect().top-r.top)},n=()=>{r&&cancelAnimationFrame(r),s();let n={width:e.getBoundingClientRect().width,capturedAt:Date.now()};if(C()){j.current={top:0,bottom:!0,...n};return}let l=t.getBoundingClientRect(),a=[...t.querySelectorAll("p, pre, li, h1, h2, h3, h4, table, [data-role='user']")].find(e=>{let t=e.getBoundingClientRect();return t.bottom>l.top+8&&t.top<l.bottom});if(!a)return;let o=a.getBoundingClientRect(),i=Math.max(l.left+8,o.left+8),d=Math.max(l.top+8,o.top+4),c=document.caretRangeFromPoint?.(i,d);c&&t.contains(c.startContainer)&&c.startContainer.nodeType===Node.TEXT_NODE&&c.startOffset<(c.startContainer.textContent?.length??0)?(c.setEnd(c.startContainer,c.startOffset+1),j.current={element:a,range:c,top:c.getBoundingClientRect().top-l.top,bottom:!1,...n}):j.current={element:a,top:o.top-l.top,bottom:!1,...n}},l=new ResizeObserver(()=>{j.current&&(r&&cancelAnimationFrame(r),r=requestAnimationFrame(()=>{r=0,s()}))});return l.observe(e),window.addEventListener(ea,n),()=>{l.disconnect(),window.removeEventListener(ea,n),r&&cancelAnimationFrame(r)}},[S,k,C]);let{t:$}=(0,o.s)();(0,n.useEffect)(()=>{let e=S.current;if(!e)return;let t=Number(localStorage.getItem(eF));N.current=Number.isFinite(t)&&t>=480?t:null;let r=()=>eO(e,window.innerWidth<=840?null:N.current),s=new ResizeObserver(r);return s.observe(e),window.addEventListener("resize",r),r(),()=>{s.disconnect(),window.removeEventListener("resize",r),eO(e,null)}},[]);let[z,I]=(0,n.useState)(0),[R,P]=(0,n.useState)(!1),A=(0,n.useRef)(e.length),B=(0,n.useMemo)(()=>{for(let t=e.length-1;t>=0;t-=1)if("user"===e[t].role)return e[t].timestamp},[e]),[F,H]=(0,n.useState)(null);(0,n.useEffect)(()=>{H(e=>d?e??(B&&Date.now()-B<216e5?B:Date.now()):null)},[d,B]);let O=(0,n.useMemo)(()=>Object.values(t).find(e=>"running"===e.state)?.name,[t]),_=(0,n.useMemo)(()=>{for(let t=e.length-1;t>=0;t-=1)if("assistant"===e[t].role)return t;return -1},[e]),W=(0,n.useMemo)(()=>{let t,r;return t=[],r=null,e.forEach((e,s)=>{"user"===e.role?(r={key:`u${s}`,userIndex:s,assistantIndexes:[]},t.push(r)):"assistant"===e.role&&(r||(r={key:`a${s}`,userIndex:-1,assistantIndexes:[]},t.push(r)),r.assistantIndexes.push(s))}),t},[e]),q=(0,n.useMemo)(()=>e.findIndex(e=>"user"===e.role),[e]),[D,Z]=(0,n.useState)(()=>new Set),V=(0,n.useRef)(D);V.current=D;let U=(0,n.useRef)(null);null===U.current&&W.length&&(U.current=Math.max(0,W.length-8));let J=(0,n.useRef)(new Map),K=(0,n.useRef)(null),G=(0,n.useRef)(0),Y=(0,n.useCallback)(()=>{G.current||(G.current=requestAnimationFrame(()=>{G.current=0;let e=k.current;if(!e)return;let t=window.innerHeight+1800,r=e.getBoundingClientRect().top,s=[],n=null;for(let e of[...J.current.keys()].sort((e,t)=>e-t)){let l=J.current.get(e).getBoundingClientRect();!n&&l.bottom>r&&(n={index:e,top:l.top}),V.current.has(e)||l.top>t||l.bottom<-1800||s.push(e)}s.length&&(K.current=n,Z(e=>{let t=new Set(e);for(let e of s)t.add(e);return t}))}))},[]);(0,n.useLayoutEffect)(()=>{let e=K.current;K.current=null;let t=k.current;if(!t)return;if(M.current){t.scrollTop=t.scrollHeight;return}if(!e||"u">typeof CSS&&CSS.supports("overflow-anchor","auto"))return;let r=J.current.get(e.index),s=r?r.getBoundingClientRect().top-e.top:0;Math.abs(s)>=1&&(t.scrollTop+=s)},[D]),(0,n.useEffect)(()=>{Y()},[Y,e.length]);let Q=(0,n.useCallback)((e,t)=>{t?J.current.set(e,t):J.current.delete(e)},[]),X=(0,n.useRef)(new Map),ee=(0,n.useCallback)(e=>{let t=X.current.get(e);return t||(t=t=>Q(e,t),X.current.set(e,t)),t},[Q]),et=(0,n.useCallback)(e=>e>=(U.current??0)||D.has(e),[D]);return(0,n.useEffect)(()=>{let t=e.length>A.current;if(A.current=e.length,!M.current){t&&I(e=>e+1);return}let r=requestAnimationFrame(()=>{let e=k.current;e&&(e.scrollTop=e.scrollHeight)});return()=>cancelAnimationFrame(r)},[e,t,c,u,m,h,d]),(0,s.jsxs)("div",{ref:S,className:"relative flex h-full min-h-0 flex-col",children:[["left","right"].map(e=>(0,s.jsx)("div",{className:"piweb-conversation-width-handle","data-side":e,role:"separator","aria-orientation":"vertical","aria-label":$.chatWidthHandle,tabIndex:0,onPointerDown:t=>{if(0!==t.button||!S.current)return;t.preventDefault();let r=N.current??Math.max(544,Math.min(.64*S.current.clientWidth,736));L.current={side:e,origin:t.clientX,width:r,pointerId:t.pointerId},t.currentTarget.setPointerCapture(t.pointerId),t.currentTarget.dataset.dragging="true"},onPointerMove:t=>{let r=L.current;if(!r||r.pointerId!==t.pointerId||!S.current)return;let s=(t.clientX-r.origin)*("right"===e?2:-2);r.width=eH((N.current??r.width)+s,S.current.clientWidth),r.origin=t.clientX,N.current=r.width,eO(S.current,r.width)},onPointerUp:e=>{let t=L.current;if(t&&t.pointerId===e.pointerId&&(L.current=null,e.currentTarget.removeAttribute("data-dragging"),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),S.current)){let e=eH(t.width,S.current.clientWidth);N.current=e,localStorage.setItem(eF,String(e)),eO(S.current,e)}},onPointerCancel:e=>{e.currentTarget.removeAttribute("data-dragging"),L.current=null,S.current&&eO(S.current,N.current)},onLostPointerCapture:e=>{e.currentTarget.removeAttribute("data-dragging"),L.current&&(L.current=null,S.current&&eO(S.current,N.current))},onWheel:e=>k.current?.scrollBy({top:e.deltaY}),onKeyDown:e=>{if(("ArrowLeft"===e.key||"ArrowRight"===e.key)&&S.current){e.preventDefault();let t="ArrowRight"===e.key?24:-24,r=eH((N.current??.64*S.current.clientWidth)+t,S.current.clientWidth);N.current=r,localStorage.setItem(eF,String(r)),eO(S.current,r)}}},e)),(0,s.jsx)(el.d.Provider,{value:T,children:(0,s.jsx)("div",{ref:k,className:"min-h-0 flex-1 overflow-y-auto",role:"log","aria-live":"polite","aria-relevant":"additions",onScroll:e=>{let t=e.currentTarget,r=t.scrollHeight-t.scrollTop-t.clientHeight,s=r<96,n=t.scrollTop<E.current-1&&r>2;E.current=t.scrollTop,n?M.current=!1:M.current=s,P(!s),s&&I(0),Y()},children:(0,s.jsxs)("div",{className:"mx-auto flex w-full flex-col px-4 py-6",style:{maxWidth:"var(--dsh-chat-content-width)"},children:[W.map((n,o)=>(0,s.jsx)("div",{"data-turn-slot":o,ref:ee(o),className:"mt-7 first:mt-0",children:et(o)?(0,s.jsx)(eB,{turn:n,messages:e,tools:t,cwd:l,isStreaming:d,isLast:o===W.length-1,lastAssistantIndex:_,contextFiles:n.userIndex>=0&&n.userIndex===q?r:void 0,retryNotice:m,streamStartedAt:F,runningTool:O,outputTokens:x?.tokens.output,workingMessage:g,onFork:a,onEditMessage:i,roundBadge:n.userIndex>=0?b?.get(e[n.userIndex].id??""):void 0,onShowRound:y,onInspectTool:v,onOpenFile:w}):(0,s.jsx)(eP,{turn:n,messages:e})},n.key)),d&&F&&0===W.length&&(0,s.jsx)("div",{className:"pw-turn",children:(0,s.jsx)(eM,{startedAt:F,outputTokens:x?.tokens.output,workingMessage:g,hasLiveStep:!!O})}),!u&&(0,s.jsx)("div",{className:"mt-3 flex justify-center",children:(0,s.jsx)("div",{className:"rounded-full px-3 py-1",style:{fontSize:"var(--piweb-chat-font-t)",color:"var(--dsw-label-caption)",border:"0.5px dashed var(--dsw-border-l3)"},children:$.reconnecting})}),h&&(0,s.jsx)("div",{className:"mt-3 flex justify-center",role:"status",children:(0,s.jsxs)("div",{className:"flex items-center gap-2 rounded-xl px-3 py-2",style:{fontSize:"var(--piweb-chat-font-s)",background:"var(--dsw-hover)",color:"var(--dsw-label-secondary)"},children:[(0,s.jsx)("span",{children:"start"===h.phase?$.compacting:h.errorMessage?`${$.compactionFailed}: ${h.errorMessage}`:$.compactionComplete}),"end"===h.phase&&(0,s.jsx)("button",{type:"button",onClick:f,"aria-label":$.close,className:"icon-btn",children:"\xd7"})]})}),c&&(0,s.jsx)("button",{className:"mt-3 rounded-xl px-3 py-2 text-left",style:{fontSize:"var(--piweb-chat-font-s)",background:"var(--dsw-danger)",color:"white"},onClick:p,role:"alert",children:c})]})})}),(0,s.jsx)(en,{scrollRef:k,revision:`${e.length}:${D.size}:${+!!d}`}),(z>0||R)&&(0,s.jsx)("div",{className:"pointer-events-none absolute inset-x-0 bottom-2 mx-auto flex w-full justify-end",style:{maxWidth:"var(--dsh-composer-card-max-width)"},children:(0,s.jsxs)("button",{type:"button",className:"pointer-events-auto relative flex h-8 w-8 items-center justify-center rounded-full",style:{background:"var(--dsw-glass-popover)",border:"0.5px solid var(--dsw-border-l2)",boxShadow:"var(--dsw-elevation-soft)",color:"var(--dsw-label-secondary)"},onClick:()=>{let e=k.current;e&&e.scrollTo({top:e.scrollHeight,behavior:"smooth"}),M.current=!0,P(!1),I(0)},title:$.backToBottom,children:[(0,s.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:(0,s.jsx)("path",{d:"M8 3.5v9M4.5 9L8 12.5 11.5 9",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})}),z>0&&(0,s.jsx)("span",{className:"absolute -right-1 -top-1 flex h-4 min-w-4 items-center justify-center rounded-full px-1",style:{fontSize:10,fontWeight:600,background:"var(--dsw-accent)",color:"#fff"},children:z>99?"99+":z})]})})]})}function eW({dialog:e,onAnswer:t}){let{t:r}=(0,o.s)(),[l,i]=(0,n.useState)(""),[d,c]=(0,n.useState)(0),u=(0,n.useRef)(null),p=/permission|approve|allow/i.test(e?.title??""),m=(0,n.useMemo)(()=>e?.message?function(e){let t=e.split("\n").map(e=>e.trim()).filter(Boolean);if(!t.length)return null;let r=[];for(let e of t){let t=/^([^:\s]{1,20})\s*:\s(.+)$/.exec(e);if(!t)return null;r.push({key:t[1],value:t[2]})}return r}(e.message):null,[e?.message,e?.id]);return((0,n.useEffect)(()=>{i(""),c(0)},[e?.id]),(0,n.useEffect)(()=>{if(!e)return;let t=document.activeElement;return"input"!==e.method&&u.current?.focus(),()=>{t instanceof HTMLElement&&t.isConnected&&t.focus()}},[e?.id,e?.method]),e)?(0,s.jsx)("div",{ref:u,tabIndex:-1,className:"fixed inset-0 z-[120] flex items-center justify-center",style:{background:"var(--dsw-mask)"},role:"dialog","aria-modal":"true","aria-label":e.title,onKeyDown:r=>{r.stopPropagation(),"Escape"===r.key?(r.preventDefault(),t(e.id,{cancelled:!0})):"select"===e.method&&("ArrowDown"===r.key||"ArrowUp"===r.key)?(r.preventDefault(),c(t=>Math.max(0,Math.min(t+("ArrowDown"===r.key?1:-1),(e.options?.length??1)-1)))):"select"===e.method&&"Enter"===r.key&&r.target===r.currentTarget&&(r.preventDefault(),t(e.id,{value:e.options?.[d]}))},children:(0,s.jsxs)("div",{className:"popover flex w-[min(92vw,480px)] flex-col gap-3 p-5",style:{background:"var(--dsw-glass-modal)"},children:[(0,s.jsxs)("div",{className:"flex items-start gap-2.5",children:[p&&(0,s.jsx)("span",{className:"flex-none flex items-center justify-center rounded-lg",style:{width:30,height:30,background:"color-mix(in srgb, var(--dsw-warn) 15%, transparent)"},children:(0,s.jsx)(a.an,{size:16,style:{color:"var(--dsw-warn)"}})}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("div",{style:{fontSize:14.5,fontWeight:600,lineHeight:1.4},children:e.title}),(0,s.jsx)("div",{className:"mt-0.5",style:{fontSize:10.5,color:"var(--dsw-label-caption)"},children:r.extensionDialogTag})]})]}),m?(0,s.jsx)("div",{className:"flex flex-col gap-1.5 rounded-xl px-3 py-2.5",style:{background:"var(--dsw-hover)"},children:m.map(({key:e,value:t})=>(0,s.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,s.jsx)("span",{className:"flex-none",style:{fontSize:11.5,color:"var(--dsw-label-caption)",width:72},children:e}),(0,s.jsx)("span",{className:"min-w-0 flex-1 break-all",style:{fontFamily:"var(--font-mono)",fontSize:12.5,color:"var(--dsw-label-primary)"},children:t})]},e))}):e.message?(0,s.jsx)("div",{className:"whitespace-pre-wrap rounded-xl px-3 py-2.5",style:{fontSize:12.5,color:"var(--dsw-label-secondary)",lineHeight:1.55,background:"var(--dsw-hover)"},children:e.message}):null,"select"===e.method&&(0,s.jsx)("div",{className:"flex max-h-72 flex-col overflow-y-auto rounded-xl",style:{border:"0.5px solid var(--dsw-border-l2)"},role:"listbox",children:(e.options??[]).map((r,n)=>{let l=/^(yes|allow|always)/i.test(r.trim()),a=/^(no|deny|never)/i.test(r.trim());return(0,s.jsx)("button",{role:"option","aria-selected":n===d,className:"px-3 py-2 text-left transition-colors",style:{fontSize:13,fontWeight:l||a?550:400,color:l?"var(--dsw-accent)":a?"var(--dsw-danger)":"var(--dsw-label-primary)",background:n===d?"var(--dsw-hover)":"transparent",borderLeft:n===d?"2px solid var(--dsw-accent)":"2px solid transparent"},onMouseEnter:()=>c(n),onClick:()=>t(e.id,{value:r}),children:r},`${n}-${r}`)})}),"input"===e.method&&(0,s.jsx)("input",{autoFocus:!0,value:l,placeholder:e.placeholder,onChange:e=>i(e.target.value),onKeyDown:r=>{"Enter"!==r.key||r.nativeEvent.isComposing||t(e.id,{value:l})},className:"rounded-xl px-3 py-2",style:{fontSize:13,background:"var(--dsw-hover)",border:"0.5px solid var(--dsw-border-l2)"}}),(0,s.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,s.jsx)("button",{className:"btn-outline",style:{height:32},onClick:()=>t(e.id,{cancelled:!0}),children:r.cancel}),"confirm"===e.method&&(0,s.jsx)("button",{className:"btn-primary-white",style:{height:32},onClick:()=>t(e.id,{confirmed:!0}),children:r.confirm}),"input"===e.method&&(0,s.jsx)("button",{className:"btn-primary-white",style:{height:32},onClick:()=>t(e.id,{value:l}),children:r.confirm})]})]})}):null}function eq({notices:e,onDismiss:t,children:r}){return((0,n.useEffect)(()=>{if(!e.length)return;let r=e.map(e=>setTimeout(()=>t(e.id),Math.max(500,6e3-(Date.now()-e.ts))));return()=>r.forEach(clearTimeout)},[e,t]),e.length||r)?(0,s.jsxs)("div",{className:"pointer-events-none fixed right-4 top-16 z-[110] flex w-[min(92vw,360px)] flex-col gap-2 sm:top-auto sm:bottom-24",children:[r,e.map(e=>{let r;return(0,s.jsx)("button",{className:"pointer-events-auto rounded-xl px-3 py-2 text-left",style:{fontSize:12.5,background:"var(--dsw-glass-popover)",border:"0.5px solid var(--dsw-border-l2)",boxShadow:"var(--dsw-elevation-soft)",borderLeft:`3px solid ${"error"===(r=e.type)?"var(--dsw-danger)":"warning"===r?"var(--dsw-warn)":"var(--dsw-accent)"}`},onClick:()=>t(e.id),children:e.message},e.id)})]}):null}var eD=r(826),eZ=r(9591);let eV="piweb.updateNotice",eU={piweb:"PiWeb",pi:"Pi"};function eJ(){let{t:e}=(0,o.s)(),t=(0,eZ.M)(),[r,l]=(0,n.useState)(void 0),[a,i]=(0,n.useState)(null);if((0,n.useEffect)(()=>{try{l(localStorage.getItem(eV))}catch{l(null)}(0,eZ.fT)()},[]),(0,n.useEffect)(()=>{null===a&&t.loaded&&i(eZ.x8.filter(e=>"available"===t.targets[e].phase))},[a,t]),void 0===r||!a?.length||!t.startId||r===t.startId)return null;let d=t.startId,c=a.map(e=>({target:e,...t.targets[e]})),u=c.filter(e=>!e.command&&("available"===e.phase||"error"===e.phase)),p=c.some(e=>"updating"===e.phase),m=c.some(e=>"updated"===e.phase),h=async()=>{for(let e of u)if(!await (0,eZ.PG)(e.target))break},f=p?e.updateNoticeUpdatingTitle:m&&!u.length?e.updateNoticeDoneTitle:e.updateNoticeTitle;return(0,s.jsxs)("div",{role:"status",className:"pointer-events-auto flex flex-col gap-2 rounded-xl px-3 py-2.5",style:{fontSize:12.5,background:"var(--dsw-glass-popover)",border:"0.5px solid var(--dsw-border-l2)",boxShadow:"var(--dsw-elevation-soft)",borderLeft:"3px solid var(--dsw-accent)"},"data-testid":"update-notice",children:[(0,s.jsx)("span",{style:{fontWeight:600,color:"var(--dsw-label-primary)"},children:f}),c.map(t=>(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsxs)("span",{className:"flex items-center gap-1.5",style:{color:"var(--dsw-label-secondary)"},children:[(0,s.jsx)("span",{style:{color:"var(--dsw-label-primary)"},children:eU[t.target]}),(0,s.jsx)(eK,{item:t})]}),t.command&&"available"===t.phase?(0,s.jsxs)("span",{className:"flex flex-col gap-1",children:[(0,s.jsx)("span",{style:{fontSize:11.5,color:"var(--dsw-label-tertiary)"},children:e.updateRunCommandHint}),(0,s.jsx)(eD.H,{command:t.command})]}):null]},t.target)),m&&!p?(0,s.jsx)("span",{style:{fontSize:11.5,color:"var(--dsw-label-tertiary)"},children:e.updateRestartHint}):null,p?null:(0,s.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,s.jsx)("button",{type:"button",className:"btn-outline",style:{height:26,padding:"0 12px",fontSize:12},onClick:()=>{try{localStorage.setItem(eV,d)}catch{}l(d)},children:m||!u.length?e.updateNoticeOk:e.updateNoticeLater}),u.length?(0,s.jsx)("button",{type:"button",className:"btn-primary-white",style:{height:26,padding:"0 12px",fontSize:12},onClick:()=>void h(),children:e.updateNoticeUpdate}):null]})]})}function eK({item:e}){var t,r;let{t:n}=(0,o.s)();return"updating"===e.phase?(0,s.jsxs)("span",{className:"flex items-center gap-1.5",style:{color:"var(--dsw-label-tertiary)"},children:[(0,s.jsx)("span",{className:"h-3 w-3 flex-none animate-spin rounded-full border-2 border-current border-t-transparent"}),n.updatingNow]}):"updated"===e.phase?(0,s.jsx)("span",{style:{color:"var(--dsw-success)"},children:n.updateNoticeUpdated.replace("{v}",e.latest)}):"error"===e.phase?(0,s.jsx)("span",{className:"line-clamp-3 min-w-0 break-all",style:{color:"var(--dsw-danger)"},title:e.error,children:e.busy?n.updateBusy:`${n.updateFailed}: ${e.error}`}):(0,s.jsx)("span",{children:(t=e,r=n.updateCommits,t.latest===t.current&&t.behind>0?r.replace("{n}",String(t.behind)):`${t.current} → ${t.latest}`)})}function eG(e){let t=e.replace(/\\/g,"/");return t.split("/").filter(Boolean).pop()??t}function eY(e){if(!e)return"";let t=e.replace(/\\/g,"/").replace(/\/+$/,"");return/^[A-Za-z]:\//.test(t)||t.startsWith("//")?t.toLowerCase():t}function eQ({sessions:e,sessionListError:t,onRetrySessionList:r,archivedSessions:i=[],archivedPaths:d=[],addedWorkspaces:c,removedWorkspaces:u=[],currentPath:p,groupBy:m,orderBy:h,setGroupBy:f,setOrderBy:g,collapsed:x,onToggleCollapse:v,onOpen:w,onNew:b,onNewInWorkspace:y,onRename:C,onFork:j,onArchive:k,onUnarchive:S,onExport:N,getWorkspaceName:L,onRenameWorkspace:M,onDeleteWorkspace:T,onOpenSettings:$,onAddWorkspace:z,draftCwd:I}){let{t:R,lang:P}=(0,o.s)(),[A,B]=(0,n.useState)(""),[F,H]=(0,n.useState)(!1),[O,_]=(0,n.useState)(!1),[W,q]=(0,n.useState)(null),[D,Z]=(0,n.useState)(null),[V,U]=(0,n.useState)(!1),J=(0,n.useRef)(null),K=(0,n.useRef)(null),G=(0,n.useRef)(null),[Y,Q]=(0,n.useState)(null),[X,ee]=(0,n.useState)(""),[et,er]=(0,n.useState)(!1),[es,en]=(0,n.useState)(null),[el,ea]=(0,n.useState)(null),[eo,ei]=(0,n.useState)(!1),[ed,ec]=(0,n.useState)(null),[eu,ep]=(0,n.useState)(!1),em=Y?.type==="workspace"&&X.trim().length>0&&c.some(e=>eY(e)!==eY(Y.cwd)&&(L?L(e):eG(e))===X.trim());(0,n.useEffect)(()=>{ep(!0)},[]),(0,n.useEffect)(()=>{Y&&(ee(Y.name),er(!1),en(null),setTimeout(()=>{G.current?.focus(),G.current?.select()},30))},[Y]);let eh=async()=>{if(!Y||et)return;let e=X.trim();if(!e||"workspace"===Y.type&&(e===Y.name||em)){em&&en(R.workspaceNameConflict.replace("{name}",e));return}er(!0),en(null);try{"session"===Y.type?await C(Y.path,e):await M?.(Y.cwd,e),Q(null)}catch(e){en(e instanceof Error?e.message:String(e))}finally{er(!1)}},ef=()=>{et||(Q(null),en(null))},eg=async()=>{if(!el||eo)return;let e=el.cwd;ei(!0),ec(null);try{await T?.(e),ea(null)}catch(e){ec(e instanceof Error?e.message:String(e))}finally{ei(!1)}},ex=e.find(e=>e.path===p)?.cwd;(0,n.useEffect)(()=>{if(!O&&!W&&!D)return;let e=e=>{J.current&&!J.current.contains(e.target)&&(_(!1),q(null)),K.current&&!K.current.contains(e.target)&&Z(null)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[O,W,D]);let{workspaceGroups:ev,ungroupedGroup:ew}=(0,n.useMemo)(()=>{let t=new Set((u||[]).map(eY)),r=new Set,s=[];for(let e of c){let n=eY(e);!n||t.has(n)||r.has(n)||(s.push(e),r.add(n))}let n=new Map;for(let e of s)n.set(eY(e),{cwd:e,sessions:[]});let l=[];for(let t of e){let e=eY(t.cwd);e&&n.has(e)?n.get(e).sessions.push(t):l.push(t)}let a=Array.from(n.values()).map(({cwd:e,sessions:t})=>({cwd:e,sessions:[...t].sort((e,t)=>t.modified.localeCompare(e.modified)),lastModified:t.reduce((e,t)=>t.modified>e?t.modified:e,"")}));"updated"===h?a.sort((e,t)=>t.lastModified.localeCompare(e.lastModified)):a.sort((e,t)=>eG(e.cwd).localeCompare(eG(t.cwd)));let o=null;return l.length>0&&(o={cwd:"__ungrouped__",sessions:[...l].sort((e,t)=>t.modified.localeCompare(e.modified)),lastModified:l.reduce((e,t)=>t.modified>e?t.modified:e,"")}),{workspaceGroups:a,ungroupedGroup:o}},[e,c,u,h]),[eb,ey]=(0,n.useState)(()=>{try{let e=JSON.parse(localStorage.getItem("piweb.openWorkspaces")??"[]");if(Array.isArray(e))return new Set(e.filter(e=>"string"==typeof e))}catch{}return new Set});(0,n.useEffect)(()=>{try{localStorage.setItem("piweb.openWorkspaces",JSON.stringify([...eb]))}catch{}},[eb]);let eC=(0,n.useRef)(null);(0,n.useEffect)(()=>{if(!p){eC.current=null;return}if(eC.current===p)return;try{if(sessionStorage.getItem("piweb.sessionRestored")){sessionStorage.removeItem("piweb.sessionRestored"),eC.current=p;return}}catch{}let t=e.find(e=>e.path===p);if(!t)return;eC.current=p;let r=ev.find(e=>eY(e.cwd)===eY(t.cwd));r?ey(e=>e.has(r.cwd)?e:new Set([...e,r.cwd])):ew&&ey(e=>e.has("__ungrouped__")?e:new Set([...e,"__ungrouped__"]))},[p,e,ev,ew]);let ej=(0,n.useRef)(null);(0,n.useEffect)(()=>{if(!I){ej.current=null;return}if(ej.current===I)return;ej.current=I;let e=ev.find(e=>eY(e.cwd)===eY(I))?.cwd??"__ungrouped__";ey(t=>t.has(e)?t:new Set([...t,e]))},[I,ev]);let ek=(0,n.useMemo)(()=>{let t=[...e];return"updated"===h?t.sort((e,t)=>t.modified.localeCompare(e.modified)):t.sort((e,t)=>e.created.localeCompare(t.created)),t},[e,h]),eS=e=>{ey(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})};if(x)return(0,s.jsxs)("div",{className:"flex h-full flex-col items-center gap-3",style:{paddingLeft:10,paddingRight:10,paddingTop:12,paddingBottom:12},children:[(0,s.jsx)("button",{className:"rail-btn",title:"\xbb",onClick:v,children:(0,s.jsx)(l.N,{size:22})}),(0,s.jsx)("button",{className:"rail-btn",title:R.newChat,onClick:b,children:(0,s.jsx)(a.f5,{size:18})}),(0,s.jsx)("button",{className:"rail-btn",title:R.addWorkspace,onClick:z,children:(0,s.jsx)(a.BA,{size:17})}),(0,s.jsx)("button",{className:"rail-btn",title:R.search,onClick:()=>{H(!0),v()},children:(0,s.jsx)(a.FG,{size:17})}),(0,s.jsx)("div",{className:"flex-1"}),(0,s.jsx)("button",{className:"rail-btn",title:R.settings,onClick:$,children:(0,s.jsx)(a.Ec,{size:17})})]});let eN=(e,t,r=!1)=>{let n=e.path===p,l=r||d.some(t=>eY(t)===eY(e.path));return(0,s.jsxs)("div",{className:"group relative flex items-center rounded-xl transition-colors",style:{background:n?"var(--dsw-active)":"transparent",paddingLeft:t?38:10,paddingRight:8,paddingTop:6,paddingBottom:6,marginTop:2,marginBottom:2},onMouseEnter:e=>{n||(e.currentTarget.style.background="var(--dsw-hover)")},onMouseLeave:e=>{n||(e.currentTarget.style.background="transparent")},children:[e.streaming&&(0,s.jsx)("span",{className:"state-dot running",style:{position:"absolute",left:t?26:6,width:6,height:6}}),(0,s.jsxs)("button",{className:"flex min-w-0 flex-1 flex-col items-start text-left",onClick:()=>w(e.path),children:[(0,s.jsx)("span",{className:"w-full truncate",style:{fontSize:13,color:n?"var(--dsw-accent)":"var(--dsw-label-primary)"},children:e.name||e.firstMessage||"(untitled)"}),e.streaming&&e.lastStep&&(0,s.jsx)("span",{className:"w-full truncate",style:{fontSize:11,fontFamily:"var(--font-mono)",color:"var(--dsw-label-caption)",lineHeight:"16px"},title:e.lastStep,children:e.lastStep})]}),(0,s.jsx)("span",{className:`flex-none pl-1 ${D===e.path?"hidden":"group-hover:hidden group-focus-within:hidden"}`,style:{fontSize:10.5,color:"var(--dsw-label-caption)"},children:function(e,t){let r=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(r<1)return"zh"===t?"刚刚":"now";if(r<60)return"zh"===t?`${r}分钟`:`${r}m`;let s=Math.floor(r/60);if(s<24)return"zh"===t?`${s}小时`:`${s}h`;let n=Math.floor(s/24);return n<30?"zh"===t?`${n}天`:`${n}d`:"zh"===t?`${Math.floor(n/30)}月`:`${Math.floor(n/30)}mo`}(e.modified,P)}),(0,s.jsx)("span",{className:`flex-none items-center pl-1 ${D===e.path?"flex":"hidden group-hover:flex group-focus-within:flex"}`,children:(0,s.jsx)("button",{className:"icon-btn",style:{width:22,height:22},title:"...","aria-label":"session-actions",onClick:t=>{t.stopPropagation(),Z(D===e.path?null:e.path),q(null)},children:(0,s.jsx)(a.sB,{size:14})})}),D===e.path&&(0,s.jsxs)("div",{className:"popover absolute right-1 top-8 z-50 w-36 py-1 shadow-xl",ref:K,children:[(0,s.jsx)(eX,{icon:(0,s.jsx)(a.PT,{size:14}),label:R.rename,onClick:t=>{t.stopPropagation(),Z(null),Q({type:"session",path:e.path,name:e.name||e.firstMessage||""})}}),(0,s.jsx)(eX,{icon:(0,s.jsx)(a.FQ,{size:14}),label:R.cmdExport,onClick:t=>{t.stopPropagation(),Z(null),N?.(e.path)}}),(0,s.jsx)(eX,{icon:(0,s.jsx)(a.r$,{size:14}),label:R.forkSession,onClick:t=>{t.stopPropagation(),Z(null),j?.(e.path,e.cwd)}}),(0,s.jsx)(eX,{icon:(0,s.jsx)(a.yD,{size:14}),label:l?R.unarchiveSession:R.archiveSession,onClick:t=>{t.stopPropagation(),Z(null),l?S?.(e.path):k?.(e.path)}})]})]},e.path)},eL=e=>{let t="__ungrouped__"===e.cwd,r=eb.has(e.cwd),n=!t&&e.cwd===ex,l=!!I&&(t?!ev.some(e=>eY(e.cwd)===eY(I)):eY(e.cwd)===eY(I)),o=t?R.ungrouped||"未分组":L?L(e.cwd):eG(e.cwd);return(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"group relative flex items-center rounded-xl transition-colors",style:{background:r||n?"var(--dsw-hover)":"transparent",paddingLeft:10,paddingRight:6,paddingTop:7,paddingBottom:7,marginTop:2,marginBottom:2},onMouseEnter:e=>{r||n||(e.currentTarget.style.background="var(--dsw-hover)")},onMouseLeave:e=>{r||n||(e.currentTarget.style.background="transparent")},children:[(0,s.jsxs)("button",{className:"flex min-w-0 flex-1 items-center gap-2 text-left",onClick:()=>eS(e.cwd),title:o,children:[(0,s.jsx)("span",{style:{color:"var(--dsw-label-tertiary)",display:"inline-flex",transform:r?"rotate(90deg)":"none",transition:"transform 120ms var(--ds-ease-in-out)",flex:"none"},children:(0,s.jsx)(a.Yq,{size:11})}),(0,s.jsx)("span",{style:{color:n?"var(--dsw-accent)":"var(--dsw-label-tertiary)",display:"inline-flex",flex:"none"},children:r?(0,s.jsx)(a.P9,{size:15}):(0,s.jsx)(a.pH,{size:15})}),(0,s.jsx)("span",{className:"truncate",style:{fontSize:13,color:n?"var(--dsw-accent)":"var(--dsw-label-primary)"},children:o})]}),(0,s.jsxs)("span",{className:"hidden flex-none items-center gap-0.5 pl-1 group-hover:flex group-focus-within:flex",style:{color:"var(--dsw-label-tertiary)"},children:[!t&&(0,s.jsx)("button",{className:"icon-btn",style:{width:22,height:22},title:"...","aria-label":"workspace-actions",onClick:()=>{q(W===e.cwd?null:e.cwd),Z(null)},children:(0,s.jsx)(a.sB,{size:14})}),(0,s.jsx)("button",{className:"icon-btn",style:{width:22,height:22},title:t?R.newChat:R.newSessionHere,onClick:()=>t?b():y(e.cwd),children:(0,s.jsx)(a.Xh,{size:14})})]}),!t&&W===e.cwd&&(0,s.jsxs)("div",{className:"popover absolute right-1 top-9 z-50 w-44 py-1 shadow-xl",ref:J,children:[(0,s.jsx)(eX,{icon:(0,s.jsx)(a.PT,{size:14}),label:R.rename,onClick:t=>{t.stopPropagation(),q(null),Q({type:"workspace",cwd:e.cwd,name:o})}}),(0,s.jsx)(eX,{icon:(0,s.jsx)(a.Vd,{size:14}),label:R.deleteWorkspace,danger:!0,onClick:t=>{t.stopPropagation(),q(null),ea({cwd:e.cwd,name:o}),ec(null)}})]})]}),r&&(0,s.jsxs)(s.Fragment,{children:[l&&(0,s.jsxs)("div",{className:"flex items-center rounded-xl",style:{background:"var(--dsw-active)",paddingLeft:38,paddingRight:8,paddingTop:6,paddingBottom:6,marginTop:2,marginBottom:2},children:[(0,s.jsx)(a.f5,{size:14,style:{color:"var(--dsw-accent)",flex:"none",marginRight:8}}),(0,s.jsx)("span",{className:"truncate",style:{fontSize:13,color:"var(--dsw-accent)"},children:R.newChat})]}),e.sessions.map(e=>eN(e,!0))]})]},e.cwd)};return(0,s.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,s.jsxs)("div",{className:"flex items-center gap-1 px-4 pb-2 pt-4",children:[(0,s.jsx)(l.h,{}),(0,s.jsx)("div",{className:"flex-1"}),(0,s.jsx)("button",{className:"icon-btn",onClick:v,title:"\xab",children:(0,s.jsx)(a.ee,{size:15})})]}),(0,s.jsx)("div",{className:"px-3 pt-1",children:(0,s.jsxs)("button",{className:"btn-new-session w-full",onClick:b,children:[(0,s.jsx)(a.f5,{size:14}),R.newChat]})}),F?(0,s.jsx)("div",{className:"px-3 pb-1 pt-3",children:(0,s.jsxs)("div",{className:"flex items-center gap-2 rounded-xl px-2.5 py-2",style:{background:"var(--dsw-hover)"},children:[(0,s.jsx)(a.FG,{size:14,style:{color:"var(--dsw-label-caption)"}}),(0,s.jsx)("input",{autoFocus:!0,value:A,onChange:e=>B(e.target.value),placeholder:R.searchSessions,className:"w-full",style:{fontSize:13}}),(0,s.jsx)("button",{className:"icon-btn",style:{width:20,height:20},onClick:()=>{B(""),H(!1)},children:(0,s.jsx)(a.Bh,{size:13})})]})}):(0,s.jsxs)("div",{className:"flex items-center gap-0.5 px-4 pb-1 pt-3",children:[(0,s.jsx)("span",{style:{fontSize:13,color:"var(--dsw-label-primary)"},children:R.workspaces}),(0,s.jsx)("div",{className:"flex-1"}),(0,s.jsx)("button",{className:"icon-btn",style:{width:26,height:26},title:R.search,onClick:()=>H(!0),children:(0,s.jsx)(a.FG,{size:14})}),(0,s.jsxs)("div",{className:"relative",ref:O?J:void 0,children:[(0,s.jsx)("button",{className:"icon-btn",style:{width:26,height:26,background:O?"var(--dsw-active)":void 0,borderRadius:8},title:R.groupBy,onClick:()=>_(e=>!e),children:(0,s.jsx)(a.NQ,{size:14})}),O&&(0,s.jsxs)("div",{className:"popover absolute right-0 top-8 z-50 w-56 py-2",children:[(0,s.jsx)("div",{className:"px-3 pb-1",style:{fontSize:11.5,color:"var(--dsw-label-caption)"},children:R.groupBy}),(0,s.jsx)(e1,{label:R.byWorkspace,checked:"workspace"===m,onClick:()=>{f("workspace"),_(!1)}}),(0,s.jsx)(e1,{label:R.flatList,checked:"flat"===m,onClick:()=>{f("flat"),_(!1)}}),(0,s.jsx)("div",{className:"my-1.5",style:{borderTop:"0.5px solid var(--dsw-border-l2)"}}),(0,s.jsx)("div",{className:"px-3 pb-1",style:{fontSize:11.5,color:"var(--dsw-label-caption)"},children:R.sortBy}),(0,s.jsx)(e1,{label:R.manualOrder,checked:"manual"===h,onClick:()=>{g("manual"),_(!1)}}),(0,s.jsx)(e1,{label:R.recentUpdated,checked:"updated"===h,onClick:()=>{g("updated"),_(!1)}})]})]}),(0,s.jsx)("button",{className:"icon-btn",style:{width:26,height:26},title:R.addWorkspace,onClick:z,children:(0,s.jsx)(a.BA,{size:14})})]}),(0,s.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto px-3 pb-3",children:[t&&(0,s.jsxs)("div",{role:"alert",className:"mb-2 rounded-xl px-3 py-2",style:{background:"var(--dsw-hover)",color:"var(--dsw-danger)",fontSize:12},children:[(0,s.jsxs)("div",{children:[R.sessionListLoadFailed,": ",t]}),(0,s.jsx)("button",{type:"button",className:"mt-1 underline",onClick:r,children:R.retry})]}),F&&A.trim()?0===ek.filter(e=>e.name?.toLowerCase().includes(A.trim().toLowerCase())||e.firstMessage.toLowerCase().includes(A.trim().toLowerCase())||eG(e.cwd).toLowerCase().includes(A.trim().toLowerCase())).length?(0,s.jsx)("div",{className:"px-2 py-6 text-center",style:{fontSize:12.5,color:"var(--dsw-label-caption)"},children:"—"}):ek.filter(e=>e.name?.toLowerCase().includes(A.trim().toLowerCase())||e.firstMessage.toLowerCase().includes(A.trim().toLowerCase())||eG(e.cwd).toLowerCase().includes(A.trim().toLowerCase())).map(e=>eN(e,!1)):F?[...ev,...ew?[ew]:[]].map(e=>(0,s.jsxs)("div",{className:"flex items-center gap-2.5 rounded-xl px-2.5 py-2 transition-colors",onMouseEnter:e=>e.currentTarget.style.background="var(--dsw-hover)",onMouseLeave:e=>e.currentTarget.style.background="transparent",onClick:()=>{H(!1),eS(e.cwd)},title:"__ungrouped__"===e.cwd?R.ungrouped||"未分组":e.cwd,children:[(0,s.jsx)("span",{style:{color:"var(--dsw-label-tertiary)",display:"inline-flex"},children:(0,s.jsx)(a.pH,{size:15})}),(0,s.jsx)("span",{className:"truncate",style:{fontSize:13},children:"__ungrouped__"===e.cwd?R.ungrouped||"未分组":L?L(e.cwd):eG(e.cwd)})]},e.cwd)):"workspace"===m?0!==ev.length||ew?(0,s.jsxs)(s.Fragment,{children:[ev.map(eL),ew&&eL(ew)]}):(0,s.jsx)("div",{className:"px-2 py-6 text-center",style:{fontSize:12.5,color:"var(--dsw-label-caption)"},children:R.noSessions}):(0,s.jsxs)(s.Fragment,{children:[I&&(0,s.jsxs)("div",{className:"flex items-center rounded-xl",style:{background:"var(--dsw-active)",paddingLeft:10,paddingRight:8,paddingTop:6,paddingBottom:6,marginTop:2,marginBottom:2},children:[(0,s.jsx)(a.f5,{size:14,style:{color:"var(--dsw-accent)",flex:"none",marginRight:8}}),(0,s.jsx)("span",{className:"truncate",style:{fontSize:13,color:"var(--dsw-accent)"},children:R.newChat})]}),0===ek.length?[...ev,...ew?[ew]:[]].map(e=>(0,s.jsxs)("div",{className:"flex items-center gap-2.5 rounded-xl px-2.5 py-2",title:e.cwd,children:[(0,s.jsx)("span",{style:{color:"var(--dsw-label-tertiary)",display:"inline-flex"},children:(0,s.jsx)(a.pH,{size:15})}),(0,s.jsx)("span",{className:"truncate",style:{fontSize:13},children:"__ungrouped__"===e.cwd?R.ungrouped||"未分组":L?L(e.cwd):eG(e.cwd)})]},e.cwd)):ek.map(e=>eN(e,!1))]}),!F&&i.length>0&&(0,s.jsxs)("div",{className:"mt-2 border-t pt-2",style:{borderColor:"var(--dsw-border-l2)"},children:[(0,s.jsxs)("button",{type:"button",className:"flex w-full items-center gap-2 rounded-xl px-2.5 py-2 text-left transition-colors","aria-expanded":V,onClick:()=>U(e=>!e),onMouseEnter:e=>e.currentTarget.style.background="var(--dsw-hover)",onMouseLeave:e=>e.currentTarget.style.background="transparent",children:[(0,s.jsx)("span",{style:{display:"inline-flex",transform:V?"rotate(90deg)":"none",transition:"transform 120ms var(--ds-ease-in-out)",color:"var(--dsw-label-tertiary)"},children:(0,s.jsx)(a.Yq,{size:11})}),(0,s.jsx)(a.yD,{size:15,style:{color:"var(--dsw-label-tertiary)"}}),(0,s.jsx)("span",{className:"min-w-0 flex-1 truncate",style:{fontSize:13},children:R.archivedSessions}),(0,s.jsx)("span",{style:{fontSize:11,color:"var(--dsw-label-caption)"},children:i.length})]}),V&&i.map(e=>eN(e,!0,!0))]})]}),(0,s.jsx)("div",{className:"px-3 py-2.5",children:(0,s.jsxs)("button",{className:"flex w-full items-center gap-2.5 rounded-xl px-4 py-2 text-left transition-colors",style:{color:"var(--dsw-label-secondary)"},onMouseEnter:e=>e.currentTarget.style.background="var(--dsw-hover)",onMouseLeave:e=>e.currentTarget.style.background="transparent",onClick:$,children:[(0,s.jsx)(a.Ec,{size:16}),(0,s.jsx)("span",{style:{fontSize:"var(--dsh-content-font-size)"},children:R.settings})]})}),eu&&Y&&(0,E.createPortal)((0,s.jsx)("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60 backdrop-blur-sm p-4 animate-in fade-in duration-150",onClick:ef,children:(0,s.jsxs)("div",{className:"relative w-full max-w-[420px] rounded-[24px] bg-[#212121] p-6 text-white shadow-2xl border border-white/10",onClick:e=>e.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"rename-dialog-title",children:[(0,s.jsx)("button",{type:"button",onClick:ef,disabled:et,className:"absolute right-5 top-5 rounded-full p-1 text-zinc-400 hover:text-white hover:bg-white/10 transition","aria-label":R.close,children:(0,s.jsx)(a.Bh,{size:16})}),(0,s.jsx)("h3",{id:"rename-dialog-title",className:"text-lg font-medium text-white pr-8",children:"session"===Y.type?R.renameSession||"重命名会话":R.renameWorkspace||"重命名工作区"}),(0,s.jsx)("div",{className:"mt-5 mb-6",children:(0,s.jsx)("input",{ref:G,type:"text",value:X,disabled:et,onChange:e=>{ee(e.target.value),en(null)},onKeyDown:e=>{"Enter"===e.key&&eh(),"Escape"===e.key&&ef()},className:"w-full rounded-full bg-white/[0.05] border border-white/15 px-4 py-2.5 text-[14.5px] text-white outline-none focus:border-white/40 focus:ring-1 focus:ring-white/30 transition"})}),es&&(0,s.jsx)("p",{className:"-mt-3 mb-5 text-sm",style:{color:"var(--dsw-danger)"},role:"alert",children:es}),(0,s.jsxs)("div",{className:"flex items-center justify-end gap-3",children:[(0,s.jsx)("button",{type:"button",onClick:ef,disabled:et,className:"rounded-full bg-[#2c2c2c] px-5 py-2 text-sm font-medium text-zinc-200 hover:bg-[#383838] transition",children:R.cancel}),(0,s.jsx)("button",{type:"button",onClick:()=>void eh(),disabled:et||!X.trim()||"workspace"===Y.type&&(X.trim()===Y.name||em),className:"rounded-full bg-white px-5 py-2 text-sm font-medium text-black hover:bg-zinc-200 transition",children:R.rename})]})]})}),document.body),eu&&el&&(0,E.createPortal)((0,s.jsx)("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60 backdrop-blur-sm p-4 animate-in fade-in duration-150",onClick:()=>!eo&&ea(null),children:(0,s.jsxs)("div",{className:"relative w-full max-w-[420px] rounded-[24px] bg-[#212121] p-6 text-white shadow-2xl border border-white/10",onClick:e=>e.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"delete-workspace-dialog-title",children:[(0,s.jsx)("button",{type:"button",onClick:()=>ea(null),disabled:eo,className:"absolute right-5 top-5 rounded-full p-1 text-zinc-400 hover:text-white hover:bg-white/10 transition","aria-label":R.close,children:(0,s.jsx)(a.Bh,{size:16})}),(0,s.jsx)("h3",{id:"delete-workspace-dialog-title",className:"text-lg font-medium text-white pr-8",children:R.deleteWorkspace}),(0,s.jsx)("p",{className:"mt-3 text-[14.5px] leading-relaxed text-zinc-300",children:(R.deleteWorkspaceConfirm||"将把“{name}”从工作区列表中移除。文件夹与会话记录会保留,其会话将显示在“未分组”下。").replace("{name}",el.name)}),eo&&(0,s.jsx)("p",{className:"mt-4 text-sm text-zinc-400",role:"status",children:R.deleteWorkspacePending}),ed&&(0,s.jsx)("p",{className:"mt-4 text-sm",style:{color:"var(--dsw-danger)"},role:"alert",children:ed}),(0,s.jsxs)("div",{className:"mt-6 flex items-center justify-end gap-3",children:[(0,s.jsx)("button",{type:"button",onClick:()=>ea(null),disabled:eo,className:"rounded-xl border border-transparent bg-[#2c2c2c] px-5 py-2 text-sm font-medium text-zinc-200 transition hover:border-white/25 hover:bg-[#383838]",children:R.cancel}),(0,s.jsx)("button",{type:"button",onClick:()=>void eg(),disabled:eo,className:"rounded-xl border border-transparent bg-[#2c2c2c] px-5 py-2 text-sm font-medium text-[#f87171] transition hover:border-[#f87171]/40 hover:bg-[#383838] hover:text-[#ef4444]",children:R.deleteWorkspace})]})]})}),document.body)]})}function eX({icon:e,label:t,danger:r,onClick:n}){return(0,s.jsxs)("button",{className:"mx-1 flex w-[calc(100%-8px)] items-center gap-2.5 rounded-lg px-3 py-2 text-left transition-colors",style:{fontSize:13,color:r?"var(--dsw-danger)":"var(--dsw-label-primary)"},onMouseEnter:e=>e.currentTarget.style.background="var(--dsw-hover)",onMouseLeave:e=>e.currentTarget.style.background="transparent",onClick:n,children:[e,t]})}function e1({label:e,checked:t,onClick:r}){return(0,s.jsxs)("button",{className:"mx-1 flex w-[calc(100%-8px)] items-center justify-between rounded-lg pl-5 pr-3 py-2 text-left transition-colors",style:{fontSize:13,color:"var(--dsw-label-primary)"},onMouseEnter:e=>e.currentTarget.style.background="var(--dsw-hover)",onMouseLeave:e=>e.currentTarget.style.background="transparent",onClick:r,children:[e,t&&(0,s.jsx)(a.df,{size:13})]})}let e0=e=>"string"==typeof e&&/^[a-zA-Z0-9_-]{8,80}$/.test(e),e2={currentThreadId:"",threads:[],storageFailed:!1},e3="piweb.sidechat.v1.";class e5 extends Error{constructor(e,t){super(e),this.status=t}}class e4{constructor(e={fetch:(...e)=>fetch(...e),storage:()=>localStorage,id:()=>crypto.randomUUID()}){this.options=e,this.states=new Map,this.listeners=new Map,this.requests=new Map,this.saves=new Map,this.get=e=>{if(!e)return e2;let t=this.states.get(e);if(t)return t;try{let r=this.options.storage().getItem(e3+e);if(r){let e=JSON.parse(r);e0(e.currentThreadId)&&Array.isArray(e.threads)&&e.threads.length&&e.threads.every(e=>e0(e.id)&&"string"==typeof e.title&&"string"==typeof e.draft&&Array.isArray(e.messages)&&e.messages.every(e=>e0(e.id)&&("user"===e.role||"assistant"===e.role)&&"string"==typeof e.text)&&(!e.request||e0(e.request.id)&&Number.isSafeInteger(e.request.revision)))&&e.threads.some(t=>t.id===e.currentThreadId)&&(t={...e,storageFailed:!1,threads:e.threads.map(e=>{var t;return{...e,model:!(!(t=e.model)||"object"!=typeof t||Array.isArray(t))&&[t.provider,t.id].every(e=>"string"==typeof e&&e.trim().length>0&&e.length<=512)?e.model:void 0}})})}}catch{}if(!t){let e=this.newThread();t={currentThreadId:e.id,threads:[e],storageFailed:!1}}return this.states.set(e,t),t},this.flush=()=>{for(let e of this.states.keys())this.save(e)},this.subscribe=(e,t)=>{if(!e)return()=>{};let r=this.listeners.get(e)??new Set;return r.add(t),this.listeners.set(e,r),queueMicrotask(()=>{for(let t of this.get(e).threads)t.request&&!this.requests.has(t.request.id)&&this.run(e,t.id,t.request.id)}),()=>{r.delete(t)}}}newThread(e){return{id:this.options.id(),title:"",messages:[],draft:"",...e?{model:{...e}}:{}}}notify(e){for(let t of this.listeners.get(e)??[])t()}save(e){let t=this.saves.get(e);t&&clearTimeout(t),this.saves.delete(e);let r=this.get(e),s=!1;try{this.options.storage().setItem(e3+e,JSON.stringify(r))}catch{s=!0}r.storageFailed!==s&&(this.states.set(e,{...r,storageFailed:s}),this.notify(e))}update(e,t,r=!1){this.states.set(e,t),this.notify(e),r?this.save(e):this.saves.has(e)||this.saves.set(e,setTimeout(()=>this.save(e),300))}updateThread(e,t,r,s=!1){let n=this.get(e);this.update(e,{...n,threads:n.threads.map(e=>e.id===t?r(e):e)},s)}setDraft(e,t){this.updateThread(e,this.get(e).currentThreadId,e=>({...e,draft:t}))}setModel(e,t){this.updateThread(e,this.get(e).currentThreadId,e=>({...e,model:t?{...t}:void 0}),!0)}createThread(e){let t=this.get(e),r=t.threads.find(e=>e.id===t.currentThreadId);if(r&&!r.messages.length&&!r.draft)return;let s=this.newThread(r?.model);this.update(e,{...t,currentThreadId:s.id,threads:[...t.threads,s]},!0)}selectThread(e,t){let r=this.get(e);r.threads.some(e=>e.id===t)&&this.update(e,{...r,currentThreadId:t},!0)}send(e,t=!1){let r=this.get(e),s=r.threads.find(e=>e.id===r.currentThreadId);if(!s||s.request)return;let n=s.messages.at(-1),l=t&&n?.role==="assistant"&&"error"===n.status&&s.messages.at(-2)?.role==="user",a=(l?s.messages.at(-2).text:s.draft).trim();if(!a)return;let o=this.options.id(),{history:i,truncated:d}=function(e){let t=new TextEncoder,r=[],s=1048574,n=!1;for(let l=e.length-1;l>=0;l--){if(1e3===r.length){n=!0;break}let a=e[l],o=a.text;o.length>1e5&&(o=o.slice(-1e5),/^[\uDC00-\uDFFF]/.test(o)&&(o=o.slice(1)),n=!0);let i={role:a.role,text:o},d=t.encode(JSON.stringify(i)).byteLength+1;if(d>s){n=!0;break}s-=d,r.push(i)}for(r.reverse();r[0]?.role==="assistant";)r.shift(),n=!0;return{history:r,truncated:n}}((l?s.messages.slice(0,-2):s.messages).filter(e=>e.text&&("user"===e.role||"done"===e.status||"aborted"===e.status)).map(({role:e,text:t})=>({role:e,text:t}))),c=l?[...s.messages.slice(0,-1),{id:n.id,role:"assistant",text:"",status:"pending",contextTruncated:d}]:[...s.messages,{id:this.options.id(),role:"user",text:a},{id:this.options.id(),role:"assistant",text:"",status:"pending",contextTruncated:d}];this.updateThread(e,s.id,e=>({...e,title:e.title||a.slice(0,80),messages:c,draft:l?e.draft:"",request:{id:o,revision:-1},connectionLost:!1}),!0),this.run(e,s.id,o,{requestId:o,threadId:s.id,text:a,history:i,...s.model?{model:{...s.model}}:{}})}apply(e,t,r,s){this.updateThread(e,t,e=>{if(e.request?.id!==r)return e;let t=e.messages.at(-1)?.text??"";if(void 0!==s.textOffset&&s.textOffset>t.length)throw Error("side-chat answer cursor is out of sync");let n=void 0===s.textOffset?s.text:t.slice(0,s.textOffset)+s.text,l=s.done?s.error?"error":s.aborted?"aborted":"done":"pending";return{...e,connectionLost:!1,request:s.done?void 0:{id:r,revision:s.revision},...s.usage?{usage:s.usage}:{},...s.contextWindow?{contextWindow:s.contextWindow}:{},...s.characters?{characters:s.characters}:{},messages:e.messages.map((t,r)=>r===e.messages.length-1?{...t,text:n,status:l,error:s.error,contextTruncated:t.contextTruncated||s.contextTruncated,lengthLimited:s.lengthLimited}:t)}},s.done)}fail(e,t,r,s){let n=this.get(e).threads.find(e=>e.id===t);this.apply(e,t,r,{requestId:r,revision:0,text:n?.messages.at(-1)?.text??"",done:!0,aborted:!1,error:s})}async response(e){let t=await e.json();if(!e.ok||!t.success)throw new e5(t.error||`side-chat request failed (${e.status})`,e.status);let r=t.data;if(!r||!e0(r.requestId)||!Number.isSafeInteger(r.revision)||"string"!=typeof r.text||"boolean"!=typeof r.done||void 0!==r.textOffset&&(!Number.isSafeInteger(r.textOffset)||r.textOffset<0))throw Error("invalid side-chat response");return r}async run(e,t,r,s){if(this.requests.has(r))return;let n=new AbortController;this.requests.set(r,n);let l=`/api/agent/${e}/side-chat`,a=this.get(e).threads.find(e=>e.id===t)?.request?.revision??-1;try{if(s){let o=await this.response(await this.options.fetch(l,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s),signal:n.signal}));if(o.requestId!==r)throw Error("side-chat response belongs to a different request");if(n.signal.aborted||(this.apply(e,t,r,o),o.done))return;a=o.revision}let o=0;for(;!n.signal.aborted;){let s;try{if((s=await this.response(await this.options.fetch(`${l}?requestId=${encodeURIComponent(r)}&after=${a}`,{cache:"no-store",signal:n.signal}))).requestId!==r)throw Error("side-chat response belongs to a different request")}catch(r){if(n.signal.aborted)return;if(r instanceof e5||++o>=6)throw r;this.updateThread(e,t,e=>({...e,connectionLost:!0})),await function(e,t){return new Promise(r=>{let s=()=>{clearTimeout(n),t.removeEventListener("abort",s),r()},n=setTimeout(s,e);t.addEventListener("abort",s,{once:!0}),t.aborted&&s()})}(Math.min(500*2**(o-1),5e3),n.signal);continue}if(n.signal.aborted||(o=0,this.apply(e,t,r,s),s.done))return;a=s.revision}}catch(s){n.signal.aborted||this.fail(e,t,r,s instanceof Error?s.message:"side-chat request failed")}finally{this.requests.get(r)===n&&this.requests.delete(r)}}stop(e){let t=this.get(e).threads.find(t=>t.id===this.get(e).currentThreadId),r=t?.request?.id;t&&r&&(this.requests.get(r)?.abort(),this.apply(e,t.id,r,{requestId:r,revision:0,text:t.messages.at(-1)?.text??"",done:!0,aborted:!0}),this.options.fetch(`/api/agent/${e}/side-chat?requestId=${encodeURIComponent(r)}`,{method:"DELETE"}).then(async e=>{if(!e.ok)throw Error((await e.json()).error||"failed to stop side-chat answer")}).catch(r=>this.updateThread(e,t.id,e=>({...e,messages:e.messages.map(e=>e.id===t.messages.at(-1)?.id?{...e,error:r instanceof Error?r.message:"failed to stop side-chat answer"}:e)}),!0)))}}let e6=new e4;window.addEventListener("pagehide",e6.flush);var e8=r(4588),e7=r.n(e8);let e9=(0,ee.default)(()=>Promise.all([r.e(5173),r.e(8552)]).then(r.bind(r,8552)).then(e=>e.MarkdownBlock),{loadableGenerated:{webpack:()=>[8552]}}),te=(0,ee.default)(()=>Promise.all([r.e(5173),r.e(8552)]).then(r.bind(r,8552)).then(e=>e.StreamingMarkdownBlock),{loadableGenerated:{webpack:()=>[8552]}});function tt({sessionId:e,ready:t=!0,mainModel:r,models:l=[],providerNames:i={},authByProvider:d={},onClose:c,store:u=e6}){let{t:p}=(0,o.s)(),m=(0,n.useCallback)(t=>u.subscribe(e,t),[e,u]),h=(0,n.useCallback)(()=>u.get(e),[e,u]),f=(0,n.useSyncExternalStore)(m,h,()=>e2),g=f.threads.find(e=>e.id===f.currentThreadId),x=(0,n.useRef)(null),v=(0,n.useRef)(null),w=(0,n.useRef)(!0),b=(0,n.useRef)(0),y=!!g?.request,C=g?.id,[j,k]=(0,n.useState)(!1),N=(0,n.useRef)(null),L=g?.model?l.find(e=>e.provider===g.model.provider&&e.id===g.model.id)??{...g.model,name:g.model.id}:r,M=!!(e&&t&&L);(0,n.useEffect)(()=>{w.current=!0,b.current=0,x.current&&(x.current.scrollTop=x.current.scrollHeight)},[e,C]),(0,n.useEffect)(()=>{let e=x.current;if(!e)return;let t=()=>{w.current&&(e.scrollTop=e.scrollHeight)},r=new ResizeObserver(t);return e.firstElementChild&&r.observe(e.firstElementChild),t(),()=>r.disconnect()},[g?.messages]),(0,n.useEffect)(()=>{let e=v.current;e&&(e.style.height="auto",e.style.height=`${Math.min(180,Math.max(64,e.scrollHeight))}px`)},[g?.draft,C]),(0,n.useEffect)(()=>{if(!j)return;let e=e=>{N.current?.contains(e.target)||k(!1)},t=e=>{"Escape"===e.key&&k(!1)};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[j]);let E=g?.usage,T=E?E.input+E.cacheRead+E.cacheWrite:null,$=g?.contextWindow??null,z=null!==T&&$?T/$*100:null,I=()=>{e&&M&&!y&&g?.draft.trim()&&(w.current=!0,u.send(e),v.current?.focus({preventScroll:!0}))};return(0,s.jsxs)("section",{className:e7().panel,"aria-label":p.sideChat,"data-testid":"side-chat-panel",children:[(0,s.jsxs)("header",{className:e7().header,children:[(0,s.jsx)("span",{className:e7().title,children:p.sideChat}),(0,s.jsx)("button",{type:"button",className:"icon-btn","aria-label":p.sideChatNew,title:p.sideChatNew,disabled:!e,onClick:()=>e&&u.createThread(e),children:(0,s.jsx)(a.f5,{size:16})}),(0,s.jsx)("button",{type:"button",className:"icon-btn","aria-label":p.close,title:p.close,onClick:c,children:(0,s.jsx)(a.Bh,{size:14})})]}),f.threads.length>1&&(0,s.jsxs)("div",{className:e7().history,ref:N,children:[(0,s.jsxs)("button",{type:"button",className:e7().historyButton,"aria-label":p.sideChatHistory,"aria-haspopup":"menu","aria-expanded":j,onClick:()=>k(e=>!e),children:[(0,s.jsx)("span",{className:"truncate",children:g?`${g.title||p.sideChatNew}${g.request?" \xb7 …":""}`:p.sideChatHistory}),(0,s.jsx)(a.Cd,{size:12,style:{flex:"none",color:"var(--dsw-label-caption)"}})]}),j&&(0,s.jsx)("div",{className:e7().historyMenu,role:"menu","aria-label":p.sideChatHistory,children:[...f.threads].reverse().map(t=>(0,s.jsxs)("button",{type:"button",role:"menuitemradio","aria-checked":t.id===C,className:e7().historyItem,onClick:()=>{e&&u.selectThread(e,t.id),k(!1)},children:[(0,s.jsx)("span",{className:"truncate",children:t.title||p.sideChatNew}),t.request?(0,s.jsx)("span",{className:e7().historyMeta,children:"…"}):null]},t.id))})]}),(0,s.jsx)("div",{className:e7().messages,ref:x,role:"log","aria-label":p.sideChatMessages,"aria-live":"polite","aria-relevant":"additions",onScroll:e=>{let t=e.currentTarget,r=t.scrollHeight-t.scrollTop-t.clientHeight;w.current=!(t.scrollTop<b.current-1&&r>2)&&r<48,b.current=t.scrollTop},children:(0,s.jsx)("div",{className:e7().messageContent,children:g?.messages.length?g.messages.map(t=>(0,s.jsx)("div",{className:"user"===t.role?e7().question:e7().answer,"data-role":t.role,children:"user"===t.role?t.text:(0,s.jsxs)(s.Fragment,{children:[t.contextTruncated&&(0,s.jsx)("p",{className:e7().notice,children:p.sideChatContextTruncated}),t.text&&("pending"===t.status?(0,s.jsx)(te,{text:t.text}):(0,s.jsx)(e9,{text:t.text})),"pending"===t.status&&!t.text&&(0,s.jsx)("span",{className:e7().waiting,role:"status",children:g.connectionLost?p.reconnecting:p.sideChatAnswering}),t.error&&(0,s.jsxs)("div",{className:e7().error,role:"alert",children:[t.error,"error"===t.status&&t===g.messages.at(-1)&&(0,s.jsx)("button",{type:"button",disabled:y,onClick:()=>e&&u.send(e,!0),children:p.retry})]}),"aborted"===t.status&&(0,s.jsx)("p",{className:e7().notice,children:p.turnAborted}),t.lengthLimited&&(0,s.jsx)("p",{className:e7().notice,children:p.sideChatLengthLimited})]})},t.id)):(0,s.jsxs)("div",{className:e7().empty,children:[(0,s.jsx)("p",{children:e?p.sideChatEmpty:p.sideChatPickSession}),e&&(0,s.jsx)("span",{children:p.sideChatHint})]})})}),f.storageFailed&&(0,s.jsx)("p",{className:e7().storageError,role:"alert",children:p.sideChatStorageFailed}),(0,s.jsxs)("form",{className:e7().composer,onSubmit:e=>{e.preventDefault(),I()},children:[(0,s.jsx)("textarea",{ref:v,"aria-label":p.sideChatQuestion,placeholder:e?p.sideChatPlaceholder:p.sideChatPickSession,value:g?.draft??"",disabled:!M,onChange:t=>e&&u.setDraft(e,t.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||229===e.nativeEvent.keyCode||(e.preventDefault(),I())}}),(0,s.jsxs)("div",{className:e7().actions,children:[(0,s.jsx)("div",{className:e7().model,role:"group","aria-label":p.sideChatModel,children:(0,s.jsx)(B,{model:L,models:l,providerNames:i,authByProvider:d,modelOnly:!0,disabled:!e,thinkingLevels:[],onSelectLevel:()=>{},defaultOption:{label:p.sideChatFollowMain,selected:!g?.model,onSelect:()=>e&&u.setModel(e)},onSelectModel:(t,r)=>e&&u.setModel(e,{provider:t,id:r})})}),(0,s.jsx)("div",{className:e7().meter,children:(0,s.jsx)(S,{percent:z,tokens:T,contextWindow:$,label:p.contextMeasured,source:g?.characters?{systemChars:0,messages:g.messages.map(e=>({role:e.role,content:[{type:"text",text:e.text}]})),breakdown:{characters:{systemPrompt:g.characters.systemPrompt,background:g.characters.background,systemTools:0,customTools:0,memory:0,skills:0,compacted:0},systemPrompt:0,systemTools:0,customTools:0,memory:0,skills:0,compacted:0,autoCompactBuffer:0}}:void 0,model:L?{provider:L.provider,id:L.id}:null})}),y?(0,s.jsx)("button",{type:"button",className:e7().send,title:p.stop,"aria-label":p.stop,onClick:()=>e&&u.stop(e),children:(0,s.jsx)(a.uN,{size:15})}):(0,s.jsx)("button",{type:"submit",className:e7().send,title:p.send,"aria-label":p.send,disabled:!M||!g?.draft.trim(),children:(0,s.jsx)(a.Jz,{size:16})})]})]})]})}function tr({size:e=16,...t}){return(0,s.jsxs)("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t,children:[(0,s.jsx)("path",{d:"M12.5 11.5H6l-3.5 2V4.5A2 2 0 0 1 4.5 2.5h8a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2Z"}),(0,s.jsx)("path",{d:"M7.5 14.5h6.5l3.5 2V7.5a2 2 0 0 0-1-1.73"})]})}var ts=r(2253);async function tn(e,t){let r=await fetch("/api/fs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(void 0===t?{action:e}:{action:e,path:t})}),s=await r.json();if(!r.ok||!s.success)throw Error(s.error||`request failed (${r.status})`);return s.data??{}}function tl({open:e,onConfirm:t,onCancel:r}){let{t:l}=(0,o.s)(),[i,d]=(0,n.useState)([]),[c,u]=(0,n.useState)(null),[p,m]=(0,n.useState)(null),[h,f]=(0,n.useState)(!1),g=(0,n.useCallback)(async e=>{f(!0),m(null);try{u(await tn("list",e))}catch(e){m(e instanceof Error?e.message:String(e))}finally{f(!1)}},[]);if((0,n.useEffect)(()=>{e&&(u(null),m(null),d([]),(async()=>{try{let e=await tn("roots");d(e.roots??[])}catch{}await g()})())},[e,g]),!e)return null;let x={fontSize:13,color:"var(--dsw-label-secondary)"};return(0,s.jsx)("div",{className:"modal-mask fixed inset-0 z-[100] flex items-center justify-center",onMouseDown:e=>{e.target===e.currentTarget&&r()},children:(0,s.jsxs)("div",{className:"glass-modal flex flex-col overflow-hidden",style:{width:560,maxWidth:"calc(100vw - 32px)",height:"min(620px, calc(100vh - 32px))",borderRadius:24,boxShadow:"var(--dsw-elevation-prominent)"},children:[(0,s.jsx)("div",{className:"px-5 pb-2 pt-4",style:{fontSize:15,fontWeight:500},children:l.pickFolderTitle}),i.length>0&&(0,s.jsx)("div",{className:"flex flex-wrap gap-1.5 px-5 pb-2",children:i.map(e=>(0,s.jsx)("button",{type:"button",className:"pw-chip",title:e.path,onClick:()=>void g(e.path),children:e.name},e.path))}),(0,s.jsxs)("div",{className:"flex items-center gap-1.5 px-5 pb-2",children:[(0,s.jsx)("button",{type:"button",className:"icon-btn",style:{width:24,height:24,flex:"none"},disabled:!c?.parent||h,title:l.pickFolderUp,"aria-label":l.pickFolderUp,onClick:()=>c?.parent&&void g(c.parent),children:(0,s.jsx)(a.bQ,{size:13})}),(0,s.jsx)("span",{className:"truncate",style:{fontFamily:"var(--font-mono)",fontSize:12,color:"var(--dsw-label-caption)"},title:c?.path,children:c?.path??l.pickFolderLoading})]}),(0,s.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto px-3",children:[p&&(0,s.jsx)("p",{className:"px-2 py-2",style:{fontSize:13,color:"var(--dsw-danger)"},children:p}),c?.entries.map(e=>(0,s.jsxs)("button",{type:"button",className:"flex w-full items-center gap-2 rounded-lg px-2 py-1.5 text-left transition-colors",style:x,onMouseEnter:e=>{e.currentTarget.style.background="var(--dsw-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},onClick:()=>void g(e.path),children:[(0,s.jsx)("img",{src:(0,ts.Q)(e.name,!1),alt:"",width:15,height:15,style:{flex:"none"},draggable:!1}),(0,s.jsx)("span",{className:"truncate",children:e.name})]},e.path)),!p&&c&&0===c.entries.length&&(0,s.jsx)("p",{className:"px-2 py-2",style:{fontSize:13,color:"var(--dsw-label-caption)"},children:l.pickFolderEmpty}),c?.truncated&&(0,s.jsx)("p",{className:"px-2 py-2",style:{fontSize:12,color:"var(--dsw-label-caption)"},children:l.pickFolderTruncated.replace("{n}",String(c.entries.length))})]}),(0,s.jsxs)("div",{className:"flex items-center justify-end gap-2 px-5 py-3.5",children:[(0,s.jsx)("button",{type:"button",className:"rounded-xl px-3.5 py-1.5 transition-colors",style:{fontSize:13,color:"var(--dsw-label-secondary)",background:"var(--dsw-hover)"},onClick:r,children:l.cancel}),(0,s.jsx)("button",{type:"button",className:"rounded-xl px-3.5 py-1.5 transition-colors",style:{fontSize:13,color:"white",background:"var(--dsw-accent)",opacity:!c||h?.5:1},disabled:!c||h,onClick:()=>c&&t(c.path),children:l.pickFolderConfirm})]})]})})}function ta(){let e=localStorage.getItem("piweb.toolPreset");return"readonly"===e||"full"===e?e:"standard"}let to=(e="standard")=>({snapshot:null,messages:[],tools:{},toolPreset:e,connected:!1,error:null,compaction:null,retryNotice:null,extensionDialogs:[],extensionNotices:[],extensionStatuses:{},workingMessage:null,growth:{rounds:[],error:null,consent:null}});function ti(e){let t=e.replace(/\\/g,"/").replace(/\/+$/,"");return/^[A-Za-z]:\//.test(t)||t.startsWith("//")?t.toLowerCase():t}var td=r(1135);function tc(e){let t=e.replace(/\\/g,"/").replace(/\/+$/,"");return/^[A-Za-z]:\//.test(t)||t.startsWith("//")?t.toLowerCase():t}function tu(e,t){if(!t.length)return e;let r=new Set(e.map(e=>e.commit)),s=t.filter(e=>!r.has(e.commit));return s.length?[...e,...s]:e}function tp(e,t,r){e.size>=300&&e.delete(e.keys().next().value),e.set(t,r)}let tm=new Set([".git"]);function th(e,t){return t.filter(t=>!("dir"===t.kind&&!e&&tm.has(t.name))).map(t=>({path:e?`${e}/${t.name}`:t.name,name:t.name,kind:t.kind,size:t.size,lazy:!0,..."dir"===t.kind?{children:[]}:{}}))}async function tf(e,t){t?.throwIfAborted();let r=await fetch(e,{signal:t,cache:"no-store"}),s=await r.json();if(t?.throwIfAborted(),!r.ok||!s.success)throw Error(s.error||`request failed (${r.status})`);return s.data}async function tg(e,t,r){let s=[],n=0;for(;;){let l=new URLSearchParams({cwd:e,path:t,offset:String(n)}),a=await tf(`/api/files?${l}`,r);if(s.push(...a.entries),null===a.nextOffset)return s;if(a.nextOffset<=n)throw Error("directory pagination did not advance");n=a.nextOffset}}var tx=r(6540);let tv="piweb.heroModel.",tw=["off","minimal","low","medium","high","xhigh","max"],tb=(0,ee.default)(()=>Promise.all([r.e(8114),r.e(7411)]).then(r.bind(r,7411)).then(e=>e.SettingsPanel),{loadableGenerated:{webpack:()=>[7411]},ssr:!1}),ty=(0,ee.default)(()=>Promise.all([r.e(7250),r.e(618)]).then(r.bind(r,618)).then(e=>e.TrajInspector),{loadableGenerated:{webpack:()=>[618]},ssr:!1}),tC=(e,t)=>e.replace(/\\/g,"/").replace(/\/+$/,"").toLowerCase()===t.replace(/\\/g,"/").replace(/\/+$/,"").toLowerCase(),tj=(0,ee.default)(()=>Promise.all([r.e(4673),r.e(4778)]).then(r.bind(r,4778)).then(e=>e.DrawerPanel),{loadableGenerated:{webpack:()=>[4778]},ssr:!1}),tk=(0,ee.default)(()=>r.e(4673).then(r.bind(r,4673)).then(e=>e.GrowthConsentDialog),{loadableGenerated:{webpack:()=>[4673]},ssr:!1}),tS=(0,ee.default)(()=>Promise.all([r.e(5173),r.e(2716)]).then(r.bind(r,2716)).then(e=>e.FileViewer),{loadableGenerated:{webpack:()=>[2716]},ssr:!1});function tN(){let{t:e}=(0,o.s)(),{sessions:t,sessionListError:l,retrySessionList:i,archivedSessions:d,archivedSessionPaths:c,currentId:u,currentPath:p,state:m,models:h,addedWorkspaces:f,removedWorkspaces:g,workspaceAliases:x,getWorkspaceName:v,renameWorkspace:w,patchSessionName:b,archiveSession:y,unarchiveSession:C,resync:j,groupBy:k,orderBy:S,setGroupBy:N,setOrderBy:L,addWorkspaceByPicker:M,dirPickerOpen:E,confirmDirPicker:T,cancelDirPicker:$,removeWorkspace:z,refreshModels:I,sendCommand:R,newSession:P,openSession:A,closeSession:B,setToolPreset:F,clearError:H,clearCompaction:O,setError:_,answerExtensionDialog:W,answerGrowthConsent:q,dismissExtensionNotice:D}=function(){let[e,t]=(0,n.useState)([]),[r,s]=(0,n.useState)(null),[l,a]=(0,n.useState)(0),[o,i]=(0,n.useState)(null),[d,c]=(0,n.useState)(null),[u,p]=(0,n.useState)(to),m=(0,n.useRef)(null),[h,f]=(0,n.useState)(null),[g,x]=(0,n.useState)([]),[v,w]=(0,n.useState)([]),[b,y]=(0,n.useState)(!1),C=(0,n.useRef)(null),[j,k]=(0,n.useState)("workspace"),[S,N]=(0,n.useState)("updated"),[L,M]=(0,n.useState)(0),[E,T]=(0,n.useState)(0),$=(0,n.useRef)(null),z=(0,n.useRef)(new Set),I=(0,n.useRef)(null),R=(0,n.useRef)(null),P=(0,n.useRef)(o);P.current=o;let A=(0,n.useRef)(null),B=(0,n.useCallback)(()=>a(e=>e+1),[]),F=(0,n.useCallback)(()=>p(e=>({...e,compaction:null})),[]);(0,n.useEffect)(()=>{let e=u.compaction;if(!e||"end"!==e.phase)return;let t=setTimeout(()=>{p(t=>t.compaction?.ts===e.ts?{...t,compaction:null}:t)},8e3);return()=>clearTimeout(t)},[u.compaction]);let H=(0,n.useCallback)(e=>{let t=new TextEncoder().encode(e),r="";for(let e of t)r+=String.fromCharCode(e);return encodeURIComponent(btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""))},[]);(0,n.useEffect)(()=>{let e=localStorage.getItem("piweb.groupBy");("flat"===e||"workspace"===e)&&k(e);let t=localStorage.getItem("piweb.orderBy");("updated"===t||"manual"===t)&&N(t)},[]);let O=(0,n.useCallback)(e=>{k(e),localStorage.setItem("piweb.groupBy",e)},[]),_=(0,n.useCallback)(e=>{N(e),localStorage.setItem("piweb.orderBy",e)},[]),[W,q]=(0,n.useState)({}),[D,Z]=(0,n.useState)([]),V=(0,n.useCallback)(async()=>{try{let e=await fetch("/api/workspaces"),t=await e.json();if(!e.ok||!t.success)throw Error(t.error||`request failed (${e.status})`);t.success&&(Array.isArray(t.data.workspaces)&&x(t.data.workspaces),Array.isArray(t.data.removedWorkspaces)&&w(t.data.removedWorkspaces),t.data.aliases&&"object"==typeof t.data.aliases&&q(t.data.aliases),Array.isArray(t.data.archivedSessions)&&Z(t.data.archivedSessions))}catch(t){let e=t instanceof Error?t.message:"failed to load workspaces";throw p(t=>({...t,error:e})),t}},[]),U=(0,n.useRef)(!1),J=(0,n.useCallback)(async()=>{U.current||await V().catch(()=>void 0)},[V]),K=(0,n.useCallback)((e,r)=>{let s=ti(e);t(e=>e.map(e=>ti(e.path)===s?{...e,name:r}:e))},[]),G=(0,n.useCallback)(async(e,t)=>{try{let r=await fetch("/api/workspaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"rename",path:e,name:t})}),s=await r.json();if(!r.ok||!s.success)throw Error(s.error||`request failed (${r.status})`);s.data?.aliases&&q(s.data.aliases)}catch(t){let e=t instanceof Error?t.message:"failed to rename workspace";throw p(t=>({...t,error:e})),t}},[]),Y=(0,n.useCallback)(async e=>{try{let t=await fetch("/api/workspaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"archiveSession",path:e})}),r=await t.json();if(!t.ok||!r.success)throw Error(r.error||`request failed (${t.status})`);Array.isArray(r.data?.archivedSessions)&&Z(r.data.archivedSessions)}catch(t){let e=t instanceof Error?t.message:"failed to archive session";throw p(t=>({...t,error:e})),t}},[]),Q=(0,n.useCallback)(async e=>{try{let t=await fetch("/api/workspaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"forgetSession",path:e})}),r=await t.json();if(!t.ok||!r.success)throw Error(r.error||`request failed (${t.status})`);Array.isArray(r.data?.archivedSessions)&&Z(r.data.archivedSessions)}catch(t){let e=t instanceof Error?t.message:"failed to unarchive session";throw p(t=>({...t,error:e})),t}},[]),X=(0,n.useCallback)(e=>{if(!e)return"";let t=ti(e);for(let[e,r]of Object.entries(W))if(ti(e)===t&&r.trim())return r;return e.split(/[\\/]/).filter(Boolean).pop()||e},[W]),ee=(0,n.useCallback)(async()=>{try{let e=await fetch("/api/workspaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"pick"})}),t=await e.json();if(!e.ok||!t.success)throw Error(t.error||`request failed (${e.status})`);if(t.data?.remote)return y(!0),await new Promise(e=>{C.current=e});if(t.success&&t.data?.path)return x(t.data.workspaces??[]),await V(),t.data.path;return null}catch(t){let e=t instanceof Error?t.message:"failed to add workspace";return p(t=>({...t,error:e})),null}},[V]),et=(0,n.useCallback)(async e=>{y(!1);let t=C.current;C.current=null;try{let r=await fetch("/api/workspaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"add",path:e})}),s=await r.json();if(!r.ok||!s.success)throw Error(s.error||`request failed (${r.status})`);x(s.data?.workspaces??[]),await V(),t?.(e)}catch(r){let e=r instanceof Error?r.message:"failed to add workspace";p(t=>({...t,error:e})),t?.(null)}},[V]),er=(0,n.useCallback)(()=>{y(!1);let e=C.current;C.current=null,e?.(null)},[]),es=(0,n.useCallback)(async e=>{try{let t=await fetch("/api/workspaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"remove",path:e})}),r=await t.json();if(!t.ok||!r.success)throw Error(r.error||`request failed (${t.status})`);r.data&&(Array.isArray(r.data.workspaces)&&x(r.data.workspaces),Array.isArray(r.data.removedWorkspaces)&&w(r.data.removedWorkspaces),r.data.aliases&&"object"==typeof r.data.aliases&&q(r.data.aliases)),await V()}catch(t){let e=t instanceof Error?t.message:"failed to remove workspace";throw p(t=>({...t,error:e})),t}},[V]);(0,n.useEffect)(()=>{let e,r,n=!0,l=null,a=async o=>{if(n&&(o||"visible"===document.visibilityState)){r=new AbortController;try{let e=await fetch("/api/sessions",{signal:r.signal,headers:l?{"If-None-Match":l}:void 0});if(304===e.status){n&&s(null);return}let a=await e.json();if(!n)return;if(!e.ok||!a.success)throw Error(a.error||`request failed (${e.status})`);s(null),l=e.headers.get("etag");let o=a.data.running??{},i=a.data.workspaceRegistry;i&&(U.current=!0,Array.isArray(i.workspaces)&&x(i.workspaces),Array.isArray(i.removedWorkspaces)&&w(i.removedWorkspaces),i.aliases&&"object"==typeof i.aliases&&q(i.aliases),Array.isArray(i.archivedSessions)&&Z(i.archivedSessions)),t(a.data.sessions.map(e=>({...e,streaming:o[e.path]?.streaming===!0,lastStep:o[e.path]?.lastStep})))}catch(e){n&&!(e instanceof DOMException&&"AbortError"===e.name)&&(s(e instanceof Error?e.message:"session list request failed"),J())}finally{r=void 0,n&&"visible"===document.visibilityState&&(e=setTimeout(()=>void a(!1),3e3))}}},o=()=>{e&&clearTimeout(e),e=void 0,r?.abort(),"visible"===document.visibilityState&&a(!1)};return document.addEventListener("visibilitychange",o),a(!0),()=>{n=!1,e&&clearTimeout(e),r?.abort(),document.removeEventListener("visibilitychange",o)}},[l,J]);let en=(0,n.useCallback)(async()=>{try{let e=await fetch("/api/models"),t=await e.json();t.success&&f({providers:t.data.providers,models:t.data.models})}catch{}},[]);(0,n.useEffect)(()=>{en()},[en]),(0,n.useEffect)(()=>{let e;if($.current?.close(),$.current=null,!o){A.current=null,p(to(ta()));return}let t=A.current===o;A.current=o,p(e=>t?{...e,connected:!1}:{...to(ta()),connected:!1});let r=2e3,s=`/api/agent/${o}/events`,n=()=>{let t=function({flush:e,schedule:t=e=>{let t=setTimeout(e,16);return()=>clearTimeout(t)},limit:r=400}){let s=[],n=null,l=()=>{n&&(n(),n=null)},a=()=>{if(l(),!s.length)return;let t=s;s=[],e(t)};return{push(e){(s.push(e),s.length>=r)?a():n??=t(a)},flush:a,cancel(){l(),s=[]},size:()=>s.length}}({flush:e=>p(t=>e.reduce((e,t)=>((e,t)=>{let r={...e};switch(t.type){case"delta":{r.retryNotice=null;let e=[...r.messages],s=e.length-1;if(t.messageId)for(;s>=0&&e[s].streamId!==t.messageId&&e[s].id!==t.messageId;)s-=1;else for(;s>=0&&"assistant"!==e[s].role&&"user"!==e[s].role;)s-=1;if(t.messageId&&s>=0&&e[s].stopReason&&"pending"!==e[s].stopReason)return r;(s<0||"assistant"!==e[s].role||(e[s].stopReason??"pending")!=="pending")&&(e.push({role:"assistant",content:[],streamId:t.messageId,stopReason:"pending",timestamp:t.ts}),s=e.length-1);{let r={...e[s]},n=[...r.content];for(;n.length<=t.contentIndex;)n.push({type:"text",text:""});let l={...n[t.contentIndex]};"text"===t.kind&&"text"!==l.type?n[t.contentIndex]={type:"text",text:t.delta}:"thinking"===t.kind?"thinking"!==l.type?n[t.contentIndex]={type:"thinking",thinking:t.delta}:(l.thinking=(l.thinking??"")+t.delta,n[t.contentIndex]=l):"text"===l.type&&(l.text=(l.text??"")+t.delta,n[t.contentIndex]=l),r.content=n,e[s]=r}return r.messages=e,r}case"message":{let e=[...r.messages],s=e.findIndex(e=>!!t.message.id&&e.id===t.message.id||!!t.message.streamId&&e.streamId===t.message.streamId);if(s>=0)return"end"===t.phase&&(e[s]={...e[s],...t.message}),r.messages=e,r;if("start"===t.phase)("user"===t.message.role||"assistant"===t.message.role)&&e.push(t.message);else if("toolResult"!==t.message.role){let r=-1;if(!t.message.streamId){let s=e[e.length-1];"assistant"===t.message.role&&s?.role==="assistant"&&(s.stopReason??"pending")==="pending"&&(r=e.length-1),"user"!==t.message.role||s?.role!=="user"||s.id||s.streamId||(r=e.length-1)}r>=0?e[r]=t.message:e.push(t.message)}return r.messages=e,r}case"tool":{let e={...r.tools},s=e[t.id];return e[t.id]={name:t.name,args:t.args??s?.args,state:t.state,partialResult:t.partialResult??("done"===t.state?void 0:s?.partialResult),result:t.result??s?.result,isError:t.isError??s?.isError,encodingLoss:t.encodingLoss??s?.encodingLoss,patch:t.patch??s?.patch,startedAt:s?.startedAt??t.ts,endedAt:"done"===t.state?t.ts:s?.endedAt},r.tools=e,r}case"queue":return r.snapshot&&(r.snapshot={...r.snapshot,queue:{steering:t.steering,followUp:t.followUp}}),r;case"model":if(r.snapshot){let e={...r.snapshot};t.model&&(e.model={...e.model??{provider:"",id:"",name:""},id:t.model,name:t.model}),t.provider&&e.model&&(e.model={...e.model,provider:t.provider}),t.thinkingLevel&&(e.thinkingLevel=t.thinkingLevel),t.thinkingLevels&&(e.thinkingLevels=t.thinkingLevels),r.snapshot=e}return r;case"usage":return r.snapshot&&(r.snapshot={...r.snapshot,stats:t.stats,contextUsage:t.contextUsage}),r;case"compaction":return r.compaction={phase:t.phase,errorMessage:t.errorMessage,ts:t.ts},r;case"traj":if(r.snapshot){let e=[...r.snapshot.trajectory],s=e.findIndex(e=>e.seq===t.entry.seq);s>=0?e[s]=t.entry:e.push(t.entry),r.snapshot={...r.snapshot,trajectory:e}}return r;case"name":return r.snapshot&&(r.snapshot={...r.snapshot,name:t.name}),r;case"tools":return t.toolPreset&&(r.toolPreset=t.toolPreset),r.snapshot&&(r.snapshot={...r.snapshot,toolPreset:t.toolPreset??r.snapshot.toolPreset,customActiveTools:void 0===t.customActiveTools?r.snapshot.customActiveTools:t.customActiveTools,tools:{active:t.active,all:t.all.map(e=>({name:e}))}}),r;case"context_breakdown":return r.snapshot&&(r.snapshot={...r.snapshot,contextBreakdown:t.breakdown}),r;case"resources":return r.snapshot&&(r.snapshot={...r.snapshot,skills:t.skills,promptTemplates:t.promptTemplates,extensionCommands:t.extensionCommands,projectTrust:t.projectTrust,resourceDiagnostics:t.resourceDiagnostics}),r;case"extension_ui":if("select"===t.method||"confirm"===t.method||"input"===t.method){if(r.extensionDialogs.some(e=>e.id===t.id))return r;r.extensionDialogs=[...r.extensionDialogs,{id:t.id,method:t.method,title:t.title??"",message:t.message,options:t.options,placeholder:t.placeholder,timeout:t.timeout,ts:t.ts}]}else if("notify"===t.method)r.extensionNotices=[...r.extensionNotices.slice(-4),{id:t.id,message:t.message??"",type:t.notifyType??"info",ts:t.ts}];else if("setStatus"===t.method&&t.statusKey){let e={...r.extensionStatuses};void 0===t.statusText||""===t.statusText?delete e[t.statusKey]:e[t.statusKey]=t.statusText,r.extensionStatuses=e}else"setWorkingMessage"===t.method&&(r.workingMessage=t.message??null);return r;case"extension_ui_resolved":return r.extensionDialogs=r.extensionDialogs.filter(e=>e.id!==t.id),r;case"status":return r.snapshot&&(r.snapshot={...r.snapshot,isStreaming:t.isStreaming}),t.isStreaming||(r.retryNotice=null,r.workingMessage=null),r;case"growth":{let e=r.growth.rounds.some(e=>e.commit===t.round.commit)?r.growth.rounds:[...r.growth.rounds,t.round];return r.growth={...r.growth,rounds:e,error:null},r}case"growth_error":return r.growth={...r.growth,error:t.message},r;case"growth_consent":return r.growth={...r.growth,consent:t.request},r;case"retry":return r.retryNotice=t.maxAttempts?`重试 ${t.attempt}/${t.maxAttempts}${t.message?`:${t.message}`:""}`:`重试 ${t.attempt}${t.message?`:${t.message}`:""}`,r;case"retry_end":return r.retryNotice=null,r;case"error":return/^(自动重试|重试)/.test(t.message)?r.retryNotice=t.message:r.error=t.message,r;default:return r}})(e,t),t))});m.current=t;let l=()=>{r=2e3,p(e=>({...e,connected:!0}))},a=e=>{let s;try{s=JSON.parse(e)}catch{return}if("snapshot"===s.type&&s.snapshot){t.cancel(),r=2e3;let e=s.snapshot;T(e=>e+1),p(t=>({snapshot:e,messages:e.messages,tools:function(e,t=!1){let r={},s=new Set;for(let t of e)for(let e of t.content)"toolCall"===e.type?r[e.id]={name:e.name,args:e.arguments,state:"done"}:"toolResult"===e.type&&e.toolCallId&&r[e.toolCallId]&&(s.add(e.toolCallId),r[e.toolCallId]={...r[e.toolCallId],result:e.text,isError:e.isError,encodingLoss:e.encodingLoss,patch:e.patch});if(t)for(let[e,t]of Object.entries(r))s.has(e)||(r[e]={...t,state:"running",startedAt:Date.now()});return r}(e.messages,e.isStreaming),toolPreset:e.toolPreset,connected:!0,error:null,compaction:null,retryNotice:null,extensionDialogs:function(e,t=[]){if(void 0===e.extensionUiRequests)return t;let r=new Map;for(let t of e.extensionUiRequests)("select"===t.method||"confirm"===t.method||"input"===t.method)&&r.set(t.id,{...t,method:t.method,title:t.title??""});return[...r.values()]}(e,t.extensionDialogs),extensionNotices:t.extensionNotices,extensionStatuses:e.extensionStatuses??{},workingMessage:null,growth:{...t.growth,error:e.growthError??null,consent:e.growthConsent??null}}))}else t.push(s)};if(window.location.hostname.toLowerCase().endsWith(".trycloudflare.com")){$.current=function(e,t,{fetch:r=fetch,backoffMs:s=e=>Math.min(2e3*2**(e-1),3e4)}={}){let n,l=new AbortController,a=!1,o=!1,i=0,d=`${e}${e.includes("?")?"&":"?"}poll=1`,c=e=>new Promise(t=>{let r=setTimeout(t,e);l.signal.addEventListener("abort",()=>{clearTimeout(r),t()},{once:!0})});return(async()=>{for(;!a;){let e;try{let t=await r(d,{headers:n?{"Last-Event-ID":n}:{},cache:"no-store",signal:l.signal});if(!t.ok)throw Error(`events poll failed (${t.status})`);e=function(e){let t=[];for(let r of e.split(/\r?\n\r?\n/)){let e={data:""},s=[];for(let t of r.split(/\r?\n/)){if(!t||t.startsWith(":"))continue;let r=t.indexOf(":"),n=-1===r?t:t.slice(0,r),l=-1===r?"":t.slice(r+1);l.startsWith(" ")&&(l=l.slice(1)),"data"===n?s.push(l):"id"===n?e.id=l:"event"===n&&(e.event=l)}s.length&&(e.data=s.join("\n"),t.push(e))}return t}(await t.text())}catch{if(a)return;o=!1,t.onError(),i+=1,await c(s(i));continue}if(a)return;for(let r of(i=0,o||(o=!0,t.onOpen()),e)){if(a)return;t.onMessage(r.data),void 0!==r.id&&(n=r.id)}}})(),{close(){a=!0,l.abort()}}}(s,{onOpen:l,onMessage:a,onError:()=>p(e=>({...e,connected:!1}))});return}let o=new EventSource(s);$.current=o,o.onopen=l,o.onerror=()=>{if(p(e=>({...e,connected:!1})),$.current!==o||o.readyState!==EventSource.CLOSED)return;o.close(),$.current=null;let t=r;r=Math.min(2*r,3e4),e=setTimeout(()=>{null===$.current&&n()},t)},o.onmessage=e=>a(e.data)};return n(),()=>{m.current?.cancel(),m.current=null,e&&clearTimeout(e),$.current?.close(),$.current=null}},[o,L]);let el=(0,n.useCallback)(async(e,t)=>{let r=t??o;if(!r)return p(e=>({...e,error:"no session"})),{success:!1,error:"no session"};let s="prompt"===e.cmd;if(s&&z.current.has(r))return{success:!1,error:"prompt acceptance pending"};s&&z.current.add(r);try{let t=await fetch(`/api/agent/${r}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),s=await t.json();return t.ok&&s.success||p(e=>({...e,error:s.error||`request failed (${t.status})`})),s}catch(t){let e=t instanceof Error?t.message:"request failed";return p(t=>({...t,error:e})),{success:!1,error:e}}finally{s&&z.current.delete(r)}},[o]),ea=(0,n.useCallback)(async(e,t={})=>{try{let r=await fetch("/api/agent/new",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e})}),s=await r.json();if(s.success){let e=s.data.sessionPath,r=H(e),n=[{cmd:"setToolPreset",preset:ta()}];for(let e of(t.provider&&t.modelId&&n.push({cmd:"setModel",provider:t.provider,modelId:t.modelId,fresh:!0}),t.thinking&&n.push({cmd:"setThinkingLevel",level:t.thinking}),n))if(!(await el(e,r)).success){if("setThinkingLevel"===e.cmd)continue;return await fetch(`/api/sessions/${r}`,{method:"DELETE"}).catch(()=>void 0),null}c(e),i(r);try{localStorage.setItem("piweb.currentSession",e)}catch{}return e}return p(e=>({...e,error:s.error||"failed to create session"})),null}catch(e){return p(t=>({...t,error:e instanceof Error?e.message:"failed to create session"})),null}},[H,el]),eo=(0,n.useCallback)(e=>{c(e),i(H(e));try{localStorage.setItem("piweb.currentSession",e)}catch{}},[H]),ei=(0,n.useCallback)(()=>{i(null),c(null);try{localStorage.removeItem("piweb.currentSession")}catch{}},[]),ed=(0,n.useRef)(!1);(0,n.useEffect)(()=>{if(!ed.current&&e.length){ed.current=!0;try{let t=localStorage.getItem("piweb.currentSession");t&&(e.some(e=>e.path===t)?(sessionStorage.setItem("piweb.sessionRestored","1"),eo(t)):localStorage.removeItem("piweb.currentSession"))}catch{}}},[e,eo]);let ec=(0,n.useCallback)(async e=>{if(await R.current,P.current===o){if(o){let t=await el({cmd:"setToolPreset",preset:e});if(!t?.success)return}localStorage.setItem("piweb.toolPreset",e),P.current===o&&p(t=>({...t,toolPreset:e,snapshot:t.snapshot?{...t.snapshot,toolPreset:e}:null}))}},[o,el]),eu=(0,n.useCallback)(()=>M(e=>e+1),[]),ep=(0,n.useCallback)(async(e,t)=>{p(t=>({...t,extensionDialogs:t.extensionDialogs.filter(t=>t.id!==e)}));let r=await el({cmd:"extensionUiResponse",requestId:e,...t});r?.success||P.current!==o||eu()},[o,eu,el]),em=(0,n.useCallback)(async e=>{if(o){p(e=>({...e,growth:{...e.growth,consent:null}}));try{let t=await fetch("/api/growth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"consent",session:o,allow:e})}),r=await t.json();if(!t.ok||!r.success)throw Error(r.error||`request failed (${t.status})`)}catch(e){if(P.current!==o)return;p(t=>({...t,error:e instanceof Error?e.message:String(e)})),eu()}}},[o,eu]),eh=(0,n.useCallback)(e=>p(t=>({...t,extensionNotices:t.extensionNotices.filter(t=>t.id!==e)})),[]),ef=(0,n.useCallback)(()=>p(e=>({...e,error:null})),[]),eg=(0,n.useCallback)(e=>p(t=>({...t,error:e})),[]);return(0,n.useEffect)(()=>{if(!o||!u.connected||!u.snapshot||u.snapshot.isStreaming||null!=u.snapshot.customActiveTools)return;let e=ta();if(u.snapshot.toolPreset===e)return;let t=`${o}:${E}`;if(I.current===t)return;I.current=t;let r=el({cmd:"setToolPreset",preset:e}).then(t=>{t?.success&&P.current===o&&ta()===e&&p(t=>({...t,toolPreset:e,snapshot:t.snapshot?{...t.snapshot,toolPreset:e}:null}))}).finally(()=>{R.current===r&&(R.current=null)});R.current=r},[o,E,u.connected,u.snapshot,el]),{sessions:(0,n.useMemo)(()=>{let t=new Set(D.map(ti));return e.filter(e=>!t.has(ti(e.path)))},[e,D]),sessionListError:r,retrySessionList:B,archivedSessions:(0,n.useMemo)(()=>{let t=new Set(D.map(ti));return e.filter(e=>t.has(ti(e.path)))},[e,D]),archivedSessionPaths:D,currentId:o,currentPath:d,state:u,models:h,addedWorkspaces:g,removedWorkspaces:v,workspaceAliases:W,getWorkspaceName:X,renameWorkspace:G,patchSessionName:K,archiveSession:Y,unarchiveSession:Q,resync:eu,groupBy:j,orderBy:S,setGroupBy:O,setOrderBy:_,addWorkspaceByPicker:ee,dirPickerOpen:b,confirmDirPicker:et,cancelDirPicker:er,removeWorkspace:es,refreshModels:en,sendCommand:el,newSession:ea,openSession:eo,closeSession:ei,setToolPreset:ec,clearError:ef,clearCompaction:F,setError:eg,answerExtensionDialog:ep,answerGrowthConsent:em,dismissExtensionNotice:eh}}(),[Z,V]=(0,n.useState)(280),[U,J]=(0,n.useState)(!1),[K,G]=(0,n.useState)(360),X=(0,n.useRef)(new Map),ee=(0,n.useRef)(new Map),et=(0,n.useRef)(0),[er,es]=(0,n.useState)("__hero__:0"),[en,el]=(0,n.useState)(0),ea=p?ee.current.get(p)??p:er,[ei,ed]=(0,n.useState)({}),[ec,eu]=(0,n.useState)({}),[ep,em]=(0,n.useState)({}),eh=(0,n.useCallback)((e,t)=>{let r=X.current.get(e)??Y;X.current.set(e,"function"==typeof t?t(r):t),el(e=>e+1)},[]),ef=(0,n.useCallback)((e,t)=>{1===t&&eu(t=>({...t,[e]:""})),ed(r=>({...r,[e]:Math.max(0,(r[e]??0)+t)}))},[]),eg=(0,n.useCallback)((e,t)=>{eu(r=>({...r,[e]:t}))},[]),ex=(0,n.useCallback)((e,t)=>{em(r=>({...r,[e]:t}))},[]),ev=(0,n.useCallback)(e=>eh(ea,e),[ea,eh]),ew=(0,n.useCallback)(e=>eh(er,e),[er,eh]),[eb,ey]=(0,n.useState)(!1),[eC,ej]=(0,n.useState)(null),[ek,eS]=(0,n.useState)("project"),eN=(0,n.useCallback)(e=>{eS(e),localStorage.setItem("piweb.drawerSection",e),eT(!1)},[]),[eL,eM]=(0,n.useState)(!1),[eE,eT]=(0,n.useState)(!1),e$=(0,n.useRef)(!1),ez=(0,n.useRef)(()=>{}),[eI,eR]=(0,n.useState)(""),[eP,eB]=(0,n.useState)(null),[eF,eH]=(0,n.useState)(null),[eO,eD]=(0,n.useState)(""),[eZ,eV]=(0,n.useState)(!1),[eU,eK]=(0,n.useState)(!1);(0,n.useEffect)(()=>{let e;V(Number.isNaN(e=parseInt(localStorage.getItem("piweb.sidebarW")??"",10))?280:e),G(function(){for(let e of["piweb.drawerW","piweb.detailsW"]){let t=parseInt(localStorage.getItem(e)??"",10);if(!Number.isNaN(t))return Math.max(280,Math.min(760,t))}return 360}()),J("1"===localStorage.getItem("piweb.sidebarCollapsed")),eM("1"===localStorage.getItem("piweb.drawerOpen"));let t=localStorage.getItem("piweb.drawerSection");["project","prompts","git","import"].includes(t??"")&&eS(t)},[]),(0,n.useEffect)(()=>{eI?eB(function(e,t){let r=e.getItem(`${tv}${t}`);if(!r)return null;try{let e=JSON.parse(r);return e&&"string"==typeof e.provider&&"string"==typeof e.id?{provider:e.provider,id:e.id}:null}catch{return null}}(localStorage,eI)):eB(null)},[eI]),(0,n.useEffect)(()=>{if(eH(null),!eI)return;let e=!1;return fetch(`/api/models/defaults?cwd=${encodeURIComponent(eI)}`).then(e=>e.json()).then(t=>{!e&&t.success&&t.data&&eH(t.data)}).catch(()=>void 0),()=>{e=!0}},[eI]);let eG=(0,n.useCallback)(e=>{eo(),eM(t=>{let r=e??!t;return localStorage.setItem("piweb.drawerOpen",r?"1":"0"),r&&eT(!1),r})},[]),eY=(0,n.useCallback)(e=>{eN(e),ej(null),eG(!0)},[eG,eN]);(0,n.useEffect)(()=>{let e=e=>{(e.ctrlKey||e.metaKey)&&e.shiftKey&&"e"===e.key.toLowerCase()&&(e.preventDefault(),eL&&!eC&&"project"===ek?eG(!1):eY("project"))};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[eL,ek,eG,eY]),(0,n.useEffect)(()=>{let e=window.matchMedia("(max-width: 840px)"),t=()=>{eV(e.matches),e.matches||eK(!1)};return t(),e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]),(0,n.useEffect)(()=>{let e=()=>(0,tx.HD)();e();let t=window.matchMedia("(prefers-color-scheme: dark)");t.addEventListener("change",e);let r=t=>{("piweb.pebrelTheme"===t.key||"piweb.theme"===t.key)&&e()};return window.addEventListener("storage",r),()=>{t.removeEventListener("change",e),window.removeEventListener("storage",r)}},[]),(0,n.useEffect)(()=>{let e=setTimeout(()=>{Promise.all([r.e(5173),r.e(8552)]).then(r.bind(r,8552))},1200);return()=>clearTimeout(e)},[]),(0,n.useEffect)(()=>{ej(null)},[p]);let eX=(0,n.useMemo)(()=>{let e=new Set(g.map(e=>e.replace(/\\/g,"/").replace(/\/+$/,"").toLowerCase()));return Array.from(new Set([...f,...t.map(e=>e.cwd)].filter(t=>{let r=t.replace(/\\/g,"/").replace(/\/+$/,"").toLowerCase();return!!r&&!e.has(r)})))},[f,t,g]),{authByProvider:e1,providerNames:e0}=(0,n.useMemo)(()=>{let e={},t={};for(let r of h?.providers??[])e[r.id]=!0===r.authReady,t[r.id]=r.name;return{authByProvider:e,providerNames:t}},[h]),e2=(0,n.useMemo)(()=>(h?.models??[]).map(e=>({provider:e.provider,id:e.id,name:e.name,reasoning:e.reasoning,thinkingLevels:e.thinkingLevels,contextWindow:e.contextWindow})),[h]),e3=(0,n.useMemo)(()=>eP?e2.find(e=>e.provider===eP.provider&&e.id===eP.id):void 0,[eP,e2]),e5=(0,n.useMemo)(()=>e3?.thinkingLevels??["off","minimal","low","medium","high","xhigh","max"],[e3]),e4=(0,n.useMemo)(()=>{var e;return function(e,t){if(e.includes(t))return t;let r=tw.indexOf(t);if(-1===r)return e[0]??"off";for(let t=r;t<tw.length;t+=1)if(e.includes(tw[t]))return tw[t];for(let t=r-1;t>=0;t-=1)if(e.includes(tw[t]))return tw[t];return e[0]??"off"}((e={supported:e5,requested:eO,modelOverride:e3?eF?.modelThinkingLevels[`${e3.provider}/${e3.id}`]:void 0,defaultLevel:eF?.defaultThinkingLevel}).supported,e.requested||e.modelOverride||e.defaultLevel||"medium")},[e3,e5,eO,eF]),e6=(0,n.useCallback)(e=>t=>{t.preventDefault();let r=t.clientX,s="sidebar"===e?Z:K,[n,l]="sidebar"===e?[264,420]:[280,760],a="right"===e?-1:1,o="sidebar"===e?V:G,i=0,d=s,c=e=>{d=Math.max(n,Math.min(l,s+a*(e.clientX-r))),i||(i=requestAnimationFrame(()=>{i=0,eo(),o(d)}))},u=()=>{var t;i&&cancelAnimationFrame(i),eo(),o(d),t=d,localStorage.setItem("sidebar"===e?"piweb.sidebarW":"piweb.drawerW",String(t)),window.removeEventListener("pointermove",c),window.removeEventListener("pointerup",u),window.removeEventListener("pointercancel",u)};window.addEventListener("pointermove",c),window.addEventListener("pointerup",u),window.addEventListener("pointercancel",u)},[Z,K]),e8=m.snapshot,e7=(0,n.useRef)(e8?.trajectory??[]);(0,n.useEffect)(()=>{e7.current=e8?.trajectory??[]},[e8?.trajectory]);let e9=(0,n.useCallback)(e=>{let t=e7.current.find(t=>t.toolCallId===e);t&&(eo(),ej(t))},[]),te=(0,n.useMemo)(()=>(e8?.contextResources??[]).reduce((e,t)=>e+(t.content?.length??0),0),[e8?.contextResources]),ts=e8?.isStreaming??!1;(0,n.useEffect)(()=>{if(!m.error)return;let e=setTimeout(H,6e3);return()=>clearTimeout(e)},[m.error,H]);let tn=async(e,t)=>{if(!t.trim())return;let r=e===p?await R({cmd:"rename",text:t.trim()}):await R({cmd:"rename",text:t.trim()},encodeURIComponent(tL(e)));if(!r?.success)throw Error(r?.error||"failed to rename session");b(e,t.trim()),e!==p&&j()},tm=(0,n.useCallback)(async(e,t)=>{let r=e===p&&u?u:encodeURIComponent(tL(e)),s=await R({cmd:"fork"},r);s?.success&&s.data?.sessionPath&&(A(s.data.sessionPath),j())},[p,u,R,A,j]),tN=(0,n.useCallback)(async(t,r)=>{if(!u)return;let s=await R({cmd:"editAndResend",entryId:t,text:r});s?.success?j():_(s?.error??e.editMessageFailed)},[u,j,R,_,e.editMessageFailed]),tM=(0,n.useCallback)(async e=>{try{await y(e)}catch{}if(!p||!tC(e,p))return;let r=t.find(e=>tC(e.path,p))?.cwd,s=t.find(t=>!tC(t.path,e)&&r&&tC(t.cwd,r))??t.find(t=>!tC(t.path,e));s?A(s.path):B()},[y,B,p,A,t]),tT=(0,n.useCallback)(async e=>{try{await C(e),j()}catch{}},[C,j]),t$=(0,n.useCallback)(async(e,t)=>{await w(e,t)},[w]),tz=(0,n.useCallback)(async e=>{await z(e),eI===e&&eR(""),j()},[z,eI,j]),tI=async(t,r)=>{let s=eI.trim();if(!s)return _(e.pickWorkspaceFirst),{success:!1};if(!e3)return _(e.blockedComposer),{success:!1};let n=await P(s,{provider:e3.provider,modelId:e3.id,thinking:eO||void 0});return n?(ee.current.set(n,er),es(`__hero__:${++et.current}`),R({cmd:"prompt",text:t,images:r},encodeURIComponent(tL(n)))):{success:!1}},tR=(0,n.useCallback)(e=>R({cmd:"fork",entryId:e}).then(e=>(e.success&&e.data?.sessionPath&&(A(e.data.sessionPath),j()),e)),[R,A,j]),tP=(0,n.useMemo)(()=>[{name:"compact",desc:e.cmdCompact,kind:"builtin"},{name:"export",desc:e.cmdExport,kind:"builtin"},{name:"model",desc:e.cmdModel,kind:"builtin"},{name:"new",desc:e.cmdNew,kind:"builtin"},{name:"fork",desc:e.cmdFork,kind:"builtin"},{name:"reload",desc:e.cmdReload,kind:"builtin"},...(e8?.promptTemplates??[]).map(e=>({name:e.name,desc:e.description,kind:"template",argumentHint:e.argumentHint})),...(e8?.extensionCommands??[]).map(e=>({name:e.name,desc:e.description||e.source,kind:"extension"})),...(e8?.skills??[]).map(e=>({name:`skill:${e.name}`,desc:e.description,kind:"skill"}))].sort((e,t)=>e.name.localeCompare(t.name)),[e8,e]),tA=(0,n.useCallback)((t,r)=>{"compact"===t?R({cmd:"compact",instructions:r||void 0}):"export"===t&&u?window.open(`/api/sessions/${u}/export?format=jsonl`,"_blank"):"new"===t?B():"fork"===t&&u?R({cmd:"fork"}).then(e=>{e.success&&e.data?.sessionPath&&A(e.data.sessionPath)}):"reload"===t?R({cmd:"reload"}).then(()=>I()):_(e.cmdUnknown.replace("{name}",t))},[R,u,B,A,_,e]),tB=e8?.projectTrust,tF=(0,n.useCallback)(async e=>{let t=e8?.cwd;if(t)try{let r=await fetch("/api/security",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectTrust:{cwd:t,decision:e}})}),s=await r.json();if(!s.success)throw Error(s.error||"failed")}catch(e){_(e instanceof Error?e.message:"failed")}},[e8?.cwd,_]),tH=t.find(e=>e.path===p),tO=m.messages.find(e=>"user"===e.role)?.content?.find(e=>"text"===e.type&&e.text?.trim())?.text?.trim(),t_=e8?.name||tH?.name||tH?.firstMessage||tO||p?.split(/[\\/]/).pop()||"pi",tW=e8?.cwd||tH?.cwd||eI||eX[0]||"",tq=(0,n.useMemo)(()=>Object.values(m.tools).filter(e=>"done"===e.state&&["edit","write","bash","powershell","pwsh"].includes(e.name.toLowerCase())).length,[m.tools]),[tD,tZ]=(0,n.useState)(0),tV=(0,n.useRef)(tq),tU=(0,n.useRef)(ts);(0,n.useEffect)(()=>{tV.current!==tq&&(tV.current=tq,tZ(e=>e+1))},[tq]),(0,n.useEffect)(()=>{tU.current&&!ts&&tZ(e=>e+1),tU.current=ts},[ts]);let tJ=(0,n.useCallback)(e=>{let t=e.trim().replace(/^@+/,"");t&&(eh(ea,e=>{let r=e.references??[];return r.some(e=>e.replace(/[\\/]+$/,"")===t.replace(/[\\/]+$/,""))?e:{...e,references:[...r,t]}}),requestAnimationFrame(()=>document.querySelector('[data-testid="composer"] textarea')?.focus()))},[ea,eh]),tK=(0,n.useCallback)(async e=>{try{let t=await fetch("/api/files",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"open",cwd:tW,path:e})}),r=await t.json();if(!r.success)throw Error(r.error||"failed to open file")}catch(e){_(e instanceof Error?e.message:"failed to open file")}},[tW,_]),tG=function(){let[e,t]=(0,n.useState)({open:!1,tabs:[],active:null}),r=(0,n.useCallback)((e,r={})=>{t(t=>({open:!0,tabs:t.tabs.some(t=>t.path===e)?t.tabs.map(t=>t.path===e?{...t,...r}:t):[...t.tabs,{path:e,...r}],active:e}))},[]),s=(0,n.useCallback)(()=>t(e=>({...e,open:!0,active:null})),[]),l=(0,n.useCallback)((e,r)=>{t(t=>({open:!0,tabs:t.tabs.some(t=>t.path===e)?t.tabs.map(t=>t.path===e?{...t,staticContent:r,lazy:!0}:t):[...t.tabs,{path:e,staticContent:r,lazy:!0}],active:e}))},[]),a=(0,n.useCallback)(()=>t(e=>({...e,open:!1})),[]),o=(0,n.useCallback)(()=>t({open:!1,tabs:[],active:null}),[]);return{state:e,open:r,openStatic:l,openTree:s,close:a,closeTab:(0,n.useCallback)(e=>{t(t=>{let r=t.tabs.findIndex(t=>t.path===e);if(r<0)return t;let s=t.tabs.filter(t=>t.path!==e),n=t.active;return n===e&&(n=s[r]?.path??s[r-1]?.path??null),{...t,tabs:s,active:n}})},[]),select:(0,n.useCallback)(e=>t(t=>({...t,active:e})),[]),reset:o}}(),tY=tG.reset;(0,n.useEffect)(()=>{tY()},[tW,tY]);let tQ=function({cwd:e,sessionPath:t,liveRounds:r,runtimeError:s,active:l,watchRounds:a=!1,connected:o}){let i=JSON.stringify([tc(e),t??""]),d=(0,n.useMemo)(()=>({key:i,active:!0,controllers:new Set,loadingDirs:new Map,refresh:null}),[i]),c=(0,n.useRef)(d);c.current=d;let u=(0,n.useCallback)(()=>{let e=new AbortController;return c.current===d&&d.active?d.controllers.add(e):e.abort(),e},[d]),p=(0,n.useCallback)(e=>c.current===d&&d.active&&!e.signal.aborted,[d]);(0,n.useEffect)(()=>(d.active=!0,()=>{for(let e of(d.active=!1,d.controllers))e.abort();d.controllers.clear(),d.loadingDirs.clear()}),[d]);let[m,h]=(0,n.useState)({key:"",rounds:[],available:!0,error:null}),[f,g]=(0,n.useState)(!1),[x,v]=(0,n.useState)(null),[w,b]=(0,n.useState)("round"),[y,C]=(0,n.useState)(null),[j,k]=(0,n.useState)(null),[S,N]=(0,n.useState)(()=>new Set),[L,M]=(0,n.useState)(()=>new Set),[E,T]=(0,n.useState)(()=>({scope:d,children:new Map})),$=(0,n.useMemo)(()=>E.scope===d?E.children:new Map,[E,d]),z=(0,n.useRef)($);z.current=$;let I=(0,n.useCallback)((e,t)=>{p(e)&&T(r=>p(e)?{scope:d,children:t(r.scope===d?r.children:new Map)}:r)},[p,d]),R=(0,n.useRef)(new Map),P=(0,n.useRef)(new Map),A=(0,n.useRef)(new Set),B=(0,n.useRef)(void 0),F=(0,n.useRef)(""),H=(0,n.useRef)(o);(0,n.useEffect)(()=>{let e=localStorage.getItem("piweb.growth.scope");("round"===e||"session"===e)&&b(e)},[]);let O=(0,n.useCallback)(e=>{b(e),localStorage.setItem("piweb.growth.scope",e)},[]);(0,n.useEffect)(()=>{if(e){try{let t=localStorage.getItem(`piweb.growth.expanded:${tc(e)}`);N(new Set(t?JSON.parse(t):[]))}catch{N(new Set)}A.current=new Set}},[e]);let _=(0,n.useCallback)(t=>{if(e)try{localStorage.setItem(`piweb.growth.expanded:${tc(e)}`,JSON.stringify([...t].slice(0,2e3)))}catch{}},[e]);(0,n.useEffect)(()=>{v(null),M(new Set),g(!1),T({scope:d,children:new Map}),B.current&&clearTimeout(B.current),F.current=""},[d]);let W=(0,n.useCallback)(async()=>{let r=u();if(p(r)){if(d.refresh?.abort(),d.refresh=r,!e){h({key:i,rounds:[],available:!0,error:null}),I(r,()=>new Map),g(!1),d.controllers.delete(r);return}g(!0);try{let s=new URLSearchParams({cwd:e});t&&s.set("session",t);let n=t?tf(`/api/growth?${s}`,r.signal).then(e=>({status:"fulfilled",value:e}),e=>({status:"rejected",reason:e})):Promise.resolve({status:"fulfilled",value:{available:!0,rounds:[]}}),a=l?tg(e,"",r.signal).then(e=>({status:"fulfilled",value:e}),e=>({status:"rejected",reason:e})):Promise.resolve({status:"skipped"});a.then(e=>{p(r)&&"fulfilled"===e.status&&I(r,t=>new Map(t).set("",th("",e.value)))});let o=await n;if(!p(r))return;"fulfilled"===o.status?h({key:i,rounds:o.value.rounds??[],available:!1!==o.value.available,error:null}):h({key:i,rounds:[],available:!0,error:o.reason instanceof Error?o.reason.message:"failed to load"});let d=await a;if(!p(r))return;"rejected"===d.status&&"fulfilled"===o.status&&h(e=>({...e,error:d.reason instanceof Error?d.reason.message:"failed to list workspace"}))}finally{p(r)&&g(!1),d.controllers.delete(r)}}},[e,t,i,l,u,p,d,I]),q=l||a;(0,n.useEffect)(()=>(q&&W(),()=>d.refresh?.abort()),[q,W,d]),(0,n.useEffect)(()=>{q&&o&&!H.current&&W(),H.current=o},[q,o,W]);let D=(0,n.useMemo)(()=>{var e;let t;return e=tu(m.key===i?m.rounds:[],r),t=0,e.filter(e=>"baseline"!==e.kind).map(e=>({...e,n:"round"===e.kind?t+=1:null}))},[m,i,r]),Z=D[D.length-1]??null,V=Z?.commit??"";(0,n.useEffect)(()=>{if(!l||!e||!Z)return;let t=u(),r=setTimeout(()=>{if(!p(t))return;let r=[...new Set(["",...z.current.keys()])];Promise.allSettled(r.map(r=>tg(e,r,t.signal))).then(e=>{I(t,t=>{let s=new Map(t);for(let[t,n]of e.entries())"fulfilled"===n.status?s.set(r[t],th(r[t],n.value)):r[t]&&s.delete(r[t]);return s})}).finally(()=>d.controllers.delete(t))},100);return()=>{t.abort(),d.controllers.delete(t),clearTimeout(r)}},[l,e,V,u,p,d,I]);let U=(0,n.useMemo)(()=>D.find(e=>e.commit===x)??Z??null,[Z,D,x]),J=D[0]?.parentTree??null;(0,n.useEffect)(()=>{U&&x!==U.commit&&v(U.commit)},[U,x]),(0,n.useEffect)(()=>{if(!l)return;if(!U||!e)return void C(null);let t=U.tree,r=`${i}|${t}`,s=R.current.get(r);if(s)return void C({key:i,tree:t,files:s});let n=u();return tf(`/api/growth?cwd=${encodeURIComponent(e)}&tree=${t}&list=1`,n.signal).then(e=>{p(n)&&(tp(R.current,r,e.files),C({key:i,tree:t,files:e.files}))}).catch(()=>{p(n)&&C({key:i,tree:t,files:[]})}).finally(()=>d.controllers.delete(n)),()=>{n.abort(),d.controllers.delete(n)}},[l,U,e,i,u,p,d]);let K=(0,n.useMemo)(()=>U?"round"===w?{from:U.parentTree,to:U.tree}:J?{from:J,to:U.tree}:null:null,[U,w,J]),G=(0,n.useMemo)(()=>U&&K&&K.from!==K.to?"round"!==w||U.truncated?null:U.changes:[],[U,K,w]),Y=(0,n.useCallback)(async(t,r,s)=>{let n=`${i}|${t}..${r}`,l=P.current.get(n);if(l)return l;let a=await tf(`/api/growth?cwd=${encodeURIComponent(e)}&from=${t}&to=${r}&changes=1`,s.signal);return p(s)&&tp(P.current,n,a.changes),a.changes},[e,i,p]);(0,n.useEffect)(()=>{if(!l||!K||null!==G||!e)return;let t=`${i}|${K.from}..${K.to}`,r=u();return Y(K.from,K.to,r).then(e=>{p(r)&&k({key:t,changes:e})}).catch(e=>{p(r)&&k({key:t,changes:[],error:e instanceof Error?e.message:"failed to load round changes"})}).finally(()=>d.controllers.delete(r)),()=>{r.abort(),d.controllers.delete(r)}},[l,K,G,e,i,Y,u,p,d]);let Q=(0,n.useMemo)(()=>null!==G?G:K&&j?.key===`${i}|${K.from}..${K.to}`?j.changes:[],[G,K,j,i]),X=(0,n.useMemo)(()=>{let e=(0,td.H6)(y?.key===i&&U&&y.tree===U.tree?y.files:[],Q);return(0,td.jg)(e,$)},[y,U,Q,$,i]),ee=(0,n.useMemo)(()=>{let e=new Set(y?.key===i&&U&&y.tree===U.tree?y.files.map(e=>e.path):[]);for(let t of $.values())for(let r of t)"file"===r.kind&&e.add(r.path);return[...e]},[y,U,$,i]);(0,n.useEffect)(()=>{if(!Z||Z.commit===F.current)return;let e=""===F.current;if(F.current=Z.commit,U&&U.commit!==Z.commit||e&&!r.some(e=>e.commit===Z.commit))return;let t=Z.changes;if(!t.length)return;let s=(0,td.pI)(t.slice(0,200)).filter(e=>!A.current.has(e));s.length&&N(e=>{let t=new Set(e);for(let e of s)t.add(e);return _(t),t}),M(new Set(t.map(e=>e.path))),B.current&&clearTimeout(B.current),B.current=setTimeout(()=>M(new Set),2500)},[Z,U,r,_]);let et=(0,n.useRef)(null);(0,n.useEffect)(()=>()=>{B.current&&clearTimeout(B.current)},[]),(0,n.useEffect)(()=>{if(!U||et.current!==U.commit)return;let e=Q.slice(0,200);if(!e.length)return;let t=(0,td.pI)(e);N(e=>{if(t.every(t=>e.has(t)))return e;let r=new Set(e);for(let e of t)r.add(e);return r})},[U,Q]);let er=(0,n.useCallback)(()=>{let e=D[D.length-1];e&&v(e.commit)},[D]),es=(0,n.useCallback)(e=>{et.current=e,v(e)},[]),en=(0,n.useCallback)(()=>{if(!U)return;let e=D.findIndex(e=>e.commit===U.commit);e>0&&(et.current=D[e-1].commit,v(D[e-1].commit))},[U,D]),el=(0,n.useCallback)(()=>{if(!U)return;let e=D.findIndex(e=>e.commit===U.commit);e<0||e>=D.length-1||(et.current=D[e+1].commit,v(D[e+1].commit))},[U,D]),ea=(0,n.useCallback)(e=>{N(t=>{let r=new Set(t);return r.has(e)?(r.delete(e),A.current.add(e)):(r.add(e),A.current.delete(e)),_(r),r})},[_]),eo=(0,n.useCallback)(e=>{let t=e.split("/"),r=[];for(let e=1;e<t.length;e+=1)r.push(t.slice(0,e).join("/"));N(e=>{let t=new Set(e);for(let e of r)t.add(e),A.current.delete(e);return _(t),t})},[_]),ei=(0,n.useCallback)(()=>{let e=new Set((0,td.pu)(X));A.current=new Set,N(e),_(e)},[X,_]),ed=(0,n.useCallback)(()=>{let e=new Set;N(e),_(e)},[_]),ec=(0,n.useCallback)(async t=>{if(!e||c.current!==d||z.current.has(t)||d.loadingDirs.has(t))return;let r=u();if(p(r)){d.loadingDirs.set(t,r);try{let s=await tg(e,t,r.signal);I(r,e=>new Map(e).set(t,th(t,s)))}catch{}finally{d.loadingDirs.get(t)===r&&d.loadingDirs.delete(t),d.controllers.delete(r)}}},[e,d,u,p,I]),eu=(0,n.useCallback)(async()=>{if(!t)return null;let e=u();if(!p(e))return null;try{let r=await fetch("/api/growth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"record",session:function(e){let t=new TextEncoder().encode(e),r="";for(let e of t)r+=String.fromCharCode(e);return encodeURIComponent(btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""))}(t)}),signal:e.signal}),s=await r.json();if(!p(e))return null;if(!r.ok||!s.success)throw Error(s.error||`request failed (${r.status})`);let n=s.data?.round??null;return n&&h(t=>p(e)&&t.key===i?{...t,rounds:tu(t.rounds,[n])}:t),n}finally{d.controllers.delete(e)}},[t,i,d,u,p]);return{available:m.key!==i||m.available,loading:f,error:s??(m.key===i?m.error:null)??(K&&j?.key===`${i}|${K.from}..${K.to}`?j.error:null)??null,rounds:D,selected:U,scope:w,range:K,changes:Q,changesReady:null!==G||!!(K&&j?.key===`${i}|${K.from}..${K.to}`&&!j.error),tree:X,filePaths:ee,expanded:S,fresh:L,selectLatest:er,select:es,prev:en,next:el,setScope:O,toggleDir:ea,revealPath:eo,expandAll:ei,collapseAll:ed,expandLazy:ec,refresh:W,recordNow:eu}}({cwd:tW,sessionPath:p,liveRounds:m.growth.rounds,runtimeError:m.growth.error,active:eL||tG.state.open,watchRounds:!!p,connected:m.connected}),tX=(0,n.useCallback)(e=>tG.open(e.path,{from:e.from,lazy:e.lazy,kind:e.kind}),[tG]);ez.current=tQ.selectLatest,(0,n.useEffect)(()=>{if(!eL||e$.current){e$.current=!1;return}ez.current()},[eL,tW]);let t1=(0,n.useMemo)(()=>{let e=new Map;for(let t of tQ.rounds){if("round"!==t.kind||!t.promptIds[0])continue;let r=t.stats;e.set(t.promptIds[0],{commit:t.commit,files:r.added+r.modified+r.deleted+r.renamed,add:r.add,del:r.del})}return e},[tQ.rounds]),t0=tQ.select,t2=(0,n.useCallback)(e=>{e$.current=!0,eN("project"),ej(null),eG(!0),t0(e)},[eG,t0,eN]),t3=(0,n.useCallback)(e=>{requestAnimationFrame(()=>{let t=document.querySelector(`[data-role="user"][data-message-id="${CSS.escape(e)}"]`);t&&(t.scrollIntoView({block:"center",behavior:"smooth"}),t.dataset.flash="",setTimeout(()=>delete t.dataset.flash,1600))})},[]);(0,n.useEffect)(()=>{document.title=u&&t_&&"pi"!==t_?`${t_} \xb7 pi`:"pi"},[u,t_]);let t5=!!eC||eL||eE,t4=eZ?"minmax(0,1fr)":`${U?56:Z}px minmax(0,1fr) ${t5?`${K}px`:"0px"}`,t6=(0,s.jsx)("div",{className:"flex min-h-0 flex-col overflow-hidden",style:eZ?{position:"fixed",inset:"0 0 0 auto",width:"min(92vw, 640px)",zIndex:90,background:"var(--dsw-sidebar-fill)",boxShadow:"var(--dsw-elevation-prominent)"}:{background:"var(--dsw-sidebar-fill)",borderLeft:"0.5px solid var(--dsw-border-l2)"},children:eC?(0,s.jsx)(ty,{entry:eC,onClose:()=>ej(null)}):eE?(0,s.jsx)(tt,{sessionId:u,ready:!!e8,mainModel:e8?.model,models:e2,providerNames:e0,authByProvider:e1,onClose:()=>eT(!1)}):(0,s.jsx)(tj,{cwd:tW,section:ek,onSectionChange:eN,onClose:()=>eG(!1),sessionId:u,promptRefreshKey:u,gitRefreshKey:tD,growth:tQ,workspaceName:tW?v(tW):"",hasSession:!!p,running:ts,onOpenFileNode:tX,onReference:tJ,onOpenEditor:tK,onJumpToChat:t3,onError:_,onOpenContent:(e,t)=>tG.openStatic(e,t),onAskCommit:()=>tJ(e.gitAskCommitPrompt),onOpenFile:tK})});return(0,s.jsxs)("div",{className:"pw-app-shell grid w-screen overflow-hidden",style:{gridTemplateColumns:t4,background:"var(--dsw-bg-base)"},children:[(0,s.jsx)("div",{className:"min-h-0 overflow-hidden",style:eZ?{position:"fixed",inset:"0 auto 0 0",width:"min(86vw, 340px)",zIndex:90,background:"var(--dsw-sidebar-fill)",transform:eU?"translateX(0)":"translateX(-105%)",transition:"transform var(--ds-duration-normal) var(--ds-ease-in-out)",boxShadow:eU?"var(--dsw-elevation-prominent)":"none"}:{background:"var(--dsw-sidebar-fill)"},children:(0,s.jsx)(eQ,{sessions:t,sessionListError:l,onRetrySessionList:i,archivedSessions:d,archivedPaths:c,addedWorkspaces:f,removedWorkspaces:g,currentPath:p,groupBy:k,orderBy:S,setGroupBy:N,setOrderBy:L,collapsed:!eZ&&U,onToggleCollapse:eZ?()=>eK(!1):()=>{eo();let e=!U;J(e),localStorage.setItem("piweb.sidebarCollapsed",e?"1":"0")},onOpen:e=>{A(e),eK(!1)},onNew:()=>{eR(t.find(e=>e.path===p)?.cwd||eI||eX[0]||""),B()},onNewInWorkspace:e=>{eR(e),B()},onRename:tn,onFork:tm,onArchive:tM,onUnarchive:tT,onExport:e=>window.open(`/api/sessions/${encodeURIComponent(tL(e))}/export?format=jsonl`,"_blank"),getWorkspaceName:v,onRenameWorkspace:t$,onDeleteWorkspace:tz,onOpenSettings:()=>{ey(!0),eK(!1)},onAddWorkspace:()=>void M(),draftCwd:!u&&eI||null})}),(0,s.jsx)("div",{className:"pi-main flex min-h-0 min-w-0 flex-col",children:u?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"hairline-b px-5 pb-0 pt-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)("span",{className:"min-w-0 flex-1 truncate",style:{fontSize:14.5,fontWeight:600},children:t_}),(0,s.jsx)("button",{type:"button",className:"icon-btn",style:{width:26,height:26,color:eE?"var(--dsw-accent)":"var(--dsw-label-secondary)"},"aria-label":e.sideChat,title:e.sideChat,"aria-pressed":eE,"data-testid":"side-chat-toggle",onClick:()=>{eo(),ej(null),eT(e=>(e||eG(!1),!e))},children:(0,s.jsx)(tr,{size:16})}),(0,s.jsx)("button",{type:"button",className:"icon-btn",style:{width:30,height:30,background:eL&&!eC?"var(--dsw-active)":void 0},title:e.drawerPanel,"aria-label":e.drawerPanel,"data-testid":"drawer-toggle",onClick:()=>{if(eC){ej(null),eG(!0);return}eG()},children:(0,s.jsx)(a.$l,{size:15})})]}),tB?.required&&!tB.trusted&&(0,s.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-2 rounded-xl px-3 py-2",style:{fontSize:12.5,background:"var(--dsw-hover)",border:"0.5px solid var(--dsw-border-l2)"},role:"status",children:[(0,s.jsx)("span",{style:{color:"var(--dsw-warn)",fontWeight:600},children:"⚠"}),(0,s.jsx)("span",{className:"min-w-0 flex-1",children:"default-never"===tB.source||"remembered"===tB.source?e.projectTrustBannerNever:e.projectTrustBanner}),(0,s.jsx)("button",{className:"btn-primary-white",style:{height:26,padding:"0 10px",fontSize:12},onClick:()=>void tF(!0),children:e.projectTrustAllow}),"undecided"===tB.source&&(0,s.jsx)("button",{className:"btn-outline",style:{height:26,padding:"0 10px",fontSize:12},onClick:()=>void tF(!1),children:e.projectTrustDeny})]})]}),e8?(0,s.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col justify-end",children:[(0,s.jsx)(e_,{messages:m.messages,tools:m.tools,contextFiles:e8?.contextResources??e8?.contextFiles??[],isStreaming:ts,error:m.error,connected:m.connected,onClearError:H,retryNotice:m.retryNotice,compaction:m.compaction,onClearCompaction:O,workingMessage:m.workingMessage,stats:e8?.stats??null,trajectory:e8?.trajectory??[],cwd:tW,onOpenTrajectory:e9,onOpenFile:tK,onFork:tR,onEditMessage:tN,roundBadges:t1,onShowRound:t2},u??"none"),(0,s.jsx)("div",{className:"px-4 pb-3 pt-2",children:(0,s.jsxs)("div",{className:"mx-auto w-full",style:{maxWidth:"var(--dsh-composer-card-max-width)"},children:[(0,s.jsx)(Q,{draft:X.current.get(ea)??Y,onDraftChange:ev,onUploadError:e=>eg(ea,e),onUploadProgress:e=>ef(ea,e),uploadFailure:ec[ea],pendingUploadCount:ei[ea]??0,pendingSend:ep[ea]??!1,onSendPendingChange:e=>ex(ea,e),isStreaming:ts,contextPercent:e8?.contextUsage?.percent??null,contextTokens:e8?.contextUsage?.tokens??null,contextWindow:e8?.contextUsage?.contextWindow??null,contextSource:{systemChars:te,messages:m.messages,breakdown:e8?.contextBreakdown,loadFull:()=>R({cmd:"prepare"})},contextVisible:(e8?.messages?.length??0)>0,model:e8?.model,thinkingLevel:e8?.thinkingLevel,thinkingLevels:e8?.thinkingLevels??["off","minimal","low","medium","high","xhigh","max"],models:e2,providerNames:e0,authByProvider:e1,queue:e8?.queue??{steering:[],followUp:[]},commands:tP,cwd:tW,onCommand:tA,onSend:(e,t)=>R({cmd:"prompt",text:e,images:t}),onSteer:(e,t)=>R({cmd:"prompt",text:e,images:t,behavior:"steer"}),onFollowUp:(e,t)=>R({cmd:"prompt",text:e,images:t,behavior:"followUp"}),onAbort:()=>R({cmd:"abort"}),onSelectModel:(e,t)=>void R({cmd:"setModel",provider:e,modelId:t}),onSelectLevel:t=>void R({cmd:"setThinkingLevel",level:t}).then(r=>{r?.success&&r.data?.clamped&&_(e.thinkingClamped.replace("{requested}",t).replace("{level}",String(r.data.thinkingLevel)))}),onClearQueue:()=>R({cmd:"clearQueue"})},ea),(0,s.jsx)(eA,{stats:e8?.stats??null}),Object.keys(m.extensionStatuses).length>0&&(0,s.jsx)("div",{className:"mx-auto mt-0.5 flex w-full flex-wrap justify-center gap-x-3 px-4",style:{fontSize:12,color:"var(--dsw-label-caption)"},title:e.extensionStatus,children:Object.entries(m.extensionStatuses).map(([e,t])=>(0,s.jsx)("span",{children:t},e))})]})})]}):(0,s.jsx)("div",{className:"flex min-h-0 flex-1 items-center justify-center",children:(0,s.jsx)("span",{className:"piweb-spin",style:{width:18,height:18,borderRadius:"50%",border:"2px solid var(--dsw-border-l3)",borderTopColor:"var(--dsw-accent)",display:"inline-block"},"aria-label":"loading"})})]}):(0,s.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col",children:[(0,s.jsx)(tE,{draft:X.current.get(er)??Y,onDraftChange:ew,onUploadError:e=>eg(er,e),onUploadProgress:e=>ef(er,e),uploadFailure:ec[er],pendingUploadCount:ei[er]??0,pendingSend:ep[er]??!1,onSendPendingChange:e=>ex(er,e),commands:tP,onCommand:tA,cwd:eI,setCwd:eR,knownCwds:eX,getWorkspaceName:v,onSend:tI,models:e2,providerNames:e0,authByProvider:e1,addWorkspaceByPicker:M,heroChoice:e3,onSelectHeroModel:(e,t)=>{let r={provider:e,id:t};eB(r),eI&&localStorage.setItem(`${tv}${eI}`,JSON.stringify({provider:r.provider,id:r.id}));let s=e2.find(r=>r.provider===e&&r.id===t)?.thinkingLevels??[];eO&&!s.includes(eO)&&eD("")},heroModelLevels:e5,heroEffectiveThinking:e4,onSelectHeroThinking:eD}),m.error&&(0,s.jsx)("div",{className:"px-4 pb-3",children:(0,s.jsx)("button",{className:"mx-auto block w-full max-w-md rounded-xl px-3 py-2 text-left",style:{fontSize:12.5,background:"var(--dsw-danger)",color:"white"},onClick:H,role:"alert",children:m.error})})]})}),!eZ&&(t5?t6:(0,s.jsx)("div",{"aria-hidden":"true"})),!eZ&&!U&&(0,s.jsx)("div",{className:"fixed top-0 h-full w-2 cursor-col-resize",style:{left:Z-4,zIndex:40},onPointerDown:e6("sidebar")}),!eZ&&t5&&(0,s.jsx)("div",{className:"fixed top-0 h-full w-2 cursor-col-resize",style:{left:`calc(100vw - ${K}px - 4px)`,zIndex:40},onPointerDown:e6("right")}),eZ&&t5&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("button",{className:"fixed inset-0 z-[85]",style:{background:"var(--dsw-mask)"},onClick:()=>eC?ej(null):eE?eT(!1):eG(!1),"aria-label":e.close}),t6]}),tG.state.open&&(0,s.jsx)(tS,{state:tG.state,growth:tQ,cwd:tW,onClose:tG.close,onSelectTab:tG.select,onCloseTab:tG.closeTab,onOpen:tG.open,onReference:tJ,onOpenEditor:tK}),(0,s.jsx)(eW,{dialog:m.extensionDialogs[0]??null,onAnswer:(e,t)=>void W(e,t)}),m.growth.consent&&!m.extensionDialogs.length&&(0,s.jsx)(tk,{request:m.growth.consent,onAnswer:e=>void q(e)}),(0,s.jsx)(tl,{open:E,onConfirm:e=>void T(e),onCancel:$}),(0,s.jsx)(eq,{notices:m.extensionNotices,onDismiss:D,children:(0,s.jsx)(eJ,{})}),(0,s.jsx)(tb,{open:eb,onClose:()=>{ey(!1),I()},onOpenFileContent:(e,t)=>tG.openStatic(e,t),cwd:e8?.cwd||eI||eX[0]||"",toolPreset:m.toolPreset,onToolPresetChange:F,tools:e8?.tools??null,onSetTools:e=>{R({cmd:"setActiveTools",names:e})}}),eZ&&(0,s.jsx)("button",{className:"pi-mobile-menu icon-btn fixed left-3 top-3 z-[70]",style:{width:34,height:34,background:"var(--dsw-bg-elevated)",boxShadow:"var(--dsw-elevation-soft)"},onClick:()=>eK(!0),"aria-label":e.workspaces,children:(0,s.jsx)(a.ee,{size:17})}),eZ&&eU&&(0,s.jsx)("button",{className:"fixed inset-0 z-[80]",style:{background:"var(--dsw-mask)"},onClick:()=>eK(!1),"aria-label":e.close})]})}function tL(e){let t=new TextEncoder().encode(e),r="";for(let e of t)r+=String.fromCharCode(e);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function tM(e){let t=e.replace(/\\/g,"/");return t.split("/").filter(Boolean).pop()??t}function tE({draft:e,onDraftChange:t,onUploadError:r,onUploadProgress:i,uploadFailure:d,pendingUploadCount:c,pendingSend:u,onSendPendingChange:p,commands:m,onCommand:h,cwd:f,setCwd:g,knownCwds:x,getWorkspaceName:v,onSend:w,models:b,providerNames:y,authByProvider:C,addWorkspaceByPicker:j,heroChoice:k,onSelectHeroModel:S,heroModelLevels:N,heroEffectiveThinking:L,onSelectHeroThinking:M}){let{t:E}=(0,o.s)(),[T,$]=(0,n.useState)(!1),z=(0,n.useRef)(null);(0,n.useEffect)(()=>{if(!T)return;let e=e=>{z.current?.contains(e.target)||$(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[T]);let I=async()=>{let e=await j();e&&(g(e),$(!1))},R=f?v?v(f):tM(f):E.startWith;return(0,s.jsxs)("div",{className:"flex h-full min-h-0 flex-col items-center justify-center px-6",children:[(0,s.jsx)("div",{className:"mb-5 flex items-center justify-center gap-3",children:(0,s.jsx)(l.N,{size:40})}),(0,s.jsxs)("div",{className:"w-full flex flex-col items-stretch mx-auto",style:{maxWidth:"var(--dsh-composer-card-max-width)"},children:[(0,s.jsx)("div",{ref:z,className:"mb-3 flex items-center gap-3",style:{paddingLeft:7},children:(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsxs)("button",{className:"hero-chip","data-open":T,onClick:()=>$(e=>!e),children:[(0,s.jsx)(a.pH,{className:"hero-chip-icon",size:16}),(0,s.jsx)("span",{className:"max-w-[220px] truncate",suppressHydrationWarning:!0,children:R}),(0,s.jsx)("span",{className:"chevron",children:(0,s.jsx)(a.Cd,{size:14})})]}),T&&(0,s.jsxs)("div",{className:"popover absolute bottom-9 left-0 z-50 w-56 py-1",children:[x.map(e=>{let t=v?v(e):tM(e);return(0,s.jsxs)("button",{className:"flex w-full items-center gap-2.5 px-3.5 py-2 text-left transition-colors",style:{fontSize:13,background:f===e?"var(--dsw-accent-soft)":"transparent",color:f===e?"var(--dsw-accent)":"inherit"},onMouseEnter:t=>{f!==e&&(t.currentTarget.style.background="var(--dsw-hover)")},onMouseLeave:t=>{f!==e&&(t.currentTarget.style.background="transparent")},onClick:()=>{g(e),$(!1)},children:[(0,s.jsx)(a.pH,{size:14,style:{flex:"none",color:f===e?"var(--dsw-accent)":"var(--dsw-label-tertiary)"}}),(0,s.jsx)("span",{className:"min-w-0 flex-1 truncate",children:t}),f===e&&(0,s.jsx)(a.df,{size:13,style:{flex:"none"}})]},e)}),(0,s.jsx)("div",{className:"my-1",style:{borderTop:"0.5px solid var(--dsw-border-l2)"}}),(0,s.jsxs)("button",{className:"flex w-full items-center gap-2.5 px-3.5 py-2 text-left transition-colors",style:{fontSize:13},onMouseEnter:e=>e.currentTarget.style.background="var(--dsw-hover)",onMouseLeave:e=>e.currentTarget.style.background="transparent",onClick:I,children:[(0,s.jsx)(a.BA,{size:14,style:{flex:"none",color:"var(--dsw-label-tertiary)"}}),E.addWorkspace]})]})]})}),(0,s.jsx)(Q,{draft:e,onDraftChange:t,onUploadError:r,onUploadProgress:i,uploadFailure:d,pendingUploadCount:c,pendingSend:u,onSendPendingChange:p,cwd:f,commands:m,onCommand:h,isStreaming:!1,contextPercent:null,contextTokens:null,contextWindow:null,contextVisible:!1,model:k,thinkingLevel:L,thinkingLevels:N,models:b,providerNames:y,authByProvider:C,queue:{steering:[],followUp:[]},onSend:w,onSteer:()=>({success:!1}),onAbort:()=>{},onSelectModel:S,onSelectLevel:M})]})]})}},9591:(e,t,r)=>{"use strict";r.d(t,{M:()=>b,PG:()=>x,Ug:()=>g,fT:()=>f,x8:()=>n});var s=r(2115);let n=["piweb","pi"],l=()=>({phase:"idle",current:"",latest:"",behind:0,command:"",error:"",busy:!1}),a={loaded:!1,startId:null,targets:{piweb:l(),pi:l()}},o=null,i=new Set;function d(){for(let e of i)e()}function c(e,t){a={...a,targets:{...a.targets,[e]:{...a.targets[e],...t}}},d()}function u(e){let t={current:e.current,behind:e.behind??0,error:"",busy:!1};return e.updatedTo?{...t,phase:"updated",latest:e.updatedTo,command:""}:e.canUpdate?{...t,phase:"available",latest:e.latest,command:e.command??""}:{...t,phase:"latest",latest:e.latest,command:""}}class p extends Error{constructor(e,t){super(e),this.busy=t}}async function m(e,t){let r=await fetch("/api/update",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({target:e,action:t})}),s=await r.json();if(!s.success)throw new p(String(s.error??r.status),409===r.status);return s.data}function h(e){return{phase:"error",error:e instanceof Error?e.message:String(e),busy:e instanceof p&&e.busy}}function f(){return o??=(async()=>{try{let e=await fetch("/api/update",{cache:"no-store"}),t=await e.json();if(!t.success)throw Error(String(t.error));let r={...a.targets};for(let e of n){let s=t.data?.results?.[e];"idle"!==r[e].phase||!s||"error"in s||(r[e]={...r[e],...u(s)})}a={loaded:!0,startId:t.data?.startId??null,targets:r}}catch{a={...a,loaded:!0}}d()})()}async function g(e){c(e,{phase:"checking",error:"",busy:!1});try{c(e,u(await m(e,"check")))}catch(t){c(e,h(t))}}async function x(e){c(e,{phase:"updating",error:"",busy:!1});try{let t=await m(e,"update");return c(e,{phase:"updated",latest:t?.version||a.targets[e].latest,command:""}),!0}catch(t){return c(e,h(t)),!1}}function v(e){return i.add(e),()=>{i.delete(e)}}let w=()=>a;function b(){return(0,s.useSyncExternalStore)(v,w,w)}},9665:(e,t,r)=>{"use strict";r.d(t,{NK:()=>o,f3:()=>l,wY:()=>a});var s=r(3613);let n={ts:"typescript",tsx:"typescript",mts:"typescript",cts:"typescript",js:"javascript",jsx:"javascript",mjs:"javascript",cjs:"javascript",json:"json",jsonc:"json",css:"css",scss:"scss",less:"less",html:"xml",htm:"xml",xml:"xml",svg:"xml",vue:"xml",md:"markdown",mdx:"markdown",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",kt:"kotlin",c:"c",h:"c",cpp:"cpp",cc:"cpp",hpp:"cpp",cs:"csharp",sh:"bash",bash:"bash",zsh:"bash",ps1:"powershell",psm1:"powershell",yml:"yaml",yaml:"yaml",toml:"ini",ini:"ini",cfg:"ini",env:"ini",sql:"sql",php:"php",swift:"swift",lua:"lua",r:"r",pl:"perl",diff:"diff",patch:"diff",makefile:"makefile"};function l(e){if(!e)return;let t=n[function(e){let t=(e.replace(/\\/g,"/").split("/").pop()??e).toLowerCase();if("makefile"===t)return"makefile";if("dockerfile"===t)return"dockerfile";let r=t.lastIndexOf(".");return r>=0?t.slice(r+1):""}(e)];return t&&s.A.getLanguage(t)?t:void 0}function a(e,t){if(e.length>122880)return null;try{if(t&&s.A.getLanguage(t))return s.A.highlight(e,{language:t,ignoreIllegals:!0}).value;if(e.length<30720)return s.A.highlightAuto(e).value}catch{}return null}function o(e,t){if(!e||e.length>2e3)return null;try{return s.A.highlight(e,{language:t,ignoreIllegals:!0}).value}catch{return null}}},9992:(e,t,r)=>{"use strict";r.d(t,{$l:()=>i,BA:()=>M,BF:()=>A,Bh:()=>u,Cd:()=>C,Ct:()=>m,DI:()=>R,Ec:()=>a,FG:()=>l,FQ:()=>y,Je:()=>F,Jz:()=>w,NA:()=>W,NQ:()=>E,P9:()=>N,PP:()=>P,PT:()=>g,QY:()=>k,RX:()=>x,Vd:()=>v,Xh:()=>d,Yq:()=>O,ZL:()=>q,an:()=>H,bQ:()=>j,df:()=>c,ee:()=>o,f5:()=>n,i7:()=>I,lx:()=>B,o_:()=>f,pH:()=>L,q2:()=>T,r$:()=>h,sB:()=>_,sS:()=>p,se:()=>z,tq:()=>$,tr:()=>S,uN:()=>b,yD:()=>D});var s=r(5155);let n=({size:e=16,...t})=>(0,s.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,s.jsx)("path",{d:"M8.00003 0.3237C3.76075 0.3237 0.32373 3.76072 0.32373 8C0.32373 9.17603 0.589121 10.2922 1.0632 11.2901L1.35291 11.8989L2.5705 11.3205L2.28079 10.7117C1.89079 9.89074 1.67301 8.97167 1.67301 8C1.67301 4.50546 4.50549 1.67298 8.00003 1.67298C11.4946 1.67298 14.3271 4.50546 14.3271 8C14.3271 11.4945 11.4946 14.327 8.00003 14.327C7.28473 14.327 6.76077 14.277 6.29621 14.1487C5.83857 14.0224 5.40441 13.8109 4.88514 13.4488C4.12569 12.919 3.03778 12.7316 2.141 13.2978L2.12682 13.307L2.11264 13.3171L1.34886 13.854L1.79659 15.188L2.86122 14.4384C3.19068 14.2305 3.68325 14.2542 4.11326 14.5539C4.72789 14.9826 5.30042 15.2724 5.93762 15.4484C6.56803 15.6224 7.22776 15.6763 8.00003 15.6763C12.2393 15.6763 15.6763 12.2393 15.6763 8C15.6763 3.76072 12.2393 0.3237 8.00003 0.3237ZM7.32033 4.82535V7.32536H4.82538V8.67464H7.32033V11.1747H8.6696V8.67464H11.1747V7.32536H8.6696V4.82535H7.32033Z",fill:"currentColor"})}),l=({size:e=16,...t})=>(0,s.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:[(0,s.jsx)("path",{d:"M11.894845 6.647401C11.894845 3.725463 9.534486 1.356779 6.623219 1.35657C3.711786 1.35657 1.351635 3.725338 1.351635 6.647401C1.351843 9.569296 3.711911 11.938273 6.623219 11.938273C9.534361 11.938064 11.894637 9.569171 11.894845 6.647401ZM13.245462 6.647401C13.245254 10.317935 10.280401 13.293613 6.623219 13.293821C2.965871 13.293821 0.000204 10.31806 0 6.647401C0 2.976574 2.965746 0 6.623219 0C10.280526 0.000205 13.245462 2.9767 13.245462 6.647401Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M16.000417 15.041079L15.044449 16.000433L11.530434 12.473588L12.486298 11.514234L16.000417 15.041079Z",fill:"currentColor"})]}),a=({size:e=16,...t})=>(0,s.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:[(0,s.jsx)("path",{d:"M14.0861 5.51366C13.8717 5.0575 13.588 4.58542 13.2889 4.18108C13.208 4.07172 13.1596 4.04373 13.0243 4.03054C12.4277 3.97255 11.8245 4.05527 11.2269 3.9972C10.7224 3.94816 10.3133 3.71661 10.0115 3.30919C9.66986 2.84777 9.43973 2.31343 9.09824 1.85234C9.01771 1.74365 8.96805 1.71589 8.83354 1.70282C8.29432 1.65044 7.70402 1.65061 7.16656 1.70282C7.03205 1.71589 6.98239 1.74365 6.90186 1.85234C6.56067 2.31303 6.33025 2.84774 5.98855 3.30919C5.68681 3.71661 5.27774 3.94816 4.77317 3.9972C4.17564 4.05527 3.57239 3.97255 2.97585 4.03054C2.84046 4.04373 2.79208 4.07172 2.71115 4.18108C2.41212 4.58542 2.12835 5.0575 1.91403 5.51366C1.85299 5.64359 1.85286 5.7018 1.91403 5.8319C2.14865 6.33077 2.49748 6.76892 2.73237 7.26854C2.9594 7.7515 2.96041 8.24717 2.73338 8.73044C2.49837 9.23061 2.14891 9.66837 1.91403 10.1681C1.85291 10.2982 1.85299 10.3564 1.91403 10.4863C2.12856 10.9429 2.41185 11.4142 2.71115 11.8189C2.79208 11.9283 2.84046 11.9563 2.97585 11.9694C3.57239 12.0274 4.17564 11.9447 4.77317 12.0028C5.27774 12.0518 5.68681 12.2834 5.98855 12.6908C6.33024 13.1522 6.56037 13.6866 6.90186 14.1476C6.98239 14.2563 7.03205 14.2841 7.16656 14.2972C7.70402 14.3494 8.29432 14.3495 8.83354 14.2972C8.96805 14.2841 9.01771 14.2563 9.09824 14.1476C9.43944 13.687 9.66985 13.1522 10.0115 12.6908C10.3133 12.2834 10.7224 12.0518 11.2269 12.0028C11.8244 11.9447 12.4271 12.0275 13.0243 11.9694C13.1596 11.9563 13.208 11.9283 13.2889 11.8189C13.5891 11.4131 13.872 10.942 14.0861 10.4863C14.1471 10.3564 14.1472 10.2982 14.0861 10.1681C13.8513 9.66861 13.5017 9.23061 13.2667 8.73044C13.0397 8.24717 13.0407 7.7515 13.2677 7.26854C13.5026 6.7689 13.8513 6.33106 14.0861 5.8319C14.1472 5.7018 14.1471 5.64359 14.0861 5.51366ZM15.3035 6.40373C15.0685 6.90359 14.7188 7.34119 14.4841 7.84037C14.4231 7.97025 14.423 8.02855 14.4841 8.15861C14.7189 8.65833 15.0685 9.09611 15.3035 9.59626C15.5308 10.0801 15.5308 10.5744 15.3035 11.0582C15.052 11.5933 14.7225 12.1426 14.37 12.6191C14.0685 13.0265 13.6581 13.259 13.1536 13.3081C12.5566 13.366 11.9541 13.2835 11.3573 13.3414C11.2228 13.3545 11.1731 13.3823 11.0926 13.491C10.7511 13.9521 10.521 14.4864 10.1793 14.9478C9.87828 15.3542 9.46719 15.5869 8.96387 15.6358C8.34008 15.6964 7.66194 15.6966 7.03623 15.6358C6.53291 15.5869 6.12182 15.3542 5.82084 14.9478C5.47911 14.4863 5.24878 13.9517 4.90753 13.491C4.82701 13.3823 4.77734 13.3545 4.64284 13.3414C4.04647 13.2835 3.44373 13.366 2.84653 13.3081C2.34201 13.259 1.93164 13.0265 1.63013 12.6191C1.27867 12.144 0.948453 11.5941 0.696621 11.0582C0.469315 10.5744 0.469279 10.0801 0.696621 9.59626C0.931628 9.09613 1.2813 8.65807 1.51597 8.15861C1.57708 8.02855 1.57702 7.97025 1.51597 7.84037C1.28117 7.34095 0.931635 6.9036 0.696621 6.40373C0.469213 5.91992 0.469367 5.42562 0.696621 4.94183C0.948441 4.40587 1.27868 3.85598 1.63013 3.38092C1.93164 2.97349 2.34201 2.74095 2.84653 2.6919C3.44353 2.63397 4.04599 2.71649 4.64284 2.65856C4.77734 2.64549 4.82701 2.61774 4.90753 2.50904C5.24905 2.04792 5.47913 1.51362 5.82084 1.05219C6.12182 0.645806 6.53291 0.413119 7.03623 0.364178C7.66002 0.303556 8.33816 0.303369 8.96387 0.364178C9.46719 0.413119 9.87828 0.645806 10.1793 1.05219C10.521 1.51365 10.7513 2.04828 11.0926 2.50904C11.1731 2.61774 11.2228 2.64549 11.3573 2.65856C11.9541 2.71649 12.5566 2.63397 13.1536 2.6919C13.6581 2.74095 14.0685 2.97349 14.37 3.38092C14.7214 3.85598 15.0517 4.40587 15.3035 4.94183C15.5307 5.42562 15.5309 5.91992 15.3035 6.40373Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M9.13764 7.99999C9.13764 7.3715 8.62855 6.8624 8.00005 6.8624C7.37155 6.8624 6.86246 7.3715 6.86246 7.99999C6.86246 8.62849 7.37155 9.13759 8.00005 9.13759C8.62855 9.13759 9.13764 8.62849 9.13764 7.99999ZM10.4834 7.99999C10.4834 9.37126 9.37132 10.4833 8.00005 10.4833C6.62878 10.4833 5.51674 9.37126 5.51674 7.99999C5.51674 6.62873 6.62878 5.51669 8.00005 5.51669C9.37132 5.51669 10.4834 6.62873 10.4834 7.99999Z",fill:"currentColor"})]}),o=({size:e=16,...t})=>(0,s.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,s.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.67272 0.522841C10.8339 0.522841 11.76 0.522714 12.4963 0.602493C13.2453 0.683657 13.8789 0.854248 14.4264 1.25197C14.7504 1.48739 15.0355 1.77247 15.2709 2.0965C15.6686 2.64394 15.8392 3.27758 15.9204 4.02655C16.0002 4.7629 16 5.68895 16 6.85014V9.14986C16 10.3111 16.0002 11.2371 15.9204 11.9735C15.8392 12.7224 15.6686 13.3561 15.2709 13.9035C15.0355 14.2275 14.7504 14.5126 14.4264 14.748C13.8789 15.1458 13.2453 15.3163 12.4963 15.3975C11.76 15.4773 10.8339 15.4772 9.67272 15.4772H6.3273C5.16611 15.4772 4.24006 15.4773 3.50371 15.3975C2.75474 15.3163 2.1211 15.1458 1.57366 14.748C1.24963 14.5126 0.964549 14.2275 0.729131 13.9035C0.331407 13.3561 0.160817 12.7224 0.0796529 11.9735C-0.000126137 11.2371 1.25338e-09 10.3111 1.25338e-09 9.14986V6.85014C1.25329e-09 5.68895 -0.000126137 4.7629 0.0796529 4.02655C0.160817 3.27758 0.331407 2.64394 0.729131 2.0965C0.964549 1.77247 1.24963 1.48739 1.57366 1.25197C2.1211 0.854248 2.75474 0.683657 3.50371 0.602493C4.24006 0.522714 5.16611 0.522841 6.3273 0.522841H9.67272ZM5.54303 1.88715V14.1118C5.78636 14.1128 6.04709 14.1169 6.3273 14.1169H9.67272C10.8639 14.1169 11.7032 14.1164 12.3493 14.0465C12.9824 13.9779 13.3497 13.8494 13.6268 13.6482C13.8354 13.4966 14.0195 13.3125 14.1711 13.1039C14.3723 12.8268 14.5007 12.4595 14.5693 11.8264C14.6393 11.1803 14.6398 10.341 14.6398 9.14986V6.85014C14.6398 5.65896 14.6393 4.81967 14.5693 4.1736C14.5007 3.54048 14.3723 3.17318 14.1711 2.89609C14.0195 2.68747 13.8354 2.50337 13.6268 2.35179C13.3497 2.1506 12.9824 2.02212 12.3493 1.95353C11.7032 1.88358 10.8639 1.88307 9.67272 1.88307H6.3273C6.04709 1.88307 5.78636 1.8862 5.54303 1.88715ZM4.1828 1.91166C3.99125 1.9216 3.8148 1.93577 3.65076 1.95353C3.01764 2.02212 2.65034 2.1506 2.37325 2.35179C2.16463 2.50337 1.98052 2.68747 1.82895 2.89609C1.62776 3.17318 1.49928 3.54048 1.43069 4.1736C1.36074 4.81967 1.36023 5.65896 1.36023 6.85014V9.14986C1.36023 10.341 1.36074 11.1803 1.43069 11.8264C1.49928 12.4595 1.62776 12.8268 1.82895 13.1039C1.98052 13.3125 2.16463 13.4966 2.37325 13.6482C2.65034 13.8494 3.01764 13.9779 3.65076 14.0465C3.81478 14.0642 3.99127 14.0774 4.1828 14.0873V1.91166Z",fill:"currentColor"})}),i=({size:e=16,style:t,...r})=>(0,s.jsx)(o,{size:e,style:{transform:"scaleX(-1)",...t},...r}),d=({size:e=16,...t})=>(0,s.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,s.jsx)("path",{d:"M8.64453 1.5V7.34961H14.5V8.65039H8.64453V14.5H7.34473V8.65039H1.5V7.34961H7.34473V1.5H8.64453Z",fill:"currentColor"})}),c=({size:e=14,...t})=>(0,s.jsx)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",...t,children:(0,s.jsx)("path",{d:"M11.5635 4.58984L7.61426 9.07715C7.35154 9.37561 7.11346 9.64812 6.89453 9.84668C6.66593 10.054 6.38519 10.2506 6.01465 10.3164C5.82079 10.3508 5.62207 10.3529 5.42773 10.3213C5.0561 10.2609 4.77266 10.0674 4.54102 9.86328C4.31926 9.66791 4.07752 9.39911 3.81055 9.10449L2.44531 7.59863L3.55664 6.59082L4.92188 8.09766C5.21256 8.41844 5.38878 8.61191 5.53223 8.73828C5.61022 8.80699 5.65253 8.83192 5.66895 8.83984C5.69648 8.84429 5.72449 8.84467 5.75195 8.83984C5.72657 8.84451 5.75564 8.85422 5.88672 8.73535C6.02833 8.60692 6.20225 8.41088 6.48828 8.08594L10.4385 3.59961L11.5635 4.58984Z",fill:"currentColor"})}),u=({size:e=14,...t})=>(0,s.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:[(0,s.jsx)("path",{d:"M14.1168 13.197L13.197 14.1167L1.8833 2.80303L2.80309 1.88324L14.1168 13.197Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M13.197 1.88326L14.1168 2.80305L2.80309 14.1168L1.8833 13.197L13.197 1.88326Z",fill:"currentColor"})]}),p=({size:e=16,...t})=>(0,s.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,s.jsx)("path",{d:"M6.14929 4.02032C7.11197 4.02032 7.87983 4.02016 8.49597 4.07598C9.12128 4.13269 9.65792 4.25188 10.1415 4.53106C10.7202 4.8653 11.2008 5.3459 11.535 5.92462C11.8142 6.40818 11.9334 6.94481 11.9901 7.57012C12.0459 8.18625 12.0458 8.95419 12.0458 9.9168C12.0458 10.8795 12.0459 11.6473 11.9901 12.2635C11.9334 12.8888 11.8142 13.4254 11.535 13.909C11.2008 14.4877 10.7202 14.9683 10.1415 15.3025C9.65792 15.5817 9.12128 15.7009 8.49597 15.7576C7.87984 15.8134 7.11196 15.8133 6.14929 15.8133C5.18667 15.8133 4.41874 15.8134 3.80261 15.7576C3.1773 15.7009 2.64067 15.5817 2.1571 15.3025C1.5784 14.9683 1.09778 14.4877 0.76355 13.909C0.484366 13.4254 0.365184 12.8888 0.308472 12.2635C0.252649 11.6473 0.252808 10.8795 0.252808 9.9168C0.252808 8.95418 0.252664 8.18625 0.308472 7.57012C0.365184 6.94481 0.484366 6.40818 0.76355 5.92462C1.09777 5.34589 1.57839 4.86529 2.1571 4.53106C2.64067 4.25188 3.1773 4.13269 3.80261 4.07598C4.41874 4.02017 5.18666 4.02032 6.14929 4.02032ZM6.14929 5.37774C5.16181 5.37774 4.46634 5.37761 3.92566 5.42657C3.39434 5.47472 3.07859 5.56574 2.83582 5.70587C2.4632 5.92106 2.15354 6.2307 1.93835 6.60333C1.79823 6.8461 1.70721 7.16185 1.65906 7.69317C1.6101 8.23385 1.61023 8.92933 1.61023 9.9168C1.61023 10.9043 1.61009 11.5998 1.65906 12.1404C1.70721 12.6717 1.79823 12.9875 1.93835 13.2303C2.15356 13.6029 2.46321 13.9126 2.83582 14.1277C3.07859 14.2679 3.39434 14.3589 3.92566 14.407C4.46634 14.456 5.16182 14.4559 6.14929 14.4559C7.13682 14.4559 7.83224 14.456 8.37292 14.407C8.90425 14.3589 9.21999 14.2679 9.46277 14.1277C9.83535 13.9126 10.145 13.6029 10.3602 13.2303C10.5004 12.9875 10.5914 12.6717 10.6395 12.1404C10.6885 11.5998 10.6884 10.9043 10.6884 9.9168C10.6884 8.92934 10.6885 8.23384 10.6395 7.69317C10.5914 7.16185 10.5004 6.8461 10.3602 6.60333C10.1451 6.23071 9.83536 5.92107 9.46277 5.70587C9.21999 5.56574 8.90424 5.47472 8.37292 5.42657C7.83224 5.3776 7.13682 5.37774 6.14929 5.37774ZM9.80164 0.367975C10.7638 0.367975 11.5314 0.36788 12.1473 0.423639C12.7726 0.480307 13.3093 0.598759 13.7928 0.877741C14.3717 1.21192 14.8521 1.69355 15.1864 2.27227C15.4655 2.75574 15.5857 3.29164 15.6425 3.9168C15.6983 4.53301 15.6971 5.3016 15.6971 6.26446V7.82989C15.6971 8.29264 15.6989 8.58993 15.6649 8.84844C15.4668 10.3525 14.401 11.5738 12.9833 11.9988V10.5467C13.6973 10.1903 14.2105 9.49662 14.3192 8.67169C14.3387 8.52347 14.3407 8.3358 14.3407 7.82989V6.26446C14.3407 5.27706 14.3398 4.58149 14.2909 4.04083C14.2428 3.50968 14.1526 3.19372 14.0126 2.95098C13.7974 2.57849 13.4876 2.26869 13.1151 2.05352C12.8724 1.91347 12.5564 1.82237 12.0253 1.77423C11.4847 1.72528 10.7888 1.7254 9.80164 1.7254H7.71472C6.7562 1.72558 5.92665 2.27697 5.52332 3.07891H4.07019C4.54221 1.51132 5.9932 0.368186 7.71472 0.367975H9.80164Z",fill:"currentColor"})}),m=({size:e=14,...t})=>(0,s.jsx)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",...t,children:(0,s.jsx)("path",{d:"M1.272 6.21348C1.70645 3.08888 4.59169 0.908064 7.71634 1.34239C8.95495 1.51469 10.0438 2.07331 10.8814 2.87755L11.9458 1.81407C12.1347 1.6255 12.4572 1.75911 12.4575 2.02598V5.08751C12.4574 5.25303 12.3233 5.38731 12.1577 5.38731H9.0972C8.82993 5.38731 8.69629 5.06361 8.88528 4.87462L10.0327 3.72618C9.3732 3.09994 8.52006 2.66569 7.5513 2.53087C5.08313 2.18779 2.80376 3.91044 2.46048 6.37852C2.11747 8.84665 3.84009 11.1261 6.30814 11.4693C8.77612 11.8121 11.0557 10.0896 11.399 7.62169L11.9937 7.70372L12.5874 7.78673C12.153 10.9112 9.26756 13.0919 6.1431 12.6578C3.01854 12.2234 0.837738 9.33809 1.272 6.21348Z",fill:"currentColor"})}),h=({size:e=16,...t})=>(0,s.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,s.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M13.0762 1.37207C14.0846 1.37228 14.9021 2.19077 14.9023 3.19922C14.9022 4.20772 14.0847 5.02518 13.0762 5.02539C12.2967 5.02539 11.6325 4.53691 11.3701 3.84961H4.35547C4.79397 4.26458 5.15861 4.7644 5.41699 5.33496L7.10645 9.06738C7.88526 10.7875 9.55104 11.9228 11.4189 12.0371C11.7085 11.4109 12.3411 10.9756 13.0762 10.9756C14.0843 10.9759 14.9023 11.7936 14.9023 12.8018C14.9023 13.81 14.0843 14.6277 13.0762 14.6279C12.2534 14.6279 11.5574 14.0832 11.3291 13.335C8.9868 13.1879 6.89981 11.7612 5.92285 9.60352L4.23242 5.87109C3.67503 4.64033 2.44878 3.84961 1.09766 3.84961V2.54883C1.10665 2.54883 1.11601 2.54975 1.125 2.5498L11.3701 2.54883C11.6326 1.86151 12.2969 1.37207 13.0762 1.37207ZM13.0762 12.2764C12.7858 12.2764 12.5508 12.5114 12.5508 12.8018C12.5508 13.0921 12.7858 13.3281 13.0762 13.3281C13.3664 13.3279 13.6025 13.092 13.6025 12.8018C13.6025 12.5115 13.3664 12.2766 13.0762 12.2764ZM13.0762 2.67285C12.7855 2.67285 12.55 2.90861 12.5498 3.19922C12.5499 3.48987 12.7855 3.72559 13.0762 3.72559C13.3667 3.72538 13.6024 3.48975 13.6025 3.19922C13.6023 2.90874 13.3666 2.67306 13.0762 2.67285Z",fill:"currentColor"})}),f=({size:e=16,...t})=>(0,s.jsxs)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",...t,children:[(0,s.jsx)("circle",{cx:"12",cy:"12",r:"4"}),(0,s.jsx)("path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94"})]}),g=({size:e=16,...t})=>(0,s.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,s.jsx)("path",{d:"M9.94076 1.34942C10.7047 0.90231 11.6503 0.902415 12.4143 1.34942C12.7061 1.52015 12.9688 1.79118 13.3104 2.13284C13.6521 2.47448 13.9231 2.73721 14.0939 3.02894C14.5408 3.79294 14.5409 4.73856 14.0939 5.50251C13.9231 5.79415 13.652 6.05704 13.3104 6.39861L6.65932 13.0497C6.28068 13.4284 6.00695 13.7108 5.66543 13.9097C5.32391 14.1085 4.94315 14.2074 4.42705 14.3498L3.24394 14.6761C2.77527 14.8054 2.34538 14.9262 2.00131 14.9684C1.65196 15.0112 1.17964 15.0013 0.810764 14.6325C0.441921 14.2637 0.432107 13.7913 0.47486 13.442C0.517035 13.0979 0.6379 12.668 0.767181 12.1993L1.09352 11.0162C1.23588 10.5001 1.33481 10.1193 1.5336 9.77784C1.7325 9.43632 2.0149 9.1626 2.39355 8.78395L9.04466 2.13284C9.38625 1.79126 9.64911 1.52016 9.94076 1.34942ZM15.5427 14.8398H7.55223L8.96707 13.425H15.5427V14.8398ZM3.39382 9.78422C2.965 10.213 2.84244 10.3436 2.75709 10.49C2.67183 10.6366 2.61862 10.8079 2.45733 11.3925L2.13099 12.5756C2.00183 13.0439 1.92194 13.3419 1.88863 13.5536C2.10041 13.5204 2.39872 13.4416 2.86764 13.3123L4.05075 12.9859C4.63544 12.8246 4.80669 12.7715 4.95323 12.6862C5.09968 12.6008 5.23022 12.4783 5.65905 12.0494L10.721 6.98644L8.45577 4.72121L3.39382 9.78422ZM11.7 2.57079C11.3774 2.38198 10.9777 2.38198 10.6551 2.57079C10.5602 2.62647 10.4487 2.72931 10.0449 3.13311L9.45604 3.72094L11.7213 5.98617L12.3102 5.39833C12.7139 4.99457 12.8168 4.88307 12.8725 4.78818C13.0613 4.46561 13.0612 4.06585 12.8725 3.74326C12.8169 3.64827 12.7146 3.53752 12.3102 3.13311C11.9057 2.72863 11.795 2.6264 11.7 2.57079Z",fill:"currentColor"})}),x=({size:e=14,...t})=>(0,s.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",...t,children:[(0,s.jsx)("path",{d:"M7.06431 5.93342C7.68763 5.93342 8.19307 6.43904 8.19322 7.06233C8.19322 7.68573 7.68772 8.19123 7.06431 8.19123C6.44099 8.19113 5.9354 7.68567 5.9354 7.06233C5.93555 6.43911 6.44108 5.93353 7.06431 5.93342Z",fill:"currentColor"}),(0,s.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.6815 0.963693C10.1169 0.447019 11.6266 0.374829 12.5633 1.31135C13.5 2.24805 13.4277 3.75776 12.911 5.19319C12.7126 5.74431 12.4386 6.31796 12.0965 6.89729C12.4969 7.54638 12.8141 8.19018 13.036 8.80647C13.5527 10.2419 13.6251 11.7516 12.6883 12.6883C11.7516 13.625 10.242 13.5527 8.8065 13.036C8.19022 12.8141 7.54641 12.4969 6.89732 12.0965C6.31797 12.4386 5.74435 12.7125 5.19322 12.911C3.75777 13.4276 2.2481 13.5 1.31138 12.5633C0.374859 11.6266 0.447049 10.1168 0.963724 8.68147C1.17185 8.10338 1.46321 7.50063 1.82896 6.8924C1.52182 6.35711 1.27235 5.82825 1.08872 5.31819C0.572068 3.88278 0.499714 2.37306 1.43638 1.43635C2.37308 0.499655 3.8828 0.572044 5.31822 1.08869C5.82828 1.27232 6.35715 1.5218 6.89243 1.82893C7.50066 1.46318 8.10341 1.17181 8.6815 0.963693ZM11.3573 8.01154C10.9083 8.62253 10.3901 9.22873 9.80943 9.8094C9.22877 10.3901 8.62255 10.9083 8.01158 11.3572C8.4257 11.5841 8.8287 11.7688 9.21275 11.9071C10.5456 12.3868 11.4246 12.2547 11.8397 11.8397C12.2548 11.4246 12.3869 10.5456 11.9071 9.21272C11.7688 8.82866 11.5841 8.42568 11.3573 8.01154ZM2.56529 8.02912C2.37344 8.39322 2.21495 8.74796 2.09263 9.08772C1.61291 10.4204 1.74512 11.2995 2.16001 11.7147C2.57505 12.1297 3.45415 12.2618 4.78697 11.7821C5.11057 11.6656 5.44786 11.5164 5.7938 11.3367C5.249 10.9223 4.70922 10.4533 4.19029 9.9344C3.57578 9.31987 3.03169 8.67633 2.56529 8.02912ZM6.90708 3.2469C6.24065 3.70479 5.5646 4.26321 4.91392 4.91389C4.26325 5.56456 3.70482 6.24063 3.24693 6.90705C3.72674 7.63325 4.32777 8.37459 5.03892 9.08576C5.64943 9.69627 6.28183 10.2265 6.90806 10.6678C7.59368 10.2025 8.2908 9.63076 8.96079 8.96076C9.6308 8.29075 10.2025 7.59366 10.6678 6.90803C10.2265 6.2818 9.69631 5.6494 9.08579 5.03889C8.37462 4.32773 7.63328 3.72672 6.90708 3.2469ZM11.7147 2.15998C11.2996 1.74509 10.4204 1.61288 9.08775 2.0926C8.74835 2.21479 8.39382 2.37271 8.03013 2.56428C8.67728 3.03065 9.31995 3.5758 9.93443 4.19026C10.4534 4.7092 10.9223 5.24896 11.3368 5.79377C11.5164 5.44785 11.6656 5.11052 11.7821 4.78694C12.2618 3.45416 12.1297 2.57502 11.7147 2.15998ZM4.91197 2.2176C3.57922 1.73788 2.70004 1.86995 2.28501 2.28498C1.87001 2.70003 1.73791 3.5792 2.21763 4.91194C2.31709 5.18822 2.44112 5.47427 2.58677 5.7674C3.01931 5.1887 3.51474 4.6158 4.06529 4.06526C4.61584 3.5147 5.18872 3.01928 5.76743 2.58674C5.47431 2.4411 5.18824 2.31706 4.91197 2.2176Z",fill:"currentColor"})]}),v=({size:e=16,...t})=>(0,s.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,s.jsx)("path",{d:"M14.4782 4.84067L14.2138 10.1152C14.1102 12.1872 14.067 13.0115 13.3866 13.9607C13.1044 14.3546 12.7498 14.6912 12.3424 14.9535C11.8239 15.2872 11.2415 15.4316 10.5585 15.4998C9.88727 15.5668 9.04946 15.5656 7.99998 15.5656C6.95051 15.5656 6.1127 15.5668 5.44142 15.4998C4.75851 15.4316 4.17602 15.2872 3.65753 14.9535C3.25012 14.6912 2.89559 14.3546 2.61332 13.9607C1.93296 13.0115 1.88979 12.1872 1.78619 10.1152L1.52179 4.84067L2.89006 4.77277L3.15343 10.0463C3.26221 12.2218 3.32452 12.6015 3.72646 13.1624C3.90825 13.4161 4.13686 13.6334 4.39927 13.8023C4.66204 13.9714 5.00263 14.0792 5.57825 14.1367C6.16562 14.1953 6.92298 14.1963 7.99998 14.1963C9.07699 14.1963 9.83434 14.1953 10.4217 14.1367C10.9973 14.0792 11.3379 13.9714 11.6007 13.8023C11.8631 13.6334 12.0917 13.4161 12.2735 13.1624C12.6755 12.6015 12.7378 12.2218 12.8465 10.0463L13.1099 4.77277L14.4782 4.84067ZM5.43011 6.22849H6.7994V11.3909H5.43011V6.22849ZM9.20056 6.22849H10.5699V11.3909H9.20056V6.22849ZM8.53597 0.434431C9.17976 0.434431 9.6522 0.426926 10.0966 0.571258C10.2357 0.616451 10.3717 0.672554 10.502 0.738948C10.9182 0.951107 11.2464 1.29099 11.7015 1.74612L12.4978 2.54136H15.3742V3.91169H0.625732V2.54136H3.50218L4.29845 1.74612C4.75358 1.29099 5.08174 0.951107 5.49801 0.738948C5.62831 0.672554 5.76425 0.616451 5.90334 0.571258C6.34776 0.426926 6.82021 0.434431 7.46399 0.434431H8.53597ZM7.46399 1.80476C6.73208 1.80476 6.51641 1.81187 6.32617 1.87369C6.25545 1.89667 6.18668 1.92533 6.12041 1.95907C5.96398 2.03878 5.82348 2.16253 5.44142 2.54136H10.5585C10.1765 2.16253 10.036 2.03878 9.87955 1.95907C9.81329 1.92533 9.74452 1.89667 9.6738 1.87369C9.48356 1.81187 9.26789 1.80476 8.53597 1.80476H7.46399Z",fill:"currentColor"})}),w=({size:e=14,...t})=>(0,s.jsx)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",...t,children:(0,s.jsx)("path",{d:"M7.24707 1.01771C7.52897 1.07653 7.77619 1.19694 8.00391 1.38001C8.19202 1.53136 8.39884 1.73784 8.61914 1.95814L12.6396 5.9806L11.6299 6.99134L7.71484 3.0763V13.0001H6.28516V3.0763L2.36914 6.99134L1.35938 5.9806L5.38086 1.95814C5.60116 1.73784 5.80798 1.53136 5.99609 1.38001C6.19476 1.22027 6.4385 1.06739 6.75195 1.01771C6.91296 0.992304 7.07471 0.997504 7.24707 1.01771Z",fill:"currentColor"})}),b=({size:e=16,...t})=>(0,s.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,s.jsx)("path",{d:"M2 4.88C2 3.68009 2 3.08013 2.30557 2.65954C2.40426 2.52371 2.52371 2.40426 2.65954 2.30557C3.08013 2 3.68009 2 4.88 2H11.12C12.3199 2 12.9199 2 13.3405 2.30557C13.4763 2.40426 13.5957 2.52371 13.6944 2.65954C14 3.08013 14 3.68009 14 4.88V11.12C14 12.3199 14 12.9199 13.6944 13.3405C13.5957 13.4763 13.4763 13.5957 13.3405 13.6944C12.9199 14 12.3199 14 11.12 14H4.88C3.68009 14 3.08013 14 2.65954 13.6944C2.52371 13.5957 2.40426 13.4763 2.30557 13.3405C2 12.9199 2 12.3199 2 11.12V4.88Z",fill:"currentColor"})}),y=({size:e=16,...t})=>(0,s.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,s.jsx)("path",{d:"M15.3695 11.411L15.1234 12.8866C14.8869 14.3042 13.6603 15.3436 12.223 15.3436H3.77673C2.33958 15.3434 1.1128 14.3042 0.876343 12.8866L0.630249 11.411L2.05408 11.1747L2.29919 12.6493C2.41973 13.3713 3.04475 13.9001 3.77673 13.9003H12.223C12.9551 13.9002 13.58 13.3713 13.7006 12.6493L13.9457 11.1747L15.3695 11.411ZM8.72205 8.994C8.77717 8.93934 8.83792 8.88106 8.90271 8.81627L12.4828 5.23424L13.5043 6.25572L9.92224 9.8358C9.6395 10.1185 9.38763 10.3732 9.15857 10.5575C8.91892 10.7503 8.63953 10.9224 8.2865 10.9784C8.09711 11.0083 7.90363 11.0083 7.71423 10.9784C7.36106 10.9224 7.0809 10.7503 6.84119 10.5575C6.61215 10.3732 6.36022 10.1185 6.07751 9.8358L2.49646 6.25572L3.51697 5.23424L7.09705 8.81627C7.16219 8.88142 7.22331 8.94006 7.27869 8.99498V1.3065H8.72205V8.994Z",fill:"currentColor"})}),C=({size:e=14,...t})=>(0,s.jsx)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",...t,children:(0,s.jsx)("path",{d:"M11.8486 5.5L11.4238 5.92383L8.69727 8.65137C8.44157 8.90706 8.21562 9.13382 8.01172 9.29785C7.79912 9.46883 7.55595 9.61756 7.25 9.66602C7.08435 9.69222 6.91565 9.69222 6.75 9.66602C6.44405 9.61756 6.20088 9.46883 5.98828 9.29785C5.78438 9.13382 5.55843 8.90706 5.30273 8.65137L2.57617 5.92383L2.15137 5.5L3 4.65137L3.42383 5.07617L6.15137 7.80273C6.42595 8.07732 6.59876 8.24849 6.74023 8.3623C6.87291 8.46904 6.92272 8.47813 6.9375 8.48047C6.97895 8.48703 7.02105 8.48703 7.0625 8.48047C7.07728 8.47813 7.12709 8.46904 7.25977 8.3623C7.40124 8.24849 7.57405 8.07732 7.84863 7.80273L10.5762 5.07617L11 4.65137L11.8486 5.5Z",fill:"currentColor"})}),j=({size:e=14,...t})=>(0,s.jsx)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",...t,children:(0,s.jsx)("path",{d:"M8.5 2.15137L8.07617 2.57617L5.34863 5.30273C5.09294 5.55843 4.86618 5.78438 4.70215 5.98828C4.53117 6.20088 4.38244 6.44405 4.33398 6.75C4.30778 6.91565 4.30778 7.08435 4.33398 7.25C4.38244 7.55595 4.53117 7.79912 4.70215 8.01172C4.86618 8.21561 5.09294 8.44157 5.34863 8.69727L8.07617 11.4238L8.5 11.8486L9.34863 11L8.92383 10.5762L6.19727 7.84863C5.92268 7.57405 5.75151 7.40124 5.6377 7.25977C5.53096 7.12709 5.52187 7.07728 5.51953 7.0625C5.51297 7.02105 5.51297 6.97895 5.51953 6.9375C5.52187 6.92272 5.53096 6.87291 5.6377 6.74023C5.75152 6.59876 5.92268 6.42595 6.19727 6.15137L8.92383 3.42383L9.34863 3L8.5 2.15137Z",fill:"currentColor"})}),k=({size:e=14,...t})=>(0,s.jsx)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",...t,children:(0,s.jsx)("path",{d:"M5.5 2.15137L5.92383 2.57617L8.65137 5.30273C8.90706 5.55843 9.13382 5.78438 9.29785 5.98828C9.46883 6.20088 9.61756 6.44405 9.66602 6.75C9.69222 6.91565 9.69222 7.08435 9.66602 7.25C9.61756 7.55595 9.46883 7.79912 9.29785 8.01172C9.13382 8.21561 8.90706 8.44157 8.65137 8.69727L5.92383 11.4238L5.5 11.8486L4.65137 11L5.07617 10.5762L7.80273 7.84863C8.07732 7.57405 8.24849 7.40124 8.3623 7.25977C8.46904 7.12709 8.47813 7.07728 8.48047 7.0625C8.48703 7.02105 8.48703 6.97895 8.48047 7.0625C8.47813 7.02105 8.47813 6.97895 8.48047 6.9375C8.47813 6.92272 8.46904 6.87291 8.3623 6.74023C8.24848 6.59876 8.07732 6.42595 7.80273 6.15137L5.07617 3.42383L4.65137 3L5.5 2.15137Z",fill:"currentColor"})}),S=({size:e=14,...t})=>(0,s.jsx)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",...t,children:(0,s.jsx)("path",{d:"M2.15137 8.5L2.57617 8.07617L5.30273 5.34863C5.55843 5.09294 5.78438 4.86618 5.98828 4.70215C6.20088 4.53117 6.44405 4.38244 6.75 4.33398C6.91565 4.30778 7.08435 4.30778 7.25 4.33398C7.55595 4.38244 7.79912 4.53117 8.01172 4.70215C8.21561 4.86618 8.44157 5.09294 8.69727 5.34863L11.4238 8.07617L11.8486 8.5L11 9.34863L10.5762 8.92383L7.84863 6.19727C7.57405 5.92269 7.40124 5.75152 7.25977 5.6377C7.12709 5.53096 7.07728 5.52187 7.0625 5.51953C7.02105 5.51297 6.97895 5.51297 6.9375 5.51953C6.92272 5.52187 6.87291 5.53096 6.74023 5.6377C6.59876 5.75152 6.42595 5.92268 6.15137 6.19727L3.42383 8.92383L3 9.34863L2.15137 8.5Z",fill:"currentColor"})}),N=({size:e=16,...t})=>(0,s.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,s.jsx)("path",{d:"M5.19629 1.57104C5.81144 1.5711 6.38623 1.8786 6.72754 2.39038L7.19922 3.09839C7.28454 3.22635 7.42824 3.30344 7.58203 3.30347H12.1699C13.5039 3.30348 14.5859 4.38548 14.5859 5.71948V6.62671C15.2694 7.02689 15.6605 7.85012 15.4385 8.68726L14.3848 12.658C14.1037 13.7164 13.1449 14.4527 12.0498 14.4529H2.91699C1.51651 14.4529 0.451662 13.2814 0.501954 11.9519V3.98706C0.501954 2.65305 1.58396 1.57104 2.91797 1.57104H5.19629ZM3.7793 7.75562C3.30994 7.75562 2.89883 8.07153 2.77832 8.52515L1.91602 11.7722C1.74167 12.4291 2.23734 13.073 2.91699 13.073H12.0498C12.5191 13.0728 12.9304 12.757 13.0508 12.3035L14.1045 8.33374C14.1819 8.04202 13.9619 7.756 13.6602 7.75562H3.7793ZM2.91797 2.9519C2.34625 2.9519 1.88281 3.41534 1.88281 3.98706V7.2937C2.33068 6.7269 3.02249 6.37476 3.7793 6.37476H13.2051V5.71948C13.2051 5.14777 12.7416 4.68434 12.1699 4.68433H7.58203C6.96675 4.6843 6.39209 4.37595 6.05078 3.86401L5.5791 3.15601C5.49379 3.02821 5.34995 2.95196 5.19629 2.9519H2.91797Z",fill:"currentColor"})}),L=({size:e=16,...t})=>(0,s.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,s.jsx)("path",{transform:"translate(1.5 2.429)",d:"M5.05582 0.518756L4.50669 0.86654L5.05582 0.518756ZM13 9.4837L13.65 9.4837L13.65 3.53962L13 3.53962L12.35 3.53962L12.35 9.4837L13 9.4837ZM11.3264 1.86603L11.3264 1.21603L6.52313 1.21603L6.52313 1.86603L6.52313 2.51603L11.3264 2.51603L11.3264 1.86603ZM5.58054 1.34727L6.12968 0.999489L5.60495 0.170972L5.05582 0.518756L4.50669 0.86654L5.03141 1.69506L5.58054 1.34727ZM4.11323 1.23058e-13L4.11323 -0.65L1.67359 -0.65L1.67359 5.00699e-14L1.67359 0.65L4.11323 0.65L4.11323 1.23058e-13ZM0 1.67359L-0.65 1.67359L-0.65 9.4837L0 9.4837L0.65 9.4837L0.65 1.67359L0 1.67359ZM11.3264 11.1573L11.3264 10.5073L1.67359 10.5073L1.67359 11.1573L1.67359 11.8073L11.3264 11.8073L11.3264 11.1573ZM0 9.4837L-0.65 9.4837C-0.65 10.767 0.390308 11.8073 1.67359 11.8073L1.67359 11.1573L1.67359 10.5073C1.10828 10.5073 0.65 10.049 0.65 9.4837L0 9.4837ZM1.67359 5.00699e-14L1.67359 -0.65C0.390307 -0.65 -0.65 0.390309 -0.65 1.67359L0 1.67359L0.65 1.67359C0.65 1.10828 1.10828 0.65 1.67359 0.65L1.67359 5.00699e-14ZM5.05582 0.518756L5.60495 0.170972C5.28121 -0.340193 4.71829 -0.65 4.11323 -0.65L4.11323 1.23058e-13L4.11323 0.65C4.27282 0.65 4.4213 0.731715 4.50669 0.86654L5.05582 0.518756ZM6.52313 1.86603L6.52313 1.21603C6.36354 1.21603 6.21507 1.13431 6.12968 0.999489L5.58054 1.34727L5.03141 1.69506C5.35515 2.20622 5.91808 2.51603 6.52313 2.51603L6.52313 1.86603ZM13 3.53962L13.65 3.53962C13.65 2.25634 12.6097 1.21603 11.3264 1.21603L11.3264 1.86603L11.3264 2.51603C11.8917 2.51603 12.35 2.97431 12.35 3.53962L13 3.53962ZM13 9.4837L12.35 9.4837C12.35 10.049 11.8917 10.5073 11.3264 10.5073L11.3264 11.1573L11.3264 11.8073C12.6097 11.8073 13.65 10.767 13.65 9.4837L13 9.4837Z",fill:"currentColor"})}),M=({size:e=16,...t})=>(0,s.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:[(0,s.jsx)("path",{transform:"translate(9.52 2.52)",d:"M3.55246 0L3.55246 2.44252L6 2.44252L6 3.55748L3.55246 3.55748L3.55246 6L2.43834 6L2.43834 3.55748L0 3.55748L0 2.44252L2.43834 2.44252L2.43834 0L3.55246 0Z",fill:"currentColor"}),(0,s.jsx)("path",{transform:"translate(0.3496 2.35)",d:"M4.76367 0C5.36861 1.80598e-05 5.93113 0.310294 6.25488 0.821289L6.78027 1.64941C6.79685 1.67558 6.81791 1.69775 6.83887 1.71973C6.72186 2.15521 6.65702 2.61192 6.65137 3.08301C6.25601 2.96045 5.90909 2.70478 5.68164 2.3457L5.15723 1.5166C5.07183 1.38189 4.92318 1.3008 4.76367 1.30078L2.32422 1.30078C1.7589 1.30078 1.30078 1.7589 1.30078 2.32422L1.30078 10.1338C1.30078 10.6991 1.7589 11.1572 2.32422 11.1572L11.9766 11.1572C12.5419 11.1572 13 10.6991 13 10.1338L13 8.58398C13.4545 8.5135 13.8903 8.38748 14.3008 8.21289L14.3008 10.1338C14.3008 11.4171 13.2598 12.458 11.9766 12.458L2.32422 12.458C1.04093 12.458 0 11.4171 0 10.1338L0 2.32422C0 1.04093 1.04093 0 2.32422 0L4.76367 0Z",fill:"currentColor"})]}),E=({size:e=16,...t})=>(0,s.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,s.jsx)("path",{transform:"translate(1.292 1.3)",d:"M10.3232 9.18164C11.2868 9.18164 12.0985 9.82833 12.3506 10.7109L13.415 10.7109L13.415 11.8711L12.3496 11.8711C12.0971 12.7532 11.2864 13.3994 10.3232 13.3994C9.36031 13.3992 8.55012 12.7531 8.29785 11.8711L0 11.8711L0 10.7109L8.29688 10.7109C8.54876 9.82845 9.35988 9.18186 10.3232 9.18164ZM10.3232 10.3418C9.7999 10.3421 9.37534 10.7667 9.375 11.29C9.375 11.8137 9.79969 12.239 10.3232 12.2393C10.847 12.2393 11.2725 11.8138 11.2725 11.29C11.2721 10.7666 10.8468 10.3418 10.3232 10.3418ZM3.08301 4.59082C4.04605 4.59095 4.85696 5.23717 5.10938 6.11914L13.415 6.11914L13.415 7.2793L5.11035 7.2793C4.85833 8.16202 4.04648 8.80846 3.08301 8.80859C2.11972 8.80843 1.30963 8.16179 1.05762 7.2793L0 7.2793L0 6.11914L1.05762 6.11914C1.30994 5.23728 2.12006 4.59098 3.08301 4.59082ZM3.08301 5.75098C2.55962 5.75117 2.13512 6.17587 2.13477 6.69922C2.13477 7.22287 2.5594 7.64824 3.08301 7.64844C3.60665 7.64828 4.03223 7.2229 4.03223 6.69922C4.03187 6.17585 3.60643 5.75113 3.08301 5.75098ZM10.3232 0C11.2869 0 12.0986 0.646596 12.3506 1.5293L13.415 1.5293L13.415 2.68945L12.3496 2.68945C12.363 2.64266 12.3754 2.59488 12.3857 2.54688C12.1838 3.50118 11.3376 4.21777 10.3232 4.21777C9.36037 4.21756 8.55018 3.57139 8.29785 2.68945L0 2.68945L0 1.5293L8.29688 1.5293C8.5487 0.646717 9.35981 0.00021854 10.3232 0ZM10.3232 1.16016C9.79984 1.16042 9.37524 1.58499 9.375 2.1084C9.375 2.63201 9.79969 3.05735 10.3232 3.05762C10.847 3.05762 11.2725 2.63217 11.2725 2.1084C11.2722 1.58483 10.8469 1.16016 10.3232 1.16016Z",fill:"currentColor"})}),T=E,$=({size:e=16,...t})=>(0,s.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:[(0,s.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12.0997 8.54554C12.2905 8.54989 12.3541 8.58056 12.4535 8.74614L12.8849 9.46387C12.9851 9.63071 13.0464 9.66013 13.2388 9.66447H14.1138C14.3417 9.66448 14.3512 9.66937 14.4686 9.86507L14.892 10.5717C14.9942 10.7422 14.9948 10.8247 14.892 10.9961L14.4756 11.6906C14.3741 11.8677 14.3694 11.9379 14.4756 12.115L14.892 12.8096C14.9942 12.9801 14.9947 13.0625 14.892 13.234L14.4686 13.9406C14.3643 14.1028 14.3063 14.1354 14.1138 14.1412H13.2388C13.0465 14.1456 12.985 14.1752 12.8849 14.3418L12.4535 15.0595C12.353 15.2195 12.2895 15.2558 12.0997 15.2601H11.2237C10.9962 15.2601 10.9871 15.2548 10.8699 15.0595L10.4384 14.3418C10.3383 14.175 10.2767 14.1456 10.0846 14.1412H9.2096C9.01854 14.1355 8.95761 14.1006 8.85477 13.9406L8.43139 13.234C8.32562 13.0576 8.33148 12.9862 8.43139 12.8096L8.84771 12.115C8.95165 11.9416 8.94659 11.863 8.84771 11.6906L8.43139 10.9961C8.32767 10.8232 8.33411 10.7437 8.43139 10.5717L8.85477 9.86507C8.95447 9.69891 9.01875 9.67017 9.2096 9.66447H10.0846C10.2741 9.66441 10.3414 9.62547 10.4384 9.46387L10.8699 8.74614C10.987 8.55106 10.9963 8.54554 11.2237 8.54554H12.0997ZM11.6612 10.232C11.3326 10.7798 10.8155 11.0948 10.1743 11.106C10.4443 11.61 10.4425 12.1976 10.1743 12.6987C10.803 12.7096 11.3391 13.0359 11.6612 13.5727C11.9855 13.0323 12.5131 12.7098 13.148 12.6987C12.879 12.196 12.8789 11.6086 13.148 11.106C12.5076 11.0948 11.9894 10.7794 11.6612 10.232Z",fill:"currentColor"}),(0,s.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.51205 0.790627C9.19055 0.790649 10.7401 1.0691 11.892 1.54364C12.4664 1.78029 12.9719 2.07885 13.3436 2.4408C13.7171 2.80467 13.9916 3.27253 13.9918 3.82384V7.90442C13.6067 7.69532 13.1907 7.53597 12.7529 7.43366V5.66454C12.4928 5.82898 12.2028 5.97601 11.892 6.10405C10.74 6.57865 9.19071 6.85706 7.51205 6.85706C5.8337 6.85703 4.285 6.57852 3.13309 6.10405C2.82215 5.97593 2.53164 5.8291 2.27121 5.66454V7.4135C2.27134 7.75678 2.6066 8.27106 3.62502 8.73405C4.58641 9.17097 5.95762 9.45591 7.50499 9.45681C7.24582 9.83133 7.03684 10.2434 6.88706 10.6826C5.44388 10.6162 4.12516 10.3216 3.11192 9.86104C2.81708 9.72698 2.53185 9.56866 2.27121 9.38928V11.2542C2.27158 11.5974 2.60697 12.1109 3.62502 12.5737C4.41933 12.9347 5.4937 13.1898 6.71569 13.2693C6.80349 13.7128 6.9513 14.1345 7.14814 14.5273C5.60324 14.4862 4.18593 14.1889 3.11192 13.7007C2.01039 13.1998 1.03366 12.3814 1.03333 11.2542V3.82384C1.03352 3.27273 1.30721 2.80461 1.68049 2.4408C2.05211 2.07893 2.55887 1.78026 3.13309 1.54364C4.28492 1.06926 5.83393 0.790683 7.51205 0.790627ZM7.51205 2.02851C5.95492 2.02857 4.57354 2.29079 3.60486 2.68979C3.11958 2.88977 2.76667 3.11253 2.5454 3.32788C2.32671 3.54101 2.2714 3.7089 2.27121 3.82384C2.27121 3.93882 2.32624 4.10625 2.5454 4.3198C2.76667 4.53527 3.11927 4.75781 3.60486 4.9579C4.5736 5.35699 5.95467 5.61914 7.51205 5.61918C9.06942 5.61918 10.4505 5.35695 11.4192 4.9579C11.9051 4.75773 12.2584 4.53536 12.4797 4.3198C12.6988 4.10627 12.7529 3.93882 12.7529 3.82384C12.7527 3.70889 12.6984 3.54104 12.4797 3.32788C12.2584 3.11239 11.9049 2.88989 11.4192 2.68979C10.4505 2.29079 9.06925 2.02853 7.51205 2.02851Z",fill:"currentColor"})]}),z=$,I=({size:e=16,...t})=>(0,s.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:[(0,s.jsx)("path",{d:"M12.5113 15.4067C12.4395 15.6249 12.1308 15.6249 12.059 15.4067L11.643 14.1416C11.454 13.567 11.0033 13.1164 10.4288 12.9274L9.16369 12.5113C8.94544 12.4395 8.94544 12.1308 9.16369 12.059L10.4288 11.643C11.0033 11.454 11.454 11.0033 11.643 10.4288L12.059 9.16369C12.1308 8.94544 12.4395 8.94544 12.5113 9.16369L12.9274 10.4288C13.1164 11.0033 13.567 11.454 14.1416 11.643L15.4067 12.059C15.6249 12.1308 15.6249 12.4395 15.4067 12.5113L14.1416 12.9274C13.567 13.1164 13.1164 13.567 12.9274 14.1416L12.5113 15.4067Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M9.02246 0.546878C9.9822 0.546878 10.7564 0.545403 11.374 0.612307C12.0042 0.680586 12.5515 0.826244 13.0273 1.17188C13.3052 1.37376 13.5501 1.61868 13.752 1.89649C14.0975 2.37225 14.2432 2.91984 14.3115 3.54981C14.3784 4.16727 14.377 4.94206 14.377 5.90137V8.51367C13.9611 8.29533 13.5071 8.13985 13.0273 8.06055V5.90137C13.0273 4.9121 13.0259 4.22322 12.9688 3.69532C12.9129 3.18044 12.8098 2.89782 12.6592 2.69043C12.5406 2.52724 12.3966 2.38326 12.2334 2.26465C12.026 2.11404 11.7437 2.0109 11.2285 1.95508C10.7005 1.89789 10.0122 1.89649 9.02246 1.89649H6.55371C5.56395 1.89649 4.87569 1.89787 4.34766 1.95508C3.83242 2.01092 3.55022 2.11398 3.34278 2.26465C3.17953 2.38329 3.03564 2.52719 2.91699 2.69043C2.76642 2.89782 2.66325 3.18042 2.60742 3.69532C2.55027 4.22322 2.54883 4.9121 2.54883 5.90137V10.0986C2.54883 11.0878 2.55031 11.7768 2.60742 12.3047C2.66326 12.8196 2.76642 13.1032 2.91699 13.3105C3.03558 13.4736 3.17966 13.6178 3.34278 13.7363C3.5502 13.8869 3.83265 13.9901 4.34766 14.0459C4.87568 14.1031 5.56398 14.1035 6.55371 14.1035H8.08399C8.27443 14.6025 8.55077 15.0585 8.89551 15.4541H6.55371C5.59402 15.4541 4.81976 15.4546 4.20215 15.3877C3.57204 15.3194 3.02468 15.1738 2.54883 14.8281C2.27111 14.6263 2.02606 14.3813 1.82422 14.1035C1.47883 13.6278 1.33293 13.08 1.26465 12.4502C1.19783 11.8327 1.19922 11.0579 1.19922 10.0986V5.90137C1.19922 4.94206 1.1978 4.16727 1.26465 3.54981C1.33295 2.91984 1.47867 2.37225 1.82422 1.89649C2.02613 1.61864 2.27098 1.37379 2.54883 1.17188C3.02472 0.826181 3.57197 0.6806 4.20215 0.612307C4.81976 0.545393 5.594 0.546877 6.55371 0.546878H9.02246ZM9.19629 9.14649H4.5459V7.84571H9.19629V9.14649ZM11.0303 6.10645H4.5459V4.80567H11.0303V6.10645Z",fill:"currentColor"})]}),R=({size:e=16,...t})=>(0,s.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:[(0,s.jsxs)("mask",{id:"piw-agent-preset-mask",maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"16",height:"16",children:[(0,s.jsx)("rect",{width:"16",height:"16",fill:"white"}),(0,s.jsx)("circle",{cx:"7.9995",cy:"3.28319",r:"1.712",fill:"black"}),(0,s.jsx)("circle",{cx:"3.51122",cy:"11.3855",r:"1.712",fill:"black"}),(0,s.jsx)("circle",{cx:"12.4878",cy:"11.3855",r:"1.712",fill:"black"})]}),(0,s.jsx)("path",{mask:"url(#piw-agent-preset-mask)",d:"M12.2881 11.0425C12.6002 11.3723 13.0413 11.5786 13.5312 11.5786L13.5342 11.5776C13.1476 12.3233 12.6119 12.9785 11.9639 13.5005C10.9327 14.3309 9.6199 14.8286 8.19336 14.8286C7.29864 14.8285 6.45056 14.6313 5.6875 14.2808C6.08309 14.0281 6.36707 13.6189 6.45215 13.1392C6.99022 13.3561 7.57767 13.476 8.19336 13.4761C9.30019 13.4761 10.3157 13.0915 11.1152 12.4478C11.5935 12.0626 11.9924 11.5848 12.2881 11.0425ZM4.14746 4.36475C4.25569 4.83228 4.55488 5.2247 4.95898 5.4585C4.07956 6.30639 3.53144 7.49605 3.53125 8.81396C3.53125 9.69534 3.77613 10.5202 4.20117 11.2231C3.74959 11.3817 3.38395 11.7232 3.19531 12.1597C2.5541 11.2032 2.17969 10.052 2.17969 8.81396C2.17989 7.05087 2.93868 5.4646 4.14746 4.36475ZM8.19336 2.80029C8.85717 2.80029 9.49784 2.90834 10.0967 3.10791C12.3237 3.85044 13.9725 5.86061 14.1846 8.28369C13.9832 8.20048 13.7627 8.15382 13.5312 8.15381C13.2802 8.15381 13.042 8.20907 12.8271 8.30615C12.6281 6.47264 11.3666 4.95616 9.66895 4.39014C9.2063 4.236 8.70989 4.15186 8.19336 4.15186C7.96112 4.15189 7.7329 4.16981 7.50977 4.20264C7.51947 4.12886 7.52637 4.05348 7.52637 3.97705C7.52628 3.56604 7.3811 3.18914 7.13965 2.89404C7.48183 2.83352 7.83381 2.80033 8.19336 2.80029Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M9.1123 3.28271C9.11205 2.66858 8.61322 2.17041 7.99902 2.17041C7.38504 2.17067 6.88697 2.66874 6.88672 3.28271C6.88672 3.89691 7.38489 4.39574 7.99902 4.396C8.61338 4.396 9.1123 3.89707 9.1123 3.28271ZM10.3115 3.28271C10.3115 4.55981 9.27612 5.59521 7.99902 5.59521C6.72214 5.59496 5.6875 4.55965 5.6875 3.28271C5.68776 2.00599 6.7223 0.971447 7.99902 0.971191C9.27596 0.971191 10.3113 2.00584 10.3115 3.28271Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M4.62402 11.385C4.62377 10.7709 4.12494 10.2727 3.51074 10.2727C2.89676 10.273 2.39869 10.771 2.39844 11.385C2.39844 11.9992 2.89661 12.498 3.51074 12.4983C4.1251 12.4983 4.62402 11.9994 4.62402 11.385ZM5.82324 11.385C5.82324 12.6621 4.78784 13.6975 3.51074 13.6975C2.23386 13.6973 1.19922 12.6619 1.19922 11.385C1.19947 10.1083 2.23402 9.07374 3.51074 9.07349C4.78768 9.07349 5.82299 10.1081 5.82324 11.385Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M13.6006 11.385C13.6003 10.7709 13.1015 10.2727 12.4873 10.2727C11.8733 10.273 11.3753 10.771 11.375 11.385C11.375 11.9992 11.8732 12.498 12.4873 12.4983C13.1017 12.4983 13.6006 11.9994 13.6006 11.385ZM14.7998 11.385C14.7998 12.6621 13.7644 13.6975 12.4873 13.6975C11.2104 13.6973 10.1758 12.6619 10.1758 11.385C10.176 10.1083 11.2106 9.07374 12.4873 9.07349C13.7642 9.07349 14.7995 10.1081 14.7998 11.385Z",fill:"currentColor"})]}),P=({size:e=14,...t})=>(0,s.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",...t,children:[(0,s.jsx)("path",{d:"M6.3002 3.32843L7.69986 3.32843L7.69986 7.79657H6.3002L6.3002 3.32843Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M6.3002 9.01935H7.69986V10.6711H6.3002V9.01935Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M12.6328 6.99976C12.6328 3.88874 10.111 1.36694 7 1.36694C3.88899 1.36695 1.3672 3.88875 1.36719 6.99976C1.36719 10.1108 3.88899 12.6326 7 12.6326C10.111 12.6326 12.6328 10.1108 12.6328 6.99976ZM13.8582 6.99976C13.8582 10.7873 10.7876 13.8579 7 13.8579C3.21244 13.8579 0.141846 10.7873 0.141846 6.99976C0.141857 3.2122 3.21245 0.141612 7 0.141602C10.7876 0.141602 13.8581 3.21219 13.8582 6.99976Z",fill:"currentColor"})]}),A=({size:e=16,...t})=>(0,s.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:[(0,s.jsx)("circle",{cx:"8",cy:"8",r:"6.375",stroke:"currentColor",strokeWidth:"1.25"}),(0,s.jsx)("path",{d:"M8 4.4V8.3L10.7 9.85",stroke:"currentColor",strokeWidth:"1.25"})]}),B=({size:e=16,...t})=>(0,s.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:[(0,s.jsx)("path",{d:"M9.75 1.1875H3.9375C3.31573 1.1875 2.8125 1.69073 2.8125 2.3125V13.6875C2.8125 14.3093 3.31573 14.8125 3.9375 14.8125H12.0625C12.6843 14.8125 13.1875 14.3093 13.1875 13.6875V4.625L9.75 1.1875Z",stroke:"currentColor",strokeWidth:"1.25",strokeLinejoin:"round"}),(0,s.jsx)("path",{d:"M9.6875 1.25V4.6875H13.125",stroke:"currentColor",strokeWidth:"1.25",strokeLinejoin:"round"})]}),F=({size:e=16,...t})=>(0,s.jsx)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",fillRule:"evenodd",...t,children:(0,s.jsx)("path",{fill:"currentColor",d:"M12 0c6.63 0 12 5.276 12 11.79-.001 5.067-3.29 9.567-8.175 11.187-.6.118-.825-.25-.825-.56 0-.398.015-1.665.015-3.242 0-1.105-.375-1.813-.81-2.181 2.67-.295 5.475-1.297 5.475-5.822 0-1.297-.465-2.344-1.23-3.169.12-.295.54-1.503-.12-3.125 0 0-1.005-.324-3.3 1.209a11.32 11.32 0 00-3-.398c-1.02 0-2.04.133-3 .398-2.295-1.518-3.3-1.209-3.3-1.209-.66 1.622-.24 2.83-.12 3.125-.765.825-1.23 1.887-1.23 3.169 0 4.51 2.79 5.527 5.46 5.822-.345.294-.66.81-.765 1.577-.69.31-2.415.81-3.495-.973-.225-.354-.9-1.223-1.845-1.209-1.005.015-.405.56.015.781.51.28 1.095 1.327 1.23 1.666.24.663 1.02 1.93 4.035 1.385 0 .988.015 1.916.015 2.196 0 .31-.225.664-.825.56C3.303 21.374-.003 16.867 0 11.791 0 5.276 5.37 0 12 0z"})}),H=({size:e=16,...t})=>(0,s.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,s.jsx)("path",{d:"M8 1.2l5.1 1.95v3.9c0 3.1-2.05 5.6-5.1 6.95C4.95 12.65 2.9 10.15 2.9 7.05v-3.9L8 1.2zM5.6 7.6l1.75 1.75 3.15-3.25-.95-.92-2.2 2.27-.8-.8L5.6 7.6z",fill:"currentColor"})}),O=({size:e=14,...t})=>(0,s.jsx)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",...t,children:(0,s.jsx)("path",{d:"M4.25 2.82782L4.25 11.1722C4.25 11.6622 4.84243 11.9076 5.18891 11.5611L9.36109 7.38891C9.57588 7.17412 9.57588 6.82588 9.36109 6.61109L5.18891 2.43891C4.84243 2.09243 4.25 2.33782 4.25 2.82782Z",fill:"currentColor"})}),_=({size:e=16,...t})=>(0,s.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:[(0,s.jsx)("path",{d:"M4.55146 8.00001C4.55146 8.63513 4.03659 9.15001 3.40146 9.15001C2.76634 9.15001 2.25146 8.63513 2.25146 8.00001C2.25146 7.36488 2.76634 6.85001 3.40146 6.85001C4.03659 6.85001 4.55146 7.36488 4.55146 8.00001Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M9.1476 8.00001C9.1476 8.63513 8.63273 9.15001 7.9976 9.15001C7.36248 9.15001 6.8476 8.63513 6.8476 8.00001C6.8476 7.36488 7.36248 6.85001 7.9976 6.85001C8.63273 6.85001 9.1476 7.36488 9.1476 8.00001Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M13.7486 8.00001C13.7486 8.63513 13.2338 9.15001 12.5986 9.15001C11.9635 9.15001 11.4486 8.63513 11.4486 8.00001C11.4486 7.36488 11.9635 6.85001 12.5986 6.85001C13.2338 6.85001 13.7486 7.36488 13.7486 8.00001Z",fill:"currentColor"})]}),W=({size:e=14,...t})=>(0,s.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:[(0,s.jsx)("path",{d:"M11.2426 4.80473V6.10551H4.75819V4.80473H11.2426Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M9.40858 7.84478V9.14557H4.75819V7.84478H9.40858Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M9.23438 0.546389C10.1941 0.546389 10.9683 0.544914 11.5859 0.611819C12.2161 0.680096 12.7634 0.825745 13.2393 1.17139C13.5172 1.3733 13.7619 1.61812 13.9639 1.896C14.3096 2.37183 14.4551 2.91922 14.5234 3.54932C14.5903 4.16686 14.5889 4.94133 14.5889 5.90088V10.0981C14.5889 11.0576 14.5903 11.8321 14.5234 12.4497C14.4552 13.0798 14.3094 13.6272 13.9639 14.103C13.7619 14.381 13.5172 14.6257 13.2393 14.8276C12.7633 15.1734 12.2163 15.3189 11.5859 15.3872C10.9683 15.4541 10.1942 15.4536 9.23438 15.4536H6.76563C5.80591 15.4536 5.03168 15.4541 4.41407 15.3872C3.78385 15.3189 3.23665 15.1734 2.76074 14.8276C2.48291 14.6257 2.23802 14.3809 2.03614 14.103C1.69066 13.6272 1.54483 13.0798 1.47657 12.4497C1.40973 11.8321 1.41114 11.0576 1.41114 10.0981V5.90088C1.41113 4.94132 1.40966 4.16686 1.47657 3.54932C1.54488 2.91921 1.69042 2.37184 2.03614 1.896C2.2381 1.61807 2.4828 1.37333 2.76074 1.17139C3.23665 0.825682 3.78386 0.680109 4.41407 0.611819C5.03168 0.544905 5.80591 0.546389 6.76563 0.546389H9.23438ZM6.76563 1.896C5.77586 1.896 5.0876 1.89738 4.55957 1.95459C4.0443 2.01043 3.76214 2.11349 3.55469 2.26416C3.39135 2.38284 3.24761 2.52662 3.12891 2.68994C2.97821 2.89736 2.8752 3.17967 2.81934 3.69483C2.76214 4.22279 2.76075 4.91131 2.76074 5.90088V10.0981C2.76074 11.0876 2.76221 11.7762 2.81934 12.3042C2.87516 12.8194 2.97829 13.1026 3.12891 13.3101C3.24754 13.4733 3.39147 13.6172 3.55469 13.7358C3.76213 13.8865 4.04438 13.9896 4.55957 14.0454C5.0876 14.1026 5.77586 14.103 6.76563 14.103H9.23438C10.2242 14.103 10.9124 14.1026 11.4404 14.0454C11.9556 13.9896 12.2379 13.8865 12.4453 13.7358C12.6086 13.6172 12.7525 13.4733 12.8711 13.3101C13.0217 13.1026 13.1248 12.8195 13.1807 12.3042C13.2378 11.7762 13.2393 11.0876 13.2393 10.0981V5.90088C13.2393 4.91131 13.2379 4.22279 13.1807 3.69483C13.1248 3.17969 13.0218 2.89736 12.8711 2.68994C12.7524 2.52667 12.6086 2.38281 12.4453 2.26416C12.2379 2.11355 11.9556 2.01041 11.4404 1.95459C10.9124 1.8974 10.2241 1.896 9.23438 1.896H6.76563Z",fill:"currentColor"})]}),q=({size:e=14,...t})=>(0,s.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:[(0,s.jsx)("path",{d:"M9.67272 0.522841C10.8339 0.522841 11.76 0.522714 12.4963 0.602493C13.2453 0.683657 13.8789 0.854248 14.4264 1.25197C14.7504 1.48739 15.0355 1.77247 15.2709 2.0965C15.6686 2.64394 15.8392 3.27758 15.9204 4.02655C16.0002 4.7629 16 5.68895 16 6.85014V9.14986C16 10.3111 16.0002 11.2371 15.9204 11.9735C15.8392 12.7224 15.6686 13.3561 15.2709 13.9035C15.0355 14.2275 14.7504 14.5126 14.4264 14.748C13.8789 15.1458 13.2453 15.3163 12.4963 15.3975C11.76 15.4773 10.8339 15.4772 9.67272 15.4772H6.3273C5.16611 15.4772 4.24006 15.4773 3.50371 15.3975C2.75474 15.3163 2.1211 15.1458 1.57366 14.748C1.24963 14.5126 0.964549 14.2275 0.729131 13.9035C0.331407 13.3561 0.160817 12.7224 0.0796529 11.9735C-0.000126137 11.2371 1.25338e-09 10.3111 1.25338e-09 9.14986V6.85014C1.25329e-09 5.68895 -0.000126137 4.7629 0.0796529 4.02655C0.160817 3.27758 0.331407 2.64394 0.729131 2.0965C0.964549 1.77247 1.24963 1.48739 1.57366 1.25197C2.1211 0.854248 2.75474 0.683657 3.50371 0.602493C4.24006 0.522714 5.16611 0.522841 6.3273 0.522841H9.67272ZM6.3273 1.88307C5.16611 1.88307 4.24006 1.88295 3.50371 1.96273C3.01764 2.01573 2.65034 2.1506 2.37325 2.35179C2.16463 2.50337 1.98052 2.68747 1.82895 2.89609C1.62776 3.17318 1.49928 3.54048 1.43069 4.1736C1.36074 4.81967 1.36023 5.65896 1.36023 6.85014V9.14986C1.36023 10.341 1.36074 11.1803 1.43069 11.8264C1.49928 12.4595 1.62776 12.8268 1.82895 13.1039C1.98052 13.3125 2.16463 13.4966 2.37325 13.6482C2.65034 13.8494 3.01764 13.9843 3.50371 14.0373C4.24006 14.1171 5.16611 14.1169 6.3273 14.1169H9.67272C10.8339 14.1169 11.76 14.1171 12.4963 14.0373C12.9824 13.9843 13.3497 13.8494 13.6268 13.6482C13.8354 13.4966 14.0195 13.3125 14.1711 13.1039C14.3723 12.8268 14.5007 12.4595 14.5693 11.8264C14.6393 11.1803 14.6398 10.341 14.6398 9.14986V6.85014C14.6398 5.65896 14.6393 4.81967 14.5693 4.1736C14.5007 3.54048 14.3723 3.17318 14.1711 2.89609C14.0195 2.68747 13.8354 2.50337 13.6268 2.35179C13.3497 2.1506 12.9824 2.01573 12.4963 1.96273C11.76 1.88295 10.8339 1.88307 9.67272 1.88307H6.3273Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M3.6 5.2 5.4 7 3.6 8.8",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,s.jsx)("path",{d:"M6.6 9.4h3.2",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})]}),D=({size:e=16,...t})=>(0,s.jsxs)("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",...t,children:[(0,s.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M15.8659 2.05975C17.2603 2.05995 18.3913 3.19096 18.3914 4.58527V5.4874C18.3914 6.02747 18.2192 6.52672 17.9303 6.93735C17.9336 6.96524 17.9388 6.99318 17.9388 7.02195V12.8884C17.9388 13.6345 17.9395 14.2379 17.8996 14.7254C17.8642 15.1593 17.7936 15.5499 17.6373 15.9141L17.5654 16.0685C17.278 16.6328 16.8405 17.1046 16.3038 17.434L16.0679 17.5661C15.66 17.7739 15.2196 17.8598 14.7237 17.9003C14.2362 17.9401 13.6327 17.9405 12.8867 17.9405H7.11122C6.36511 17.9405 5.76171 17.9401 5.27418 17.9003C4.84051 17.8649 4.44949 17.7952 4.08545 17.6391L3.93104 17.5661C3.36673 17.2785 2.89392 16.8414 2.56465 16.3044L2.43245 16.0685C2.22473 15.6608 2.13878 15.2211 2.09825 14.7254C2.05841 14.2379 2.05912 13.6345 2.05912 12.8884V7.02195C2.05912 6.99284 2.06422 6.96449 2.06758 6.93629C1.77931 6.52592 1.60858 6.02687 1.60858 5.4874V4.58527C1.60876 3.19084 2.73962 2.05975 4.1341 2.05975H15.8659ZM16.4984 7.92936C16.296 7.98169 16.0847 8.01288 15.8659 8.01291H4.1341C3.91478 8.01291 3.70246 7.98194 3.49955 7.92936V12.8884C3.49955 13.6582 3.50053 14.1927 3.53445 14.608C3.56769 15.0146 3.62923 15.244 3.71635 15.415L3.7925 15.5514C3.98339 15.8627 4.25749 16.1165 4.58464 16.2833L4.72529 16.3435C4.88095 16.3993 5.08638 16.4402 5.39158 16.4651C5.80685 16.4991 6.34138 16.5001 7.11122 16.5001H12.8867C13.6564 16.5001 14.1911 16.499 14.6063 16.4651C15.0128 16.432 15.2423 16.3703 15.4133 16.2833L15.5508 16.2061C15.8618 16.0152 16.116 15.7419 16.2827 15.415L16.3429 15.2732C16.3985 15.1177 16.4396 14.9128 16.4645 14.608C16.4985 14.1927 16.4984 13.6583 16.4984 12.8884V7.92936ZM4.1341 3.50019C3.53511 3.50019 3.0492 3.98631 3.04902 4.58527V5.4874C3.04902 6.08649 3.535 6.57248 4.1341 6.57248H15.8659C16.4648 6.57228 16.951 6.08638 16.951 5.4874V4.58527C16.9509 3.98644 16.4647 3.50038 15.8659 3.50019H4.1341Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M12.7962 12.5661V11.0832H7.20548V12.5661L12.7962 12.5661Z",fill:"currentColor"})]})}},e=>{e.O(0,[3727,316,4686,8441,3794,7358],()=>e(e.s=7523)),_N_E=e.O()}]);
|