@qt4798/pi-web 0.17.2 → 0.17.3
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 +16 -16
- package/.next/build-manifest.json +4 -4
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +5 -5
- package/.next/react-loadable-manifest.json +72 -60
- package/.next/required-server-files.js +27 -28
- package/.next/required-server-files.json +27 -28
- package/.next/server/app/_global-error/page.js +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_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +4 -3
- package/.next/server/app/_not-found.segments/_full.segment.rsc +4 -3
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +4 -3
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
- package/.next/server/app/api/agent/[id]/bash-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agent/[id]/events/route.js +2 -2
- 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_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/running/events/route.js +1 -1
- package/.next/server/app/api/agent/running/events/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agent/running/route.js +1 -1
- package/.next/server/app/api/agent/running/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app-update/route.js +1 -1
- package/.next/server/app/api/app-update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/api-key/[provider]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/combined/route.js +1 -1
- package/.next/server/app/api/auth/combined/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
- package/.next/server/app/api/auth/login/[provider]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/logout/[provider]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/providers/route.js +1 -1
- package/.next/server/app/api/auth/providers/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/backup/export/route.js +1 -1
- package/.next/server/app/api/backup/export/route.js.nft.json +1 -1
- package/.next/server/app/api/backup/export/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/backup/import/route.js +1 -1
- package/.next/server/app/api/backup/import/route.js.nft.json +1 -1
- package/.next/server/app/api/backup/import/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/cwd/browse/route.js +1 -1
- package/.next/server/app/api/cwd/browse/route.js.nft.json +1 -1
- package/.next/server/app/api/cwd/browse/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/cwd/validate/route.js +1 -1
- package/.next/server/app/api/cwd/validate/route.js.nft.json +1 -1
- package/.next/server/app/api/cwd/validate/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/deepseek/balance/route.js +1 -1
- package/.next/server/app/api/deepseek/balance/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/default-cwd/route.js +1 -1
- package/.next/server/app/api/default-cwd/route.js.nft.json +1 -1
- package/.next/server/app/api/default-cwd/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/events/route.js +2 -2
- package/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/features/route.js +1 -1
- package/.next/server/app/api/features/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/file-index/route.js +1 -1
- package/.next/server/app/api/file-index/route.js.nft.json +1 -1
- package/.next/server/app/api/file-index/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/files/[...path]/route.js +1 -1
- package/.next/server/app/api/files/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/files/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/git/diff/route.js +2 -2
- package/.next/server/app/api/git/diff/route.js.nft.json +1 -1
- package/.next/server/app/api/git/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/git/push/route.js +1 -1
- package/.next/server/app/api/git/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/git/stash/route.js +1 -1
- package/.next/server/app/api/git/stash/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/git/status/route.js +2 -2
- package/.next/server/app/api/git/status/route.js.nft.json +1 -1
- package/.next/server/app/api/git/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/home/route.js +1 -1
- package/.next/server/app/api/home/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/import/discover/route.js +1 -1
- package/.next/server/app/api/import/discover/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/import/execute/route.js +1 -1
- package/.next/server/app/api/import/execute/route.js.nft.json +1 -1
- package/.next/server/app/api/import/execute/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/import/status/route.js +1 -1
- package/.next/server/app/api/import/status/route.js.nft.json +1 -1
- package/.next/server/app/api/import/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/logs/route.js +1 -1
- package/.next/server/app/api/logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/restart/route.js +1 -1
- package/.next/server/app/api/mcp/restart/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/route.js +2 -2
- package/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models/route.js +1 -1
- package/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models-config/builtin/route.js +1 -1
- package/.next/server/app/api/models-config/builtin/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models-config/catalog/route.js +1 -1
- package/.next/server/app/api/models-config/catalog/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models-config/discover/route.js +1 -1
- package/.next/server/app/api/models-config/discover/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models-config/route.js +1 -1
- package/.next/server/app/api/models-config/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models-config/test/route.js +1 -1
- package/.next/server/app/api/models-config/test/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/modes/route.js +1 -1
- package/.next/server/app/api/modes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/plugins/check/route.js +1 -1
- package/.next/server/app/api/plugins/check/route.js.nft.json +1 -1
- package/.next/server/app/api/plugins/check/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/project-aliases/route.js +1 -1
- package/.next/server/app/api/project-aliases/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/project-state/route.js +1 -1
- package/.next/server/app/api/project-state/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/project-trust/route.js +1 -1
- package/.next/server/app/api/project-trust/route.js.nft.json +1 -1
- package/.next/server/app/api/project-trust/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/visibility/route.js +1 -1
- package/.next/server/app/api/projects/visibility/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/proxy/route.js +1 -1
- package/.next/server/app/api/proxy/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/proxy/test/route.js +1 -1
- package/.next/server/app/api/proxy/test/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/auto-name/route.js +2 -2
- package/.next/server/app/api/sessions/[id]/auto-name/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/context/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/details/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/details/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/export/route.js +2 -2
- package/.next/server/app/api/sessions/[id]/export/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/queue-recovery/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/queue-recovery/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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/state/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/route.js +1 -1
- package/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/search/route.js +1 -1
- package/.next/server/app/api/sessions/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/settings/title-model/route.js +1 -1
- package/.next/server/app/api/settings/title-model/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/check/route.js +1 -1
- package/.next/server/app/api/skills/check/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/check/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/install/route.js +1 -1
- package/.next/server/app/api/skills/install/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/route.js +1 -1
- 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/skills/search/route.js +1 -1
- package/.next/server/app/api/skills/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/update/route.js +1 -1
- package/.next/server/app/api/skills/update/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/snippets/[id]/route.js +1 -1
- package/.next/server/app/api/snippets/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/snippets/route.js +1 -1
- package/.next/server/app/api/snippets/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/subagents/[id]/route.js +1 -1
- package/.next/server/app/api/subagents/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/subagents/profiles/route.js +1 -1
- package/.next/server/app/api/subagents/profiles/route.js.nft.json +1 -1
- package/.next/server/app/api/subagents/profiles/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/subagents/settings/route.js +1 -1
- package/.next/server/app/api/subagents/settings/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[id]/[action]/route.js +1 -1
- package/.next/server/app/api/tasks/[id]/[action]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[id]/changed-files/route.js +2 -2
- package/.next/server/app/api/tasks/[id]/changed-files/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[id]/diff/route.js +1 -1
- package/.next/server/app/api/tasks/[id]/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[id]/events/route.js +1 -1
- package/.next/server/app/api/tasks/[id]/events/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[id]/route.js +1 -1
- package/.next/server/app/api/tasks/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/batch/route.js +1 -1
- package/.next/server/app/api/tasks/batch/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/events/route.js +1 -1
- package/.next/server/app/api/tasks/events/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/route.js +1 -1
- package/.next/server/app/api/tasks/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/settings/route.js +1 -1
- package/.next/server/app/api/tasks/settings/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/settings/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/templates/route.js +1 -1
- package/.next/server/app/api/tasks/templates/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/terminal/[id]/events/route.js +2 -2
- package/.next/server/app/api/terminal/[id]/events/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/terminal/[id]/route.js +1 -1
- package/.next/server/app/api/terminal/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/terminal/route.js +1 -1
- package/.next/server/app/api/terminal/route.js.nft.json +1 -1
- package/.next/server/app/api/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/themes/[name]/route.js +1 -1
- package/.next/server/app/api/themes/[name]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/themes/route.js +1 -1
- package/.next/server/app/api/themes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tools/settings/route.js +1 -1
- package/.next/server/app/api/tools/settings/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/usage/route.js +1 -1
- package/.next/server/app/api/usage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/vision-config/route.js +2 -2
- package/.next/server/app/api/vision-config/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/route.js +1 -1
- package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
- package/.next/server/app/icon.ico/route.js +1 -1
- package/.next/server/app/icon.png/route.js +1 -1
- package/.next/server/app/icon.svg/route.js +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +6 -5
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +6 -5
- package/.next/server/app/index.segments/_full.segment.rsc +6 -5
- package/.next/server/app/index.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/page.js +3 -3
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +16 -16
- package/.next/server/chunks/2430.js +4 -4
- package/.next/server/chunks/7790.js +1 -1
- package/.next/server/chunks/7915.js +1 -1
- package/.next/server/chunks/9280.js +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 +6 -6
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/1966.b8f83f7ba376c962.js +1 -0
- package/.next/static/chunks/3899.d4d0ae202f418161.js +1 -0
- package/.next/static/chunks/app/_not-found/page-2da68441239d5ed5.js +1 -0
- package/.next/static/chunks/app/layout-324e170a1e2a663e.js +1 -0
- package/.next/static/chunks/app/{page-a5bd25a6c7117c16.js → page-5a4b9ce0c45aedbb.js} +4 -4
- package/.next/static/chunks/main-10987b1ebc0342cf.js +5 -0
- package/.next/static/chunks/main-app-413def87654f9d85.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-512d48f348bac9b3.js +1 -0
- package/.next/static/chunks/webpack-eed65adb5946593c.js +1 -0
- package/.next/static/css/26b54210008ec821.css +1 -0
- package/.next/static/css/{683b2ca13a4576ae.css → f8c37f1cfee885e7.css} +1 -1
- package/.next/trace +7 -8
- package/.next/trace-build +1 -1
- package/.next/types/app/api/agent/[id]/bash-output/route.ts +1 -1
- 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/new/route.ts +1 -1
- package/.next/types/app/api/agent/running/events/route.ts +1 -1
- package/.next/types/app/api/agent/running/route.ts +1 -1
- package/.next/types/app/api/app-update/route.ts +1 -1
- package/.next/types/app/api/auth/api-key/[provider]/route.ts +1 -1
- package/.next/types/app/api/auth/combined/route.ts +1 -1
- package/.next/types/app/api/auth/login/[provider]/route.ts +1 -1
- package/.next/types/app/api/auth/logout/[provider]/route.ts +1 -1
- package/.next/types/app/api/auth/providers/route.ts +1 -1
- package/.next/types/app/api/backup/export/route.ts +1 -1
- package/.next/types/app/api/backup/import/route.ts +1 -1
- package/.next/types/app/api/cwd/browse/route.ts +1 -1
- package/.next/types/app/api/cwd/validate/route.ts +1 -1
- package/.next/types/app/api/deepseek/balance/route.ts +1 -1
- package/.next/types/app/api/default-cwd/route.ts +1 -1
- package/.next/types/app/api/events/route.ts +1 -1
- package/.next/types/app/api/features/route.ts +1 -1
- package/.next/types/app/api/file-index/route.ts +1 -1
- package/.next/types/app/api/files/[...path]/route.ts +1 -1
- package/.next/types/app/api/git/diff/route.ts +1 -1
- package/.next/types/app/api/git/push/route.ts +1 -1
- package/.next/types/app/api/git/stash/route.ts +1 -1
- package/.next/types/app/api/git/status/route.ts +1 -1
- package/.next/types/app/api/home/route.ts +1 -1
- package/.next/types/app/api/import/discover/route.ts +1 -1
- package/.next/types/app/api/import/execute/route.ts +1 -1
- package/.next/types/app/api/import/status/route.ts +1 -1
- package/.next/types/app/api/logs/route.ts +1 -1
- package/.next/types/app/api/mcp/restart/route.ts +1 -1
- package/.next/types/app/api/mcp/route.ts +1 -1
- package/.next/types/app/api/models/route.ts +1 -1
- package/.next/types/app/api/models-config/builtin/route.ts +1 -1
- package/.next/types/app/api/models-config/catalog/route.ts +1 -1
- package/.next/types/app/api/models-config/discover/route.ts +1 -1
- package/.next/types/app/api/models-config/route.ts +1 -1
- package/.next/types/app/api/models-config/test/route.ts +1 -1
- package/.next/types/app/api/modes/route.ts +1 -1
- package/.next/types/app/api/plugins/check/route.ts +1 -1
- package/.next/types/app/api/plugins/route.ts +1 -1
- package/.next/types/app/api/project-aliases/route.ts +1 -1
- package/.next/types/app/api/project-state/route.ts +1 -1
- package/.next/types/app/api/project-trust/route.ts +1 -1
- package/.next/types/app/api/projects/visibility/route.ts +1 -1
- package/.next/types/app/api/proxy/route.ts +1 -1
- package/.next/types/app/api/proxy/test/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/auto-name/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/context/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/details/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/entries/[entryId]/thinking/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/export/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/queue-recovery/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/state/route.ts +1 -1
- package/.next/types/app/api/sessions/route.ts +1 -1
- package/.next/types/app/api/sessions/search/route.ts +1 -1
- package/.next/types/app/api/settings/title-model/route.ts +1 -1
- package/.next/types/app/api/skills/check/route.ts +1 -1
- package/.next/types/app/api/skills/install/route.ts +1 -1
- package/.next/types/app/api/skills/route.ts +1 -1
- package/.next/types/app/api/skills/search/route.ts +1 -1
- package/.next/types/app/api/skills/update/route.ts +1 -1
- package/.next/types/app/api/snippets/[id]/route.ts +1 -1
- package/.next/types/app/api/snippets/route.ts +1 -1
- package/.next/types/app/api/subagents/[id]/route.ts +1 -1
- package/.next/types/app/api/subagents/profiles/route.ts +1 -1
- package/.next/types/app/api/subagents/settings/route.ts +1 -1
- package/.next/types/app/api/tasks/[id]/[action]/route.ts +1 -1
- package/.next/types/app/api/tasks/[id]/changed-files/route.ts +1 -1
- package/.next/types/app/api/tasks/[id]/diff/route.ts +1 -1
- package/.next/types/app/api/tasks/[id]/events/route.ts +1 -1
- package/.next/types/app/api/tasks/[id]/route.ts +1 -1
- package/.next/types/app/api/tasks/batch/route.ts +1 -1
- package/.next/types/app/api/tasks/events/route.ts +1 -1
- package/.next/types/app/api/tasks/route.ts +1 -1
- package/.next/types/app/api/tasks/settings/route.ts +1 -1
- package/.next/types/app/api/tasks/templates/route.ts +1 -1
- package/.next/types/app/api/terminal/[id]/events/route.ts +1 -1
- package/.next/types/app/api/terminal/[id]/route.ts +1 -1
- package/.next/types/app/api/terminal/route.ts +1 -1
- package/.next/types/app/api/themes/[name]/route.ts +1 -1
- package/.next/types/app/api/themes/route.ts +1 -1
- package/.next/types/app/api/tools/settings/route.ts +1 -1
- package/.next/types/app/api/usage/route.ts +1 -1
- package/.next/types/app/api/vision-config/route.ts +1 -1
- package/.next/types/app/api/worktrees/route.ts +1 -1
- package/.next/types/app/layout.ts +1 -1
- package/.next/types/app/page.ts +1 -1
- package/LICENSE +22 -22
- package/README.en.md +145 -145
- package/README.ja.md +134 -134
- package/README.md +372 -372
- package/README.ru.md +134 -134
- package/bin/fix-pi-agent-undici.js +122 -122
- package/bin/memory-watchdog.js +135 -135
- package/bin/pi-web-options.js +114 -114
- package/bin/pi-web.js +140 -140
- package/bin/prepare-terminal.js +14 -14
- package/bin/process-lifecycle.js +81 -81
- package/bin/watchdog-preload.js +20 -20
- package/bin/with-memory-limit.js +73 -46
- package/lib/theme/openchamber/aura.json +41 -41
- package/lib/theme/openchamber/ayu.json +41 -41
- package/lib/theme/openchamber/carbonfox.json +41 -41
- package/lib/theme/openchamber/catppuccin.json +41 -41
- package/lib/theme/openchamber/dracula.json +41 -41
- package/lib/theme/openchamber/fields-of-the-shire.json +41 -41
- package/lib/theme/openchamber/flexoki.json +41 -41
- package/lib/theme/openchamber/gruvbox.json +41 -41
- package/lib/theme/openchamber/jetbrains.json +41 -41
- package/lib/theme/openchamber/kanagawa.json +41 -41
- package/lib/theme/openchamber/mono-plus.json +41 -41
- package/lib/theme/openchamber/mono.json +41 -41
- package/lib/theme/openchamber/monokai.json +41 -41
- package/lib/theme/openchamber/night-owl.json +41 -41
- package/lib/theme/openchamber/nord.json +41 -41
- package/lib/theme/openchamber/one-dark-pro.json +41 -41
- package/lib/theme/openchamber/openchamber.json +41 -41
- package/lib/theme/openchamber/solarized.json +41 -41
- package/lib/theme/openchamber/tokyonight.json +41 -41
- package/lib/theme/openchamber/vesper.json +41 -41
- package/lib/theme/openchamber/vitesse-dark.json +23 -23
- package/lib/theme/openchamber/vitesse-light.json +23 -23
- package/next.config.ts +56 -56
- package/package.json +115 -115
- package/public/catppuccin-icons/LICENSE +25 -25
- package/public/catppuccin-icons/latte/3d.svg +3 -3
- package/public/catppuccin-icons/latte/_file.svg +3 -3
- package/public/catppuccin-icons/latte/_folder.svg +3 -3
- package/public/catppuccin-icons/latte/_folder_open.svg +3 -3
- package/public/catppuccin-icons/latte/_root.svg +7 -7
- package/public/catppuccin-icons/latte/_root_open.svg +5 -5
- package/public/catppuccin-icons/latte/adobe-ae.svg +6 -6
- package/public/catppuccin-icons/latte/adobe-ai.svg +6 -6
- package/public/catppuccin-icons/latte/adobe-id.svg +6 -6
- package/public/catppuccin-icons/latte/adobe-ps.svg +6 -6
- package/public/catppuccin-icons/latte/adobe-xd.svg +6 -6
- package/public/catppuccin-icons/latte/adonis.svg +6 -6
- package/public/catppuccin-icons/latte/alex.svg +6 -6
- package/public/catppuccin-icons/latte/amber.svg +3 -3
- package/public/catppuccin-icons/latte/android.svg +3 -3
- package/public/catppuccin-icons/latte/angular-component.svg +6 -6
- package/public/catppuccin-icons/latte/angular-directive.svg +6 -6
- package/public/catppuccin-icons/latte/angular-guard.svg +6 -6
- package/public/catppuccin-icons/latte/angular-pipe.svg +6 -6
- package/public/catppuccin-icons/latte/angular-service.svg +6 -6
- package/public/catppuccin-icons/latte/angular.svg +6 -6
- package/public/catppuccin-icons/latte/ansible-lint.svg +4 -4
- package/public/catppuccin-icons/latte/antlr.svg +6 -6
- package/public/catppuccin-icons/latte/apache.svg +7 -7
- package/public/catppuccin-icons/latte/api-blueprint.svg +3 -3
- package/public/catppuccin-icons/latte/apollo.svg +6 -6
- package/public/catppuccin-icons/latte/apple.svg +3 -3
- package/public/catppuccin-icons/latte/arduino.svg +3 -3
- package/public/catppuccin-icons/latte/asciidoc.svg +3 -3
- package/public/catppuccin-icons/latte/assembly.svg +4 -4
- package/public/catppuccin-icons/latte/astro-config.svg +7 -7
- package/public/catppuccin-icons/latte/astro.svg +6 -6
- package/public/catppuccin-icons/latte/audio.svg +6 -6
- package/public/catppuccin-icons/latte/autohotkey.svg +6 -6
- package/public/catppuccin-icons/latte/azure-pipelines.svg +3 -3
- package/public/catppuccin-icons/latte/babel.svg +3 -3
- package/public/catppuccin-icons/latte/bash.svg +7 -7
- package/public/catppuccin-icons/latte/batch.svg +6 -6
- package/public/catppuccin-icons/latte/bazel.svg +3 -3
- package/public/catppuccin-icons/latte/benchmark.svg +3 -3
- package/public/catppuccin-icons/latte/bicep.svg +5 -5
- package/public/catppuccin-icons/latte/binary.svg +6 -6
- package/public/catppuccin-icons/latte/biome.svg +3 -3
- package/public/catppuccin-icons/latte/bitbucket.svg +3 -3
- package/public/catppuccin-icons/latte/blink.svg +10 -10
- package/public/catppuccin-icons/latte/blitz.svg +3 -3
- package/public/catppuccin-icons/latte/bower.svg +9 -9
- package/public/catppuccin-icons/latte/browserslist.svg +6 -6
- package/public/catppuccin-icons/latte/bun-lock.svg +8 -8
- package/public/catppuccin-icons/latte/bun.svg +7 -7
- package/public/catppuccin-icons/latte/c-header.svg +3 -3
- package/public/catppuccin-icons/latte/c.svg +3 -3
- package/public/catppuccin-icons/latte/cabal.svg +7 -7
- package/public/catppuccin-icons/latte/caddy.svg +6 -6
- package/public/catppuccin-icons/latte/capacitor.svg +3 -3
- package/public/catppuccin-icons/latte/cargo-lock.svg +8 -8
- package/public/catppuccin-icons/latte/cargo.svg +7 -7
- package/public/catppuccin-icons/latte/certificate.svg +7 -7
- package/public/catppuccin-icons/latte/changelog.svg +3 -3
- package/public/catppuccin-icons/latte/circle-ci.svg +6 -6
- package/public/catppuccin-icons/latte/clojure.svg +10 -10
- package/public/catppuccin-icons/latte/cmake.svg +7 -7
- package/public/catppuccin-icons/latte/cobol.svg +3 -3
- package/public/catppuccin-icons/latte/code-climate.svg +3 -3
- package/public/catppuccin-icons/latte/code-of-conduct.svg +6 -6
- package/public/catppuccin-icons/latte/codeowners.svg +6 -6
- package/public/catppuccin-icons/latte/coffeescript.svg +6 -6
- package/public/catppuccin-icons/latte/commitlint.svg +6 -6
- package/public/catppuccin-icons/latte/config.svg +3 -3
- package/public/catppuccin-icons/latte/contributing.svg +6 -6
- package/public/catppuccin-icons/latte/cpp-header.svg +4 -4
- package/public/catppuccin-icons/latte/cpp.svg +4 -4
- package/public/catppuccin-icons/latte/crystal.svg +3 -3
- package/public/catppuccin-icons/latte/csharp.svg +3 -3
- package/public/catppuccin-icons/latte/cspell.svg +4 -4
- package/public/catppuccin-icons/latte/css-map.svg +8 -8
- package/public/catppuccin-icons/latte/css.svg +6 -6
- package/public/catppuccin-icons/latte/css3.svg +6 -6
- package/public/catppuccin-icons/latte/csv.svg +3 -3
- package/public/catppuccin-icons/latte/cucumber.svg +3 -3
- package/public/catppuccin-icons/latte/cuda.svg +6 -6
- package/public/catppuccin-icons/latte/cue.svg +4 -4
- package/public/catppuccin-icons/latte/cursor-ignore.svg +4 -4
- package/public/catppuccin-icons/latte/cursor.svg +4 -4
- package/public/catppuccin-icons/latte/cypress.svg +6 -6
- package/public/catppuccin-icons/latte/d.svg +3 -3
- package/public/catppuccin-icons/latte/darklua.svg +6 -6
- package/public/catppuccin-icons/latte/dart-generated.svg +6 -6
- package/public/catppuccin-icons/latte/dart.svg +6 -6
- package/public/catppuccin-icons/latte/database.svg +3 -3
- package/public/catppuccin-icons/latte/deno.svg +3 -3
- package/public/catppuccin-icons/latte/deno_lock.svg +6 -6
- package/public/catppuccin-icons/latte/dependabot.svg +3 -3
- package/public/catppuccin-icons/latte/devcontainer.svg +4 -4
- package/public/catppuccin-icons/latte/dhall.svg +3 -3
- package/public/catppuccin-icons/latte/diff.svg +7 -7
- package/public/catppuccin-icons/latte/django.svg +6 -6
- package/public/catppuccin-icons/latte/docker-compose.svg +3 -3
- package/public/catppuccin-icons/latte/docker-ignore.svg +3 -3
- package/public/catppuccin-icons/latte/docker.svg +3 -3
- package/public/catppuccin-icons/latte/docusaurus.svg +7 -7
- package/public/catppuccin-icons/latte/drawio.svg +3 -3
- package/public/catppuccin-icons/latte/drizzle-orm.svg +3 -3
- package/public/catppuccin-icons/latte/dub-selections.svg +8 -8
- package/public/catppuccin-icons/latte/dub.svg +7 -7
- package/public/catppuccin-icons/latte/editorconfig.svg +3 -3
- package/public/catppuccin-icons/latte/ejs.svg +3 -3
- package/public/catppuccin-icons/latte/eleventy.svg +3 -3
- package/public/catppuccin-icons/latte/elixir.svg +3 -3
- package/public/catppuccin-icons/latte/elm.svg +3 -3
- package/public/catppuccin-icons/latte/ember.svg +3 -3
- package/public/catppuccin-icons/latte/env.svg +3 -3
- package/public/catppuccin-icons/latte/envrc.svg +6 -6
- package/public/catppuccin-icons/latte/erlang.svg +6 -6
- package/public/catppuccin-icons/latte/esbuild.svg +3 -3
- package/public/catppuccin-icons/latte/eslint-ignore.svg +6 -6
- package/public/catppuccin-icons/latte/eslint.svg +6 -6
- package/public/catppuccin-icons/latte/exe.svg +6 -6
- package/public/catppuccin-icons/latte/fastlane.svg +14 -14
- package/public/catppuccin-icons/latte/favicon.svg +3 -3
- package/public/catppuccin-icons/latte/figma.svg +9 -9
- package/public/catppuccin-icons/latte/firebase.svg +3 -3
- package/public/catppuccin-icons/latte/flutter.svg +8 -8
- package/public/catppuccin-icons/latte/folder_admin.svg +6 -6
- package/public/catppuccin-icons/latte/folder_admin_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_android.svg +6 -6
- package/public/catppuccin-icons/latte/folder_android_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_animation.svg +6 -6
- package/public/catppuccin-icons/latte/folder_animation_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_api.svg +6 -6
- package/public/catppuccin-icons/latte/folder_api_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_app.svg +7 -7
- package/public/catppuccin-icons/latte/folder_app_open.svg +7 -7
- package/public/catppuccin-icons/latte/folder_assets.svg +5 -5
- package/public/catppuccin-icons/latte/folder_assets_open.svg +5 -5
- package/public/catppuccin-icons/latte/folder_audio.svg +9 -9
- package/public/catppuccin-icons/latte/folder_audio_open.svg +9 -9
- package/public/catppuccin-icons/latte/folder_audit.svg +4 -4
- package/public/catppuccin-icons/latte/folder_audit_open.svg +4 -4
- package/public/catppuccin-icons/latte/folder_aws.svg +9 -9
- package/public/catppuccin-icons/latte/folder_aws_open.svg +9 -9
- package/public/catppuccin-icons/latte/folder_azure-devops.svg +4 -4
- package/public/catppuccin-icons/latte/folder_azure-devops_open.svg +4 -4
- package/public/catppuccin-icons/latte/folder_azure-pipelines.svg +6 -6
- package/public/catppuccin-icons/latte/folder_azure-pipelines_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_benchmark.svg +6 -6
- package/public/catppuccin-icons/latte/folder_benchmark_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_caddy.svg +7 -7
- package/public/catppuccin-icons/latte/folder_caddy_open.svg +7 -7
- package/public/catppuccin-icons/latte/folder_cargo.svg +6 -6
- package/public/catppuccin-icons/latte/folder_cargo_open.svg +4 -4
- package/public/catppuccin-icons/latte/folder_circle-ci.svg +9 -9
- package/public/catppuccin-icons/latte/folder_circle-ci_open.svg +9 -9
- package/public/catppuccin-icons/latte/folder_client.svg +6 -6
- package/public/catppuccin-icons/latte/folder_client_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_cloud.svg +6 -6
- package/public/catppuccin-icons/latte/folder_cloud_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_command.svg +6 -6
- package/public/catppuccin-icons/latte/folder_command_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_components.svg +6 -6
- package/public/catppuccin-icons/latte/folder_components_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_composables.svg +6 -6
- package/public/catppuccin-icons/latte/folder_composables_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_config.svg +6 -6
- package/public/catppuccin-icons/latte/folder_config_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_connection.svg +6 -6
- package/public/catppuccin-icons/latte/folder_connection_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_constant.svg +6 -6
- package/public/catppuccin-icons/latte/folder_constant_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_content.svg +4 -4
- package/public/catppuccin-icons/latte/folder_content_open.svg +4 -4
- package/public/catppuccin-icons/latte/folder_controllers.svg +6 -6
- package/public/catppuccin-icons/latte/folder_controllers_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_core.svg +6 -6
- package/public/catppuccin-icons/latte/folder_core_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_coverage.svg +6 -6
- package/public/catppuccin-icons/latte/folder_coverage_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_cursor.svg +4 -4
- package/public/catppuccin-icons/latte/folder_cursor_open.svg +4 -4
- package/public/catppuccin-icons/latte/folder_cypress.svg +6 -6
- package/public/catppuccin-icons/latte/folder_cypress_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_database.svg +6 -6
- package/public/catppuccin-icons/latte/folder_database_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_debug.svg +6 -6
- package/public/catppuccin-icons/latte/folder_debug_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_devcontainer.svg +7 -7
- package/public/catppuccin-icons/latte/folder_devcontainer_open.svg +7 -7
- package/public/catppuccin-icons/latte/folder_direnv.svg +6 -6
- package/public/catppuccin-icons/latte/folder_direnv_open.svg +4 -4
- package/public/catppuccin-icons/latte/folder_dist.svg +6 -6
- package/public/catppuccin-icons/latte/folder_dist_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_docker.svg +9 -9
- package/public/catppuccin-icons/latte/folder_docker_open.svg +9 -9
- package/public/catppuccin-icons/latte/folder_docs.svg +6 -6
- package/public/catppuccin-icons/latte/folder_docs_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_download.svg +6 -6
- package/public/catppuccin-icons/latte/folder_download_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_drizzle-orm.svg +6 -6
- package/public/catppuccin-icons/latte/folder_drizzle-orm_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_examples.svg +6 -6
- package/public/catppuccin-icons/latte/folder_examples_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_fastlane.svg +8 -8
- package/public/catppuccin-icons/latte/folder_fastlane_open.svg +8 -8
- package/public/catppuccin-icons/latte/folder_firebase.svg +6 -6
- package/public/catppuccin-icons/latte/folder_firebase_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_fonts.svg +6 -6
- package/public/catppuccin-icons/latte/folder_fonts_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_forgejo.svg +7 -7
- package/public/catppuccin-icons/latte/folder_forgejo_open.svg +7 -7
- package/public/catppuccin-icons/latte/folder_functions.svg +6 -6
- package/public/catppuccin-icons/latte/folder_functions_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_fvm.svg +6 -6
- package/public/catppuccin-icons/latte/folder_fvm_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_git.svg +6 -6
- package/public/catppuccin-icons/latte/folder_git_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_github.svg +6 -6
- package/public/catppuccin-icons/latte/folder_github_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_gitlab.svg +6 -6
- package/public/catppuccin-icons/latte/folder_gitlab_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_gradle.svg +7 -7
- package/public/catppuccin-icons/latte/folder_gradle_open.svg +7 -7
- package/public/catppuccin-icons/latte/folder_graphql.svg +4 -4
- package/public/catppuccin-icons/latte/folder_graphql_open.svg +4 -4
- package/public/catppuccin-icons/latte/folder_hooks.svg +6 -6
- package/public/catppuccin-icons/latte/folder_hooks_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_husky.svg +7 -7
- package/public/catppuccin-icons/latte/folder_husky_open.svg +7 -7
- package/public/catppuccin-icons/latte/folder_images.svg +8 -8
- package/public/catppuccin-icons/latte/folder_images_open.svg +8 -8
- package/public/catppuccin-icons/latte/folder_include.svg +5 -5
- package/public/catppuccin-icons/latte/folder_include_open.svg +5 -5
- package/public/catppuccin-icons/latte/folder_intellij.svg +8 -8
- package/public/catppuccin-icons/latte/folder_intellij_open.svg +8 -8
- package/public/catppuccin-icons/latte/folder_javascript.svg +4 -4
- package/public/catppuccin-icons/latte/folder_javascript_open.svg +4 -4
- package/public/catppuccin-icons/latte/folder_kubernetes.svg +9 -9
- package/public/catppuccin-icons/latte/folder_kubernetes_open.svg +9 -9
- package/public/catppuccin-icons/latte/folder_layouts.svg +6 -6
- package/public/catppuccin-icons/latte/folder_layouts_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_lib.svg +4 -4
- package/public/catppuccin-icons/latte/folder_lib_open.svg +4 -4
- package/public/catppuccin-icons/latte/folder_linux.svg +5 -5
- package/public/catppuccin-icons/latte/folder_linux_open.svg +5 -5
- package/public/catppuccin-icons/latte/folder_locales.svg +6 -6
- package/public/catppuccin-icons/latte/folder_locales_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_luau.svg +5 -5
- package/public/catppuccin-icons/latte/folder_luau_open.svg +5 -5
- package/public/catppuccin-icons/latte/folder_lune.svg +5 -5
- package/public/catppuccin-icons/latte/folder_lune_open.svg +5 -5
- package/public/catppuccin-icons/latte/folder_macos.svg +10 -10
- package/public/catppuccin-icons/latte/folder_macos_open.svg +10 -10
- package/public/catppuccin-icons/latte/folder_messages.svg +4 -4
- package/public/catppuccin-icons/latte/folder_messages_open.svg +4 -4
- package/public/catppuccin-icons/latte/folder_middleware.svg +6 -6
- package/public/catppuccin-icons/latte/folder_middleware_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_mocks.svg +6 -6
- package/public/catppuccin-icons/latte/folder_mocks_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_moonrepo.svg +5 -5
- package/public/catppuccin-icons/latte/folder_moonrepo_open.svg +5 -5
- package/public/catppuccin-icons/latte/folder_next.svg +6 -6
- package/public/catppuccin-icons/latte/folder_next_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_nix.svg +11 -11
- package/public/catppuccin-icons/latte/folder_nix_open.svg +11 -11
- package/public/catppuccin-icons/latte/folder_node.svg +6 -6
- package/public/catppuccin-icons/latte/folder_node_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_nuxt.svg +6 -6
- package/public/catppuccin-icons/latte/folder_nuxt_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_packages.svg +6 -6
- package/public/catppuccin-icons/latte/folder_packages_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_pesde.svg +6 -6
- package/public/catppuccin-icons/latte/folder_pesde_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_plugins.svg +6 -6
- package/public/catppuccin-icons/latte/folder_plugins_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_pre-commit.svg +5 -5
- package/public/catppuccin-icons/latte/folder_pre-commit_open.svg +5 -5
- package/public/catppuccin-icons/latte/folder_prisma.svg +6 -6
- package/public/catppuccin-icons/latte/folder_prisma_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_private.svg +5 -5
- package/public/catppuccin-icons/latte/folder_private_open.svg +5 -5
- package/public/catppuccin-icons/latte/folder_proto.svg +11 -11
- package/public/catppuccin-icons/latte/folder_proto_open.svg +9 -9
- package/public/catppuccin-icons/latte/folder_public.svg +6 -6
- package/public/catppuccin-icons/latte/folder_public_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_queue.svg +6 -6
- package/public/catppuccin-icons/latte/folder_queue_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_redux.svg +6 -6
- package/public/catppuccin-icons/latte/folder_redux_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_renovate.svg +7 -7
- package/public/catppuccin-icons/latte/folder_renovate_open.svg +7 -7
- package/public/catppuccin-icons/latte/folder_roblox.svg +3 -3
- package/public/catppuccin-icons/latte/folder_roblox_open.svg +3 -3
- package/public/catppuccin-icons/latte/folder_routes.svg +6 -6
- package/public/catppuccin-icons/latte/folder_routes_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_sass.svg +6 -6
- package/public/catppuccin-icons/latte/folder_sass_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_scripts.svg +6 -6
- package/public/catppuccin-icons/latte/folder_scripts_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_security.svg +4 -4
- package/public/catppuccin-icons/latte/folder_security_open.svg +4 -4
- package/public/catppuccin-icons/latte/folder_server.svg +6 -6
- package/public/catppuccin-icons/latte/folder_server_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_shared.svg +4 -4
- package/public/catppuccin-icons/latte/folder_shared_open.svg +4 -4
- package/public/catppuccin-icons/latte/folder_src.svg +6 -6
- package/public/catppuccin-icons/latte/folder_src_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_storybook.svg +6 -6
- package/public/catppuccin-icons/latte/folder_storybook_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_styles.svg +6 -6
- package/public/catppuccin-icons/latte/folder_styles_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_svg.svg +6 -6
- package/public/catppuccin-icons/latte/folder_svg_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_symlink.svg +5 -5
- package/public/catppuccin-icons/latte/folder_symlink_open.svg +5 -5
- package/public/catppuccin-icons/latte/folder_tauri.svg +9 -9
- package/public/catppuccin-icons/latte/folder_tauri_open.svg +9 -9
- package/public/catppuccin-icons/latte/folder_temp.svg +6 -6
- package/public/catppuccin-icons/latte/folder_temp_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_templates.svg +6 -6
- package/public/catppuccin-icons/latte/folder_templates_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_tests.svg +6 -6
- package/public/catppuccin-icons/latte/folder_tests_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_themes.svg +9 -9
- package/public/catppuccin-icons/latte/folder_themes_open.svg +9 -9
- package/public/catppuccin-icons/latte/folder_turbo.svg +9 -9
- package/public/catppuccin-icons/latte/folder_turbo_open.svg +10 -10
- package/public/catppuccin-icons/latte/folder_types.svg +6 -6
- package/public/catppuccin-icons/latte/folder_types_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_upload.svg +9 -9
- package/public/catppuccin-icons/latte/folder_upload_open.svg +9 -9
- package/public/catppuccin-icons/latte/folder_utils.svg +6 -6
- package/public/catppuccin-icons/latte/folder_utils_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_vercel.svg +6 -6
- package/public/catppuccin-icons/latte/folder_vercel_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_video.svg +6 -6
- package/public/catppuccin-icons/latte/folder_video_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_views.svg +6 -6
- package/public/catppuccin-icons/latte/folder_views_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_vscode.svg +6 -6
- package/public/catppuccin-icons/latte/folder_vscode_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_windows.svg +4 -4
- package/public/catppuccin-icons/latte/folder_windows_open.svg +4 -4
- package/public/catppuccin-icons/latte/folder_workflows.svg +6 -6
- package/public/catppuccin-icons/latte/folder_workflows_open.svg +6 -6
- package/public/catppuccin-icons/latte/folder_wxt.svg +4 -4
- package/public/catppuccin-icons/latte/folder_wxt_open.svg +4 -4
- package/public/catppuccin-icons/latte/folder_xcode.svg +12 -12
- package/public/catppuccin-icons/latte/folder_xcode_open.svg +10 -10
- package/public/catppuccin-icons/latte/folder_xmake.svg +8 -8
- package/public/catppuccin-icons/latte/folder_xmake_open.svg +8 -8
- package/public/catppuccin-icons/latte/folder_yarn.svg +7 -7
- package/public/catppuccin-icons/latte/folder_yarn_open.svg +9 -9
- package/public/catppuccin-icons/latte/font.svg +3 -3
- package/public/catppuccin-icons/latte/foreman.svg +9 -9
- package/public/catppuccin-icons/latte/forgejo.svg +6 -6
- package/public/catppuccin-icons/latte/fortran.svg +3 -3
- package/public/catppuccin-icons/latte/fsharp.svg +3 -3
- package/public/catppuccin-icons/latte/fvm.svg +3 -3
- package/public/catppuccin-icons/latte/gatsby.svg +6 -6
- package/public/catppuccin-icons/latte/gcp.svg +9 -9
- package/public/catppuccin-icons/latte/git-cliff.svg +5 -5
- package/public/catppuccin-icons/latte/git.svg +6 -6
- package/public/catppuccin-icons/latte/gitlab.svg +3 -3
- package/public/catppuccin-icons/latte/gitpod.svg +3 -3
- package/public/catppuccin-icons/latte/gleam-config.svg +5 -5
- package/public/catppuccin-icons/latte/gleam.svg +4 -4
- package/public/catppuccin-icons/latte/go-mod.svg +3 -3
- package/public/catppuccin-icons/latte/go-template.svg +4 -4
- package/public/catppuccin-icons/latte/go.svg +3 -3
- package/public/catppuccin-icons/latte/godot-assets.svg +3 -3
- package/public/catppuccin-icons/latte/godot.svg +3 -3
- package/public/catppuccin-icons/latte/gradle.svg +6 -6
- package/public/catppuccin-icons/latte/graphql.svg +3 -3
- package/public/catppuccin-icons/latte/groovy.svg +6 -6
- package/public/catppuccin-icons/latte/gulp.svg +3 -3
- package/public/catppuccin-icons/latte/hacking.svg +7 -7
- package/public/catppuccin-icons/latte/haml.svg +7 -7
- package/public/catppuccin-icons/latte/handlebars.svg +3 -3
- package/public/catppuccin-icons/latte/hardhat.svg +3 -3
- package/public/catppuccin-icons/latte/hare.svg +7 -7
- package/public/catppuccin-icons/latte/haskell.svg +3 -3
- package/public/catppuccin-icons/latte/haxe.svg +6 -6
- package/public/catppuccin-icons/latte/helm.svg +3 -3
- package/public/catppuccin-icons/latte/heroku.svg +6 -6
- package/public/catppuccin-icons/latte/histoire.svg +6 -6
- package/public/catppuccin-icons/latte/html.svg +6 -6
- package/public/catppuccin-icons/latte/http.svg +6 -6
- package/public/catppuccin-icons/latte/huff.svg +4 -4
- package/public/catppuccin-icons/latte/hugo.svg +6 -6
- package/public/catppuccin-icons/latte/humans.svg +13 -13
- package/public/catppuccin-icons/latte/husky.svg +3 -3
- package/public/catppuccin-icons/latte/image.svg +8 -8
- package/public/catppuccin-icons/latte/ionic.svg +6 -6
- package/public/catppuccin-icons/latte/java-annotation.svg +3 -3
- package/public/catppuccin-icons/latte/java-class-abstract.svg +3 -3
- package/public/catppuccin-icons/latte/java-class-final.svg +3 -3
- package/public/catppuccin-icons/latte/java-class-sealed.svg +3 -3
- package/public/catppuccin-icons/latte/java-class.svg +3 -3
- package/public/catppuccin-icons/latte/java-enum.svg +3 -3
- package/public/catppuccin-icons/latte/java-exception.svg +3 -3
- package/public/catppuccin-icons/latte/java-interface.svg +4 -4
- package/public/catppuccin-icons/latte/java-jar.svg +7 -7
- package/public/catppuccin-icons/latte/java-record.svg +4 -4
- package/public/catppuccin-icons/latte/java.svg +7 -7
- package/public/catppuccin-icons/latte/javascript-config.svg +7 -7
- package/public/catppuccin-icons/latte/javascript-map.svg +8 -8
- package/public/catppuccin-icons/latte/javascript-react.svg +8 -8
- package/public/catppuccin-icons/latte/javascript-test.svg +3 -3
- package/public/catppuccin-icons/latte/javascript.svg +6 -6
- package/public/catppuccin-icons/latte/jest.svg +8 -8
- package/public/catppuccin-icons/latte/jinja.svg +3 -3
- package/public/catppuccin-icons/latte/json-schema.svg +3 -3
- package/public/catppuccin-icons/latte/json.svg +3 -3
- package/public/catppuccin-icons/latte/juce.svg +14 -14
- package/public/catppuccin-icons/latte/jule.svg +5 -5
- package/public/catppuccin-icons/latte/julia.svg +7 -7
- package/public/catppuccin-icons/latte/jupyter.svg +6 -6
- package/public/catppuccin-icons/latte/just.svg +5 -5
- package/public/catppuccin-icons/latte/kdl.svg +5 -5
- package/public/catppuccin-icons/latte/key.svg +6 -6
- package/public/catppuccin-icons/latte/knip.svg +3 -3
- package/public/catppuccin-icons/latte/kotlin.svg +8 -8
- package/public/catppuccin-icons/latte/laravel.svg +8 -8
- package/public/catppuccin-icons/latte/latex.svg +3 -3
- package/public/catppuccin-icons/latte/latte.svg +6 -6
- package/public/catppuccin-icons/latte/lerna.svg +6 -6
- package/public/catppuccin-icons/latte/less.svg +3 -3
- package/public/catppuccin-icons/latte/lib.svg +3 -3
- package/public/catppuccin-icons/latte/license.svg +3 -3
- package/public/catppuccin-icons/latte/lint-staged.svg +8 -8
- package/public/catppuccin-icons/latte/liquid.svg +3 -3
- package/public/catppuccin-icons/latte/lisp.svg +6 -6
- package/public/catppuccin-icons/latte/lock.svg +3 -3
- package/public/catppuccin-icons/latte/log.svg +6 -6
- package/public/catppuccin-icons/latte/lua-check.svg +9 -9
- package/public/catppuccin-icons/latte/lua-client.svg +7 -7
- package/public/catppuccin-icons/latte/lua-rocks.svg +7 -7
- package/public/catppuccin-icons/latte/lua-server.svg +7 -7
- package/public/catppuccin-icons/latte/lua-test.svg +9 -9
- package/public/catppuccin-icons/latte/lua.svg +6 -6
- package/public/catppuccin-icons/latte/luau-check.svg +9 -9
- package/public/catppuccin-icons/latte/luau-client.svg +7 -7
- package/public/catppuccin-icons/latte/luau-config.svg +9 -9
- package/public/catppuccin-icons/latte/luau-server.svg +7 -7
- package/public/catppuccin-icons/latte/luau-test.svg +5 -5
- package/public/catppuccin-icons/latte/luau.svg +4 -4
- package/public/catppuccin-icons/latte/macos.svg +9 -9
- package/public/catppuccin-icons/latte/makefile.svg +6 -6
- package/public/catppuccin-icons/latte/mantle.svg +3 -3
- package/public/catppuccin-icons/latte/markdown-mdx.svg +3 -3
- package/public/catppuccin-icons/latte/markdown.svg +3 -3
- package/public/catppuccin-icons/latte/marko.svg +9 -9
- package/public/catppuccin-icons/latte/matlab.svg +6 -6
- package/public/catppuccin-icons/latte/mdbook.svg +4 -4
- package/public/catppuccin-icons/latte/mermaid.svg +3 -3
- package/public/catppuccin-icons/latte/meson.svg +6 -6
- package/public/catppuccin-icons/latte/midi.svg +6 -6
- package/public/catppuccin-icons/latte/mjml.svg +3 -3
- package/public/catppuccin-icons/latte/modernizr.svg +3 -3
- package/public/catppuccin-icons/latte/moonrepo.svg +4 -4
- package/public/catppuccin-icons/latte/moonwave.svg +3 -3
- package/public/catppuccin-icons/latte/ms-excel.svg +6 -6
- package/public/catppuccin-icons/latte/ms-powerpoint.svg +6 -6
- package/public/catppuccin-icons/latte/ms-word.svg +6 -6
- package/public/catppuccin-icons/latte/msbuild.svg +8 -8
- package/public/catppuccin-icons/latte/nativescript.svg +3 -3
- package/public/catppuccin-icons/latte/nest-controller.svg +3 -3
- package/public/catppuccin-icons/latte/nest-decorator.svg +3 -3
- package/public/catppuccin-icons/latte/nest-filter.svg +3 -3
- package/public/catppuccin-icons/latte/nest-gateway.svg +3 -3
- package/public/catppuccin-icons/latte/nest-guard.svg +3 -3
- package/public/catppuccin-icons/latte/nest-middleware.svg +3 -3
- package/public/catppuccin-icons/latte/nest-pipe.svg +3 -3
- package/public/catppuccin-icons/latte/nest-service.svg +3 -3
- package/public/catppuccin-icons/latte/nest.svg +3 -3
- package/public/catppuccin-icons/latte/netlify.svg +6 -6
- package/public/catppuccin-icons/latte/next.svg +6 -6
- package/public/catppuccin-icons/latte/nextflow.svg +3 -3
- package/public/catppuccin-icons/latte/nginx.svg +6 -6
- package/public/catppuccin-icons/latte/nim.svg +3 -3
- package/public/catppuccin-icons/latte/ninja.svg +6 -6
- package/public/catppuccin-icons/latte/nix-lock.svg +11 -11
- package/public/catppuccin-icons/latte/nix.svg +10 -10
- package/public/catppuccin-icons/latte/nodemon.svg +3 -3
- package/public/catppuccin-icons/latte/npm-ignore.svg +6 -6
- package/public/catppuccin-icons/latte/npm-lock.svg +7 -7
- package/public/catppuccin-icons/latte/npm.svg +6 -6
- package/public/catppuccin-icons/latte/nuget.svg +3 -3
- package/public/catppuccin-icons/latte/nunjucks.svg +3 -3
- package/public/catppuccin-icons/latte/nuxt-ignore.svg +3 -3
- package/public/catppuccin-icons/latte/nuxt.svg +3 -3
- package/public/catppuccin-icons/latte/nx-ignore.svg +4 -4
- package/public/catppuccin-icons/latte/nx.svg +4 -4
- package/public/catppuccin-icons/latte/ocaml.svg +7 -7
- package/public/catppuccin-icons/latte/odin.svg +3 -3
- package/public/catppuccin-icons/latte/opentofu.svg +4 -4
- package/public/catppuccin-icons/latte/org.svg +7 -7
- package/public/catppuccin-icons/latte/package-json.svg +3 -3
- package/public/catppuccin-icons/latte/panda-css.svg +3 -3
- package/public/catppuccin-icons/latte/pdf.svg +3 -3
- package/public/catppuccin-icons/latte/perl.svg +3 -3
- package/public/catppuccin-icons/latte/pesde-lock.svg +7 -7
- package/public/catppuccin-icons/latte/pesde.svg +6 -6
- package/public/catppuccin-icons/latte/php.svg +3 -3
- package/public/catppuccin-icons/latte/phrase.svg +6 -6
- package/public/catppuccin-icons/latte/phtml.svg +6 -6
- package/public/catppuccin-icons/latte/pixi-lock.svg +6 -6
- package/public/catppuccin-icons/latte/pixi.svg +7 -7
- package/public/catppuccin-icons/latte/plantuml.svg +3 -3
- package/public/catppuccin-icons/latte/playwright.svg +9 -9
- package/public/catppuccin-icons/latte/plop.svg +3 -3
- package/public/catppuccin-icons/latte/pnpm-lock.svg +9 -9
- package/public/catppuccin-icons/latte/pnpm.svg +8 -8
- package/public/catppuccin-icons/latte/poetry-lock.svg +13 -13
- package/public/catppuccin-icons/latte/postcss.svg +8 -8
- package/public/catppuccin-icons/latte/powershell.svg +6 -6
- package/public/catppuccin-icons/latte/pre-commit.svg +4 -4
- package/public/catppuccin-icons/latte/premake.svg +7 -7
- package/public/catppuccin-icons/latte/prettier-ignore.svg +3 -3
- package/public/catppuccin-icons/latte/prettier.svg +8 -8
- package/public/catppuccin-icons/latte/prisma.svg +3 -3
- package/public/catppuccin-icons/latte/prolog.svg +3 -3
- package/public/catppuccin-icons/latte/properties.svg +3 -3
- package/public/catppuccin-icons/latte/proto.svg +8 -8
- package/public/catppuccin-icons/latte/prototools.svg +3 -3
- package/public/catppuccin-icons/latte/pug.svg +3 -3
- package/public/catppuccin-icons/latte/puppet.svg +3 -3
- package/public/catppuccin-icons/latte/puppeteer.svg +5 -5
- package/public/catppuccin-icons/latte/python-compiled.svg +8 -8
- package/public/catppuccin-icons/latte/python-config.svg +9 -9
- package/public/catppuccin-icons/latte/python.svg +8 -8
- package/public/catppuccin-icons/latte/qwik.svg +6 -6
- package/public/catppuccin-icons/latte/r.svg +6 -6
- package/public/catppuccin-icons/latte/racket.svg +6 -6
- package/public/catppuccin-icons/latte/razor.svg +3 -3
- package/public/catppuccin-icons/latte/rdata.svg +4 -4
- package/public/catppuccin-icons/latte/readme.svg +6 -6
- package/public/catppuccin-icons/latte/reason.svg +6 -6
- package/public/catppuccin-icons/latte/redwood.svg +3 -3
- package/public/catppuccin-icons/latte/release.svg +6 -6
- package/public/catppuccin-icons/latte/remix.svg +3 -3
- package/public/catppuccin-icons/latte/renovate.svg +6 -6
- package/public/catppuccin-icons/latte/rescript.svg +6 -6
- package/public/catppuccin-icons/latte/rmd.svg +4 -4
- package/public/catppuccin-icons/latte/roblox.svg +3 -3
- package/public/catppuccin-icons/latte/robots.svg +6 -6
- package/public/catppuccin-icons/latte/rocket.svg +3 -3
- package/public/catppuccin-icons/latte/rojo.svg +3 -3
- package/public/catppuccin-icons/latte/rokit.svg +4 -4
- package/public/catppuccin-icons/latte/rollup.svg +6 -6
- package/public/catppuccin-icons/latte/rproj.svg +5 -5
- package/public/catppuccin-icons/latte/rsml.svg +10 -10
- package/public/catppuccin-icons/latte/ruby-gem-lock.svg +7 -7
- package/public/catppuccin-icons/latte/ruby-gem.svg +6 -6
- package/public/catppuccin-icons/latte/ruby.svg +3 -3
- package/public/catppuccin-icons/latte/ruff.svg +3 -3
- package/public/catppuccin-icons/latte/rust-alt-config.svg +4 -4
- package/public/catppuccin-icons/latte/rust-alt.svg +3 -3
- package/public/catppuccin-icons/latte/rust-config.svg +7 -7
- package/public/catppuccin-icons/latte/rust.svg +6 -6
- package/public/catppuccin-icons/latte/salesforce.svg +3 -3
- package/public/catppuccin-icons/latte/sass.svg +3 -3
- package/public/catppuccin-icons/latte/scala.svg +3 -3
- package/public/catppuccin-icons/latte/scheme.svg +3 -3
- package/public/catppuccin-icons/latte/search.svg +3 -3
- package/public/catppuccin-icons/latte/security.svg +4 -4
- package/public/catppuccin-icons/latte/semantic-release.svg +3 -3
- package/public/catppuccin-icons/latte/semgrep-ignore.svg +3 -3
- package/public/catppuccin-icons/latte/semgrep.svg +3 -3
- package/public/catppuccin-icons/latte/sentry.svg +3 -3
- package/public/catppuccin-icons/latte/serverless.svg +3 -3
- package/public/catppuccin-icons/latte/shader.svg +3 -3
- package/public/catppuccin-icons/latte/sketch.svg +3 -3
- package/public/catppuccin-icons/latte/slidesk.svg +7 -7
- package/public/catppuccin-icons/latte/snowpack.svg +6 -6
- package/public/catppuccin-icons/latte/solid.svg +5 -5
- package/public/catppuccin-icons/latte/solidity.svg +3 -3
- package/public/catppuccin-icons/latte/sonar-cloud.svg +7 -7
- package/public/catppuccin-icons/latte/spwn.svg +7 -7
- package/public/catppuccin-icons/latte/squirrel.svg +4 -4
- package/public/catppuccin-icons/latte/stackblitz.svg +3 -3
- package/public/catppuccin-icons/latte/stata.svg +4 -4
- package/public/catppuccin-icons/latte/stencil.svg +3 -3
- package/public/catppuccin-icons/latte/stitches.svg +7 -7
- package/public/catppuccin-icons/latte/storybook-svelte.svg +6 -6
- package/public/catppuccin-icons/latte/storybook-vue.svg +6 -6
- package/public/catppuccin-icons/latte/storybook.svg +6 -6
- package/public/catppuccin-icons/latte/stylelint-ignore.svg +7 -7
- package/public/catppuccin-icons/latte/stylelint.svg +7 -7
- package/public/catppuccin-icons/latte/stylua-ignore.svg +3 -3
- package/public/catppuccin-icons/latte/stylua.svg +7 -7
- package/public/catppuccin-icons/latte/sublime.svg +3 -3
- package/public/catppuccin-icons/latte/super-collider.svg +3 -3
- package/public/catppuccin-icons/latte/svelte-config.svg +6 -6
- package/public/catppuccin-icons/latte/svelte.svg +6 -6
- package/public/catppuccin-icons/latte/svg.svg +3 -3
- package/public/catppuccin-icons/latte/swift.svg +3 -3
- package/public/catppuccin-icons/latte/swiftformat.svg +4 -4
- package/public/catppuccin-icons/latte/symlink.svg +5 -5
- package/public/catppuccin-icons/latte/tailwind.svg +3 -3
- package/public/catppuccin-icons/latte/taskfile.svg +3 -3
- package/public/catppuccin-icons/latte/tauri-ignore.svg +6 -6
- package/public/catppuccin-icons/latte/tauri.svg +8 -8
- package/public/catppuccin-icons/latte/terraform.svg +3 -3
- package/public/catppuccin-icons/latte/text.svg +6 -6
- package/public/catppuccin-icons/latte/todo.svg +6 -6
- package/public/catppuccin-icons/latte/toml.svg +3 -3
- package/public/catppuccin-icons/latte/turbo.svg +10 -10
- package/public/catppuccin-icons/latte/twig.svg +4 -4
- package/public/catppuccin-icons/latte/twine.svg +6 -6
- package/public/catppuccin-icons/latte/typescript-config.svg +7 -7
- package/public/catppuccin-icons/latte/typescript-def.svg +7 -7
- package/public/catppuccin-icons/latte/typescript-react.svg +8 -8
- package/public/catppuccin-icons/latte/typescript-test.svg +3 -3
- package/public/catppuccin-icons/latte/typescript.svg +6 -6
- package/public/catppuccin-icons/latte/typst.svg +3 -3
- package/public/catppuccin-icons/latte/unity.svg +3 -3
- package/public/catppuccin-icons/latte/unocss.svg +6 -6
- package/public/catppuccin-icons/latte/url.svg +3 -3
- package/public/catppuccin-icons/latte/uv.svg +3 -3
- package/public/catppuccin-icons/latte/v.svg +6 -6
- package/public/catppuccin-icons/latte/vala.svg +3 -3
- package/public/catppuccin-icons/latte/vanilla-extract.svg +4 -4
- package/public/catppuccin-icons/latte/vapi.svg +3 -3
- package/public/catppuccin-icons/latte/vento.svg +5 -5
- package/public/catppuccin-icons/latte/vercel-ignore.svg +3 -3
- package/public/catppuccin-icons/latte/vercel.svg +3 -3
- package/public/catppuccin-icons/latte/verilog.svg +6 -6
- package/public/catppuccin-icons/latte/vhs.svg +3 -3
- package/public/catppuccin-icons/latte/video.svg +6 -6
- package/public/catppuccin-icons/latte/vim.svg +3 -3
- package/public/catppuccin-icons/latte/visual-studio.svg +3 -3
- package/public/catppuccin-icons/latte/vital.svg +6 -6
- package/public/catppuccin-icons/latte/vite.svg +6 -6
- package/public/catppuccin-icons/latte/vitest.svg +6 -6
- package/public/catppuccin-icons/latte/vs-codium.svg +8 -8
- package/public/catppuccin-icons/latte/vscode-ignore.svg +3 -3
- package/public/catppuccin-icons/latte/vscode.svg +3 -3
- package/public/catppuccin-icons/latte/vue-config.svg +6 -6
- package/public/catppuccin-icons/latte/vue.svg +6 -6
- package/public/catppuccin-icons/latte/wally.svg +27 -27
- package/public/catppuccin-icons/latte/web-assembly.svg +7 -7
- package/public/catppuccin-icons/latte/webpack.svg +7 -7
- package/public/catppuccin-icons/latte/windi.svg +3 -3
- package/public/catppuccin-icons/latte/workflow.svg +3 -3
- package/public/catppuccin-icons/latte/wrangler.svg +4 -4
- package/public/catppuccin-icons/latte/wxt.svg +3 -3
- package/public/catppuccin-icons/latte/xaml.svg +8 -8
- package/public/catppuccin-icons/latte/xcode.svg +7 -7
- package/public/catppuccin-icons/latte/xmake.svg +7 -7
- package/public/catppuccin-icons/latte/xml.svg +3 -3
- package/public/catppuccin-icons/latte/yaml.svg +3 -3
- package/public/catppuccin-icons/latte/yarn-lock.svg +7 -7
- package/public/catppuccin-icons/latte/yarn.svg +6 -6
- package/public/catppuccin-icons/latte/zap.svg +3 -3
- package/public/catppuccin-icons/latte/zig.svg +3 -3
- package/public/catppuccin-icons/latte/zip.svg +3 -3
- package/public/catppuccin-icons/mocha/3d.svg +3 -3
- package/public/catppuccin-icons/mocha/_file.svg +3 -3
- package/public/catppuccin-icons/mocha/_folder.svg +3 -3
- package/public/catppuccin-icons/mocha/_folder_open.svg +3 -3
- package/public/catppuccin-icons/mocha/_root.svg +7 -7
- package/public/catppuccin-icons/mocha/_root_open.svg +5 -5
- package/public/catppuccin-icons/mocha/adobe-ae.svg +6 -6
- package/public/catppuccin-icons/mocha/adobe-ai.svg +6 -6
- package/public/catppuccin-icons/mocha/adobe-id.svg +6 -6
- package/public/catppuccin-icons/mocha/adobe-ps.svg +6 -6
- package/public/catppuccin-icons/mocha/adobe-xd.svg +6 -6
- package/public/catppuccin-icons/mocha/adonis.svg +6 -6
- package/public/catppuccin-icons/mocha/alex.svg +6 -6
- package/public/catppuccin-icons/mocha/amber.svg +3 -3
- package/public/catppuccin-icons/mocha/android.svg +3 -3
- package/public/catppuccin-icons/mocha/angular-component.svg +6 -6
- package/public/catppuccin-icons/mocha/angular-directive.svg +6 -6
- package/public/catppuccin-icons/mocha/angular-guard.svg +6 -6
- package/public/catppuccin-icons/mocha/angular-pipe.svg +6 -6
- package/public/catppuccin-icons/mocha/angular-service.svg +6 -6
- package/public/catppuccin-icons/mocha/angular.svg +6 -6
- package/public/catppuccin-icons/mocha/ansible-lint.svg +4 -4
- package/public/catppuccin-icons/mocha/antlr.svg +6 -6
- package/public/catppuccin-icons/mocha/apache.svg +7 -7
- package/public/catppuccin-icons/mocha/api-blueprint.svg +3 -3
- package/public/catppuccin-icons/mocha/apollo.svg +6 -6
- package/public/catppuccin-icons/mocha/apple.svg +3 -3
- package/public/catppuccin-icons/mocha/arduino.svg +3 -3
- package/public/catppuccin-icons/mocha/asciidoc.svg +3 -3
- package/public/catppuccin-icons/mocha/assembly.svg +4 -4
- package/public/catppuccin-icons/mocha/astro-config.svg +7 -7
- package/public/catppuccin-icons/mocha/astro.svg +6 -6
- package/public/catppuccin-icons/mocha/audio.svg +6 -6
- package/public/catppuccin-icons/mocha/autohotkey.svg +6 -6
- package/public/catppuccin-icons/mocha/azure-pipelines.svg +3 -3
- package/public/catppuccin-icons/mocha/babel.svg +3 -3
- package/public/catppuccin-icons/mocha/bash.svg +7 -7
- package/public/catppuccin-icons/mocha/batch.svg +6 -6
- package/public/catppuccin-icons/mocha/bazel.svg +3 -3
- package/public/catppuccin-icons/mocha/benchmark.svg +3 -3
- package/public/catppuccin-icons/mocha/bicep.svg +5 -5
- package/public/catppuccin-icons/mocha/binary.svg +6 -6
- package/public/catppuccin-icons/mocha/biome.svg +3 -3
- package/public/catppuccin-icons/mocha/bitbucket.svg +3 -3
- package/public/catppuccin-icons/mocha/blink.svg +10 -10
- package/public/catppuccin-icons/mocha/blitz.svg +3 -3
- package/public/catppuccin-icons/mocha/bower.svg +9 -9
- package/public/catppuccin-icons/mocha/browserslist.svg +6 -6
- package/public/catppuccin-icons/mocha/bun-lock.svg +8 -8
- package/public/catppuccin-icons/mocha/bun.svg +7 -7
- package/public/catppuccin-icons/mocha/c-header.svg +3 -3
- package/public/catppuccin-icons/mocha/c.svg +3 -3
- package/public/catppuccin-icons/mocha/cabal.svg +7 -7
- package/public/catppuccin-icons/mocha/caddy.svg +6 -6
- package/public/catppuccin-icons/mocha/capacitor.svg +3 -3
- package/public/catppuccin-icons/mocha/cargo-lock.svg +8 -8
- package/public/catppuccin-icons/mocha/cargo.svg +7 -7
- package/public/catppuccin-icons/mocha/certificate.svg +7 -7
- package/public/catppuccin-icons/mocha/changelog.svg +3 -3
- package/public/catppuccin-icons/mocha/circle-ci.svg +6 -6
- package/public/catppuccin-icons/mocha/clojure.svg +10 -10
- package/public/catppuccin-icons/mocha/cmake.svg +7 -7
- package/public/catppuccin-icons/mocha/cobol.svg +3 -3
- package/public/catppuccin-icons/mocha/code-climate.svg +3 -3
- package/public/catppuccin-icons/mocha/code-of-conduct.svg +6 -6
- package/public/catppuccin-icons/mocha/codeowners.svg +6 -6
- package/public/catppuccin-icons/mocha/coffeescript.svg +6 -6
- package/public/catppuccin-icons/mocha/commitlint.svg +6 -6
- package/public/catppuccin-icons/mocha/config.svg +3 -3
- package/public/catppuccin-icons/mocha/contributing.svg +6 -6
- package/public/catppuccin-icons/mocha/cpp-header.svg +4 -4
- package/public/catppuccin-icons/mocha/cpp.svg +4 -4
- package/public/catppuccin-icons/mocha/crystal.svg +3 -3
- package/public/catppuccin-icons/mocha/csharp.svg +3 -3
- package/public/catppuccin-icons/mocha/cspell.svg +4 -4
- package/public/catppuccin-icons/mocha/css-map.svg +8 -8
- package/public/catppuccin-icons/mocha/css.svg +6 -6
- package/public/catppuccin-icons/mocha/css3.svg +6 -6
- package/public/catppuccin-icons/mocha/csv.svg +3 -3
- package/public/catppuccin-icons/mocha/cucumber.svg +3 -3
- package/public/catppuccin-icons/mocha/cuda.svg +6 -6
- package/public/catppuccin-icons/mocha/cue.svg +4 -4
- package/public/catppuccin-icons/mocha/cursor-ignore.svg +4 -4
- package/public/catppuccin-icons/mocha/cursor.svg +4 -4
- package/public/catppuccin-icons/mocha/cypress.svg +6 -6
- package/public/catppuccin-icons/mocha/d.svg +3 -3
- package/public/catppuccin-icons/mocha/darklua.svg +6 -6
- package/public/catppuccin-icons/mocha/dart-generated.svg +6 -6
- package/public/catppuccin-icons/mocha/dart.svg +6 -6
- package/public/catppuccin-icons/mocha/database.svg +3 -3
- package/public/catppuccin-icons/mocha/deno.svg +3 -3
- package/public/catppuccin-icons/mocha/deno_lock.svg +6 -6
- package/public/catppuccin-icons/mocha/dependabot.svg +3 -3
- package/public/catppuccin-icons/mocha/devcontainer.svg +4 -4
- package/public/catppuccin-icons/mocha/dhall.svg +3 -3
- package/public/catppuccin-icons/mocha/diff.svg +7 -7
- package/public/catppuccin-icons/mocha/django.svg +6 -6
- package/public/catppuccin-icons/mocha/docker-compose.svg +3 -3
- package/public/catppuccin-icons/mocha/docker-ignore.svg +3 -3
- package/public/catppuccin-icons/mocha/docker.svg +3 -3
- package/public/catppuccin-icons/mocha/docusaurus.svg +7 -7
- package/public/catppuccin-icons/mocha/drawio.svg +3 -3
- package/public/catppuccin-icons/mocha/drizzle-orm.svg +3 -3
- package/public/catppuccin-icons/mocha/dub-selections.svg +8 -8
- package/public/catppuccin-icons/mocha/dub.svg +7 -7
- package/public/catppuccin-icons/mocha/editorconfig.svg +3 -3
- package/public/catppuccin-icons/mocha/ejs.svg +3 -3
- package/public/catppuccin-icons/mocha/eleventy.svg +3 -3
- package/public/catppuccin-icons/mocha/elixir.svg +3 -3
- package/public/catppuccin-icons/mocha/elm.svg +3 -3
- package/public/catppuccin-icons/mocha/ember.svg +3 -3
- package/public/catppuccin-icons/mocha/env.svg +3 -3
- package/public/catppuccin-icons/mocha/envrc.svg +6 -6
- package/public/catppuccin-icons/mocha/erlang.svg +6 -6
- package/public/catppuccin-icons/mocha/esbuild.svg +3 -3
- package/public/catppuccin-icons/mocha/eslint-ignore.svg +6 -6
- package/public/catppuccin-icons/mocha/eslint.svg +6 -6
- package/public/catppuccin-icons/mocha/exe.svg +6 -6
- package/public/catppuccin-icons/mocha/fastlane.svg +14 -14
- package/public/catppuccin-icons/mocha/favicon.svg +3 -3
- package/public/catppuccin-icons/mocha/figma.svg +9 -9
- package/public/catppuccin-icons/mocha/firebase.svg +3 -3
- package/public/catppuccin-icons/mocha/flutter.svg +8 -8
- package/public/catppuccin-icons/mocha/folder_admin.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_admin_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_android.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_android_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_animation.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_animation_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_api.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_api_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_app.svg +7 -7
- package/public/catppuccin-icons/mocha/folder_app_open.svg +7 -7
- package/public/catppuccin-icons/mocha/folder_assets.svg +5 -5
- package/public/catppuccin-icons/mocha/folder_assets_open.svg +5 -5
- package/public/catppuccin-icons/mocha/folder_audio.svg +9 -9
- package/public/catppuccin-icons/mocha/folder_audio_open.svg +9 -9
- package/public/catppuccin-icons/mocha/folder_audit.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_audit_open.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_aws.svg +9 -9
- package/public/catppuccin-icons/mocha/folder_aws_open.svg +9 -9
- package/public/catppuccin-icons/mocha/folder_azure-devops.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_azure-devops_open.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_azure-pipelines.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_azure-pipelines_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_benchmark.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_benchmark_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_caddy.svg +7 -7
- package/public/catppuccin-icons/mocha/folder_caddy_open.svg +7 -7
- package/public/catppuccin-icons/mocha/folder_cargo.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_cargo_open.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_circle-ci.svg +9 -9
- package/public/catppuccin-icons/mocha/folder_circle-ci_open.svg +9 -9
- package/public/catppuccin-icons/mocha/folder_client.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_client_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_cloud.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_cloud_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_command.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_command_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_components.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_components_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_composables.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_composables_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_config.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_config_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_connection.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_connection_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_constant.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_constant_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_content.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_content_open.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_controllers.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_controllers_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_core.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_core_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_coverage.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_coverage_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_cursor.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_cursor_open.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_cypress.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_cypress_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_database.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_database_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_debug.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_debug_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_devcontainer.svg +7 -7
- package/public/catppuccin-icons/mocha/folder_devcontainer_open.svg +7 -7
- package/public/catppuccin-icons/mocha/folder_direnv.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_direnv_open.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_dist.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_dist_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_docker.svg +9 -9
- package/public/catppuccin-icons/mocha/folder_docker_open.svg +9 -9
- package/public/catppuccin-icons/mocha/folder_docs.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_docs_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_download.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_download_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_drizzle-orm.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_drizzle-orm_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_examples.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_examples_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_fastlane.svg +8 -8
- package/public/catppuccin-icons/mocha/folder_fastlane_open.svg +8 -8
- package/public/catppuccin-icons/mocha/folder_firebase.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_firebase_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_fonts.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_fonts_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_forgejo.svg +7 -7
- package/public/catppuccin-icons/mocha/folder_forgejo_open.svg +7 -7
- package/public/catppuccin-icons/mocha/folder_functions.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_functions_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_fvm.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_fvm_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_git.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_git_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_github.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_github_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_gitlab.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_gitlab_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_gradle.svg +7 -7
- package/public/catppuccin-icons/mocha/folder_gradle_open.svg +7 -7
- package/public/catppuccin-icons/mocha/folder_graphql.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_graphql_open.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_hooks.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_hooks_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_husky.svg +7 -7
- package/public/catppuccin-icons/mocha/folder_husky_open.svg +7 -7
- package/public/catppuccin-icons/mocha/folder_images.svg +8 -8
- package/public/catppuccin-icons/mocha/folder_images_open.svg +8 -8
- package/public/catppuccin-icons/mocha/folder_include.svg +5 -5
- package/public/catppuccin-icons/mocha/folder_include_open.svg +5 -5
- package/public/catppuccin-icons/mocha/folder_intellij.svg +8 -8
- package/public/catppuccin-icons/mocha/folder_intellij_open.svg +8 -8
- package/public/catppuccin-icons/mocha/folder_javascript.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_javascript_open.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_kubernetes.svg +9 -9
- package/public/catppuccin-icons/mocha/folder_kubernetes_open.svg +9 -9
- package/public/catppuccin-icons/mocha/folder_layouts.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_layouts_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_lib.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_lib_open.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_linux.svg +5 -5
- package/public/catppuccin-icons/mocha/folder_linux_open.svg +5 -5
- package/public/catppuccin-icons/mocha/folder_locales.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_locales_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_luau.svg +5 -5
- package/public/catppuccin-icons/mocha/folder_luau_open.svg +5 -5
- package/public/catppuccin-icons/mocha/folder_lune.svg +5 -5
- package/public/catppuccin-icons/mocha/folder_lune_open.svg +5 -5
- package/public/catppuccin-icons/mocha/folder_macos.svg +10 -10
- package/public/catppuccin-icons/mocha/folder_macos_open.svg +10 -10
- package/public/catppuccin-icons/mocha/folder_messages.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_messages_open.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_middleware.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_middleware_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_mocks.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_mocks_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_moonrepo.svg +5 -5
- package/public/catppuccin-icons/mocha/folder_moonrepo_open.svg +5 -5
- package/public/catppuccin-icons/mocha/folder_next.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_next_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_nix.svg +11 -11
- package/public/catppuccin-icons/mocha/folder_nix_open.svg +11 -11
- package/public/catppuccin-icons/mocha/folder_node.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_node_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_nuxt.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_nuxt_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_packages.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_packages_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_pesde.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_pesde_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_plugins.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_plugins_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_pre-commit.svg +5 -5
- package/public/catppuccin-icons/mocha/folder_pre-commit_open.svg +5 -5
- package/public/catppuccin-icons/mocha/folder_prisma.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_prisma_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_private.svg +5 -5
- package/public/catppuccin-icons/mocha/folder_private_open.svg +5 -5
- package/public/catppuccin-icons/mocha/folder_proto.svg +11 -11
- package/public/catppuccin-icons/mocha/folder_proto_open.svg +9 -9
- package/public/catppuccin-icons/mocha/folder_public.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_public_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_queue.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_queue_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_redux.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_redux_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_renovate.svg +7 -7
- package/public/catppuccin-icons/mocha/folder_renovate_open.svg +7 -7
- package/public/catppuccin-icons/mocha/folder_roblox.svg +3 -3
- package/public/catppuccin-icons/mocha/folder_roblox_open.svg +3 -3
- package/public/catppuccin-icons/mocha/folder_routes.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_routes_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_sass.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_sass_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_scripts.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_scripts_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_security.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_security_open.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_server.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_server_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_shared.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_shared_open.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_src.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_src_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_storybook.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_storybook_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_styles.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_styles_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_svg.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_svg_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_symlink.svg +5 -5
- package/public/catppuccin-icons/mocha/folder_symlink_open.svg +5 -5
- package/public/catppuccin-icons/mocha/folder_tauri.svg +9 -9
- package/public/catppuccin-icons/mocha/folder_tauri_open.svg +9 -9
- package/public/catppuccin-icons/mocha/folder_temp.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_temp_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_templates.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_templates_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_tests.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_tests_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_themes.svg +9 -9
- package/public/catppuccin-icons/mocha/folder_themes_open.svg +9 -9
- package/public/catppuccin-icons/mocha/folder_turbo.svg +9 -9
- package/public/catppuccin-icons/mocha/folder_turbo_open.svg +10 -10
- package/public/catppuccin-icons/mocha/folder_types.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_types_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_upload.svg +9 -9
- package/public/catppuccin-icons/mocha/folder_upload_open.svg +9 -9
- package/public/catppuccin-icons/mocha/folder_utils.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_utils_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_vercel.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_vercel_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_video.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_video_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_views.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_views_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_vscode.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_vscode_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_windows.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_windows_open.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_workflows.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_workflows_open.svg +6 -6
- package/public/catppuccin-icons/mocha/folder_wxt.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_wxt_open.svg +4 -4
- package/public/catppuccin-icons/mocha/folder_xcode.svg +12 -12
- package/public/catppuccin-icons/mocha/folder_xcode_open.svg +10 -10
- package/public/catppuccin-icons/mocha/folder_xmake.svg +8 -8
- package/public/catppuccin-icons/mocha/folder_xmake_open.svg +8 -8
- package/public/catppuccin-icons/mocha/folder_yarn.svg +7 -7
- package/public/catppuccin-icons/mocha/folder_yarn_open.svg +9 -9
- package/public/catppuccin-icons/mocha/font.svg +3 -3
- package/public/catppuccin-icons/mocha/foreman.svg +9 -9
- package/public/catppuccin-icons/mocha/forgejo.svg +6 -6
- package/public/catppuccin-icons/mocha/fortran.svg +3 -3
- package/public/catppuccin-icons/mocha/fsharp.svg +3 -3
- package/public/catppuccin-icons/mocha/fvm.svg +3 -3
- package/public/catppuccin-icons/mocha/gatsby.svg +6 -6
- package/public/catppuccin-icons/mocha/gcp.svg +9 -9
- package/public/catppuccin-icons/mocha/git-cliff.svg +5 -5
- package/public/catppuccin-icons/mocha/git.svg +6 -6
- package/public/catppuccin-icons/mocha/gitlab.svg +3 -3
- package/public/catppuccin-icons/mocha/gitpod.svg +3 -3
- package/public/catppuccin-icons/mocha/gleam-config.svg +5 -5
- package/public/catppuccin-icons/mocha/gleam.svg +4 -4
- package/public/catppuccin-icons/mocha/go-mod.svg +3 -3
- package/public/catppuccin-icons/mocha/go-template.svg +4 -4
- package/public/catppuccin-icons/mocha/go.svg +3 -3
- package/public/catppuccin-icons/mocha/godot-assets.svg +3 -3
- package/public/catppuccin-icons/mocha/godot.svg +3 -3
- package/public/catppuccin-icons/mocha/gradle.svg +6 -6
- package/public/catppuccin-icons/mocha/graphql.svg +3 -3
- package/public/catppuccin-icons/mocha/groovy.svg +6 -6
- package/public/catppuccin-icons/mocha/gulp.svg +3 -3
- package/public/catppuccin-icons/mocha/hacking.svg +7 -7
- package/public/catppuccin-icons/mocha/haml.svg +7 -7
- package/public/catppuccin-icons/mocha/handlebars.svg +3 -3
- package/public/catppuccin-icons/mocha/hardhat.svg +3 -3
- package/public/catppuccin-icons/mocha/hare.svg +7 -7
- package/public/catppuccin-icons/mocha/haskell.svg +3 -3
- package/public/catppuccin-icons/mocha/haxe.svg +6 -6
- package/public/catppuccin-icons/mocha/helm.svg +3 -3
- package/public/catppuccin-icons/mocha/heroku.svg +6 -6
- package/public/catppuccin-icons/mocha/histoire.svg +6 -6
- package/public/catppuccin-icons/mocha/html.svg +6 -6
- package/public/catppuccin-icons/mocha/http.svg +6 -6
- package/public/catppuccin-icons/mocha/huff.svg +4 -4
- package/public/catppuccin-icons/mocha/hugo.svg +6 -6
- package/public/catppuccin-icons/mocha/humans.svg +13 -13
- package/public/catppuccin-icons/mocha/husky.svg +3 -3
- package/public/catppuccin-icons/mocha/image.svg +8 -8
- package/public/catppuccin-icons/mocha/ionic.svg +6 -6
- package/public/catppuccin-icons/mocha/java-annotation.svg +3 -3
- package/public/catppuccin-icons/mocha/java-class-abstract.svg +3 -3
- package/public/catppuccin-icons/mocha/java-class-final.svg +3 -3
- package/public/catppuccin-icons/mocha/java-class-sealed.svg +3 -3
- package/public/catppuccin-icons/mocha/java-class.svg +3 -3
- package/public/catppuccin-icons/mocha/java-enum.svg +3 -3
- package/public/catppuccin-icons/mocha/java-exception.svg +3 -3
- package/public/catppuccin-icons/mocha/java-interface.svg +4 -4
- package/public/catppuccin-icons/mocha/java-jar.svg +7 -7
- package/public/catppuccin-icons/mocha/java-record.svg +4 -4
- package/public/catppuccin-icons/mocha/java.svg +7 -7
- package/public/catppuccin-icons/mocha/javascript-config.svg +7 -7
- package/public/catppuccin-icons/mocha/javascript-map.svg +8 -8
- package/public/catppuccin-icons/mocha/javascript-react.svg +8 -8
- package/public/catppuccin-icons/mocha/javascript-test.svg +3 -3
- package/public/catppuccin-icons/mocha/javascript.svg +6 -6
- package/public/catppuccin-icons/mocha/jest.svg +8 -8
- package/public/catppuccin-icons/mocha/jinja.svg +3 -3
- package/public/catppuccin-icons/mocha/json-schema.svg +3 -3
- package/public/catppuccin-icons/mocha/json.svg +3 -3
- package/public/catppuccin-icons/mocha/juce.svg +14 -14
- package/public/catppuccin-icons/mocha/jule.svg +5 -5
- package/public/catppuccin-icons/mocha/julia.svg +7 -7
- package/public/catppuccin-icons/mocha/jupyter.svg +6 -6
- package/public/catppuccin-icons/mocha/just.svg +5 -5
- package/public/catppuccin-icons/mocha/kdl.svg +5 -5
- package/public/catppuccin-icons/mocha/key.svg +6 -6
- package/public/catppuccin-icons/mocha/knip.svg +3 -3
- package/public/catppuccin-icons/mocha/kotlin.svg +8 -8
- package/public/catppuccin-icons/mocha/laravel.svg +8 -8
- package/public/catppuccin-icons/mocha/latex.svg +3 -3
- package/public/catppuccin-icons/mocha/latte.svg +6 -6
- package/public/catppuccin-icons/mocha/lerna.svg +6 -6
- package/public/catppuccin-icons/mocha/less.svg +3 -3
- package/public/catppuccin-icons/mocha/lib.svg +3 -3
- package/public/catppuccin-icons/mocha/license.svg +3 -3
- package/public/catppuccin-icons/mocha/lint-staged.svg +8 -8
- package/public/catppuccin-icons/mocha/liquid.svg +3 -3
- package/public/catppuccin-icons/mocha/lisp.svg +6 -6
- package/public/catppuccin-icons/mocha/lock.svg +3 -3
- package/public/catppuccin-icons/mocha/log.svg +6 -6
- package/public/catppuccin-icons/mocha/lua-check.svg +9 -9
- package/public/catppuccin-icons/mocha/lua-client.svg +7 -7
- package/public/catppuccin-icons/mocha/lua-rocks.svg +7 -7
- package/public/catppuccin-icons/mocha/lua-server.svg +7 -7
- package/public/catppuccin-icons/mocha/lua-test.svg +9 -9
- package/public/catppuccin-icons/mocha/lua.svg +6 -6
- package/public/catppuccin-icons/mocha/luau-check.svg +9 -9
- package/public/catppuccin-icons/mocha/luau-client.svg +7 -7
- package/public/catppuccin-icons/mocha/luau-config.svg +9 -9
- package/public/catppuccin-icons/mocha/luau-server.svg +7 -7
- package/public/catppuccin-icons/mocha/luau-test.svg +5 -5
- package/public/catppuccin-icons/mocha/luau.svg +4 -4
- package/public/catppuccin-icons/mocha/macos.svg +9 -9
- package/public/catppuccin-icons/mocha/makefile.svg +6 -6
- package/public/catppuccin-icons/mocha/mantle.svg +3 -3
- package/public/catppuccin-icons/mocha/markdown-mdx.svg +3 -3
- package/public/catppuccin-icons/mocha/markdown.svg +3 -3
- package/public/catppuccin-icons/mocha/marko.svg +9 -9
- package/public/catppuccin-icons/mocha/matlab.svg +6 -6
- package/public/catppuccin-icons/mocha/mdbook.svg +4 -4
- package/public/catppuccin-icons/mocha/mermaid.svg +3 -3
- package/public/catppuccin-icons/mocha/meson.svg +6 -6
- package/public/catppuccin-icons/mocha/midi.svg +6 -6
- package/public/catppuccin-icons/mocha/mjml.svg +3 -3
- package/public/catppuccin-icons/mocha/modernizr.svg +3 -3
- package/public/catppuccin-icons/mocha/moonrepo.svg +4 -4
- package/public/catppuccin-icons/mocha/moonwave.svg +3 -3
- package/public/catppuccin-icons/mocha/ms-excel.svg +6 -6
- package/public/catppuccin-icons/mocha/ms-powerpoint.svg +6 -6
- package/public/catppuccin-icons/mocha/ms-word.svg +6 -6
- package/public/catppuccin-icons/mocha/msbuild.svg +8 -8
- package/public/catppuccin-icons/mocha/nativescript.svg +3 -3
- package/public/catppuccin-icons/mocha/nest-controller.svg +3 -3
- package/public/catppuccin-icons/mocha/nest-decorator.svg +3 -3
- package/public/catppuccin-icons/mocha/nest-filter.svg +3 -3
- package/public/catppuccin-icons/mocha/nest-gateway.svg +3 -3
- package/public/catppuccin-icons/mocha/nest-guard.svg +3 -3
- package/public/catppuccin-icons/mocha/nest-middleware.svg +3 -3
- package/public/catppuccin-icons/mocha/nest-pipe.svg +3 -3
- package/public/catppuccin-icons/mocha/nest-service.svg +3 -3
- package/public/catppuccin-icons/mocha/nest.svg +3 -3
- package/public/catppuccin-icons/mocha/netlify.svg +6 -6
- package/public/catppuccin-icons/mocha/next.svg +6 -6
- package/public/catppuccin-icons/mocha/nextflow.svg +3 -3
- package/public/catppuccin-icons/mocha/nginx.svg +6 -6
- package/public/catppuccin-icons/mocha/nim.svg +3 -3
- package/public/catppuccin-icons/mocha/ninja.svg +6 -6
- package/public/catppuccin-icons/mocha/nix-lock.svg +11 -11
- package/public/catppuccin-icons/mocha/nix.svg +10 -10
- package/public/catppuccin-icons/mocha/nodemon.svg +3 -3
- package/public/catppuccin-icons/mocha/npm-ignore.svg +6 -6
- package/public/catppuccin-icons/mocha/npm-lock.svg +7 -7
- package/public/catppuccin-icons/mocha/npm.svg +6 -6
- package/public/catppuccin-icons/mocha/nuget.svg +3 -3
- package/public/catppuccin-icons/mocha/nunjucks.svg +3 -3
- package/public/catppuccin-icons/mocha/nuxt-ignore.svg +3 -3
- package/public/catppuccin-icons/mocha/nuxt.svg +3 -3
- package/public/catppuccin-icons/mocha/nx-ignore.svg +4 -4
- package/public/catppuccin-icons/mocha/nx.svg +4 -4
- package/public/catppuccin-icons/mocha/ocaml.svg +7 -7
- package/public/catppuccin-icons/mocha/odin.svg +3 -3
- package/public/catppuccin-icons/mocha/opentofu.svg +4 -4
- package/public/catppuccin-icons/mocha/org.svg +7 -7
- package/public/catppuccin-icons/mocha/package-json.svg +3 -3
- package/public/catppuccin-icons/mocha/panda-css.svg +3 -3
- package/public/catppuccin-icons/mocha/pdf.svg +3 -3
- package/public/catppuccin-icons/mocha/perl.svg +3 -3
- package/public/catppuccin-icons/mocha/pesde-lock.svg +7 -7
- package/public/catppuccin-icons/mocha/pesde.svg +6 -6
- package/public/catppuccin-icons/mocha/php.svg +3 -3
- package/public/catppuccin-icons/mocha/phrase.svg +6 -6
- package/public/catppuccin-icons/mocha/phtml.svg +6 -6
- package/public/catppuccin-icons/mocha/pixi-lock.svg +6 -6
- package/public/catppuccin-icons/mocha/pixi.svg +7 -7
- package/public/catppuccin-icons/mocha/plantuml.svg +3 -3
- package/public/catppuccin-icons/mocha/playwright.svg +9 -9
- package/public/catppuccin-icons/mocha/plop.svg +3 -3
- package/public/catppuccin-icons/mocha/pnpm-lock.svg +9 -9
- package/public/catppuccin-icons/mocha/pnpm.svg +8 -8
- package/public/catppuccin-icons/mocha/poetry-lock.svg +13 -13
- package/public/catppuccin-icons/mocha/postcss.svg +8 -8
- package/public/catppuccin-icons/mocha/powershell.svg +6 -6
- package/public/catppuccin-icons/mocha/pre-commit.svg +4 -4
- package/public/catppuccin-icons/mocha/premake.svg +7 -7
- package/public/catppuccin-icons/mocha/prettier-ignore.svg +3 -3
- package/public/catppuccin-icons/mocha/prettier.svg +8 -8
- package/public/catppuccin-icons/mocha/prisma.svg +3 -3
- package/public/catppuccin-icons/mocha/prolog.svg +3 -3
- package/public/catppuccin-icons/mocha/properties.svg +3 -3
- package/public/catppuccin-icons/mocha/proto.svg +8 -8
- package/public/catppuccin-icons/mocha/prototools.svg +3 -3
- package/public/catppuccin-icons/mocha/pug.svg +3 -3
- package/public/catppuccin-icons/mocha/puppet.svg +3 -3
- package/public/catppuccin-icons/mocha/puppeteer.svg +5 -5
- package/public/catppuccin-icons/mocha/python-compiled.svg +8 -8
- package/public/catppuccin-icons/mocha/python-config.svg +9 -9
- package/public/catppuccin-icons/mocha/python.svg +8 -8
- package/public/catppuccin-icons/mocha/qwik.svg +6 -6
- package/public/catppuccin-icons/mocha/r.svg +6 -6
- package/public/catppuccin-icons/mocha/racket.svg +6 -6
- package/public/catppuccin-icons/mocha/razor.svg +3 -3
- package/public/catppuccin-icons/mocha/rdata.svg +4 -4
- package/public/catppuccin-icons/mocha/readme.svg +6 -6
- package/public/catppuccin-icons/mocha/reason.svg +6 -6
- package/public/catppuccin-icons/mocha/redwood.svg +3 -3
- package/public/catppuccin-icons/mocha/release.svg +6 -6
- package/public/catppuccin-icons/mocha/remix.svg +3 -3
- package/public/catppuccin-icons/mocha/renovate.svg +6 -6
- package/public/catppuccin-icons/mocha/rescript.svg +6 -6
- package/public/catppuccin-icons/mocha/rmd.svg +4 -4
- package/public/catppuccin-icons/mocha/roblox.svg +3 -3
- package/public/catppuccin-icons/mocha/robots.svg +6 -6
- package/public/catppuccin-icons/mocha/rocket.svg +3 -3
- package/public/catppuccin-icons/mocha/rojo.svg +3 -3
- package/public/catppuccin-icons/mocha/rokit.svg +4 -4
- package/public/catppuccin-icons/mocha/rollup.svg +6 -6
- package/public/catppuccin-icons/mocha/rproj.svg +5 -5
- package/public/catppuccin-icons/mocha/rsml.svg +10 -10
- package/public/catppuccin-icons/mocha/ruby-gem-lock.svg +7 -7
- package/public/catppuccin-icons/mocha/ruby-gem.svg +6 -6
- package/public/catppuccin-icons/mocha/ruby.svg +3 -3
- package/public/catppuccin-icons/mocha/ruff.svg +3 -3
- package/public/catppuccin-icons/mocha/rust-alt-config.svg +4 -4
- package/public/catppuccin-icons/mocha/rust-alt.svg +3 -3
- package/public/catppuccin-icons/mocha/rust-config.svg +7 -7
- package/public/catppuccin-icons/mocha/rust.svg +6 -6
- package/public/catppuccin-icons/mocha/salesforce.svg +3 -3
- package/public/catppuccin-icons/mocha/sass.svg +3 -3
- package/public/catppuccin-icons/mocha/scala.svg +3 -3
- package/public/catppuccin-icons/mocha/scheme.svg +3 -3
- package/public/catppuccin-icons/mocha/search.svg +3 -3
- package/public/catppuccin-icons/mocha/security.svg +4 -4
- package/public/catppuccin-icons/mocha/semantic-release.svg +3 -3
- package/public/catppuccin-icons/mocha/semgrep-ignore.svg +3 -3
- package/public/catppuccin-icons/mocha/semgrep.svg +3 -3
- package/public/catppuccin-icons/mocha/sentry.svg +3 -3
- package/public/catppuccin-icons/mocha/serverless.svg +3 -3
- package/public/catppuccin-icons/mocha/shader.svg +3 -3
- package/public/catppuccin-icons/mocha/sketch.svg +3 -3
- package/public/catppuccin-icons/mocha/slidesk.svg +7 -7
- package/public/catppuccin-icons/mocha/snowpack.svg +6 -6
- package/public/catppuccin-icons/mocha/solid.svg +5 -5
- package/public/catppuccin-icons/mocha/solidity.svg +3 -3
- package/public/catppuccin-icons/mocha/sonar-cloud.svg +7 -7
- package/public/catppuccin-icons/mocha/spwn.svg +7 -7
- package/public/catppuccin-icons/mocha/squirrel.svg +4 -4
- package/public/catppuccin-icons/mocha/stackblitz.svg +3 -3
- package/public/catppuccin-icons/mocha/stata.svg +4 -4
- package/public/catppuccin-icons/mocha/stencil.svg +3 -3
- package/public/catppuccin-icons/mocha/stitches.svg +7 -7
- package/public/catppuccin-icons/mocha/storybook-svelte.svg +6 -6
- package/public/catppuccin-icons/mocha/storybook-vue.svg +6 -6
- package/public/catppuccin-icons/mocha/storybook.svg +6 -6
- package/public/catppuccin-icons/mocha/stylelint-ignore.svg +7 -7
- package/public/catppuccin-icons/mocha/stylelint.svg +7 -7
- package/public/catppuccin-icons/mocha/stylua-ignore.svg +3 -3
- package/public/catppuccin-icons/mocha/stylua.svg +7 -7
- package/public/catppuccin-icons/mocha/sublime.svg +3 -3
- package/public/catppuccin-icons/mocha/super-collider.svg +3 -3
- package/public/catppuccin-icons/mocha/svelte-config.svg +6 -6
- package/public/catppuccin-icons/mocha/svelte.svg +6 -6
- package/public/catppuccin-icons/mocha/svg.svg +3 -3
- package/public/catppuccin-icons/mocha/swift.svg +3 -3
- package/public/catppuccin-icons/mocha/swiftformat.svg +4 -4
- package/public/catppuccin-icons/mocha/symlink.svg +5 -5
- package/public/catppuccin-icons/mocha/tailwind.svg +3 -3
- package/public/catppuccin-icons/mocha/taskfile.svg +3 -3
- package/public/catppuccin-icons/mocha/tauri-ignore.svg +6 -6
- package/public/catppuccin-icons/mocha/tauri.svg +8 -8
- package/public/catppuccin-icons/mocha/terraform.svg +3 -3
- package/public/catppuccin-icons/mocha/text.svg +6 -6
- package/public/catppuccin-icons/mocha/todo.svg +6 -6
- package/public/catppuccin-icons/mocha/toml.svg +3 -3
- package/public/catppuccin-icons/mocha/turbo.svg +10 -10
- package/public/catppuccin-icons/mocha/twig.svg +4 -4
- package/public/catppuccin-icons/mocha/twine.svg +6 -6
- package/public/catppuccin-icons/mocha/typescript-config.svg +7 -7
- package/public/catppuccin-icons/mocha/typescript-def.svg +7 -7
- package/public/catppuccin-icons/mocha/typescript-react.svg +8 -8
- package/public/catppuccin-icons/mocha/typescript-test.svg +3 -3
- package/public/catppuccin-icons/mocha/typescript.svg +6 -6
- package/public/catppuccin-icons/mocha/typst.svg +3 -3
- package/public/catppuccin-icons/mocha/unity.svg +3 -3
- package/public/catppuccin-icons/mocha/unocss.svg +6 -6
- package/public/catppuccin-icons/mocha/url.svg +3 -3
- package/public/catppuccin-icons/mocha/uv.svg +3 -3
- package/public/catppuccin-icons/mocha/v.svg +6 -6
- package/public/catppuccin-icons/mocha/vala.svg +3 -3
- package/public/catppuccin-icons/mocha/vanilla-extract.svg +4 -4
- package/public/catppuccin-icons/mocha/vapi.svg +3 -3
- package/public/catppuccin-icons/mocha/vento.svg +5 -5
- package/public/catppuccin-icons/mocha/vercel-ignore.svg +3 -3
- package/public/catppuccin-icons/mocha/vercel.svg +3 -3
- package/public/catppuccin-icons/mocha/verilog.svg +6 -6
- package/public/catppuccin-icons/mocha/vhs.svg +3 -3
- package/public/catppuccin-icons/mocha/video.svg +6 -6
- package/public/catppuccin-icons/mocha/vim.svg +3 -3
- package/public/catppuccin-icons/mocha/visual-studio.svg +3 -3
- package/public/catppuccin-icons/mocha/vital.svg +6 -6
- package/public/catppuccin-icons/mocha/vite.svg +6 -6
- package/public/catppuccin-icons/mocha/vitest.svg +6 -6
- package/public/catppuccin-icons/mocha/vs-codium.svg +8 -8
- package/public/catppuccin-icons/mocha/vscode-ignore.svg +3 -3
- package/public/catppuccin-icons/mocha/vscode.svg +3 -3
- package/public/catppuccin-icons/mocha/vue-config.svg +6 -6
- package/public/catppuccin-icons/mocha/vue.svg +6 -6
- package/public/catppuccin-icons/mocha/wally.svg +27 -27
- package/public/catppuccin-icons/mocha/web-assembly.svg +7 -7
- package/public/catppuccin-icons/mocha/webpack.svg +7 -7
- package/public/catppuccin-icons/mocha/windi.svg +3 -3
- package/public/catppuccin-icons/mocha/workflow.svg +3 -3
- package/public/catppuccin-icons/mocha/wrangler.svg +4 -4
- package/public/catppuccin-icons/mocha/wxt.svg +3 -3
- package/public/catppuccin-icons/mocha/xaml.svg +8 -8
- package/public/catppuccin-icons/mocha/xcode.svg +7 -7
- package/public/catppuccin-icons/mocha/xmake.svg +7 -7
- package/public/catppuccin-icons/mocha/xml.svg +3 -3
- package/public/catppuccin-icons/mocha/yaml.svg +3 -3
- package/public/catppuccin-icons/mocha/yarn-lock.svg +7 -7
- package/public/catppuccin-icons/mocha/yarn.svg +6 -6
- package/public/catppuccin-icons/mocha/zap.svg +3 -3
- package/public/catppuccin-icons/mocha/zig.svg +3 -3
- package/public/catppuccin-icons/mocha/zip.svg +3 -3
- package/public/favicon.svg +7 -7
- package/public/gruvbox-dark.json +91 -91
- package/public/icons/catppuccin/LICENSE +22 -22
- package/public/icons/catppuccin/README.md +10 -10
- package/public/icons/catppuccin/latte/_file.svg +3 -3
- package/public/icons/catppuccin/latte/_folder.svg +3 -3
- package/public/icons/catppuccin/latte/_folder_open.svg +3 -3
- package/public/icons/catppuccin/latte/bash.svg +7 -7
- package/public/icons/catppuccin/latte/bun-lock.svg +8 -8
- package/public/icons/catppuccin/latte/config.svg +3 -3
- package/public/icons/catppuccin/latte/css.svg +6 -6
- package/public/icons/catppuccin/latte/database.svg +3 -3
- package/public/icons/catppuccin/latte/docker.svg +3 -3
- package/public/icons/catppuccin/latte/env.svg +3 -3
- package/public/icons/catppuccin/latte/eslint.svg +6 -6
- package/public/icons/catppuccin/latte/git.svg +6 -6
- package/public/icons/catppuccin/latte/go.svg +3 -3
- package/public/icons/catppuccin/latte/graphql.svg +3 -3
- package/public/icons/catppuccin/latte/html.svg +6 -6
- package/public/icons/catppuccin/latte/javascript-react.svg +8 -8
- package/public/icons/catppuccin/latte/javascript.svg +6 -6
- package/public/icons/catppuccin/latte/json.svg +3 -3
- package/public/icons/catppuccin/latte/lock.svg +3 -3
- package/public/icons/catppuccin/latte/markdown.svg +3 -3
- package/public/icons/catppuccin/latte/ms-word.svg +6 -6
- package/public/icons/catppuccin/latte/next.svg +6 -6
- package/public/icons/catppuccin/latte/npm-lock.svg +7 -7
- package/public/icons/catppuccin/latte/pdf.svg +3 -3
- package/public/icons/catppuccin/latte/python.svg +8 -8
- package/public/icons/catppuccin/latte/rust.svg +6 -6
- package/public/icons/catppuccin/latte/sass.svg +3 -3
- package/public/icons/catppuccin/latte/terraform.svg +3 -3
- package/public/icons/catppuccin/latte/toml.svg +3 -3
- package/public/icons/catppuccin/latte/typescript-react.svg +8 -8
- package/public/icons/catppuccin/latte/typescript.svg +6 -6
- package/public/icons/catppuccin/latte/yaml.svg +3 -3
- package/public/icons/catppuccin/mocha/_file.svg +3 -3
- package/public/icons/catppuccin/mocha/_folder.svg +3 -3
- package/public/icons/catppuccin/mocha/_folder_open.svg +3 -3
- package/public/icons/catppuccin/mocha/bash.svg +7 -7
- package/public/icons/catppuccin/mocha/bun-lock.svg +8 -8
- package/public/icons/catppuccin/mocha/config.svg +3 -3
- package/public/icons/catppuccin/mocha/css.svg +6 -6
- package/public/icons/catppuccin/mocha/database.svg +3 -3
- package/public/icons/catppuccin/mocha/docker.svg +3 -3
- package/public/icons/catppuccin/mocha/env.svg +3 -3
- package/public/icons/catppuccin/mocha/eslint.svg +6 -6
- package/public/icons/catppuccin/mocha/git.svg +6 -6
- package/public/icons/catppuccin/mocha/go.svg +3 -3
- package/public/icons/catppuccin/mocha/graphql.svg +3 -3
- package/public/icons/catppuccin/mocha/html.svg +6 -6
- package/public/icons/catppuccin/mocha/javascript-react.svg +8 -8
- package/public/icons/catppuccin/mocha/javascript.svg +6 -6
- package/public/icons/catppuccin/mocha/json.svg +3 -3
- package/public/icons/catppuccin/mocha/lock.svg +3 -3
- package/public/icons/catppuccin/mocha/markdown.svg +3 -3
- package/public/icons/catppuccin/mocha/ms-word.svg +6 -6
- package/public/icons/catppuccin/mocha/next.svg +6 -6
- package/public/icons/catppuccin/mocha/npm-lock.svg +7 -7
- package/public/icons/catppuccin/mocha/pdf.svg +3 -3
- package/public/icons/catppuccin/mocha/python.svg +8 -8
- package/public/icons/catppuccin/mocha/rust.svg +6 -6
- package/public/icons/catppuccin/mocha/sass.svg +3 -3
- package/public/icons/catppuccin/mocha/terraform.svg +3 -3
- package/public/icons/catppuccin/mocha/toml.svg +3 -3
- package/public/icons/catppuccin/mocha/typescript-react.svg +8 -8
- package/public/icons/catppuccin/mocha/typescript.svg +6 -6
- package/public/icons/catppuccin/mocha/yaml.svg +3 -3
- package/public/provider-icons.svg +54 -54
- package/public/sw.test.mjs +149 -149
- package/.next/static/chunks/app/_not-found/page-4e8d0b14be117d20.js +0 -1
- package/.next/static/chunks/app/layout-344bb26f147e8fc7.js +0 -1
- package/.next/static/chunks/main-39024e6d570ad5e5.js +0 -5
- package/.next/static/chunks/main-app-0b45ce7a4444c85e.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-9b3287a6309b286c.js +0 -1
- package/.next/static/chunks/webpack-6a622f7fe45a5a31.js +0 -1
- /package/.next/static/{ttjXA0WqHPS9c_XTNNfP0 → dcKTpfVZrwILk5_itBCpU}/_buildManifest.js +0 -0
- /package/.next/static/{ttjXA0WqHPS9c_XTNNfP0 → dcKTpfVZrwILk5_itBCpU}/_ssgManifest.js +0 -0
package/README.md
CHANGED
|
@@ -1,372 +1,372 @@
|
|
|
1
|
-
<div align="center">
|
|
2
|
-
|
|
3
|
-
# Pi Web
|
|
4
|
-
|
|
5
|
-
**Pi coding agent 的纯网页工作台**
|
|
6
|
-
|
|
7
|
-
读取本机 Pi 会话,提供实时对话、项目文件浏览、模型/技能/插件配置、Git Worktree 与移动端界面。该仓库只发布 Web 服务,不再提供 Electron 桌面应用或安装包。
|
|
8
|
-
|
|
9
|
-
[English](./README.en.md)
|
|
10
|
-
|
|
11
|
-

