@rexvane/piweb 0.3.25 → 0.3.26
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 +6 -5
- package/.next/build-manifest.json +4 -4
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +4 -4
- package/.next/react-loadable-manifest.json +14 -26
- package/.next/required-server-files.js +26 -26
- package/.next/required-server-files.json +26 -26
- package/.next/routes-manifest.json +6 -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]/events/route_client-reference-manifest.js +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]/route_client-reference-manifest.js +1 -1
- 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/[id]/tree/route_client-reference-manifest.js +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/agent/new/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agent/resources/route.js +1 -0
- package/.next/server/app/api/agent/resources/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/resources/route_client-reference-manifest.js +1 -0
- 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/config/route_client-reference-manifest.js +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/files/route_client-reference-manifest.js +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/fs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/git/route.js +4 -4
- package/.next/server/app/api/git/route.js.nft.json +1 -1
- package/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/github/route.js +4 -4
- package/.next/server/app/api/github/route.js.nft.json +1 -1
- package/.next/server/app/api/github/route_client-reference-manifest.js +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/growth/route_client-reference-manifest.js +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/health/route_client-reference-manifest.js +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/defaults/route_client-reference-manifest.js +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/models/route_client-reference-manifest.js +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/pi-settings/route_client-reference-manifest.js +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/plugins/route_client-reference-manifest.js +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/prompts/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/remote/route.js +2 -2
- package/.next/server/app/api/remote/route.js.nft.json +1 -1
- package/.next/server/app/api/remote/route_client-reference-manifest.js +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/security/route_client-reference-manifest.js +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]/export/route_client-reference-manifest.js +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/[id]/route_client-reference-manifest.js +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/import/route_client-reference-manifest.js +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/sessions/route_client-reference-manifest.js +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/skills/route_client-reference-manifest.js +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/update/route_client-reference-manifest.js +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/version/route_client-reference-manifest.js +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/web-auth/route_client-reference-manifest.js +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/api/workspaces/route_client-reference-manifest.js +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 +5 -5
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +5 -5
- package/.next/server/app/index.segments/_full.segment.rsc +5 -5
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -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 +4 -4
- package/.next/server/app/login.segments/_full.segment.rsc +4 -4
- package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
- 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 +6 -5
- package/.next/server/chunks/{813.js → 1813.js} +1 -1
- package/.next/server/chunks/{430.js → 2430.js} +5 -5
- package/.next/server/chunks/{970.js → 2970.js} +1 -1
- 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/620.js +1 -1
- 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/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 +5 -5
- 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/QJCtqgDKzGS2BdKABd9ch/_buildManifest.js +1 -0
- package/.next/static/chunks/2577.86c8538fbf05a8b2.js +1 -0
- package/.next/static/chunks/2716.fa561519675a3ff1.js +1 -0
- package/.next/static/chunks/2906.8a0e09bb47605cf1.js +1 -0
- package/.next/static/chunks/4673.ea36e55005c0f82f.js +1 -0
- package/.next/static/chunks/4686-4dc565817a160351.js +1 -0
- package/.next/static/chunks/4778.0d2c5d75b791d352.js +1 -0
- package/.next/static/chunks/app/_global-error/page-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/_not-found/page-2d40d1d7d916666a.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/events/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/tree/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/agent/new/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/agent/resources/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/config/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/files/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/fs/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/git/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/github/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/growth/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/health/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/models/defaults/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/models/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/pi-settings/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/plugins/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/prompts/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/remote/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/security/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/export/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/sessions/import/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/sessions/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/skills/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/update/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/version/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/web-auth/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/api/workspaces/route-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/app/{layout-7f64fa67ea6ce980.js → layout-50d06e2078d6ce76.js} +1 -1
- package/.next/static/chunks/app/login/{page-00dbd2f395b364d5.js → page-5e276a1eeb8867df.js} +1 -1
- package/.next/static/chunks/app/page-71f2d3b3ed864b3d.js +1 -0
- package/.next/static/chunks/main-5403f0764579e5fe.js +5 -0
- package/.next/static/chunks/{main-app-56863ace24eb152f.js → main-app-e9b53f0e1c6591b2.js} +1 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-a7e260f8cc2582d7.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-f2d93969c0bcf406.js +1 -0
- package/.next/static/chunks/webpack-ffc09b5fcc8aaa6d.js +1 -0
- package/.next/static/css/7e3caf797e4cb19a.css +1 -0
- package/.next/types/app/api/agent/[id]/events/route.ts +1 -1
- package/.next/types/app/api/agent/[id]/route.ts +1 -1
- package/.next/types/app/api/agent/[id]/tree/route.ts +1 -1
- package/.next/types/app/api/agent/new/route.ts +1 -1
- package/.next/types/app/api/agent/resources/route.ts +355 -0
- package/.next/types/app/api/config/route.ts +1 -1
- package/.next/types/app/api/files/route.ts +1 -1
- package/.next/types/app/api/fs/route.ts +1 -1
- package/.next/types/app/api/git/route.ts +1 -1
- package/.next/types/app/api/github/route.ts +1 -1
- package/.next/types/app/api/growth/route.ts +1 -1
- package/.next/types/app/api/health/route.ts +1 -1
- package/.next/types/app/api/models/defaults/route.ts +1 -1
- package/.next/types/app/api/models/route.ts +1 -1
- package/.next/types/app/api/pi-settings/route.ts +1 -1
- package/.next/types/app/api/plugins/route.ts +1 -1
- package/.next/types/app/api/prompts/route.ts +1 -1
- package/.next/types/app/api/remote/route.ts +1 -1
- package/.next/types/app/api/security/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/export/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/route.ts +1 -1
- package/.next/types/app/api/sessions/import/route.ts +1 -1
- package/.next/types/app/api/sessions/route.ts +1 -1
- package/.next/types/app/api/skills/route.ts +1 -1
- package/.next/types/app/api/update/route.ts +1 -1
- package/.next/types/app/api/version/route.ts +1 -1
- package/.next/types/app/api/web-auth/route.ts +1 -1
- package/.next/types/app/api/workspaces/route.ts +1 -1
- package/.next/types/app/layout.ts +1 -1
- package/.next/types/app/login/page.ts +1 -1
- package/.next/types/app/page.ts +1 -1
- package/.next/types/routes.d.ts +2 -1
- package/.next/types/validator.ts +10 -0
- package/LICENSE +1 -1
- package/README.md +1 -1
- package/bin/pi.js +0 -0
- package/bin/piweb.js +0 -0
- package/package.json +1 -1
- package/scripts/build-output.mjs +0 -0
- package/scripts/dev.mjs +0 -0
- package/scripts/entrypoint.mjs +0 -0
- package/scripts/install-build.mjs +0 -0
- package/scripts/launcher.mjs +0 -0
- package/scripts/pick-folder.ps1 +0 -0
- package/scripts/postinstall.mjs +0 -0
- package/scripts/process-runner.mjs +0 -0
- package/scripts/release.mjs +0 -0
- package/scripts/sync-file-icons.mjs +0 -0
- package/scripts/sync-provider-icons.mjs +0 -0
- package/src/app/api/agent/resources/route.ts +18 -0
- package/src/app/api/remote/route.ts +5 -7
- package/src/app/api/sessions/[id]/export/route.ts +3 -1
- package/src/app/globals.css +16 -0
- package/src/components/AppShell.tsx +68 -21
- package/src/components/ChatInput.tsx +98 -27
- package/src/components/ChatWindow.tsx +68 -11
- package/src/components/ContextMeter.tsx +24 -4
- package/src/components/ExtensionUI.tsx +9 -3
- package/src/components/FileViewer.tsx +24 -21
- package/src/components/GitPanel.tsx +449 -449
- package/src/components/GrowthTree.tsx +3 -1
- package/src/components/ImageViewer.tsx +72 -0
- package/src/components/MarkdownBlock.tsx +6 -3
- package/src/components/PreviewImage.tsx +33 -0
- package/src/components/ProjectPanel.tsx +5 -3
- package/src/components/PromptPanel.tsx +322 -313
- package/src/components/RemoteSection.tsx +2 -1
- package/src/components/SessionSidebar.tsx +22 -4
- package/src/components/SettingsPanel.tsx +2654 -2639
- package/src/components/composer/ComposerImages.tsx +1 -79
- package/src/hooks/usePiWeb.ts +47 -2
- package/src/i18n.tsx +24 -0
- package/src/lib/agent-manager.ts +275 -18
- package/src/lib/chat/skill-expansion.ts +10 -0
- package/src/lib/extension-ui.ts +25 -1
- package/src/lib/git-service.ts +291 -289
- package/src/lib/github-identity.ts +245 -245
- package/src/lib/growth-turns.ts +3 -1
- package/src/lib/session-reader.ts +25 -13
- package/src/lib/session-retention.ts +11 -8
- package/src/lib/slash-command-token.ts +14 -0
- package/src/lib/trajectory.ts +17 -6
- package/src/lib/types.ts +24 -2
- package/src/lib/workspace-store.ts +36 -1
- package/.next/diagnostics/build-diagnostics.json +0 -6
- package/.next/diagnostics/framework.json +0 -1
- package/.next/server/chunks/229.js +0 -1
- package/.next/server/chunks/393.js +0 -1
- package/.next/server/chunks/612.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/4snUelZTEIiQYCkB5nTW7/_buildManifest.js +0 -1
- package/.next/static/chunks/1966.1560d0f43ac9a41a.js +0 -1
- package/.next/static/chunks/2577.eebf2cf291a811ad.js +0 -1
- package/.next/static/chunks/2716.a5228b0eeedbe4c8.js +0 -1
- package/.next/static/chunks/2906.546a64377e12dfbc.js +0 -1
- package/.next/static/chunks/3899.55a0943bf5e7fec7.js +0 -1
- package/.next/static/chunks/4673.8eff281cb63e2799.js +0 -1
- package/.next/static/chunks/4686-f03275819a719fd8.js +0 -1
- package/.next/static/chunks/4778.2dae0c6a9e396326.js +0 -1
- package/.next/static/chunks/app/_global-error/page-f977af7f858990a2.js +0 -1
- package/.next/static/chunks/app/_not-found/page-851dc3883a1937aa.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-0159987118376f42.js +0 -1
- package/.next/static/chunks/main-22ccebc2da4d291e.js +0 -5
- 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/global-error-c37b7707077f50ce.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-c1b43c269867b64f.js +0 -1
- package/.next/static/css/93ed3daa6f3fbc35.css +0 -1
- package/.next/trace +0 -58
- package/.next/trace-build +0 -1
- /package/.next/static/{4snUelZTEIiQYCkB5nTW7 → QJCtqgDKzGS2BdKABd9ch}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8974],{560:(e,t,n)=>{"use strict";n.d(t,{$h:()=>o,t7:()=>c,vf:()=>i,yw:()=>u});var r=n(2115);let s="piweb.enterBehavior",l="steer",a=new Set;function o(){let e=localStorage.getItem(s);return"queue"===e||"steer"===e?e:l}function i(e){for(let t of(localStorage.setItem(s,e),a))t()}function c(e){return"steer"===e?"queue":"steer"}function d(e){return a.add(e),window.addEventListener("storage",e),()=>{a.delete(e),window.removeEventListener("storage",e)}}function u(){return(0,r.useSyncExternalStore)(d,o,()=>l)}},745:(e,t,n)=>{"use strict";n.d(t,{AppShell:()=>tj});var r=n(5155),s=n(2115),l=n(2576),a=n(9992),o=n(1859),i=n(3364),c=n(2578);function d(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,"/"),n=t.match(/^\/([a-zA-Z])\/(.*)$/);return n&&(t=`${n[1].toUpperCase()}:/${n[2]}`),t}function p(e){return e.replace(/\/+$/,"")}function m(e,t){if(!e)return e;let n=u(e);if(!t)return n;let r=p(u(t));if(!r)return n;let s=n.toLowerCase(),l=r.toLowerCase();return s===l?".":s.startsWith(`${l}/`)?n.slice(r.length+1):n}function f(e){let t=u(e).split("/").filter(Boolean);return t[t.length-1]??e}function h(e,t){let n=e.replace(/\r/g,"").split("\n").filter(e=>e.trim().length>0),r=n[0]??"";if(t){let e=p(u(t)).toLowerCase();for(;;){let t=r.match(/^\s*(?:cd|pushd)\s+(?:\/d\s+)?("[^"]*"|'[^']*'|\S+)\s*(?:&&|;)\s*/);if(!t||p(u(t[1])).toLowerCase()!==e)break;r=r.slice(t[0].length)}}let s=r.replace(/\s+/g," ").trim();return s=function(e){let t=w(e).map(e=>e.trim());if(t.length<2)return e;let n=t.filter(e=>e&&!(e=>{let t=e.match(/^echo(?:\s+-[ne]+)?\s*(?:"([^"]*)"|'([^']*)'|(\S*))?$/);if(!t)return!1;let n=t[1]??t[2]??t[3]??"";return!n.includes("$")&&(!!/^[\s\-=─═—#*~_.>]*$/.test(n)||/[─═=\-#*~]{3,}/.test(n))})(e));return n.length&&n.length!==t.filter(Boolean).length?n.join("; "):e}(s),t&&(s=y(s,t)),{text:s,lines:n.length}}let x=new Set(["rm","remove-item","ri","del","erase","unlink","trash"]);function g(e){let t=e.trim().split(/\s+/).filter(Boolean);if(!t.length)return!1;let n=(t[0].split(/[\\/]/).pop()??t[0]).toLowerCase().replace(/\.(exe|ps1|bat|cmd)$/,"");return"git"===n?t[1]?.toLowerCase()==="rm"&&t.slice(2).some(e=>!e.startsWith("-")):!!x.has(n)&&t.slice(1).some(e=>!e.startsWith("-"))}function w(e){let t=[],n="",r=null;for(let s=0;s<e.length;s+=1){let l=e[s];if(r){n+=l,l===r&&"\\"!==e[s-1]&&(r=null);continue}if('"'===l||"'"===l){r=l,n+=l;continue}if(";"===l){t.push(n),n="";continue}if("&"===l&&"&"===e[s+1]||"|"===l&&"|"===e[s+1]){t.push(n),n="",s+=1;continue}n+=l}return t.push(n),t}let v={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 v[e.toLowerCase()]??e.charAt(0).toUpperCase()+e.slice(1)}function y(e,t){let n=p(u(t));if(!n)return e;let r=n.match(/^([A-Za-z]):\/(.*)$/),s=r?r[2]:n.replace(/^\//,""),l="(?:\\/|\\\\+)",a=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\//g,l),o=r?`(?:${r[1]}:${l}|/${r[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:n,model:l,source:a,label:c}){let[d,u]=(0,s.useState)(!1),[p,m]=(0,s.useState)(!1),f=(0,s.useRef)(null),{t:h}=(0,o.s)(),x=!!a?.breakdown?.cold;(0,s.useEffect)(()=>{x||m(!1)},[x]),(0,s.useEffect)(()=>{if(!d)return;let e=e=>{f.current?.contains(e.target)||u(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[d]);let g=(0,s.useMemo)(()=>{var e;let t;return(t=(e=d?a?.messages??[]:[]).findLastIndex(e=>"summary"===e.role&&"compaction"===e.summaryKind))<0?{messages:e}:{messages:e.slice(t+1),since:e[t].timestamp}},[d,a]),w=(0,s.useMemo)(()=>(function(e){let t={user:0,agentText:0,agentThinking:0,agentToolCall:0,toolOutput:0};for(let n of e)for(let e of n.content)if("text"===e.type){let r=e.text?.length??0;"user"===n.role?t.user+=r:"toolResult"===n.role?t.toolOutput+=r:"system"!==n.role&&(t.agentText+=r)}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})(g.messages),[g]),v=(0,s.useMemo)(()=>g.messages.findLast(e=>"assistant"===e.role&&"error"!==e.stopReason&&"aborted"!==e.stopReason&&"pending"!==e.stopReason&&(void 0===g.since||(e.timestamp??0)>=g.since)&&(e.usage?.input??0)+(e.usage?.cacheRead??0)+(e.usage?.cacheWrite??0)+(e.usage?.output??0)>0)?.usage,[g]),b=v?(v.input??0)+(v.cacheRead??0)+(v.cacheWrite??0):null,y=l?`${l.provider}/${l.id}`:"",[C,j]=(0,s.useState)(null);(0,s.useEffect)(()=>{C&&(C.key!==y||n!==C.from)&&j(null)},[C,y,n]);let k=C&&C.key===y&&n===C.from?C.value:null,N=null!==t&&Number.isFinite(t)&&t>=0,E=N?t:0,$=k??n??0,z=null!==k&&N,T=z?E/k*100:e??0,R=null!==e||z?`${(0,i.J0)(T)} ${c??h.contextEstimated}`:h.contextUnknown,I=2*Math.PI*5.5,A=Math.max(0,a?.breakdown?.autoCompactBuffer??0),P=$>0?null!==b?Math.min(b,$):N?Math.min(E,$):null:null,O=null===P?0:Math.min(A,Math.max(0,$-P)),B=null===P?null:Math.max(0,$-P-A),H=a?.breakdown?.characters,W=[{key:"system",label:h.contextSystemPrompt,value:H?.systemPrompt,color:"var(--dsw-accent)"},{key:"builtin",label:h.contextSystemTools,value:H?.systemTools,color:"#8B7EC8"},{key:"custom",label:h.contextCustomTools,value:H?.customTools,color:"#B39DDB"},{key:"memory",label:h.contextMemory,value:H?.memory,color:"#5FA8D3"},{key:"skills",label:h.contextSkills,value:H?.skills,color:"#4FB286"},{key:"user",label:h.contextUserMessages,value:w.user,color:"var(--dsw-success)"},{key:"text",label:h.contextAgentText,value:w.agentText,color:"#7BC96F"},{key:"thinking",label:h.contextAgentThinking,value:w.agentThinking,color:"#C9A66B"},{key:"call",label:h.contextAgentToolCall,value:w.agentToolCall,color:"#D3A15F"},{key:"output",label:h.contextToolOutput,value:w.toolOutput,color:"var(--dsw-warn)"},{key:"compacted",label:h.contextCompacted,value:H?.compacted,color:"#A05A78"}].filter(e=>void 0!==e.value&&e.value>0),F=W.reduce((e,t)=>e+(t.value??0),0),D=null===P||0===F?[]:W.map(e=>({key:e.key,label:e.label,value:e.value,color:e.color,width:P/$*100*(e.value/F)}));return(0,r.jsxs)("div",{ref:f,className:"relative",children:[(0,r.jsx)("button",{className:"icon-btn isx-ring-btn",style:{width:28,height:28},title:R,"aria-label":R,onClick:()=>u(e=>!e),children:(0,r.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",children:[(0,r.jsx)("circle",{cx:"7",cy:"7",r:5.5,fill:"none",stroke:"var(--dsw-border-l3)",strokeWidth:"2"}),(0,r.jsx)("circle",{cx:"7",cy:"7",r:5.5,fill:"none",stroke:T>85?"var(--dsw-warn)":"var(--dsw-label-primary)",strokeWidth:"2",strokeDasharray:`${I*Math.max(0,Math.min(100,T))/100} ${I}`,transform:"rotate(-90 7 7)",strokeLinecap:"round"})]})}),d&&(0,r.jsxs)("div",{className:"pw-context-popover popover absolute bottom-9 right-0 z-50 w-72 max-w-[calc(100vw-96px)] p-4",style:{fontSize:"var(--dsh-content-font-size-secondary)"},children:[null!==b&&(0,r.jsxs)("div",{className:"mt-2 flex items-center justify-between gap-2",children:[(0,r.jsx)("span",{children:h.contextApiInput}),(0,r.jsxs)("span",{title:`${b} tok`,children:[(0,i.yj)(b)," tok"]})]}),$>0&&(0,r.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:[D.map(e=>(0,r.jsx)("span",{"data-segment":e.key,className:"flex-none",title:`${e.label}:${(0,i.yj)(e.value)} ${h.contextChars}`,style:{width:`${e.width}%`,background:e.color}},e.key)),O>0&&(0,r.jsx)("span",{"data-segment":"reserved",className:"flex-none",style:{width:`${O/$*100}%`,background:"var(--dsw-border-l3)"}})]}),(0,r.jsxs)("div",{className:"mt-2 flex flex-col gap-1",style:{color:"var(--dsw-label-tertiary)"},children:[A>0&&(0,r.jsx)(M,{label:h.contextAutoCompactBuffer,value:`${(0,i.yj)(A)} tok`,exact:`${A} tok`,color:"var(--dsw-border-l3)"}),$>0&&(0,r.jsx)(M,{label:h.contextFreeSpace,value:null===B?"—":`~${(0,i.yj)(B)} tok`,color:"var(--dsw-selector)"})]}),(0,r.jsx)("div",{className:"mt-3 flex flex-col gap-1",style:{color:"var(--dsw-label-tertiary)"},children:W.map(e=>(0,r.jsx)(M,{label:e.label,value:`${(0,i.yj)(e.value)} ${h.contextChars}`,exact:`${e.value} ${h.contextChars}`,color:e.color},e.key))}),x&&a?.loadFull&&(0,r.jsxs)("div",{className:"mt-3 flex items-center justify-between gap-2",style:{color:"var(--dsw-label-tertiary)"},children:[(0,r.jsx)("span",{className:"min-w-0",style:{fontSize:11.5},children:h.contextColdHint}),(0,r.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?h.contextCounting:h.contextCountNow})]}),l&&$>0&&(0,r.jsx)(L,{model:l,value:$,onSaved:e=>j({key:y,from:n??0,value:e})},y)]})]})}async function N(e){let t=await fetch("/api/models",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),n=await t.json().catch(()=>null);if(!t.ok||!n?.success)throw Error(n?.error||`request failed (${t.status})`);return n.data}function L({model:e,value:t,onSaved:n}){let{t:l}=(0,o.s)(),[a,i]=(0,s.useState)(!1),[d,u]=(0,s.useState)(""),[p,m]=(0,s.useState)(void 0),[f,h]=(0,s.useState)(!1),[x,g]=(0,s.useState)(null),w=(0,s.useRef)(0),v=(0,c.KM)(d),b=void 0===v||Number.isNaN(v)?null:v,y=null!==b,C=null!==b&&"number"==typeof p&&b>p,j=()=>{w.current+=1,i(!1)},k=async()=>{if(null!==b&&!f){h(!0),g(null);try{let t=await N({action:"setContextWindow",providerId:e.provider,modelId:e.id,contextWindow:b});n(t.contextWindow),i(!1)}catch(e){g(e instanceof Error?e.message:String(e))}finally{h(!1)}}};return a?(0,r.jsxs)("div",{className:"hairline-t mt-3 pt-3",style:{color:"var(--dsw-label-tertiary)"},children:[(0,r.jsx)("div",{children:l.contextWindowLabel}),(0,r.jsxs)("div",{className:"mt-1.5 flex items-center gap-1.5",children:[(0,r.jsx)("input",{autoFocus:!0,value:d,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,r.jsx)("button",{type:"button",className:"btn-primary-white flex-none",style:{height:26,padding:"0 10px",fontSize:12},disabled:!y||f,onClick:()=>void k(),children:f?l.saving:l.save}),(0,r.jsx)("button",{type:"button",className:"btn-outline flex-none",style:{height:26,padding:"0 10px",fontSize:12},disabled:f,onClick:j,children:l.cancel})]}),"number"==typeof p&&(0,r.jsxs)("div",{className:"mt-1.5 flex items-center gap-1.5",style:{fontSize:11.5},children:[(0,r.jsx)("span",{children:l.contextWindowBuiltin.replace("{value}",p.toLocaleString("en-US"))}),b!==p&&(0,r.jsx)("button",{type:"button",className:"underline",style:{color:"var(--dsw-label-secondary)"},onClick:()=>u((0,c.sm)(p)),children:l.contextWindowUseBuiltin})]}),y?C?(0,r.jsx)("div",{className:"mt-1",style:{fontSize:11.5,color:"var(--dsw-warn)"},children:l.contextWindowOverBuiltin}):null===p?(0,r.jsx)("div",{className:"mt-1",style:{fontSize:11.5},children:l.contextWindowNoBuiltin}):null:(0,r.jsx)("div",{className:"mt-1",style:{fontSize:11.5,color:"var(--dsw-danger)"},children:l.contextWindowInvalid}),(0,r.jsx)("div",{className:"mt-1",style:{fontSize:11.5},children:l.contextWindowScope}),x&&(0,r.jsx)("div",{className:"mt-1",role:"alert",style:{fontSize:11.5,color:"var(--dsw-danger)"},children:x})]}):(0,r.jsxs)("div",{className:"hairline-t mt-3 flex items-center justify-between gap-2 pt-3",style:{color:"var(--dsw-label-tertiary)"},children:[(0,r.jsx)("span",{children:l.contextWindowLabel}),(0,r.jsxs)("span",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{style:{color:"var(--dsw-label-secondary)",fontFamily:"var(--font-mono)"},children:t.toLocaleString("en-US")}),(0,r.jsx)("button",{type:"button",className:"btn-outline",style:{height:22,padding:"0 8px",fontSize:11.5},onClick:()=>{i(!0),u((0,c.sm)(t)),g(null),m(void 0);let n=++w.current;N({action:"contextWindowInfo",providerId:e.provider,modelId:e.id}).then(e=>{n===w.current&&m(e.builtin)},()=>{n===w.current&&m(null)})},children:l.contextWindowEdit})]})]})}function M({label:e,value:t,exact:n,color:s}){return(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,r.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,r.jsx)("span",{className:"inline-block rounded-full",style:{width:7,height:7,background:s}}),e]}),(0,r.jsx)("span",{title:n,children:t})]})}var E=n(7650),$=n(9431);let z=e=>Math.round(10*e)/10,T=new WeakMap,R=0;function I(e){let t=T.get(e);return t||(R+=1,t=`image-${R}`,T.set(e,t)),t}let A=e=>`data:${e.mimeType};base64,${e.data}`;function P({images:e,disabled:t,onRemove:n,onClear:l}){var a;let{t:i}=(0,o.s)(),c=e.length>4,[d,u]=(0,s.useState)(!1),p=c&&d,[m,f]=(0,s.useState)(null),[h,x]=(0,s.useState)(null),g=(0,s.useRef)(null),[w,v]=(0,s.useState)(0);(0,s.useEffect)(()=>{let e=g.current;if(!e||!c)return;let t=()=>v(Math.max(0,e.clientWidth-8));if(t(),"u"<typeof ResizeObserver)return;let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[c]);let b=t=>{n(t),f(null),x(t=>null===t||e.length<=1?null:Math.min(t,e.length-2))},y=e=>(0,r.jsx)("button",{type:"button",className:"pw-image-delete",disabled:t,"aria-label":`${i.delete} ${e+1}`,onClick:()=>b(e),children:"✕"}),C=p?function(e,t){if(e<=1)return{cards:[{x:8,y:0,angle:0}],width:112,height:96,gap:0};let n=Math.min(36,Math.max(16,210/(e-1))),r=96+(e-1)*n+14,s=Array.from({length:e},(t,s)=>{let l=s/(e-1),a=z(r-96-6-s*n);return{x:z(8+22*Math.sin(l*Math.PI)+8*l),y:a,angle:z(-4+10*l)}}),l=Math.max(...s.map(e=>e.x))+96+8;return{cards:s,width:Math.min(t,Math.max(128,Math.ceil(l))),height:Math.ceil(r),gap:z(n)}}(e.length,w||360):{cards:Array.from({length:a=e.length},(e,t)=>({x:4*Math.min(t,4),y:0,angle:0,hidden:t>4})),width:96+4*Math.min(Math.max(a-1,0),4),height:96,gap:4},j=null!==h&&e[h]?h:null;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{ref:g,className:"pointer-events-auto flex flex-wrap items-end gap-2 px-1 pb-1","data-testid":"composer-images",children:[c?(0,r.jsx)("div",{className:"pw-image-fan","data-testid":"image-fan","data-expanded":p,"data-crowded":!!p&&C.gap<30||void 0,style:{position:"relative",width:p?"100%":C.width,height:C.height},children:e.map((t,n)=>{let s=C.cards[n],l=p&&m===n,a=p||0===n,o=Math.min(p?14*n:(e.length-1-n)*10,140);return(0,r.jsxs)("div",{className:"pw-image-card","data-hidden":s.hidden||void 0,"data-lifted":l||void 0,style:{zIndex:l?e.length+1:e.length-n,transform:`translate(${s.x}px, ${s.y-12*!!l}px) rotate(${s.angle}deg) ${l?"scale(1.05)":""}`,transitionDelay:l||null!==m?"0ms":`${o}ms`},onMouseEnter:()=>p&&f(n),onMouseLeave:()=>f(e=>e===n?null:e),onFocus:()=>p&&f(n),onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||f(e=>e===n?null:e)},children:[(0,r.jsx)("button",{type:"button",className:"pw-image-face",tabIndex:a?void 0:-1,"aria-hidden":!a||void 0,title:i.imagePreview,"aria-label":i.imagePreview,onClick:()=>x(n),children:(0,r.jsx)("img",{src:A(t),alt:"",className:"h-full w-full object-contain",draggable:!1})}),a?y(n):null]},I(t))})}):e.map((e,t)=>(0,r.jsxs)("div",{className:"pw-image-thumb",children:[(0,r.jsx)("button",{type:"button",className:"block",title:i.imagePreview,"aria-label":i.imagePreview,onClick:()=>x(t),children:(0,r.jsx)("img",{src:A(e),alt:"",className:"max-h-24 max-w-32 rounded-[10px] object-contain",draggable:!1})}),y(t)]},I(e))),(0,r.jsxs)("div",{className:"flex items-center gap-1.5 self-end pb-0.5",children:[c?(0,r.jsx)("button",{type:"button",className:"pw-deck-action-btn","data-testid":"images-toggle","aria-expanded":p,onClick:()=>{u(e=>!e),f(null)},children:p?i.chipCollapse:i.chipExpandMore.replace("{n}",String(e.length-1))}):null,e.length>1&&l?(0,r.jsx)("button",{type:"button",className:"pw-deck-action-btn pw-deck-action-clear","data-testid":"images-clear",disabled:t,onClick:()=>{l(),f(null),x(null)},children:i.imageClearAll}):null]})]}),null!==j?(0,E.createPortal)((0,r.jsx)($.a,{images:e,index:j,disabled:t,onIndex:x,onRemove:b,onClose:()=>x(null)}),document.body):null]})}let O=e=>Math.round(10*e)/10;function B({files:e,disabled:t,onRemove:n,onClear:l}){var c;let{t:d}=(0,o.s)(),u=e.length>4,[p,m]=(0,s.useState)(!1),f=u&&p,[h,x]=(0,s.useState)(null),g=(0,s.useRef)(null),[w,v]=(0,s.useState)(360);(0,s.useEffect)(()=>{let e=g.current;if(!e||!u)return;let t=()=>v(Math.max(280,e.clientWidth-8));if(t(),"u"<typeof ResizeObserver)return;let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[u]);let b=f?function(e,t){if(e<=1)return{cards:[{x:6,y:0,angle:0}],width:208,height:32,gap:0};let n=Math.min(32,Math.max(16,220/(e-1))),r=32+(e-1)*n+14,s=Array.from({length:e},(t,s)=>{let l=s/(e-1),a=O(r-32-6-s*n);return{x:O(6+18*Math.sin(l*Math.PI)+10*l),y:a,angle:O(-3+8*l)}}),l=Math.max(...s.map(e=>e.x))+196+6;return{cards:s,width:Math.min(t,Math.max(228,Math.ceil(l))),height:Math.ceil(r),gap:O(n)}}(e.length,w):{cards:Array.from({length:c=e.length},(e,t)=>({x:4*Math.min(t,4),y:0,angle:0,hidden:t>=4})),width:196+4*Math.min(Math.max(c-1,0),4),height:32,gap:4},y=(s,l,o,c=!1)=>{let u,p=f&&h===l,m=Math.min(f?14*l:(e.length-1-l)*10,140);return!f&&c&&l>=4?null:(0,r.jsxs)("div",{className:"pw-ref-chip group/ref pw-file-card",title:s.path,"data-lifted":p||void 0,style:o?{position:"absolute",left:0,top:0,width:196,height:32,zIndex:p?e.length+2:f?l+1:e.length-l,transform:`translate(${o.x}px, ${o.y-4*!!p}px) rotate(${o.angle}deg) ${p?"scale(1.04)":""}`,transitionDelay:p||null!==h?"0ms":`${m}ms`}:void 0,onMouseEnter:()=>f&&x(l),onMouseLeave:()=>x(e=>e===l?null:e),onFocus:()=>f&&x(l),onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||x(e=>e===l?null:e)},children:[(0,r.jsx)(a.lx,{size:12,style:{flex:"none",color:"var(--dsw-label-tertiary)"}}),(0,r.jsx)("span",{className:"max-w-[110px] truncate font-mono text-[12px]",children:s.name}),(0,r.jsx)("span",{style:{flex:"none",fontSize:10.5,color:"var(--dsw-label-caption)"},children:(u=s.size)?(0,i.zi)(u):""}),(0,r.jsx)("button",{type:"button",className:"pw-ref-close",disabled:t,onClick:e=>{e.stopPropagation(),n(l),x(null)},"aria-label":`${d.delete} ${s.name}`,children:"✕"})]},`${s.path}:${l}`)};return(0,r.jsxs)("div",{ref:g,className:"pointer-events-auto flex flex-wrap items-end gap-2 px-1 pb-1","data-testid":"composer-uploads",children:[u?(0,r.jsx)("div",{className:"pw-file-fan-container relative flex items-center gap-2",style:{position:"relative",width:f?b.width:b.width+8,height:b.height,transition:"width 320ms cubic-bezier(0.2, 0.8, 0.2, 1), height 320ms cubic-bezier(0.2, 0.8, 0.2, 1)"},children:e.map((e,t)=>y(e,t,b.cards[t],!0))}):e.map((e,t)=>y(e,t)),(0,r.jsxs)("div",{className:"flex items-center gap-1.5 self-end pb-0.5",children:[u&&(0,r.jsx)("button",{type:"button",className:"pw-deck-action-btn","data-testid":"uploads-toggle","aria-expanded":p,onClick:()=>{m(e=>!e),x(null)},children:p?d.chipCollapse:d.chipExpandMore.replace("{n}",String(e.length-4))}),e.length>1&&l&&(0,r.jsx)("button",{type:"button",className:"pw-deck-action-btn pw-deck-action-clear","data-testid":"uploads-clear",disabled:t,onClick:()=>{l(),x(null)},children:d.filesClearAll})]})]})}function H({model:e,thinkingLevel:t,thinkingLevels:n,models:l,providerNames:i,authByProvider:c,onSelectModel:d,onSelectLevel:u,open:p,onOpenChange:m,modelOnly:f=!1,disabled:h=!1,defaultOption:x}){let[g,w]=(0,s.useState)(!1),v=p??g,b=e=>{w(e),m?.(e)},[y,C]=(0,s.useState)("model"),j=(0,s.useRef)(null),k=(0,s.useRef)(null),{t:S}=(0,o.s)();(0,s.useEffect)(()=>{if(!v)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)}},[v,y]);let N=(0,s.useMemo)(()=>{let t=new Map;for(let e of l)!1!==c[e.provider]&&(t.has(e.provider)||t.set(e.provider,[]),t.get(e.provider).push(e));let n=[...t.entries()].map(([e,t])=>({provider:e,label:i[e]??e,models:[...t].sort((e,t)=>e.name.localeCompare(t.name))}));if(n.sort((e,t)=>e.label.localeCompare(t.label)),e){let t=n.findIndex(t=>t.provider===e.provider);if(t>0){let[e]=n.splice(t,1);n.unshift(e)}}return n},[l,i,c,e]);(0,s.useEffect)(()=>{v&&"model"===y&&requestAnimationFrame(()=>{k.current?.querySelector('[data-selected="true"]')?.scrollIntoView({block:"center"})})},[v,y]);let L=!!e?.id,M=L&&(e?.name||e?.id)||"",E=!f&&L&&t&&"off"!==t?t:void 0,$=(x?.selected?`${x.label} \xb7 `:"")+(L?`${i[e?.provider??""]??e?.provider}/${M}${E?` \xb7 ${E}`:""}`:S.selectModel);return(0,r.jsxs)("div",{ref:j,className:"relative",children:[(0,r.jsxs)("button",{type:"button",className:"chip","data-open":v,title:$,"aria-label":$,"aria-haspopup":"menu","aria-expanded":v,disabled:h,onClick:()=>{b(!v),C("model")},children:[(0,r.jsx)("span",{className:"max-w-[220px] truncate",suppressHydrationWarning:!0,children:L?M:S.selectModel}),E&&(0,r.jsx)("span",{style:{color:"var(--dsw-label-caption)",flex:"none",fontSize:13},children:E}),(0,r.jsx)("span",{className:"chevron",children:(0,r.jsx)(a.Cd,{size:14})})]}),v&&(0,r.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,r.jsxs)("div",{className:"py-1",children:[(0,r.jsxs)("button",{type:"button",className:"isx-menu-item flex w-full items-center gap-2 px-3 py-2 text-left",style:{color:"var(--dsw-label-secondary)"},onClick:()=>C("model"),children:[(0,r.jsx)(a.bQ,{size:14})," ",(0,r.jsx)("span",{className:"isx-menu-shift",children:S.thinking})]}),0===n.length&&(0,r.jsx)("div",{className:"px-4 py-3",style:{fontSize:13,color:"var(--dsw-label-caption)"},children:S.emptyEfforts}),n.map(e=>{let n=t===e;return(0,r.jsxs)("button",{type:"button",role:"menuitemradio","aria-checked":n,"data-active":n?"true":void 0,className:"isx-menu-item flex w-full items-center justify-between px-4 py-2 text-left",onClick:()=>{u(e),b(!1)},children:[(0,r.jsx)("span",{className:"isx-menu-shift",style:{fontSize:14},children:e}),n&&(0,r.jsx)("span",{className:"pr-2",style:{display:"inline-flex"},children:(0,r.jsx)(a.df,{size:14})})]},e)})]}),"model"===y&&(0,r.jsxs)("div",{className:"flex min-h-0 flex-col",children:[(0,r.jsxs)("div",{ref:k,className:"max-h-[340px] overflow-x-hidden overflow-y-auto py-1",children:[x&&(0,r.jsxs)("button",{type:"button",role:"menuitemradio","aria-checked":x.selected,"data-selected":x.selected,"data-active":x.selected?"true":void 0,className:"isx-menu-item flex min-h-10 w-full items-center justify-between gap-3 rounded-[12px] px-3 py-2 text-left",style:{fontSize:13},onClick:()=>{x.onSelect(),b(!1)},children:[(0,r.jsx)("span",{className:"isx-menu-shift",children:x.label}),x.selected&&(0,r.jsx)("span",{className:"pr-2",style:{display:"inline-flex"},children:(0,r.jsx)(a.df,{size:14})})]}),0===N.length&&(0,r.jsx)("div",{className:"px-3 py-3",style:{fontSize:13,color:"var(--dsw-label-caption)"},children:S.emptyModels}),N.map(t=>(0,r.jsxs)("section",{role:"group","aria-label":t.label,children:[(0,r.jsx)("div",{className:"truncate px-3 pb-1 pt-2",style:{fontSize:12,fontWeight:500,color:"var(--dsw-label-caption)"},title:t.label,children:t.label}),t.models.map(t=>{let n=!x?.selected&&e?.provider===t.provider&&e?.id===t.id;return(0,r.jsxs)("button",{type:"button",role:"menuitemradio","aria-checked":n,"data-selected":n,"data-active":n?"true":void 0,className:"isx-menu-item flex min-h-10 w-full items-center justify-between gap-3 rounded-[12px] px-3 py-2 text-left",title:t.name||t.id,onClick:()=>{d(t.provider,t.id),b(!1)},children:[(0,r.jsx)("span",{className:"isx-menu-shift min-w-0 flex-1 truncate",style:{fontSize:14,fontWeight:500},children:t.name}),n&&(0,r.jsx)("span",{className:"pr-2",style:{display:"inline-flex",flex:"none"},children:(0,r.jsx)(a.df,{size:16})})]},`${t.provider}/${t.id}`)})]},t.provider))]}),L&&!f&&(n.length>1?(0,r.jsxs)("button",{type:"button",className:"isx-menu-item mt-1 flex w-full items-center justify-between gap-3 border-t px-3 pb-1.5 pt-2 text-left",style:{borderColor:"var(--dsw-border-l2)"},onClick:()=>C("effort"),children:[(0,r.jsx)("span",{className:"isx-menu-shift",style:{fontSize:13.5},children:S.thinking}),(0,r.jsxs)("span",{className:"isx-menu-sub flex min-w-0 items-center gap-1 pr-2",children:[(0,r.jsx)("span",{className:"truncate",style:{fontSize:13,color:"var(--dsw-label-caption)"},children:t??S.thinkingOff}),(0,r.jsx)(a.QY,{size:14,style:{flex:"none"}})]})]}):(0,r.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,r.jsx)("span",{style:{fontSize:13.5,color:"var(--dsw-label-secondary)"},children:S.thinking}),(0,r.jsx)("span",{className:"truncate",style:{fontSize:12.5,color:"var(--dsw-label-caption)"},children:S.thinkingUnsupported})]}))]})]})]})}function W(e){return e.replace(/\\/g,"/")}function F(e){let t=e.replace(/\/+$/,"");return t.slice(t.lastIndexOf("/")+1)}function D(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}let q=new Set([" "," ",'"',"'","="]),Z=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"),_=RegExp(`(?:\\s|${Z.source})`,"u"),V=RegExp(`(?:^|${_.source})$`,"u"),U={"(":")","[":"]","{":"}","<":">","`":"`"};function J(e){return q.has(e)||_.test(e)}let K=new Map,G=new Map;async function Y(e){let t=await fetch(`/api/files?index=1&cwd=${encodeURIComponent(e)}`,{cache:"no-store"}),n=await t.json();if(!t.ok||!n.success)throw Error(n.error||`request failed (${t.status})`);let r=n.data,s={at:Date.now(),candidates:function(e,t){let n=[];for(let e of t)n.push({path:e,dir:!0});for(let t of e)n.push({path:t,dir:!1});return n}(r.files,function(e){let t=new Set;for(let n of e){let e=n.split("/");for(let n=1;n<e.length;n+=1)t.add(e.slice(0,n).join("/"))}return[...t]}(r.files)),source:r.source,truncated:r.truncated};return K.set(e,s),s}var X=n(560);function Q(e,t){if(null===t||t<0||t>e.length)return null;let n=/(?:^|\s)\/([^\s/]*)$/.exec(e.slice(0,t));if(!n)return null;let r=n[1],s=t-r.length-1,l=t;for(;l<e.length&&!/\s/.test(e[l]);)l+=1;return e.slice(s+1,l).includes("/")?null:{start:s,tokenEnd:l,query:r}}let ee={text:"",images:[],uploads:[],references:[]};function et({disabled:e,isStreaming:t,contextPercent:n,contextTokens:l,contextWindow:c,contextSource:d,contextVisible:u=!0,cwd:p,model:m,thinkingLevel:f,thinkingLevels:h,models:x,providerNames:g,authByProvider:w,queue:v,commands:b,onCommand:y,onSend:C,onSteer:j,onFollowUp:k,onAbort:N,onSelectModel:L,onSelectLevel:M,onClearQueue:E,draft:$,initialDraft:z,onDraftChange:T,onUploadError:R,onUploadProgress:I,uploadFailure:A,pendingUploadCount:O=0,pendingSend:Z=!1,onSendPendingChange:_,attachmentLayout:en="overlay"}){let[er,es]=(0,s.useState)(z??ee),el=$??er,ea=(0,s.useRef)(el);ea.current=el;let eo=e=>{let t="function"==typeof e?e(ea.current):e;ea.current=t,void 0===$&&es(t),T?.(e)},{text:ei,images:ec,uploads:ed}=el,eu=el.references??[],ep=el.adopted??null,em=e=>eo(t=>({...t,text:"function"==typeof e?e(t.text):e})),ef=e=>eo(t=>({...t,adopted:e})),eh=(0,s.useRef)([]),ex=(0,s.useRef)(0),eg=(0,s.useRef)(!0),ew=(0,s.useRef)(!1),[ev,eb]=(0,s.useState)(!1),[ey,eC]=(0,s.useState)(""),[ej,ek]=(0,s.useState)(0),eS=ej>0||O>0,eN=ev||Z,[eL,eM]=(0,s.useState)(!1),[eE,e$]=(0,s.useState)(!1),ez=(0,s.useRef)(0),[eT,eR]=(0,s.useState)(!1),[eI,eA]=(0,s.useState)(0),[eP,eO]=(0,s.useState)(!1),[eB,eH]=(0,s.useState)(el.text.length),[eW,eF]=(0,s.useState)(null),[eD,eq]=(0,s.useState)(0),eZ=(0,s.useRef)(null),e_=(0,s.useRef)(null),eV=(0,s.useRef)(null),eU=(0,s.useRef)(null),{t:eJ}=(0,o.s)(),eK=!m?.id,eG=(0,X.yw)(),eY=v.steering.length+v.followUp.length,[eX,eQ]=(0,s.useState)(0);(0,s.useEffect)(()=>(eg.current=!0,()=>{eg.current=!1}),[]),(0,s.useEffect)(()=>{eC(A??"")},[A]),(0,s.useEffect)(()=>{to()},[ei]);let e1=Q(ei,eB),e0=e1?.query??"",e2=!ep&&!!b?.length&&!!e1&&!eP,e3=(b??[]).filter(e=>e.name.toLowerCase().startsWith(e0.toLowerCase())),e5=null!==eW,e4=eW?.query??null,e6=function(e,t){let[n,r]=(0,s.useState)({status:"idle",candidates:[],source:null,truncated:!1,error:null}),l=(0,s.useRef)({cwd:"",controller:new AbortController});return(0,s.useEffect)(()=>{if(!t||!e)return;let n=new AbortController;l.current={cwd:e,controller:n};let s=()=>l.current.controller===n&&!n.signal.aborted,a=K.get(e);if(a){if(r({status:"ready",candidates:a.candidates,source:a.source,truncated:a.truncated,error:null}),Date.now()-a.at<3e4)return()=>n.abort()}else r({status:"loading",candidates:[],source:null,truncated:!1,error:null});return(function(e){let t=G.get(e);if(t)return t;let n=Y(e).finally(()=>G.delete(e));return G.set(e,n),n})(e).then(e=>{s()&&r({status:"ready",candidates:e.candidates,source:e.source,truncated:e.truncated,error:null})},t=>{!s()||K.has(e)||r({status:"error",candidates:[],source:null,truncated:!1,error:t instanceof Error?t.message:String(t)})}),()=>n.abort()},[e,t]),n}(p??"",e5),e8=(0,s.useMemo)(()=>null===e4?[]:function(e,t,n=20){let r=new Set;for(let t of e)t.dir&&r.add(t.path);let s=function(e,t){let n=W(e),r=n.lastIndexOf("/");if(-1===r)return null;let s=n.slice(0,r+1);if(s.startsWith("/")||s.startsWith("~/"))return null;let l=[];for(let e of s.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:n.slice(r+1),displayBase:s}}(t,r),l=s?s.query:t,a=s?.base?`${s.base}/`:"",o=null;if(l){let e=W(l).includes("/"),t=function(e){let t=/\p{Lu}/u.test(e.replace(/\\./g,""));try{let n=new RegExp(e,t?"":"i");return e=>n.test(e)}catch{let n=t?e:e.toLowerCase();return e=>(t?e:e.toLowerCase()).includes(n)}}(function(e){let t=W(e);if(!t.includes("/"))return t;let n=t.replace(/^\/+|\/+$/g,"");if(!n)return t;let r=n.split("/").filter(Boolean).map(D);if(!r.length)return t;let s="[\\\\/]";return r.join(s)+(t.endsWith("/")?s:"")}(l));o=e?t:e=>t(F(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 n=t.dir?`${e}/`:e,r=l?function(e,t,n){let r=F(e).toLowerCase(),s=t.toLowerCase(),l=0;return r===s?l=100:r.startsWith(s)?l=80:r.includes(s)?l=50:e.toLowerCase().includes(s)&&(l=30),n&&l>0&&(l+=10),l}(n,l,t.dir):1;r<=0||i.push({candidate:t,path:n,score:r,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,n).map(({candidate:e,path:t})=>{let n=e.dir?t.slice(0,-1):t;return{candidate:e,label:F(n)+(e.dir?"/":""),description:s?`${s.displayBase}${n}`:n}})}(e6.candidates,e4),[e6.candidates,e4]),e7=Math.min(eD,Math.max(0,e8.length-1));(0,s.useEffect)(()=>{e_.current?.querySelector('[aria-selected="true"]')?.scrollIntoView({block:"nearest"})},[eD,e8.length]);let e9=(e,t)=>{let n=null!==t&&p?function(e,t){let n=Math.max(0,Math.min(t,e.length)),r=e.lastIndexOf("\n",n-1)+1,s=e.slice(r,n),l=function(e){let t=!1,n=-1;for(let r=0;r<e.length;r+=1)'"'===e[r]&&(t=!t)&&(n=r);return t?n:null}(s);if(null!==l&&l>0&&"@"===s[l-1]&&function(e,t){let n=t;for(;n>0&&U[e[n-1]];)n-=1;return q.has(e[n-1]??"")||V.test(e.slice(0,n))}(s,l-1)){let t=e.indexOf('"',n),a=e.indexOf("\n",n);return{query:s.slice(l+1),start:r+l-1,end:n,tokenEnd:-1!==t&&(-1===a||t<a)?t+1:n}}let a=function(e){let t=-1,n=0;for(let r of e)n+=r.length,J(r)&&(t=n-1);return t}(s)+1,o=s.slice(a),i=function(e){let t=e;for(;t.length>0;){let e=U[t[0]];if(!e||t.includes(e,1))break;t=t.slice(1)}return t}(o);if(!i.startsWith("@"))return null;let c=n;for(let t of e.slice(n)){if(J(t))break;c+=t.length}return{query:i.slice(1),start:r+a+o.length-i.length,end:n,tokenEnd:c}}(e,t):null;if(!n){eZ.current=null,eF(null);return}eZ.current===`${n.start}:${e.slice(n.start,n.tokenEnd)}`?eF(null):(eW&&eW.start===n.start&&eW.query===n.query||eq(0),eW&&eW.start===n.start&&eW.query===n.query&&eW.tokenEnd===n.tokenEnd||eF({query:n.query,start:n.start,tokenEnd:n.tokenEnd}))},te=e=>{if(!eW)return;let{start:t,tokenEnd:n}=eW,r=e.dir?`${e.path}/`:e.path;eo(e=>{let s=e.references??[];return{...e,text:e.text.slice(0,t)+e.text.slice(n),references:s.some(e=>e.replace(/[\\/]+$/,"")===r.replace(/[\\/]+$/,""))?s:[...s,r]}}),eF(null),eq(0),requestAnimationFrame(()=>{to();let e=eV.current;e&&(e.focus(),e.setSelectionRange(t,t))})},tt=(0,s.useRef)(null);(0,s.useEffect)(()=>{tt.current?.querySelector('button[aria-selected="true"]')?.scrollIntoView({block:"nearest"})},[eI,e3.length]);let tn=Math.min(eI,Math.max(0,e3.length-1)),tr=()=>e1?ei.slice(0,e1.start)+ei.slice(e1.tokenEnd):ei,ts=e=>{if(ea.current.adopted)return;let t=tr(),n=e1?.start??t.length;ef(e),em(t),eH(n),eO(!0),eA(0),requestAnimationFrame(()=>{to(),eV.current?.focus(),eV.current?.setSelectionRange(n,n)})},tl=async t=>{if(e||eK||ew.current||Z||eS)return;let n=tr();ew.current=!0,eb(!0),_?.(!0),em(n),eH(n.length),eO(!0);try{let e=await C(`/${t.name}`,[]);if(!e?.success)throw Error(e?.error||"Command failed")}catch(e){em(e=>e===n?ei:e),eg.current&&(eH(e1?.tokenEnd??ei.length),eO(!1),eC(e instanceof Error?e.message:String(e)))}finally{ew.current=!1,eg.current&&eb(!1),_?.(!1)}},ta=e=>{if(ea.current.adopted)return;if(e1&&(e1.start>0||e1.tokenEnd<ei.length)){if("builtin"===e.kind){"model"===e.name?eR(!0):y?.(e.name,"");let t=tr();em(t),eH(t.length),eO(!0)}else"extension"===e.kind?tl(e):ts(e);return}let t=e0.slice(e.name.length).trim();if("builtin"===e.kind&&"model"===e.name){eR(!0),em(""),eO(!1);return}if("builtin"===e.kind)y?.(e.name,t);else return"template"!==e.kind||!e.argumentHint||t?void ti(void 0,`/${e.name}${t?` ${t}`:""}`):(em(`/${e.name} `),eO(!0),requestAnimationFrame(()=>eV.current?.focus()),void 0);em(""),eA(0),eO(!1)},to=()=>{let e=eV.current;e&&(e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,336)}px`)},ti=(n,r)=>{if(e||eK||ew.current||Z||eS)return;ew.current=!0,eb(!0),_?.(!0);let s=(r??ea.current.text).trim(),l=[...ea.current.references??[]],a=ep?`/${ep.name}${s?` ${s}`:""}`:s;(async()=>{try{let e;eh.current.length&&await Promise.allSettled(eh.current);let s=ea.current,o=[...s.images],c=[...s.uploads];if(!a&&0===o.length&&0===c.length&&0===l.length)return;if(a.startsWith("/")&&0===o.length&&0===c.length&&0===l.length){let[e,...t]=a.slice(1).split(/\s+/),n=(b??[]).find(t=>"builtin"===t.kind&&t.name.toLowerCase()===e.toLowerCase());if(n){"model"===n.name?eR(!0):y?.(n.name,t.join(" ")),eo(e=>({...e,text:"",adopted:null})),eO(!1);return}}let d=e=>{let t=[e];return l.length&&t.push(l.map(e=>`@${e}`).join("\n")),c.length&&t.push(c.map(e=>{var t;return eJ.attachmentLine.replace("{path}",e.path).replace("{size}",(t=e.size,(0,i.zi)(t).replace(/ /g,"")))}).join("\n")),t.filter(Boolean).join("\n\n")};if(t){let t=n??("steer"===eG?"steer":"followUp");e="followUp"===t&&k?await k(d(a),o):await j(d(a),o)}else e=await C(d(a),o);if(!e?.success){r&&em(r),e?.error&&eg.current&&eC(e.error);return}eo(e=>({...e,text:e.text===s.text?"":e.text,adopted:e.adopted===s.adopted?null:e.adopted,images:e.images.filter(e=>!o.includes(e)),uploads:e.uploads.filter(e=>!c.some(t=>t.path===e.path)),references:(e.references??[]).filter(e=>!l.includes(e))}))}catch(e){r&&em(r),eg.current&&eC(e instanceof Error?e.message:String(e))}finally{ew.current=!1,_?.(!1),eg.current&&eb(!1)}})()},tc=e=>{let t=[...e?.data?.steering??[],...e?.data?.followUp??[]];t.length&&(em(e=>[t.join("\n\n"),e].filter(e=>e.trim()).join("\n\n")),eO(!0),eQ(e=>e+1))};(0,s.useEffect)(()=>{eX&&(to(),eV.current?.focus())},[eX]);let td=async()=>tc(await N()),tu=async()=>tc(await E?.()),tp=t=>{if(t&&!e&&!eK&&!ew.current&&!Z)for(let e of Array.from(t))if(["image/jpeg","image/png","image/webp","image/gif"].includes(e.type)){if(e.size>0x1400000){eC(eJ.imageTooLarge);continue}let t=new Promise(t=>{let n=new FileReader;n.onload=()=>{let r=String(n.result),s={type:"image",data:r.slice(r.indexOf(",")+1),mimeType:e.type};eo(e=>e.images.length>=20?e:{...e,images:[...e.images,s]}),t()},n.onerror=()=>t(),n.onabort=()=>t(),n.readAsDataURL(e)});eh.current.push(t),t.finally(()=>{eh.current=eh.current.filter(e=>e!==t)})}else tm(e)},tm=async e=>{if(e.size>0x6400000)return eC(eJ.uploadTooLarge),!1;if(ea.current.uploads.length+Math.max(ex.current,O)>=16)return eC(eJ.uploadCountLimit),!1;ex.current+=1,I?.(1),ek(e=>e+1),eC("");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}),n=await t.json();if(!t.ok||!n.success)throw Error(n.error||"upload failed");if(n.data?.size!==e.size)throw Error("upload size mismatch");let r={name:n.data.name,path:n.data.path,size:n.data.size};return eo(e=>e.uploads.some(e=>e.path===r.path)?e:{...e,uploads:[...e.uploads,r]}),!0}catch(t){let e=`${eJ.uploadFailed}:${t instanceof Error?t.message:String(t)}`;return R?.(e),eg.current&&eC(e),!1}finally{ex.current-=1,I?.(-1),eg.current&&ek(e=>Math.max(0,e-1))}},tf=(0,s.useRef)(tp);tf.current=tp,(0,s.useEffect)(()=>{let e=e=>null!==e.dataTransfer&&e.dataTransfer.types.includes("Files"),t=()=>{ez.current=0,eM(!1)},n=t=>{e(t)&&(t.preventDefault(),ez.current+=1,eM(!0))},r=t=>{e(t)&&t.preventDefault()},s=t=>{e(t)&&(ez.current=Math.max(0,ez.current-1),0===ez.current&&eM(!1))},l=e=>{null!==e.dataTransfer&&(e.preventDefault(),t(),tf.current(e.dataTransfer.files))};return document.addEventListener("dragenter",n),document.addEventListener("dragover",r),document.addEventListener("dragleave",s),document.addEventListener("drop",l),window.addEventListener("dragend",t),()=>{document.removeEventListener("dragenter",n),document.removeEventListener("dragover",r),document.removeEventListener("dragleave",s),document.removeEventListener("drop",l),window.removeEventListener("dragend",t)}},[]);let th=null!==ep||ei.trim().length>0||ec.length>0||ed.length>0||eu.length>0;return(0,r.jsxs)("div",{ref:eU,className:"relative w-full","data-testid":"composer",children:[eY>0&&(0,r.jsxs)("div",{className:"pw-queue",role:"status","aria-live":"polite",children:[(0,r.jsxs)("div",{className:"pw-queue-list",children:[v.steering.map((e,t)=>(0,r.jsxs)("div",{className:"pw-queue-row",title:e,children:[(0,r.jsxs)("span",{className:"pw-queue-tag pw-queue-tag-steer",children:[(0,r.jsx)("span",{className:"pw-queue-dot"}),eJ.modeSteer]}),(0,r.jsx)("span",{className:"pw-queue-text",children:e})]},`s${t}`)),v.followUp.map((e,t)=>(0,r.jsxs)("div",{className:"pw-queue-row",title:e,children:[(0,r.jsxs)("span",{className:"pw-queue-tag pw-queue-tag-queue",children:[(0,r.jsx)("span",{className:"pw-queue-dot"}),eJ.modeQueue]}),(0,r.jsx)("span",{className:"pw-queue-text",children:e})]},`f${t}`))]}),(0,r.jsxs)("div",{className:"pw-queue-foot",children:[(0,r.jsxs)("button",{type:"button",className:"pw-queue-btn pw-queue-btn-pull",onClick:()=>void tu(),title:"↑",children:[(0,r.jsx)("span",{className:"pw-queue-kbd",children:"↑"}),(0,r.jsx)("span",{children:eJ.queueEdit.replace(/^[↑\s]+/,"")||eJ.queueEdit})]}),(0,r.jsx)("button",{type:"button",className:"pw-queue-btn pw-queue-btn-drop",onClick:()=>void E?.(),children:eJ.queueDrop})]})]}),ey&&(0,r.jsx)("div",{className:"mb-2 px-2",role:"alert",style:{fontSize:12,color:"var(--dsw-danger)"},children:ey}),e5&&(0,r.jsxs)("div",{ref:e_,"data-testid":"mention-menu",className:"popover absolute bottom-full left-0 right-0 z-50 mb-2 max-h-[340px] overflow-x-hidden overflow-y-auto py-1.5",role:"listbox","aria-label":eJ.mentionFiles,style:{overflowY:"auto"},children:[(0,r.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,r.jsx)("span",{children:eJ.mentionFiles}),e6.truncated&&(0,r.jsx)("span",{style:{color:"var(--dsw-warn)"},children:eJ.mentionTruncated}),"disk"===e6.source&&(0,r.jsx)("span",{title:eJ.mentionDiskSourceHint,children:eJ.mentionDiskSource}),(0,r.jsx)("span",{className:"flex-1"}),(0,r.jsx)("span",{children:eJ.mentionHint})]}),"loading"===e6.status&&(0,r.jsx)("div",{className:"px-4 py-2",style:{fontSize:12.5,color:"var(--dsw-label-caption)"},children:eJ.panelLoading}),"error"===e6.status&&(0,r.jsx)("div",{className:"px-4 py-2",style:{fontSize:12.5,color:"var(--dsw-danger)"},role:"alert",children:e6.error}),"ready"===e6.status&&0===e8.length&&(0,r.jsx)("div",{className:"px-4 py-2",style:{fontSize:12.5,color:"var(--dsw-label-caption)"},children:eJ.mentionNoMatch}),e8.map(({candidate:e,label:t,description:n},s)=>(0,r.jsxs)("button",{type:"button",role:"option","aria-selected":s===e7,"data-active":s===e7?"true":void 0,className:"isx-menu-item mx-1.5 flex w-[calc(100%-12px)] items-center gap-2 px-3 py-1.5 text-left",onMouseEnter:()=>eq(s),onClick:()=>te(e),title:e.dir?`${e.path}/`:e.path,children:[(0,r.jsx)("span",{className:"isx-menu-icon",style:{display:"inline-flex",flex:"none"},children:e.dir?(0,r.jsx)(a.pH,{size:13,style:{flex:"none",color:"var(--dsw-warn)"}}):(0,r.jsx)(a.lx,{size:13,style:{flex:"none",color:"var(--dsw-label-caption)"}})}),(0,r.jsx)("span",{className:"isx-menu-shift flex-none truncate",style:{maxWidth:"55%",fontSize:12.5,fontFamily:"var(--font-mono)"},children:t}),n.replace(/\/$/,"")!==t.replace(/\/$/,"")&&(0,r.jsx)("span",{className:"isx-menu-sub min-w-0 flex-1 truncate pr-2",style:{fontSize:11.5,fontFamily:"var(--font-mono)",color:"var(--dsw-label-caption)"},children:n})]},`${e.dir?"d":"f"}:${e.path}`))]}),e2&&e3.length>0&&(0,r.jsxs)("div",{ref:tt,className:"popover absolute bottom-full left-0 right-0 z-50 mb-2 max-h-[340px] overflow-x-hidden overflow-y-auto py-1.5",role:"listbox","aria-label":eJ.slashCatalog,style:{overflowY:"auto"},children:[(0,r.jsx)("div",{className:"px-4 pb-1 pt-1",style:{fontSize:11.5,color:"var(--dsw-label-caption)"},children:eJ.slashCatalog}),e3.map((e,t)=>(0,r.jsxs)("button",{role:"option","aria-selected":t===tn,"data-active":t===tn?"true":void 0,className:"isx-menu-item mx-1.5 flex w-[calc(100%-12px)] items-baseline gap-3 px-3 py-2 text-left",onMouseEnter:()=>eA(t),onClick:()=>ta(e),children:[(0,r.jsx)("span",{className:"isx-menu-shift",style:{fontSize:14,fontWeight:500,flex:"none"},children:e.name}),"builtin"!==e.kind&&(0,r.jsx)("span",{className:"isx-menu-sub 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?eJ.skillType:"template"===e.kind?eJ.promptType:eJ.extensionCmdType}),e.argumentHint&&(0,r.jsx)("span",{className:"isx-menu-sub",style:{fontSize:12,fontFamily:"var(--font-mono)",color:"var(--dsw-label-caption)",flex:"none"},children:e.argumentHint}),(0,r.jsx)("span",{className:"isx-menu-sub truncate pr-2",style:{fontSize:13,color:"var(--dsw-label-tertiary)"},children:e.desc})]},`${e.kind}:${e.name}`))]}),(ec.length>0||eu.length>0||ed.length>0)&&(0,r.jsxs)("div",{className:`pointer-events-none z-20 flex flex-col gap-1.5 pb-2 ${"flow"===en?"relative":"absolute inset-x-0 bottom-full"}`,"data-testid":"composer-attachments",children:[ec.length>0&&(0,r.jsx)(P,{images:ec,disabled:eN,onRemove:e=>eo(t=>({...t,images:t.images.filter((t,n)=>n!==e)})),onClear:()=>eo(e=>({...e,images:[]}))}),eu.length>0&&(0,r.jsxs)("div",{className:"pointer-events-auto flex flex-wrap gap-1 px-1","data-testid":"composer-references",children:[(eE?eu:eu.slice(0,4)).map((e,t)=>{let n=function(e){let t=/[\\/]$/.test(e),n=e.replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean);if(!n.length)return{text:e,dir:t};let r=n.slice(-2).join("/");return{text:t?`${r}/`:n.length>2?`…/${r}`:r,dir:t}}(e);return(0,r.jsxs)("span",{className:"pw-ref-chip group/ref",title:e,style:{animationDelay:`${Math.min(14*t,140)}ms`},children:[n.dir?(0,r.jsx)(a.pH,{size:12,style:{flex:"none",color:"var(--dsw-warn)"}}):(0,r.jsx)(a.lx,{size:12,style:{flex:"none",color:"var(--dsw-accent)"}}),(0,r.jsx)("span",{className:"truncate",children:n.text}),(0,r.jsx)("button",{type:"button",className:"pw-ref-close",disabled:eN,onClick:()=>eo(t=>({...t,references:(t.references??[]).filter(t=>t!==e)})),"aria-label":`${eJ.delete} ${e}`,children:"✕"})]},e)}),eu.length>4?(0,r.jsx)("button",{type:"button",className:"pw-chip","data-testid":"references-toggle",onClick:()=>e$(e=>!e),children:eE?eJ.chipCollapse:eJ.chipExpandMore.replace("{n}",String(eu.length-4))}):null]}),ed.length>0&&(0,r.jsx)(B,{files:ed,disabled:eN,onRemove:e=>eo(t=>({...t,uploads:t.uploads.filter((t,n)=>n!==e)})),onClear:()=>eo(e=>({...e,uploads:[]}))})]}),(0,r.jsxs)("div",{className:"isx-composer relative w-full",children:[(0,r.jsxs)("div",{className:"px-4 pt-3 flex flex-col items-stretch gap-1.5",children:[ep&&(0,r.jsxs)("button",{type:"button",className:"flex-none flex max-w-full items-center gap-1 self-start",disabled:e||eN,"aria-label":`${eJ.delete} /${ep.name}`,title:`${eJ.delete} /${ep.name} (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:()=>{ef(null),requestAnimationFrame(()=>eV.current?.focus())},children:[(0,r.jsx)(a.ZL,{size:14,style:{color:"var(--dsw-accent)",flex:"none"}}),(0,r.jsxs)("span",{className:"min-w-0 truncate",style:{color:"var(--dsw-accent)",fontWeight:600},children:["/",ep.name]}),(0,r.jsx)(a.Bh,{size:12,style:{flex:"none",color:"var(--dsw-label-caption)"}})]}),(0,r.jsx)("textarea",{ref:eV,value:ei,disabled:e||eK||eN,rows:1,placeholder:ep?ep.argumentHint??eJ.inputPlaceholder:!e&&eK?eJ.blockedComposer:eJ.inputPlaceholder,suppressHydrationWarning:!0,className:"min-w-0 w-full resize-none",style:{fontSize:"var(--piweb-chat-font-size, var(--dsh-content-font-size))",lineHeight:1.55},onChange:e=>{let t=e.target.value;em(t),eH(e.target.selectionStart),eO(!1),eA(0),e9(t,e.target.selectionStart),to()},onSelect:e=>{let t=e.target,n=t.selectionStart===t.selectionEnd?t.selectionStart:null;eH(n),Q(t.value,n)?.start!==e1?.start&&eO(!1),e9(t.value,n)},onPaste:e=>{Array.from(e.clipboardData.files).length&&(e.preventDefault(),tp(e.clipboardData.files))},onKeyDown:e=>{if(e5&&!e.nativeEvent.isComposing){if("Escape"===e.key){e.preventDefault(),eW&&(eZ.current=`${eW.start}:${ei.slice(eW.start,eW.tokenEnd)}`),eF(null),eq(0);return}if(e8.length>0){if("ArrowDown"===e.key){e.preventDefault(),eq(e=>Math.min(e+1,e8.length-1));return}if("ArrowUp"===e.key){e.preventDefault(),eq(e=>Math.max(e-1,0));return}if("Enter"===e.key||"Tab"===e.key){e.preventDefault();let t=e8[e7];t&&te(t.candidate);return}}}if(ep&&!e.nativeEvent.isComposing&&("Backspace"===e.key&&0===e.currentTarget.selectionStart&&0===e.currentTarget.selectionEnd||"Escape"===e.key&&""===ei)){e.preventDefault(),ef(null);return}if(e2&&e3.length>0&&!e.nativeEvent.isComposing){if("ArrowDown"===e.key){e.preventDefault(),eA(e=>Math.min(e+1,e3.length-1));return}if("ArrowUp"===e.key){e.preventDefault(),eA(e=>Math.max(e-1,0));return}if("Escape"===e.key){e.preventDefault(),eO(!0);return}if("Enter"===e.key){e.preventDefault(),ta(e3[tn]);return}if("Tab"===e.key){e.preventDefault();let t=e3[tn];if(!t)return;ts(t);return}}if("ArrowUp"===e.key&&""===ei&&eY>0){e.preventDefault(),tu();return}if("Enter"===e.key&&!e.shiftKey&&!e.nativeEvent.isComposing){e.preventDefault();let n=e.ctrlKey||e.metaKey;ti(t&&n?"steer"===(0,X.t7)(eG)?"steer":"followUp":void 0)}}})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2",style:{paddingLeft:8,paddingRight:12,paddingBottom:8,paddingTop:4,height:40,containerType:"inline-size"},children:[(0,r.jsx)("div",{className:"flex-1"}),(0,r.jsx)(H,{model:m,thinkingLevel:f,thinkingLevels:h,models:x,providerNames:g,authByProvider:w,onSelectModel:L,onSelectLevel:M,open:eT,onOpenChange:eR}),u&&(0,r.jsx)(S,{percent:n,tokens:l,contextWindow:c,model:m,source:d}),t&&!th?(0,r.jsx)("button",{className:"btn-primary-circle isx-btn-stop","data-streaming":"true",title:eJ.stop,onClick:()=>void td(),children:(0,r.jsx)(a.uN,{size:16})}):(0,r.jsxs)(r.Fragment,{children:[t&&(0,r.jsx)("button",{className:"btn-ghost-circle isx-btn-stop","data-streaming":"true",title:eJ.stop,onClick:()=>void td(),children:(0,r.jsx)(a.uN,{size:14})}),(0,r.jsx)("button",{className:"btn-primary-circle",title:t?"steer"===eG?eJ.sendSteer:eJ.sendQueue:eJ.send,disabled:!th||e||eK||eN||eS,onClick:()=>ti(),children:(0,r.jsx)(a.Jz,{size:16})})]})]})]}),eL&&(0,r.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,r.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,r.jsx)(a.lx,{size:32,style:{color:"var(--dsw-accent)"}}),(0,r.jsx)("div",{style:{fontSize:15,fontWeight:500,color:"var(--dsw-label-primary)"},children:eS?eJ.uploading:eJ.dropToAttach}),(0,r.jsx)("div",{style:{fontSize:12,color:"var(--dsw-label-caption)"},children:eJ.dropToAttachHint}),(0,r.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:eJ.dropLimits})]})})]})}var en=n(4825),er=n(8476),es=n(9665);function el(e){let t=e.trimStart();if(!t.startsWith("<skill "))return null;let n=/^<skill\s+([^>]*)>/.exec(t);if(!n)return null;let r=n[1],s=/\bname\s*=\s*"([^"]*)"/.exec(r)?.[1]?.trim();if(!s)return null;let l=t.lastIndexOf("</skill>");return l<0?null:{name:s,args:t.slice(l+8).trim()}}var ea=n(8155);function eo({scrollRef:e,revision:t}){let{t:n}=(0,o.s)(),[l,a]=(0,s.useState)([]),[i,c]=(0,s.useState)(0),[d,u]=(0,s.useState)(!1),p=(0,s.useRef)(null),m=(0,s.useCallback)(()=>{let t=e.current;if(!t)return;let n=[],r=t.querySelectorAll('[data-role="user"], [data-role="assistant"]'),s=0;for(let e of r){if("user"===e.dataset.role){s+=1;let t=((e.querySelector(".msg-user-bubble")??e).textContent??"").replace(/\s+/g," ").trim();t&&n.push({key:`u${s}`,level:0,text:t.slice(0,80),el:e});continue}let t=e.querySelectorAll(".md h1, .md h2, .md h3, .md h4"),r=0;for(let e of t){r+=1;let t=(e.textContent??"").replace(/\s+/g," ").trim();t&&n.push({key:`u${s}-h${r}`,level:Number(e.tagName.slice(1)),text:t,el:e})}}a(n)},[e]);return((0,s.useEffect)(()=>{let e=setTimeout(m,400*!!t.endsWith(":1"));return()=>clearTimeout(e)},[m,t]),(0,s.useEffect)(()=>{let t,n=e.current;if(!n)return;let r=new MutationObserver(()=>{clearTimeout(t),t=setTimeout(m,300)});return r.observe(n,{childList:!0,subtree:!0}),()=>{r.disconnect(),clearTimeout(t)}},[m,e]),(0,s.useEffect)(()=>{let t=e.current;if(!t||!l.length)return;let n=0,r=()=>{n=0;let e=t.getBoundingClientRect().top+80,r=0;for(let t=0;t<l.length;t+=1)if(l[t].el.getBoundingClientRect().top<=e)r=t;else break;c(r)},s=()=>{n||(n=requestAnimationFrame(r))};return r(),t.addEventListener("scroll",s,{passive:!0}),()=>{t.removeEventListener("scroll",s),n&&cancelAnimationFrame(n)}},[l,e]),(0,s.useEffect)(()=>{d&&p.current?.querySelector('[data-active="true"]')?.scrollIntoView({block:"nearest"})},[d,i]),l.length<3)?null:(0,r.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":n.outline,children:d?(0,r.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,n)=>{let s=n===i;return(0,r.jsx)("button",{type:"button","data-active":s,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||s?600:400,color:s?"var(--dsw-accent)":0===t.level?"var(--dsw-label-primary)":"var(--dsw-label-secondary)",background:s?"var(--dsw-accent-soft)":"transparent",lineHeight:"20px"},title:t.text,onMouseEnter:e=>{s||(e.currentTarget.style.background="var(--dsw-hover)")},onMouseLeave:e=>{s||(e.currentTarget.style.background="transparent")},onClick:()=>(t=>{let n=e.current;if(!n)return;let r=t.el.getBoundingClientRect().top-n.getBoundingClientRect().top+n.scrollTop-16;n.scrollTo({top:Math.max(0,r),behavior:"smooth"})})(t),children:t.text},t.key)})}):(0,r.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,r.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 ei=n(7765),ec=n(4965),ed=n(2350);let eu="piweb:before-chat-layout";function ep(){window.dispatchEvent(new Event(eu))}function em(e,t){let n=Math.max(0,Math.floor(e/1e3)),r=Math.floor(n/60),s=n%60;return r>0?t.durationMinutes.replace("{minutes}",String(r)).replace("{seconds}",String(s).padStart(2,"0")):t.durationSeconds.replace("{seconds}",String(s))}let ef=(0,en.default)(()=>Promise.all([n.e(5173),n.e(2906)]).then(n.bind(n,2906)).then(e=>e.MarkdownBlock),{loadableGenerated:{webpack:()=>[2906]},ssr:!1,loading:()=>null}),eh=(0,en.default)(()=>Promise.all([n.e(5173),n.e(2906)]).then(n.bind(n,2906)).then(e=>e.StreamingMarkdownBlock),{loadableGenerated:{webpack:()=>[2906]},ssr:!1,loading:()=>null});function ex({durationMs:e,usage:t,t:n}){let[l,o]=(0,s.useState)(!1),c=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(!l)return;let e=e=>{c.current?.contains(e.target)||o(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[l]);let d=(t?.input??0)+(t?.cacheRead??0)+(t?.cacheWrite??0),u=null!=t&&(d>0||(t.output??0)>0);return(0,r.jsxs)("div",{ref:c,className:"relative",children:[(0,r.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:n.turnUsageTitle,"aria-haspopup":"dialog","aria-expanded":l,onClick:()=>o(e=>!e),children:[(0,r.jsx)(a.BF,{size:13,style:{flex:"none"}}),(0,r.jsx)("span",{style:{whiteSpace:"nowrap"},children:n.turnRanFor.replace("{duration}",em(e,n))})]}),l&&(0,r.jsx)("div",{className:"popover absolute left-0 top-full z-50 mt-1.5 w-44 p-3",role:"dialog","aria-label":n.turnUsageTitle,children:(0,r.jsxs)("div",{className:"flex flex-col gap-1",style:{fontSize:"var(--piweb-chat-font-t)",color:"var(--dsw-label-secondary)"},children:[(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,r.jsx)("span",{style:{color:"var(--dsw-label-caption)"},children:n.duration}),(0,r.jsx)("span",{children:em(e,n)})]}),u&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,r.jsx)("span",{style:{color:"var(--dsw-label-caption)"},children:n.inputTokens}),(0,r.jsx)("span",{children:(0,i.yj)(d)})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,r.jsx)("span",{style:{color:"var(--dsw-label-caption)"},children:n.outputTokens}),(0,r.jsx)("span",{children:(0,i.yj)(t.output??0)})]}),(t.cacheRead??0)+(t.cacheWrite??0)>0&&(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,r.jsx)("span",{style:{color:"var(--dsw-label-caption)"},children:n.cacheHits}),(0,r.jsx)("span",{children:(0,i.J0)((t.cacheRead??0)/Math.max(d,1)*100)})]})]}),t?.cost?.total!=null&&t.cost.total>0&&(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,r.jsx)("span",{style:{color:"var(--dsw-label-caption)"},children:n.cost}),(0,r.jsxs)("span",{children:["$",t.cost.total.toFixed(4)]})]})]})})]})}function eg({text:e,onFork:t,onEdit:n,durationMs:l,usage:i,time:c,clockStart:d=!1}){let u,p,m,f,[h,x]=(0,s.useState)(!1),[g,w]=(0,s.useState)(!1),[v,b]=(0,s.useState)(!1),{t:y}=(0,o.s)(),C=void 0===c?null:(0,r.jsx)("span",{className:`msg-clock ${d?"msg-clock-start":""}`,style:{whiteSpace:"nowrap"},suppressHydrationWarning:!0,children:(u=new Date(c),p=new Date,m=`${String(u.getHours()).padStart(2,"0")}:${String(u.getMinutes()).padStart(2,"0")}`,f=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())),`${f} ${m}`)});return(0,r.jsxs)("div",{className:"msg-actions",children:[d&&C,(0,r.jsx)("button",{className:"icon-btn",title:g?y.copyFailed:y.copy,"aria-label":y.copy,onClick:()=>{(0,ea.D)(e).then(e=>{x(e),w(!e),setTimeout(()=>{x(!1),w(!1)},1200)})},children:h?(0,r.jsx)(a.df,{size:14}):(0,r.jsx)(a.sS,{size:14})}),g&&(0,r.jsx)("span",{role:"alert",style:{fontSize:11,color:"var(--dsw-danger)"},children:y.copyFailed}),n&&(0,r.jsx)("button",{className:"icon-btn",title:y.editMessage,"aria-label":y.editMessage,onClick:n,children:(0,r.jsx)(a.PT,{size:14})}),t&&(0,r.jsx)("button",{className:"icon-btn",title:y.forkSession,"aria-label":y.forkSession,disabled:v,style:{opacity:v?.6:void 0},onClick:()=>{v||(b(!0),Promise.resolve(t()).finally(()=>b(!1)))},children:(0,r.jsx)("span",{className:v?"piweb-spin":void 0,style:{display:"inline-flex"},children:(0,r.jsx)(a.r$,{size:14})})}),void 0!==l&&(0,r.jsx)(ex,{durationMs:l,usage:i,t:y}),!d&&C]})}let ew=["Thinking","Pondering","Cogitating","Mulling","Percolating","Brewing","Simmering","Ruminating","Synthesizing","Noodling","Marinating","Crafting"];function ev(e,t){let[n,r]=(0,s.useState)(()=>Date.now());return(0,s.useEffect)(()=>{if(!t)return;r(Date.now());let e=setInterval(()=>r(Date.now()),1e3);return()=>clearInterval(e)},[t]),e?Math.max(0,n-e):0}function eb(e){let t=Math.max(0,Math.round(e/1e3));if(t<60)return`${t}s`;let n=Math.floor(t/60);return n<60?`${n}m ${t%60}s`:`${Math.floor(n/60)}h ${n%60}m ${t%60}s`}function ey({kind:e}){let t={size:14,style:{flex:"none"}};switch(e){case"cmd":return(0,r.jsx)(a.ZL,{...t});case"read":return(0,r.jsx)(a.NA,{...t});case"search":return(0,r.jsx)(a.FG,{...t});case"write":return(0,r.jsx)(a.PT,{...t});case"think":case"summary":return(0,r.jsx)(a.RX,{...t});case"context":return(0,r.jsx)(a.lx,{...t});case"error":return(0,r.jsx)(a.PP,{...t});case"abort":return(0,r.jsx)(a.Bh,{...t});case"retry":return(0,r.jsx)(a.Ct,{...t});case"work":return(0,r.jsx)("span",{className:"pw-pi","aria-hidden":!0,children:"π"});case"skill":return(0,r.jsx)(a.i7,{size:14,style:{flex:"none"}});default:return(0,r.jsx)(a.tq,{...t})}}function eC({kind:e,tone:t="dim",live:n,className:s,children:l}){return(0,r.jsxs)("div",{className:s?`pw-step ${s}`:"pw-step","data-kind":e,"data-tone":t,"data-live":n||void 0,children:[(0,r.jsx)("span",{className:"pw-icon","aria-hidden":!0,children:(0,r.jsx)(ey,{kind:e})}),(0,r.jsx)("div",{className:"pw-body",children:l})]})}function ej(e,t){let n,s=[],l=/\{(\w+)\}/g,a=0,o=0;for(;n=l.exec(e);)n.index>a&&s.push(e.slice(a,n.index)),s.push((0,r.jsx)("strong",{children:t[n[1]]??""},o++)),a=n.index+n[0].length;return a<e.length&&s.push(e.slice(a)),s}let ek=e=>"string"==typeof e?e:void 0,eS=(0,s.memo)(function({id:e,name:t,args:n,state:l,cwd:i,onInspectTool:c,onOpenFile:u}){let p,[x,v]=(0,s.useState)(!1),{t:S}=(0,o.s)(),N=d(t),L=!l||"running"===l.state,M=ev(l?.startedAt,L),E=l?.result??l?.partialResult??"",$="write"===t.toLowerCase(),z=(0,s.useMemo)(()=>{if("write"!==N||!l||"done"!==l.state)return null;let e=(0,er.rj)(l.patch||E);if(e)return e;if($){let e=ek(n?.content);if(e)return e.replace(/\r/g,"").replace(/\n$/,"").split("\n").map((e,t)=>({kind:"add",new:t+1,text:e}))}return null},[n,$,N,E,l]),T=!!l?.isError&&!L,R=function(e,t,n){let r=t??{},s=e.toLowerCase(),l=d(e),a=e=>{let t=ek(e);return t?m(t,n):""};if("cmd"===l){let e=h(ek(r.command)??ek(r.cmd)??ek(r.script)??"",n);return{text:e.text,scriptLines:e.lines}}return"grep"===s||"glob"===s||"find"===s?{text:[ek(r.pattern),a(r.path)].filter(Boolean).join(" "),scriptLines:0}:"read"===l||"write"===l||"ls"===s?{text:a(r.path??r.file_path),scriptLines:0}:{text:(Object.values(r).find(e=>"string"==typeof e)??"").replace(/\s+/g," ").slice(0,160),scriptLines:0}}(t,n,i),I=(0,s.useMemo)(()=>{try{let e=n&&"object"==typeof n&&!Array.isArray(n)?Object.fromEntries(Object.entries(n).map(([e,t])=>[e,"string"==typeof t&&t.length>600?`${t.slice(0,600)}…`:t])):n;return JSON.stringify(e,null,2).slice(0,2e3)}catch{return R.text}},[n,R.text]),A="read"!==N&&"write"!==N?"":ek(n?.path??n?.file_path)??"",P="cmd"===N?ek(n?.command)??ek(n?.cmd)??ek(n?.script)??"":"",O="cmd"===N&&!L&&!T&&w(P).some(g)?function(e){for(let t of w(e)){if(!g(t))continue;let e=t.trim().match(/"[^"]*"|'[^']*'|\S+/g)??[],n=e[0]?.toLowerCase()==="git"?2:1,r=e.slice(n).find(e=>!e.startsWith("-"));if(r)return r.replace(/^["']|["']$/g,"")}return""}(P):"",B=l?function(e,t,n,r){let s="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)),c=(e,t)=>n[e].replace("{n}",String(t)),d=e=>r?e.map(e=>y(e,r)):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:d(u.slice(-e)),hidden:Math.max(0,i.length-Math.min(e,u.length)),side:"tail"}),m=e=>({lines:d(i.slice(0,e)),hidden:Math.max(0,i.length-e),side:"head"}),x={lines:[],hidden:0},g=t.args,w="cmd"===e?ek(g?.command)??ek(g?.cmd)??ek(g?.script)??"":"";if(s)return"cmd"===e&&i.length?p(3):x;if(t.isError)return{head:void 0!==o&&0!==o?`${n.toolFailed} \xb7 ${n.toolExit.replace("{code}",String(o))}`:n.toolFailed,..."cmd"===e?p(4):m(4)};switch(e){case"read":{let e,t="dockerfile"===(e=f(ek(g?.path??g?.file_path)??"").toLowerCase())?"Dockerfile":"makefile"===e?"Makefile":C[e.includes(".")?e.slice(e.lastIndexOf(".")+1):""]??"";return{head:i.length?`${c("resultRead",i.length)}${t?` \xb7 ${t}`:""}`:n.toolNoOutput,lines:[],hidden:0}}case"search":return i.length?{head:c("resultFound",i.length),...m(3)}:{head:n.toolNoOutput,lines:[],hidden:0};case"cmd":{let e=void 0!==o&&0!==o?n.toolExit.replace("{code}",String(o)):void 0;if(!i.length)return{head:e??n.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 n=t.trim().replace(/^(?:\w+=\S*\s+)+/,"").split(/\s+/),r=f(n[0]??"").replace(/\.exe$/i,"").toLowerCase();return"git"===r?k.has((n[1]??"").toLowerCase())?"head":"tail":j.has(r)?"head":"tail"}(h(w,r).text)?m(3):p(3)}}case"write":return x;default:return i.length?m(2):{head:n.toolNoOutput,lines:[],hidden:0}}}(N,l,S,i):{lines:[],hidden:0},H=!!(z&&z.length),W=!!(E||l?.encodingLoss),F=W&&!H&&!L,D=l?.startedAt&&l?.endedAt?l.endedAt-l.startedAt:0,q=!!B.head||B.lines.length>0,Z=W&&(x&&F||T&&H),_=H&&z&&x?z:null,V=H&&z?$&&!l?.patch?S.diffSummary.replace("{add}",String(z.length)).replace("{del}","0"):S.diffSummary.replace("{add}",String(z.filter(e=>"add"===e.kind).length)).replace("{del}",String(z.filter(e=>"del"===e.kind).length)):"",U=()=>v(e=>!e),J=e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),U())};return(0,r.jsxs)(eC,{kind:N,tone:L?"live":T?"fail":"dim",live:L,className:"group/tool",children:[(0,r.jsxs)("div",{className:"pw-line",role:H?"button":void 0,tabIndex:H?0:void 0,"aria-expanded":H?x:void 0,style:H?{cursor:"pointer"}:void 0,title:H?x?S.collapseOutput:S.expandDiff:void 0,onClick:H?U:void 0,onKeyDown:H?J:void 0,children:[L?(0,r.jsx)("span",{className:"pw-shimmer",children:S.stepRunning}):(0,r.jsx)("span",{className:"pw-verb","data-failed":T||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))}),R.text?(0,r.jsx)("span",{className:"pw-arg",title:I,children:R.text}):(0,r.jsx)("span",{className:"pw-arg",style:{color:"var(--dsw-label-caption)"},children:b(t)}),V&&(0,r.jsx)("span",{className:"pw-meta",children:V}),H&&(0,r.jsx)("span",{className:"pw-meta","aria-hidden":!0,style:{display:"inline-flex",transform:x?"rotate(90deg)":void 0,transition:"transform var(--ds-duration-fast)"},children:(0,r.jsx)(a.QY,{size:11})}),O&&(0,r.jsx)("span",{className:"pw-meta",style:{color:"var(--dsw-danger)"},title:O,children:S.deletedFile.replace("{path}",y(O,i||""))}),R.scriptLines>1&&(0,r.jsx)("span",{className:"pw-meta",children:S.commandLines.replace("{n}",String(R.scriptLines))}),L&&(0,r.jsx)("span",{className:"pw-meta",children:eb(M)}),!L&&D>=1e3&&(0,r.jsx)("span",{className:"pw-meta",children:eb(D)}),u&&A&&(0,r.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(A)},children:(0,r.jsx)(a.lx,{size:13})}),c&&(0,r.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(),c(e)},children:(0,r.jsx)(a.tq,{size:13})})]}),q&&(0,r.jsxs)("div",{className:"pw-result","data-failed":T||void 0,role:F?"button":void 0,tabIndex:F?0:void 0,onClick:F?U:void 0,onKeyDown:F?J:void 0,title:F?x?S.collapseOutput:S.expandOutput:void 0,children:[(0,r.jsx)("span",{className:"pw-rail",children:"⎿"}),(0,r.jsxs)("span",{className:"pw-lines",children:[B.head&&(0,r.jsx)("div",{className:"pw-head",children:B.head}),!x&&"tail"===B.side&&B.hidden>0&&(0,r.jsxs)("div",{className:"pw-more",children:["… ",S.moreLines.replace("{n}",String(B.hidden))]}),!x&&B.lines.map((e,t)=>(0,r.jsx)("div",{children:e},t)),!x&&"tail"!==B.side&&B.hidden>0&&(0,r.jsxs)("div",{className:"pw-more",children:["… ",S.moreLines.replace("{n}",String(B.hidden))]}),x&&F&&(0,r.jsx)("div",{className:"pw-more",children:S.collapseOutput})]})]}),_&&_.length>0&&(0,r.jsxs)("div",{className:"pw-diff",children:[(0,r.jsx)(er.xZ,{lines:_,language:(0,es.f3)(A)}),(0,r.jsx)("button",{type:"button",className:"pw-more",onClick:()=>v(!1),children:S.collapseOutput})]}),Z&&(0,r.jsxs)("div",{className:"pw-output",children:[P&&(0,r.jsx)("div",{className:"cmdline",children:P}),l?.encodingLoss&&(0,r.jsx)("p",{className:"mb-2 whitespace-normal",style:{color:"var(--dsw-warn)"},children:S.encodingLossWarning}),E&&(0,r.jsx)("pre",{style:{margin:0,whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"inherit"},children:E})]})]})}),eN=(0,s.memo)(function({text:e,live:t,startedAt:n}){let[l,a]=(0,s.useState)(!1),{t:i}=(0,o.s)(),c=ev(n,!!t);if(t){let t=e.replace(/\s+/g," ").trim(),s=t.length>220?`…${t.slice(-220)}`:t;return(0,r.jsxs)(eC,{kind:"think",tone:"live",live:!0,children:[(0,r.jsxs)("div",{className:"pw-line",children:[(0,r.jsxs)("span",{className:"pw-shimmer",children:[i.thinkingLive,"…"]}),n&&c>=3e3?(0,r.jsx)("span",{className:"pw-meta",children:eb(c)}):null]}),s&&(0,r.jsx)("div",{className:"pw-tail",children:s})]})}return(0,r.jsxs)(eC,{kind:"think",children:[(0,r.jsx)("button",{type:"button",className:"pw-line pw-clickable",onClick:()=>a(e=>!e),"aria-expanded":l,title:i.thinkLabel,children:(0,r.jsx)("span",{className:"pw-gist",children:function(e,t=140){let n=e.replace(/\s+/g," ").trim();if(!n)return"";let r=n.match(/^.*?(?:[.!?](?=\s|$)|[。!?])/),s=r?r[0].trim():n,l=/[㐀-鿿]/.test(s)?4:12;return s.length<l&&n.length>s.length&&(s=n),s.length>t?`${s.slice(0,t-1).trimEnd()}…`:s}(e,140)})}),l&&(0,r.jsx)("pre",{className:"pw-output pw-think-full",children:e})]})}),eL=(0,s.memo)(function({text:e,live:t,error:n}){let[l,a]=(0,s.useState)(!!t);return t&&!l&&a(!0),(0,r.jsx)("div",{className:"pw-narr","data-error":n||void 0,children:l?(0,r.jsx)(eh,{text:e,live:!!t}):(0,r.jsx)(ef,{text:e})})}),eM={rateLimit:"modelErrorRateLimit",billing:"modelErrorBilling",auth:"modelErrorAuth",notFound:"modelErrorNotFound",context:"modelErrorContext",timeout:"modelErrorTimeout",server:"modelErrorServer",network:"modelErrorNetwork",moderation:"modelErrorModeration"};function eE({message:e,count:t}){let n,{t:s}=(0,o.s)(),l=(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),a=l?s[eM[l]]:"";return(0,r.jsx)(eC,{kind:"error",tone:"warn",children:(0,r.jsxs)("div",{className:"pw-line",children:[(0,r.jsxs)("span",{className:"pw-warn-text",title:e,children:[s.modelError,": ",e,a?` \xb7 ${a}`:""]}),t>1&&(0,r.jsx)("span",{className:"pw-meta",children:s.modelErrorTimes.replace("{n}",String(t))})]})})}function e$(){let{t:e}=(0,o.s)();return(0,r.jsx)(eC,{kind:"abort",children:(0,r.jsx)("div",{className:"pw-line",children:e.turnAborted})})}function ez({text:e}){let[t,n]=(0,s.useState)(!1),[l,...a]=e.replace(/\s+/g," ").trim().split(":");return(0,r.jsxs)(eC,{kind:"retry",tone:"warn",live:!0,children:[(0,r.jsxs)("button",{type:"button",className:"pw-line pw-clickable",onClick:()=>n(e=>!e),"aria-expanded":t,children:[(0,r.jsx)("span",{className:"pw-verb",style:{color:"var(--dsw-warn)"},children:l}),!t&&a.length>0&&(0,r.jsx)("span",{className:"pw-gist",children:a.join(":")})]}),t&&(0,r.jsx)("pre",{className:"pw-output pw-think-full",children:e})]})}function eT({resource:e,cwd:t}){let[n,l]=(0,s.useState)(!1),{t:a}=(0,o.s)(),i="string"==typeof e?{path:e,content:"",source:"project"}:e;return(0,r.jsxs)(eC,{kind:"context",children:[(0,r.jsxs)("button",{type:"button",className:"pw-line pw-clickable","aria-expanded":n,onClick:()=>l(e=>!e),children:[(0,r.jsx)("span",{className:"pw-verb",children:a.contextInject}),(0,r.jsx)("span",{className:"pw-arg",title:i.path,children:m(i.path,t)})]}),n&&i.content&&(0,r.jsx)("pre",{className:"pw-output",style:{maxHeight:160},children:i.content})]})}function eR({name:e,args:t}){let{t:n}=(0,o.s)(),[l,a]=(0,s.useState)(!1),i=t.replace(/\s+/g," ").trim(),c=(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"pw-verb",children:n.skillStep}),(0,r.jsx)("span",{className:"pw-skill-name",children:e}),i&&!l&&(0,r.jsx)("span",{className:"pw-gist",children:i})]});return(0,r.jsxs)(eC,{kind:"skill",children:[i?(0,r.jsx)("button",{type:"button",className:"pw-line pw-clickable","aria-expanded":l,onClick:()=>a(e=>!e),title:t,children:c}):(0,r.jsx)("div",{className:"pw-line",title:`${n.skillStepTitle} \xb7 ${e}`,children:c}),l&&i&&(0,r.jsx)("pre",{className:"pw-output pw-think-full",children:t})]})}function eI({startedAt:e,outputTokens:t,workingMessage:n,hasLiveStep:s}){let l=ev(e,!0),a=ew[Math.floor(l/3e3)%ew.length],o=n||(s?null:`${a}…`);return(0,r.jsx)(eC,{kind:"work",tone:"live",live:!0,children:(0,r.jsxs)("div",{className:"pw-line",children:[o?(0,r.jsx)("span",{className:"pw-shimmer",children:o}):(0,r.jsx)("span",{className:"pw-verb",children:ej("Working for {d}",{d:eb(l)})}),o&&(0,r.jsx)("span",{className:"pw-meta",children:eb(l)}),t?(0,r.jsxs)("span",{className:"pw-meta",children:["↓ ",(0,i.yj)(t)," tokens"]}):null]})})}function eA(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 n=d(e.call.name);return"cmd"===n||"read"===n||"search"===n}return!1}function eP({run:e,expanded:t,onToggle:n}){let{t:s}=(0,o.s)(),l=[];return e.hasThink&&void 0!==e.durationMs&&l.push(ej(s.sumThought,{d:eb(e.durationMs)})),e.cmds&&l.push(ej(1===e.cmds?s.sumRan1:s.sumRan,{n:String(e.cmds)})),e.reads&&l.push(ej(1===e.reads?s.sumRead1:s.sumRead,{n:String(e.reads)})),e.searches&&l.push(ej(1===e.searches?s.sumSearched1:s.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,r.jsx)(eC,{kind:e.hasThink?"summary":e.cmds?"cmd":e.reads?"read":"search",children:(0,r.jsxs)("button",{type:"button",className:"pw-line pw-clickable pw-summary","aria-expanded":t,onClick:n,children:[(0,r.jsx)("span",{className:"pw-gist",children:l.map((e,t)=>(0,r.jsxs)("span",{children:[t>0?s.sumJoin:"",e]},t))}),(0,r.jsx)(a.QY,{size:12,className:"pw-chev"})]})})}function eO({item:e,cwd:t,onInspectTool:n,onOpenFile:s}){switch(e.kind){case"think":return(0,r.jsx)(eN,{text:e.text,live:e.live,startedAt:e.startedAt});case"narr":return(0,r.jsx)(eL,{text:e.text,live:e.live,error:e.error});case"image":return(0,r.jsx)("div",{className:"pw-narr",children:(0,r.jsx)(ei._,{image:{type:"image",mimeType:e.mimeType,data:e.data},className:"my-1 max-h-96 max-w-full rounded-2xl object-contain"})});case"tool":return(0,r.jsx)(eS,{id:e.call.id,name:e.call.name,args:e.call.arguments,state:e.state,cwd:t,onInspectTool:n,onOpenFile:s});case"error":return(0,r.jsx)(eE,{message:e.message,count:e.count});case"abort":return(0,r.jsx)(e$,{});default:return null}}let eB=(0,s.memo)(function({message:e,onFork:t,showActions:n,turnStartMs:s,roundBadge:l,onShowRound:a}){let{t:i}=(0,o.s)(),c=e.content.filter(e=>"text"===e.type).map(e=>e.text).join(""),d=e.content.filter(e=>"image"===e.type);return(0,r.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,r.jsx)(ef,{text:e.text},t):"image"===e.type?(0,r.jsx)(ei._,{image:e,images:d,index:d.indexOf(e),className:"my-2 max-h-96 max-w-full rounded-2xl object-contain"},t):null),n&&(0,r.jsx)("div",{children:(0,r.jsx)(eg,{text:c.trim(),onFork:e.id&&t?()=>t(e.id):void 0,durationMs:(e.endedAt??e.timestamp)!=null&&null!=s?Math.max(0,(e.endedAt??e.timestamp)-s):void 0,usage:e.usage,time:e.timestamp})}),n&&l&&(0,r.jsx)("div",{className:"mt-1.5 flex items-center",children:(0,r.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,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("span",{style:{color:"var(--dsw-success)"},children:[" +",l.add]}),(0,r.jsxs)("span",{style:{color:"var(--dsw-danger)"},children:[" −",l.del]})]})]})})]})});function eH(e){return e.content.filter(e=>"text"===e.type).map(e=>e.text).join("\n")}function eW({images:e}){return e.length?(0,r.jsx)("div",{className:"mb-2 flex max-w-[85%] flex-wrap justify-end gap-2 self-end",children:e.map((t,n)=>(0,r.jsx)(ei._,{image:t,images:e,index:n,className:"max-h-72 max-w-full rounded-2xl object-contain",style:{border:"0.5px solid var(--dsw-border-l2)"}},n))}):null}let eF=(0,s.memo)(function({message:e,onEditMessage:t}){let{t:n}=(0,o.s)(),l=eH(e),a=e.content.filter(e=>"image"===e.type),[i,c]=(0,s.useState)(!1),[d,u]=(0,s.useState)(l),p=!!(t&&e.id&&l);if(i)return(0,r.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,r.jsx)(eW,{images:a}),(0,r.jsx)("div",{className:"msg-user-bubble w-full",children:(0,r.jsx)("textarea",{className:"w-full resize-none bg-transparent outline-none",style:{minHeight:68,font:"inherit",color:"inherit"},value:d,"aria-label":n.editMessage,autoFocus:!0,onChange:e=>u(e.target.value),onKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),c(!1)),"Enter"!==e.key||e.shiftKey||(e.preventDefault(),m())}})}),(0,r.jsxs)("div",{className:"mt-1.5 flex items-center gap-2",children:[(0,r.jsx)("button",{type:"button",className:"btn-outline",style:{height:26,padding:"0 10px",fontSize:12},onClick:()=>c(!1),children:n.cancel}),(0,r.jsx)("button",{type:"button",className:"btn-primary-white",style:{height:26,padding:"0 12px",fontSize:12},disabled:!d.trim(),onClick:m,children:n.sendEdit})]})]});function m(){let n=d.trim();n&&t&&e.id&&(c(!1),t(e.id,n))}return(0,r.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,r.jsx)(eW,{images:a}),l&&(0,r.jsx)("div",{className:"msg-user-bubble",children:(0,r.jsx)(ef,{text:l})}),l&&(0,r.jsx)(eg,{text:l,clockStart:void 0!==e.timestamp,time:e.timestamp,onEdit:p?()=>{u(l),c(!0)}:void 0})]})});function eD(e){let t=e.content.some(e=>"text"===e.type&&e.text.trim()),n=e.content.some(e=>"toolCall"===e.type),r=e.stopReason??"stop";return t&&!n&&"toolUse"!==r&&"pending"!==r&&"error"!==r&&"aborted"!==r}function eq({turn:e,messages:t}){let{t:n}=(0,o.s)(),s=e.userIndex>=0?t[e.userIndex]:void 0,l=e.assistantIndexes[e.assistantIndexes.length-1],a=void 0!==l&&eD(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,r.jsxs)(r.Fragment,{children:[s&&(0,r.jsx)("div",{className:"group mt-7 flex w-full flex-col items-end first:mt-0","data-role":"user","data-message-id":s.id,children:(0,r.jsx)("div",{className:"msg-user-bubble pw-turn-lite",children:(0,r.jsx)("div",{children:i(s)})})}),e.assistantIndexes.map(e=>{let s=t[e];if(!s)return null;let l=s.content.some(e=>"thinking"===e.type),o=s.content.filter(e=>"toolCall"===e.type).length,c=i(s);return e===a?(0,r.jsx)("div",{className:"group w-full",style:{marginTop:14},"data-role":"assistant",children:(0,r.jsx)("div",{className:"md pw-turn-lite",children:function(e){let t=[],n=[],s=null,l=()=>{n.join("").trim()&&t.push((0,r.jsx)("div",{children:n.join("\n")},t.length)),n=[]};for(let a of e.split("\n")){let e=/^\s*(`{3,}|~{3,})/.exec(a)?.[1];e&&(!s||e.startsWith(s))&&(s=s?null:e.slice(0,3));let o=s||e?null:/^ {0,3}(#{1,4})\s+(.+?)\s*#*\s*$/.exec(a);if(!o){n.push(a);continue}l();let i=`h${o[1].length}`;t.push((0,r.jsx)(i,{children:o[2]},t.length))}return l(),t}(c)})},e):(0,r.jsxs)("div",{className:"group w-full",style:{marginTop:14},children:[(l||o>0)&&(0,r.jsxs)("div",{className:"pw-line",style:{color:"var(--dsw-label-tertiary)"},children:[l&&(0,r.jsx)("span",{children:n.thinkLabel}),l&&o>0&&(0,r.jsx)("span",{children:" \xb7 "}),o>0&&(0,r.jsxs)("span",{children:[n.toolCalls," \xd7 ",o]})]}),c&&(0,r.jsx)("div",{className:"pw-turn-lite",children:(0,r.jsx)("div",{children:c})})]},e)})]})}function eZ({message:e}){let{t}=(0,o.s)(),[n,l]=(0,s.useState)(!1),a="branch"===e.summaryKind,c=e.summary?.trim(),d=a?t.branchSummaryTitle:e.tokensBefore?t.compactedTitleTokens.replace("{tokens}",(0,i.yj)(e.tokensBefore)):t.compactedTitle,u=(0,r.jsx)("span",{"aria-hidden":"true",style:{flex:1,borderTop:"1px dashed var(--dsw-border-l3)"}});return(0,r.jsxs)("div",{className:"w-full","data-role":"summary","data-message-id":e.id,style:{fontSize:"var(--piweb-chat-font-s)",color:"var(--dsw-label-caption)"},children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[u,(0,r.jsx)("span",{style:{flex:"none",color:"var(--dsw-label-secondary)"},children:d}),u]}),(0,r.jsxs)("div",{className:"mt-1 flex flex-wrap items-center justify-center gap-x-2 text-center",children:[(0,r.jsx)("span",{children:a?t.branchSummaryHint:t.compactedHint}),c&&(0,r.jsx)("button",{type:"button",className:"hover:underline","aria-expanded":n,onClick:()=>l(e=>!e),style:{color:"var(--dsw-label-secondary)"},children:n?t.hideSummary:t.showSummary})]}),n&&c&&(0,r.jsx)("div",{className:"mt-2 rounded-xl px-3 py-2",style:{background:"var(--dsw-hover)",color:"var(--dsw-label-primary)"},children:(0,r.jsx)(ef,{text:c})})]})}function e_({stats:e}){let{t}=(0,o.s)();if(!e||0===e.assistantMessages)return null;let n=[t.statsCounts.replace("{turns}",String(e.userMessages)).replace("{steps}",String(e.assistantMessages))],s=[];e.llmMs>0&&s.push(`LLM ${(0,i.c5)(e.llmMs)}`),e.toolMs>0&&s.push(`${t.toolCalls} ${(0,i.c5)(e.toolMs)}`),s.length&&n.push(s.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&&n.push(l.join(" \xb7 "));let a=e.tokens.input+e.tokens.cacheRead+e.tokens.cacheWrite,c=e.tokens.cacheRead>0||e.tokens.cacheWrite>0;(a>0||e.tokens.output>0)&&(a>0&&c&&n.push(`${t.cacheHits} ${(0,i.J0)(e.tokens.cacheRead/a*100)}`),n.push(`${t.inputTokens} ${(0,i.yj)(a)} tok \xb7 ${t.outputTokens} ${(0,i.yj)(e.tokens.output)} tok`));let d=n.join(" | ");return(0,r.jsxs)("div",{className:"group relative mx-auto mt-1 block w-full px-4 pt-1 text-center",children:[(0,r.jsx)("div",{className:"overflow-hidden text-ellipsis whitespace-nowrap",style:{fontSize:"var(--dsh-content-font-size-secondary, 13px)",lineHeight:"20px",color:"var(--dsw-label-caption)"},children:d}),(0,r.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 eV=(0,s.memo)(function({turn:e,messages:t,tools:n,cwd:l,isStreaming:a,isLast:o,lastAssistantIndex:i,contextFiles:c,retryNotice:u,streamStartedAt:p,runningTool:m,outputTokens:f,workingMessage:h,onFork:x,onEditMessage:g,roundBadge:w,onShowRound:v,onInspectTool:b,onOpenFile:y}){let[C,j]=(0,s.useState)(()=>new Set),k=e.userIndex>=0?t[e.userIndex]:void 0,S=(0,s.useMemo)(()=>k?el(eH(k)):null,[k]),N=e.assistantIndexes,L=N[N.length-1],M=a&&o,E=void 0!==L&&eD(t[L])&&!(a&&L===i)?L:-1,$=new Map;{let e=-1,n="";for(let r of N){let s=t[r],l="error"===s.stopReason&&!s.content.some(e=>"text"===e.type&&e.text.trim()||"toolCall"===e.type);if(l&&e>=0&&(s.errorMessage??"")===n){$.set(r,0),$.set(e,($.get(e)??1)+1);continue}if(l){e=r,n=s.errorMessage??"",$.set(r,1);continue}e=-1}}let z=N.filter(e=>e!==E||t[e].content.some(e=>"thinking"===e.type&&e.thinking.trim())).flatMap(e=>{var r,s,l;let o,c,d,u;return r=a&&e===i,s=e===E,l=$.get(e),c=(o=t[e]).content.length-1,d="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:r&&l===c,startedAt:o.timestamp}):"toolCall"===t.type?u.push({kind:"tool",key:`${a}-${t.id}`,msgIndex:e,call:t,state:n[t.id]}):"text"===t.type&&!s&&t.text.trim()?u.push({kind:"narr",key:a,msgIndex:e,text:t.text,live:r&&l===c,error:d}):"image"!==t.type||s||u.push({kind:"image",key:a,msgIndex:e,data:t.data,mimeType:t.mimeType})}),d&&(l??1)>0&&u.push({kind:"error",key:`${e}-err`,msgIndex:e,message:o.errorMessage||o.stopReason||"error",count:l??1}),"aborted"===o.stopReason&&u.push({kind:"abort",key:`${e}-abort`,msgIndex:e}),u}),T=M?z.map(e=>({kind:"item",item:e})):function(e,t,n){let r=[],s=0;for(;s<e.length;){if(!eA(e[s],t)){r.push({kind:"item",item:e[s]}),s+=1;continue}let l=s;for(;l<e.length&&eA(e[l],t);)l+=1;let a=e.slice(s,l),o=0,i=0,c=0,u=!1;for(let e of a)if("think"===e.kind)u=!0;else if("tool"===e.kind){let t=d(e.call.name);"cmd"===t?o+=1:"read"===t?i+=1:c+=1}let p=n(a[0].msgIndex,a[a.length-1].msgIndex);if(o+i+c===0&&void 0===p)for(let e of a)r.push({kind:"item",item:e});else r.push({kind:"run",key:`run-${a[0].key}`,items:a,hasThink:u,cmds:o,reads:i,searches:c,durationMs:p});s=l}return r}(z,E,(e,n)=>{let r=t[e]?.timestamp,s=N.find(e=>e>n),l=void 0!==s?t[s]?.timestamp:t[n]?.endedAt;return"number"==typeof r&&"number"==typeof l&&l>=r?l-r:void 0}),R=z[z.length-1],I=!!m||R?.kind==="think"&&R.live||R?.kind==="narr"&&R.live,A=z.length>0||!!c?.length||M||!!S||o&&!!u;return(0,r.jsxs)(r.Fragment,{children:[k&&!S&&(0,r.jsx)(eF,{message:k,onEditMessage:g}),S&&(0,r.jsx)(eW,{images:k?.content.filter(e=>"image"===e.type)??[]}),A&&(0,r.jsxs)("div",{className:"pw-turn",children:[S&&(0,r.jsx)(eR,{name:S.name,args:S.args}),c?.map((e,t)=>(0,r.jsx)(eT,{resource:e,cwd:l},`ctx-${"string"==typeof e?e:`${e.source}-${e.path}`}-${t}`)),T.map(e=>{if("item"===e.kind)return(0,r.jsx)(eO,{item:e.item,cwd:l,onInspectTool:b,onOpenFile:y},e.item.key);let t=C.has(e.key);return(0,r.jsxs)("div",{className:"pw-run","data-open":t||void 0,children:[(0,r.jsx)(eP,{run:e,expanded:t,onToggle:()=>j(t=>{let n=new Set(t);return n.has(e.key)?n.delete(e.key):n.add(e.key),n})}),t&&e.items.map(e=>(0,r.jsx)(eO,{item:e,cwd:l,onInspectTool:b,onOpenFile:y},e.key))]},e.key)}),o&&u&&(0,r.jsx)(ez,{text:u}),M&&p&&(0,r.jsx)(eI,{startedAt:p,outputTokens:f,workingMessage:h,hasLiveStep:I})]}),E>=0&&(0,r.jsx)(eB,{message:t[E],onFork:x,showActions:!a||!o,turnStartMs:k?.timestamp,roundBadge:w,onShowRound:v})]})},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,n)=>e===t.turn.assistantIndexes[n]))return!1;let n=[e.turn.userIndex,...e.turn.assistantIndexes].filter(e=>e>=0);if(!n.every(n=>e.messages[n]===t.messages[n]))return!1;let r=[];for(let t of n)for(let n of e.messages[t]?.content??[])"toolCall"===n.type&&n.id&&r.push(n.id);return r.every(n=>e.tools[n]===t.tools[n])}),eU="piweb.chatContentWidth";function eJ(e,t){let n=Math.max(320,Math.min(1200,t-64));return Math.max(Math.min(480,n),Math.min(e,n))}function eK(e,t){let n=e.closest(".pi-main");if(!n)return;if(null===t){n.style.removeProperty("--dsh-chat-content-width"),n.style.removeProperty("--dsh-composer-card-max-width");return}let r=eJ(t,e.clientWidth);n.style.setProperty("--dsh-chat-content-width",`${r}px`),n.style.setProperty("--dsh-composer-card-max-width",`${r+32}px`)}function eG({messages:e,tools:t,contextFiles:n,cwd:l,onFork:a,onEditMessage:i,isStreaming:c=!1,error:d,connected:u=!0,onClearError:p,retryNotice:m,compaction:f,onClearCompaction:h,workingMessage:x,stats:g,onOpenTrajectory:w,onOpenFile:v,onOpenPath:b,roundBadges:y,onShowRound:C}){var j;let k,S=(0,s.useRef)(null),N=(0,s.useRef)(null),L=(0,s.useRef)(null),M=(0,s.useRef)(null),E=(0,s.useRef)(!0),$=(0,s.useRef)(0),z=(0,s.useMemo)(()=>({shouldPin:()=>E.current,pin:()=>{let e=S.current;e&&(e.scrollTop=e.scrollHeight)}}),[]);j=z.shouldPin,k=(0,s.useRef)(null),(0,s.useEffect)(()=>{let e=N.current,t=S.current;if(!e||!t)return;let n=0,r=()=>{let n=k.current;if(k.current=null,!n||Date.now()-n.capturedAt>500||e.getBoundingClientRect().width===n.width)return;if(n.bottom){t.scrollTop=t.scrollHeight;return}let r=n.range?.startContainer.isConnected?n.range.getBoundingClientRect():n.element?.isConnected?n.element.getBoundingClientRect():null;r&&(t.scrollTop+=r.top-t.getBoundingClientRect().top-n.top)},s=()=>{n&&cancelAnimationFrame(n),r();let s={width:e.getBoundingClientRect().width,capturedAt:Date.now()};if(j()){k.current={top:0,bottom:!0,...s};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),c=Math.max(l.top+8,o.top+4),d=document.caretRangeFromPoint?.(i,c);d&&t.contains(d.startContainer)&&d.startContainer.nodeType===Node.TEXT_NODE&&d.startOffset<(d.startContainer.textContent?.length??0)?(d.setEnd(d.startContainer,d.startOffset+1),k.current={element:a,range:d,top:d.getBoundingClientRect().top-l.top,bottom:!1,...s}):k.current={element:a,top:o.top-l.top,bottom:!1,...s}},l=new ResizeObserver(()=>{k.current&&(n&&cancelAnimationFrame(n),n=requestAnimationFrame(()=>{n=0,r()}))});return l.observe(e),window.addEventListener(eu,s),()=>{l.disconnect(),window.removeEventListener(eu,s),n&&cancelAnimationFrame(n)}},[N,S,j]);let T=(0,s.useMemo)(()=>({openFile:b??v}),[b,v]),{t:R}=(0,o.s)();(0,s.useEffect)(()=>{let e=N.current;if(!e)return;let t=Number(localStorage.getItem(eU));L.current=Number.isFinite(t)&&t>=480?t:null;let n=()=>eK(e,window.innerWidth<=840?null:L.current),r=new ResizeObserver(n);return r.observe(e),window.addEventListener("resize",n),n(),()=>{r.disconnect(),window.removeEventListener("resize",n),eK(e,null)}},[]);let[I,A]=(0,s.useState)(0),[P,O]=(0,s.useState)(!1),B=(0,s.useRef)(e.length),H=(0,s.useMemo)(()=>{for(let t=e.length-1;t>=0;t-=1)if("user"===e[t].role)return e[t].timestamp},[e]),[W,F]=(0,s.useState)(null);(0,s.useEffect)(()=>{F(e=>c?e??(H&&Date.now()-H<216e5?H:Date.now()):null)},[c,H]);let D=(0,s.useMemo)(()=>Object.values(t).find(e=>"running"===e.state)?.name,[t]),q=(0,s.useMemo)(()=>{for(let t=e.length-1;t>=0;t-=1)if("assistant"===e[t].role)return t;return -1},[e]),Z=(0,s.useMemo)(()=>{let t,n;return t=[],n=null,e.forEach((e,r)=>{"user"===e.role?(n={key:`u${r}`,userIndex:r,assistantIndexes:[]},t.push(n)):"summary"===e.role?(t.push({key:`s${r}`,userIndex:-1,assistantIndexes:[],summaryIndex:r}),n=null):"assistant"===e.role&&(n||(n={key:`a${r}`,userIndex:-1,assistantIndexes:[]},t.push(n)),n.assistantIndexes.push(r))}),t},[e]),_=(0,s.useMemo)(()=>Z.findLastIndex(e=>void 0===e.summaryIndex),[Z]),V=(0,s.useMemo)(()=>e.findIndex(e=>"user"===e.role),[e]),[U,J]=(0,s.useState)(()=>new Set),K=(0,s.useRef)(U);K.current=U;let G=(0,s.useRef)(null);null===G.current&&Z.length&&(G.current=Math.max(0,Z.length-8));let Y=(0,s.useRef)(new Map),X=(0,s.useRef)(null),Q=(0,s.useRef)(0),ee=(0,s.useCallback)(()=>{Q.current||(Q.current=requestAnimationFrame(()=>{Q.current=0;let e=S.current;if(!e)return;let t=window.innerHeight+1800,n=e.getBoundingClientRect().top,r=[],s=null;for(let e of[...Y.current.keys()].sort((e,t)=>e-t)){let l=Y.current.get(e).getBoundingClientRect();!s&&l.bottom>n&&(s={index:e,top:l.top}),K.current.has(e)||l.top>t||l.bottom<-1800||r.push(e)}r.length&&(X.current=s,J(e=>{let t=new Set(e);for(let e of r)t.add(e);return t}))}))},[]);(0,s.useLayoutEffect)(()=>{let e=X.current;X.current=null;let t=S.current;if(!t)return;if(E.current){t.scrollTop=t.scrollHeight;return}if(!e||"u">typeof CSS&&CSS.supports("overflow-anchor","auto"))return;let n=Y.current.get(e.index),r=n?n.getBoundingClientRect().top-e.top:0;Math.abs(r)>=1&&(t.scrollTop+=r)},[U]),(0,s.useEffect)(()=>{ee()},[ee,e.length]);let et=(0,s.useCallback)((e,t)=>{t?Y.current.set(e,t):Y.current.delete(e)},[]),en=(0,s.useRef)(new Map),er=(0,s.useCallback)(e=>{let t=en.current.get(e);return t||(t=t=>et(e,t),en.current.set(e,t)),t},[et]),es=(0,s.useCallback)(e=>e>=(G.current??0)||U.has(e),[U]);return(0,s.useEffect)(()=>{let t=e.length>B.current;if(B.current=e.length,!E.current){t&&A(e=>e+1);return}let n=requestAnimationFrame(()=>{let e=S.current;e&&(e.scrollTop=e.scrollHeight)});return()=>cancelAnimationFrame(n)},[e,t,d,u,m,f,c]),(0,r.jsxs)("div",{ref:N,className:"relative flex h-full min-h-0 flex-col",children:[["left","right"].map(e=>(0,r.jsx)("div",{className:"piweb-conversation-width-handle","data-side":e,role:"separator","aria-orientation":"vertical","aria-label":R.chatWidthHandle,tabIndex:0,onPointerDown:t=>{if(0!==t.button||!N.current)return;t.preventDefault();let n=L.current??Math.max(544,Math.min(.64*N.current.clientWidth,736));M.current={side:e,origin:t.clientX,width:n,pointerId:t.pointerId},t.currentTarget.setPointerCapture(t.pointerId),t.currentTarget.dataset.dragging="true"},onPointerMove:t=>{let n=M.current;if(!n||n.pointerId!==t.pointerId||!N.current)return;let r=(t.clientX-n.origin)*("right"===e?2:-2);n.width=eJ((L.current??n.width)+r,N.current.clientWidth),n.origin=t.clientX,L.current=n.width,eK(N.current,n.width)},onPointerUp:e=>{let t=M.current;if(t&&t.pointerId===e.pointerId&&(M.current=null,e.currentTarget.removeAttribute("data-dragging"),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),N.current)){let e=eJ(t.width,N.current.clientWidth);L.current=e,localStorage.setItem(eU,String(e)),eK(N.current,e)}},onPointerCancel:e=>{e.currentTarget.removeAttribute("data-dragging"),M.current=null,N.current&&eK(N.current,L.current)},onLostPointerCapture:e=>{e.currentTarget.removeAttribute("data-dragging"),M.current&&(M.current=null,N.current&&eK(N.current,L.current))},onWheel:e=>S.current?.scrollBy({top:e.deltaY}),onKeyDown:e=>{if(("ArrowLeft"===e.key||"ArrowRight"===e.key)&&N.current){e.preventDefault();let t="ArrowRight"===e.key?24:-24,n=eJ((L.current??.64*N.current.clientWidth)+t,N.current.clientWidth);L.current=n,localStorage.setItem(eU,String(n)),eK(N.current,n)}}},e)),(0,r.jsx)(ec.d.Provider,{value:z,children:(0,r.jsx)(ed.E,{value:T,children:(0,r.jsx)("div",{ref:S,className:"min-h-0 flex-1 overflow-y-auto",role:"log","aria-live":"polite","aria-relevant":"additions",onScroll:e=>{let t=e.currentTarget,n=t.scrollHeight-t.scrollTop-t.clientHeight,r=n<96,s=t.scrollTop<$.current-1&&n>2;$.current=t.scrollTop,s?E.current=!1:E.current=r,O(!r),r&&A(0),ee()},children:(0,r.jsxs)("div",{className:"mx-auto flex w-full flex-col px-4 py-6",style:{maxWidth:"var(--dsh-chat-content-width)"},children:[Z.map((s,o)=>(0,r.jsx)("div",{"data-turn-slot":o,ref:er(o),className:"mt-7 first:mt-0",children:void 0!==s.summaryIndex?(0,r.jsx)(eZ,{message:e[s.summaryIndex]}):es(o)?(0,r.jsx)(eV,{turn:s,messages:e,tools:t,cwd:l,isStreaming:c,isLast:o===_,lastAssistantIndex:q,contextFiles:s.userIndex>=0&&s.userIndex===V?n:void 0,retryNotice:m,streamStartedAt:W,runningTool:D,outputTokens:g?.tokens.output,workingMessage:x,onFork:a,onEditMessage:i,roundBadge:s.userIndex>=0?y?.get(e[s.userIndex].id??""):void 0,onShowRound:C,onInspectTool:w,onOpenFile:v}):(0,r.jsx)(eq,{turn:s,messages:e})},s.key)),c&&W&&_<0&&(0,r.jsx)("div",{className:"pw-turn",children:(0,r.jsx)(eI,{startedAt:W,outputTokens:g?.tokens.output,workingMessage:x,hasLiveStep:!!D})}),!u&&(0,r.jsx)("div",{className:"mt-3 flex justify-center",children:(0,r.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:R.reconnecting})}),f&&(0,r.jsx)("div",{className:"mt-3 flex justify-center",role:"status",children:(0,r.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,r.jsx)("span",{children:"start"===f.phase?R.compacting:f.errorMessage?`${R.compactionFailed}: ${f.errorMessage}`:R.compactionComplete}),"end"===f.phase&&(0,r.jsx)("button",{type:"button",onClick:h,"aria-label":R.close,className:"icon-btn",children:"\xd7"})]})}),d&&(0,r.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:d})]})})})}),(0,r.jsx)(eo,{scrollRef:S,revision:`${e.length}:${U.size}:${+!!c}`}),(I>0||P)&&(0,r.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,r.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=S.current;e&&e.scrollTo({top:e.scrollHeight,behavior:"smooth"}),E.current=!0,O(!1),A(0)},title:R.backToBottom,children:[(0,r.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:(0,r.jsx)("path",{d:"M8 3.5v9M4.5 9L8 12.5 11.5 9",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})}),I>0&&(0,r.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:I>99?"99+":I})]})})]})}function eY({dialog:e,onAnswer:t}){let{t:n}=(0,o.s)(),[l,i]=(0,s.useState)(""),[c,d]=(0,s.useState)(0),u=(0,s.useRef)(null),p=/permission|approve|allow/i.test(e?.title??""),m=(0,s.useMemo)(()=>e?.message?function(e){let t=e.split("\n").map(e=>e.trim()).filter(Boolean);if(!t.length)return null;let n=[];for(let e of t){let t=/^([^:\s]{1,20})\s*:\s(.+)$/.exec(e);if(!t)return null;n.push({key:t[1],value:t[2]})}return n}(e.message):null,[e?.message,e?.id]);return((0,s.useEffect)(()=>{i(""),d(0)},[e?.id]),(0,s.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,r.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:n=>{n.stopPropagation(),"Escape"===n.key?(n.preventDefault(),t(e.id,{cancelled:!0})):"select"===e.method&&("ArrowDown"===n.key||"ArrowUp"===n.key)?(n.preventDefault(),d(t=>Math.max(0,Math.min(t+("ArrowDown"===n.key?1:-1),(e.options?.length??1)-1)))):"select"===e.method&&"Enter"===n.key&&n.target===n.currentTarget&&(n.preventDefault(),t(e.id,{value:e.options?.[c]}))},children:(0,r.jsxs)("div",{className:"popover flex w-[min(92vw,480px)] flex-col gap-3 p-5",style:{background:"var(--dsw-glass-modal)"},children:[(0,r.jsxs)("div",{className:"flex items-start gap-2.5",children:[p&&(0,r.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,r.jsx)(a.an,{size:16,style:{color:"var(--dsw-warn)"}})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{style:{fontSize:14.5,fontWeight:600,lineHeight:1.4},children:e.title}),(0,r.jsx)("div",{className:"mt-0.5",style:{fontSize:10.5,color:"var(--dsw-label-caption)"},children:n.extensionDialogTag})]})]}),m?(0,r.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,r.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,r.jsx)("span",{className:"flex-none",style:{fontSize:11.5,color:"var(--dsw-label-caption)",width:72},children:e}),(0,r.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,r.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,r.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((n,s)=>{let l=/^(yes|allow|always)/i.test(n.trim()),a=/^(no|deny|never)/i.test(n.trim());return(0,r.jsx)("button",{role:"option","aria-selected":s===c,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:s===c?"var(--dsw-hover)":"transparent",borderLeft:s===c?"2px solid var(--dsw-accent)":"2px solid transparent"},onMouseEnter:()=>d(s),onClick:()=>t(e.id,{value:n}),children:n},`${s}-${n}`)})}),"input"===e.method&&(0,r.jsx)("input",{autoFocus:!0,value:l,placeholder:e.placeholder,onChange:e=>i(e.target.value),onKeyDown:n=>{"Enter"!==n.key||n.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,r.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,r.jsx)("button",{className:"btn-outline",style:{height:32},onClick:()=>t(e.id,{cancelled:!0}),children:n.cancel}),"confirm"===e.method&&(0,r.jsx)("button",{className:"btn-primary-white",style:{height:32},onClick:()=>t(e.id,{confirmed:!0}),children:n.confirm}),"input"===e.method&&(0,r.jsx)("button",{className:"btn-primary-white",style:{height:32},onClick:()=>t(e.id,{value:l}),children:n.confirm})]})]})}):null}function eX({notices:e,onDismiss:t,children:n}){let{t:l}=(0,o.s)();return((0,s.useEffect)(()=>{if(!e.length)return;let n=e.map(e=>setTimeout(()=>t(e.id),Math.max(500,6e3-(Date.now()-e.ts))));return()=>n.forEach(clearTimeout)},[e,t]),e.length||n)?(0,r.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:[n,e.map(e=>{let n;return(0,r.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"===(n=e.type)?"var(--dsw-danger)":"warning"===n?"var(--dsw-warn)":"var(--dsw-accent)"}`},onClick:()=>t(e.id),children:"external_reload"===e.code?l.externalSessionReloaded.replace("{n}",String(e.count??0)):"external_write"===e.code?l.externalSessionWriting.replace("{n}",String(e.count??0)):e.message},e.id)})]}):null}var eQ=n(826),e1=n(9591);let e0="piweb.updateNotice",e2={piweb:"PiWeb",pi:"Pi"};function e3(){let{t:e}=(0,o.s)(),t=(0,e1.M)(),[n,l]=(0,s.useState)(void 0),[a,i]=(0,s.useState)(null);if((0,s.useEffect)(()=>{try{l(localStorage.getItem(e0))}catch{l(null)}(0,e1.fT)()},[]),(0,s.useEffect)(()=>{null===a&&t.loaded&&i(e1.x8.filter(e=>"available"===t.targets[e].phase))},[a,t]),void 0===n||!a?.length||!t.startId||n===t.startId)return null;let c=t.startId,d=a.map(e=>({target:e,...t.targets[e]})),u=d.filter(e=>!e.command&&("available"===e.phase||"error"===e.phase)),p=d.some(e=>"updating"===e.phase),m=d.some(e=>"updated"===e.phase),f=async()=>{for(let e of u)if(!await (0,e1.PG)(e.target))break},h=p?e.updateNoticeUpdatingTitle:m&&!u.length?e.updateNoticeDoneTitle:e.updateNoticeTitle;return(0,r.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,r.jsx)("span",{style:{fontWeight:600,color:"var(--dsw-label-primary)"},children:h}),d.map(t=>(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsxs)("span",{className:"flex items-center gap-1.5",style:{color:"var(--dsw-label-secondary)"},children:[(0,r.jsx)("span",{style:{color:"var(--dsw-label-primary)"},children:e2[t.target]}),(0,r.jsx)(e5,{item:t})]}),t.command&&"available"===t.phase?(0,r.jsxs)("span",{className:"flex flex-col gap-1",children:[(0,r.jsx)("span",{style:{fontSize:11.5,color:"var(--dsw-label-tertiary)"},children:e.updateRunCommandHint}),(0,r.jsx)(eQ.H,{command:t.command})]}):null]},t.target)),m&&!p?(0,r.jsx)("span",{style:{fontSize:11.5,color:"var(--dsw-label-tertiary)"},children:e.updateRestartHint}):null,p?null:(0,r.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,r.jsx)("button",{type:"button",className:"btn-outline",style:{height:26,padding:"0 12px",fontSize:12},onClick:()=>{try{localStorage.setItem(e0,c)}catch{}l(c)},children:m||!u.length?e.updateNoticeOk:e.updateNoticeLater}),u.length?(0,r.jsx)("button",{type:"button",className:"btn-primary-white",style:{height:26,padding:"0 12px",fontSize:12},onClick:()=>void f(),children:e.updateNoticeUpdate}):null]})]})}function e5({item:e}){var t,n;let{t:s}=(0,o.s)();return"updating"===e.phase?(0,r.jsxs)("span",{className:"flex items-center gap-1.5",style:{color:"var(--dsw-label-tertiary)"},children:[(0,r.jsx)("span",{className:"h-3 w-3 flex-none animate-spin rounded-full border-2 border-current border-t-transparent"}),s.updatingNow]}):"updated"===e.phase?(0,r.jsx)("span",{style:{color:"var(--dsw-success)"},children:s.updateNoticeUpdated.replace("{v}",e.latest)}):"error"===e.phase?(0,r.jsx)("span",{className:"line-clamp-3 min-w-0 break-all",style:{color:"var(--dsw-danger)"},title:e.error,children:e.busy?s.updateBusy:`${s.updateFailed}: ${e.error}`}):(0,r.jsx)("span",{children:(t=e,n=s.updateCommits,t.latest===t.current&&t.behind>0?n.replace("{n}",String(t.behind)):`${t.current} → ${t.latest}`)})}function e4(e){let t=e.replace(/\\/g,"/");return t.split("/").filter(Boolean).pop()??t}function e6(e){if(!e)return"";let t=e.replace(/\\/g,"/").replace(/\/+$/,"");return/^[A-Za-z]:\//.test(t)||t.startsWith("//")?t.toLowerCase():t}let e8=(0,s.memo)(function({sessions:e,sessionListError:t,onRetrySessionList:n,archivedSessions:i=[],archivedPaths:c=[],addedWorkspaces:d,removedWorkspaces:u=[],currentPath:p,groupBy:m,orderBy:f,setGroupBy:h,setOrderBy:x,collapsed:g,onToggleCollapse:w,onOpen:v,onNew:b,onNewInWorkspace:y,onRename:C,onFork:j,onArchive:k,onUnarchive:S,onExport:N,getWorkspaceName:L,onRenameWorkspace:M,onDeleteWorkspace:$,onOpenSettings:z,onAddWorkspace:T,draftCwd:R}){let{t:I,lang:A}=(0,o.s)(),[P,O]=(0,s.useState)(""),[B,H]=(0,s.useState)(!1),[W,F]=(0,s.useState)(!1),[D,q]=(0,s.useState)(null),[Z,_]=(0,s.useState)(null),[V,U]=(0,s.useState)(!1),J=(0,s.useRef)(null),K=(0,s.useRef)(null),G=(0,s.useRef)(null),[Y,X]=(0,s.useState)(null),[Q,ee]=(0,s.useState)(""),[et,en]=(0,s.useState)(!1),[er,es]=(0,s.useState)(null),[el,ea]=(0,s.useState)(null),[eo,ei]=(0,s.useState)(!1),[ec,ed]=(0,s.useState)(null),[eu,ep]=(0,s.useState)(!1),em=Y?.type==="workspace"&&Q.trim().length>0&&d.some(e=>e6(e)!==e6(Y.cwd)&&(L?L(e):e4(e))===Q.trim());(0,s.useEffect)(()=>{ep(!0)},[]),(0,s.useEffect)(()=>{Y&&(ee(Y.name),en(!1),es(null),setTimeout(()=>{G.current?.focus(),G.current?.select()},30))},[Y]);let ef=async()=>{if(!Y||et)return;let e=Q.trim();if(!e||"workspace"===Y.type&&(e===Y.name||em)){em&&es(I.workspaceNameConflict.replace("{name}",e));return}en(!0),es(null);try{"session"===Y.type?await C(Y.path,e):await M?.(Y.cwd,e),X(null)}catch(e){es(e instanceof Error?e.message:String(e))}finally{en(!1)}},eh=()=>{et||(X(null),es(null))},ex=async()=>{if(!el||eo)return;let e=el.cwd;ei(!0),ed(null);try{await $?.(e),ea(null)}catch(e){ed(e instanceof Error?e.message:String(e))}finally{ei(!1)}},eg=p?e6(p):"",ew=eg?e.find(e=>e6(e.path)===eg)?.cwd:void 0;(0,s.useEffect)(()=>{if(!W&&!D&&!Z)return;let e=e=>{e.target?.closest?.("[data-menu-trigger]")||(J.current&&!J.current.contains(e.target)&&(F(!1),q(null)),K.current&&!K.current.contains(e.target)&&_(null))};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[W,D,Z]);let{workspaceGroups:ev,ungroupedGroup:eb}=(0,s.useMemo)(()=>{let t=new Set((u||[]).map(e6)),n=new Set,r=[];for(let e of d){let s=e6(e);!s||t.has(s)||n.has(s)||(r.push(e),n.add(s))}let s=new Map;for(let e of r)s.set(e6(e),{cwd:e,sessions:[]});let l=[];for(let t of e){let e=e6(t.cwd);e&&s.has(e)?s.get(e).sessions.push(t):l.push(t)}let a=Array.from(s.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"===f?a.sort((e,t)=>t.lastModified.localeCompare(e.lastModified)):a.sort((e,t)=>e4(e.cwd).localeCompare(e4(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,d,u,f]),[ey,eC]=(0,s.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,s.useEffect)(()=>{try{localStorage.setItem("piweb.openWorkspaces",JSON.stringify([...ey]))}catch{}},[ey]);let ej=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(!p){ej.current=null;return}if(ej.current===p)return;try{if(sessionStorage.getItem("piweb.sessionRestored")){sessionStorage.removeItem("piweb.sessionRestored"),ej.current=p;return}}catch{}let t=e.find(e=>e6(e.path)===e6(p));if(!t)return;ej.current=p;let n=ev.find(e=>e6(e.cwd)===e6(t.cwd));n?eC(e=>e.has(n.cwd)?e:new Set([...e,n.cwd])):eb&&eC(e=>e.has("__ungrouped__")?e:new Set([...e,"__ungrouped__"]))},[p,e,ev,eb]);let ek=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(!R){ek.current=null;return}if(ek.current===R)return;ek.current=R;let e=ev.find(e=>e6(e.cwd)===e6(R))?.cwd??"__ungrouped__";eC(t=>t.has(e)?t:new Set([...t,e]))},[R,ev]);let eS=(0,s.useMemo)(()=>{let t=[...e];return"updated"===f?t.sort((e,t)=>t.modified.localeCompare(e.modified)):t.sort((e,t)=>e.created.localeCompare(t.created)),t},[e,f]),eN=e=>{eC(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})};if(g)return(0,r.jsxs)("div",{className:"flex h-full flex-col items-center gap-3",style:{paddingLeft:10,paddingRight:10,paddingTop:12,paddingBottom:12},children:[(0,r.jsx)("button",{className:"rail-btn",title:"\xbb",onClick:w,children:(0,r.jsx)(l.N,{size:22})}),(0,r.jsx)("button",{className:"rail-btn",title:I.newChat,onClick:b,children:(0,r.jsx)(a.f5,{size:18})}),(0,r.jsx)("button",{className:"rail-btn",title:I.addWorkspace,onClick:T,children:(0,r.jsx)(a.BA,{size:17})}),(0,r.jsx)("button",{className:"rail-btn",title:I.search,onClick:()=>{H(!0),w()},children:(0,r.jsx)(a.FG,{size:17})}),(0,r.jsx)("div",{className:"flex-1"}),(0,r.jsx)("button",{className:"rail-btn",title:I.settings,onClick:z,children:(0,r.jsx)(a.Ec,{size:17})})]});let eL=(e,t,n=!1)=>{let s=!!eg&&e6(e.path)===eg,l=n||c.some(t=>e6(t)===e6(e.path));return(0,r.jsxs)("div",{"data-active":s?"true":void 0,className:"isx-menu-item group relative flex items-center rounded-xl",style:{paddingLeft:t?38:10,paddingRight:14,paddingTop:6,paddingBottom:6,marginTop:2,marginBottom:2},children:[e.streaming&&(0,r.jsx)("span",{className:"state-dot running",style:{position:"absolute",left:t?26:6,width:6,height:6}}),(0,r.jsxs)("button",{className:"flex min-w-0 flex-1 flex-col items-start text-left",onClick:()=>v(e.path),children:[(0,r.jsx)("span",{className:"isx-menu-shift w-full truncate",style:{fontSize:13,fontWeight:s?500:400},children:e.name||e.firstMessage||"(untitled)"}),e.streaming&&e.lastStep&&(0,r.jsx)("span",{className:"isx-menu-sub w-full truncate",style:{fontSize:11,fontFamily:"var(--font-mono)",color:"var(--dsw-label-caption)",lineHeight:"16px"},title:e.lastStep,children:e.lastStep})]}),(0,r.jsx)("span",{className:`isx-menu-sub flex-none pl-1 ${Z===e.path?"hidden":"group-hover:hidden group-focus-within:hidden"}`,style:{fontSize:10.5,color:"var(--dsw-label-caption)"},children:function(e,t){let n=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(n<1)return"zh"===t?"刚刚":"now";if(n<60)return"zh"===t?`${n}分钟`:`${n}m`;let r=Math.floor(n/60);if(r<24)return"zh"===t?`${r}小时`:`${r}h`;let s=Math.floor(r/24);return s<30?"zh"===t?`${s}天`:`${s}d`:"zh"===t?`${Math.floor(s/30)}月`:`${Math.floor(s/30)}mo`}(e.modified,A)}),(0,r.jsx)("span",{className:`flex-none items-center pl-1 ${Z===e.path?"flex":"hidden group-hover:flex group-focus-within:flex"}`,children:(0,r.jsx)("button",{className:"icon-btn",style:{width:22,height:22},title:"...","aria-label":"session-actions","data-menu-trigger":"session",onClick:t=>{t.stopPropagation(),_(Z===e.path?null:e.path),q(null)},children:(0,r.jsx)(a.sB,{size:14})})}),Z===e.path&&(0,r.jsxs)("div",{className:"popover absolute right-1 top-8 z-50 w-36 py-1 shadow-xl",ref:K,children:[(0,r.jsx)(e7,{icon:(0,r.jsx)(a.PT,{size:14}),label:I.rename,onClick:t=>{t.stopPropagation(),_(null),X({type:"session",path:e.path,name:e.name||e.firstMessage||""})}}),(0,r.jsx)(e7,{icon:(0,r.jsx)(a.FQ,{size:14}),label:I.cmdExport,onClick:t=>{t.stopPropagation(),_(null),N?.(e.path)}}),(0,r.jsx)(e7,{icon:(0,r.jsx)(a.r$,{size:14}),label:I.forkSession,onClick:t=>{t.stopPropagation(),_(null),j?.(e.path,e.cwd)}}),(0,r.jsx)(e7,{icon:(0,r.jsx)(a.yD,{size:14}),label:l?I.unarchiveSession:I.archiveSession,title:l?void 0:I.archiveRetentionHint,onClick:t=>{t.stopPropagation(),_(null),l?S?.(e.path):k?.(e.path)}})]})]},e.path)},eM=e=>{let t="__ungrouped__"===e.cwd,n=ey.has(e.cwd),s=!t&&!!ew&&e6(e.cwd)===e6(ew),l=!!R&&(t?!ev.some(e=>e6(e.cwd)===e6(R)):e6(e.cwd)===e6(R)),o=t?I.ungrouped||"未分组":L?L(e.cwd):e4(e.cwd);return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"isx-menu-item group relative flex items-center rounded-xl",style:{background:n||s?"var(--dsw-hover)":"transparent",paddingLeft:10,paddingRight:12,paddingTop:7,paddingBottom:7,marginTop:2,marginBottom:2},children:[(0,r.jsxs)("button",{className:"flex min-w-0 flex-1 items-center gap-2 text-left",onClick:()=>eN(e.cwd),title:o,children:[(0,r.jsx)("span",{className:"isx-menu-sub",style:{color:"var(--dsw-label-tertiary)",display:"inline-flex",transform:n?"rotate(90deg)":"none",transition:"transform 180ms var(--isx-ease)",flex:"none"},children:(0,r.jsx)(a.Yq,{size:11})}),(0,r.jsx)("span",{className:"isx-menu-icon",style:{color:s?"var(--dsw-accent)":"var(--dsw-label-tertiary)",display:"inline-flex",flex:"none"},children:n?(0,r.jsx)(a.P9,{size:15}):(0,r.jsx)(a.pH,{size:15})}),(0,r.jsx)("span",{className:"isx-menu-shift truncate",style:{fontSize:13,fontWeight:s?500:400},children:o})]}),(0,r.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,r.jsx)("button",{className:"icon-btn",style:{width:22,height:22},title:"...","aria-label":"workspace-actions","data-menu-trigger":"workspace",onClick:()=>{q(D===e.cwd?null:e.cwd),_(null)},children:(0,r.jsx)(a.sB,{size:14})}),(0,r.jsx)("button",{className:"icon-btn",style:{width:22,height:22},title:t?I.newChat:I.newSessionHere,onClick:()=>t?b():y(e.cwd),children:(0,r.jsx)(a.Xh,{size:14})})]}),!t&&D===e.cwd&&(0,r.jsxs)("div",{className:"popover absolute right-1 top-9 z-50 w-44 py-1 shadow-xl",ref:J,children:[(0,r.jsx)(e7,{icon:(0,r.jsx)(a.PT,{size:14}),label:I.rename,onClick:t=>{t.stopPropagation(),q(null),X({type:"workspace",cwd:e.cwd,name:o})}}),(0,r.jsx)(e7,{icon:(0,r.jsx)(a.Vd,{size:14}),label:I.deleteWorkspace,danger:!0,onClick:t=>{t.stopPropagation(),q(null),ea({cwd:e.cwd,name:o}),ed(null)}})]})]}),n&&(0,r.jsxs)(r.Fragment,{children:[l&&(0,r.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,r.jsx)(a.f5,{size:14,style:{color:"var(--dsw-accent)",flex:"none",marginRight:8}}),(0,r.jsx)("span",{className:"truncate",style:{fontSize:13,color:"var(--dsw-accent)"},children:I.newChat})]}),e.sessions.map(e=>eL(e,!0))]})]},e.cwd)};return(0,r.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1 px-4 pb-2 pt-4",children:[(0,r.jsx)(l.h,{}),(0,r.jsx)("div",{className:"flex-1"}),(0,r.jsx)("button",{className:"icon-btn",onClick:w,title:"\xab",children:(0,r.jsx)(a.ee,{size:15})})]}),(0,r.jsx)("div",{className:"px-3 pt-1",children:(0,r.jsxs)("button",{className:"btn-new-session w-full",onClick:b,children:[(0,r.jsx)(a.f5,{size:14}),I.newChat]})}),B?(0,r.jsx)("div",{className:"px-3 pb-1 pt-3",children:(0,r.jsxs)("div",{className:"isx-search flex items-center gap-2 px-3 py-2",children:[(0,r.jsx)(a.FG,{size:14,className:"isx-search-icon",style:{color:"var(--dsw-label-caption)",flex:"none"}}),(0,r.jsx)("input",{autoFocus:!0,value:P,onChange:e=>O(e.target.value),placeholder:I.searchSessions,className:"w-full",style:{fontSize:13}}),(0,r.jsx)("button",{className:"icon-btn",style:{width:20,height:20},onClick:()=>{O(""),H(!1)},children:(0,r.jsx)(a.Bh,{size:13})})]})}):(0,r.jsxs)("div",{className:"flex items-center gap-0.5 px-4 pb-1 pt-3",children:[(0,r.jsx)("span",{style:{fontSize:13,color:"var(--dsw-label-primary)"},children:I.workspaces}),(0,r.jsx)("div",{className:"flex-1"}),(0,r.jsx)("button",{className:"icon-btn",style:{width:26,height:26},title:I.search,onClick:()=>H(!0),children:(0,r.jsx)(a.FG,{size:14})}),(0,r.jsxs)("div",{className:"relative",ref:W?J:void 0,children:[(0,r.jsx)("button",{className:"icon-btn",style:{width:26,height:26,background:W?"var(--dsw-active)":void 0,borderRadius:8},title:I.groupBy,onClick:()=>F(e=>!e),children:(0,r.jsx)(a.NQ,{size:14})}),W&&(0,r.jsxs)("div",{className:"popover absolute right-0 top-8 z-50 w-56 py-2",children:[(0,r.jsx)("div",{className:"px-3 pb-1",style:{fontSize:11.5,color:"var(--dsw-label-caption)"},children:I.groupBy}),(0,r.jsx)(e9,{label:I.byWorkspace,checked:"workspace"===m,onClick:()=>{h("workspace"),F(!1)}}),(0,r.jsx)(e9,{label:I.flatList,checked:"flat"===m,onClick:()=>{h("flat"),F(!1)}}),(0,r.jsx)("div",{className:"my-1.5",style:{borderTop:"1px solid var(--dsw-border-l2)"}}),(0,r.jsx)("div",{className:"px-3 pb-1",style:{fontSize:11.5,color:"var(--dsw-label-caption)"},children:I.sortBy}),(0,r.jsx)(e9,{label:I.manualOrder,checked:"manual"===f,onClick:()=>{x("manual"),F(!1)}}),(0,r.jsx)(e9,{label:I.recentUpdated,checked:"updated"===f,onClick:()=>{x("updated"),F(!1)}})]})]}),(0,r.jsx)("button",{className:"icon-btn",style:{width:26,height:26},title:I.addWorkspace,onClick:T,children:(0,r.jsx)(a.BA,{size:14})})]}),(0,r.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto px-3 pb-3",children:[t&&(0,r.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,r.jsxs)("div",{children:[I.sessionListLoadFailed,": ",t]}),(0,r.jsx)("button",{type:"button",className:"mt-1 underline",onClick:n,children:I.retry})]}),B&&P.trim()?0===eS.filter(e=>e.name?.toLowerCase().includes(P.trim().toLowerCase())||e.firstMessage.toLowerCase().includes(P.trim().toLowerCase())||e4(e.cwd).toLowerCase().includes(P.trim().toLowerCase())).length?(0,r.jsx)("div",{className:"px-2 py-6 text-center",style:{fontSize:12.5,color:"var(--dsw-label-caption)"},children:"—"}):eS.filter(e=>e.name?.toLowerCase().includes(P.trim().toLowerCase())||e.firstMessage.toLowerCase().includes(P.trim().toLowerCase())||e4(e.cwd).toLowerCase().includes(P.trim().toLowerCase())).map(e=>eL(e,!1)):B?[...ev,...eb?[eb]:[]].map(e=>(0,r.jsxs)("div",{className:"isx-menu-item flex cursor-pointer items-center gap-2.5 rounded-xl px-2.5 py-2",onClick:()=>{H(!1),eN(e.cwd)},title:"__ungrouped__"===e.cwd?I.ungrouped||"未分组":e.cwd,children:[(0,r.jsx)("span",{className:"isx-menu-icon",style:{color:"var(--dsw-label-tertiary)",display:"inline-flex"},children:(0,r.jsx)(a.pH,{size:15})}),(0,r.jsx)("span",{className:"isx-menu-shift truncate",style:{fontSize:13},children:"__ungrouped__"===e.cwd?I.ungrouped||"未分组":L?L(e.cwd):e4(e.cwd)})]},e.cwd)):"workspace"===m?0!==ev.length||eb?(0,r.jsxs)(r.Fragment,{children:[ev.map(eM),eb&&eM(eb)]}):(0,r.jsx)("div",{className:"px-2 py-6 text-center",style:{fontSize:12.5,color:"var(--dsw-label-caption)"},children:I.noSessions}):(0,r.jsxs)(r.Fragment,{children:[R&&(0,r.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,r.jsx)(a.f5,{size:14,style:{color:"var(--dsw-accent)",flex:"none",marginRight:8}}),(0,r.jsx)("span",{className:"truncate",style:{fontSize:13,color:"var(--dsw-accent)"},children:I.newChat})]}),0===eS.length?[...ev,...eb?[eb]:[]].map(e=>(0,r.jsxs)("div",{className:"flex items-center gap-2.5 rounded-xl px-2.5 py-2",title:e.cwd,children:[(0,r.jsx)("span",{style:{color:"var(--dsw-label-tertiary)",display:"inline-flex"},children:(0,r.jsx)(a.pH,{size:15})}),(0,r.jsx)("span",{className:"truncate",style:{fontSize:13},children:"__ungrouped__"===e.cwd?I.ungrouped||"未分组":L?L(e.cwd):e4(e.cwd)})]},e.cwd)):eS.map(e=>eL(e,!1))]}),!B&&i.length>0&&(0,r.jsxs)("div",{className:"mt-2 border-t pt-2",style:{borderColor:"var(--dsw-border-l2)"},children:[(0,r.jsxs)("button",{type:"button",className:"isx-menu-item flex w-full items-center gap-2 rounded-xl px-2.5 py-2 text-left","aria-expanded":V,title:I.archiveRetentionDetail,onClick:()=>U(e=>!e),children:[(0,r.jsx)("span",{className:"isx-menu-sub",style:{display:"inline-flex",transform:V?"rotate(90deg)":"none",transition:"transform 180ms var(--isx-ease)",color:"var(--dsw-label-tertiary)"},children:(0,r.jsx)(a.Yq,{size:11})}),(0,r.jsx)("span",{className:"isx-menu-icon",style:{display:"inline-flex",color:"var(--dsw-label-tertiary)"},children:(0,r.jsx)(a.yD,{size:15})}),(0,r.jsx)("span",{className:"isx-menu-shift min-w-0 flex-1 truncate",style:{fontSize:13},children:I.archivedSessions}),(0,r.jsx)("span",{className:"isx-menu-sub pr-2",style:{fontSize:11,color:"var(--dsw-label-caption)"},children:i.length})]}),V&&(0,r.jsx)("div",{className:"px-2.5 pb-1",style:{fontSize:11,color:"var(--dsw-label-caption)"},title:I.archiveRetentionDetail,children:I.archiveRetentionHint}),V&&i.map(e=>eL(e,!0,!0))]})]}),(0,r.jsx)("div",{className:"px-3 py-2.5",children:(0,r.jsxs)("button",{className:"isx-menu-item flex w-full items-center gap-2.5 rounded-xl px-4 py-2 text-left",style:{color:"var(--dsw-label-secondary)"},onClick:z,children:[(0,r.jsx)("span",{className:"isx-menu-icon",style:{display:"inline-flex"},children:(0,r.jsx)(a.Ec,{size:16})}),(0,r.jsx)("span",{className:"isx-menu-shift",style:{fontSize:"var(--dsh-content-font-size)"},children:I.settings})]})}),eu&&Y&&(0,E.createPortal)((0,r.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:eh,children:(0,r.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,r.jsx)("button",{type:"button",onClick:eh,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":I.close,children:(0,r.jsx)(a.Bh,{size:16})}),(0,r.jsx)("h3",{id:"rename-dialog-title",className:"text-lg font-medium text-white pr-8",children:"session"===Y.type?I.renameSession||"重命名会话":I.renameWorkspace||"重命名工作区"}),(0,r.jsx)("div",{className:"mt-5 mb-6",children:(0,r.jsx)("input",{ref:G,type:"text",value:Q,disabled:et,onChange:e=>{ee(e.target.value),es(null)},onKeyDown:e=>{"Enter"===e.key&&ef(),"Escape"===e.key&&eh()},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"})}),er&&(0,r.jsx)("p",{className:"-mt-3 mb-5 text-sm",style:{color:"var(--dsw-danger)"},role:"alert",children:er}),(0,r.jsxs)("div",{className:"flex items-center justify-end gap-3",children:[(0,r.jsx)("button",{type:"button",onClick:eh,disabled:et,className:"rounded-full bg-[#2c2c2c] px-5 py-2 text-sm font-medium text-zinc-200 hover:bg-[#383838] transition",children:I.cancel}),(0,r.jsx)("button",{type:"button",onClick:()=>void ef(),disabled:et||!Q.trim()||"workspace"===Y.type&&(Q.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:I.rename})]})]})}),document.body),eu&&el&&(0,E.createPortal)((0,r.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,r.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,r.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":I.close,children:(0,r.jsx)(a.Bh,{size:16})}),(0,r.jsx)("h3",{id:"delete-workspace-dialog-title",className:"text-lg font-medium text-white pr-8",children:I.deleteWorkspace}),(0,r.jsx)("p",{className:"mt-3 text-[14.5px] leading-relaxed text-zinc-300",children:(I.deleteWorkspaceConfirm||"将把“{name}”从工作区列表中移除。文件夹与会话记录会保留,其会话将显示在“未分组”下。").replace("{name}",el.name)}),eo&&(0,r.jsx)("p",{className:"mt-4 text-sm text-zinc-400",role:"status",children:I.deleteWorkspacePending}),ec&&(0,r.jsx)("p",{className:"mt-4 text-sm",style:{color:"var(--dsw-danger)"},role:"alert",children:ec}),(0,r.jsxs)("div",{className:"mt-6 flex items-center justify-end gap-3",children:[(0,r.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:I.cancel}),(0,r.jsx)("button",{type:"button",onClick:()=>void ex(),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:I.deleteWorkspace})]})]})}),document.body)]})});function e7({icon:e,label:t,title:n,danger:s,onClick:l}){return(0,r.jsxs)("button",{title:n,"data-danger":s?"true":void 0,className:"isx-menu-item mx-1 flex w-[calc(100%-8px)] items-center gap-2.5 rounded-lg px-3 py-2 text-left",style:{fontSize:13,color:s?"var(--dsw-danger)":"var(--dsw-label-primary)"},onClick:l,children:[(0,r.jsx)("span",{className:"isx-menu-icon",style:{display:"inline-flex"},children:e}),(0,r.jsx)("span",{className:"isx-menu-shift",children:t})]})}function e9({label:e,checked:t,onClick:n}){return(0,r.jsxs)("button",{"data-active":t?"true":void 0,className:"isx-menu-item mx-1 flex w-[calc(100%-8px)] items-center justify-between rounded-lg pl-4 pr-4 py-2 text-left",style:{fontSize:13,color:"var(--dsw-label-primary)"},onClick:n,children:[(0,r.jsx)("span",{className:"isx-menu-shift",children:e}),t&&(0,r.jsx)(a.df,{size:13})]})}var te=n(2253);async function tt(e,t){let n=await fetch("/api/fs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(void 0===t?{action:e}:{action:e,path:t})}),r=await n.json();if(!n.ok||!r.success)throw Error(r.error||`request failed (${n.status})`);return r.data??{}}function tn({open:e,onConfirm:t,onCancel:n}){let{t:l}=(0,o.s)(),[i,c]=(0,s.useState)([]),[d,u]=(0,s.useState)(null),[p,m]=(0,s.useState)(null),[f,h]=(0,s.useState)(!1),x=(0,s.useCallback)(async e=>{h(!0),m(null);try{u(await tt("list",e))}catch(e){m(e instanceof Error?e.message:String(e))}finally{h(!1)}},[]);if((0,s.useEffect)(()=>{e&&(u(null),m(null),c([]),(async()=>{try{let e=await tt("roots");c(e.roots??[])}catch{}await x()})())},[e,x]),!e)return null;let g={fontSize:13,color:"var(--dsw-label-secondary)"};return(0,r.jsx)("div",{className:"modal-mask fixed inset-0 z-[100] flex items-center justify-center",onMouseDown:e=>{e.target===e.currentTarget&&n()},children:(0,r.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,r.jsx)("div",{className:"px-5 pb-2 pt-4",style:{fontSize:15,fontWeight:500},children:l.pickFolderTitle}),i.length>0&&(0,r.jsx)("div",{className:"flex flex-wrap gap-1.5 px-5 pb-2",children:i.map(e=>(0,r.jsx)("button",{type:"button",className:"pw-chip",title:e.path,onClick:()=>void x(e.path),children:e.name},e.path))}),(0,r.jsxs)("div",{className:"flex items-center gap-1.5 px-5 pb-2",children:[(0,r.jsx)("button",{type:"button",className:"icon-btn",style:{width:24,height:24,flex:"none"},disabled:!d?.parent||f,title:l.pickFolderUp,"aria-label":l.pickFolderUp,onClick:()=>d?.parent&&void x(d.parent),children:(0,r.jsx)(a.bQ,{size:13})}),(0,r.jsx)("span",{className:"truncate",style:{fontFamily:"var(--font-mono)",fontSize:12,color:"var(--dsw-label-caption)"},title:d?.path,children:d?.path??l.pickFolderLoading})]}),(0,r.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto px-3",children:[p&&(0,r.jsx)("p",{className:"px-2 py-2",style:{fontSize:13,color:"var(--dsw-danger)"},children:p}),d?.entries.map(e=>(0,r.jsxs)("button",{type:"button",className:"flex w-full items-center gap-2 rounded-lg px-2 py-1.5 text-left transition-colors",style:g,onMouseEnter:e=>{e.currentTarget.style.background="var(--dsw-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},onClick:()=>void x(e.path),children:[(0,r.jsx)("img",{src:(0,te.Q)(e.name,!1),alt:"",width:15,height:15,style:{flex:"none"},draggable:!1}),(0,r.jsx)("span",{className:"truncate",children:e.name})]},e.path)),!p&&d&&0===d.entries.length&&(0,r.jsx)("p",{className:"px-2 py-2",style:{fontSize:13,color:"var(--dsw-label-caption)"},children:l.pickFolderEmpty}),d?.truncated&&(0,r.jsx)("p",{className:"px-2 py-2",style:{fontSize:12,color:"var(--dsw-label-caption)"},children:l.pickFolderTruncated.replace("{n}",String(d.entries.length))})]}),(0,r.jsxs)("div",{className:"flex items-center justify-end gap-2 px-5 py-3.5",children:[(0,r.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:n,children:l.cancel}),(0,r.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:!d||f?.5:1},disabled:!d||f,onClick:()=>d&&t(d.path),children:l.pickFolderConfirm})]})]})})}function tr(){let e=localStorage.getItem("piweb.toolPreset");return"readonly"===e||"full"===e?e:"standard"}let ts=(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 tl(e){let t=e.replace(/\\/g,"/").replace(/\/+$/,"");return/^[A-Za-z]:\//.test(t)||t.startsWith("//")?t.toLowerCase():t}var ta=n(1135);function to(e){let t=e.replace(/\\/g,"/").replace(/\/+$/,"");return/^[A-Za-z]:\//.test(t)||t.startsWith("//")?t.toLowerCase():t}function ti(e,t){if(!t.length)return e;let n=new Set(e.map(e=>e.commit)),r=t.filter(e=>!n.has(e.commit));return r.length?[...e,...r]:e}function tc(e,t,n){e.size>=300&&e.delete(e.keys().next().value),e.set(t,n)}let td=new Set([".git"]);function tu(e,t){return t.filter(t=>!("dir"===t.kind&&!e&&td.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 tp(e,t){t?.throwIfAborted();let n=await fetch(e,{signal:t,cache:"no-store"}),r=await n.json();if(t?.throwIfAborted(),!n.ok||!r.success)throw Error(r.error||`request failed (${n.status})`);return r.data}async function tm(e,t,n){let r=[],s=0;for(;;){let l=new URLSearchParams({cwd:e,path:t,offset:String(s)}),a=await tp(`/api/files?${l}`,n);if(r.push(...a.entries),null===a.nextOffset)return r;if(a.nextOffset<=s)throw Error("directory pagination did not advance");s=a.nextOffset}}var tf=n(6540);let th="piweb.heroModel.",tx=["off","minimal","low","medium","high","xhigh","max"],tg=(0,en.default)(()=>Promise.all([n.e(1675),n.e(2577)]).then(n.bind(n,2577)).then(e=>e.SettingsPanel),{loadableGenerated:{webpack:()=>[2577]},ssr:!1}),tw=(0,en.default)(()=>Promise.all([n.e(7250),n.e(618)]).then(n.bind(n,618)).then(e=>e.TrajInspector),{loadableGenerated:{webpack:()=>[618]},ssr:!1}),tv=(e,t)=>e.replace(/\\/g,"/").replace(/\/+$/,"").toLowerCase()===t.replace(/\\/g,"/").replace(/\/+$/,"").toLowerCase(),tb=(0,en.default)(()=>Promise.all([n.e(4673),n.e(4778)]).then(n.bind(n,4778)).then(e=>e.DrawerPanel),{loadableGenerated:{webpack:()=>[4778]},ssr:!1}),ty=(0,en.default)(()=>n.e(4673).then(n.bind(n,4673)).then(e=>e.GrowthConsentDialog),{loadableGenerated:{webpack:()=>[4673]},ssr:!1}),tC=(0,en.default)(()=>Promise.all([n.e(5173),n.e(2716)]).then(n.bind(n,2716)).then(e=>e.FileViewer),{loadableGenerated:{webpack:()=>[2716]},ssr:!1});function tj(){let e,{t}=(0,o.s)(),{sessions:l,sessionListError:i,retrySessionList:c,archivedSessions:d,archivedSessionPaths:u,currentId:p,currentPath:m,state:f,models:h,addedWorkspaces:x,removedWorkspaces:g,workspaceAliases:w,getWorkspaceName:v,renameWorkspace:b,patchSessionName:y,archiveSession:C,unarchiveSession:j,resync:k,groupBy:S,orderBy:N,setGroupBy:L,setOrderBy:M,addWorkspaceByPicker:E,dirPickerOpen:$,confirmDirPicker:z,cancelDirPicker:T,removeWorkspace:R,refreshModels:I,sendCommand:A,newSession:P,openSession:O,closeSession:B,setToolPreset:H,clearError:W,clearCompaction:F,setError:D,answerExtensionDialog:q,answerGrowthConsent:Z,dismissExtensionNotice:_}=function(){let[e,t]=(0,s.useState)([]),[n,r]=(0,s.useState)(null),[l,a]=(0,s.useState)(0),[o,i]=(0,s.useState)(null),[c,d]=(0,s.useState)(null),[u,p]=(0,s.useState)(ts),m=(0,s.useRef)(null),[f,h]=(0,s.useState)(null),[x,g]=(0,s.useState)([]),[w,v]=(0,s.useState)([]),[b,y]=(0,s.useState)(!1),C=(0,s.useRef)(null),[j,k]=(0,s.useState)("workspace"),[S,N]=(0,s.useState)("updated"),[L,M]=(0,s.useState)(0),[E,$]=(0,s.useState)(0),z=(0,s.useRef)(null),T=(0,s.useRef)(new Set),R=(0,s.useRef)(new Set),I=(0,s.useRef)(null),A=(0,s.useRef)(null),P=(0,s.useRef)(o);P.current=o;let O=(0,s.useRef)(null),B=(0,s.useCallback)(()=>a(e=>e+1),[]),H=(0,s.useCallback)(()=>p(e=>({...e,compaction:null})),[]);(0,s.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 W=(0,s.useCallback)(e=>{let t=new TextEncoder().encode(e),n="";for(let e of t)n+=String.fromCharCode(e);return encodeURIComponent(btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""))},[]);(0,s.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 F=(0,s.useCallback)(e=>{k(e),localStorage.setItem("piweb.groupBy",e)},[]),D=(0,s.useCallback)(e=>{N(e),localStorage.setItem("piweb.orderBy",e)},[]),[q,Z]=(0,s.useState)({}),[_,V]=(0,s.useState)([]),U=(0,s.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)&&g(t.data.workspaces),Array.isArray(t.data.removedWorkspaces)&&v(t.data.removedWorkspaces),t.data.aliases&&"object"==typeof t.data.aliases&&Z(t.data.aliases),Array.isArray(t.data.archivedSessions)&&V(t.data.archivedSessions))}catch(t){let e=t instanceof Error?t.message:"failed to load workspaces";throw p(t=>({...t,error:e})),t}},[]),J=(0,s.useRef)(!1),K=(0,s.useCallback)(async()=>{J.current||await U().catch(()=>void 0)},[U]),G=(0,s.useCallback)((e,n)=>{let r=tl(e);t(e=>e.map(e=>tl(e.path)===r?{...e,name:n}:e))},[]),Y=(0,s.useCallback)(async(e,t)=>{try{let n=await fetch("/api/workspaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"rename",path:e,name:t})}),r=await n.json();if(!n.ok||!r.success)throw Error(r.error||`request failed (${n.status})`);r.data?.aliases&&Z(r.data.aliases)}catch(t){let e=t instanceof Error?t.message:"failed to rename workspace";throw p(t=>({...t,error:e})),t}},[]),X=(0,s.useCallback)(async e=>{try{let t=await fetch("/api/workspaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"archiveSession",path:e})}),n=await t.json();if(!t.ok||!n.success)throw Error(n.error||`request failed (${t.status})`);Array.isArray(n.data?.archivedSessions)&&V(n.data.archivedSessions)}catch(t){let e=t instanceof Error?t.message:"failed to archive session";throw p(t=>({...t,error:e})),t}},[]),Q=(0,s.useCallback)(async e=>{try{let t=await fetch("/api/workspaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"forgetSession",path:e})}),n=await t.json();if(!t.ok||!n.success)throw Error(n.error||`request failed (${t.status})`);Array.isArray(n.data?.archivedSessions)&&V(n.data.archivedSessions)}catch(t){let e=t instanceof Error?t.message:"failed to unarchive session";throw p(t=>({...t,error:e})),t}},[]),ee=(0,s.useCallback)(e=>{if(!e)return"";let t=tl(e);for(let[e,n]of Object.entries(q))if(tl(e)===t&&n.trim())return n;return e.split(/[\\/]/).filter(Boolean).pop()||e},[q]),et=(0,s.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 g(t.data.workspaces??[]),await U(),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}},[U]),en=(0,s.useCallback)(async e=>{y(!1);let t=C.current;C.current=null;try{let n=await fetch("/api/workspaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"add",path:e})}),r=await n.json();if(!n.ok||!r.success)throw Error(r.error||`request failed (${n.status})`);g(r.data?.workspaces??[]),await U(),t?.(e)}catch(n){let e=n instanceof Error?n.message:"failed to add workspace";p(t=>({...t,error:e})),t?.(null)}},[U]),er=(0,s.useCallback)(()=>{y(!1);let e=C.current;C.current=null,e?.(null)},[]),es=(0,s.useCallback)(async e=>{try{let t=await fetch("/api/workspaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"remove",path:e})}),n=await t.json();if(!t.ok||!n.success)throw Error(n.error||`request failed (${t.status})`);n.data&&(Array.isArray(n.data.workspaces)&&g(n.data.workspaces),Array.isArray(n.data.removedWorkspaces)&&v(n.data.removedWorkspaces),n.data.aliases&&"object"==typeof n.data.aliases&&Z(n.data.aliases)),await U()}catch(t){let e=t instanceof Error?t.message:"failed to remove workspace";throw p(t=>({...t,error:e})),t}},[U]);(0,s.useEffect)(()=>{let e,n,s=!0,l=null,a=async o=>{if(s&&(o||"visible"===document.visibilityState)){n=new AbortController;try{let e=await fetch("/api/sessions",{signal:n.signal,headers:l?{"If-None-Match":l}:void 0});if(304===e.status){s&&r(null);return}let a=await e.json();if(!s)return;if(!e.ok||!a.success)throw Error(a.error||`request failed (${e.status})`);r(null),l=e.headers.get("etag");let o=a.data.running??{},i=a.data.workspaceRegistry;i&&(J.current=!0,Array.isArray(i.workspaces)&&g(i.workspaces),Array.isArray(i.removedWorkspaces)&&v(i.removedWorkspaces),i.aliases&&"object"==typeof i.aliases&&Z(i.aliases),Array.isArray(i.archivedSessions)&&V(i.archivedSessions)),t(a.data.sessions.map(e=>({...e,streaming:o[e.path]?.streaming===!0,lastStep:o[e.path]?.lastStep})))}catch(e){s&&!(e instanceof DOMException&&"AbortError"===e.name)&&(r(e instanceof Error?e.message:"session list request failed"),K())}finally{n=void 0,s&&"visible"===document.visibilityState&&(e=setTimeout(()=>void a(!1),3e3))}}},o=()=>{e&&clearTimeout(e),e=void 0,n?.abort(),"visible"===document.visibilityState&&a(!1)};return document.addEventListener("visibilitychange",o),a(!0),()=>{s=!1,e&&clearTimeout(e),n?.abort(),document.removeEventListener("visibilitychange",o)}},[l,K]);let el=(0,s.useCallback)(async()=>{try{let e=await fetch("/api/models"),t=await e.json();t.success&&h({providers:t.data.providers,models:t.data.models})}catch{}},[]);(0,s.useEffect)(()=>{el()},[el]),(0,s.useEffect)(()=>{let e;if(z.current?.close(),z.current=null,!o){O.current=null,p(ts(tr()));return}let t=O.current===o;O.current=o,p(e=>t?{...e,connected:!1}:{...ts(tr()),connected:!1});let n=2e3,r=`/api/agent/${o}/events`,s=e=>{if(!e)return null;let t=`${o}:${e.at}`;return R.current.has(t)?null:(R.current.add(t),{id:`external-reload-${e.at}`,message:"",type:"info",ts:Date.now(),code:"external_reload",count:e.entries})},l=()=>{let t=function({flush:e,schedule:t=e=>{let t=setTimeout(e,16);return()=>clearTimeout(t)},limit:n=400}){let r=[],s=null,l=()=>{s&&(s(),s=null)},a=()=>{if(l(),!r.length)return;let t=r;r=[],e(t)};return{push(e){(r.push(e),r.length>=n)?a():s??=t(a)},flush:a,cancel(){l(),r=[]},size:()=>r.length}}({flush:e=>p(t=>e.reduce((e,t)=>((e,t)=>{let n={...e};switch(t.type){case"delta":{n.retryNotice=null;let e=[...n.messages],r=e.length-1;if(t.messageId)for(;r>=0&&e[r].streamId!==t.messageId&&e[r].id!==t.messageId;)r-=1;else for(;r>=0&&"assistant"!==e[r].role&&"user"!==e[r].role;)r-=1;if(t.messageId&&r>=0&&e[r].stopReason&&"pending"!==e[r].stopReason)return n;(r<0||"assistant"!==e[r].role||(e[r].stopReason??"pending")!=="pending")&&(e.push({role:"assistant",content:[],streamId:t.messageId,stopReason:"pending",timestamp:t.ts}),r=e.length-1);{let n={...e[r]},s=[...n.content];for(;s.length<=t.contentIndex;)s.push({type:"text",text:""});let l={...s[t.contentIndex]};"text"===t.kind&&"text"!==l.type?s[t.contentIndex]={type:"text",text:t.delta}:"thinking"===t.kind?"thinking"!==l.type?s[t.contentIndex]={type:"thinking",thinking:t.delta}:(l.thinking=(l.thinking??"")+t.delta,s[t.contentIndex]=l):"text"===l.type&&(l.text=(l.text??"")+t.delta,s[t.contentIndex]=l),n.content=s,e[r]=n}return n.messages=e,n}case"message":{let e=[...n.messages],r=e.findIndex(e=>!!t.message.id&&e.id===t.message.id||!!t.message.streamId&&e.streamId===t.message.streamId);if(r>=0)return"end"===t.phase&&(e[r]={...e[r],...t.message}),n.messages=e,n;if("start"===t.phase)("user"===t.message.role||"assistant"===t.message.role)&&e.push(t.message);else if("toolResult"!==t.message.role){let n=-1;if(!t.message.streamId){let r=e[e.length-1];"assistant"===t.message.role&&r?.role==="assistant"&&(r.stopReason??"pending")==="pending"&&(n=e.length-1),"user"!==t.message.role||r?.role!=="user"||r.id||r.streamId||(n=e.length-1)}n>=0?e[n]=t.message:e.push(t.message)}return n.messages=e,n}case"tool":{let e={...n.tools},r=e[t.id];return e[t.id]={name:t.name,args:t.args??r?.args,state:t.state,partialResult:t.partialResult??("done"===t.state?void 0:r?.partialResult),result:t.result??r?.result,isError:t.isError??r?.isError,encodingLoss:t.encodingLoss??r?.encodingLoss,patch:t.patch??r?.patch,startedAt:r?.startedAt??t.ts,endedAt:"done"===t.state?t.ts:r?.endedAt},n.tools=e,n}case"queue":return n.snapshot&&(n.snapshot={...n.snapshot,queue:{steering:t.steering,followUp:t.followUp}}),n;case"model":if(n.snapshot){let e={...n.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),n.snapshot=e}return n;case"usage":return n.snapshot&&(n.snapshot={...n.snapshot,stats:t.stats,contextUsage:t.contextUsage}),n;case"compaction":if(n.compaction={phase:t.phase,errorMessage:t.errorMessage,ts:t.ts},t.marker){let e=t.marker,r=n.messages.filter(t=>!(e.id&&t.id===e.id)),s=r.findIndex(e=>!!t.beforeId&&e.id===t.beforeId||!!t.beforeStreamId&&e.streamId===t.beforeStreamId);s>=0?r.splice(s,0,e):r.push(e),n.messages=r}return n;case"traj":if(n.snapshot){let e=[...n.snapshot.trajectory],r=e.findIndex(e=>e.seq===t.entry.seq);r>=0?e[r]=t.entry:e.push(t.entry),n.snapshot={...n.snapshot,trajectory:e}}return n;case"name":return n.snapshot&&(n.snapshot={...n.snapshot,name:t.name}),n;case"tools":return t.toolPreset&&(n.toolPreset=t.toolPreset),n.snapshot&&(n.snapshot={...n.snapshot,toolPreset:t.toolPreset??n.snapshot.toolPreset,customActiveTools:void 0===t.customActiveTools?n.snapshot.customActiveTools:t.customActiveTools,tools:{active:t.active,all:t.all.map(e=>({name:e}))}}),n;case"context_breakdown":return n.snapshot&&(n.snapshot={...n.snapshot,contextBreakdown:t.breakdown}),n;case"resources":return n.snapshot&&(n.snapshot={...n.snapshot,skills:t.skills,promptTemplates:t.promptTemplates,extensionCommands:t.extensionCommands,projectTrust:t.projectTrust,resourceDiagnostics:t.resourceDiagnostics}),n;case"extension_ui":if("select"===t.method||"confirm"===t.method||"input"===t.method){if(n.extensionDialogs.some(e=>e.id===t.id))return n;n.extensionDialogs=[...n.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)n.extensionNotices=[...n.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={...n.extensionStatuses};void 0===t.statusText||""===t.statusText?delete e[t.statusKey]:e[t.statusKey]=t.statusText,n.extensionStatuses=e}else"setWorkingMessage"===t.method&&(n.workingMessage=t.message??null);return n;case"extension_ui_resolved":return n.extensionDialogs=n.extensionDialogs.filter(e=>e.id!==t.id),n;case"external_write":return n.extensionNotices=[...n.extensionNotices.filter(e=>"external_write"!==e.code).slice(-4),{id:`external-write-${t.ts}`,message:"",type:"warning",ts:t.ts,code:"external_write",count:t.entries}],n;case"status":return n.snapshot&&(n.snapshot={...n.snapshot,isStreaming:t.isStreaming}),t.isStreaming||(n.retryNotice=null,n.workingMessage=null),n;case"growth":{let e=n.growth.rounds.some(e=>e.commit===t.round.commit)?n.growth.rounds:[...n.growth.rounds,t.round];return n.growth={...n.growth,rounds:e,error:null},n}case"growth_error":return n.growth={...n.growth,error:t.message},n;case"growth_consent":return n.growth={...n.growth,consent:t.request},n;case"retry":return n.retryNotice=t.maxAttempts?`重试 ${t.attempt}/${t.maxAttempts}${t.message?`:${t.message}`:""}`:`重试 ${t.attempt}${t.message?`:${t.message}`:""}`,n;case"retry_end":return n.retryNotice=null,n;case"error":return/^(自动重试|重试)/.test(t.message)?n.retryNotice=t.message:n.error=t.message,n;default:return n}})(e,t),t))});m.current=t;let a=()=>{n=2e3,p(e=>({...e,connected:!0}))},o=e=>{let r;try{r=JSON.parse(e)}catch{return}if("external_reload"===r.type){let e=s(r);e&&p(t=>({...t,extensionNotices:[...t.extensionNotices.slice(-4),e]})),M(e=>e+1);return}if("snapshot"===r.type&&r.snapshot){t.cancel(),n=2e3;let e=r.snapshot,l=s(e.externalReload);$(e=>e+1),p(t=>({snapshot:e,messages:e.messages,tools:function(e,t=!1){let n={},r=new Set;for(let t of e)for(let e of t.content)"toolCall"===e.type?n[e.id]={name:e.name,args:e.arguments,state:"done"}:"toolResult"===e.type&&e.toolCallId&&n[e.toolCallId]&&(r.add(e.toolCallId),n[e.toolCallId]={...n[e.toolCallId],result:e.text,isError:e.isError,encodingLoss:e.encodingLoss,patch:e.patch});if(t)for(let[e,t]of Object.entries(n))r.has(e)||(n[e]={...t,state:"running",startedAt:Date.now()});return n}(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 n=new Map;for(let t of e.extensionUiRequests)("select"===t.method||"confirm"===t.method||"input"===t.method)&&n.set(t.id,{...t,method:t.method,title:t.title??""});return[...n.values()]}(e,t.extensionDialogs),extensionNotices:l?[...t.extensionNotices.slice(-4),l]:t.extensionNotices,extensionStatuses:e.extensionStatuses??{},workingMessage:null,growth:{...t.growth,error:e.growthError??null,consent:e.growthConsent??null}}))}else t.push(r)};if(window.location.hostname.toLowerCase().endsWith(".trycloudflare.com")){z.current=function(e,t,{fetch:n=fetch,backoffMs:r=e=>Math.min(2e3*2**(e-1),3e4)}={}){let s,l=new AbortController,a=!1,o=!1,i=0,c=`${e}${e.includes("?")?"&":"?"}poll=1`,d=e=>new Promise(t=>{let n=setTimeout(t,e);l.signal.addEventListener("abort",()=>{clearTimeout(n),t()},{once:!0})});return(async()=>{for(;!a;){let e;try{let t=await n(c,{headers:s?{"Last-Event-ID":s}:{},cache:"no-store",signal:l.signal});if(!t.ok)throw Error(`events poll failed (${t.status})`);e=function(e){let t=[];for(let n of e.split(/\r?\n\r?\n/)){let e={data:""},r=[];for(let t of n.split(/\r?\n/)){if(!t||t.startsWith(":"))continue;let n=t.indexOf(":"),s=-1===n?t:t.slice(0,n),l=-1===n?"":t.slice(n+1);l.startsWith(" ")&&(l=l.slice(1)),"data"===s?r.push(l):"id"===s?e.id=l:"event"===s&&(e.event=l)}r.length&&(e.data=r.join("\n"),t.push(e))}return t}(await t.text())}catch{if(a)return;o=!1,t.onError(),i+=1,await d(r(i));continue}if(a)return;for(let n of(i=0,o||(o=!0,t.onOpen()),e)){if(a)return;t.onMessage(n.data),void 0!==n.id&&(s=n.id)}}})(),{close(){a=!0,l.abort()}}}(r,{onOpen:a,onMessage:o,onError:()=>p(e=>({...e,connected:!1}))});return}let i=new EventSource(r);z.current=i,i.onopen=a,i.onerror=()=>{if(p(e=>({...e,connected:!1})),z.current!==i||i.readyState!==EventSource.CLOSED)return;i.close(),z.current=null;let t=n;n=Math.min(2*n,3e4),e=setTimeout(()=>{null===z.current&&l()},t)},i.onmessage=e=>o(e.data)};return l(),()=>{m.current?.cancel(),m.current=null,e&&clearTimeout(e),z.current?.close(),z.current=null}},[o,L]);let ea=(0,s.useCallback)(async(e,t)=>{let n=t??o;if(!n)return p(e=>({...e,error:"no session"})),{success:!1,error:"no session"};let r="prompt"===e.cmd;if(r&&T.current.has(n))return{success:!1,error:"prompt acceptance pending"};r&&T.current.add(n);try{let t=await fetch(`/api/agent/${n}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),r=await t.json();return t.ok&&r.success||p(e=>({...e,error:r.error||`request failed (${t.status})`})),r}catch(t){let e=t instanceof Error?t.message:"request failed";return p(t=>({...t,error:e})),{success:!1,error:e}}finally{r&&T.current.delete(n)}},[o]),eo=(0,s.useCallback)(async(e,t={})=>{try{let n=await fetch("/api/agent/new",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e})}),r=await n.json();if(r.success){let e=r.data.sessionPath,n=W(e),s=[{cmd:"setToolPreset",preset:tr()}];for(let e of(t.provider&&t.modelId&&s.push({cmd:"setModel",provider:t.provider,modelId:t.modelId,fresh:!0}),t.thinking&&s.push({cmd:"setThinkingLevel",level:t.thinking}),s))if(!(await ea(e,n)).success){if("setThinkingLevel"===e.cmd)continue;return await fetch(`/api/sessions/${n}`,{method:"DELETE"}).catch(()=>void 0),null}d(e),i(n);try{localStorage.setItem("piweb.currentSession",e)}catch{}return e}return p(e=>({...e,error:r.error||"failed to create session"})),null}catch(e){return p(t=>({...t,error:e instanceof Error?e.message:"failed to create session"})),null}},[W,ea]),ei=(0,s.useCallback)(e=>{d(e),i(W(e));try{localStorage.setItem("piweb.currentSession",e)}catch{}},[W]),ec=(0,s.useCallback)(()=>{i(null),d(null);try{localStorage.removeItem("piweb.currentSession")}catch{}},[]),ed=(0,s.useRef)(!1);(0,s.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"),ei(t)):localStorage.removeItem("piweb.currentSession"))}catch{}}},[e,ei]);let eu=(0,s.useCallback)(async e=>{if(await A.current,P.current===o){if(o){let t=await ea({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,ea]),ep=(0,s.useCallback)(()=>M(e=>e+1),[]),em=(0,s.useCallback)(async(e,t)=>{p(t=>({...t,extensionDialogs:t.extensionDialogs.filter(t=>t.id!==e)}));let n=await ea({cmd:"extensionUiResponse",requestId:e,...t});n?.success||P.current!==o||ep()},[o,ep,ea]),ef=(0,s.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})}),n=await t.json();if(!t.ok||!n.success)throw Error(n.error||`request failed (${t.status})`)}catch(e){if(P.current!==o)return;p(t=>({...t,error:e instanceof Error?e.message:String(e)})),ep()}}},[o,ep]),eh=(0,s.useCallback)(e=>p(t=>({...t,extensionNotices:t.extensionNotices.filter(t=>t.id!==e)})),[]),ex=(0,s.useCallback)(()=>p(e=>({...e,error:null})),[]),eg=(0,s.useCallback)(e=>p(t=>({...t,error:e})),[]);return(0,s.useEffect)(()=>{if(!o||!u.connected||!u.snapshot||u.snapshot.isStreaming||null!=u.snapshot.customActiveTools)return;let e=tr();if(u.snapshot.toolPreset===e)return;let t=`${o}:${E}`;if(I.current===t)return;I.current=t;let n=ea({cmd:"setToolPreset",preset:e}).then(t=>{t?.success&&P.current===o&&tr()===e&&p(t=>({...t,toolPreset:e,snapshot:t.snapshot?{...t.snapshot,toolPreset:e}:null}))}).finally(()=>{A.current===n&&(A.current=null)});A.current=n},[o,E,u.connected,u.snapshot,ea]),{sessions:(0,s.useMemo)(()=>{let t=new Set(_.map(tl));return e.filter(e=>!t.has(tl(e.path)))},[e,_]),sessionListError:n,retrySessionList:B,archivedSessions:(0,s.useMemo)(()=>{let t=new Set(_.map(tl));return e.filter(e=>t.has(tl(e.path)))},[e,_]),archivedSessionPaths:_,currentId:o,currentPath:c,state:u,models:f,addedWorkspaces:x,removedWorkspaces:w,workspaceAliases:q,getWorkspaceName:ee,renameWorkspace:Y,patchSessionName:G,archiveSession:X,unarchiveSession:Q,resync:ep,groupBy:j,orderBy:S,setGroupBy:F,setOrderBy:D,addWorkspaceByPicker:et,dirPickerOpen:b,confirmDirPicker:en,cancelDirPicker:er,removeWorkspace:es,refreshModels:el,sendCommand:ea,newSession:eo,openSession:ei,closeSession:ec,setToolPreset:eu,clearError:ex,clearCompaction:H,setError:eg,answerExtensionDialog:em,answerGrowthConsent:ef,dismissExtensionNotice:eh}}(),[V,U]=(0,s.useState)(280),[J,K]=(0,s.useState)(!1),[G,Y]=(0,s.useState)(360),X=(0,s.useRef)(new Map),Q=(0,s.useRef)(new Map),en=(0,s.useRef)(0),[er,es]=(0,s.useState)("__hero__:0"),[ea,eo]=(0,s.useState)(0),ei=m?Q.current.get(m)??m:er,[ec,ed]=(0,s.useState)({}),[eu,em]=(0,s.useState)({}),[ef,eh]=(0,s.useState)({}),ex=(0,s.useCallback)((e,t)=>{let n=X.current.get(e)??ee;X.current.set(e,"function"==typeof t?t(n):t),eo(e=>e+1)},[]),eg=(0,s.useCallback)((e,t)=>{1===t&&em(t=>({...t,[e]:""})),ed(n=>({...n,[e]:Math.max(0,(n[e]??0)+t)}))},[]),ew=(0,s.useCallback)((e,t)=>{em(n=>({...n,[e]:t}))},[]),ev=(0,s.useCallback)((e,t)=>{eh(n=>({...n,[e]:t}))},[]),eb=(0,s.useCallback)(e=>ex(ei,e),[ei,ex]),ey=(0,s.useCallback)(e=>ex(er,e),[er,ex]),[eC,ej]=(0,s.useState)(!1),[ek,eS]=(0,s.useState)(null),[eN,eL]=(0,s.useState)("project"),eM=(0,s.useCallback)(e=>{eL(e),localStorage.setItem("piweb.drawerSection",e)},[]),[eE,e$]=(0,s.useState)(!1),ez=(0,s.useRef)(!1),eT=(0,s.useRef)(()=>{}),[eR,eI]=(0,s.useState)(""),[eA,eP]=(0,s.useState)(null),[eO,eB]=(0,s.useState)(null),[eH,eW]=(0,s.useState)({}),[eF,eD]=(0,s.useState)(0),[eq,eZ]=(0,s.useState)(""),[eV,eU]=(0,s.useState)(!1),[eJ,eK]=(0,s.useState)(!1);(0,s.useEffect)(()=>{let e;U(Number.isNaN(e=parseInt(localStorage.getItem("piweb.sidebarW")??"",10))?280:e),Y(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}()),K("1"===localStorage.getItem("piweb.sidebarCollapsed")),e$("1"===localStorage.getItem("piweb.drawerOpen"));let t=localStorage.getItem("piweb.drawerSection");["project","prompts","git","import"].includes(t??"")&&eL(t)},[]),(0,s.useEffect)(()=>{eR?eP(function(e,t){let n=e.getItem(`${th}${t}`);if(!n)return null;try{let e=JSON.parse(n);return e&&"string"==typeof e.provider&&"string"==typeof e.id?{provider:e.provider,id:e.id}:null}catch{return null}}(localStorage,eR)):eP(null)},[eR]),(0,s.useEffect)(()=>{let e=eO?.model;eR&&e&&eP(t=>t??e)},[eR,eO]),(0,s.useEffect)(()=>{if(eB(null),!eR)return;let e=!1;return fetch(`/api/models/defaults?cwd=${encodeURIComponent(eR)}`).then(e=>e.json()).then(t=>{!e&&t.success&&t.data&&eB(t.data)}).catch(()=>void 0),()=>{e=!0}},[eR]);let eQ=p?l.find(e=>tv(e.path,m??""))?.cwd??(f.snapshot?.sessionPath&&tv(f.snapshot.sessionPath,m??"")?f.snapshot.cwd:""):eR;(0,s.useEffect)(()=>{if(!eQ)return;let e=!1;return fetch(`/api/agent/resources?cwd=${encodeURIComponent(eQ)}`,{cache:"no-store"}).then(e=>e.json()).then(t=>{if(e)return;if(!t.success||!t.data)throw Error(t.error||"Failed to load workspace resources");let n=t.data;eW(e=>({...e,[eQ]:n}))}).catch(t=>{e||D(t instanceof Error?t.message:String(t))}),()=>{e=!0}},[p,eQ,eC,eF,D]);let e1=(0,s.useCallback)(e=>{ep(),e$(t=>{let n=e??!t;return localStorage.setItem("piweb.drawerOpen",n?"1":"0"),n})},[]),e0=(0,s.useCallback)(e=>{eM(e),eS(null),e1(!0)},[e1,eM]);(0,s.useEffect)(()=>{let e=e=>{(e.ctrlKey||e.metaKey)&&e.shiftKey&&"e"===e.key.toLowerCase()&&(e.preventDefault(),eE&&!ek&&"project"===eN?e1(!1):e0("project"))};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[eE,eN,ek,e1,e0]),(0,s.useEffect)(()=>{let e=window.matchMedia("(max-width: 840px)"),t=()=>{eU(e.matches),e.matches||eK(!1)};return t(),e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]),(0,s.useEffect)(()=>{let e=()=>(0,tf.HD)();e();let t=window.matchMedia("(prefers-color-scheme: dark)");t.addEventListener("change",e);let n=t=>{("piweb.pebrelTheme"===t.key||"piweb.theme"===t.key)&&e()};return window.addEventListener("storage",n),()=>{t.removeEventListener("change",e),window.removeEventListener("storage",n)}},[]),(0,s.useEffect)(()=>{let e=setTimeout(()=>{Promise.all([n.e(5173),n.e(2906)]).then(n.bind(n,2906))},1200);return()=>clearTimeout(e)},[]),(0,s.useEffect)(()=>{eS(null)},[m]);let e2=(0,s.useMemo)(()=>{let e=new Set(g.map(e=>e.replace(/\\/g,"/").replace(/\/+$/,"").toLowerCase()));return Array.from(new Set([...x,...l.map(e=>e.cwd)].filter(t=>{let n=t.replace(/\\/g,"/").replace(/\/+$/,"").toLowerCase();return!!n&&!e.has(n)})))},[x,l,g]),{authByProvider:e5,providerNames:e4}=(0,s.useMemo)(()=>{let e={},t={};for(let n of h?.providers??[])e[n.id]=!0===n.authReady,t[n.id]=n.name;return{authByProvider:e,providerNames:t}},[h]),e6=(0,s.useMemo)(()=>(h?.models??[]).map(e=>({provider:e.provider,id:e.id,name:e.name,reasoning:e.reasoning,thinkingLevels:e.thinkingLevels,contextWindow:e.contextWindow})),[h]),e7=(0,s.useMemo)(()=>eA?e6.find(e=>e.provider===eA.provider&&e.id===eA.id):void 0,[eA,e6]),e9=(0,s.useMemo)(()=>e7?.thinkingLevels??["off","minimal","low","medium","high","xhigh","max"],[e7]),te=(0,s.useMemo)(()=>{var e;return function(e,t){if(e.includes(t))return t;let n=tx.indexOf(t);if(-1===n)return e[0]??"off";for(let t=n;t<tx.length;t+=1)if(e.includes(tx[t]))return tx[t];for(let t=n-1;t>=0;t-=1)if(e.includes(tx[t]))return tx[t];return e[0]??"off"}((e={supported:e9,requested:eq,modelOverride:e7?eO?.modelThinkingLevels[`${e7.provider}/${e7.id}`]:void 0,defaultLevel:eO?.defaultThinkingLevel}).supported,e.requested||e.modelOverride||e.defaultLevel||"medium")},[e7,e9,eq,eO]),tt=(0,s.useCallback)(e=>t=>{t.preventDefault();let n=t.clientX,r="sidebar"===e?V:G,[s,l]="sidebar"===e?[264,420]:[280,760],a="right"===e?-1:1,o="sidebar"===e?U:Y,i=0,c=r,d=e=>{c=Math.max(s,Math.min(l,r+a*(e.clientX-n))),i||(i=requestAnimationFrame(()=>{i=0,ep(),o(c)}))},u=()=>{var t;i&&cancelAnimationFrame(i),ep(),o(c),t=c,localStorage.setItem("sidebar"===e?"piweb.sidebarW":"piweb.drawerW",String(t)),window.removeEventListener("pointermove",d),window.removeEventListener("pointerup",u),window.removeEventListener("pointercancel",u)};window.addEventListener("pointermove",d),window.addEventListener("pointerup",u),window.addEventListener("pointercancel",u)},[V,G]),td=(0,s.useCallback)(()=>{ep();let e=!J;K(e),localStorage.setItem("piweb.sidebarCollapsed",e?"1":"0")},[J]),tj=f.snapshot,tS=(0,s.useRef)(tj?.trajectory??[]);(0,s.useEffect)(()=>{tS.current=tj?.trajectory??[]},[tj?.trajectory]);let tL=(0,s.useCallback)(e=>{let t=tS.current.find(t=>t.toolCallId===e);t&&(ep(),eS(t))},[]),tM=(0,s.useRef)(tj?.contextResources??[]);(0,s.useEffect)(()=>{tM.current=tj?.contextResources??[]},[tj?.contextResources]);let tE=(0,s.useCallback)(e=>tM.current.find(t=>t.path===e)?.content,[]),t$=(0,s.useMemo)(()=>(tj?.contextResources??[]).reduce((e,t)=>e+(t.content?.length??0),0),[tj?.contextResources]),tz=tj?.isStreaming??!1;(0,s.useEffect)(()=>{if(!f.error)return;let e=setTimeout(W,6e3);return()=>clearTimeout(e)},[f.error,W]);let tT=(0,s.useCallback)(async(e,t)=>{if(!t.trim())return;let n=m&&tv(e,m)?await A({cmd:"rename",text:t.trim()}):await A({cmd:"rename",text:t.trim()},encodeURIComponent(tk(e)));if(!n?.success)throw Error(n?.error||"failed to rename session");y(e,t.trim())},[m,A,y]),tR=(0,s.useCallback)(async(e,t)=>{let n=e===m&&p?p:encodeURIComponent(tk(e)),r=await A({cmd:"fork"},n);r?.success&&r.data?.sessionPath&&(O(r.data.sessionPath),k())},[m,p,A,O,k]),tI=(0,s.useCallback)(async(e,n)=>{if(!p)return;let r=await A({cmd:"editAndResend",entryId:e,text:n});r?.success?k():D(r?.error??t.editMessageFailed)},[p,k,A,D,t.editMessageFailed]),tA=(0,s.useCallback)(async e=>{try{await C(e)}catch{}if(!m||!tv(e,m))return;let t=l.find(e=>tv(e.path,m))?.cwd,n=l.find(n=>!tv(n.path,e)&&t&&tv(n.cwd,t))??l.find(t=>!tv(t.path,e));n?O(n.path):B()},[C,B,m,O,l]),tP=(0,s.useCallback)(async e=>{try{await j(e)}catch{}},[j]),tO=(0,s.useCallback)(e=>{O(e),eK(!1)},[O]),tB=(0,s.useCallback)(()=>eK(!1),[]),tH=(0,s.useCallback)(()=>{eI(l.find(e=>e.path===m)?.cwd||eR||e2[0]||""),B()},[l,m,eR,e2,B]),tW=(0,s.useCallback)(e=>{eI(e),B()},[B]),tF=(0,s.useCallback)(e=>{window.open(`/api/sessions/${encodeURIComponent(tk(e))}/export?format=jsonl`,"_blank")},[]),tD=(0,s.useCallback)(()=>{ej(!0),eK(!1)},[]),tq=(0,s.useCallback)(()=>void E(),[E]),tZ=(0,s.useCallback)(async(e,t)=>{await b(e,t)},[b]),t_=(0,s.useCallback)(async e=>{await R(e),eR&&tv(eR,e)&&eI("")},[R,eR]),tV=async(e,n)=>{let r=eR.trim();if(!r)return D(t.pickWorkspaceFirst),{success:!1};if(!e7)return D(t.blockedComposer),{success:!1};let s=await P(r,{provider:e7.provider,modelId:e7.id,thinking:eq||void 0});return s?(Q.current.set(s,er),es(`__hero__:${++en.current}`),A({cmd:"prompt",text:e,images:n},encodeURIComponent(tk(s)))):{success:!1}},tU=(0,s.useCallback)(e=>A({cmd:"fork",entryId:e}).then(e=>(e.success&&e.data?.sessionPath&&(O(e.data.sessionPath),k()),e)),[A,O,k]),tJ=p&&tj?.sessionPath&&tv(tj.sessionPath,m??"")?tj:eH[eQ],tK=(0,s.useMemo)(()=>[{name:"compact",desc:t.cmdCompact,kind:"builtin"},{name:"export",desc:t.cmdExport,kind:"builtin"},{name:"model",desc:t.cmdModel,kind:"builtin"},{name:"new",desc:t.cmdNew,kind:"builtin"},{name:"fork",desc:t.cmdFork,kind:"builtin"},{name:"reload",desc:t.cmdReload,kind:"builtin"},...(tJ?.promptTemplates??[]).map(e=>({name:e.name,desc:e.description,kind:"template",argumentHint:e.argumentHint})),...(tJ?.extensionCommands??[]).map(e=>({name:e.name,desc:e.description||e.source,kind:"extension"})),...(tJ?.skills??[]).map(e=>({name:`skill:${e.name}`,desc:e.description,kind:"skill"}))].sort((e,t)=>e.name.localeCompare(t.name)),[tJ,t]),tG=(0,s.useCallback)((e,n)=>{"compact"===e?A({cmd:"compact",instructions:n||void 0}):"export"===e&&p?window.open(`/api/sessions/${p}/export?format=jsonl`,"_blank"):"new"===e?B():"fork"===e&&p?A({cmd:"fork"}).then(e=>{e.success&&e.data?.sessionPath&&O(e.data.sessionPath)}):"reload"===e?p?A({cmd:"reload"}).then(()=>I()):(eD(e=>e+1),I()):D(t.cmdUnknown.replace("{name}",e))},[A,p,B,O,I,D,t]),tY=tj?.projectTrust,tX=(0,s.useCallback)(async e=>{let t=tj?.cwd;if(t)try{let n=await fetch("/api/security",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectTrust:{cwd:t,decision:e}})}),r=await n.json();if(!r.success)throw Error(r.error||"failed")}catch(e){D(e instanceof Error?e.message:"failed")}},[tj?.cwd,D]),tQ=l.find(e=>e.path===m),t1=f.messages.find(e=>"user"===e.role)?.content?.find(e=>"text"===e.type&&e.text?.trim())?.text?.trim(),t0=t1&&(e=el(t1))?e.args?`/skill:${e.name} ${e.args}`:`/skill:${e.name}`:t1,t2=tj?.name||tQ?.name||tQ?.firstMessage||t0||m?.split(/[\\/]/).pop()||"pi",t3=tj?.cwd||tQ?.cwd||eR||e2[0]||"",t5=(0,s.useMemo)(()=>Object.values(f.tools).filter(e=>"done"===e.state&&["edit","write","bash","powershell","pwsh"].includes(e.name.toLowerCase())).length,[f.tools]),[t4,t6]=(0,s.useState)(0),t8=(0,s.useRef)(t5),t7=(0,s.useRef)(tz);(0,s.useEffect)(()=>{t8.current!==t5&&(t8.current=t5,t6(e=>e+1))},[t5]),(0,s.useEffect)(()=>{t7.current&&!tz&&t6(e=>e+1),t7.current=tz},[tz]);let t9=(0,s.useCallback)(e=>{let t=e.trim().replace(/^@+/,"");t&&(ex(ei,e=>{let n=e.references??[];return n.some(e=>e.replace(/[\\/]+$/,"")===t.replace(/[\\/]+$/,""))?e:{...e,references:[...n,t]}}),requestAnimationFrame(()=>document.querySelector('[data-testid="composer"] textarea')?.focus()))},[ei,ex]),ne=(0,s.useCallback)(async e=>{try{let t=await fetch("/api/files",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"open",cwd:t3,path:e})}),n=await t.json();if(!n.success)throw Error(n.error||"failed to open file")}catch(e){D(e instanceof Error?e.message:"failed to open file")}},[t3,D]),nt=function(){let[e,t]=(0,s.useState)({open:!1,tabs:[],active:null}),n=(0,s.useCallback)((e,n={})=>{t(t=>({open:!0,tabs:t.tabs.some(t=>t.path===e)?t.tabs.map(t=>t.path===e?{...t,...n}:t):[...t.tabs,{path:e,...n}],active:e}))},[]),r=(0,s.useCallback)(()=>t(e=>({...e,open:!0,active:null})),[]),l=(0,s.useCallback)((e,n)=>{t(t=>({open:!0,tabs:t.tabs.some(t=>t.path===e)?t.tabs.map(t=>t.path===e?{...t,staticContent:n,lazy:!0}:t):[...t.tabs,{path:e,staticContent:n,lazy:!0}],active:e}))},[]),a=(0,s.useCallback)(()=>t(e=>({...e,open:!1})),[]),o=(0,s.useCallback)(()=>t({open:!1,tabs:[],active:null}),[]);return{state:e,open:n,openStatic:l,openTree:r,close:a,closeTab:(0,s.useCallback)(e=>{t(t=>{let n=t.tabs.findIndex(t=>t.path===e);if(n<0)return t;let r=t.tabs.filter(t=>t.path!==e),s=t.active;return s===e&&(s=r[n]?.path??r[n-1]?.path??null),{...t,tabs:r,active:s}})},[]),select:(0,s.useCallback)(e=>t(t=>({...t,active:e})),[]),reset:o}}(),nn=nt.reset;(0,s.useEffect)(()=>{nn()},[t3,nn]);let nr=function({cwd:e,sessionPath:t,liveRounds:n,runtimeError:r,active:l,watchRounds:a=!1,connected:o}){let i=JSON.stringify([to(e),t??""]),c=(0,s.useMemo)(()=>({key:i,active:!0,controllers:new Set,loadingDirs:new Map,refresh:null}),[i]),d=(0,s.useRef)(c);d.current=c;let u=(0,s.useCallback)(()=>{let e=new AbortController;return d.current===c&&c.active?c.controllers.add(e):e.abort(),e},[c]),p=(0,s.useCallback)(e=>d.current===c&&c.active&&!e.signal.aborted,[c]);(0,s.useEffect)(()=>(c.active=!0,()=>{for(let e of(c.active=!1,c.controllers))e.abort();c.controllers.clear(),c.loadingDirs.clear()}),[c]);let[m,f]=(0,s.useState)({key:"",rounds:[],available:!0,error:null}),[h,x]=(0,s.useState)(!1),[g,w]=(0,s.useState)(null),[v,b]=(0,s.useState)("round"),[y,C]=(0,s.useState)(null),[j,k]=(0,s.useState)(null),[S,N]=(0,s.useState)(()=>new Set),[L,M]=(0,s.useState)(()=>new Set),[E,$]=(0,s.useState)(()=>({scope:c,children:new Map})),z=(0,s.useMemo)(()=>E.scope===c?E.children:new Map,[E,c]),T=(0,s.useRef)(z);T.current=z;let R=(0,s.useCallback)((e,t)=>{p(e)&&$(n=>p(e)?{scope:c,children:t(n.scope===c?n.children:new Map)}:n)},[p,c]),I=(0,s.useRef)(new Map),A=(0,s.useRef)(new Map),P=(0,s.useRef)(new Set),O=(0,s.useRef)(void 0),B=(0,s.useRef)(""),H=(0,s.useRef)(o);(0,s.useEffect)(()=>{let e=localStorage.getItem("piweb.growth.scope");("round"===e||"session"===e)&&b(e)},[]);let W=(0,s.useCallback)(e=>{b(e),localStorage.setItem("piweb.growth.scope",e)},[]);(0,s.useEffect)(()=>{if(e){try{let t=localStorage.getItem(`piweb.growth.expanded:${to(e)}`);N(new Set(t?JSON.parse(t):[]))}catch{N(new Set)}P.current=new Set}},[e]);let F=(0,s.useCallback)(t=>{if(e)try{localStorage.setItem(`piweb.growth.expanded:${to(e)}`,JSON.stringify([...t].slice(0,2e3)))}catch{}},[e]);(0,s.useEffect)(()=>{w(null),M(new Set),x(!1),$({scope:c,children:new Map}),O.current&&clearTimeout(O.current),B.current=""},[c]);let D=(0,s.useCallback)(async()=>{let n=u();if(p(n)){if(c.refresh?.abort(),c.refresh=n,!e){f({key:i,rounds:[],available:!0,error:null}),R(n,()=>new Map),x(!1),c.controllers.delete(n);return}x(!0);try{let r=new URLSearchParams({cwd:e});t&&r.set("session",t);let s=t?tp(`/api/growth?${r}`,n.signal).then(e=>({status:"fulfilled",value:e}),e=>({status:"rejected",reason:e})):Promise.resolve({status:"fulfilled",value:{available:!0,rounds:[]}}),a=l?tm(e,"",n.signal).then(e=>({status:"fulfilled",value:e}),e=>({status:"rejected",reason:e})):Promise.resolve({status:"skipped"});a.then(e=>{p(n)&&"fulfilled"===e.status&&R(n,t=>new Map(t).set("",tu("",e.value)))});let o=await s;if(!p(n))return;"fulfilled"===o.status?f({key:i,rounds:o.value.rounds??[],available:!1!==o.value.available,error:null}):f({key:i,rounds:[],available:!0,error:o.reason instanceof Error?o.reason.message:"failed to load"});let c=await a;if(!p(n))return;"rejected"===c.status&&"fulfilled"===o.status&&f(e=>({...e,error:c.reason instanceof Error?c.reason.message:"failed to list workspace"}))}finally{p(n)&&x(!1),c.controllers.delete(n)}}},[e,t,i,l,u,p,c,R]),q=l||a;(0,s.useEffect)(()=>(q&&D(),()=>c.refresh?.abort()),[q,D,c]),(0,s.useEffect)(()=>{q&&o&&!H.current&&D(),H.current=o},[q,o,D]);let Z=(0,s.useMemo)(()=>{var e;let t;return e=ti(m.key===i?m.rounds:[],n),t=0,e.filter(e=>"baseline"!==e.kind).map(e=>({...e,n:"round"===e.kind?t+=1:null}))},[m,i,n]),_=Z[Z.length-1]??null,V=_?.commit??"";(0,s.useEffect)(()=>{if(!l||!e||!_)return;let t=u(),n=setTimeout(()=>{if(!p(t))return;let n=[...new Set(["",...T.current.keys()])];Promise.allSettled(n.map(n=>tm(e,n,t.signal))).then(e=>{R(t,t=>{let r=new Map(t);for(let[t,s]of e.entries())"fulfilled"===s.status?r.set(n[t],tu(n[t],s.value)):n[t]&&r.delete(n[t]);return r})}).finally(()=>c.controllers.delete(t))},100);return()=>{t.abort(),c.controllers.delete(t),clearTimeout(n)}},[l,e,V,u,p,c,R]);let U=(0,s.useMemo)(()=>Z.find(e=>e.commit===g)??_??null,[_,Z,g]),J=Z[0]?.parentTree??null;(0,s.useEffect)(()=>{U&&g!==U.commit&&w(U.commit)},[U,g]),(0,s.useEffect)(()=>{if(!l)return;if(!U||!e)return void C(null);let t=U.tree,n=`${i}|${t}`,r=I.current.get(n);if(r)return void C({key:i,tree:t,files:r});let s=u();return tp(`/api/growth?cwd=${encodeURIComponent(e)}&tree=${t}&list=1`,s.signal).then(e=>{p(s)&&(tc(I.current,n,e.files),C({key:i,tree:t,files:e.files}))}).catch(()=>{p(s)&&C({key:i,tree:t,files:[]})}).finally(()=>c.controllers.delete(s)),()=>{s.abort(),c.controllers.delete(s)}},[l,U,e,i,u,p,c]);let K=(0,s.useMemo)(()=>U?"round"===v?{from:U.parentTree,to:U.tree}:J?{from:J,to:U.tree}:null:null,[U,v,J]),G=(0,s.useMemo)(()=>U&&K&&K.from!==K.to?"round"!==v||U.truncated?null:U.changes:[],[U,K,v]),Y=(0,s.useCallback)(async(t,n,r)=>{let s=`${i}|${t}..${n}`,l=A.current.get(s);if(l)return l;let a=await tp(`/api/growth?cwd=${encodeURIComponent(e)}&from=${t}&to=${n}&changes=1`,r.signal);return p(r)&&tc(A.current,s,a.changes),a.changes},[e,i,p]);(0,s.useEffect)(()=>{if(!l||!K||null!==G||!e)return;let t=`${i}|${K.from}..${K.to}`,n=u();return Y(K.from,K.to,n).then(e=>{p(n)&&k({key:t,changes:e})}).catch(e=>{p(n)&&k({key:t,changes:[],error:e instanceof Error?e.message:"failed to load round changes"})}).finally(()=>c.controllers.delete(n)),()=>{n.abort(),c.controllers.delete(n)}},[l,K,G,e,i,Y,u,p,c]);let X=(0,s.useMemo)(()=>null!==G?G:K&&j?.key===`${i}|${K.from}..${K.to}`?j.changes:[],[G,K,j,i]),Q=(0,s.useMemo)(()=>{let e=(0,ta.H6)(y?.key===i&&U&&y.tree===U.tree?y.files:[],X);return(0,ta.jg)(e,z)},[y,U,X,z,i]),ee=(0,s.useMemo)(()=>{let e=new Set(y?.key===i&&U&&y.tree===U.tree?y.files.map(e=>e.path):[]);for(let t of z.values())for(let n of t)"file"===n.kind&&e.add(n.path);return[...e]},[y,U,z,i]);(0,s.useEffect)(()=>{if(!_||_.commit===B.current)return;let e=""===B.current;if(B.current=_.commit,U&&U.commit!==_.commit||e&&!n.some(e=>e.commit===_.commit))return;let t=_.changes;if(!t.length)return;let r=(0,ta.pI)(t.slice(0,200)).filter(e=>!P.current.has(e));r.length&&N(e=>{let t=new Set(e);for(let e of r)t.add(e);return F(t),t}),M(new Set(t.map(e=>e.path))),O.current&&clearTimeout(O.current),O.current=setTimeout(()=>M(new Set),2500)},[_,U,n,F]);let et=(0,s.useRef)(null);(0,s.useEffect)(()=>()=>{O.current&&clearTimeout(O.current)},[]),(0,s.useEffect)(()=>{if(!U||et.current!==U.commit)return;let e=X.slice(0,200);if(!e.length)return;let t=(0,ta.pI)(e);N(e=>{if(t.every(t=>e.has(t)))return e;let n=new Set(e);for(let e of t)n.add(e);return n})},[U,X]);let en=(0,s.useCallback)(()=>{let e=Z[Z.length-1];e&&w(e.commit)},[Z]),er=(0,s.useCallback)(e=>{et.current=e,w(e)},[]),es=(0,s.useCallback)(()=>{if(!U)return;let e=Z.findIndex(e=>e.commit===U.commit);e>0&&(et.current=Z[e-1].commit,w(Z[e-1].commit))},[U,Z]),el=(0,s.useCallback)(()=>{if(!U)return;let e=Z.findIndex(e=>e.commit===U.commit);e<0||e>=Z.length-1||(et.current=Z[e+1].commit,w(Z[e+1].commit))},[U,Z]),ea=(0,s.useCallback)(e=>{N(t=>{let n=new Set(t);return n.has(e)?(n.delete(e),P.current.add(e)):(n.add(e),P.current.delete(e)),F(n),n})},[F]),eo=(0,s.useCallback)(e=>{let t=e.split("/"),n=[];for(let e=1;e<t.length;e+=1)n.push(t.slice(0,e).join("/"));N(e=>{let t=new Set(e);for(let e of n)t.add(e),P.current.delete(e);return F(t),t})},[F]),ei=(0,s.useCallback)(()=>{let e=new Set((0,ta.pu)(Q));P.current=new Set,N(e),F(e)},[Q,F]),ec=(0,s.useCallback)(()=>{let e=new Set;N(e),F(e)},[F]),ed=(0,s.useCallback)(async t=>{if(!e||d.current!==c||T.current.has(t)||c.loadingDirs.has(t))return;let n=u();if(p(n)){c.loadingDirs.set(t,n);try{let r=await tm(e,t,n.signal);R(n,e=>new Map(e).set(t,tu(t,r)))}catch{}finally{c.loadingDirs.get(t)===n&&c.loadingDirs.delete(t),c.controllers.delete(n)}}},[e,c,u,p,R]),eu=(0,s.useCallback)(async()=>{if(!t)return null;let e=u();if(!p(e))return null;try{let n=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),n="";for(let e of t)n+=String.fromCharCode(e);return encodeURIComponent(btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""))}(t)}),signal:e.signal}),r=await n.json();if(!p(e))return null;if(!n.ok||!r.success)throw Error(r.error||`request failed (${n.status})`);let s=r.data?.round??null;return s&&f(t=>p(e)&&t.key===i?{...t,rounds:ti(t.rounds,[s])}:t),s}finally{c.controllers.delete(e)}},[t,i,c,u,p]);return{available:m.key!==i||m.available,loading:h,error:r??(m.key===i?m.error:null)??(K&&j?.key===`${i}|${K.from}..${K.to}`?j.error:null)??null,rounds:Z,selected:U,scope:v,range:K,changes:X,changesReady:null!==G||!!(K&&j?.key===`${i}|${K.from}..${K.to}`&&!j.error),tree:Q,filePaths:ee,expanded:S,fresh:L,selectLatest:en,select:er,prev:es,next:el,setScope:W,toggleDir:ea,revealPath:eo,expandAll:ei,collapseAll:ec,expandLazy:ed,refresh:D,recordNow:eu}}({cwd:t3,sessionPath:m,liveRounds:f.growth.rounds,runtimeError:f.growth.error,active:eE||nt.state.open,watchRounds:!!m,connected:f.connected}),ns=(0,s.useCallback)(e=>nt.open(e.path,{from:e.from,lazy:e.lazy,kind:e.kind}),[nt]),nl=(0,s.useCallback)(e=>nt.open(e),[nt.open]);eT.current=nr.selectLatest,(0,s.useEffect)(()=>{if(!eE||ez.current){ez.current=!1;return}eT.current()},[eE,t3]);let na=(0,s.useMemo)(()=>{let e=new Map;for(let t of nr.rounds){if("round"!==t.kind||!t.promptIds[0])continue;let n=t.stats;e.set(t.promptIds[0],{commit:t.commit,files:n.added+n.modified+n.deleted+n.renamed,add:n.add,del:n.del})}return e},[nr.rounds]),no=nr.select,ni=(0,s.useCallback)(e=>{ez.current=!0,eM("project"),eS(null),e1(!0),no(e)},[e1,no,eM]),nc=(0,s.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,s.useEffect)(()=>{document.title=p&&t2&&"pi"!==t2?`${t2} \xb7 pi`:"pi"},[p,t2]);let nd=!!ek||eE,nu=eV?"minmax(0,1fr)":`${J?56:V}px minmax(0,1fr) ${nd?`${G}px`:"0px"}`,np=(0,r.jsx)("div",{className:"flex min-h-0 flex-col overflow-hidden",style:eV?{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:ek?(0,r.jsx)(tw,{entry:ek,onClose:()=>eS(null),contextLookup:tE}):(0,r.jsx)(tb,{cwd:t3,section:eN,onSectionChange:eM,onClose:()=>e1(!1),sessionId:p,promptRefreshKey:p,gitRefreshKey:t4,growth:nr,workspaceName:t3?v(t3):"",hasSession:!!m,running:tz,onOpenFileNode:ns,onReference:t9,onOpenEditor:ne,onJumpToChat:nc,onError:D,onOpenContent:(e,t)=>nt.openStatic(e,t),onAskCommit:()=>t9(t.gitAskCommitPrompt),onOpenFile:ne})});return(0,r.jsxs)("div",{className:"pw-app-shell grid w-screen overflow-hidden",style:{gridTemplateColumns:nu,background:"var(--dsw-bg-base)"},children:[(0,r.jsx)("div",{className:"min-h-0 overflow-hidden",style:eV?{position:"fixed",inset:"0 auto 0 0",width:"min(86vw, 340px)",zIndex:90,background:"var(--dsw-sidebar-fill)",transform:eJ?"translateX(0)":"translateX(-105%)",transition:"transform var(--ds-duration-normal) var(--ds-ease-in-out)",boxShadow:eJ?"var(--dsw-elevation-prominent)":"none"}:{background:"var(--dsw-sidebar-fill)"},children:(0,r.jsx)(e8,{sessions:l,sessionListError:i,onRetrySessionList:c,archivedSessions:d,archivedPaths:u,addedWorkspaces:x,removedWorkspaces:g,currentPath:m,groupBy:S,orderBy:N,setGroupBy:L,setOrderBy:M,collapsed:!eV&&J,onToggleCollapse:eV?tB:td,onOpen:tO,onNew:tH,onNewInWorkspace:tW,onRename:tT,onFork:tR,onArchive:tA,onUnarchive:tP,onExport:tF,getWorkspaceName:v,onRenameWorkspace:tZ,onDeleteWorkspace:t_,onOpenSettings:tD,onAddWorkspace:tq,draftCwd:!p&&eR||null})}),(0,r.jsx)("div",{className:"pi-main flex min-h-0 min-w-0 flex-col",children:p?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"hairline-b px-5 pb-0 pt-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate",style:{fontSize:14.5,fontWeight:600},children:t2}),(0,r.jsx)("button",{type:"button",className:"icon-btn",style:{width:30,height:30,background:eE&&!ek?"var(--dsw-active)":void 0},title:t.drawerPanel,"aria-label":t.drawerPanel,"data-testid":"drawer-toggle",onClick:()=>{if(ek){eS(null),e1(!0);return}e1()},children:(0,r.jsx)(a.$l,{size:15})})]}),tY?.required&&!tY.trusted&&(0,r.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,r.jsx)("span",{style:{color:"var(--dsw-warn)",fontWeight:600},children:"⚠"}),(0,r.jsx)("span",{className:"min-w-0 flex-1",children:"default-never"===tY.source||"remembered"===tY.source?t.projectTrustBannerNever:t.projectTrustBanner}),(0,r.jsx)("button",{className:"btn-primary-white",style:{height:26,padding:"0 10px",fontSize:12},onClick:()=>void tX(!0),children:t.projectTrustAllow}),"undecided"===tY.source&&(0,r.jsx)("button",{className:"btn-outline",style:{height:26,padding:"0 10px",fontSize:12},onClick:()=>void tX(!1),children:t.projectTrustDeny})]})]}),tj?(0,r.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col justify-end",children:[(0,r.jsx)(eG,{messages:f.messages,tools:f.tools,contextFiles:tj?.contextResources??tj?.contextFiles??[],isStreaming:tz,error:f.error,connected:f.connected,onClearError:W,retryNotice:f.retryNotice,compaction:f.compaction,onClearCompaction:F,workingMessage:f.workingMessage,stats:tj?.stats??null,trajectory:tj?.trajectory??[],cwd:t3,onOpenTrajectory:tL,onOpenFile:ne,onOpenPath:nl,onFork:tU,onEditMessage:tI,roundBadges:na,onShowRound:ni},p??"none"),(0,r.jsx)("div",{className:"px-4 pb-3 pt-2",children:(0,r.jsxs)("div",{className:"mx-auto w-full",style:{maxWidth:"var(--dsh-composer-card-max-width)"},children:[(0,r.jsx)(et,{draft:X.current.get(ei)??ee,onDraftChange:eb,onUploadError:e=>ew(ei,e),onUploadProgress:e=>eg(ei,e),uploadFailure:eu[ei],pendingUploadCount:ec[ei]??0,pendingSend:ef[ei]??!1,onSendPendingChange:e=>ev(ei,e),isStreaming:tz,contextPercent:tj?.contextUsage?.percent??null,contextTokens:tj?.contextUsage?.tokens??null,contextWindow:tj?.contextUsage?.contextWindow??null,contextSource:{systemChars:t$,messages:f.messages,breakdown:tj?.contextBreakdown,loadFull:()=>A({cmd:"prepare"})},contextVisible:(tj?.messages?.length??0)>0,model:tj?.model,thinkingLevel:tj?.thinkingLevel,thinkingLevels:tj?.thinkingLevels??["off","minimal","low","medium","high","xhigh","max"],models:e6,providerNames:e4,authByProvider:e5,queue:tj?.queue??{steering:[],followUp:[]},commands:tK,cwd:t3,onCommand:tG,onSend:(e,t)=>A({cmd:"prompt",text:e,images:t}),onSteer:(e,t)=>A({cmd:"prompt",text:e,images:t,behavior:"steer"}),onFollowUp:(e,t)=>A({cmd:"prompt",text:e,images:t,behavior:"followUp"}),onAbort:()=>A({cmd:"abort"}),onSelectModel:(e,t)=>void A({cmd:"setModel",provider:e,modelId:t}),onSelectLevel:e=>void A({cmd:"setThinkingLevel",level:e}).then(n=>{n?.success&&n.data?.clamped&&D(t.thinkingClamped.replace("{requested}",e).replace("{level}",String(n.data.thinkingLevel)))}),onClearQueue:()=>A({cmd:"clearQueue"})},ei),(0,r.jsx)(e_,{stats:tj?.stats??null}),Object.keys(f.extensionStatuses).length>0&&(0,r.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:t.extensionStatus,children:Object.entries(f.extensionStatuses).map(([e,t])=>(0,r.jsx)("span",{children:t},e))})]})})]}):(0,r.jsx)("div",{className:"flex min-h-0 flex-1 items-center justify-center",children:(0,r.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,r.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col",children:[(0,r.jsx)(tN,{draft:X.current.get(er)??ee,onDraftChange:ey,onUploadError:e=>ew(er,e),onUploadProgress:e=>eg(er,e),uploadFailure:eu[er],pendingUploadCount:ec[er]??0,pendingSend:ef[er]??!1,onSendPendingChange:e=>ev(er,e),commands:tK,onCommand:tG,cwd:eR,setCwd:eI,knownCwds:e2,getWorkspaceName:v,onSend:tV,models:e6,providerNames:e4,authByProvider:e5,addWorkspaceByPicker:E,heroChoice:e7,onSelectHeroModel:(e,t)=>{let n={provider:e,id:t};eP(n),eR&&localStorage.setItem(`${th}${eR}`,JSON.stringify({provider:n.provider,id:n.id}));let r=e6.find(n=>n.provider===e&&n.id===t)?.thinkingLevels??[];eq&&!r.includes(eq)&&eZ("")},heroModelLevels:e9,heroEffectiveThinking:te,onSelectHeroThinking:eZ}),f.error&&(0,r.jsx)("div",{className:"px-4 pb-3",children:(0,r.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:W,role:"alert",children:f.error})})]})}),!eV&&(nd?np:(0,r.jsx)("div",{"aria-hidden":"true"})),!eV&&!J&&(0,r.jsx)("div",{className:"fixed top-0 h-full w-2 cursor-col-resize",style:{left:V-4,zIndex:40},onPointerDown:tt("sidebar")}),!eV&&nd&&(0,r.jsx)("div",{className:"fixed top-0 h-full w-2 cursor-col-resize",style:{left:`calc(100vw - ${G}px - 4px)`,zIndex:40},onPointerDown:tt("right")}),eV&&nd&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{className:"fixed inset-0 z-[85]",style:{background:"var(--dsw-mask)"},onClick:()=>ek?eS(null):e1(!1),"aria-label":t.close}),np]}),nt.state.open&&(0,r.jsx)(tC,{state:nt.state,growth:nr,cwd:t3,onClose:nt.close,onSelectTab:nt.select,onCloseTab:nt.closeTab,onOpen:nt.open,onReference:t9,onOpenEditor:ne}),(0,r.jsx)(eY,{dialog:f.extensionDialogs[0]??null,onAnswer:(e,t)=>void q(e,t)}),f.growth.consent&&!f.extensionDialogs.length&&(0,r.jsx)(ty,{request:f.growth.consent,onAnswer:e=>void Z(e)}),(0,r.jsx)(tn,{open:$,onConfirm:e=>void z(e),onCancel:T}),(0,r.jsx)(eX,{notices:f.extensionNotices,onDismiss:_,children:(0,r.jsx)(e3,{})}),(0,r.jsx)(tg,{open:eC,onClose:()=>{ej(!1),I()},onOpenFileContent:(e,t)=>nt.openStatic(e,t),cwd:tj?.cwd||eR||e2[0]||"",toolPreset:f.toolPreset,onToolPresetChange:H,tools:tj?.tools??null,onSetTools:e=>{A({cmd:"setActiveTools",names:e})}}),eV&&(0,r.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":t.workspaces,children:(0,r.jsx)(a.ee,{size:17})}),eV&&eJ&&(0,r.jsx)("button",{className:"fixed inset-0 z-[80]",style:{background:"var(--dsw-mask)"},onClick:()=>eK(!1),"aria-label":t.close})]})}function tk(e){let t=new TextEncoder().encode(e),n="";for(let e of t)n+=String.fromCharCode(e);return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function tS(e){let t=e.replace(/\\/g,"/");return t.split("/").filter(Boolean).pop()??t}function tN({draft:e,onDraftChange:t,onUploadError:n,onUploadProgress:i,uploadFailure:c,pendingUploadCount:d,pendingSend:u,onSendPendingChange:p,commands:m,onCommand:f,cwd:h,setCwd:x,knownCwds:g,getWorkspaceName:w,onSend:v,models:b,providerNames:y,authByProvider:C,addWorkspaceByPicker:j,heroChoice:k,onSelectHeroModel:S,heroModelLevels:N,heroEffectiveThinking:L,onSelectHeroThinking:M}){let{t:E}=(0,o.s)(),[$,z]=(0,s.useState)(!1),T=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(!$)return;let e=e=>{T.current?.contains(e.target)||z(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[$]);let R=async()=>{let e=await j();e&&(x(e),z(!1))},I=h?w?w(h):tS(h):E.startWith;return(0,r.jsxs)("div",{className:"flex h-full min-h-0 flex-col items-center justify-center px-6",children:[(0,r.jsx)("div",{className:"mb-5 flex items-center justify-center gap-3",children:(0,r.jsx)(l.N,{size:40})}),(0,r.jsxs)("div",{className:"w-full flex flex-col items-stretch mx-auto",style:{maxWidth:"var(--dsh-composer-card-max-width)"},children:[(0,r.jsx)("div",{ref:T,className:"mb-3 flex items-center gap-3",style:{paddingLeft:7},children:(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsxs)("button",{className:"hero-chip","data-open":$,onClick:()=>z(e=>!e),children:[(0,r.jsx)(a.pH,{className:"hero-chip-icon",size:16}),(0,r.jsx)("span",{className:"max-w-[220px] truncate",suppressHydrationWarning:!0,children:I}),(0,r.jsx)("span",{className:"chevron",children:(0,r.jsx)(a.Cd,{size:14})})]}),$&&(0,r.jsxs)("div",{className:"popover absolute bottom-9 left-0 z-50 w-56 py-1",children:[g.map(e=>{let t=w?w(e):tS(e);return(0,r.jsxs)("button",{className:"flex w-full items-center gap-2.5 px-3.5 py-2 text-left transition-colors",style:{fontSize:13,background:h===e?"var(--dsw-accent-soft)":"transparent",color:h===e?"var(--dsw-accent)":"inherit"},onMouseEnter:t=>{h!==e&&(t.currentTarget.style.background="var(--dsw-hover)")},onMouseLeave:t=>{h!==e&&(t.currentTarget.style.background="transparent")},onClick:()=>{x(e),z(!1)},children:[(0,r.jsx)(a.pH,{size:14,style:{flex:"none",color:h===e?"var(--dsw-accent)":"var(--dsw-label-tertiary)"}}),(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate",children:t}),h===e&&(0,r.jsx)(a.df,{size:13,style:{flex:"none"}})]},e)}),(0,r.jsx)("div",{className:"my-1",style:{borderTop:"0.5px solid var(--dsw-border-l2)"}}),(0,r.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:R,children:[(0,r.jsx)(a.BA,{size:14,style:{flex:"none",color:"var(--dsw-label-tertiary)"}}),E.addWorkspace]})]})]})}),(0,r.jsx)(et,{draft:e,onDraftChange:t,onUploadError:n,onUploadProgress:i,uploadFailure:c,pendingUploadCount:d,pendingSend:u,onSendPendingChange:p,attachmentLayout:"flow",cwd:h,commands:m,onCommand:f,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:v,onSteer:()=>({success:!1}),onAbort:()=>{},onSelectModel:S,onSelectLevel:M})]})]})}},826:(e,t,n)=>{"use strict";n.d(t,{H:()=>o});var r=n(5155),s=n(2115),l=n(1859),a=n(8155);function o({command:e}){let{t}=(0,l.s)(),[n,i]=(0,s.useState)("");return(0,r.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:[(0,r.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,r.jsx)("button",{type:"button",className:"btn-outline flex-none",style:{height:22,padding:"0 8px",fontSize:11,color:"fail"===n?"var(--dsw-danger)":void 0},onClick:()=>{(0,a.D)(e).then(e=>{i(e?"ok":"fail"),setTimeout(()=>i(""),1500)})},children:"ok"===n?t.updateCopied:"fail"===n?t.copyFailed:t.copy})]})}},922:(e,t,n)=>{"use strict";n.d(t,{D8:()=>l,Uf:()=>d,Z$:()=>s,di:()=>c,ll:()=>i});let r='"Maple Mono CN", ui-monospace, SFMono-Regular, Menlo, Consolas, "PingFang SC", "Microsoft YaHei", monospace',s=[{id:"maple",stack:r,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"}}],l="custom:",a="piweb.fontUi",o="--font-ui";function i(){try{return localStorage.getItem(a)}catch{return null}}function c(e){let t=document.documentElement;try{if(!e){t.style.removeProperty(o),localStorage.removeItem(a);return}t.style.setProperty(o,e?e.startsWith(l)?e.slice(l.length).trim()||r:s.find(t=>t.id===e)?.stack??r:r),localStorage.setItem(a,e)}catch{}}function d(){try{localStorage.removeItem("piweb.fontMono"),document.documentElement.style.removeProperty("--font-mono")}catch{}c(i())}},1135:(e,t,n)=>{"use strict";function r(e){return`${e.kind}:${e.path}`}function s(e){let t=e.lastIndexOf("/");return t<0?"":e.slice(0,t)}function l(e){let t=[],n=s(e);for(;n;)t.push(n),n=s(n);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,n=[],r=[]){let l={path:"",name:"",kind:"dir",children:[],counts:o()},c=new Map([["",l]]),d=e=>{let t=c.get(e);if(t)return t;let n=d(s(e)),r={path:e,name:e.slice(e.lastIndexOf("/")+1),kind:"dir",children:[],counts:o()};return n.children.push(r),c.set(e,r),r},u=new Map,p=(e,t)=>{let n=u.get(e);if(n)return n;let r=d(s(e)),l={path:e,name:e.slice(e.lastIndexOf("/")+1),kind:"file",size:t};return r.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 n){let t=/[/\\]$/.test(e),n=e.replace(/\\/g,"/").replace(/^\/+|\/+$/g,"");if(!n)continue;let r=t?c.get(n):u.get(n)??c.get(n);r?r.pending=!0:t?d(n).pending=!0:p(n).pending=!0}for(let e of r)c.has(e)||(d(e).lazy=!0);let m=e=>{let t=o();for(let n of e.children??[])if("dir"===n.kind){let e=m(n);n.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"===n.status?t.added+=1:"M"===n.status?t.modified+=1:"D"===n.status?t.deleted+=1:"R"===n.status&&(t.renamed+=1),n.pending&&(t.pending+=1);return e.children.sort(a),e.counts=t,t};return m(l),l}function c(e,t,n={}){let r=(n.filter??"").trim().toLowerCase(),s=[],l=e=>(!n.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))&&(!r||("file"===e.kind?e.name.toLowerCase().includes(r):(e.children??[]).some(l))),a=(e,n)=>{for(let o of e.children??[]){if(!l(o))continue;let e="dir"===o.kind&&(!!r||t.has(o.path));s.push({node:o,depth:n,expanded:e}),e&&a(o,n+1)}};return a(e,0),s}function d(e){let t=[],n=e=>{for(let r of e.children??[])"dir"===r.kind&&(t.push(r.path),n(r))};return n(e),t}function u(e,t=[]){let n=new Set;for(let t of e)for(let e of l(t.path))n.add(e);for(let e of t)for(let t of l(e.replace(/\\/g,"/")))n.add(t);return[...n]}function p(e,t){let n=e.toLowerCase(),r=t.toLowerCase();if(!n)return 0;let s=r.indexOf(n);if(s>=0)return 1e3-s-(r.length-n.length)*.01;let l=0,a=0,o=-2;for(let e of n){let t=r.indexOf(e,a);if(t<0)return -1;l+=t===o+1?5:1,(0===t||"/"===r[t-1]||"."===r[t-1]||"-"===r[t-1]||"_"===r[t-1])&&(l+=3),o=t,a=t+1}return l-.01*r.length}function m(e,t){if(!t.size)return e;let n=e=>{if("dir"!==e.kind)return e;let s=new Map((e.children??[]).map(e=>[r(e),n(e)]));for(let l of t.get(e.path)??[]){let e=r(l),t=s.get(e);t?"dir"===t.kind&&s.set(e,{...t,lazy:!0}):s.set(e,n(l))}return{...e,children:[...s.values()].sort(a)}};return n(e)}n.d(t,{H6:()=>i,SG:()=>r,dG:()=>c,dt:()=>p,jg:()=>m,pI:()=>u,pu:()=>d})},2253:(e,t,n)=>{"use strict";n.d(t,{s:()=>l,Q:()=>a});let r=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 s(e){return`/file-icons/${e}.svg`}function l(e){let t=e.toLowerCase(),n=r.name[t];if(n)return s(n);let l=t.split(".");for(let e=1;e<l.length;e+=1){let t=l.slice(e).join("."),n=r.ext[t];if(n)return s(n)}return s(r.defaults.file)}function a(e,t){let n=r.folder[e.toLowerCase()];return n?s(t?`${n}-open`:n):s(t?r.defaults.folderOpen:r.defaults.folder)}},2350:(e,t,n)=>{"use strict";n.d(t,{E:()=>l,U:()=>a});var r=n(2115);let s=(0,r.createContext)({}),l=s.Provider;function a(){return(0,r.useContext)(s)}},2578:(e,t,n)=>{"use strict";function r(e){return e?["text","image"]:["text"]}n.d(t,{C:()=>s,Gy:()=>w,Ik:()=>v,KM:()=>d,Ki:()=>b,Lg:()=>a,SC:()=>i,Vt:()=>x,aK:()=>f,iT:()=>m,sm:()=>u,vV:()=>h,xe:()=>c});let s={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:""},n=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:n?n.includes("image"):void 0,reasoning:"boolean"==typeof t.reasoning?t.reasoning: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),n=o(e.maxTokens);return{id:e.id.trim(),name:e.name??"",...void 0===t?{}:{contextWindow:t},...void 0===n?{}:{maxTokens:n},..."boolean"==typeof e.vision?{vision:e.vision}:{},..."boolean"==typeof e.reasoning?{reasoning:e.reasoning}:{}}}function c(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 d(e){let t=e.trim().toLowerCase();if(!t)return;let n=/^(\d+(?:\.\d+)?)\s*([km]?)$/.exec(t);if(!n)return 0/0;let r=Math.round(Number(n[1])*("k"===n[2]?1e3:"m"===n[2]?1e6:1));return Number.isSafeInteger(r)&&r>0?r: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)}let p=/^[A-Za-z0-9!#$%&'*+.^_`|~-]{1,64}$/;function m(e){if(e.length>32)return"请求头最多 32 条";for(let[t,n]of e){if(!p.test(t))return`请求头名字不合法:${t}`;if(n.length>4096||/[\r\n]/.test(n))return`请求头内容不合法:${t}`}return null}function f(e){let t=new Set;for(let n=0;n<e.length;n+=1){let r=e[n],s=r.id.trim();if(!s||t.has(s))return{index:n,reason:"id"};if(t.add(s),[r.contextWindow,r.maxTokens].some(e=>void 0!==e&&(!Number.isSafeInteger(e)||e<=0)))return{index:n,reason:"capacity"}}}function h(e){let t={...e.source},n=e.source?a(e.source):void 0;for(let r of["id","name","contextWindow","maxTokens"]){let s=e[r];if(!(n&&Object.is(s,n[r])))if("id"===r||"name"===r){let e="string"==typeof s?s.trim():"";"id"===r||e?t[r]=e:delete t[r]}else"number"==typeof s&&Number.isSafeInteger(s)&&s>0?t[r]=s:delete t[r]}let s=e.vision;void 0===s?n?.vision!==void 0&&delete t.input:Object.is(s,n?.vision)||(t.input=r(s));let l=e.reasoning;return void 0===l||Object.is(l,n?.reasoning)||(t.reasoning=l),t}function x(e,t,n,r){let s={...e};for(let n of["baseUrl","name","api"]){let r=t[n];void 0!==r&&r!==("string"==typeof e[n]?e[n]:"")&&(r.trim()?s[n]=r.trim():delete s[n])}if(t.apiKey?.trim()&&(s.apiKey=t.apiKey.trim()),void 0!==t.headers){let n={};for(let[e,r]of Object.entries(t.headers))"string"==typeof r&&r&&(n[e]=r);let r=Object.fromEntries(Object.entries(l(e.headers)?e.headers:{}).filter(([,e])=>"string"!=typeof e)),a={...n,...r};Object.keys(a).length?s.headers=a:delete s.headers}let{definitions:o,overrides:i}=r?function(e,t){let n=[],r=[];for(let s of e){let e=s.id.trim(),o=l(s.source)?s.source:void 0,i="override"!==s.origin&&(o?.api!==void 0||o?.baseUrl!==void 0),c="override"===s.origin&&void 0!==o&&a(o).id===e,d=!i&&(t.has(e)||c),u=h(s);if(!d){n.push(u);continue}let p={...u};delete p.id,Object.keys(p).length&&r.push([e,p])}return{definitions:n,overrides:Object.fromEntries(r)}}(t.models,r):{definitions:t.models.map(e=>h(e)),overrides:void 0};return(o.length||Object.prototype.hasOwnProperty.call(e,"models"))&&(s.models=o),i&&(Object.keys(i).length?s.modelOverrides=i:delete s.modelOverrides),o.length&&void 0===e.models&&void 0===s.api&&n&&(s.api=n),s}let g=new Set(["api","name","models","modelOverrides"]);function w(e){return!(Array.isArray(e.models)&&e.models.length||l(e.modelOverrides)&&Object.keys(e.modelOverrides).length)&&Object.keys(e).every(e=>g.has(e))}function v(e){let t=[];for(let[n,r]of Object.entries(e))(l(r)&&Array.isArray(r.models)?r.models:[]).forEach((e,r)=>{if(!l(e))return;let s="string"==typeof e.id?e.id.trim():"";if(!s)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"),"boolean"!=typeof e.reasoning&&o.push("reasoning"),!o.length)return;let i=a(e);t.push({provider:n,index:r,id:s,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},...void 0===i.reasoning?{}:{reasoning:i.reasoning},missing:o})});return t}function b(e,t){let n=JSON.parse(JSON.stringify(e)),s=0;for(let e of t){let t=Object.prototype.hasOwnProperty.call(n,e.provider)?n[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 n=o(e[t]);void 0===a[t]&&void 0!==n&&(a[t]=n,i=!0)}"boolean"!=typeof e.vision||Array.isArray(a.input)||(a.input=r(e.vision),i=!0),"boolean"==typeof e.reasoning&&"boolean"!=typeof a.reasoning&&(a.reasoning=e.reasoning,i=!0),i&&(s+=1)}return{providers:n,filled:s}}},3364:(e,t,n)=>{"use strict";function r(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 s(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 n=Math.round(t);return`${Math.floor(n/60)}m${n%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`}n.d(t,{J0:()=>s,c5:()=>a,uZ:()=>l,yj:()=>r,zi:()=>o})},4965:(e,t,n)=>{"use strict";n.d(t,{d:()=>r});let r=(0,n(2115).createContext)(null)},6540:(e,t,n)=>{"use strict";n.d(t,{HD:()=>u,Xf:()=>c,kK:()=>d,m6:()=>i});var r=n(922);let s=["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&&s.includes(e))return e}catch{}return"dsh"}function c(){try{let e=localStorage.getItem(o);if(e&&l.includes(e))return e}catch{}return"system"}function d(e,t){var n;let s,l,i,d=t??c();"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)),s="dark"===("system"===(n=d)?window.matchMedia?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":"dark":n),l=document.documentElement,i=document.body,s?(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=s?"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,r.Uf)();try{localStorage.setItem(a,e),localStorage.setItem(o,d)}catch{}}function u(){d(i(),c())}},7523:(e,t,n)=>{Promise.resolve().then(n.bind(n,745)),Promise.resolve().then(n.bind(n,1859))},7765:(e,t,n)=>{"use strict";n.d(t,{_:()=>i});var r=n(5155),s=n(2115),l=n(7650),a=n(9431),o=n(1859);function i({image:e,images:t=[e],index:n=0,alt:c="",title:d,className:u,style:p}){let{t:m}=(0,o.s)(),[f,h]=(0,s.useState)(null);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{type:"button",className:"pw-chat-image-preview",title:d??m.imagePreview,"aria-label":c?`${m.imagePreview}: ${c}`:m.imagePreview,onClick:e=>{e.preventDefault(),e.stopPropagation(),h(n)},children:(0,r.jsx)("img",{src:(0,a.Z)(e),alt:c,title:d,className:u,style:p,draggable:!1})}),null!==f&&t[f]&&(0,l.createPortal)((0,r.jsx)(a.a,{images:t,index:f,onIndex:h,onClose:()=>h(null)}),document.body)]})}},8155:(e,t,n)=>{"use strict";async function r(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()}}n.d(t,{D:()=>r})},8476:(e,t,n)=>{"use strict";n.d(t,{hM:()=>o,rj:()=>a,xZ:()=>i});var r=n(5155),s=n(2115),l=n(9665);function a(e){let t,n=[],r=e.replace(/\r\n/g,"\n").split("\n"),s=0,l=0,a=0,o=0,i=!1,c=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<r.length;e+=1){let d=r[e],u=/^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@(?:.*)$/.exec(d);if(u){s=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?(n.push({kind:"file",text:t}),t=void 0):n.length&&"file"!==n[n.length-1].kind&&n.push({kind:"hunk",text:"…"});continue}if(!(i&&(d.startsWith("\\")||(d.startsWith("-")&&a>0?(n.push({kind:"del",old:s++,text:d.slice(1)}),a-=1):d.startsWith("+")&&o>0?(n.push({kind:"add",new:l++,text:d.slice(1)}),o-=1):d.startsWith(" ")&&a>0&&o>0?(n.push({kind:"ctx",old:s++,new:l++,text:d.slice(1)}),a-=1,o-=1):i=!1,0===a&&0===o&&(i=!1),"+"===d[0]||"-"===d[0]||" "===d[0])))){if(d.startsWith("diff --git ")&&(t=void 0),d.startsWith("--- ")&&r[e+1]?.startsWith("+++ ")){let n=c(d),s=c(r[++e]);t="/dev/null"===s?n.replace(/^a\//,""):s.replace(/^b\//,"")}}}return n.some(e=>"add"===e.kind||"del"===e.kind||"ctx"===e.kind)?n:null}function o(e){let t=0,n=0;for(let r of e)"add"===r.kind?t+=1:"del"===r.kind&&(n+=1);return{add:t,del:n}}function i({lines:e,language:t}){let n=1;for(let t of e){let e=t.new??t.old??0;e>n&&(n=e)}let a=String(n).length,o=(0,s.useMemo)(()=>{let n=t;return e.map(e=>"file"===e.kind?(n=(0,l.f3)(e.text)??t,null):"hunk"!==e.kind&&n&&e.text.trim()?(0,l.NK)(e.text,n):null)},[e,t]);return(0,r.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,r.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 n="hunk"===e.kind?"":String("del"===e.kind?e.old:e.new).padStart(a),s="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,c="add"===e.kind?"+":"del"===e.kind?"-":" ",d=o[t];return(0,r.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,r.jsxs)("span",{style:{color:s,userSelect:"none"},children:[n," ",c," "]}),d?(0,r.jsx)("span",{dangerouslySetInnerHTML:{__html:d}}):e.text]},t)})})}},9431:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a,a:()=>o});var r=n(5155),s=n(2115),l=n(1859);let a=e=>"string"==typeof e?e:`data:${e.mimeType};base64,${e.data}`;function o({images:e,index:t,disabled:n,onIndex:i,onRemove:c,onClose:d}){let{t:u}=(0,l.s)(),p=(0,s.useRef)(null),m=(0,s.useRef)(null),f=e.length,h=e=>i((t+e+f)%f);return((0,s.useEffect)(()=>{let e=document.activeElement instanceof HTMLElement?document.activeElement:null,t=document.body.style.overflow;return document.body.style.overflow="hidden",m.current?.focus(),()=>{document.body.style.overflow=t,e?.isConnected&&e.focus()}},[]),(0,s.useEffect)(()=>{let e=e=>{if("Escape"===e.key)d();else if("ArrowLeft"===e.key&&f>1)h(-1);else if("ArrowRight"===e.key&&f>1)h(1);else{if("Tab"!==e.key)return;let t=[...p.current?.querySelectorAll("button:not(:disabled)")??[]];if(!t.length)return;let n=t.indexOf(document.activeElement),r=e.shiftKey?n<=0?t.length-1:n-1:n===t.length-1?0:n+1;t[r].focus()}e.preventDefault(),e.stopPropagation()};return document.addEventListener("keydown",e,!0),()=>document.removeEventListener("keydown",e,!0)},[f,t,d,i]),e[t])?(0,r.jsxs)("div",{ref:p,className:"pw-lightbox",role:"dialog","aria-modal":"true","aria-label":u.imageViewer,onClick:d,children:[(0,r.jsxs)("div",{className:"pw-lightbox-bar",onClick:e=>e.stopPropagation(),children:[(0,r.jsx)("span",{className:"pw-lightbox-count",children:f>1?`${t+1} / ${f}`:""}),c&&(0,r.jsx)("button",{type:"button",className:"pw-lightbox-btn",disabled:n,onClick:()=>c(t),children:u.delete}),(0,r.jsx)("button",{ref:m,type:"button",className:"pw-lightbox-btn","aria-label":u.close,onClick:d,children:"✕"})]}),(0,r.jsx)("img",{src:a(e[t]),alt:u.imageViewer,className:"pw-lightbox-image",onClick:e=>e.stopPropagation()}),f>1&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{type:"button",className:"pw-lightbox-nav","data-side":"prev","aria-label":u.imagePrev,onClick:e=>{e.stopPropagation(),h(-1)},children:"‹"}),(0,r.jsx)("button",{type:"button",className:"pw-lightbox-nav","data-side":"next","aria-label":u.imageNext,onClick:e=>{e.stopPropagation(),h(1)},children:"›"})]})]}):null}},9591:(e,t,n)=>{"use strict";n.d(t,{M:()=>b,PG:()=>g,Ug:()=>x,fT:()=>h,x8:()=>s});var r=n(2115);let s=["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 c(){for(let e of i)e()}function d(e,t){a={...a,targets:{...a.targets,[e]:{...a.targets[e],...t}}},c()}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 n=await fetch("/api/update",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({target:e,action:t})}),r=await n.json();if(!r.success)throw new p(String(r.error??n.status),409===n.status);return r.data}function f(e){return{phase:"error",error:e instanceof Error?e.message:String(e),busy:e instanceof p&&e.busy}}function h(){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 n={...a.targets};for(let e of s){let r=t.data?.results?.[e];"idle"!==n[e].phase||!r||"error"in r||(n[e]={...n[e],...u(r)})}a={loaded:!0,startId:t.data?.startId??null,targets:n}}catch{a={...a,loaded:!0}}c()})()}async function x(e){d(e,{phase:"checking",error:"",busy:!1});try{d(e,u(await m(e,"check")))}catch(t){d(e,f(t))}}async function g(e){d(e,{phase:"updating",error:"",busy:!1});try{let t=await m(e,"update");return d(e,{phase:"updated",latest:t?.version||a.targets[e].latest,command:""}),!0}catch(t){return d(e,f(t)),!1}}function w(e){return i.add(e),()=>{i.delete(e)}}let v=()=>a;function b(){return(0,r.useSyncExternalStore)(w,v,v)}},9665:(e,t,n)=>{"use strict";n.d(t,{NK:()=>o,f3:()=>l,wY:()=>a});var r=n(3613);let s={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=s[function(e){let t=(e.replace(/\\/g,"/").split("/").pop()??e).toLowerCase();if("makefile"===t)return"makefile";if("dockerfile"===t)return"dockerfile";let n=t.lastIndexOf(".");return n>=0?t.slice(n+1):""}(e)];return t&&r.A.getLanguage(t)?t:void 0}function a(e,t){if(e.length>122880)return null;try{if(t&&r.A.getLanguage(t))return r.A.highlight(e,{language:t,ignoreIllegals:!0}).value;if(e.length<30720)return r.A.highlightAuto(e).value}catch{}return null}function o(e,t){if(!e||e.length>2e3)return null;try{return r.A.highlight(e,{language:t,ignoreIllegals:!0}).value}catch{return null}}},9992:(e,t,n)=>{"use strict";n.d(t,{$l:()=>i,BA:()=>M,BF:()=>P,Bh:()=>u,Cd:()=>C,Ct:()=>m,DI:()=>I,Ec:()=>a,FG:()=>l,FQ:()=>y,Je:()=>B,Jz:()=>v,NA:()=>D,NQ:()=>E,P9:()=>N,PP:()=>A,PT:()=>x,QY:()=>k,RX:()=>g,Vd:()=>w,Xh:()=>c,Yq:()=>W,ZL:()=>q,an:()=>H,bQ:()=>j,df:()=>d,ee:()=>o,f5:()=>s,i7:()=>R,lx:()=>O,o_:()=>h,pH:()=>L,q2:()=>$,r$:()=>f,sB:()=>F,sS:()=>p,se:()=>T,tq:()=>z,tr:()=>S,uN:()=>b,yD:()=>Z});var r=n(5155);let s=({size:e=16,...t})=>(0,r.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,r.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,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:[(0,r.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,r.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,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:[(0,r.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,r.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,r.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,r.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,...n})=>(0,r.jsx)(o,{size:e,style:{transform:"scaleX(-1)",...t},...n}),c=({size:e=16,...t})=>(0,r.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,r.jsx)("path",{d:"M8.64453 1.5V7.34961H14.5V8.65039H8.64453V14.5H7.34473V8.65039H1.5V7.34961H7.34473V1.5H8.64453Z",fill:"currentColor"})}),d=({size:e=14,...t})=>(0,r.jsx)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",...t,children:(0,r.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,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:[(0,r.jsx)("path",{d:"M14.1168 13.197L13.197 14.1167L1.8833 2.80303L2.80309 1.88324L14.1168 13.197Z",fill:"currentColor"}),(0,r.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,r.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,r.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,r.jsx)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",...t,children:(0,r.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"})}),f=({size:e=16,...t})=>(0,r.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,r.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"})}),h=({size:e=16,...t})=>(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",...t,children:[(0,r.jsx)("circle",{cx:"12",cy:"12",r:"4"}),(0,r.jsx)("path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94"})]}),x=({size:e=16,...t})=>(0,r.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,r.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"})}),g=({size:e=14,...t})=>(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",...t,children:[(0,r.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,r.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"})]}),w=({size:e=16,...t})=>(0,r.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,r.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"})}),v=({size:e=14,...t})=>(0,r.jsx)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",...t,children:(0,r.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,r.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,r.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,r.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,r.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,r.jsx)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",...t,children:(0,r.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,r.jsx)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",...t,children:(0,r.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,r.jsx)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",...t,children:(0,r.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,r.jsx)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",...t,children:(0,r.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,r.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,r.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,r.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,r.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,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:[(0,r.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,r.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,r.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,r.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"})}),$=E,z=({size:e=16,...t})=>(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:[(0,r.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,r.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"})]}),T=z,R=({size:e=16,...t})=>(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:[(0,r.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,r.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"})]}),I=({size:e=16,...t})=>(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:[(0,r.jsxs)("mask",{id:"piw-agent-preset-mask",maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"16",height:"16",children:[(0,r.jsx)("rect",{width:"16",height:"16",fill:"white"}),(0,r.jsx)("circle",{cx:"7.9995",cy:"3.28319",r:"1.712",fill:"black"}),(0,r.jsx)("circle",{cx:"3.51122",cy:"11.3855",r:"1.712",fill:"black"}),(0,r.jsx)("circle",{cx:"12.4878",cy:"11.3855",r:"1.712",fill:"black"})]}),(0,r.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,r.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,r.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,r.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"})]}),A=({size:e=14,...t})=>(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",...t,children:[(0,r.jsx)("path",{d:"M6.3002 3.32843L7.69986 3.32843L7.69986 7.79657H6.3002L6.3002 3.32843Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M6.3002 9.01935H7.69986V10.6711H6.3002V9.01935Z",fill:"currentColor"}),(0,r.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"})]}),P=({size:e=16,...t})=>(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:[(0,r.jsx)("circle",{cx:"8",cy:"8",r:"6.375",stroke:"currentColor",strokeWidth:"1.25"}),(0,r.jsx)("path",{d:"M8 4.4V8.3L10.7 9.85",stroke:"currentColor",strokeWidth:"1.25"})]}),O=({size:e=16,...t})=>(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:[(0,r.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,r.jsx)("path",{d:"M9.6875 1.25V4.6875H13.125",stroke:"currentColor",strokeWidth:"1.25",strokeLinejoin:"round"})]}),B=({size:e=16,...t})=>(0,r.jsx)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",fillRule:"evenodd",...t,children:(0,r.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,r.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:(0,r.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"})}),W=({size:e=14,...t})=>(0,r.jsx)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",...t,children:(0,r.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"})}),F=({size:e=16,...t})=>(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:[(0,r.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,r.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,r.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"})]}),D=({size:e=14,...t})=>(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:[(0,r.jsx)("path",{d:"M11.2426 4.80473V6.10551H4.75819V4.80473H11.2426Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M9.40858 7.84478V9.14557H4.75819V7.84478H9.40858Z",fill:"currentColor"}),(0,r.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,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",...t,children:[(0,r.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,r.jsx)("path",{d:"M3.6 5.2 5.4 7 3.6 8.8",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,r.jsx)("path",{d:"M6.6 9.4h3.2",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})]}),Z=({size:e=16,...t})=>(0,r.jsxs)("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",...t,children:[(0,r.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,r.jsx)("path",{d:"M12.7962 12.5661V11.0832H7.20548V12.5661L12.7962 12.5661Z",fill:"currentColor"})]})}},e=>{e.O(0,[316,4686,8441,3794,7358],()=>e(e.s=7523)),_N_E=e.O()}]);
|