@baique/pi-web-sky 0.1.30 → 0.1.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +6 -6
- package/.next/build-manifest.json +4 -4
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +3 -3
- package/.next/react-loadable-manifest.json +1 -1
- package/.next/required-server-files.js +7 -7
- package/.next/required-server-files.json +7 -7
- package/.next/server/app/_global-error/page.js +2 -2
- 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 +3 -3
- package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/agent/[id]/bash-output/route.js +2 -2
- package/.next/server/app/api/agent/[id]/bash-output/route.js.nft.json +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 +1 -1
- package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/[id]/events/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agent/[id]/route.js +1 -1
- package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agent/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/route.js +1 -1
- package/.next/server/app/api/agent/running/route.js.nft.json +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/all-providers/route.js +1 -1
- package/.next/server/app/api/auth/all-providers/route.js.nft.json +1 -1
- package/.next/server/app/api/auth/all-providers/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/api-key/[provider]/route.js +30 -1
- package/.next/server/app/api/auth/api-key/[provider]/route.js.nft.json +1 -1
- package/.next/server/app/api/auth/api-key/[provider]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/login/[provider]/route.js +31 -2
- package/.next/server/app/api/auth/login/[provider]/route.js.nft.json +1 -1
- 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 +30 -1
- package/.next/server/app/api/auth/logout/[provider]/route.js.nft.json +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.js.nft.json +1 -1
- package/.next/server/app/api/auth/providers/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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/cwd/validate/route.js +2 -2
- 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/default-cwd/route.js +2 -2
- 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/file-index/route.js +2 -2
- 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 +2 -2
- 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 +3 -3
- 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/status/route.js +3 -3
- 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/mcp/route.js +2 -2
- package/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models/route.js +2 -2
- package/.next/server/app/api/models/route.js.nft.json +1 -1
- package/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/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.js.nft.json +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.js.nft.json +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.js.nft.json +1 -1
- package/.next/server/app/api/models-config/test/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/plugins/route.js +2 -2
- 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-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/quota/route.js +1 -1
- package/.next/server/app/api/quota/route.js.nft.json +1 -1
- package/.next/server/app/api/quota/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/search/route.js +2 -2
- package/.next/server/app/api/search/route.js.nft.json +1 -1
- package/.next/server/app/api/search/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.js.nft.json +1 -1
- 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.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/context/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +2 -2
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js.nft.json +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]/export/route.js +3 -3
- package/.next/server/app/api/sessions/[id]/export/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/export/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/state/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/state/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/todos/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/todos/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/route.js +1 -1
- package/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/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 +2 -2
- 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 +2 -2
- package/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/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/tasks/[id]/route.js +1 -1
- package/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/route.js +2 -2
- package/.next/server/app/api/tasks/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 +2 -2
- package/.next/server/app/api/terminal/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/terminal/route.js +2 -2
- package/.next/server/app/api/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/route.js +2 -2
- 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/favicon.ico/route.js +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +5 -5
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +5 -5
- package/.next/server/app/index.segments/_full.segment.rsc +5 -5
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/manifest.webmanifest/route.js +2 -2
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js +7 -7
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +6 -6
- package/.next/server/chunks/1457.js +1 -1
- package/.next/server/chunks/2404.js +30 -0
- package/.next/server/chunks/2430.js +4 -4
- package/.next/server/chunks/3379.js +1 -1
- package/.next/server/chunks/7513.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 +3 -3
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +1 -1
- 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/3266.4c7192f2067645eb.js +1 -0
- package/.next/static/chunks/app/_not-found/{page-8cea8d8de35f4da4.js → page-af4fe23994cb3d66.js} +1 -1
- package/.next/static/chunks/app/{layout-4a6dc9d78a818cb5.js → layout-f85cabff4c2af8dc.js} +1 -1
- package/.next/static/chunks/app/page-e2c8f01336cc4d05.js +89 -0
- package/.next/static/chunks/{main-app-dd2385a1a5a588df.js → main-app-b3e8a8d15d83e1f0.js} +1 -1
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-00a4badaccb388e6.js +1 -0
- package/.next/static/chunks/{webpack-3d4b32814d426e7a.js → webpack-09241b8782696d25.js} +1 -1
- package/.next/static/css/de7b7ffe9688501b.css +1 -0
- package/.next/trace +8 -40
- 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/route.ts +1 -1
- package/.next/types/app/api/app-update/route.ts +1 -1
- package/.next/types/app/api/auth/all-providers/route.ts +1 -1
- package/.next/types/app/api/auth/api-key/[provider]/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/cwd/browse/route.ts +1 -1
- package/.next/types/app/api/cwd/validate/route.ts +1 -1
- package/.next/types/app/api/default-cwd/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/status/route.ts +1 -1
- package/.next/types/app/api/home/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/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/plugins/route.ts +1 -1
- package/.next/types/app/api/project-trust/route.ts +1 -1
- package/.next/types/app/api/quota/route.ts +1 -1
- package/.next/types/app/api/search/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]/entries/[entryId]/thinking/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/export/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/state/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/todos/route.ts +1 -1
- package/.next/types/app/api/sessions/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/tasks/[id]/route.ts +1 -1
- package/.next/types/app/api/tasks/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/worktrees/route.ts +1 -1
- package/.next/types/app/layout.ts +1 -1
- package/.next/types/app/page.ts +1 -1
- package/package.json +1 -1
- package/.next/static/chunks/3266.be4a8006cf72695c.js +0 -1
- package/.next/static/chunks/app/page-2783998ff89bdbe5.js +0 -89
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-be943dcb89867ab9.js +0 -1
- package/.next/static/css/f72c938555d9bdff.css +0 -1
- /package/.next/static/{TTcBG2A8ypXXieSlP70n7 → 0q1SOOo5-fPs13_IN4vdq}/_buildManifest.js +0 -0
- /package/.next/static/{TTcBG2A8ypXXieSlP70n7 → 0q1SOOo5-fPs13_IN4vdq}/_ssgManifest.js +0 -0
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-webpack","duration":
|
|
1
|
+
[{"name":"run-webpack","duration":20703734,"timestamp":13112782485,"id":14,"parentId":1,"tags":{},"startTime":1787986409584,"traceId":"c92056c199860c93"},{"name":"run-typescript","duration":16184401,"timestamp":13133495434,"id":807,"parentId":1,"tags":{},"startTime":1787986432492,"traceId":"c92056c199860c93"},{"name":"static-check","duration":2982815,"timestamp":13149775185,"id":810,"parentId":1,"tags":{},"startTime":1787986448771,"traceId":"c92056c199860c93"},{"name":"static-generation","duration":4969638,"timestamp":13153139883,"id":922,"parentId":1,"tags":{},"startTime":1787986452136,"traceId":"c92056c199860c93"},{"name":"collect-build-traces","duration":48853108,"timestamp":13152761477,"id":919,"parentId":1,"tags":{},"startTime":1787986451758,"traceId":"c92056c199860c93"},{"name":"telemetry-flush","duration":44,"timestamp":13201619322,"id":931,"parentId":1,"tags":{},"startTime":1787986506506,"traceId":"c92056c199860c93"},{"name":"next-build","duration":89025129,"timestamp":13112594244,"id":1,"tags":{"buildMode":"default","version":"16.3.1","bundler":"webpack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1787986409395,"traceId":"c92056c199860c93"}]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/agent/[id]/bash-output/route.ts
|
|
2
2
|
import * as entry from '../../../../../../../app/api/agent/[id]/bash-output/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/agent/[id]/events/route.ts
|
|
2
2
|
import * as entry from '../../../../../../../app/api/agent/[id]/events/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/agent/[id]/route.ts
|
|
2
2
|
import * as entry from '../../../../../../app/api/agent/[id]/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/agent/new/route.ts
|
|
2
2
|
import * as entry from '../../../../../../app/api/agent/new/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/agent/running/route.ts
|
|
2
2
|
import * as entry from '../../../../../../app/api/agent/running/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/app-update/route.ts
|
|
2
2
|
import * as entry from '../../../../../app/api/app-update/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/auth/all-providers/route.ts
|
|
2
2
|
import * as entry from '../../../../../../app/api/auth/all-providers/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/auth/api-key/[provider]/route.ts
|
|
2
2
|
import * as entry from '../../../../../../../app/api/auth/api-key/[provider]/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/auth/login/[provider]/route.ts
|
|
2
2
|
import * as entry from '../../../../../../../app/api/auth/login/[provider]/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/auth/logout/[provider]/route.ts
|
|
2
2
|
import * as entry from '../../../../../../../app/api/auth/logout/[provider]/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/auth/providers/route.ts
|
|
2
2
|
import * as entry from '../../../../../../app/api/auth/providers/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/cwd/browse/route.ts
|
|
2
2
|
import * as entry from '../../../../../../app/api/cwd/browse/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/cwd/validate/route.ts
|
|
2
2
|
import * as entry from '../../../../../../app/api/cwd/validate/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/default-cwd/route.ts
|
|
2
2
|
import * as entry from '../../../../../app/api/default-cwd/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/file-index/route.ts
|
|
2
2
|
import * as entry from '../../../../../app/api/file-index/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/files/[...path]/route.ts
|
|
2
2
|
import * as entry from '../../../../../../app/api/files/[...path]/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/git/status/route.ts
|
|
2
2
|
import * as entry from '../../../../../../app/api/git/status/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/models-config/catalog/route.ts
|
|
2
2
|
import * as entry from '../../../../../../app/api/models-config/catalog/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/models-config/discover/route.ts
|
|
2
2
|
import * as entry from '../../../../../../app/api/models-config/discover/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/models-config/route.ts
|
|
2
2
|
import * as entry from '../../../../../app/api/models-config/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/models-config/test/route.ts
|
|
2
2
|
import * as entry from '../../../../../../app/api/models-config/test/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/project-trust/route.ts
|
|
2
2
|
import * as entry from '../../../../../app/api/project-trust/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/sessions/[id]/auto-name/route.ts
|
|
2
2
|
import * as entry from '../../../../../../../app/api/sessions/[id]/auto-name/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/sessions/[id]/context/route.ts
|
|
2
2
|
import * as entry from '../../../../../../../app/api/sessions/[id]/context/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/sessions/[id]/entries/[entryId]/thinking/route.ts
|
|
2
2
|
import * as entry from '../../../../../../../../../app/api/sessions/[id]/entries/[entryId]/thinking/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/sessions/[id]/export/route.ts
|
|
2
2
|
import * as entry from '../../../../../../../app/api/sessions/[id]/export/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/sessions/[id]/route.ts
|
|
2
2
|
import * as entry from '../../../../../../app/api/sessions/[id]/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/sessions/[id]/state/route.ts
|
|
2
2
|
import * as entry from '../../../../../../../app/api/sessions/[id]/state/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/sessions/[id]/todos/route.ts
|
|
2
2
|
import * as entry from '../../../../../../../app/api/sessions/[id]/todos/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/skills/check/route.ts
|
|
2
2
|
import * as entry from '../../../../../../app/api/skills/check/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/skills/install/route.ts
|
|
2
2
|
import * as entry from '../../../../../../app/api/skills/install/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/skills/search/route.ts
|
|
2
2
|
import * as entry from '../../../../../../app/api/skills/search/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/skills/update/route.ts
|
|
2
2
|
import * as entry from '../../../../../../app/api/skills/update/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/tasks/[id]/route.ts
|
|
2
2
|
import * as entry from '../../../../../../app/api/tasks/[id]/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/terminal/[id]/events/route.ts
|
|
2
2
|
import * as entry from '../../../../../../../app/api/terminal/[id]/events/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/api/terminal/[id]/route.ts
|
|
2
2
|
import * as entry from '../../../../../../app/api/terminal/[id]/route.js'
|
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/layout.tsx
|
|
2
2
|
import * as entry from '../../../app/layout.js'
|
|
3
3
|
import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js'
|
|
4
4
|
|
package/.next/types/app/page.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// File: /
|
|
1
|
+
// File: /home/wa/project/pi-web-sky/app/page.tsx
|
|
2
2
|
import * as entry from '../../../app/page.js'
|
|
3
3
|
import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js'
|
|
4
4
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@baique/pi-web-sky",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.31",
|
|
4
4
|
"description": "Web UI for the pi coding agent — Sky skin edition (fork of @agegr/pi-web / earendil-labs pi-web, MIT)",
|
|
5
5
|
"homepage": "https://github.com/baique/pi-web-sky#readme",
|
|
6
6
|
"repository": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3266],{82407:()=>{},83266:(e,t,r)=>{"use strict";r.r(t),r.d(t,{TerminalPanel:()=>m});var n=r(95155),i=r(12115),l=r(47650),a=r(8422);r(82407);var s=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(0===e.css.cell.width||0===e.css.cell.height)return;let t=0===this._terminal.options.scrollback?0:this._terminal.options.overviewRuler?.width||14,r=window.getComputedStyle(this._terminal.element.parentElement),n=parseInt(r.getPropertyValue("height")),i=Math.max(0,parseInt(r.getPropertyValue("width"))),l=window.getComputedStyle(this._terminal.element),a={top:parseInt(l.getPropertyValue("padding-top")),bottom:parseInt(l.getPropertyValue("padding-bottom")),right:parseInt(l.getPropertyValue("padding-right")),left:parseInt(l.getPropertyValue("padding-left"))},s=a.top+a.bottom;return{cols:Math.max(2,Math.floor((i-(a.right+a.left)-t)/e.css.cell.width)),rows:Math.max(1,Math.floor((n-s)/e.css.cell.height))}}},o=r(39247),c=r(31590);let d={black:"#000000",red:"#cd3131",green:"#0dbc79",yellow:"#e5e510",blue:"#2472c8",magenta:"#bc3fbc",cyan:"#11a8cd",white:"#e5e5e5",brightBlack:"#666666",brightRed:"#f14c4c",brightGreen:"#23d18b",brightYellow:"#f5f543",brightBlue:"#3b8eea",brightMagenta:"#d670d6",brightCyan:"#29b8db",brightWhite:"#ffffff"},u={black:"#000000",red:"#cd3131",green:"#0dbc79",yellow:"#949800",blue:"#0451a5",magenta:"#bc05bc",cyan:"#0598bc",white:"#555555",brightBlack:"#666666",brightRed:"#cd3131",brightGreen:"#14ce14",brightYellow:"#b5ba00",brightBlue:"#0451a5",brightMagenta:"#bc05bc",brightCyan:"#0598bc",brightWhite:"#a5a5a5"};function m({origin:e,anchorRect:t,activeCwd:r,activeProjectLabel:h,hidden:f,onClose:p}){let b,g,w,y=(0,c.a)(),{t:v}=(0,o.s)(),[x,k]=(0,i.useState)([]),[E,T]=(0,i.useState)(null),[j,C]=(0,i.useState)(!1),[S,L]=(0,i.useState)(null),[M,N]=(0,i.useState)(new Set),$=(0,i.useRef)(!0),_=(0,i.useRef)(0),[P,R]=(0,i.useState)(0),B=(0,i.useRef)(new Set),I=(0,i.useRef)(null),V=(0,i.useRef)(null),W=(0,i.useRef)(null),D=(0,i.useRef)(new Map),O=(0,i.useRef)(new Map),z=(0,i.useRef)(null);z.current=E;let A=(0,i.useRef)(f);A.current=f;let F=(0,i.useRef)(new Set),H=(0,i.useMemo)(()=>h?x.filter(e=>e.projectLabel===h):[],[x,h]),J=(0,i.useMemo)(()=>{let e=new Map;for(let t of x){let r=e.get(t.projectLabel)??[];r.push(t),e.set(t.projectLabel,r)}return[...e.entries()]},[x]),K=(0,i.useMemo)(()=>{if(!E||!H.some(e=>e.id===E)){let e=E?x.find(e=>e.id===E):void 0;return e?[e,...H]:H}return H},[H,x,E]),Q=(0,i.useCallback)(async()=>{try{let e=await fetch("/api/terminal"),t=await e.json();if(Array.isArray(t.terminals)){let e=F.current;k(t.terminals.filter(t=>!e.has(t.id))),$.current=!1,_.current+=1,R(e=>e+1)}}catch{}},[]),G=(0,i.useMemo)(()=>()=>{let e=getComputedStyle(document.documentElement),t=(t,r)=>e.getPropertyValue(t).trim()||r,r=document.documentElement.classList.contains("dark");return{background:`rgba(${t("--assistant-bg-rgb",r?"36, 36, 39":"252, 252, 253")}, ${t("--bubble-alpha",r?"0.55":"0.44")})`,foreground:t("--text",r?"#d4d4d4":"#1f2328"),cursor:t("--accent","#3b82f6"),cursorAccent:t("--bg",r?"#1e1e1e":"#ffffff"),selectionBackground:r?"rgba(128, 128, 128, 0.35)":"rgba(0, 0, 0, 0.15)",...r?d:u}},[]);(0,i.useEffect)(()=>{let e=new MutationObserver(()=>{let e=G();for(let[,t]of O.current)t.term&&(t.term.options.theme=e)});return e.observe(document.documentElement,{attributes:!0,attributeFilter:["class","style"]}),()=>e.disconnect()},[G]);let Y=(0,i.useCallback)(e=>{let t=O.current.get(e);if(t?.es)return;if(!t){let r=new a.B({convertEol:!1,fontSize:12.5,fontFamily:getComputedStyle(document.documentElement).getPropertyValue("--font-mono").trim()||"'JetBrains Mono', Consolas, monospace",cursorBlink:!0,scrollback:5e3,theme:G()}),n=new s;r.loadAddon(n),r.onData(r=>{let n=t;n.inputQueue=n.inputQueue.catch(()=>{}).then(async()=>{await fetch(`/api/terminal/${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"input",data:r})})}).catch(()=>{})}),t={term:r,fit:n,es:null,offset:null,reconnectTimer:null,fitTimer:null,inputQueue:Promise.resolve(),disposed:!1},O.current.set(e,t)}let r=null!==t.offset?`?since=${t.offset}`:"",n=new EventSource(`/api/terminal/${e}/events${r}`);t.es=n,n.onopen=()=>{N(t=>{if(!t.has(e))return t;let r=new Set(t);return r.delete(e),r})},n.addEventListener("output",e=>{let{d:r,o:n}=JSON.parse(e.data);t.offset=n,t.term.write(r)}),n.addEventListener("gone",()=>{n.close(),t.es=null,Q()}),n.onerror=()=>{n.close(),t&&!t.disposed&&(t.es=null,t.reconnectTimer&&clearTimeout(t.reconnectTimer),t.reconnectTimer=setTimeout(()=>{fetch(`/api/terminal/${e}`).then(t=>{t.ok?Y(e):Q()}).catch(()=>{N(t=>t.has(e)?t:new Set(t).add(e))})},1500))}},[G,Q]),q=(0,i.useCallback)(e=>{let t=O.current.get(e);t&&fetch(`/api/terminal/${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"resize",cols:t.term.cols,rows:t.term.rows})})},[]),U=(0,i.useCallback)((e,t=0)=>{let r,n=O.current.get(e),i=W.current;if(n&&i&&!A.current&&!n.disposed){try{r=n.fit.proposeDimensions()}catch{}if(r&&r.cols>2&&r.rows>1){n.fitTimer&&(clearTimeout(n.fitTimer),n.fitTimer=null);try{n.fit.fit()}catch{}q(e),n.term.element?.classList.remove("terminal-attaching"),n.term.focus(),requestAnimationFrame(()=>{if(!n.disposed&&!A.current)try{n.fit.fit()}catch{}});return}if(t>=300){n.fitTimer&&(clearTimeout(n.fitTimer),n.fitTimer=null),n.term.element?.classList.remove("terminal-attaching"),console.warn(`[terminal] fit did not settle for ${e} after ~9s; showing as-is`);return}n.fitTimer&&clearTimeout(n.fitTimer),n.fitTimer=setTimeout(()=>U(e,t+1),30)}},[q]);(0,i.useEffect)(()=>{let e=W.current,t=E?D.current.get(E):void 0;if(!e||!t||!E)return;Y(E);let r=O.current.get(E);if(!r||f)return;r.term.element?r.term.element.parentElement!==t&&t.appendChild(r.term.element):r.term.open(t),r.term.element?.classList.add("terminal-attaching"),r.term.focus(),U(E);let n=new ResizeObserver(()=>{A.current||z.current!==E||U(E)});return n.observe(t),()=>{n.disconnect()}},[E,Y,f,U]),(0,i.useEffect)(()=>{V.current=null,I.current=null,$.current=!0,f||Q()},[f,h,Q]),(0,i.useEffect)(()=>{if(f)return;let e=setInterval(()=>void Q(),5e3);return()=>clearInterval(e)},[Q,f]),(0,i.useEffect)(()=>{let e=new Set(x.map(e=>e.id));for(let[t,r]of O.current)e.has(t)||(r.disposed=!0,r.reconnectTimer&&clearTimeout(r.reconnectTimer),r.fitTimer&&clearTimeout(r.fitTimer),r.es?.close(),r.term.dispose(),O.current.delete(t),N(e=>{if(!e.has(t))return e;let r=new Set(e);return r.delete(t),r}),z.current===t&&T(x.find(e=>e.id!==t)?.id??null))},[x]),(0,i.useEffect)(()=>()=>{for(let[,e]of O.current)e.disposed=!0,e.reconnectTimer&&clearTimeout(e.reconnectTimer),e.fitTimer&&clearTimeout(e.fitTimer),e.es?.close(),e.term.dispose();O.current.clear()},[]);let X=(0,i.useCallback)(async()=>{C(!0),L(null),h&&B.current.delete(h);try{let e=await fetch("/api/terminal",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:r||"~"})}),t=await e.json();if(!e.ok||!t.terminal)throw Error(t.error??`HTTP ${e.status}`);await Q(),T(t.terminal.id)}catch(e){L(String(e instanceof Error?e.message:e))}finally{C(!1)}},[r,h,Q]);(0,i.useEffect)(()=>{if(!$.current&&!j){if(!h){!z.current&&x.length>0&&T(x[x.length-1].id);return}if(!f&&V.current!==h){if(V.current=h,H.length>0){z.current&&H.some(e=>e.id===z.current)||T(H[H.length-1].id);return}B.current.has(h)||I.current!==h&&(I.current=h,X())}}},[j,h,H,x,f,P,X]);let Z=(0,i.useCallback)(async(e,t)=>{B.current.add(t),F.current.add(e),k(t=>t.filter(t=>t.id!==e));try{(await fetch(`/api/terminal/${e}`,{method:"DELETE"})).ok||(F.current.delete(e),Q())}catch{F.current.delete(e),Q()}},[Q]),ee=(0,i.useCallback)(async()=>{let e=[...M];if(0!==e.length){for(let t of e)F.current.add(t),fetch(`/api/terminal/${t}`,{method:"DELETE"}).finally(()=>{F.current.delete(t)});N(new Set),k(t=>t.filter(t=>!e.includes(t.id))),Q()}},[M,Q]),et=(0,i.useRef)(null),er=(0,i.useRef)(null);(0,i.useEffect)(()=>{er.current=document.getElementById("terminal-bottombar-btn");let e=e=>{let t=e.target;et.current?.contains(t)||er.current?.contains(t)||document.getElementById("terminal-topbar-btn")?.contains(t)||p()},t=e=>{if("Escape"!==e.key)return;let t=document.activeElement;t?.classList?.contains("xterm-helper-textarea")||p()};return document.addEventListener("pointerdown",e,!0),document.addEventListener("keydown",t,!0),()=>{document.removeEventListener("pointerdown",e,!0),document.removeEventListener("keydown",t,!0)}},[p]),(0,i.useEffect)(()=>{let e=et.current;if(!e)return;let t=e=>{e.target.closest("button, select, input, textarea, a")||(()=>{if(A.current)return;let e=z.current,t=e?O.current.get(e):void 0;t?.term.focus()})()},r=e=>{if(A.current||!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey||1!==e.key.length)return;let t=e.key.toLowerCase().charCodeAt(0);if(t<97||t>122)return;let r=document.activeElement;if(r?.classList?.contains("xterm-helper-textarea")||r instanceof HTMLElement&&r.closest("input, textarea, [contenteditable='true']"))return;let n=z.current,i=n?O.current.get(n):void 0;i&&(e.preventDefault(),e.stopPropagation(),i.term.input(String.fromCharCode(t-96)))};return e.addEventListener("click",t,!0),document.addEventListener("keydown",r,!0),()=>{e.removeEventListener("click",t,!0),document.removeEventListener("keydown",r,!0)}},[]);let en=y?{position:"fixed",inset:10,zIndex:1050}:"top"===e?(g=Math.min(780,(b=document.documentElement.clientWidth||window.innerWidth)-48),w=t?Math.max(24,Math.min(t.left,b-g-24)):b-g-24,{position:"fixed",top:t?.bottom??t?.top??46,left:w,width:g,height:465,zIndex:1040}):{position:"fixed",right:t?Math.max(24,window.innerWidth-t.right):24,bottom:t?window.innerHeight-t.top:35,width:Math.min(780,window.innerWidth-48),height:Math.min(465,window.innerHeight-120),zIndex:1040},ei=(0,n.jsxs)("div",{ref:et,className:`terminal-panel terminal-panel-${e}${y?" terminal-panel-mobile":""}${f?" terminal-panel-hidden":""}`,style:{...en,background:"var(--panel-glass)",backdropFilter:"blur(var(--glass-blur-panel)) saturate(var(--glass-saturate))",WebkitBackdropFilter:"blur(var(--glass-blur-panel)) saturate(var(--glass-saturate))"},role:"region","aria-label":v("terminal.title"),children:[(0,n.jsxs)("div",{className:"terminal-tabs",children:[(0,n.jsx)("div",{className:"terminal-tab-scroll",children:K.map(e=>(0,n.jsxs)("div",{className:`terminal-chip${e.id===E?" is-active":""}${!e.running?" is-dead":""}${M.has(e.id)?" is-disconnected":""}`,onClick:()=>T(e.id),role:"tab","aria-selected":e.id===E,title:`${e.projectLabel} — ${e.cwd}`,children:[(0,n.jsx)("span",{className:`terminal-dot${!e.running?" is-dead":M.has(e.id)?" is-disconnected":""}`}),(0,n.jsx)("span",{className:"terminal-chip-cwd",title:e.cwd,children:e.name||e.cwd.split(/[\\/]/).filter(Boolean).pop()||e.cwd}),(0,n.jsx)("button",{type:"button",className:"terminal-chip-close",title:v("terminal.close"),"aria-label":v("terminal.close"),onClick:t=>{t.stopPropagation(),Z(e.id,e.projectLabel)},children:"\xd7"})]},e.id))}),(0,n.jsx)("button",{type:"button",className:"terminal-new",onClick:()=>void X(),disabled:j,title:v("terminal.new"),"aria-label":v("terminal.new"),children:(0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:[(0,n.jsx)("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),(0,n.jsx)("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}),M.size>0&&(0,n.jsx)("button",{type:"button",className:"terminal-cleanup",onClick:()=>void ee(),title:v("terminal.cleanupDisconnected"),"aria-label":v("terminal.cleanupDisconnected"),children:(0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("path",{d:"M3 6h18"}),(0,n.jsx)("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"}),(0,n.jsx)("path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})]})}),!y&&(0,n.jsx)("button",{type:"button",className:"terminal-close",onClick:p,title:v("common.close"),"aria-label":v("common.close"),children:(0,n.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:[(0,n.jsx)("line",{x1:"5",y1:"5",x2:"19",y2:"19"}),(0,n.jsx)("line",{x1:"19",y1:"5",x2:"5",y2:"19"})]})}),(0,n.jsxs)("select",{className:"terminal-all-select",value:E??"",onChange:e=>{let t=e.target.value;t&&T(t)},title:v("terminal.all"),"aria-label":v("terminal.all"),children:[(0,n.jsx)("option",{value:"",disabled:!0,children:v("terminal.all")}),J.map(([e,t])=>(0,n.jsx)("optgroup",{label:e,children:t.map(e=>(0,n.jsxs)("option",{value:e.id,title:`${e.projectLabel} — ${e.cwd}`,children:[e.name||e.cwd.split(/[\\/]/).filter(Boolean).pop()||e.cwd,e.running?"":` \xb7 ${v("terminal.exited")}`]},e.id))},e))]})]}),S&&(0,n.jsx)("div",{className:"terminal-error",children:S}),(0,n.jsxs)("div",{className:"terminal-body",ref:W,children:[x.map(e=>(0,n.jsx)("div",{ref:t=>{t?D.current.set(e.id,t):D.current.delete(e.id)},"data-terminal-view":e.id,style:{display:e.id===E?"block":"none",height:"100%"}},e.id)),!E&&(0,n.jsx)("div",{className:"terminal-placeholder",children:(0,n.jsx)("button",{type:"button",onClick:()=>void X(),disabled:j,children:j?"…":v("terminal.createFirst")})})]})]});return(0,l.createPortal)(ei,document.body)}}}]);
|