|
|
12
|
-

|
|
13
|
-

|
|
14
|
-
|
|
15
|
-
<<<<<<< HEAD
|
|
16
|
-
</div>
|
|
17
|
-
=======
|
|
18
|
-
- **Session workspace**: browse, resume, rename, export, and delete conversations grouped by project, with running state, context usage, cost, and compaction details.
|
|
19
|
-
- **Two ways to branch**: **New session** creates an independent session file from an earlier message; **Edit from here** creates a branch inside the current session.
|
|
20
|
-
- **Project file tools**: browse and upload files, inspect Git diffs, and preview source, Markdown, images, audio, PDFs, and DOCX files with automatic refresh.
|
|
21
|
-
- **Git worktrees**: switch checkouts from the sidebar while keeping sessions from the same repository grouped together.
|
|
22
|
-
- **Web-based configuration**: manage provider login and API keys, models, model tests, plugin packages, and skills without leaving Pi Web.
|
|
23
|
-
- **English, Simplified Chinese, and Traditional Chinese UI**: Pi Web follows the browser language initially and provides a language switcher in the top bar.
|
|
24
|
-
>>>>>>> upstream/main
|
|
25
|
-
|
|
26
|
-
## 界面预览
|
|
27
|
-
|
|
28
|
-

|
|
29
|
-
|
|
30
|
-
## 功能
|
|
31
|
-
|
|
32
|
-
| 能力 | 说明 |
|
|
33
|
-
| --- | --- |
|
|
34
|
-
| 实时对话 | 通过 SSE 显示 Pi Agent 的流式输出、工具调用、思考过程与错误状态。 |
|
|
35
|
-
| 会话管理 | 按项目查看会话,支持会话内分支、Fork、重命名、删除、AI 自动生成标题与 HTML 导出。 |
|
|
36
|
-
| 会话导入 | 从 Reasonix 等工具导入历史对话记录,自动发现项目与会话,支持合并或新建项目;导入后可选批量并行生成标题。 |
|
|
37
|
-
| 项目与文件 | 通过目录选择器加载项目,浏览文件、Diff、图片、音频、PDF、DOCX。 |
|
|
38
|
-
| 模型与认证 | 在网页中管理模型、OAuth/API Key、连通性测试和默认模型;支持从供应商自动获取模型列表与 models.dev 定价预设一键填入。 |
|
|
39
|
-
| 备份恢复 | 一键导出/导入核心配置、技能、插件、MCP 服务器与会话(可选含密钥),跨平台自动适配路径与命令。 |
|
|
40
|
-
| 技能与插件 | 查询、安装、启停 Skills 与 package 插件。 |
|
|
41
|
-
| Git Worktree | 在同一项目下创建、切换和移除 Worktree。 |
|
|
42
|
-
| 任务看板 | 桌面端四列看板:把任务交给 agent 在 worktree 分支中执行,支持验收、合并、归档、每项目设置(Beta)。 |
|
|
43
|
-
| 主题与语言 | 支持 Pi TUI 主题、亮暗模式及中文/English。 |
|
|
44
|
-
| 移动端 | 适配 Safari/Chrome 窄屏布局;模型选择和发送操作保持可见。 |
|
|
45
|
-
|
|
46
|
-
## 原生移动客户端
|
|
47
|
-
|
|
48
|
-
本仓库同时包含 Android / iOS 原生客户端(Flutter),位于 [`mobile2/`](./mobile2/),支持:
|
|
49
|
-
|
|
50
|
-
- 连接自建 Pi Web(域名或 IP),可保存多台服务器并快速切换;
|
|
51
|
-
- 按远端工作目录浏览会话,会话内搜索与最近项目快捷切换;
|
|
52
|
-
- SSE 流式对话、思考过程(横向块状)、工具调用卡片、图片附件;
|
|
53
|
-
- 会话操作:重命名、置顶、删除、消息分叉(fork);
|
|
54
|
-
- 主题:网页端主题集同步 + 全局字体大小调节;
|
|
55
|
-
- Git Worktree、MCP 服务器管理、模型供应商、技能;
|
|
56
|
-
- 宽屏(iPad / 折叠屏)自动切换常驻双栏布局;
|
|
57
|
-
- 简体中文 / 日本語 / English 三语界面。
|
|
58
|
-
|
|
59
|
-
安装与自建打包说明见 [`mobile2/README.md`](./mobile2/README.md)。发布时通过 GitHub Actions 在 tag 上自动产出 Android APK/AAB 与 iOS 未签名 IPA。
|
|
60
|
-
|
|
61
|
-
## 快速开始
|
|
62
|
-
|
|
63
|
-
### 前置条件
|
|
64
|
-
|
|
65
|
-
- Node.js **22.19.0 或更高版本**
|
|
66
|
-
- 已配置可用的 Pi 模型/认证信息
|
|
67
|
-
|
|
68
|
-
### 从 npm 安装(推荐)
|
|
69
|
-
|
|
70
|
-
```bash
|
|
71
|
-
npx @qt4798/pi-web@latest
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
或全局安装:
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
npm install -g @qt4798/pi-web
|
|
78
|
-
pi-web
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
然后打开 [http://127.0.0.1:30141](http://127.0.0.1:30141)。CLI 会在服务就绪后自动打开浏览器。默认只监听 `127.0.0.1`。
|
|
82
|
-
|
|
83
|
-
<<<<<<< HEAD
|
|
84
|
-
### 更新
|
|
85
|
-
|
|
86
|
-
```bash
|
|
87
|
-
npm update -g @qt4798/pi-web
|
|
88
|
-
# 或指定版本
|
|
89
|
-
npm install -g @qt4798/pi-web@latest
|
|
90
|
-
=======
|
|
91
|
-
## Configuration
|
|
92
|
-
|
|
93
|
-
For port and hostname, command-line options override the corresponding environment variables. Either `--no-open` or `PI_WEB_NO_OPEN=1` disables automatic browser opening. Run `pi-web --help` (or `-h`) to print startup options and exit without starting the server. Unknown options exit with an error.
|
|
94
|
-
|
|
95
|
-
| Option or environment variable | Purpose | Default |
|
|
96
|
-
| --- | --- | --- |
|
|
97
|
-
| `--help`, `-h` | Print startup options and exit | — |
|
|
98
|
-
| `--port <port>`, `-p <port>`, or `PORT` | Server port | `30141` |
|
|
99
|
-
| `--hostname <host>`, `-H <host>`, or `PI_WEB_HOSTNAME` | Bind hostname | `127.0.0.1` |
|
|
100
|
-
| `--no-open` or `PI_WEB_NO_OPEN=1` | Do not open a browser automatically | Browser opens |
|
|
101
|
-
| `PI_WEB_SKIP_VERSION_CHECK=1` | Disable Pi Web update checks | Unset |
|
|
102
|
-
| `PI_WEB_ALLOWED_HOSTS` | Additional exact proxy or custom hostnames, comma-separated | Unset |
|
|
103
|
-
| `PI_WEB_PASSWORD` | Enable HTTP Basic Auth; the username is always `pi` | Authentication disabled |
|
|
104
|
-
| `PI_WEB_IDLE_TIMEOUT_MS` | Session idle timeout in milliseconds, up to `2147483647`; `0` disables idle shutdown; invalid or out-of-range values use the default | `600000` (10 min) |
|
|
105
|
-
|
|
106
|
-
For example:
|
|
107
|
-
|
|
108
|
-
```bash
|
|
109
|
-
pi-web --help
|
|
110
|
-
pi-web -p 8080 -H 0.0.0.0 --no-open
|
|
111
|
-
>>>>>>> upstream/main
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
更新后重启服务即可生效(先停掉旧进程再执行 `pi-web`)。
|
|
115
|
-
|
|
116
|
-
### 常用选项
|
|
117
|
-
|
|
118
|
-
```bash
|
|
119
|
-
pi-web --port 8080 # 自定义端口
|
|
120
|
-
pi-web --hostname 0.0.0.0 # 暴露在局域网
|
|
121
|
-
pi-web -p 8080 -H 0.0.0.0 # 组合使用
|
|
122
|
-
pi-web --no-open # 不自动打开浏览器
|
|
123
|
-
|
|
124
|
-
PORT=8080 pi-web # 也可通过环境变量设置端口
|
|
125
|
-
PI_WEB_HOSTNAME=0.0.0.0 pi-web # 显式设置监听地址
|
|
126
|
-
PI_WEB_ALLOWED_HOSTS=piweb.example.com pi-web # 允许反向代理域名
|
|
127
|
-
PI_WEB_PASSWORD='随机长密码' pi-web # 启用 HTTP Basic Auth(用户名 pi)
|
|
128
|
-
PI_WEB_NO_OPEN=1 pi-web # 后台服务不自动打开浏览器
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
设置 `PI_WEB_PASSWORD` 后,所有网页接口和 API 端点都需要 HTTP Basic Auth 认证,用户名为 `pi`。不设或留空则禁用认证。
|
|
132
|
-
|
|
133
|
-
> 当监听地址超出本机(如默认的 `0.0.0.0`)而未设置 `PI_WEB_PASSWORD` 时,`pi-web` 会**拒绝启动**——裸奔在局域网意味着网内任何设备都能读取会话并执行 agent 命令。可信内网确需免密时,设置 `PI_WEB_ALLOW_INSECURE_LAN=1` 显式豁免(风险自负)。
|
|
134
|
-
|
|
135
|
-
> Basic Auth 不加密传输中的密码。请勿将纯 HTTP 直接暴露到公网,通过可信反向代理启用 HTTPS 或使用可信 VPN 进行远程访问。
|
|
136
|
-
|
|
137
|
-
### 从源码运行
|
|
138
|
-
|
|
139
|
-
```bash
|
|
140
|
-
<<<<<<< HEAD
|
|
141
|
-
git clone https://github.com/t479842598/pi-web-QT.git
|
|
142
|
-
cd pi-web-QT
|
|
143
|
-
npm ci
|
|
144
|
-
=======
|
|
145
|
-
HTTP_PROXY=http://127.0.0.1:7890 \
|
|
146
|
-
HTTPS_PROXY=http://127.0.0.1:7890 \
|
|
147
|
-
NO_PROXY=localhost,127.0.0.1 \
|
|
148
|
-
npx @agegr/pi-web@latest
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
On Windows PowerShell:
|
|
152
|
-
|
|
153
|
-
```powershell
|
|
154
|
-
$env:HTTP_PROXY = "http://127.0.0.1:7890"
|
|
155
|
-
$env:HTTPS_PROXY = "http://127.0.0.1:7890"
|
|
156
|
-
$env:NO_PROXY = "localhost,127.0.0.1"
|
|
157
|
-
npx @agegr/pi-web@latest
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
## Notes
|
|
161
|
-
|
|
162
|
-
- **Agent data**: Pi Web reads pi data from `~/.pi/agent` by default, including session files under `sessions/<encoded-cwd>/<timestamp>_<uuid>.jsonl`. Set `PI_CODING_AGENT_DIR` to use another pi agent directory.
|
|
163
|
-
- **Filesystem access**: Pi Web must be able to read the agent data directory and the working directories recorded by its sessions. Run Pi Web in the same filesystem environment as pi when sharing existing sessions.
|
|
164
|
-
- **Shared configuration**: the Models panel uses pi's model, settings, and credential storage, so changes are visible to both interfaces.
|
|
165
|
-
- **File access boundary**: the file browser is limited to working directories selected in Pi Web and project or session roots it already knows about; it is not a general filesystem browser.
|
|
166
|
-
- **Git worktrees**: see [Worktrees in Pi Web](./docs/worktrees.md) for switcher visibility, worktree creation, and removal behavior.
|
|
167
|
-
|
|
168
|
-
### Downstream Session Context Menu
|
|
169
|
-
|
|
170
|
-
Electron wrappers and other downstream integrations can provide a session-row
|
|
171
|
-
context menu without patching `SessionSidebar`. Listen for the cancelable
|
|
172
|
-
`pi-web:session-row-contextmenu` browser event and call `preventDefault()`
|
|
173
|
-
synchronously when the integration will handle it:
|
|
174
|
-
|
|
175
|
-
```js
|
|
176
|
-
window.addEventListener("pi-web:session-row-contextmenu", (event) => {
|
|
177
|
-
event.preventDefault();
|
|
178
|
-
const { id, path, cwd, name, clientX, clientY, refresh } = event.detail;
|
|
179
|
-
|
|
180
|
-
void openSessionMenu({ id, path, cwd, name, clientX, clientY }).then((changed) => {
|
|
181
|
-
if (changed) refresh();
|
|
182
|
-
});
|
|
183
|
-
});
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
The detail object contains `id`, `path`, `cwd`, optional `name`, pointer
|
|
187
|
-
coordinates, and a `refresh()` callback for actions that change the session
|
|
188
|
-
list. If no listener cancels the extension event, Pi Web preserves the
|
|
189
|
-
browser's native context menu. This hook is browser-side and independent of
|
|
190
|
-
Pi agent extensions.
|
|
191
|
-
|
|
192
|
-
### Extension Session Liveness
|
|
193
|
-
|
|
194
|
-
Server-side Pi extensions with detached work can prevent automatic idle
|
|
195
|
-
session eviction through the versioned global registry:
|
|
196
|
-
|
|
197
|
-
```js
|
|
198
|
-
const liveness = globalThis[Symbol.for("@agegr/pi-web/session-liveness/v1")];
|
|
199
|
-
const release = liveness?.version === 1
|
|
200
|
-
? liveness.register({
|
|
201
|
-
name: "my-extension",
|
|
202
|
-
sessionId,
|
|
203
|
-
sessionFile: sessionFile || undefined,
|
|
204
|
-
isActive: () => detachedJobs.size > 0,
|
|
205
|
-
})
|
|
206
|
-
: () => {};
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
Register once per active extension session and call the returned idempotent
|
|
210
|
-
`release` function on session shutdown, replacement, or reload. `isActive`
|
|
211
|
-
must be synchronous, cheap, and scoped to the supplied exact session id or
|
|
212
|
-
file. Provider errors fail safe by preserving that session. This lease only
|
|
213
|
-
affects automatic idle eviction; explicit shutdown and Stop fallback cleanup
|
|
214
|
-
still take precedence.
|
|
215
|
-
|
|
216
|
-
## Development
|
|
217
|
-
|
|
218
|
-
```bash
|
|
219
|
-
npm install
|
|
220
|
-
>>>>>>> upstream/main
|
|
221
|
-
npm run dev
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
`npm run dev` 使用**随机端口**(`-p 0`),启动日志会打印实际地址,如 `http://127.0.0.1:<随机端口>`。本地仓库构建仅作为测试环境;日常命令行运行请使用 npm 全局安装的 `@qt4798/pi-web`(`pi-web` 命令,固定 `http://127.0.0.1:30141`)。
|
|
225
|
-
|
|
226
|
-
开发服务器默认只监听本机。局域网调试可使用:
|
|
227
|
-
|
|
228
|
-
```bash
|
|
229
|
-
npm run dev:lan
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
## 安装提示(npm 11)
|
|
233
|
-
|
|
234
|
-
自 **v0.9.17-beta.3 起**,`ERESOLVE overriding peer dependency` 与 `deprecated intersection-observer` 两类提示已消除:供应商图标改为内置(不再依赖 `@lobehub/icons`,从而不再被 npm 自动安装 `@lobehub/ui` / `antd` / `@emoji-mart/react` 整条链)。新装本包时仅剩以下两类**提示性警告,均不影响安装与运行**:
|
|
235
|
-
|
|
236
|
-
- `deprecated node-domexception`:来自 `@google/genai` → `google-auth-library` 的传递依赖 `fetch-blob`。它只是旧版 Node 的 polyfill,Node ≥ 18 原生自带 `DOMException`,运行时完全用不到。上游未修复前无法从包侧移除。
|
|
237
|
-
|
|
238
|
-
- `allow-scripts`:npm ≥ 11.16 新增的安装脚本审批提示(`@google/genai` / `protobufjs` / `sharp` 等传递依赖的 preinstall/postinstall/install 脚本)。当前版本**只提示、不拦截**(脚本照常执行),未来版本可能改为默认拦截。想消除提示可在你的项目执行:
|
|
239
|
-
|
|
240
|
-
```bash
|
|
241
|
-
npm approve-scripts --allow-scripts-pending # 先查看待审批清单
|
|
242
|
-
npm approve-scripts @google/genai protobufjs sharp # 逐个批准并写入你的 package.json
|
|
243
|
-
```
|
|
244
|
-
|
|
245
|
-
或在项目 `package.json` 声明:
|
|
246
|
-
|
|
247
|
-
```json
|
|
248
|
-
"allowScripts": {
|
|
249
|
-
"@google/genai@1.52.0": true,
|
|
250
|
-
"protobufjs@7.6.5": true,
|
|
251
|
-
"sharp@0.34.5": true
|
|
252
|
-
}
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
注意该字段按 `包名@精确版本` 匹配,版本升级后需同步更新。
|
|
256
|
-
|
|
257
|
-
## 任务看板(Beta)
|
|
258
|
-
|
|
259
|
-
桌面端(非移动端)点击标题栏的看板按钮(四宫格图标)即可在聊天与任务看板之间切换。看板把「给 agent 派活」变成了一个可跟踪、可验收、可归档的流水线。
|
|
260
|
-
|
|
261
|
-
### 状态与四列
|
|
262
|
-
|
|
263
|
-
任务按状态落入四列:
|
|
264
|
-
|
|
265
|
-
| 列 | 状态 | 说明 |
|
|
266
|
-
| --- | --- | --- |
|
|
267
|
-
| 待办 | `todo` | 已创建、等待启动 |
|
|
268
|
-
| 进行中 | `queued` / `preparing` / `running` | 排队中、创建 worktree 中、agent 执行中 |
|
|
269
|
-
| 待处理 | `awaiting_input` / `review` / `merging` / `failed` | 需要你处理:等待输入、待验收、合并中、失败 |
|
|
270
|
-
| 已完成 | `done` / `canceled` | 完成或取消(取消默认隐藏,可在筛选里打开) |
|
|
271
|
-
|
|
272
|
-
一条任务的完整生命周期:**创建 → 启动 → 执行 → 待验收 → 合并 → 已完成**。
|
|
273
|
-
|
|
274
|
-
### 使用流程
|
|
275
|
-
|
|
276
|
-
1. **新建任务**:点击「新建任务」,选择项目、填写标题与任务说明(prompt)。可把常用任务存为模板复用。
|
|
277
|
-
2. **启动**:点击卡片上的「开始」,引擎会自动在该项目的 `-worktrees` 目录下创建独立分支(`task/<id>-<slug>`),在其中启动 agent 执行。也可以把待办卡片**拖到「进行中」列**直接启动;「全部启动」会排队当前项目的全部待办任务。
|
|
278
|
-
3. **执行与等待**:任务运行时可随时点「取消」;agent 需要你输入时会进入「等待输入」状态。
|
|
279
|
-
4. **验收**:agent 完成后任务进入「待处理」列(顶部标题栏会出现红色待处理计数徽章,窗口未激活时还会收到系统通知)。点卡片打开详情抽屉:查看变更文件、Diff、完整时间线;配置了预检命令的项目会显示验收红绿灯。
|
|
280
|
-
- **合并**:接受产出,可选择自动/手动提交信息、是否删除 worktree。合并由 agent 在会话内完成,成功后任务进入「已完成」。
|
|
281
|
-
- **退回**:不满意时填写反馈退回给 agent 继续修改。
|
|
282
|
-
5. **归档**:已完成/失败/取消的任务可归档(默认隐藏,筛选里可显示);「全部归档」一键清空已完成列。
|
|
283
|
-
6. **失败处理**:失败任务显示错误信息,可「重试」(换新代际重新执行)或「编辑」后重新启动;取消的任务可「重新排队」回到待办。
|
|
284
|
-
|
|
285
|
-
### 任务设置
|
|
286
|
-
|
|
287
|
-
看板标题栏的「任务设置」按项目配置执行行为(独立于主设置弹窗):
|
|
288
|
-
|
|
289
|
-
| 设置 | 说明 |
|
|
290
|
-
| --- | --- |
|
|
291
|
-
| 自动处理排队任务 | 开启后任务一排队即自动启动 |
|
|
292
|
-
| 最大并发任务数 | 每项目同时执行的上限(0 = 不限) |
|
|
293
|
-
| 合并策略 | 合并提交(merge commit)或压缩提交(squash) |
|
|
294
|
-
| 合并后删除 worktree(默认) | 合并完成后自动清理 worktree 与分支 |
|
|
295
|
-
| 预检命令(验收检查) | 任务进入待验收前在 worktree 中运行的命令,输出红绿灯结果(如 `npm test`) |
|
|
296
|
-
| 初始化命令 | agent 启动前在 worktree 中执行(如 `pnpm install`) |
|
|
297
|
-
| 阶段提示词 | 执行 / 重试 / 退回 / 合并各阶段的附加指令 |
|
|
298
|
-
|
|
299
|
-
### 技术说明与限制
|
|
300
|
-
|
|
301
|
-
- 任务存储于 `~/.pi/agent/tasks/`(JSONL,原子写),与会话文件同级;任务会话与其他会话一样可在会话列表查看。
|
|
302
|
-
- 每个任务在独立 git worktree 分支中执行,互不干扰;任务 agent 被约束不得提交/推送其他分支或工作区的改动。
|
|
303
|
-
- 引擎由服务器进程持有(单实例锁),重启后自动恢复中断的任务(标记为失败/中断,可重试)。
|
|
304
|
-
- Beta 阶段:仅在桌面端显示入口;移动端不可用。
|
|
305
|
-
|
|
306
|
-
## 生产部署
|
|
307
|
-
|
|
308
|
-
完整部署步骤见 [docs/deployment.md](./docs/deployment.md)。最小流程:
|
|
309
|
-
|
|
310
|
-
```bash
|
|
311
|
-
npm ci
|
|
312
|
-
npm run build
|
|
313
|
-
PI_WEB_PASSWORD='替换为随机长密码' \
|
|
314
|
-
PI_WEB_ALLOWED_HOSTS='piweb.example.com' \
|
|
315
|
-
node bin/pi-web.js -H 127.0.0.1 -p 30141 --no-open
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
生产环境建议:
|
|
319
|
-
|
|
320
|
-
1. 让 Pi Web 仅监听 `127.0.0.1`。
|
|
321
|
-
2. 用 Caddy、Nginx 或 Cloudflare Tunnel 对外提供 HTTPS。
|
|
322
|
-
3. 设置 `PI_WEB_PASSWORD` 与精确的 `PI_WEB_ALLOWED_HOSTS`。
|
|
323
|
-
4. 用 systemd 或 launchd 守护 `node bin/pi-web.js` 进程。
|
|
324
|
-
|
|
325
|
-
### 环境变量
|
|
326
|
-
|
|
327
|
-
| 变量 | 用途 |
|
|
328
|
-
| --- | --- |
|
|
329
|
-
| `PI_WEB_PASSWORD` | 启用 Basic Auth;用户名固定为 `pi`。 |
|
|
330
|
-
| `PI_WEB_ALLOW_INSECURE_LAN=1` | 非环回监听且未设密码时,豁免启动拒绝(仅限可信内网)。 |
|
|
331
|
-
| `PI_WEB_ALLOWED_HOSTS` | 以逗号分隔的外部允许域名,例如 `piweb.example.com`。 |
|
|
332
|
-
| `PI_CODING_AGENT_DIR` | 指向另一套 Pi 数据目录;默认使用 `~/.pi/agent`。 |
|
|
333
|
-
| `HTTP_PROXY` / `HTTPS_PROXY` / `NO_PROXY` | 为服务端模型/API 请求设置代理。 |
|
|
334
|
-
| `PI_WEB_NO_OPEN=1` | 禁止 CLI 在服务启动后自动打开浏览器。 |
|
|
335
|
-
|
|
336
|
-
## 目录选择与移动端
|
|
337
|
-
|
|
338
|
-
- 侧栏的“选择文件夹”会打开目录浏览器;逐层进入目录后,点击“选择此文件夹”加载项目。
|
|
339
|
-
- 移动端底部始终保留当前模型名称与发送按钮;思考、工具、压缩和提示音收纳在“更多控件”中。
|
|
340
|
-
- 长项目路径、仓库名和 Worktree 名会省略显示,避免窄屏横向滚动。
|
|
341
|
-
|
|
342
|
-
## 开发与验证
|
|
343
|
-
|
|
344
|
-
```bash
|
|
345
|
-
npm test
|
|
346
|
-
node_modules/.bin/tsc --noEmit
|
|
347
|
-
npm run lint
|
|
348
|
-
```
|
|
349
|
-
|
|
350
|
-
本地开发不要运行 `npm run build`;它会改写 `.next/` 并干扰 `npm run dev`。生产部署或 CI 可运行构建。
|
|
351
|
-
|
|
352
|
-
## 项目结构
|
|
353
|
-
|
|
354
|
-
```text
|
|
355
|
-
app/ Next.js App Router 与 API 路由
|
|
356
|
-
components/ 会话、聊天、目录选择、文件预览和设置界面
|
|
357
|
-
hooks/ 会话、主题、音频、移动端等前端状态
|
|
358
|
-
lib/ Pi SDK、会话读取、文件边界、Worktree 与配置逻辑
|
|
359
|
-
bin/pi-web.js 生产 Web 服务 CLI 入口
|
|
360
|
-
docs/ 部署说明、截图与功能文档
|
|
361
|
-
```
|
|
362
|
-
|
|
363
|
-
## 桌面端与移动端
|
|
364
|
-
|
|
365
|
-
- **桌面端(desktop/)**:Tauri 2 壳(macOS / Windows / Linux)。启动进入连接管理(填写 URL+密码 / 获取本机链接 / 一键启动本机 pi-web),主窗口菜单栏「服务器」来回切换,支持多窗口多服务器。详见 [`desktop/README.md`](./desktop/README.md)。
|
|
366
|
-
- **移动端 mobile2/(Flutter,pi-web-qt)**:唯一移动端客户端,Android / iOS,打包名 **pi-web-qt**。
|
|
367
|
-
|
|
368
|
-
三端连接同一 Pi Web 实例时,会话/模型/MCP/插件/Skills/看板全部天然同步(数据集中在服务端 `~/.pi/agent/`)。版本号统一跟随网页端(`package.json`):打 `v*` tag 触发 [`release-all.yml`](./.github/workflows/release-all.yml) 一次产出 mobile2(pi-web-qt-*)、desktop 三平台全部安装包;本地可用 `node scripts/sync-version.mjs` 同步两端版本号。
|
|
369
|
-
|
|
370
|
-
## 许可证
|
|
371
|
-
|
|
372
|
-
[MIT](./LICENSE)
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# Pi Web
|
|
4
|
+
|
|
5
|
+
**Pi coding agent 的纯网页工作台**
|
|
6
|
+
|
|
7
|
+
读取本机 Pi 会话,提供实时对话、项目文件浏览、模型/技能/插件配置、Git Worktree 与移动端界面。该仓库只发布 Web 服务,不再提供 Electron 桌面应用或安装包。
|
|
8
|
+
|
|
9
|
+
[English](./README.en.md)
|
|
10
|
+
|
|
11
|
+

|
|
12
|
+

|
|
13
|
+

|
|
14
|
+
|
|
15
|
+
<<<<<<< HEAD
|
|
16
|
+
</div>
|
|
17
|
+
=======
|
|
18
|
+
- **Session workspace**: browse, resume, rename, export, and delete conversations grouped by project, with running state, context usage, cost, and compaction details.
|
|
19
|
+
- **Two ways to branch**: **New session** creates an independent session file from an earlier message; **Edit from here** creates a branch inside the current session.
|
|
20
|
+
- **Project file tools**: browse and upload files, inspect Git diffs, and preview source, Markdown, images, audio, PDFs, and DOCX files with automatic refresh.
|
|
21
|
+
- **Git worktrees**: switch checkouts from the sidebar while keeping sessions from the same repository grouped together.
|
|
22
|
+
- **Web-based configuration**: manage provider login and API keys, models, model tests, plugin packages, and skills without leaving Pi Web.
|
|
23
|
+
- **English, Simplified Chinese, and Traditional Chinese UI**: Pi Web follows the browser language initially and provides a language switcher in the top bar.
|
|
24
|
+
>>>>>>> upstream/main
|
|
25
|
+
|
|
26
|
+
## 界面预览
|
|
27
|
+
|
|
28
|
+

|
|
29
|
+
|
|
30
|
+
## 功能
|
|
31
|
+
|
|
32
|
+
| 能力 | 说明 |
|
|
33
|
+
| --- | --- |
|
|
34
|
+
| 实时对话 | 通过 SSE 显示 Pi Agent 的流式输出、工具调用、思考过程与错误状态。 |
|
|
35
|
+
| 会话管理 | 按项目查看会话,支持会话内分支、Fork、重命名、删除、AI 自动生成标题与 HTML 导出。 |
|
|
36
|
+
| 会话导入 | 从 Reasonix 等工具导入历史对话记录,自动发现项目与会话,支持合并或新建项目;导入后可选批量并行生成标题。 |
|
|
37
|
+
| 项目与文件 | 通过目录选择器加载项目,浏览文件、Diff、图片、音频、PDF、DOCX。 |
|
|
38
|
+
| 模型与认证 | 在网页中管理模型、OAuth/API Key、连通性测试和默认模型;支持从供应商自动获取模型列表与 models.dev 定价预设一键填入。 |
|
|
39
|
+
| 备份恢复 | 一键导出/导入核心配置、技能、插件、MCP 服务器与会话(可选含密钥),跨平台自动适配路径与命令。 |
|
|
40
|
+
| 技能与插件 | 查询、安装、启停 Skills 与 package 插件。 |
|
|
41
|
+
| Git Worktree | 在同一项目下创建、切换和移除 Worktree。 |
|
|
42
|
+
| 任务看板 | 桌面端四列看板:把任务交给 agent 在 worktree 分支中执行,支持验收、合并、归档、每项目设置(Beta)。 |
|
|
43
|
+
| 主题与语言 | 支持 Pi TUI 主题、亮暗模式及中文/English。 |
|
|
44
|
+
| 移动端 | 适配 Safari/Chrome 窄屏布局;模型选择和发送操作保持可见。 |
|
|
45
|
+
|
|
46
|
+
## 原生移动客户端
|
|
47
|
+
|
|
48
|
+
本仓库同时包含 Android / iOS 原生客户端(Flutter),位于 [`mobile2/`](./mobile2/),支持:
|
|
49
|
+
|
|
50
|
+
- 连接自建 Pi Web(域名或 IP),可保存多台服务器并快速切换;
|
|
51
|
+
- 按远端工作目录浏览会话,会话内搜索与最近项目快捷切换;
|
|
52
|
+
- SSE 流式对话、思考过程(横向块状)、工具调用卡片、图片附件;
|
|
53
|
+
- 会话操作:重命名、置顶、删除、消息分叉(fork);
|
|
54
|
+
- 主题:网页端主题集同步 + 全局字体大小调节;
|
|
55
|
+
- Git Worktree、MCP 服务器管理、模型供应商、技能;
|
|
56
|
+
- 宽屏(iPad / 折叠屏)自动切换常驻双栏布局;
|
|
57
|
+
- 简体中文 / 日本語 / English 三语界面。
|
|
58
|
+
|
|
59
|
+
安装与自建打包说明见 [`mobile2/README.md`](./mobile2/README.md)。发布时通过 GitHub Actions 在 tag 上自动产出 Android APK/AAB 与 iOS 未签名 IPA。
|
|
60
|
+
|
|
61
|
+
## 快速开始
|
|
62
|
+
|
|
63
|
+
### 前置条件
|
|
64
|
+
|
|
65
|
+
- Node.js **22.19.0 或更高版本**
|
|
66
|
+
- 已配置可用的 Pi 模型/认证信息
|
|
67
|
+
|
|
68
|
+
### 从 npm 安装(推荐)
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
npx @qt4798/pi-web@latest
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
或全局安装:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
npm install -g @qt4798/pi-web
|
|
78
|
+
pi-web
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
然后打开 [http://127.0.0.1:30141](http://127.0.0.1:30141)。CLI 会在服务就绪后自动打开浏览器。默认只监听 `127.0.0.1`。
|
|
82
|
+
|
|
83
|
+
<<<<<<< HEAD
|
|
84
|
+
### 更新
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
npm update -g @qt4798/pi-web
|
|
88
|
+
# 或指定版本
|
|
89
|
+
npm install -g @qt4798/pi-web@latest
|
|
90
|
+
=======
|
|
91
|
+
## Configuration
|
|
92
|
+
|
|
93
|
+
For port and hostname, command-line options override the corresponding environment variables. Either `--no-open` or `PI_WEB_NO_OPEN=1` disables automatic browser opening. Run `pi-web --help` (or `-h`) to print startup options and exit without starting the server. Unknown options exit with an error.
|
|
94
|
+
|
|
95
|
+
| Option or environment variable | Purpose | Default |
|
|
96
|
+
| --- | --- | --- |
|
|
97
|
+
| `--help`, `-h` | Print startup options and exit | — |
|
|
98
|
+
| `--port <port>`, `-p <port>`, or `PORT` | Server port | `30141` |
|
|
99
|
+
| `--hostname <host>`, `-H <host>`, or `PI_WEB_HOSTNAME` | Bind hostname | `127.0.0.1` |
|
|
100
|
+
| `--no-open` or `PI_WEB_NO_OPEN=1` | Do not open a browser automatically | Browser opens |
|
|
101
|
+
| `PI_WEB_SKIP_VERSION_CHECK=1` | Disable Pi Web update checks | Unset |
|
|
102
|
+
| `PI_WEB_ALLOWED_HOSTS` | Additional exact proxy or custom hostnames, comma-separated | Unset |
|
|
103
|
+
| `PI_WEB_PASSWORD` | Enable HTTP Basic Auth; the username is always `pi` | Authentication disabled |
|
|
104
|
+
| `PI_WEB_IDLE_TIMEOUT_MS` | Session idle timeout in milliseconds, up to `2147483647`; `0` disables idle shutdown; invalid or out-of-range values use the default | `600000` (10 min) |
|
|
105
|
+
|
|
106
|
+
For example:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
pi-web --help
|
|
110
|
+
pi-web -p 8080 -H 0.0.0.0 --no-open
|
|
111
|
+
>>>>>>> upstream/main
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
更新后重启服务即可生效(先停掉旧进程再执行 `pi-web`)。
|
|
115
|
+
|
|
116
|
+
### 常用选项
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
pi-web --port 8080 # 自定义端口
|
|
120
|
+
pi-web --hostname 0.0.0.0 # 暴露在局域网
|
|
121
|
+
pi-web -p 8080 -H 0.0.0.0 # 组合使用
|
|
122
|
+
pi-web --no-open # 不自动打开浏览器
|
|
123
|
+
|
|
124
|
+
PORT=8080 pi-web # 也可通过环境变量设置端口
|
|
125
|
+
PI_WEB_HOSTNAME=0.0.0.0 pi-web # 显式设置监听地址
|
|
126
|
+
PI_WEB_ALLOWED_HOSTS=piweb.example.com pi-web # 允许反向代理域名
|
|
127
|
+
PI_WEB_PASSWORD='随机长密码' pi-web # 启用 HTTP Basic Auth(用户名 pi)
|
|
128
|
+
PI_WEB_NO_OPEN=1 pi-web # 后台服务不自动打开浏览器
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
设置 `PI_WEB_PASSWORD` 后,所有网页接口和 API 端点都需要 HTTP Basic Auth 认证,用户名为 `pi`。不设或留空则禁用认证。
|
|
132
|
+
|
|
133
|
+
> 当监听地址超出本机(如默认的 `0.0.0.0`)而未设置 `PI_WEB_PASSWORD` 时,`pi-web` 会**拒绝启动**——裸奔在局域网意味着网内任何设备都能读取会话并执行 agent 命令。可信内网确需免密时,设置 `PI_WEB_ALLOW_INSECURE_LAN=1` 显式豁免(风险自负)。
|
|
134
|
+
|
|
135
|
+
> Basic Auth 不加密传输中的密码。请勿将纯 HTTP 直接暴露到公网,通过可信反向代理启用 HTTPS 或使用可信 VPN 进行远程访问。
|
|
136
|
+
|
|
137
|
+
### 从源码运行
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
<<<<<<< HEAD
|
|
141
|
+
git clone https://github.com/t479842598/pi-web-QT.git
|
|
142
|
+
cd pi-web-QT
|
|
143
|
+
npm ci
|
|
144
|
+
=======
|
|
145
|
+
HTTP_PROXY=http://127.0.0.1:7890 \
|
|
146
|
+
HTTPS_PROXY=http://127.0.0.1:7890 \
|
|
147
|
+
NO_PROXY=localhost,127.0.0.1 \
|
|
148
|
+
npx @agegr/pi-web@latest
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
On Windows PowerShell:
|
|
152
|
+
|
|
153
|
+
```powershell
|
|
154
|
+
$env:HTTP_PROXY = "http://127.0.0.1:7890"
|
|
155
|
+
$env:HTTPS_PROXY = "http://127.0.0.1:7890"
|
|
156
|
+
$env:NO_PROXY = "localhost,127.0.0.1"
|
|
157
|
+
npx @agegr/pi-web@latest
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## Notes
|
|
161
|
+
|
|
162
|
+
- **Agent data**: Pi Web reads pi data from `~/.pi/agent` by default, including session files under `sessions/<encoded-cwd>/<timestamp>_<uuid>.jsonl`. Set `PI_CODING_AGENT_DIR` to use another pi agent directory.
|
|
163
|
+
- **Filesystem access**: Pi Web must be able to read the agent data directory and the working directories recorded by its sessions. Run Pi Web in the same filesystem environment as pi when sharing existing sessions.
|
|
164
|
+
- **Shared configuration**: the Models panel uses pi's model, settings, and credential storage, so changes are visible to both interfaces.
|
|
165
|
+
- **File access boundary**: the file browser is limited to working directories selected in Pi Web and project or session roots it already knows about; it is not a general filesystem browser.
|
|
166
|
+
- **Git worktrees**: see [Worktrees in Pi Web](./docs/worktrees.md) for switcher visibility, worktree creation, and removal behavior.
|
|
167
|
+
|
|
168
|
+
### Downstream Session Context Menu
|
|
169
|
+
|
|
170
|
+
Electron wrappers and other downstream integrations can provide a session-row
|
|
171
|
+
context menu without patching `SessionSidebar`. Listen for the cancelable
|
|
172
|
+
`pi-web:session-row-contextmenu` browser event and call `preventDefault()`
|
|
173
|
+
synchronously when the integration will handle it:
|
|
174
|
+
|
|
175
|
+
```js
|
|
176
|
+
window.addEventListener("pi-web:session-row-contextmenu", (event) => {
|
|
177
|
+
event.preventDefault();
|
|
178
|
+
const { id, path, cwd, name, clientX, clientY, refresh } = event.detail;
|
|
179
|
+
|
|
180
|
+
void openSessionMenu({ id, path, cwd, name, clientX, clientY }).then((changed) => {
|
|
181
|
+
if (changed) refresh();
|
|
182
|
+
});
|
|
183
|
+
});
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
The detail object contains `id`, `path`, `cwd`, optional `name`, pointer
|
|
187
|
+
coordinates, and a `refresh()` callback for actions that change the session
|
|
188
|
+
list. If no listener cancels the extension event, Pi Web preserves the
|
|
189
|
+
browser's native context menu. This hook is browser-side and independent of
|
|
190
|
+
Pi agent extensions.
|
|
191
|
+
|
|
192
|
+
### Extension Session Liveness
|
|
193
|
+
|
|
194
|
+
Server-side Pi extensions with detached work can prevent automatic idle
|
|
195
|
+
session eviction through the versioned global registry:
|
|
196
|
+
|
|
197
|
+
```js
|
|
198
|
+
const liveness = globalThis[Symbol.for("@agegr/pi-web/session-liveness/v1")];
|
|
199
|
+
const release = liveness?.version === 1
|
|
200
|
+
? liveness.register({
|
|
201
|
+
name: "my-extension",
|
|
202
|
+
sessionId,
|
|
203
|
+
sessionFile: sessionFile || undefined,
|
|
204
|
+
isActive: () => detachedJobs.size > 0,
|
|
205
|
+
})
|
|
206
|
+
: () => {};
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Register once per active extension session and call the returned idempotent
|
|
210
|
+
`release` function on session shutdown, replacement, or reload. `isActive`
|
|
211
|
+
must be synchronous, cheap, and scoped to the supplied exact session id or
|
|
212
|
+
file. Provider errors fail safe by preserving that session. This lease only
|
|
213
|
+
affects automatic idle eviction; explicit shutdown and Stop fallback cleanup
|
|
214
|
+
still take precedence.
|
|
215
|
+
|
|
216
|
+
## Development
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
npm install
|
|
220
|
+
>>>>>>> upstream/main
|
|
221
|
+
npm run dev
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
`npm run dev` 使用**随机端口**(`-p 0`),启动日志会打印实际地址,如 `http://127.0.0.1:<随机端口>`。本地仓库构建仅作为测试环境;日常命令行运行请使用 npm 全局安装的 `@qt4798/pi-web`(`pi-web` 命令,固定 `http://127.0.0.1:30141`)。
|
|
225
|
+
|
|
226
|
+
开发服务器默认只监听本机。局域网调试可使用:
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
npm run dev:lan
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
## 安装提示(npm 11)
|
|
233
|
+
|
|
234
|
+
自 **v0.9.17-beta.3 起**,`ERESOLVE overriding peer dependency` 与 `deprecated intersection-observer` 两类提示已消除:供应商图标改为内置(不再依赖 `@lobehub/icons`,从而不再被 npm 自动安装 `@lobehub/ui` / `antd` / `@emoji-mart/react` 整条链)。新装本包时仅剩以下两类**提示性警告,均不影响安装与运行**:
|
|
235
|
+
|
|
236
|
+
- `deprecated node-domexception`:来自 `@google/genai` → `google-auth-library` 的传递依赖 `fetch-blob`。它只是旧版 Node 的 polyfill,Node ≥ 18 原生自带 `DOMException`,运行时完全用不到。上游未修复前无法从包侧移除。
|
|
237
|
+
|
|
238
|
+
- `allow-scripts`:npm ≥ 11.16 新增的安装脚本审批提示(`@google/genai` / `protobufjs` / `sharp` 等传递依赖的 preinstall/postinstall/install 脚本)。当前版本**只提示、不拦截**(脚本照常执行),未来版本可能改为默认拦截。想消除提示可在你的项目执行:
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
npm approve-scripts --allow-scripts-pending # 先查看待审批清单
|
|
242
|
+
npm approve-scripts @google/genai protobufjs sharp # 逐个批准并写入你的 package.json
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
或在项目 `package.json` 声明:
|
|
246
|
+
|
|
247
|
+
```json
|
|
248
|
+
"allowScripts": {
|
|
249
|
+
"@google/genai@1.52.0": true,
|
|
250
|
+
"protobufjs@7.6.5": true,
|
|
251
|
+
"sharp@0.34.5": true
|
|
252
|
+
}
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
注意该字段按 `包名@精确版本` 匹配,版本升级后需同步更新。
|
|
256
|
+
|
|
257
|
+
## 任务看板(Beta)
|
|
258
|
+
|
|
259
|
+
桌面端(非移动端)点击标题栏的看板按钮(四宫格图标)即可在聊天与任务看板之间切换。看板把「给 agent 派活」变成了一个可跟踪、可验收、可归档的流水线。
|
|
260
|
+
|
|
261
|
+
### 状态与四列
|
|
262
|
+
|
|
263
|
+
任务按状态落入四列:
|
|
264
|
+
|
|
265
|
+
| 列 | 状态 | 说明 |
|
|
266
|
+
| --- | --- | --- |
|
|
267
|
+
| 待办 | `todo` | 已创建、等待启动 |
|
|
268
|
+
| 进行中 | `queued` / `preparing` / `running` | 排队中、创建 worktree 中、agent 执行中 |
|
|
269
|
+
| 待处理 | `awaiting_input` / `review` / `merging` / `failed` | 需要你处理:等待输入、待验收、合并中、失败 |
|
|
270
|
+
| 已完成 | `done` / `canceled` | 完成或取消(取消默认隐藏,可在筛选里打开) |
|
|
271
|
+
|
|
272
|
+
一条任务的完整生命周期:**创建 → 启动 → 执行 → 待验收 → 合并 → 已完成**。
|
|
273
|
+
|
|
274
|
+
### 使用流程
|
|
275
|
+
|
|
276
|
+
1. **新建任务**:点击「新建任务」,选择项目、填写标题与任务说明(prompt)。可把常用任务存为模板复用。
|
|
277
|
+
2. **启动**:点击卡片上的「开始」,引擎会自动在该项目的 `-worktrees` 目录下创建独立分支(`task/<id>-<slug>`),在其中启动 agent 执行。也可以把待办卡片**拖到「进行中」列**直接启动;「全部启动」会排队当前项目的全部待办任务。
|
|
278
|
+
3. **执行与等待**:任务运行时可随时点「取消」;agent 需要你输入时会进入「等待输入」状态。
|
|
279
|
+
4. **验收**:agent 完成后任务进入「待处理」列(顶部标题栏会出现红色待处理计数徽章,窗口未激活时还会收到系统通知)。点卡片打开详情抽屉:查看变更文件、Diff、完整时间线;配置了预检命令的项目会显示验收红绿灯。
|
|
280
|
+
- **合并**:接受产出,可选择自动/手动提交信息、是否删除 worktree。合并由 agent 在会话内完成,成功后任务进入「已完成」。
|
|
281
|
+
- **退回**:不满意时填写反馈退回给 agent 继续修改。
|
|
282
|
+
5. **归档**:已完成/失败/取消的任务可归档(默认隐藏,筛选里可显示);「全部归档」一键清空已完成列。
|
|
283
|
+
6. **失败处理**:失败任务显示错误信息,可「重试」(换新代际重新执行)或「编辑」后重新启动;取消的任务可「重新排队」回到待办。
|
|
284
|
+
|
|
285
|
+
### 任务设置
|
|
286
|
+
|
|
287
|
+
看板标题栏的「任务设置」按项目配置执行行为(独立于主设置弹窗):
|
|
288
|
+
|
|
289
|
+
| 设置 | 说明 |
|
|
290
|
+
| --- | --- |
|
|
291
|
+
| 自动处理排队任务 | 开启后任务一排队即自动启动 |
|
|
292
|
+
| 最大并发任务数 | 每项目同时执行的上限(0 = 不限) |
|
|
293
|
+
| 合并策略 | 合并提交(merge commit)或压缩提交(squash) |
|
|
294
|
+
| 合并后删除 worktree(默认) | 合并完成后自动清理 worktree 与分支 |
|
|
295
|
+
| 预检命令(验收检查) | 任务进入待验收前在 worktree 中运行的命令,输出红绿灯结果(如 `npm test`) |
|
|
296
|
+
| 初始化命令 | agent 启动前在 worktree 中执行(如 `pnpm install`) |
|
|
297
|
+
| 阶段提示词 | 执行 / 重试 / 退回 / 合并各阶段的附加指令 |
|
|
298
|
+
|
|
299
|
+
### 技术说明与限制
|
|
300
|
+
|
|
301
|
+
- 任务存储于 `~/.pi/agent/tasks/`(JSONL,原子写),与会话文件同级;任务会话与其他会话一样可在会话列表查看。
|
|
302
|
+
- 每个任务在独立 git worktree 分支中执行,互不干扰;任务 agent 被约束不得提交/推送其他分支或工作区的改动。
|
|
303
|
+
- 引擎由服务器进程持有(单实例锁),重启后自动恢复中断的任务(标记为失败/中断,可重试)。
|
|
304
|
+
- Beta 阶段:仅在桌面端显示入口;移动端不可用。
|
|
305
|
+
|
|
306
|
+
## 生产部署
|
|
307
|
+
|
|
308
|
+
完整部署步骤见 [docs/deployment.md](./docs/deployment.md)。最小流程:
|
|
309
|
+
|
|
310
|
+
```bash
|
|
311
|
+
npm ci
|
|
312
|
+
npm run build
|
|
313
|
+
PI_WEB_PASSWORD='替换为随机长密码' \
|
|
314
|
+
PI_WEB_ALLOWED_HOSTS='piweb.example.com' \
|
|
315
|
+
node bin/pi-web.js -H 127.0.0.1 -p 30141 --no-open
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
生产环境建议:
|
|
319
|
+
|
|
320
|
+
1. 让 Pi Web 仅监听 `127.0.0.1`。
|
|
321
|
+
2. 用 Caddy、Nginx 或 Cloudflare Tunnel 对外提供 HTTPS。
|
|
322
|
+
3. 设置 `PI_WEB_PASSWORD` 与精确的 `PI_WEB_ALLOWED_HOSTS`。
|
|
323
|
+
4. 用 systemd 或 launchd 守护 `node bin/pi-web.js` 进程。
|
|
324
|
+
|
|
325
|
+
### 环境变量
|
|
326
|
+
|
|
327
|
+
| 变量 | 用途 |
|
|
328
|
+
| --- | --- |
|
|
329
|
+
| `PI_WEB_PASSWORD` | 启用 Basic Auth;用户名固定为 `pi`。 |
|
|
330
|
+
| `PI_WEB_ALLOW_INSECURE_LAN=1` | 非环回监听且未设密码时,豁免启动拒绝(仅限可信内网)。 |
|
|
331
|
+
| `PI_WEB_ALLOWED_HOSTS` | 以逗号分隔的外部允许域名,例如 `piweb.example.com`。 |
|
|
332
|
+
| `PI_CODING_AGENT_DIR` | 指向另一套 Pi 数据目录;默认使用 `~/.pi/agent`。 |
|
|
333
|
+
| `HTTP_PROXY` / `HTTPS_PROXY` / `NO_PROXY` | 为服务端模型/API 请求设置代理。 |
|
|
334
|
+
| `PI_WEB_NO_OPEN=1` | 禁止 CLI 在服务启动后自动打开浏览器。 |
|
|
335
|
+
|
|
336
|
+
## 目录选择与移动端
|
|
337
|
+
|
|
338
|
+
- 侧栏的“选择文件夹”会打开目录浏览器;逐层进入目录后,点击“选择此文件夹”加载项目。
|
|
339
|
+
- 移动端底部始终保留当前模型名称与发送按钮;思考、工具、压缩和提示音收纳在“更多控件”中。
|
|
340
|
+
- 长项目路径、仓库名和 Worktree 名会省略显示,避免窄屏横向滚动。
|
|
341
|
+
|
|
342
|
+
## 开发与验证
|
|
343
|
+
|
|
344
|
+
```bash
|
|
345
|
+
npm test
|
|
346
|
+
node_modules/.bin/tsc --noEmit
|
|
347
|
+
npm run lint
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
本地开发不要运行 `npm run build`;它会改写 `.next/` 并干扰 `npm run dev`。生产部署或 CI 可运行构建。
|
|
351
|
+
|
|
352
|
+
## 项目结构
|
|
353
|
+
|
|
354
|
+
```text
|
|
355
|
+
app/ Next.js App Router 与 API 路由
|
|
356
|
+
components/ 会话、聊天、目录选择、文件预览和设置界面
|
|
357
|
+
hooks/ 会话、主题、音频、移动端等前端状态
|
|
358
|
+
lib/ Pi SDK、会话读取、文件边界、Worktree 与配置逻辑
|
|
359
|
+
bin/pi-web.js 生产 Web 服务 CLI 入口
|
|
360
|
+
docs/ 部署说明、截图与功能文档
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
## 桌面端与移动端
|
|
364
|
+
|
|
365
|
+
- **桌面端(desktop/)**:Tauri 2 壳(macOS / Windows / Linux)。启动进入连接管理(填写 URL+密码 / 获取本机链接 / 一键启动本机 pi-web),主窗口菜单栏「服务器」来回切换,支持多窗口多服务器。详见 [`desktop/README.md`](./desktop/README.md)。
|
|
366
|
+
- **移动端 mobile2/(Flutter,pi-web-qt)**:唯一移动端客户端,Android / iOS,打包名 **pi-web-qt**。
|
|
367
|
+
|
|
368
|
+
三端连接同一 Pi Web 实例时,会话/模型/MCP/插件/Skills/看板全部天然同步(数据集中在服务端 `~/.pi/agent/`)。版本号统一跟随网页端(`package.json`):打 `v*` tag 触发 [`release-all.yml`](./.github/workflows/release-all.yml) 一次产出 mobile2(pi-web-qt-*)、desktop 三平台全部安装包;本地可用 `node scripts/sync-version.mjs` 同步两端版本号。
|
|
369
|
+
|
|
370
|
+
## 许可证
|
|
371
|
+
|
|
372
|
+
[MIT](./LICENSE)
|