@tasselx/pi-web 1.5.0 → 1.6.1
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 +18 -15
- package/.next/build-manifest.json +4 -4
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +7 -7
- package/.next/react-loadable-manifest.json +1 -1
- package/.next/required-server-files.js +7 -7
- package/.next/required-server-files.json +7 -7
- package/.next/routes-manifest.json +18 -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 +5 -5
- package/.next/server/app/_not-found.segments/_full.segment.rsc +5 -5
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
- package/.next/server/app/api/agent/[id]/bash-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agent/[id]/events/route.js +2 -2
- package/.next/server/app/api/agent/[id]/events/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agent/[id]/lease/route.js +1 -1
- package/.next/server/app/api/agent/[id]/lease/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agent/[id]/route.js +1 -1
- package/.next/server/app/api/agent/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agent/debug/route.js +2 -2
- package/.next/server/app/api/agent/debug/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agent/new/route.js +1 -1
- package/.next/server/app/api/agent/new/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agent/running/route.js +1 -1
- package/.next/server/app/api/agent/running/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app-update/route.js +1 -1
- package/.next/server/app/api/app-update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/api-key/[provider]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/login/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/login/[provider]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/logout/[provider]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/providers/route.js +1 -1
- package/.next/server/app/api/auth/providers/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/cache-miss-notices/route.js +1 -1
- package/.next/server/app/api/cache-miss-notices/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/cwd/browse/route.js +1 -1
- package/.next/server/app/api/cwd/browse/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/cwd/pick/route.js +1 -1
- package/.next/server/app/api/cwd/pick/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/cwd/validate/route.js +1 -1
- package/.next/server/app/api/cwd/validate/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/default-cwd/route.js +1 -1
- package/.next/server/app/api/default-cwd/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/file-index/route.js +1 -1
- package/.next/server/app/api/file-index/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/files/[...path]/route.js +1 -1
- package/.next/server/app/api/files/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/git/diff/route.js +2 -2
- package/.next/server/app/api/git/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/git/status/route.js +2 -2
- package/.next/server/app/api/git/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/home/route.js +1 -1
- package/.next/server/app/api/home/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/route.js +1 -1
- package/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/sign-in/[flowId]/route.js +1 -1
- package/.next/server/app/api/mcp/sign-in/[flowId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/sign-in/route.js +1 -1
- package/.next/server/app/api/mcp/sign-in/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mcp/test/route.js +1 -1
- package/.next/server/app/api/mcp/test/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models/enabled/route.js +1 -1
- package/.next/server/app/api/models/enabled/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models/refresh/route.js +1 -1
- package/.next/server/app/api/models/refresh/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models/route.js +1 -1
- package/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models-config/catalog/route.js +1 -1
- package/.next/server/app/api/models-config/catalog/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models-config/discover/route.js +1 -1
- package/.next/server/app/api/models-config/discover/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models-config/route.js +1 -1
- package/.next/server/app/api/models-config/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models-config/test/route.js +1 -1
- package/.next/server/app/api/models-config/test/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/open-in-explorer/route.js +1 -1
- package/.next/server/app/api/open-in-explorer/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/plugins/check/route.js +1 -1
- package/.next/server/app/api/plugins/check/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/plugins/route.js +1 -1
- package/.next/server/app/api/plugins/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/project-trust/route.js +1 -1
- package/.next/server/app/api/project-trust/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/provider-usage/query/route.js +1 -1
- package/.next/server/app/api/provider-usage/query/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/config/route.js +1 -1
- package/.next/server/app/api/push/config/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/subscribe/route.js +1 -1
- package/.next/server/app/api/push/subscribe/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/auto-name/route.js +2 -2
- package/.next/server/app/api/sessions/[id]/auto-name/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/context/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/export/route.js +2 -2
- package/.next/server/app/api/sessions/[id]/export/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/fork/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/fork/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/share/route.js +2 -2
- package/.next/server/app/api/sessions/[id]/share/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/state/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/delete/route.js +1 -1
- package/.next/server/app/api/sessions/delete/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/import/pick/route.js +1 -1
- package/.next/server/app/api/sessions/import/pick/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/import/route.js +2 -2
- package/.next/server/app/api/sessions/import/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/route.js +1 -1
- package/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/search/route.js +1 -1
- package/.next/server/app/api/sessions/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/stats/route.js +1 -1
- package/.next/server/app/api/sessions/stats/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/ui-state/route.js +1 -1
- package/.next/server/app/api/sessions/ui-state/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/check/route.js +1 -1
- package/.next/server/app/api/skills/check/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/check/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/content/route.js +1 -1
- package/.next/server/app/api/skills/content/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/content/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/import/pick/route.js +1 -0
- package/.next/server/app/api/skills/import/pick/route.js.nft.json +1 -0
- package/.next/server/app/api/skills/import/pick/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/skills/import/route.js +1 -0
- package/.next/server/app/api/skills/import/route.js.nft.json +1 -0
- package/.next/server/app/api/skills/import/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/skills/install/route.js +1 -1
- package/.next/server/app/api/skills/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/remove/route.js +1 -0
- package/.next/server/app/api/skills/remove/route.js.nft.json +1 -0
- package/.next/server/app/api/skills/remove/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/skills/route.js +1 -1
- package/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/search/route.js +1 -1
- package/.next/server/app/api/skills/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/update/route.js +1 -1
- package/.next/server/app/api/skills/update/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sleep-inhibit/route.js +1 -1
- package/.next/server/app/api/sleep-inhibit/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/subagents/[id]/route.js +1 -1
- package/.next/server/app/api/subagents/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/subagents/profiles/route.js +1 -1
- package/.next/server/app/api/subagents/profiles/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/subagents/settings/route.js +1 -1
- package/.next/server/app/api/subagents/settings/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/terminal/[id]/events/route.js +1 -1
- package/.next/server/app/api/terminal/[id]/events/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/terminal/[id]/route.js +1 -1
- package/.next/server/app/api/terminal/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/terminal/route.js +1 -1
- package/.next/server/app/api/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tools/settings/route.js +1 -1
- package/.next/server/app/api/tools/settings/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/web-auth/route.js +1 -1
- package/.next/server/app/api/web-auth/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/route.js +1 -1
- package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
- package/.next/server/app/favicon.ico/route.js +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +8 -8
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +7 -7
- package/.next/server/app/index.segments/_full.segment.rsc +8 -8
- package/.next/server/app/index.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/login/page.js +1 -1
- package/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +1 -1
- package/.next/server/app/login.rsc +7 -7
- package/.next/server/app/login.segments/_full.segment.rsc +7 -7
- package/.next/server/app/login.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +6 -6
- 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/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js +83 -10
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +18 -15
- package/.next/server/chunks/1906.js +1 -1
- package/.next/server/chunks/1944.js +1 -0
- package/.next/server/chunks/2243.js +1 -1
- package/.next/server/chunks/2430.js +3 -3
- package/.next/server/chunks/2970.js +1 -1
- package/.next/server/chunks/3757.js +1 -1
- package/.next/server/chunks/3824.js +1 -1
- package/.next/server/chunks/4315.js +1 -1
- package/.next/server/chunks/5582.js +2 -2
- package/.next/server/chunks/5799.js +1 -0
- package/.next/server/chunks/6429.js +8 -6
- package/.next/server/functions-config-manifest.json +1 -0
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/middleware.js +4 -4
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/preview-props.json +3 -3
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/1278-7223b9e9655c6650.js +1 -0
- package/.next/static/chunks/{7379.078f0917cc6a0349.js → 7379.dbf01c504140289e.js} +1 -1
- package/.next/static/chunks/app/_global-error/page-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/_not-found/{page-35dee0d93253f38c.js → page-1e1cf8cba5576cd4.js} +1 -1
- package/.next/static/chunks/app/api/agent/[id]/bash-output/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/events/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/lease/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/agent/debug/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/agent/new/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/agent/running/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/app-update/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/auth/login/[provider]/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/auth/providers/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/cache-miss-notices/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/cwd/browse/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/cwd/pick/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/cwd/validate/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/default-cwd/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/file-index/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/files/[...path]/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/git/diff/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/git/status/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/home/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/mcp/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/mcp/sign-in/[flowId]/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/mcp/sign-in/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/mcp/test/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/models/enabled/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/models/refresh/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/models/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/models-config/catalog/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/models-config/discover/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/models-config/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/models-config/test/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/open-in-explorer/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/plugins/check/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/plugins/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/project-trust/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/provider-usage/query/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/push/config/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/push/subscribe/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/context/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/export/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/fork/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/share/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/state/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/sessions/delete/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/sessions/import/pick/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/sessions/import/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/sessions/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/sessions/search/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/sessions/stats/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/sessions/ui-state/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/skills/check/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/skills/content/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/skills/import/pick/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/skills/import/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/skills/install/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/skills/remove/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/skills/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/skills/search/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/skills/update/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/sleep-inhibit/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/subagents/[id]/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/subagents/profiles/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/subagents/settings/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/terminal/[id]/events/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/terminal/[id]/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/terminal/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/tools/settings/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/web-auth/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/{layout-5f83006eeeda0674.js → layout-a29733531748d73d.js} +1 -1
- package/.next/static/chunks/app/login/{page-7d17aa0961f2fcbe.js → page-b414cd944710d72a.js} +1 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/app/page-9a4f80b84616d8c6.js +1202 -0
- package/.next/static/chunks/main-app-a98576891fdd8f60.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-30078bc26a2476fc.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-0136693aa0b2412d.js +1 -0
- package/.next/static/chunks/{webpack-95292085cd40fbc6.js → webpack-e76cafb8cfa7a24a.js} +1 -1
- package/.next/static/css/338a13865b07f69a.css +1 -0
- package/.next/static/css/c038d8937e704328.css +1 -0
- package/.next/static/kxN9W7vtCWqWWjxrXMwKG/_buildManifest.js +1 -0
- package/.next/trace +188 -183
- package/.next/trace-build +1 -1
- package/.next/types/app/api/agent/[id]/bash-output/route.ts +1 -1
- package/.next/types/app/api/agent/[id]/events/route.ts +1 -1
- package/.next/types/app/api/agent/[id]/lease/route.ts +1 -1
- package/.next/types/app/api/agent/[id]/route.ts +1 -1
- package/.next/types/app/api/agent/debug/route.ts +1 -1
- package/.next/types/app/api/agent/new/route.ts +1 -1
- package/.next/types/app/api/agent/running/route.ts +1 -1
- package/.next/types/app/api/app-update/route.ts +1 -1
- package/.next/types/app/api/auth/api-key/[provider]/route.ts +1 -1
- package/.next/types/app/api/auth/login/[provider]/route.ts +1 -1
- package/.next/types/app/api/auth/logout/[provider]/route.ts +1 -1
- package/.next/types/app/api/auth/providers/route.ts +1 -1
- package/.next/types/app/api/cache-miss-notices/route.ts +1 -1
- package/.next/types/app/api/cwd/browse/route.ts +1 -1
- package/.next/types/app/api/cwd/pick/route.ts +1 -1
- package/.next/types/app/api/cwd/validate/route.ts +1 -1
- package/.next/types/app/api/default-cwd/route.ts +1 -1
- package/.next/types/app/api/file-index/route.ts +1 -1
- package/.next/types/app/api/files/[...path]/route.ts +1 -1
- package/.next/types/app/api/git/diff/route.ts +1 -1
- package/.next/types/app/api/git/status/route.ts +1 -1
- package/.next/types/app/api/home/route.ts +1 -1
- package/.next/types/app/api/mcp/route.ts +1 -1
- package/.next/types/app/api/mcp/sign-in/[flowId]/route.ts +1 -1
- package/.next/types/app/api/mcp/sign-in/route.ts +1 -1
- package/.next/types/app/api/mcp/test/route.ts +1 -1
- package/.next/types/app/api/models/enabled/route.ts +1 -1
- package/.next/types/app/api/models/refresh/route.ts +1 -1
- package/.next/types/app/api/models/route.ts +1 -1
- package/.next/types/app/api/models-config/catalog/route.ts +1 -1
- package/.next/types/app/api/models-config/discover/route.ts +1 -1
- package/.next/types/app/api/models-config/route.ts +1 -1
- package/.next/types/app/api/models-config/test/route.ts +1 -1
- package/.next/types/app/api/open-in-explorer/route.ts +1 -1
- package/.next/types/app/api/plugins/check/route.ts +1 -1
- package/.next/types/app/api/plugins/route.ts +1 -1
- package/.next/types/app/api/project-trust/route.ts +1 -1
- package/.next/types/app/api/provider-usage/query/route.ts +1 -1
- package/.next/types/app/api/push/config/route.ts +1 -1
- package/.next/types/app/api/push/subscribe/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/auto-name/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/context/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/entries/[entryId]/thinking/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/export/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/fork/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/share/route.ts +1 -1
- package/.next/types/app/api/sessions/[id]/state/route.ts +1 -1
- package/.next/types/app/api/sessions/delete/route.ts +1 -1
- package/.next/types/app/api/sessions/import/pick/route.ts +1 -1
- package/.next/types/app/api/sessions/import/route.ts +1 -1
- package/.next/types/app/api/sessions/route.ts +1 -1
- package/.next/types/app/api/sessions/search/route.ts +1 -1
- package/.next/types/app/api/sessions/stats/route.ts +1 -1
- package/.next/types/app/api/sessions/ui-state/route.ts +1 -1
- package/.next/types/app/api/skills/check/route.ts +1 -1
- package/.next/types/app/api/skills/content/route.ts +1 -1
- package/.next/types/app/api/skills/import/pick/route.ts +355 -0
- package/.next/types/app/api/skills/import/route.ts +355 -0
- package/.next/types/app/api/skills/install/route.ts +1 -1
- package/.next/types/app/api/skills/remove/route.ts +355 -0
- package/.next/types/app/api/skills/route.ts +1 -1
- package/.next/types/app/api/skills/search/route.ts +1 -1
- package/.next/types/app/api/skills/update/route.ts +1 -1
- package/.next/types/app/api/sleep-inhibit/route.ts +1 -1
- package/.next/types/app/api/subagents/[id]/route.ts +1 -1
- package/.next/types/app/api/subagents/profiles/route.ts +1 -1
- package/.next/types/app/api/subagents/settings/route.ts +1 -1
- package/.next/types/app/api/terminal/[id]/events/route.ts +1 -1
- package/.next/types/app/api/terminal/[id]/route.ts +1 -1
- package/.next/types/app/api/terminal/route.ts +1 -1
- package/.next/types/app/api/tools/settings/route.ts +1 -1
- package/.next/types/app/api/web-auth/route.ts +1 -1
- package/.next/types/app/api/worktrees/route.ts +1 -1
- package/.next/types/app/layout.ts +1 -1
- package/.next/types/app/login/page.ts +1 -1
- package/.next/types/app/manifest.webmanifest/route.ts +355 -0
- package/.next/types/app/page.ts +1 -1
- package/.next/types/routes.d.ts +5 -1
- package/.next/types/validator.ts +40 -0
- package/README.md +4 -0
- package/package.json +1 -1
- package/.next/server/chunks/7979.js +0 -1
- package/.next/static/R5PN1Mg8bAb01xwQ2DM9k/_buildManifest.js +0 -1
- package/.next/static/chunks/1278-8eaba54dabdd20f4.js +0 -1
- package/.next/static/chunks/app/_global-error/page-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/bash-output/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/events/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/lease/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/agent/debug/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/agent/new/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/agent/running/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/app-update/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/auth/login/[provider]/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/auth/providers/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/cache-miss-notices/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/cwd/browse/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/cwd/pick/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/cwd/validate/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/default-cwd/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/file-index/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/files/[...path]/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/git/diff/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/git/status/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/home/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/mcp/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/mcp/sign-in/[flowId]/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/mcp/sign-in/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/mcp/test/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/models/enabled/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/models/refresh/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/models/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/models-config/catalog/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/models-config/discover/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/models-config/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/models-config/test/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/open-in-explorer/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/plugins/check/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/plugins/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/project-trust/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/provider-usage/query/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/push/config/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/push/subscribe/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/context/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/export/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/fork/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/share/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/state/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/sessions/delete/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/sessions/import/pick/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/sessions/import/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/sessions/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/sessions/search/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/sessions/stats/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/sessions/ui-state/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/skills/check/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/skills/content/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/skills/install/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/skills/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/skills/search/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/skills/update/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/sleep-inhibit/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/subagents/[id]/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/subagents/profiles/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/subagents/settings/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/terminal/[id]/events/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/terminal/[id]/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/terminal/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/tools/settings/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/web-auth/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/api/worktrees/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/app/page-5c9e0f41ea07cfdd.js +0 -1129
- package/.next/static/chunks/main-app-4b56fc85be3f7823.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-064e367d6001dbac.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-372b1b76af46907f.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-372b1b76af46907f.js +0 -1
- package/.next/static/css/600a486e13adbe4a.css +0 -1
- package/.next/static/css/f38e4e9c1d25d157.css +0 -1
- /package/.next/static/{R5PN1Mg8bAb01xwQ2DM9k → kxN9W7vtCWqWWjxrXMwKG}/_ssgManifest.js +0 -0
|
@@ -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){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(!("object"==typeof(b=c)&&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")},88318:(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:"/Users/tassel/pi-web/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{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,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!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.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:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,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=T.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")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},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=88318));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(!("object"==typeof(b=c)&&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)}}},39981:(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:"/home/runner/work/pi-web/pi-web/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{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,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!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.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:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,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=T.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")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},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=39981));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/tools/settings/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"/
|
|
1
|
+
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/tools/settings/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"/home/runner/work/pi-web/pi-web/app/api/tools/settings/route":[]},"rscModuleMapping":{},"edgeRscModuleMapping":{}};
|
|
@@ -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")},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")},64718:(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:"/Users/tassel/pi-web/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{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,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!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.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:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,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=T.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")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},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"))}},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=64718));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")},25353:(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:"/home/runner/work/pi-web/pi-web/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{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,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!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.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:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,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=T.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")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},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"))}},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=25353));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/web-auth/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"/
|
|
1
|
+
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/web-auth/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"/home/runner/work/pi-web/pi-web/app/api/web-auth/route":[]},"rscModuleMapping":{},"edgeRscModuleMapping":{}};
|
|
@@ -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")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},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);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")},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$:()=>k,B7:()=>l,mc:()=>j,uK:()=>h.uK,wz:()=>e.wz});var e=c(25252),f=c(82536),g=c(40402),h=c(58864),i=a([g]);async function j(){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);return globalThis.__piAllowedRootsCache={roots:d,expiresAt:a+5e3},d}function k(a,b){return(0,f.o4)(a,b)}function l(a,b){return(0,f.xk)(a,b)}g=(i.then?(await i)():i)[0],d()}catch(a){d(a)}})},84490:(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:"/Users/tassel/pi-web/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{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,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!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.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:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,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=T.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")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},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,426,5582],()=>b(b.s=84490));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")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},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")},57411:(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:"/home/runner/work/pi-web/pi-web/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{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,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!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.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:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,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=T.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")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},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$:()=>k,B7:()=>l,mc:()=>j,uK:()=>h.uK,wz:()=>e.wz});var e=c(25252),f=c(82536),g=c(40402),h=c(58864),i=a([g]);async function j(){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);return globalThis.__piAllowedRootsCache={roots:d,expiresAt:a+5e3},d}function k(a,b){return(0,f.o4)(a,b)}function l(a,b){return(0,f.xk)(a,b)}g=(i.then?(await i)():i)[0],d()}catch(a){d(a)}})},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,426,5582],()=>b(b.s=57411));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/worktrees/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"/
|
|
1
|
+
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/worktrees/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{},"edgeSSRModuleMapping":{},"clientModules":{},"entryCSSFiles":{"/home/runner/work/pi-web/pi-web/app/api/worktrees/route":[]},"rscModuleMapping":{},"edgeRscModuleMapping":{}};
|
|
@@ -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")},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")},24744:(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"},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},37661:(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=%2FUsers%2Ftassel%2Fpi-web%2Fapp%2Ffavicon.ico&isDynamicRouteExtension=0!?__next_metadata_route__",nextConfigOutput:"",userland:()=>c(24744),...{}}),{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{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,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!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.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:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,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=T.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")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:a=>{a.exports=require("crypto")},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=37661));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")},32688:(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"},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")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},70774:(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=%2Fhome%2Frunner%2Fwork%2Fpi-web%2Fpi-web%2Fapp%2Ffavicon.ico&isDynamicRouteExtension=0!?__next_metadata_route__",nextConfigOutput:"",userland:()=>c(32688),...{}}),{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{instrumentation:e}=await v.ensureInstrumentation(a,{deferSpans:!0});return v.traceRequest(a,{tracer:(0,h.getTracer)(),spanName:`${a.method||"GET"} ${d}`,httpTarget:a.url,instrumentation:e},(e,f)=>B(a,b,c,d,!1,e,f))}async function B(a,b,c,d,f,w,x){let y=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:f});if(!y)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:z,deploymentId:A,params:B,nextConfig:C,parsedUrl:D,isDraftMode:E,prerenderManifest:F,routerServerContext:G,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,resolvedPathname:J,clientReferenceManifest:K,serverActionsManifest:L,previewProps:M}=y,N=(0,j.normalizeAppPath)(d),O=!!F.routes[J]&&(v.isDev||(0,t.isRouteCacheOwner)(J,v.cacheOwner,F.routes[J])),P=!!(F.dynamicRoutes[N]||O),Q=async()=>((null==G?void 0:G.render404)?await G.render404(a,b,D,!1):b.end("This page could not be found"),null);if(P&&!E){let a=F.dynamicRoutes[N];if(a&&!1===a.fallback&&!O){if(C.adapterPath)return await Q();throw new s.NoFallbackError}}let R=null;!P||v.isDev||E||(R="/index"===(R=J)?"/":R),L&&K&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:K,serverActionsManifest:L});let S=a.method||"GET",T=(0,h.getTracer)(),U=!!(null==G?void 0:G.isWrappedByNextServer),V=!!(0,g.getRequestMeta)(a,"minimalMode"),W=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,C,M,F,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let X={params:B,previewProps:M,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:E,incrementalCache:W,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:z,deploymentId:A}},Y=new k.NodeNextRequest(a),Z=new k.NodeNextResponse(b),$=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(b)),_=async({previousCacheEntry:e})=>{try{if(!V&&H&&I&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===R?await v.handle($,X):await v.prerender($,X);a.fetchMetrics=X.renderOpts.fetchMetrics;let f=X.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=X.renderOpts.collectedTags;if(!P)return await (0,o.I)(Y,Z,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!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,e=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?C.expireTime:void 0:X.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:null!==R,isOnDemandRevalidate:H})},!1,G),b}},aa=async d=>{try{var f,g;let d=await v.handleResponse({req:a,nextConfig:C,cacheKey:R,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:F,isRoutePPREnabled:!1,isOnDemandRevalidate:H,revalidateOnlyGenerated:I,responseGenerator:_,waitUntil:c.waitUntil,isMinimalMode:V});if(null!==d&&"error"in d)throw d.error;if(!P)return;if((null==d||null==(f=d.value)?void 0:f.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(g=d.value)?void 0:g.kind}`);V||b.setHeader("x-nextjs-cache",H?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);V&&P||h.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(Y,Z,new Response(d.value.body,{headers:h,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==R,isOnDemandRevalidate:H})},!1,G),P)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(Y,Z,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=T.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")||N,f=`${S} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":f}),d.updateName(f),x&&x!==d&&(x.setAttribute("http.route",e),x.updateName(f))})()}};U||void 0===a.url||null==w||w.setAttribute("http.target",a.url),await aa(w)}},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=70774));module.exports=c})();
|