pi-yun 0.2.3 → 0.2.5
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 +14 -13
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +4 -4
- package/.next/required-server-files.js +1 -1
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +6 -0
- 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 +6 -6
- package/.next/server/app/_not-found.segments/_full.segment.rsc +6 -6
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +4 -4
- package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
- package/.next/server/app/api/agent/[id]/events/route.js +1 -3
- package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/[id]/lease/route.js +1 -1
- package/.next/server/app/api/agent/[id]/lease/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/[id]/route.js +1 -1
- package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/debug/route.js +1 -0
- package/.next/server/app/api/agent/debug/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/debug/route_client-reference-manifest.js +1 -0
- 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/running/route.js +1 -1
- package/.next/server/app/api/agent/running/route.js.nft.json +1 -1
- package/.next/server/app/api/app-update/route.js +1 -1
- package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
- package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/providers/route.js +1 -1
- package/.next/server/app/api/cache-miss-notices/route.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 +2 -2
- package/.next/server/app/api/cwd/validate/route.js +1 -1
- package/.next/server/app/api/cwd/validate/route.js.nft.json +2 -2
- package/.next/server/app/api/default-cwd/route.js +1 -1
- package/.next/server/app/api/file-index/route.js +1 -1
- package/.next/server/app/api/files/[...path]/route.js +3 -3
- package/.next/server/app/api/git/diff/route.js +1 -1
- package/.next/server/app/api/git/status/route.js +1 -1
- package/.next/server/app/api/home/route.js +1 -1
- package/.next/server/app/api/mcp/route.js +2 -2
- package/.next/server/app/api/mcp/sign-in/[flowId]/route.js +1 -1
- package/.next/server/app/api/mcp/sign-in/route.js +1 -1
- package/.next/server/app/api/mcp/test/route.js +1 -1
- package/.next/server/app/api/models/default/route.js +1 -1
- package/.next/server/app/api/models/default/route.js.nft.json +2 -2
- package/.next/server/app/api/models/enabled/route.js +1 -1
- package/.next/server/app/api/models/enabled/route.js.nft.json +2 -2
- package/.next/server/app/api/models/refresh/route.js +1 -1
- package/.next/server/app/api/models/route.js +1 -1
- package/.next/server/app/api/models-config/catalog/route.js +1 -1
- package/.next/server/app/api/models-config/discover/route.js +1 -1
- package/.next/server/app/api/models-config/route.js +1 -1
- package/.next/server/app/api/models-config/test/route.js +1 -1
- package/.next/server/app/api/open-in-explorer/route.js +1 -1
- package/.next/server/app/api/plugins/check/route.js +1 -1
- package/.next/server/app/api/plugins/route.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/provider-usage/query/route.js +1 -1
- package/.next/server/app/api/push/config/route.js +1 -1
- package/.next/server/app/api/push/subscribe/route.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]/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]/entries/[entryId]/thinking/route.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]/export/route.js +2 -2
- package/.next/server/app/api/sessions/[id]/fork/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/fork/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[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/delete/route.js +1 -1
- package/.next/server/app/api/sessions/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/route.js +1 -1
- package/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/search/route.js +1 -1
- package/.next/server/app/api/sessions/stats/route.js +1 -1
- package/.next/server/app/api/sessions/stats/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/ui-state/route.js +1 -1
- package/.next/server/app/api/skills/check/route.js +1 -1
- package/.next/server/app/api/skills/content/route.js +1 -1
- package/.next/server/app/api/skills/install/route.js +1 -1
- package/.next/server/app/api/skills/route.js +1 -1
- package/.next/server/app/api/skills/search/route.js +1 -1
- package/.next/server/app/api/skills/update/route.js +1 -1
- package/.next/server/app/api/subagents/[id]/route.js +1 -1
- package/.next/server/app/api/subagents/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/subagents/profiles/route.js +1 -1
- package/.next/server/app/api/subagents/settings/route.js +1 -1
- package/.next/server/app/api/terminal/[id]/events/route.js +3 -3
- package/.next/server/app/api/terminal/[id]/events/route.js.nft.json +1 -1
- package/.next/server/app/api/terminal/[id]/route.js +1 -1
- package/.next/server/app/api/terminal/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/terminal/route.js +1 -1
- package/.next/server/app/api/tools/settings/route.js +1 -1
- package/.next/server/app/api/web-auth/route.js +1 -1
- package/.next/server/app/api/worktrees/route.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 +9 -9
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/index.segments/_full.segment.rsc +9 -9
- package/.next/server/app/index.segments/_tree.segment.rsc +5 -5
- package/.next/server/app/login/page.js +3 -3
- package/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +1 -1
- package/.next/server/app/login.rsc +7 -7
- package/.next/server/app/login.segments/_full.segment.rsc +7 -7
- package/.next/server/app/login.segments/_tree.segment.rsc +4 -4
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +11 -10
- package/.next/server/app/manifest.webmanifest/route.js +1 -17
- package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/.next/server/app/page.js +923 -59
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/pet-preview/page.js +1 -1
- package/.next/server/app/pet-preview/page.js.nft.json +1 -1
- package/.next/server/app/pet-preview/page_client-reference-manifest.js +1 -1
- package/.next/server/app/pet-preview.html +1 -1
- package/.next/server/app/pet-preview.rsc +7 -7
- package/.next/server/app/pet-preview.segments/_full.segment.rsc +7 -7
- package/.next/server/app/pet-preview.segments/_tree.segment.rsc +4 -4
- package/.next/server/app/pet-preview.segments/pet-preview/__PAGE__.segment.rsc +6 -6
- package/.next/server/app-paths-manifest.json +14 -13
- package/.next/server/chunks/1207.js +1 -1
- package/.next/server/chunks/1906.js +1 -1
- package/.next/server/chunks/2243.js +1 -1
- package/.next/server/chunks/2498.js +1 -1
- package/.next/server/chunks/27.js +1 -1
- package/.next/server/chunks/3371.js +1 -0
- package/.next/server/chunks/3374.js +2 -2
- package/.next/server/chunks/3757.js +1 -1
- package/.next/server/chunks/3824.js +1 -1
- package/.next/server/chunks/4698.js +1 -1
- package/.next/server/chunks/5138.js +1 -0
- package/.next/server/chunks/5582.js +3 -3
- package/.next/server/chunks/6429.js +11 -9
- package/.next/server/chunks/7365.js +1 -1
- package/.next/server/chunks/8177.js +1 -0
- package/.next/server/chunks/8781.js +3 -0
- package/.next/server/functions-config-manifest.json +1 -0
- package/.next/server/instrumentation.js +1 -1
- package/.next/server/instrumentation.js.nft.json +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/static/EemFyRH2znEKEODTd_e9W/_buildManifest.js +1 -0
- package/.next/static/chunks/1278-d14efc5351094e2a.js +1 -0
- package/.next/static/chunks/{9932-60e21347ba9f8664.js → 4908-bc77348603c9c216.js} +2 -2
- package/.next/static/chunks/app/_global-error/{page-cbe4231fb889bdce.js → page-aea014bebc656830.js} +1 -1
- package/.next/static/chunks/app/api/agent/[id]/bash-output/{route-cbe4231fb889bdce.js → route-aea014bebc656830.js} +1 -1
- package/.next/static/chunks/app/api/agent/[id]/events/{route-cbe4231fb889bdce.js → route-aea014bebc656830.js} +1 -1
- package/.next/static/chunks/app/api/agent/[id]/lease/{route-cbe4231fb889bdce.js → route-aea014bebc656830.js} +1 -1
- package/.next/static/chunks/app/api/agent/[id]/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/agent/debug/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/agent/new/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/agent/running/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/app-update/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/auth/login/[provider]/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/auth/providers/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/cache-miss-notices/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/cwd/browse/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/cwd/validate/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/default-cwd/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/file-index/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/files/[...path]/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/git/diff/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/git/status/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/home/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/mcp/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/mcp/sign-in/[flowId]/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/mcp/sign-in/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/mcp/test/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/models/default/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/models/enabled/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/models/refresh/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/models/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/models-config/catalog/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/models-config/discover/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/models-config/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/models-config/test/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/open-in-explorer/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/plugins/check/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/plugins/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/project-trust/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/provider-usage/query/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/push/config/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/push/subscribe/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/context/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/export/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/fork/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/state/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/sessions/delete/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/sessions/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/sessions/search/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/sessions/stats/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/sessions/ui-state/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/skills/check/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/skills/content/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/skills/install/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/skills/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/skills/search/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/skills/update/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/subagents/[id]/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/subagents/profiles/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/subagents/settings/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/terminal/[id]/events/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/terminal/[id]/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/terminal/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/tools/settings/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/web-auth/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/layout-887864247723a15f.js +1 -0
- package/.next/static/chunks/app/manifest.webmanifest/route-aea014bebc656830.js +1 -0
- package/.next/static/chunks/app/page-5fe4e4e656618c55.js +1093 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-aea014bebc656830.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-aea014bebc656830.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-aea014bebc656830.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-aea014bebc656830.js +1 -0
- package/.next/static/chunks/{webpack-03add08f717df51e.js → webpack-98cb88af9c517ce2.js} +1 -1
- package/.next/static/css/08eddaaa4f97d65e.css +1 -0
- package/.next/static/css/2f63bdc85a747c1b.css +1 -0
- package/.next/static/css/{edd81c2e355e9677.css → 3540eb37e32475c8.css} +1 -1
- package/.next/static/css/948bdf99ac6477ce.css +1 -0
- package/.next/trace +14 -85
- package/.next/trace-build +1 -1
- package/.next/types/app/api/agent/debug/route.ts +353 -0
- package/.next/types/app/manifest.webmanifest/route.ts +353 -0
- package/.next/types/routes.d.ts +3 -1
- package/.next/types/validator.ts +18 -0
- package/README.md +6 -1
- package/bin/browser-opener.js +44 -1
- package/bin/network-addresses.js +62 -0
- package/bin/pi-web.js +10 -2
- package/package.json +13 -11
- package/.next/server/chunks/5787.js +0 -1
- package/.next/server/chunks/7492.js +0 -1
- package/.next/static/chunks/1278-93326582f35e0b95.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/agent/new/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/agent/running/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/app-update/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/auth/login/[provider]/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/auth/providers/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/cache-miss-notices/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/cwd/browse/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/cwd/validate/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/default-cwd/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/file-index/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/files/[...path]/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/git/diff/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/git/status/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/home/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/mcp/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/mcp/sign-in/[flowId]/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/mcp/sign-in/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/mcp/test/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/models/default/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/models/enabled/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/models/refresh/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/models/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/models-config/catalog/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/models-config/discover/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/models-config/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/models-config/test/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/open-in-explorer/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/plugins/check/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/plugins/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/project-trust/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/provider-usage/query/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/push/config/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/push/subscribe/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/context/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/export/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/fork/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/state/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/sessions/delete/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/sessions/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/sessions/search/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/sessions/stats/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/sessions/ui-state/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/skills/check/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/skills/content/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/skills/install/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/skills/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/skills/search/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/skills/update/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/subagents/[id]/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/subagents/profiles/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/subagents/settings/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/terminal/[id]/events/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/terminal/[id]/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/terminal/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/tools/settings/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/web-auth/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/api/worktrees/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/layout-b1ce6552c10e045b.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/app/page-3d87202e7f491be4.js +0 -229
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-cbe4231fb889bdce.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-cbe4231fb889bdce.js +0 -1
- package/.next/static/css/0ba51581376fe049.css +0 -1
- package/.next/static/css/d986dbac15b9ebaa.css +0 -1
- package/.next/static/css/e678fb57b00f0bb2.css +0 -1
- package/.next/static/pmfOa9kKCLb5t2FbVpaNk/_buildManifest.js +0 -1
- /package/.next/static/{pmfOa9kKCLb5t2FbVpaNk → EemFyRH2znEKEODTd_e9W}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=2614,a.ids=[2614],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},10879:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$q:()=>x,Vy:()=>v,bA:()=>y,ej:()=>u,yh:()=>C});var e=c(73024),f=c(76760),g=c(75430),h=c(80974),i=c.n(h),j=c(8102),k=c(63108),l=c(37431),m=c(12069),n=a([g]);g=(n.then?(await n)():n)[0];let z=new Set(["version","revision","sessions","projects","removedProjects","projectOrder","projectNames","__proto__"]),A=Symbol.for("pi-web:session-ui-state-write-queue"),B={realpath:!1,stale:1e4,retries:{retries:10,factor:2,minTimeout:25,maxTimeout:500},onCompromised:a=>{console.warn(`[pi-web] the session UI state lock was compromised: ${a.message}`)}};class C extends Error{constructor(a="Another process holds the session UI state lock"){super(a),this.name="SessionUiStateLockedError"}}function o(){return globalThis.__piWebSessionUiStateCache??={reads:new Map,revisions:new Map}}function p(a,b){let c=o().revisions;b>(c.get(a)??-1)&&c.set(a,b)}function q(a){return structuredClone(a)}function r(a=(0,g.getAgentDir)()){return(0,f.join)(a,"pi-web-session-state.json")}function s(a){let b;try{b=JSON.parse(a)}catch{return{ok:!1}}let c=(0,m.Jx)(b);return c?{ok:!0,state:c,raw:b}:{ok:!1}}function t(a){let b,c;try{b=(0,e.statSync)(a)}catch(c){let b=c?.code;if("ENOENT"===b||"ENOTDIR"===b)return o().reads.delete(a),(0,m.ly)();throw c}let d=o().reads.get(a);if(d&&d.mtimeMs===b.mtimeMs&&d.size===b.size&&d.ino===b.ino)return d.state;let f=(0,l.y)(a,4194304);if(void 0===f)return o().reads.delete(a),(0,m.ly)();let g=s(f);return g.ok?(c=g.state,p(a,c.revision)):(console.warn(`[pi-web] ${a} is not valid session UI state; reading it as empty until the next change sets it aside`),c=(0,m.ly)()),o().reads.set(a,{mtimeMs:b.mtimeMs,size:b.size,ino:b.ino,state:c}),c}function u(a){try{return q(t(a??r()))}catch(a){return console.warn(`[pi-web] could not read the session UI state: ${a instanceof Error?a.message:String(a)}`),(0,m.ly)()}}function v(a){try{return t(a??r()).revision}catch{return null}}function w(a,b){return(0,k.T)(A,a,async()=>{let c;(0,e.mkdirSync)((0,f.dirname)(a),{recursive:!0});try{c=await i().lock(a,B)}catch(a){if("ELOCKED"===a?.code)throw new C;throw a}try{let c,d=o().revisions.get(a)??0,f=(0,l.y)(a,4194304),g={},h=!1;if(void 0===f)c={...(0,m.ly)(),revision:d};else{let b=s(f);if(b.ok)for(let[a,d]of(c=b.state,Object.entries(b.raw)))z.has(a)||(g[a]=d);else{let b=`${a}.corrupt-${Date.now()}`;try{(0,e.renameSync)(a,b),console.warn(`[pi-web] ${a} could not be parsed; moved it to ${b} and started from an empty session UI state`)}catch(b){console.warn(`[pi-web] ${a} could not be parsed and could not be moved aside (${b instanceof Error?b.message:String(b)}); starting from an empty session UI state`)}c={...(0,m.ly)(),revision:d+1},h=!0}}let i=b(c);if(!i.changed&&!h)return q(c);let k={...i.state,version:m.fS,revision:c.revision+ +!!i.changed},n={version:k.version,revision:k.revision,sessions:k.sessions,projects:k.projects,...k.removedProjects&&Object.keys(k.removedProjects).length>0?{removedProjects:k.removedProjects}:{},...k.projectOrder?.length?{projectOrder:k.projectOrder}:{},...k.projectNames&&Object.keys(k.projectNames).length>0?{projectNames:k.projectNames}:{},...g};(0,j.$)(a,JSON.stringify(n,null,2)+"\n"),p(a,k.revision);try{let b=(0,e.statSync)(a);o().reads.set(a,{mtimeMs:b.mtimeMs,size:b.size,ino:b.ino,state:q(k)})}catch{o().reads.delete(a)}return q(k)}finally{try{await c()}catch{}}})}function x(a,b){let c;try{c=b??r()}catch(a){return Promise.reject(a)}return w(c,b=>(0,m.D7)(b,a,Date.now()))}async function y(a,b){let c=b??r(),d=[...new Set(a)];if(0===d.length)return;let e=a=>d.some(b=>Object.prototype.hasOwnProperty.call(a.sessions,b));e(t(c))&&await w(c,a=>{if(!e(a))return{state:a,changed:!1};let b={...a.sessions};for(let a of d)delete b[a];return{state:{...a,sessions:b},changed:!0}})}d()}catch(a){d(a)}})},12412:a=>{a.exports=require("assert")},14566:a=>{a.exports=require("node-pty")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},22664:a=>{a.exports={}},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},47709:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>k,dynamic:()=>l,runtime:()=>m});var e=c(79748),f=c(33873),g=c(23211),h=c(80547),i=c(73968),j=a([h]);h=(j.then?(await j)():j)[0];let l="force-dynamic",m="nodejs";async function k(a){try{let b=await a.json();if(void 0!==b.id&&("string"!=typeof b.id||!/^[a-f0-9]{32}$/.test(b.id)))return g.NextResponse.json({error:"Invalid terminal id"},{status:400});if("string"!=typeof b.cwd||!b.cwd.trim())return g.NextResponse.json({error:"cwd required"},{status:400});let c=(0,f.resolve)(b.cwd);if(!(await (0,e.stat)(c)).isDirectory())return g.NextResponse.json({error:"cwd must be a directory"},{status:400});let d=await (0,h.mc)();if(!(0,h.B7)(c,d))return g.NextResponse.json({error:"Access denied"},{status:403});let j=(0,i.PB)(c,"number"==typeof b.cols?b.cols:80,"number"==typeof b.rows?b.rows:24,b.id);return g.NextResponse.json({id:j})}catch(a){return g.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:500})}}d()}catch(a){d(a)}})},51455:a=>{a.exports=require("node:fs/promises")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73968:(a,b,c)=>{c.d(b,{BJ:()=>p,BY:()=>s,Bb:()=>o,Nu:()=>r,OA:()=>q,PB:()=>m,hr:()=>n});var d=c(55511),e=c(29021),f=c(21820),g=c(33873),h=c(58864);function i(){if(!globalThis.__piWebTerminals){globalThis.__piWebTerminals=new Map;let a=()=>{for(let a of globalThis.__piWebTerminals.keys())s(a,!0)};process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__piWebTerminals}function j(a,b){for(let c of a.listeners)c(b)}function k(a,b){b.cleanupTimer||b.listeners.size||i().get(a)!==b||(b.cleanupTimer=setTimeout(()=>s(a),12e4),b.cleanupTimer.unref?.())}function l(a,b){return Math.min(1e3,Math.max(2,Number.isFinite(a)?Math.floor(a):b))}function m(a,b,n,o=(0,d.randomUUID)()){let p,q=i().get(o);if(q){if(!(0,h.Eb)(q.cwd,a))throw Error("Terminal belongs to a different workspace");return o}try{if("darwin"===process.platform)try{let a=(0,g.dirname)(22664);for(let b of["build/Release","build/Debug",`prebuilds/darwin-${process.arch}`]){let c=(0,g.join)(a,b,"spawn-helper"),d=(0,e.statSync)(c,{throwIfNoEntry:!1});d?.isFile()&&(73&d.mode)!=73&&(0,e.chmodSync)(c,73|d.mode)}}catch{}({spawn:p}=c(14566))}catch(a){throw Error(`Cannot load the node-pty native terminal module for ${process.platform}-${process.arch}. The binary may be missing or incompatible. In the pi-web installation directory (the npx cache directory when using npx), run: npm rebuild node-pty --build-from-source --ignore-scripts=false --foreground-scripts. On Debian/Ubuntu, install build tools first: sudo apt-get install -y python3 build-essential. Then restart pi-web. Original error: ${a instanceof Error?a.message:String(a)}`,{cause:a})}let r=p("win32"===process.platform?process.env.ComSpec??"cmd.exe":process.env.SHELL||"/bin/sh","win32"===process.platform?[]:["-l"],{name:"xterm-256color",cols:l(b,80),rows:l(n,24),cwd:a||(0,f.homedir)(),env:function(){let a={};for(let[b,c]of Object.entries(process.env)){let d="win32"===process.platform?b.toUpperCase():b;void 0!==c&&"PI_WEB_PASSWORD"!==d&&(a[b]=c)}return a.TERM="xterm-256color",a.COLORTERM="truecolor",process.env.LANG||process.env.LC_ALL||process.env.LC_CTYPE||(a.LANG="C.UTF-8"),a}()}),s={pty:r,cwd:a,listeners:new Set,backlog:"",offset:0,exited:!1,exitCode:null,cleanupTimer:null};return i().set(o,s),k(o,s),r.onData(a=>{s.backlog=(s.backlog+a).slice(-131072),s.offset+=a.length,j(s,{type:"output",data:a,offset:s.offset})}),r.onExit(({exitCode:a})=>{s.cleanupTimer&&clearTimeout(s.cleanupTimer),s.cleanupTimer=null,s.exited=!0,s.exitCode=a,j(s,{type:"exit",exitCode:a}),k(o,s)}),o}function n(a){return i().has(a)}function o(a){return i().get(a)?.cwd}function p(a,b,c){let d=i().get(a);if(!d)return null;d.listeners.add(b),d.cleanupTimer&&clearTimeout(d.cleanupTimer),d.cleanupTimer=null;let e=d.offset-d.backlog.length,f=void 0===c||c<e||c>d.offset;return{output:{type:"output",data:f?d.backlog:d.backlog.slice(c-e),offset:d.offset,reset:f},exited:d.exited,exitCode:d.exitCode,unsubscribe:()=>{d.listeners.delete(b),k(a,d)}}}function q(a,b){let c=i().get(a);return!!c&&!c.exited&&(c.pty.write(b),!0)}function r(a,b,c){let d=i().get(a);return!!d&&!d.exited&&(d.pty.resize(l(b,80),l(c,24)),!0)}function s(a,b=!1){let c=i().get(a);return!!c&&(c.cleanupTimer&&clearTimeout(c.cleanupTimer),i().delete(a),!c.exited&&(c.pty.kill(b?"SIGKILL":void 0),b||(c.cleanupTimer=setTimeout(()=>{c.exited||c.pty.kill("SIGKILL")},2e3),c.cleanupTimer.unref?.())),j(c,{type:"closed"}),c.listeners.clear(),!0)}},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},80547:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A$:()=>m,B7:()=>n,mc:()=>l,uK:()=>j.uK,wz:()=>e.wz});var e=c(25252),f=c(82536),g=c(40402),h=c(10879),i=c(12069),j=c(58864),k=a([g,h]);async function l(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let c=await (0,g.dQ)(),d=new Set;for(let a of c)a.cwd&&d.add((0,e.Nw)(a.cwd)),a.projectRoot&&d.add((0,e.Nw)(a.projectRoot));for(let a of(0,e.HM)())d.add(a);let f=(0,h.ej)();for(let[a,b]of Object.entries(f.projects))(0,i.KV)(f,a)||d.add((0,e.Nw)(b.root));return globalThis.__piAllowedRootsCache={roots:d,expiresAt:a+5e3},d}function m(a,b){return(0,f.o4)(a,b)}function n(a,b){return(0,f.xk)(a,b)}[g,h]=k.then?(await k)():k,d()}catch(a){d(a)}})},81115:a=>{a.exports=require("constants")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},90131:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/terminal/route",pathname:"/api/terminal",filename:"route",bundlePath:"app/api/terminal/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"D:\\yun\\pi-web-yun\\app\\api\\terminal\\route.ts",nextConfigOutput:"",userland:()=>c(47709),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/terminal/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},94735:a=>{a.exports=require("events")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,426,974,5582,5e3],()=>b(b.s=90131));module.exports=c})();
|
|
1
|
+
"use strict";(()=>{var a={};a.id=2614,a.ids=[2614],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},8464:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/terminal/route",pathname:"/api/terminal",filename:"route",bundlePath:"app/api/terminal/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"D:\\yun\\pi-web-yun\\app\\api\\terminal\\route.ts",nextConfigOutput:"",userland:()=>c(47709),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/terminal/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},10879:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$q:()=>x,Vy:()=>v,bA:()=>y,ej:()=>u,yh:()=>C});var e=c(73024),f=c(76760),g=c(75430),h=c(80974),i=c.n(h),j=c(8102),k=c(63108),l=c(37431),m=c(12069),n=a([g]);g=(n.then?(await n)():n)[0];let z=new Set(["version","revision","sessions","projects","removedProjects","projectOrder","projectNames","__proto__"]),A=Symbol.for("pi-web:session-ui-state-write-queue"),B={realpath:!1,stale:1e4,retries:{retries:10,factor:2,minTimeout:25,maxTimeout:500},onCompromised:a=>{console.warn(`[pi-web] the session UI state lock was compromised: ${a.message}`)}};class C extends Error{constructor(a="Another process holds the session UI state lock"){super(a),this.name="SessionUiStateLockedError"}}function o(){return globalThis.__piWebSessionUiStateCache??={reads:new Map,revisions:new Map}}function p(a,b){let c=o().revisions;b>(c.get(a)??-1)&&c.set(a,b)}function q(a){return structuredClone(a)}function r(a=(0,g.getAgentDir)()){return(0,f.join)(a,"pi-web-session-state.json")}function s(a){let b;try{b=JSON.parse(a)}catch{return{ok:!1}}let c=(0,m.Jx)(b);return c?{ok:!0,state:c,raw:b}:{ok:!1}}function t(a){let b,c;try{b=(0,e.statSync)(a)}catch(c){let b=c?.code;if("ENOENT"===b||"ENOTDIR"===b)return o().reads.delete(a),(0,m.ly)();throw c}let d=o().reads.get(a);if(d&&d.mtimeMs===b.mtimeMs&&d.size===b.size&&d.ino===b.ino)return d.state;let f=(0,l.y)(a,4194304);if(void 0===f)return o().reads.delete(a),(0,m.ly)();let g=s(f);return g.ok?(c=g.state,p(a,c.revision)):(console.warn(`[pi-web] ${a} is not valid session UI state; reading it as empty until the next change sets it aside`),c=(0,m.ly)()),o().reads.set(a,{mtimeMs:b.mtimeMs,size:b.size,ino:b.ino,state:c}),c}function u(a){try{return q(t(a??r()))}catch(a){return console.warn(`[pi-web] could not read the session UI state: ${a instanceof Error?a.message:String(a)}`),(0,m.ly)()}}function v(a){try{return t(a??r()).revision}catch{return null}}function w(a,b){return(0,k.T)(A,a,async()=>{let c;(0,e.mkdirSync)((0,f.dirname)(a),{recursive:!0});try{c=await i().lock(a,B)}catch(a){if("ELOCKED"===a?.code)throw new C;throw a}try{let c,d=o().revisions.get(a)??0,f=(0,l.y)(a,4194304),g={},h=!1;if(void 0===f)c={...(0,m.ly)(),revision:d};else{let b=s(f);if(b.ok)for(let[a,d]of(c=b.state,Object.entries(b.raw)))z.has(a)||(g[a]=d);else{let b=`${a}.corrupt-${Date.now()}`;try{(0,e.renameSync)(a,b),console.warn(`[pi-web] ${a} could not be parsed; moved it to ${b} and started from an empty session UI state`)}catch(b){console.warn(`[pi-web] ${a} could not be parsed and could not be moved aside (${b instanceof Error?b.message:String(b)}); starting from an empty session UI state`)}c={...(0,m.ly)(),revision:d+1},h=!0}}let i=b(c);if(!i.changed&&!h)return q(c);let k={...i.state,version:m.fS,revision:c.revision+ +!!i.changed},n={version:k.version,revision:k.revision,sessions:k.sessions,projects:k.projects,...k.removedProjects&&Object.keys(k.removedProjects).length>0?{removedProjects:k.removedProjects}:{},...k.projectOrder?.length?{projectOrder:k.projectOrder}:{},...k.projectNames&&Object.keys(k.projectNames).length>0?{projectNames:k.projectNames}:{},...g};(0,j.$)(a,JSON.stringify(n,null,2)+"\n"),p(a,k.revision);try{let b=(0,e.statSync)(a);o().reads.set(a,{mtimeMs:b.mtimeMs,size:b.size,ino:b.ino,state:q(k)})}catch{o().reads.delete(a)}return q(k)}finally{try{await c()}catch{}}})}function x(a,b){let c;try{c=b??r()}catch(a){return Promise.reject(a)}return w(c,b=>(0,m.D7)(b,a,Date.now()))}async function y(a,b){let c=b??r(),d=[...new Set(a)];if(0===d.length)return;let e=a=>d.some(b=>Object.prototype.hasOwnProperty.call(a.sessions,b));e(t(c))&&await w(c,a=>{if(!e(a))return{state:a,changed:!1};let b={...a.sessions};for(let a of d)delete b[a];return{state:{...a,sessions:b},changed:!0}})}d()}catch(a){d(a)}})},12412:a=>{a.exports=require("assert")},14566:a=>{a.exports=require("node-pty")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{a.exports=require("os")},22664:a=>{a.exports={}},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},28802:a=>{a.exports=import("@earendil-works/pi-ai")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},47709:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>k,dynamic:()=>l,runtime:()=>m});var e=c(79748),f=c(33873),g=c(23211),h=c(80547),i=c(73968),j=a([h,i]);[h,i]=j.then?(await j)():j;let l="force-dynamic",m="nodejs";async function k(a){try{let b=await a.json();if(void 0!==b.id&&("string"!=typeof b.id||!/^[a-f0-9]{32}$/.test(b.id)))return g.NextResponse.json({error:"Invalid terminal id"},{status:400});if("string"!=typeof b.cwd||!b.cwd.trim())return g.NextResponse.json({error:"cwd required"},{status:400});let c=(0,f.resolve)(b.cwd);if(!(await (0,e.stat)(c)).isDirectory())return g.NextResponse.json({error:"cwd must be a directory"},{status:400});let d=await (0,h.mc)();if(!(0,h.B7)(c,d))return g.NextResponse.json({error:"Access denied"},{status:403});let j=(0,i.PB)(c,"number"==typeof b.cols?b.cols:80,"number"==typeof b.rows?b.rows:24,b.id);return g.NextResponse.json({id:j})}catch(a){return g.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:500})}}d()}catch(a){d(a)}})},51455:a=>{a.exports=require("node:fs/promises")},55511:a=>{a.exports=require("crypto")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},73968:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{BJ:()=>t,BY:()=>w,Bb:()=>r,Nu:()=>v,OA:()=>u,PB:()=>p,Sz:()=>s,hr:()=>q});var e=c(55511),f=c(29021),g=c(21820),h=c(33873),i=c(75430),j=c(58864),k=a([i]);function l(){if(!globalThis.__piWebTerminals){globalThis.__piWebTerminals=new Map;let a=()=>{for(let a of globalThis.__piWebTerminals.keys())w(a,!0)};process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__piWebTerminals}function m(a,b){for(let c of a.listeners)c(b)}function n(a,b){b.cleanupTimer||b.listeners.size||l().get(a)!==b||(b.cleanupAt=Date.now()+12e4,b.cleanupTimer=setTimeout(()=>w(a),12e4),b.cleanupTimer.unref?.())}function o(a,b){return Math.min(1e3,Math.max(2,Number.isFinite(a)?Math.floor(a):b))}function p(a,b,d,k=(0,e.randomUUID)()){let q,r=l().get(k);if(r){if(!(0,j.Eb)(r.cwd,a))throw Error("Terminal belongs to a different workspace");return k}try{if("darwin"===process.platform)try{let a=(0,h.dirname)(22664);for(let b of["build/Release","build/Debug",`prebuilds/darwin-${process.arch}`]){let c=(0,h.join)(a,b,"spawn-helper"),d=(0,f.statSync)(c,{throwIfNoEntry:!1});d?.isFile()&&(73&d.mode)!=73&&(0,f.chmodSync)(c,73|d.mode)}}catch{}({spawn:q}=c(14566))}catch(a){throw Error(`Cannot load the node-pty native terminal module for ${process.platform}-${process.arch}. The binary may be missing or incompatible. In the pi-web installation directory (the npx cache directory when using npx), run: npm rebuild node-pty --build-from-source --ignore-scripts=false --foreground-scripts. On Debian/Ubuntu, install build tools first: sudo apt-get install -y python3 build-essential. Then restart pi-web. Original error: ${a instanceof Error?a.message:String(a)}`,{cause:a})}let s=function(){if("win32"!==process.platform)return{file:process.env.SHELL||"/bin/sh",args:["-l"]};try{return{file:(0,i.getPowerShellConfig)().shell,args:[]}}catch{return{file:process.env.ComSpec??"cmd.exe",args:[]}}}(),t=q(s.file,s.args,{name:"xterm-256color",cols:o(b,80),rows:o(d,24),cwd:a||(0,g.homedir)(),env:function(){let a={};for(let[b,c]of Object.entries(process.env)){let d="win32"===process.platform?b.toUpperCase():b;void 0!==c&&"PI_WEB_PASSWORD"!==d&&(a[b]=c)}return a.TERM="xterm-256color",a.COLORTERM="truecolor",process.env.LANG||process.env.LC_ALL||process.env.LC_CTYPE||(a.LANG="C.UTF-8"),a}()}),u={pty:t,cwd:a,listeners:new Set,backlog:"",offset:0,exited:!1,exitCode:null,cleanupTimer:null,cleanupAt:null};return l().set(k,u),n(k,u),t.onData(a=>{u.backlog=(u.backlog+a).slice(-131072),u.offset+=a.length,m(u,{type:"output",data:a,offset:u.offset})}),t.onExit(({exitCode:a})=>{u.cleanupTimer&&clearTimeout(u.cleanupTimer),u.cleanupTimer=null,u.cleanupAt=null,u.exited=!0,u.exitCode=a,m(u,{type:"exit",exitCode:a}),n(k,u)}),k}function q(a){return l().has(a)}function r(a){return l().get(a)?.cwd}function s(a=Date.now()){let b={count:0,listeners:0,detached:0,exited:0,nextCleanupAt:null},c=globalThis.__piWebTerminals;if(!(c instanceof Map))return b;for(let d of c.values()){let c=d.listeners?.size??0;b.count+=1,b.listeners+=c,0===c&&(b.detached+=1),d.exited&&(b.exited+=1);let e=d.cleanupAt;if("number"!=typeof e)continue;let f=Math.max(e,a);(null===b.nextCleanupAt||f<b.nextCleanupAt)&&(b.nextCleanupAt=f)}return b}function t(a,b,c){let d=l().get(a);if(!d)return null;d.listeners.add(b),d.cleanupTimer&&clearTimeout(d.cleanupTimer),d.cleanupTimer=null,d.cleanupAt=null;let e=d.offset-d.backlog.length,f=void 0===c||c<e||c>d.offset;return{output:{type:"output",data:f?d.backlog:d.backlog.slice(c-e),offset:d.offset,reset:f},exited:d.exited,exitCode:d.exitCode,unsubscribe:()=>{d.listeners.delete(b),n(a,d)}}}function u(a,b){let c=l().get(a);return!!c&&!c.exited&&(c.pty.write(b),!0)}function v(a,b,c){let d=l().get(a);return!!d&&!d.exited&&(d.pty.resize(o(b,80),o(c,24)),!0)}function w(a,b=!1){let c=l().get(a);return!!c&&(c.cleanupTimer&&clearTimeout(c.cleanupTimer),c.cleanupAt=null,l().delete(a),!c.exited&&(c.pty.kill(b?"SIGKILL":void 0),b||(c.cleanupTimer=setTimeout(()=>{c.exited||c.pty.kill("SIGKILL")},2e3),c.cleanupTimer.unref?.())),m(c,{type:"closed"}),c.listeners.clear(),!0)}i=(k.then?(await k)():k)[0],d()}catch(a){d(a)}})},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},80547:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A$:()=>m,B7:()=>n,mc:()=>l,uK:()=>j.uK,wz:()=>e.wz});var e=c(25252),f=c(82536),g=c(40402),h=c(10879),i=c(12069),j=c(58864),k=a([g,h]);async function l(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let c=await (0,g.dQ)(),d=new Set;for(let a of c)a.cwd&&d.add((0,e.Nw)(a.cwd)),a.projectRoot&&d.add((0,e.Nw)(a.projectRoot));for(let a of(0,e.HM)())d.add(a);let f=(0,h.ej)();for(let[a,b]of Object.entries(f.projects))(0,i.KV)(f,a)||d.add((0,e.Nw)(b.root));return globalThis.__piAllowedRootsCache={roots:d,expiresAt:a+5e3},d}function m(a,b){return(0,f.o4)(a,b)}function n(a,b){return(0,f.xk)(a,b)}[g,h]=k.then?(await k)():k,d()}catch(a){d(a)}})},81115:a=>{a.exports=require("constants")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},94735:a=>{a.exports=require("events")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,426,974,5582,5e3],()=>b(b.s=8464));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var a={};a.id=6293,a.ids=[6293],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},305:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Up:()=>n,dp:()=>m,e5:()=>k,wQ:()=>i});var e=c(10674),f=a([e]);e=(f.then?(await f)():f)[0];let o=["read","bash","edit","write"],p=new Set(["bash","powershell"]);function g(a,b=process.platform){return"win32"===b&&a?.includes("powershell")===!0&&!a.includes("bash")}function h(a,b){let c=b?"powershell":"bash",d=[];for(let b of a){let a=p.has(b)?c:b;d.includes(a)||d.push(a)}return d}function i(a,b,c=process.platform){return h(a,g(b,c))}function j(a){return a.startsWith("+")||a.startsWith("-")}function k(a){let b=a.filter(a=>!j(a)),c=b.length>0||0===a.length?b:[...o];for(let b of a){if(!j(b))continue;let a=b.slice(1),d=c.indexOf(a);b.startsWith("+")&&-1===d&&a?c.push(a):b.startsWith("-")&&-1!==d&&c.splice(d,1)}return c}function l(a){let b=(0,e.cj)(a);return void 0===b?void 0:k(b)}async function m(a=(0,e.WD)(void 0),b=process.platform){return(0,e.lz)(a,a=>g(l(a),b))}async function n(a,b=(0,e.WD)(void 0),c=process.platform){if("win32"!==c)throw Error("PowerShell tool settings are only available on Windows");return await (0,e.AC)(b,b=>{let c=l(b)??o,d=h(c,a);c.some(a=>p.has(a))||d.push(a?"powershell":"bash"),b.defaultTools=d}),a}d()}catch(a){d(a)}})},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10674:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{AC:()=>o,WD:()=>k,cj:()=>m,lz:()=>n});var e=c(73024),f=c(76760),g=c(75430),h=c(80974),i=c.n(h),j=a([g]);function k(a=(0,g.getAgentDir)()){return(0,f.join)(a,"settings.json")}function l(a){if(!(0,e.existsSync)(a))return{};let b=JSON.parse((0,e.readFileSync)(a,"utf8"));if("object"!=typeof b||null===b||Array.isArray(b))throw Error("Invalid settings.json: expected an object");return b}function m(a){if(void 0!==a.defaultTools){if(!Array.isArray(a.defaultTools)||a.defaultTools.some(a=>"string"!=typeof a))throw Error("Invalid settings.json: defaultTools must be an array of strings");return[...a.defaultTools]}}async function n(a,b){if(!(0,e.existsSync)(a))return b({});let c=await i().lock(a,{realpath:!1,retries:10});try{return b(l(a))}finally{await c()}}async function o(a,b){(0,e.mkdirSync)((0,f.dirname)(a),{recursive:!0});try{(0,e.writeFileSync)(a,"{}",{flag:"wx",mode:384})}catch(a){if("EEXIST"!==a.code)throw a}let c=await i().lock(a,{realpath:!1,retries:10});try{let c=l(a),d=b(c);return(0,e.writeFileSync)(a,JSON.stringify(c,null,2),"utf8"),(0,e.chmodSync)(a,384),d}finally{await c()}}g=(j.then?(await j)():j)[0],d()}catch(a){d(a)}})},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12412:a=>{"use strict";a.exports=require("assert")},16353:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/tools/settings/route",pathname:"/api/tools/settings",filename:"route",bundlePath:"app/api/tools/settings/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"D:\\yun\\pi-web-yun\\app\\api\\tools\\settings\\route.ts",nextConfigOutput:"",userland:()=>c(32280),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/tools/settings/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32280:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>m,PUT:()=>n,dynamic:()=>o});var e=c(23211),f=c(41228),g=c(66544),h=c(305),i=a([f,h]);[f,h]=i.then?(await i)():i;let o="force-dynamic",p=["enabled","codemode","codemodeMode","codemodeInlineBudget"];function j(a,b,c){return e.NextResponse.json({error:c,reason:b},{status:a})}function k(a){return j(500,"internal",a instanceof Error?a.message:String(a))}async function l(){let a=await (0,h.dp)(),b=await (0,f.wS)(),{mode:c,inlineBudget:d}=await (0,f.yH)();return{isWindows:"win32"===process.platform,powerShellEnabled:a,codemode:b,codemodeMode:c,codemodeInlineBudget:d}}async function m(){try{return e.NextResponse.json(await l())}catch(a){return k(a)}}async function n(a){let b;if(!(0,g.EN)(a))return j(403,"request-denied","Untrusted API request");if(!(0,g.E2)(a))return j(415,"content-type","Content-Type must be application/json");try{b=await a.json()}catch{return j(400,"invalid-request","Invalid JSON body")}if("object"!=typeof b||null===b||Array.isArray(b))return j(400,"invalid-request","Expected a JSON object");let c=b;if(1!==p.filter(a=>a in c).length)return j(400,"invalid-request","Send one of enabled (PowerShell), codemode, codemodeMode or codemodeInlineBudget");if("codemodeMode"in c){if(!(0,f.yK)(c.codemodeMode))return j(400,"invalid-request",'codemodeMode must be "on" or "only"');try{return await (0,f.hy)(c.codemodeMode),e.NextResponse.json(await l())}catch(a){return k(a)}}if("codemodeInlineBudget"in c){let a=c.codemodeInlineBudget;if(null!==a&&!(0,f.Te)(a))return j(400,"invalid-request",`codemodeInlineBudget must be a whole number from 0 to ${f.mz}, or null`);try{return await (0,f.i7)(a??void 0),e.NextResponse.json(await l())}catch(a){return k(a)}}if("codemode"in c){if(!(0,f.cY)(c.codemode))return j(400,"invalid-request",'codemode must be "automatic" or "always"');try{return await (0,f.ZZ)(c.codemode),e.NextResponse.json(await l())}catch(a){return k(a)}}if("win32"!==process.platform)return j(404,"invalid-request","PowerShell tool settings are only available on Windows");if("boolean"!=typeof c.enabled)return j(400,"invalid-request","enabled must be a boolean");try{return await (0,h.Up)(c.enabled),e.NextResponse.json(await l())}catch(a){return k(a)}}d()}catch(a){d(a)}})},33873:a=>{"use strict";a.exports=require("path")},37431:(a,b,c)=>{"use strict";c.d(b,{T:()=>f,y:()=>g});var d=c(73024);let e=d.constants.O_RDONLY|(d.constants.O_NONBLOCK||0),f=1048576;function g(a,b){let c;try{c=(0,d.openSync)(a,e)}catch(b){let a;if("ENOENT"===(a=b?.code)||"ENOTDIR"===a)return;throw b}try{let e=(0,d.fstatSync)(c);if(!e.isFile())throw Error(`${a} is not a regular file`);if(void 0===b)return(0,d.readFileSync)(c,"utf8");if(e.size>b)throw Error(`${a} is larger than ${b} bytes`);let f=b+1,g=[],h=0;for(;h<f;){let a=Buffer.alloc(Math.min(f-h,65536)),b=(0,d.readSync)(c,a,0,a.length,null);if(0===b)break;g.push(a.subarray(0,b)),h+=b}if(h>b)throw Error(`${a} is larger than ${b} bytes`);return Buffer.concat(g,h).toString("utf8")}finally{(0,d.closeSync)(c)}}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},75430:a=>{"use strict";a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},78335:()=>{},81115:a=>{"use strict";a.exports=require("constants")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},94735:a=>{"use strict";a.exports=require("events")},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,974,1207],()=>b(b.s=16353));module.exports=c})();
|
|
1
|
+
(()=>{var a={};a.id=6293,a.ids=[6293],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},305:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Up:()=>n,dp:()=>m,e5:()=>k,wQ:()=>i});var e=c(10674),f=a([e]);e=(f.then?(await f)():f)[0];let o=["read","bash","edit","write"],p=new Set(["bash","powershell"]);function g(a,b=process.platform){return"win32"===b&&a?.includes("powershell")===!0&&!a.includes("bash")}function h(a,b){let c=b?"powershell":"bash",d=[];for(let b of a){let a=p.has(b)?c:b;d.includes(a)||d.push(a)}return d}function i(a,b,c=process.platform){return h(a,g(b,c))}function j(a){return a.startsWith("+")||a.startsWith("-")}function k(a){let b=a.filter(a=>!j(a)),c=b.length>0||0===a.length?b:[...o];for(let b of a){if(!j(b))continue;let a=b.slice(1),d=c.indexOf(a);b.startsWith("+")&&-1===d&&a?c.push(a):b.startsWith("-")&&-1!==d&&c.splice(d,1)}return c}function l(a){let b=(0,e.cj)(a);return void 0===b?void 0:k(b)}async function m(a=(0,e.WD)(void 0),b=process.platform){return(0,e.lz)(a,a=>g(l(a),b))}async function n(a,b=(0,e.WD)(void 0),c=process.platform){if("win32"!==c)throw Error("PowerShell tool settings are only available on Windows");return await (0,e.AC)(b,b=>{let c=l(b)??o,d=h(c,a);c.some(a=>p.has(a))||d.push(a?"powershell":"bash"),b.defaultTools=d}),a}d()}catch(a){d(a)}})},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10674:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{AC:()=>o,WD:()=>k,cj:()=>m,lz:()=>n});var e=c(73024),f=c(76760),g=c(75430),h=c(80974),i=c.n(h),j=a([g]);function k(a=(0,g.getAgentDir)()){return(0,f.join)(a,"settings.json")}function l(a){var b;let c;if(!(0,e.existsSync)(a))return{};let d=(0,e.readFileSync)(a,"utf8");try{c=JSON.parse(d)}catch(c){let b=c instanceof Error?c.message:String(c);throw SyntaxError(`${a}: ${b}`)}if(b=c,"object"!=typeof b||null===b||Array.isArray(b))throw Error("Invalid settings.json: expected an object");return c}function m(a){if(void 0!==a.defaultTools){if(!Array.isArray(a.defaultTools)||a.defaultTools.some(a=>"string"!=typeof a))throw Error("Invalid settings.json: defaultTools must be an array of strings");return[...a.defaultTools]}}async function n(a,b){if(!(0,e.existsSync)(a))return b({});let c=await i().lock(a,{realpath:!1,retries:10});try{return b(l(a))}finally{await c()}}async function o(a,b){(0,e.mkdirSync)((0,f.dirname)(a),{recursive:!0});try{(0,e.writeFileSync)(a,"{}",{flag:"wx",mode:384})}catch(a){if("EEXIST"!==a.code)throw a}let c=await i().lock(a,{realpath:!1,retries:10});try{let c=l(a),d=b(c);return(0,e.writeFileSync)(a,JSON.stringify(c,null,2),"utf8"),(0,e.chmodSync)(a,384),d}finally{await c()}}g=(j.then?(await j)():j)[0],d()}catch(a){d(a)}})},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12412:a=>{"use strict";a.exports=require("assert")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32280:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>m,PUT:()=>n,dynamic:()=>o});var e=c(23211),f=c(41228),g=c(66544),h=c(305),i=a([f,h]);[f,h]=i.then?(await i)():i;let o="force-dynamic",p=["enabled","codemode","codemodeMode","codemodeInlineBudget"];function j(a,b,c){return e.NextResponse.json({error:c,reason:b},{status:a})}function k(a){return j(500,"internal",a instanceof Error?a.message:String(a))}async function l(){let a=await (0,h.dp)(),b=await (0,f.wS)(),{mode:c,inlineBudget:d}=await (0,f.yH)();return{isWindows:"win32"===process.platform,powerShellEnabled:a,codemode:b,codemodeMode:c,codemodeInlineBudget:d}}async function m(){try{return e.NextResponse.json(await l())}catch(a){return k(a)}}async function n(a){let b;if(!(0,g.EN)(a))return j(403,"request-denied","Untrusted API request");if(!(0,g.E2)(a))return j(415,"content-type","Content-Type must be application/json");try{b=await a.json()}catch{return j(400,"invalid-request","Invalid JSON body")}if("object"!=typeof b||null===b||Array.isArray(b))return j(400,"invalid-request","Expected a JSON object");let c=b;if(1!==p.filter(a=>a in c).length)return j(400,"invalid-request","Send one of enabled (PowerShell), codemode, codemodeMode or codemodeInlineBudget");if("codemodeMode"in c){if(!(0,f.yK)(c.codemodeMode))return j(400,"invalid-request",'codemodeMode must be "on" or "only"');try{return await (0,f.hy)(c.codemodeMode),e.NextResponse.json(await l())}catch(a){return k(a)}}if("codemodeInlineBudget"in c){let a=c.codemodeInlineBudget;if(null!==a&&!(0,f.Te)(a))return j(400,"invalid-request",`codemodeInlineBudget must be a whole number from 0 to ${f.mz}, or null`);try{return await (0,f.i7)(a??void 0),e.NextResponse.json(await l())}catch(a){return k(a)}}if("codemode"in c){if(!(0,f.cY)(c.codemode))return j(400,"invalid-request",'codemode must be "automatic" or "always"');try{return await (0,f.ZZ)(c.codemode),e.NextResponse.json(await l())}catch(a){return k(a)}}if("win32"!==process.platform)return j(404,"invalid-request","PowerShell tool settings are only available on Windows");if("boolean"!=typeof c.enabled)return j(400,"invalid-request","enabled must be a boolean");try{return await (0,h.Up)(c.enabled),e.NextResponse.json(await l())}catch(a){return k(a)}}d()}catch(a){d(a)}})},33873:a=>{"use strict";a.exports=require("path")},37431:(a,b,c)=>{"use strict";c.d(b,{T:()=>f,y:()=>g});var d=c(73024);let e=d.constants.O_RDONLY|(d.constants.O_NONBLOCK||0),f=1048576;function g(a,b){let c;try{c=(0,d.openSync)(a,e)}catch(b){let a;if("ENOENT"===(a=b?.code)||"ENOTDIR"===a)return;throw b}try{let e=(0,d.fstatSync)(c);if(!e.isFile())throw Error(`${a} is not a regular file`);if(void 0===b)return(0,d.readFileSync)(c,"utf8");if(e.size>b)throw Error(`${a} is larger than ${b} bytes`);let f=b+1,g=[],h=0;for(;h<f;){let a=Buffer.alloc(Math.min(f-h,65536)),b=(0,d.readSync)(c,a,0,a.length,null);if(0===b)break;g.push(a.subarray(0,b)),h+=b}if(h>b)throw Error(`${a} is larger than ${b} bytes`);return Buffer.concat(g,h).toString("utf8")}finally{(0,d.closeSync)(c)}}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},75430:a=>{"use strict";a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},78335:()=>{},81115:a=>{"use strict";a.exports=require("constants")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},89426:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/tools/settings/route",pathname:"/api/tools/settings",filename:"route",bundlePath:"app/api/tools/settings/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"D:\\yun\\pi-web-yun\\app\\api\\tools\\settings\\route.ts",nextConfigOutput:"",userland:()=>c(32280),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/tools/settings/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},94735:a=>{"use strict";a.exports=require("events")},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,974,1207],()=>b(b.s=89426));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var a={};a.id=6031,a.ids=[6031],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10446:(a,b,c)=>{"use strict";c.r(b),c.d(b,{DELETE:()=>u,GET:()=>s,POST:()=>t,dynamic:()=>q});var d=c(23211);function e(){return{failures:0,lastFailureAt:0,blockedUntil:0}}function f(){var a;let b=globalThis,c=Symbol.for("pi-web:auth-throttle"),d=b[c];if("object"==typeof(a=d)&&null!==a&&"number"==typeof a.failures&&"number"==typeof a.lastFailureAt&&"number"==typeof a.blockedUntil)return d;let f=e();return b[c]=f,f}function g(a,b){a.failures>0&&b-a.lastFailureAt>=3e5&&Object.assign(a,e())}function h(a){return Math.max(1,Math.ceil(a/1e3))}var i=c(66544),j=c(77598);let k="pi_web_session";function l(a){return(0,j.createHash)("sha256").update(a,"utf8").digest()}function m(a,b){return(0,j.timingSafeEqual)(l(a),l(b))}function n(a=process.env.PI_WEB_PASSWORD){return"string"==typeof a&&a.length>0}function o(a,b=process.env.PI_WEB_PASSWORD){return n(b)&&m(a,b)}function p(a,b){return(0,j.createHmac)("sha256",b).update(`pi-web-session:${a}`,"utf8").digest("hex")}let q="force-dynamic";function r(a){return"https:"===new URL(a.url).protocol||a.headers.get("x-forwarded-proto")?.split(",",1)[0]?.trim()==="https"}async function s(a){if(!(0,i.EN)(a))return d.NextResponse.json({error:"Untrusted API request"},{status:403});let b=process.env.PI_WEB_PASSWORD,c=n(b),e=!c||function(a,b=process.env.PI_WEB_PASSWORD){let c;if(!n(b)||!a)return!1;let d=/^Basic\s+(\S+)$/i.exec(a);if(!d)return!1;try{let a=Buffer.from(d[1],"base64");if(a.toString("base64")!==d[1])return!1;c=new TextDecoder("utf-8",{fatal:!0}).decode(a)}catch{return!1}let e=c.indexOf(":");if(-1===e)return!1;let f=c.slice(0,e),g=c.slice(e+1),h=m(f,"pi"),i=o(g,b);return h&&i}(a.headers.get("authorization"),b)||function(a,b=process.env.PI_WEB_PASSWORD,c=Date.now()){if(!a||!n(b))return!1;let d=/^(v1\.(\d+)\.[a-f0-9]{32})\.([a-f0-9]{64})$/.exec(a);if(!d)return!1;let e=Number(d[2]);return!(!Number.isSafeInteger(e)||e<=Math.floor(c/1e3))&&m(d[3],p(d[1],b))}(a.cookies.get(k)?.value,b);return d.NextResponse.json({enabled:c,authenticated:e},{headers:{"Cache-Control":"no-store"}})}async function t(a){if(!(0,i.EN)(a))return d.NextResponse.json({error:"Untrusted API request"},{status:403});if(!(0,i.E2)(a))return d.NextResponse.json({error:"Content-Type must be application/json"},{status:415});let b=process.env.PI_WEB_PASSWORD;if(!n(b))return d.NextResponse.json({error:"Password authentication is disabled"},{status:404});let c=function(a=Date.now(),b=f()){return g(b,a),Math.max(0,b.blockedUntil-a)}();if(c>0)return d.NextResponse.json({error:"Too many failed attempts",retryAfterMs:c},{status:429,headers:{"Cache-Control":"no-store","Retry-After":String(h(c))}});let l=await a.json().catch(()=>null);if(!l||"string"!=typeof l.password||!o(l.password,b)){let a=function(a=Date.now(),b=f()){g(b,a),b.failures+=1,b.lastFailureAt=a;let c=function(a){if(a<=0)return 0;let b=Math.min(a-1,31);return Math.min(1e3*2**b,6e4)}(b.failures);return b.blockedUntil=a+c,c}();return console.warn(`[web-auth] Password authentication failed; next attempt blocked for ${a}ms`),d.NextResponse.json({error:"Invalid password",retryAfterMs:a},{status:401,headers:{"Retry-After":String(h(a))}})}!function(a=f()){Object.assign(a,e())}();let m=d.NextResponse.json({ok:!0});return m.cookies.set({name:k,value:function(a,b=Date.now(),c=(0,j.randomBytes)(16).toString("hex")){let d=`v1.${Math.floor(b/1e3)+2592e3}.${c}`;return`${d}.${p(d,a)}`}(b),httpOnly:!0,sameSite:"lax",secure:r(a),path:"/",maxAge:2592e3}),m}async function u(a){if(!(0,i.EN)(a))return d.NextResponse.json({error:"Untrusted API request"},{status:403});let b=d.NextResponse.json({ok:!0});return b.cookies.set({name:k,value:"",httpOnly:!0,sameSite:"lax",secure:r(a),path:"/",maxAge:0}),b}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30505:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/web-auth/route",pathname:"/api/web-auth",filename:"route",bundlePath:"app/api/web-auth/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"D:\\yun\\pi-web-yun\\app\\api\\web-auth\\route.ts",nextConfigOutput:"",userland:()=>c(10446),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/web-auth/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66544:(a,b,c)=>{"use strict";c.d(b,{E2:()=>k,EN:()=>j});var d=c(77030);function e(a){return(a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a).toLowerCase().replace(/\.$/,"")}function f(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;return e(b.hostname)}catch{return null}}function g(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;let c=e(b.hostname);return b.port?`${c}:${b.port}`:c}catch{return null}}function h(){return[process.env.PI_WEB_HOSTNAME,...process.env.PI_WEB_ALLOWED_HOSTS?.split(",")??[]].filter(a=>!!a?.trim())}function i(a){try{return new URL(a).origin}catch{return null}}function j(a,b=h()){return!!function(a,b=h()){let c=a.headers.get("host"),g=c?f(c):null;return!!g&&(!!("localhost"===g||g.endsWith(".localhost")||(0,d.isIP)(g))||b.some(a=>{let b;return((b=a?.trim())?(0,d.isIP)(b)?e(b):f(b):null)===g}))}(a,b)&&(!!function(a){if("GET"!==a.method||"navigate"!==a.headers.get("sec-fetch-mode")||"document"!==a.headers.get("sec-fetch-dest")||"?1"!==a.headers.get("sec-fetch-user"))return!1;try{return/^\/api\/sessions\/[^/]+\/export$/.test(new URL(a.url).pathname)}catch{return!1}}(a)||!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))||function(a){let b,c,d,e=a.headers.get("origin");if("cross-site"===a.headers.get("sec-fetch-site"))return!1;if(!e)return!0;let f=(b=new URL(a.url),(c=a.headers.get("host"))?i(`${b.protocol}//${c}`):null);if(null!==f&&i(e)===f)return!0;if("same-origin"!==a.headers.get("sec-fetch-site")||!a.headers.get("x-forwarded-proto"))return!1;let h=a.headers.get("host");if(!h)return!1;try{d=new URL(e).host}catch{return!1}let j=g(d);return null!==j&&j===g(h)}(a))}function k(a){let b=a.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return"application/json"===b||!!(b?.startsWith("application/")&&b.endsWith("+json"))}},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813],()=>b(b.s=30505));module.exports=c})();
|
|
1
|
+
(()=>{var a={};a.id=6031,a.ids=[6031],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10446:(a,b,c)=>{"use strict";c.r(b),c.d(b,{DELETE:()=>u,GET:()=>s,POST:()=>t,dynamic:()=>q});var d=c(23211);function e(){return{failures:0,lastFailureAt:0,blockedUntil:0}}function f(){var a;let b=globalThis,c=Symbol.for("pi-web:auth-throttle"),d=b[c];if("object"==typeof(a=d)&&null!==a&&"number"==typeof a.failures&&"number"==typeof a.lastFailureAt&&"number"==typeof a.blockedUntil)return d;let f=e();return b[c]=f,f}function g(a,b){a.failures>0&&b-a.lastFailureAt>=3e5&&Object.assign(a,e())}function h(a){return Math.max(1,Math.ceil(a/1e3))}var i=c(66544),j=c(77598);let k="pi_web_session";function l(a){return(0,j.createHash)("sha256").update(a,"utf8").digest()}function m(a,b){return(0,j.timingSafeEqual)(l(a),l(b))}function n(a=process.env.PI_WEB_PASSWORD){return"string"==typeof a&&a.length>0}function o(a,b=process.env.PI_WEB_PASSWORD){return n(b)&&m(a,b)}function p(a,b){return(0,j.createHmac)("sha256",b).update(`pi-web-session:${a}`,"utf8").digest("hex")}let q="force-dynamic";function r(a){return"https:"===new URL(a.url).protocol||a.headers.get("x-forwarded-proto")?.split(",",1)[0]?.trim()==="https"}async function s(a){if(!(0,i.EN)(a))return d.NextResponse.json({error:"Untrusted API request"},{status:403});let b=process.env.PI_WEB_PASSWORD,c=n(b),e=!c||function(a,b=process.env.PI_WEB_PASSWORD){let c;if(!n(b)||!a)return!1;let d=/^Basic\s+(\S+)$/i.exec(a);if(!d)return!1;try{let a=Buffer.from(d[1],"base64");if(a.toString("base64")!==d[1])return!1;c=new TextDecoder("utf-8",{fatal:!0}).decode(a)}catch{return!1}let e=c.indexOf(":");if(-1===e)return!1;let f=c.slice(0,e),g=c.slice(e+1),h=m(f,"pi"),i=o(g,b);return h&&i}(a.headers.get("authorization"),b)||function(a,b=process.env.PI_WEB_PASSWORD,c=Date.now()){if(!a||!n(b))return!1;let d=/^(v1\.(\d+)\.[a-f0-9]{32})\.([a-f0-9]{64})$/.exec(a);if(!d)return!1;let e=Number(d[2]);return!(!Number.isSafeInteger(e)||e<=Math.floor(c/1e3))&&m(d[3],p(d[1],b))}(a.cookies.get(k)?.value,b);return d.NextResponse.json({enabled:c,authenticated:e},{headers:{"Cache-Control":"no-store"}})}async function t(a){if(!(0,i.EN)(a))return d.NextResponse.json({error:"Untrusted API request"},{status:403});if(!(0,i.E2)(a))return d.NextResponse.json({error:"Content-Type must be application/json"},{status:415});let b=process.env.PI_WEB_PASSWORD;if(!n(b))return d.NextResponse.json({error:"Password authentication is disabled"},{status:404});let c=function(a=Date.now(),b=f()){return g(b,a),Math.max(0,b.blockedUntil-a)}();if(c>0)return d.NextResponse.json({error:"Too many failed attempts",retryAfterMs:c},{status:429,headers:{"Cache-Control":"no-store","Retry-After":String(h(c))}});let l=await a.json().catch(()=>null);if(!l||"string"!=typeof l.password||!o(l.password,b)){let a=function(a=Date.now(),b=f()){g(b,a),b.failures+=1,b.lastFailureAt=a;let c=function(a){if(a<=0)return 0;let b=Math.min(a-1,31);return Math.min(1e3*2**b,6e4)}(b.failures);return b.blockedUntil=a+c,c}();return console.warn(`[web-auth] Password authentication failed; next attempt blocked for ${a}ms`),d.NextResponse.json({error:"Invalid password",retryAfterMs:a},{status:401,headers:{"Retry-After":String(h(a))}})}!function(a=f()){Object.assign(a,e())}();let m=d.NextResponse.json({ok:!0});return m.cookies.set({name:k,value:function(a,b=Date.now(),c=(0,j.randomBytes)(16).toString("hex")){let d=`v1.${Math.floor(b/1e3)+2592e3}.${c}`;return`${d}.${p(d,a)}`}(b),httpOnly:!0,sameSite:"lax",secure:r(a),path:"/",maxAge:2592e3}),m}async function u(a){if(!(0,i.EN)(a))return d.NextResponse.json({error:"Untrusted API request"},{status:403});let b=d.NextResponse.json({ok:!0});return b.cookies.set({name:k,value:"",httpOnly:!0,sameSite:"lax",secure:r(a),path:"/",maxAge:0}),b}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66544:(a,b,c)=>{"use strict";c.d(b,{E2:()=>k,EN:()=>j});var d=c(77030);function e(a){return(a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a).toLowerCase().replace(/\.$/,"")}function f(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;return e(b.hostname)}catch{return null}}function g(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;let c=e(b.hostname);return b.port?`${c}:${b.port}`:c}catch{return null}}function h(){return[process.env.PI_WEB_HOSTNAME,...process.env.PI_WEB_ALLOWED_HOSTS?.split(",")??[]].filter(a=>!!a?.trim())}function i(a){try{return new URL(a).origin}catch{return null}}function j(a,b=h()){return!!function(a,b=h()){let c=a.headers.get("host"),g=c?f(c):null;return!!g&&(!!("localhost"===g||g.endsWith(".localhost")||(0,d.isIP)(g))||b.some(a=>{let b;return((b=a?.trim())?(0,d.isIP)(b)?e(b):f(b):null)===g}))}(a,b)&&(!!function(a){if("GET"!==a.method||"navigate"!==a.headers.get("sec-fetch-mode")||"document"!==a.headers.get("sec-fetch-dest")||"?1"!==a.headers.get("sec-fetch-user"))return!1;try{let b=new URL(a.url);return/^\/api\/sessions\/[^/]+\/export$/.test(b.pathname)||function(a){if(!a.pathname.startsWith("/api/files/")||"read"!==a.searchParams.get("type"))return!1;let b=a.pathname.slice(a.pathname.lastIndexOf("/")+1);try{return decodeURIComponent(b).toLowerCase().endsWith(".pdf")}catch{return!1}}(b)}catch{return!1}}(a)||!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))||function(a){let b,c,d,e=a.headers.get("origin");if("cross-site"===a.headers.get("sec-fetch-site"))return!1;if(!e)return!0;let f=(b=new URL(a.url),(c=a.headers.get("host"))?i(`${b.protocol}//${c}`):null);if(null!==f&&i(e)===f)return!0;if("same-origin"!==a.headers.get("sec-fetch-site")||!a.headers.get("x-forwarded-proto"))return!1;let h=a.headers.get("host");if(!h)return!1;try{d=new URL(e).host}catch{return!1}let j=g(d);return null!==j&&j===g(h)}(a))}function k(a){let b=a.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return"application/json"===b||!!(b?.startsWith("application/")&&b.endsWith("+json"))}},71690:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/web-auth/route",pathname:"/api/web-auth",filename:"route",bundlePath:"app/api/web-auth/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"D:\\yun\\pi-web-yun\\app\\api\\web-auth\\route.ts",nextConfigOutput:"",userland:()=>c(10446),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/web-auth/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813],()=>b(b.s=71690));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=4016,a.ids=[4016],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},10879:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$q:()=>x,Vy:()=>v,bA:()=>y,ej:()=>u,yh:()=>C});var e=c(73024),f=c(76760),g=c(75430),h=c(80974),i=c.n(h),j=c(8102),k=c(63108),l=c(37431),m=c(12069),n=a([g]);g=(n.then?(await n)():n)[0];let z=new Set(["version","revision","sessions","projects","removedProjects","projectOrder","projectNames","__proto__"]),A=Symbol.for("pi-web:session-ui-state-write-queue"),B={realpath:!1,stale:1e4,retries:{retries:10,factor:2,minTimeout:25,maxTimeout:500},onCompromised:a=>{console.warn(`[pi-web] the session UI state lock was compromised: ${a.message}`)}};class C extends Error{constructor(a="Another process holds the session UI state lock"){super(a),this.name="SessionUiStateLockedError"}}function o(){return globalThis.__piWebSessionUiStateCache??={reads:new Map,revisions:new Map}}function p(a,b){let c=o().revisions;b>(c.get(a)??-1)&&c.set(a,b)}function q(a){return structuredClone(a)}function r(a=(0,g.getAgentDir)()){return(0,f.join)(a,"pi-web-session-state.json")}function s(a){let b;try{b=JSON.parse(a)}catch{return{ok:!1}}let c=(0,m.Jx)(b);return c?{ok:!0,state:c,raw:b}:{ok:!1}}function t(a){let b,c;try{b=(0,e.statSync)(a)}catch(c){let b=c?.code;if("ENOENT"===b||"ENOTDIR"===b)return o().reads.delete(a),(0,m.ly)();throw c}let d=o().reads.get(a);if(d&&d.mtimeMs===b.mtimeMs&&d.size===b.size&&d.ino===b.ino)return d.state;let f=(0,l.y)(a,4194304);if(void 0===f)return o().reads.delete(a),(0,m.ly)();let g=s(f);return g.ok?(c=g.state,p(a,c.revision)):(console.warn(`[pi-web] ${a} is not valid session UI state; reading it as empty until the next change sets it aside`),c=(0,m.ly)()),o().reads.set(a,{mtimeMs:b.mtimeMs,size:b.size,ino:b.ino,state:c}),c}function u(a){try{return q(t(a??r()))}catch(a){return console.warn(`[pi-web] could not read the session UI state: ${a instanceof Error?a.message:String(a)}`),(0,m.ly)()}}function v(a){try{return t(a??r()).revision}catch{return null}}function w(a,b){return(0,k.T)(A,a,async()=>{let c;(0,e.mkdirSync)((0,f.dirname)(a),{recursive:!0});try{c=await i().lock(a,B)}catch(a){if("ELOCKED"===a?.code)throw new C;throw a}try{let c,d=o().revisions.get(a)??0,f=(0,l.y)(a,4194304),g={},h=!1;if(void 0===f)c={...(0,m.ly)(),revision:d};else{let b=s(f);if(b.ok)for(let[a,d]of(c=b.state,Object.entries(b.raw)))z.has(a)||(g[a]=d);else{let b=`${a}.corrupt-${Date.now()}`;try{(0,e.renameSync)(a,b),console.warn(`[pi-web] ${a} could not be parsed; moved it to ${b} and started from an empty session UI state`)}catch(b){console.warn(`[pi-web] ${a} could not be parsed and could not be moved aside (${b instanceof Error?b.message:String(b)}); starting from an empty session UI state`)}c={...(0,m.ly)(),revision:d+1},h=!0}}let i=b(c);if(!i.changed&&!h)return q(c);let k={...i.state,version:m.fS,revision:c.revision+ +!!i.changed},n={version:k.version,revision:k.revision,sessions:k.sessions,projects:k.projects,...k.removedProjects&&Object.keys(k.removedProjects).length>0?{removedProjects:k.removedProjects}:{},...k.projectOrder?.length?{projectOrder:k.projectOrder}:{},...k.projectNames&&Object.keys(k.projectNames).length>0?{projectNames:k.projectNames}:{},...g};(0,j.$)(a,JSON.stringify(n,null,2)+"\n"),p(a,k.revision);try{let b=(0,e.statSync)(a);o().reads.set(a,{mtimeMs:b.mtimeMs,size:b.size,ino:b.ino,state:q(k)})}catch{o().reads.delete(a)}return q(k)}finally{try{await c()}catch{}}})}function x(a,b){let c;try{c=b??r()}catch(a){return Promise.reject(a)}return w(c,b=>(0,m.D7)(b,a,Date.now()))}async function y(a,b){let c=b??r(),d=[...new Set(a)];if(0===d.length)return;let e=a=>d.some(b=>Object.prototype.hasOwnProperty.call(a.sessions,b));e(t(c))&&await w(c,a=>{if(!e(a))return{state:a,changed:!1};let b={...a.sessions};for(let a of d)delete b[a];return{state:{...a,sessions:b},changed:!0}})}d()}catch(a){d(a)}})},12412:a=>{a.exports=require("assert")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},42819:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{DELETE:()=>n,GET:()=>l,POST:()=>m});var e=c(23211),f=c(29021),g=c(24923),h=c(80547),i=c(74244),j=a([h]);async function k(a){let b=await (0,h.mc)();return(0,h.A$)(a,b)&&(0,h.B7)(a,b)?null:e.NextResponse.json({error:"Access denied"},{status:403})}async function l(a){try{let b=new URL(a.url).searchParams.get("cwd");if(!b)return e.NextResponse.json({error:"cwd is required"},{status:400});let c=await k(b);if(c)return c;let d=await (0,g.KI)(b),j=[],l=null,m=!0;try{j=await (0,g.P9)((0,f.existsSync)(b)?b:d.projectRoot),l=(0,g.xw)(j,b)}catch{m=!1}for(let a of j)(0,h.wz)(a.path);return e.NextResponse.json({projectRoot:d.projectRoot,projectKey:(0,i.z)(d.projectRoot),isGit:m,isTopLevel:d.isTopLevel,currentWorktreePath:l,worktrees:j})}catch(a){return e.NextResponse.json({error:String(a)},{status:500})}}async function m(a){try{let b=await a.json();if(!b.cwd||"string"!=typeof b.cwd)return e.NextResponse.json({error:"cwd is required"},{status:400});if(!b.branch||"string"!=typeof b.branch)return e.NextResponse.json({error:"branch is required"},{status:400});let c=await k(b.cwd);if(c)return c;if(!(0,f.existsSync)(b.cwd))return e.NextResponse.json({error:`Directory does not exist: ${b.cwd}`},{status:400});let d=await (0,g.l)(b.cwd,b.branch);return e.NextResponse.json(d)}catch(b){let a=b instanceof Error?b.message:String(b);return e.NextResponse.json({error:a},{status:400})}}async function n(a){try{let b=await a.json();if(!b.cwd||"string"!=typeof b.cwd)return e.NextResponse.json({error:"cwd is required"},{status:400});if(!b.path||"string"!=typeof b.path)return e.NextResponse.json({error:"path is required"},{status:400});let c=await k(b.cwd);if(c)return c;return await (0,g.IL)(b.cwd,b.path,!0===b.force),e.NextResponse.json({success:!0})}catch(c){let a=c instanceof Error?c.message:String(c),b=(0,g.HI)(a);return e.NextResponse.json({error:a,dirty:b},{status:b?409:400})}}h=(j.then?(await j)():j)[0],d()}catch(a){d(a)}})},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},51455:a=>{a.exports=require("node:fs/promises")},55511:a=>{a.exports=require("crypto")},60685:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/worktrees/route",pathname:"/api/worktrees",filename:"route",bundlePath:"app/api/worktrees/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"D:\\yun\\pi-web-yun\\app\\api\\worktrees\\route.ts",nextConfigOutput:"",userland:()=>c(42819),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/worktrees/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},80547:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A$:()=>m,B7:()=>n,mc:()=>l,uK:()=>j.uK,wz:()=>e.wz});var e=c(25252),f=c(82536),g=c(40402),h=c(10879),i=c(12069),j=c(58864),k=a([g,h]);async function l(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let c=await (0,g.dQ)(),d=new Set;for(let a of c)a.cwd&&d.add((0,e.Nw)(a.cwd)),a.projectRoot&&d.add((0,e.Nw)(a.projectRoot));for(let a of(0,e.HM)())d.add(a);let f=(0,h.ej)();for(let[a,b]of Object.entries(f.projects))(0,i.KV)(f,a)||d.add((0,e.Nw)(b.root));return globalThis.__piAllowedRootsCache={roots:d,expiresAt:a+5e3},d}function m(a,b){return(0,f.o4)(a,b)}function n(a,b){return(0,f.xk)(a,b)}[g,h]=k.then?(await k)():k,d()}catch(a){d(a)}})},81115:a=>{a.exports=require("constants")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},94735:a=>{a.exports=require("events")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,426,974,5582,5e3],()=>b(b.s=60685));module.exports=c})();
|
|
1
|
+
"use strict";(()=>{var a={};a.id=4016,a.ids=[4016],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},10879:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$q:()=>x,Vy:()=>v,bA:()=>y,ej:()=>u,yh:()=>C});var e=c(73024),f=c(76760),g=c(75430),h=c(80974),i=c.n(h),j=c(8102),k=c(63108),l=c(37431),m=c(12069),n=a([g]);g=(n.then?(await n)():n)[0];let z=new Set(["version","revision","sessions","projects","removedProjects","projectOrder","projectNames","__proto__"]),A=Symbol.for("pi-web:session-ui-state-write-queue"),B={realpath:!1,stale:1e4,retries:{retries:10,factor:2,minTimeout:25,maxTimeout:500},onCompromised:a=>{console.warn(`[pi-web] the session UI state lock was compromised: ${a.message}`)}};class C extends Error{constructor(a="Another process holds the session UI state lock"){super(a),this.name="SessionUiStateLockedError"}}function o(){return globalThis.__piWebSessionUiStateCache??={reads:new Map,revisions:new Map}}function p(a,b){let c=o().revisions;b>(c.get(a)??-1)&&c.set(a,b)}function q(a){return structuredClone(a)}function r(a=(0,g.getAgentDir)()){return(0,f.join)(a,"pi-web-session-state.json")}function s(a){let b;try{b=JSON.parse(a)}catch{return{ok:!1}}let c=(0,m.Jx)(b);return c?{ok:!0,state:c,raw:b}:{ok:!1}}function t(a){let b,c;try{b=(0,e.statSync)(a)}catch(c){let b=c?.code;if("ENOENT"===b||"ENOTDIR"===b)return o().reads.delete(a),(0,m.ly)();throw c}let d=o().reads.get(a);if(d&&d.mtimeMs===b.mtimeMs&&d.size===b.size&&d.ino===b.ino)return d.state;let f=(0,l.y)(a,4194304);if(void 0===f)return o().reads.delete(a),(0,m.ly)();let g=s(f);return g.ok?(c=g.state,p(a,c.revision)):(console.warn(`[pi-web] ${a} is not valid session UI state; reading it as empty until the next change sets it aside`),c=(0,m.ly)()),o().reads.set(a,{mtimeMs:b.mtimeMs,size:b.size,ino:b.ino,state:c}),c}function u(a){try{return q(t(a??r()))}catch(a){return console.warn(`[pi-web] could not read the session UI state: ${a instanceof Error?a.message:String(a)}`),(0,m.ly)()}}function v(a){try{return t(a??r()).revision}catch{return null}}function w(a,b){return(0,k.T)(A,a,async()=>{let c;(0,e.mkdirSync)((0,f.dirname)(a),{recursive:!0});try{c=await i().lock(a,B)}catch(a){if("ELOCKED"===a?.code)throw new C;throw a}try{let c,d=o().revisions.get(a)??0,f=(0,l.y)(a,4194304),g={},h=!1;if(void 0===f)c={...(0,m.ly)(),revision:d};else{let b=s(f);if(b.ok)for(let[a,d]of(c=b.state,Object.entries(b.raw)))z.has(a)||(g[a]=d);else{let b=`${a}.corrupt-${Date.now()}`;try{(0,e.renameSync)(a,b),console.warn(`[pi-web] ${a} could not be parsed; moved it to ${b} and started from an empty session UI state`)}catch(b){console.warn(`[pi-web] ${a} could not be parsed and could not be moved aside (${b instanceof Error?b.message:String(b)}); starting from an empty session UI state`)}c={...(0,m.ly)(),revision:d+1},h=!0}}let i=b(c);if(!i.changed&&!h)return q(c);let k={...i.state,version:m.fS,revision:c.revision+ +!!i.changed},n={version:k.version,revision:k.revision,sessions:k.sessions,projects:k.projects,...k.removedProjects&&Object.keys(k.removedProjects).length>0?{removedProjects:k.removedProjects}:{},...k.projectOrder?.length?{projectOrder:k.projectOrder}:{},...k.projectNames&&Object.keys(k.projectNames).length>0?{projectNames:k.projectNames}:{},...g};(0,j.$)(a,JSON.stringify(n,null,2)+"\n"),p(a,k.revision);try{let b=(0,e.statSync)(a);o().reads.set(a,{mtimeMs:b.mtimeMs,size:b.size,ino:b.ino,state:q(k)})}catch{o().reads.delete(a)}return q(k)}finally{try{await c()}catch{}}})}function x(a,b){let c;try{c=b??r()}catch(a){return Promise.reject(a)}return w(c,b=>(0,m.D7)(b,a,Date.now()))}async function y(a,b){let c=b??r(),d=[...new Set(a)];if(0===d.length)return;let e=a=>d.some(b=>Object.prototype.hasOwnProperty.call(a.sessions,b));e(t(c))&&await w(c,a=>{if(!e(a))return{state:a,changed:!1};let b={...a.sessions};for(let a of d)delete b[a];return{state:{...a,sessions:b},changed:!0}})}d()}catch(a){d(a)}})},12412:a=>{a.exports=require("assert")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},28802:a=>{a.exports=import("@earendil-works/pi-ai")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},42819:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{DELETE:()=>n,GET:()=>l,POST:()=>m});var e=c(23211),f=c(29021),g=c(24923),h=c(80547),i=c(74244),j=a([h]);async function k(a){let b=await (0,h.mc)();return(0,h.A$)(a,b)&&(0,h.B7)(a,b)?null:e.NextResponse.json({error:"Access denied"},{status:403})}async function l(a){try{let b=new URL(a.url).searchParams.get("cwd");if(!b)return e.NextResponse.json({error:"cwd is required"},{status:400});let c=await k(b);if(c)return c;let d=await (0,g.KI)(b),j=[],l=null,m=!0;try{j=await (0,g.P9)((0,f.existsSync)(b)?b:d.projectRoot),l=(0,g.xw)(j,b)}catch{m=!1}for(let a of j)(0,h.wz)(a.path);return e.NextResponse.json({projectRoot:d.projectRoot,projectKey:(0,i.z)(d.projectRoot),isGit:m,isTopLevel:d.isTopLevel,currentWorktreePath:l,worktrees:j})}catch(a){return e.NextResponse.json({error:String(a)},{status:500})}}async function m(a){try{let b=await a.json();if(!b.cwd||"string"!=typeof b.cwd)return e.NextResponse.json({error:"cwd is required"},{status:400});if(!b.branch||"string"!=typeof b.branch)return e.NextResponse.json({error:"branch is required"},{status:400});let c=await k(b.cwd);if(c)return c;if(!(0,f.existsSync)(b.cwd))return e.NextResponse.json({error:`Directory does not exist: ${b.cwd}`},{status:400});let d=await (0,g.l)(b.cwd,b.branch);return e.NextResponse.json(d)}catch(b){let a=b instanceof Error?b.message:String(b);if(b instanceof g.GC)return e.NextResponse.json({error:a,code:b.missing?"branch_worktree_missing":"branch_in_use",branch:b.branch,worktreePath:b.worktreePath},{status:409});return e.NextResponse.json({error:a},{status:400})}}async function n(a){try{let b=await a.json();if(!b.cwd||"string"!=typeof b.cwd)return e.NextResponse.json({error:"cwd is required"},{status:400});if(!b.path||"string"!=typeof b.path)return e.NextResponse.json({error:"path is required"},{status:400});let c=await k(b.cwd);if(c)return c;return await (0,g.IL)(b.cwd,b.path,!0===b.force),e.NextResponse.json({success:!0})}catch(c){let a=c instanceof Error?c.message:String(c),b=(0,g.HI)(a);return e.NextResponse.json({error:a,dirty:b},{status:b?409:400})}}h=(j.then?(await j)():j)[0],d()}catch(a){d(a)}})},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},51455:a=>{a.exports=require("node:fs/promises")},55511:a=>{a.exports=require("crypto")},56206:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/worktrees/route",pathname:"/api/worktrees",filename:"route",bundlePath:"app/api/worktrees/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"D:\\yun\\pi-web-yun\\app\\api\\worktrees\\route.ts",nextConfigOutput:"",userland:()=>c(42819),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/worktrees/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},80547:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A$:()=>m,B7:()=>n,mc:()=>l,uK:()=>j.uK,wz:()=>e.wz});var e=c(25252),f=c(82536),g=c(40402),h=c(10879),i=c(12069),j=c(58864),k=a([g,h]);async function l(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let c=await (0,g.dQ)(),d=new Set;for(let a of c)a.cwd&&d.add((0,e.Nw)(a.cwd)),a.projectRoot&&d.add((0,e.Nw)(a.projectRoot));for(let a of(0,e.HM)())d.add(a);let f=(0,h.ej)();for(let[a,b]of Object.entries(f.projects))(0,i.KV)(f,a)||d.add((0,e.Nw)(b.root));return globalThis.__piAllowedRootsCache={roots:d,expiresAt:a+5e3},d}function m(a,b){return(0,f.o4)(a,b)}function n(a,b){return(0,f.xk)(a,b)}[g,h]=k.then?(await k)():k,d()}catch(a){d(a)}})},81115:a=>{a.exports=require("constants")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},94735:a=>{a.exports=require("events")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,426,974,5582,5e3],()=>b(b.s=56206));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=3230,a.ids=[3230],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3120:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/favicon.ico/route",pathname:"/favicon.ico",filename:"favicon",bundlePath:"app/favicon.ico/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"next-metadata-route-loader?filePath=D%3A%5Cyun%5Cpi-web-yun%5Capp%5Cfavicon.ico&isDynamicRouteExtension=0!?__next_metadata_route__",nextConfigOutput:"",userland:()=>c(55851),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/favicon.ico/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:a=>{a.exports=require("crypto")},55851:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>f,dynamic:()=>g});var d=c(23211);let e=Buffer.from("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","base64");function f(){return new d.NextResponse(e,{headers:{"Content-Type":"image/x-icon","Cache-Control":"public, max-age=0, must-revalidate"}})}let g="force-static"},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813],()=>b(b.s=3120));module.exports=c})();
|
|
1
|
+
"use strict";(()=>{var a={};a.id=3230,a.ids=[3230],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:a=>{a.exports=require("crypto")},55851:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>f,dynamic:()=>g});var d=c(23211);let e=Buffer.from("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","base64");function f(){return new d.NextResponse(e,{headers:{"Content-Type":"image/x-icon","Cache-Control":"public, max-age=0, must-revalidate"}})}let g="force-static"},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},67865:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/favicon.ico/route",pathname:"/favicon.ico",filename:"favicon",bundlePath:"app/favicon.ico/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"next-metadata-route-loader?filePath=D%3A%5Cyun%5Cpi-web-yun%5Capp%5Cfavicon.ico&isDynamicRouteExtension=0!?__next_metadata_route__",nextConfigOutput:"",userland:()=>c(55851),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/favicon.ico/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I}=f,J=(0,j.normalizeAppPath)(d),K=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),L=!!(C.dynamicRoutes[J]||K),M=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(L&&!B){let a=C.dynamicRoutes[J];if(a&&!1===a.fallback&&!K){if(z.adapterPath)return await M();throw new s.NoFallbackError}}let N=null;!L||v.isDev||B||(N="/index"===(N=G)?"/":N);let O=!0===v.isDev||!L,P=L&&!O;I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let Q=a.method||"GET",R=(0,h.getTracer)(),S=R.getActiveScopeSpan(),T=!!(null==D?void 0:D.isWrappedByNextServer),U=!!(0,g.getRequestMeta)(a,"minimalMode"),V=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,C,U);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,supportsDynamicResponse:O,incrementalCache:V,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,D)},sharedContext:{buildId:w,deploymentId:x}},X=new k.NodeNextRequest(a),Y=new k.NodeNextResponse(b),Z=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(b)),$=async({previousCacheEntry:e})=>{try{if(!U&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await v.handle(Z,W);a.fetchMetrics=W.renderOpts.fetchMetrics;let f=W.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=W.renderOpts.collectedTags;if(!L)return await (0,o.I)(X,Y,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,e=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),b}},_=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:N,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:$,waitUntil:c.waitUntil,isMinimalMode:U});if(!L)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});U||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);U&&L||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(X,Y,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:J,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:E})},!1,D),L)throw b;await (0,o.I)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=R.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||J,g=`${Q} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(T&&S)await _(S,void 0);else{let b=R.getActiveScopeSpan();await R.withPropagatedContext(a.headers,()=>R.trace(m.BaseServerSpan.handleRequest,{spanName:`${Q} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":Q,"http.target":a.url}},a=>_(a,b)),void 0,!T)}}},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813],()=>b(b.s=67865));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en" translate="no" class="__variable_9e44ca notranslate"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover, interactive-widget=resizes-content"/><link rel="stylesheet" href="/_next/static/css/9bcd6051db4f8890.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/0ba51581376fe049.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/d986dbac15b9ebaa.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/e678fb57b00f0bb2.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/edd81c2e355e9677.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-03add08f717df51e.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-6f271a1eb27dfa20.js" async=""></script><script src="/_next/static/chunks/main-app-a9b79d5b2e6391f2.js" async=""></script><script src="/_next/static/chunks/app/layout-b1ce6552c10e045b.js" async=""></script><script src="/_next/static/chunks/d3ac728e-7964f816a1ca64e5.js" async=""></script><script src="/_next/static/chunks/e868780c-1584512c612787d7.js" async=""></script><script src="/_next/static/chunks/9932-60e21347ba9f8664.js" async=""></script><script src="/_next/static/chunks/1278-93326582f35e0b95.js" async=""></script><script src="/_next/static/chunks/app/page-3d87202e7f491be4.js" async=""></script><meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#1a1a1a" media="(prefers-color-scheme: dark)"/><title>PI-YUN</title><meta name="description" content="PI-YUN interface for the pi coding agent"/><meta name="application-name" content="PI-YUN"/><link rel="manifest" href="/manifest.webmanifest"/><meta name="format-detection" content="telephone=no"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="PI-YUN"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><link rel="icon" href="/favicon.ico?49f1942df4a62dcc" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/icons/yun-mark-192.png" sizes="192x192" type="image/png"/><link rel="apple-touch-icon" href="/icons/yun-mark-apple-touch.png" sizes="180x180" type="image/png"/><meta name="google" content="notranslate"/><script>(function(){var t="auto";try{var s=localStorage.getItem("pi-theme");if(["auto","light","mist","lilac","sand","rose","dark","pine","dusk","ember","slate","contrast-light","contrast-dark","zenburn"].includes(s))t=s}catch(e){}if(t==="auto")t=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";var r=document.documentElement;r.dataset.theme=t;r.classList.toggle("dark",["dark","pine","dusk","ember","slate","contrast-dark","zenburn"].includes(t))})();</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body translate="no" class="notranslate"><div hidden=""><!--$--><!--/$--></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><!--$--><!--/$--><script src="/_next/static/chunks/webpack-03add08f717df51e.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:I[57788,[\"7177\",\"static/chunks/app/layout-b1ce6552c10e045b.js\"],\"PwaRegistration\"]\n5:\"$Sreact.suspense\"\n6:I[21278,[\"7330\",\"static/chunks/d3ac728e-7964f816a1ca64e5.js\",\"3888\",\"static/chunks/e868780c-1584512c612787d7.js\",\"9932\",\"static/chunks/9932-60e21347ba9f8664.js\",\"1278\",\"static/chunks/1278-93326582f35e0b95.js\",\"8974\",\"static/chunks/app/page-3d87202e7f491be4.js\"],\"I18nProvider\"]\n7:I[45010,[\"7330\",\"static/chunks/d3ac728e-7964f816a1ca64e5.js\",\"3888\",\"static/chunks/e868780c-1584512c612787d7.js\",\"9932\",\"static/chunks/9932-60e21347ba9f8664.js\",\"1278\",\"static/chunks/1278-93326582f35e0b95.js\",\"8974\",\"static/chunks/app/page-3d87202e7f491be4.js\"],\"AppShell\"]\n8:I[90484,[],\"OutletBoundary\"]\na:I[90484,[],\"ViewportBoundary\"]\nc:I[90484,[],\"MetadataBoundary\"]\ne:I[27123,[],\"default\",1]\n:HL[\"/_next/static/css/9bcd6051db4f8890.css\",\"style\"]\n:HL[\"/_next/static/css/0ba51581376fe049.css\",\"style\"]\n:HL[\"/_next/static/css/d986dbac15b9ebaa.css\",\"style\"]\n:HL[\"/_next/static/css/e678fb57b00f0bb2.css\",\"style\"]\n:HL[\"/_next/static/css/edd81c2e355e9677.css\",\"style\"]\n0:{\"P\":null,\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9bcd6051db4f8890.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/0ba51581376fe049.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/d986dbac15b9ebaa.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/e678fb57b00f0bb2.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"translate\":\"no\",\"className\":\"__variable_9e44ca notranslate\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"meta\",null,{\"name\":\"google\",\"content\":\"notranslate\"}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){var t=\\\"auto\\\";try{var s=localStorage.getItem(\\\"pi-theme\\\");if([\\\"auto\\\",\\\"light\\\",\\\"mist\\\",\\\"lilac\\\",\\\"sand\\\",\\\"rose\\\",\\\"dark\\\",\\\"pine\\\",\\\"dusk\\\",\\\"ember\\\",\\\"slate\\\",\\\"contrast-light\\\",\\\"contrast-dark\\\",\\\"zenburn\\\"].includes(s))t=s}catch(e){}if(t===\\\"auto\\\")t=window.matchMedia(\\\"(prefers-color-scheme: dark)\\\").matches?\\\"dark\\\":\\\"light\\\";var r=document.documentElement;r.dataset.theme=t;r.classList.toggle(\\\"dark\\\",[\\\"dark\\\",\\\"pine\\\",\\\"dusk\\\",\\\"ember\\\",\\\"slate\\\",\\\"contrast-dark\\\",\\\"zenburn\\\"].includes(t))})();\"}}]]}],[\"$\",\"body\",null,{\"translate\":\"no\",\"className\":\"notranslate\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L4\",null,{}],false]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$5\",null,{\"children\":[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L7\",null,{}]}]}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/edd81c2e355e9677.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],{},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Ld\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"pmfOa9kKCLb5t2FbVpaNk\"}\nb:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, viewport-fit=cover, interactive-widget=resizes-content\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#ffffff\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#1a1a1a\",\"media\":\"(prefers-color-scheme: dark)\"}]]\nf:I[86869,[],\"IconMark\"]\n9:null\nd:[[\"$\",\"title\",\"0\",{\"children\":\"PI-YUN\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"PI-YUN interface for the pi coding agent\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"PI-YUN\"}],[\"$\",\"link\",\"3\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"4\",{\"name\":\"format-detection\",\"content\":\"telephone=no\"}],[\"$\",\"meta\",\"5\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"6\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"PI-YUN\"}],[\"$\",\"meta\",\"7\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"link\",\"8\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?49f1942df4a62dcc\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"9\",{\"rel\":\"icon\",\"href\":\"/icons/yun-mark-192.png\",\"sizes\":\"192x192\",\"type\":\"image/png\"}],[\"$\",\"link\",\"10\",{\"rel\":\"apple-touch-icon\",\"href\":\"/icons/yun-mark-apple-touch.png\",\"sizes\":\"180x180\",\"type\":\"image/png\"}],[\"$\",\"$Lf\",\"11\",{}]]\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><html lang="en" translate="no" class="__variable_9e44ca notranslate"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover, interactive-widget=resizes-content"/><link rel="stylesheet" href="/_next/static/css/9bcd6051db4f8890.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/2f63bdc85a747c1b.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/948bdf99ac6477ce.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/08eddaaa4f97d65e.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/3540eb37e32475c8.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-98cb88af9c517ce2.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-6f271a1eb27dfa20.js" async=""></script><script src="/_next/static/chunks/main-app-a9b79d5b2e6391f2.js" async=""></script><script src="/_next/static/chunks/app/layout-887864247723a15f.js" async=""></script><script src="/_next/static/chunks/d3ac728e-7964f816a1ca64e5.js" async=""></script><script src="/_next/static/chunks/e868780c-1584512c612787d7.js" async=""></script><script src="/_next/static/chunks/4908-bc77348603c9c216.js" async=""></script><script src="/_next/static/chunks/1278-d14efc5351094e2a.js" async=""></script><script src="/_next/static/chunks/app/page-5fe4e4e656618c55.js" async=""></script><meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#1a1a1a" media="(prefers-color-scheme: dark)"/><title>PI-YUN</title><meta name="description" content="PI-YUN interface for the pi coding agent"/><meta name="application-name" content="PI-YUN"/><meta name="format-detection" content="telephone=no"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="PI-YUN"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><link rel="icon" href="/favicon.ico?49f1942df4a62dcc" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/icons/yun-mark-192.png" sizes="192x192" type="image/png"/><link rel="apple-touch-icon" href="/icons/yun-mark-apple-touch.png" sizes="180x180" type="image/png"/><link rel="manifest" href="/manifest.webmanifest" crossorigin="use-credentials"/><meta name="google" content="notranslate"/><script>(function(){var t="auto";try{var s=localStorage.getItem("pi-theme");if(["auto","light","mist","lilac","sand","rose","dark","pine","dusk","ember","slate","contrast-light","contrast-dark","zenburn"].includes(s))t=s}catch(e){}if(t==="auto")t=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";var r=document.documentElement;r.dataset.theme=t;r.classList.toggle("dark",["dark","pine","dusk","ember","slate","contrast-dark","zenburn"].includes(t))})();</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body translate="no" class="notranslate"><div hidden=""><!--$--><!--/$--></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><!--$--><!--/$--><script src="/_next/static/chunks/webpack-98cb88af9c517ce2.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:I[57788,[\"7177\",\"static/chunks/app/layout-887864247723a15f.js\"],\"PwaRegistration\"]\n5:\"$Sreact.suspense\"\n6:I[21278,[\"7330\",\"static/chunks/d3ac728e-7964f816a1ca64e5.js\",\"3888\",\"static/chunks/e868780c-1584512c612787d7.js\",\"4908\",\"static/chunks/4908-bc77348603c9c216.js\",\"1278\",\"static/chunks/1278-d14efc5351094e2a.js\",\"8974\",\"static/chunks/app/page-5fe4e4e656618c55.js\"],\"I18nProvider\"]\n7:I[13267,[\"7330\",\"static/chunks/d3ac728e-7964f816a1ca64e5.js\",\"3888\",\"static/chunks/e868780c-1584512c612787d7.js\",\"4908\",\"static/chunks/4908-bc77348603c9c216.js\",\"1278\",\"static/chunks/1278-d14efc5351094e2a.js\",\"8974\",\"static/chunks/app/page-5fe4e4e656618c55.js\"],\"AppShell\",1]\n8:I[90484,[],\"OutletBoundary\"]\na:I[90484,[],\"ViewportBoundary\"]\nc:I[90484,[],\"MetadataBoundary\"]\ne:I[27123,[],\"default\",1]\n:HL[\"/_next/static/css/9bcd6051db4f8890.css\",\"style\"]\n:HL[\"/_next/static/css/2f63bdc85a747c1b.css\",\"style\"]\n:HL[\"/_next/static/css/948bdf99ac6477ce.css\",\"style\"]\n:HL[\"/_next/static/css/08eddaaa4f97d65e.css\",\"style\"]\n:HL[\"/_next/static/css/3540eb37e32475c8.css\",\"style\"]\n0:{\"P\":null,\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9bcd6051db4f8890.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/2f63bdc85a747c1b.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/948bdf99ac6477ce.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/08eddaaa4f97d65e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"translate\":\"no\",\"className\":\"__variable_9e44ca notranslate\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"link\",null,{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"use-credentials\"}],[\"$\",\"meta\",null,{\"name\":\"google\",\"content\":\"notranslate\"}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){var t=\\\"auto\\\";try{var s=localStorage.getItem(\\\"pi-theme\\\");if([\\\"auto\\\",\\\"light\\\",\\\"mist\\\",\\\"lilac\\\",\\\"sand\\\",\\\"rose\\\",\\\"dark\\\",\\\"pine\\\",\\\"dusk\\\",\\\"ember\\\",\\\"slate\\\",\\\"contrast-light\\\",\\\"contrast-dark\\\",\\\"zenburn\\\"].includes(s))t=s}catch(e){}if(t===\\\"auto\\\")t=window.matchMedia(\\\"(prefers-color-scheme: dark)\\\").matches?\\\"dark\\\":\\\"light\\\";var r=document.documentElement;r.dataset.theme=t;r.classList.toggle(\\\"dark\\\",[\\\"dark\\\",\\\"pine\\\",\\\"dusk\\\",\\\"ember\\\",\\\"slate\\\",\\\"contrast-dark\\\",\\\"zenburn\\\"].includes(t))})();\"}}]]}],[\"$\",\"body\",null,{\"translate\":\"no\",\"className\":\"notranslate\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L4\",null,{}],false]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$5\",null,{\"children\":[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L7\",null,{}]}]}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/3540eb37e32475c8.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],{},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Ld\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"EemFyRH2znEKEODTd_e9W\"}\nb:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, viewport-fit=cover, interactive-widget=resizes-content\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#ffffff\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#1a1a1a\",\"media\":\"(prefers-color-scheme: dark)\"}]]\nf:I[86869,[],\"IconMark\"]\n9:null\nd:[[\"$\",\"title\",\"0\",{\"children\":\"PI-YUN\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"PI-YUN interface for the pi coding agent\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"PI-YUN\"}],[\"$\",\"meta\",\"3\",{\"name\":\"format-detection\",\"content\":\"telephone=no\"}],[\"$\",\"meta\",\"4\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"5\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"PI-YUN\"}],[\"$\",\"meta\",\"6\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"link\",\"7\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?49f1942df4a62dcc\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"8\",{\"rel\":\"icon\",\"href\":\"/icons/yun-mark-192.png\",\"sizes\":\"192x192\",\"type\":\"image/png\"}],[\"$\",\"link\",\"9\",{\"rel\":\"apple-touch-icon\",\"href\":\"/icons/yun-mark-apple-touch.png\",\"sizes\":\"180x180\",\"type\":\"image/png\"}],[\"$\",\"$Lf\",\"10\",{}]]\n"])</script></body></html>
|