putmein-test 1.0.0
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/README.md +93 -0
- package/bin/ray.js +311 -0
- package/dist/brain/brain +0 -0
- package/dist/cohen/cohen +0 -0
- package/dist/ray/.next/BUILD_ID +1 -0
- package/dist/ray/.next/app-path-routes-manifest.json +78 -0
- package/dist/ray/.next/build-manifest.json +25 -0
- package/dist/ray/.next/package.json +1 -0
- package/dist/ray/.next/prerender-manifest.json +157 -0
- package/dist/ray/.next/required-server-files.json +352 -0
- package/dist/ray/.next/routes-manifest.json +558 -0
- package/dist/ray/.next/server/app/(auth)/login/page/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/(auth)/login/page/build-manifest.json +21 -0
- package/dist/ray/.next/server/app/(auth)/login/page/next-font-manifest.json +11 -0
- package/dist/ray/.next/server/app/(auth)/login/page/react-loadable-manifest.json +1 -0
- package/dist/ray/.next/server/app/(auth)/login/page/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/(auth)/login/page.js +14 -0
- package/dist/ray/.next/server/app/(auth)/login/page.js.map +5 -0
- package/dist/ray/.next/server/app/(auth)/login/page.js.nft.json +1 -0
- package/dist/ray/.next/server/app/(auth)/login/page_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/(auth)/register/page/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/(auth)/register/page/build-manifest.json +21 -0
- package/dist/ray/.next/server/app/(auth)/register/page/next-font-manifest.json +11 -0
- package/dist/ray/.next/server/app/(auth)/register/page/react-loadable-manifest.json +1 -0
- package/dist/ray/.next/server/app/(auth)/register/page/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/(auth)/register/page.js +14 -0
- package/dist/ray/.next/server/app/(auth)/register/page.js.map +5 -0
- package/dist/ray/.next/server/app/(auth)/register/page.js.nft.json +1 -0
- package/dist/ray/.next/server/app/(auth)/register/page_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/(dashboard)/chat/[sessionId]/page/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/(dashboard)/chat/[sessionId]/page/build-manifest.json +21 -0
- package/dist/ray/.next/server/app/(dashboard)/chat/[sessionId]/page/next-font-manifest.json +11 -0
- package/dist/ray/.next/server/app/(dashboard)/chat/[sessionId]/page/react-loadable-manifest.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/chat/[sessionId]/page/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/(dashboard)/chat/[sessionId]/page.js +17 -0
- package/dist/ray/.next/server/app/(dashboard)/chat/[sessionId]/page.js.map +5 -0
- package/dist/ray/.next/server/app/(dashboard)/chat/[sessionId]/page.js.nft.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/chat/[sessionId]/page_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/(dashboard)/chat/page/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/(dashboard)/chat/page/build-manifest.json +21 -0
- package/dist/ray/.next/server/app/(dashboard)/chat/page/next-font-manifest.json +11 -0
- package/dist/ray/.next/server/app/(dashboard)/chat/page/react-loadable-manifest.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/(dashboard)/chat/page.js +16 -0
- package/dist/ray/.next/server/app/(dashboard)/chat/page.js.map +5 -0
- package/dist/ray/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/(dashboard)/cicd/[id]/page/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/(dashboard)/cicd/[id]/page/build-manifest.json +21 -0
- package/dist/ray/.next/server/app/(dashboard)/cicd/[id]/page/next-font-manifest.json +11 -0
- package/dist/ray/.next/server/app/(dashboard)/cicd/[id]/page/react-loadable-manifest.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/cicd/[id]/page/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/(dashboard)/cicd/[id]/page.js +16 -0
- package/dist/ray/.next/server/app/(dashboard)/cicd/[id]/page.js.map +5 -0
- package/dist/ray/.next/server/app/(dashboard)/cicd/[id]/page.js.nft.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/cicd/[id]/page_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/(dashboard)/cicd/page/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/(dashboard)/cicd/page/build-manifest.json +21 -0
- package/dist/ray/.next/server/app/(dashboard)/cicd/page/next-font-manifest.json +11 -0
- package/dist/ray/.next/server/app/(dashboard)/cicd/page/react-loadable-manifest.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/cicd/page/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/(dashboard)/cicd/page.js +16 -0
- package/dist/ray/.next/server/app/(dashboard)/cicd/page.js.map +5 -0
- package/dist/ray/.next/server/app/(dashboard)/cicd/page.js.nft.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/cicd/page_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/(dashboard)/containers/[id]/page/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/(dashboard)/containers/[id]/page/build-manifest.json +21 -0
- package/dist/ray/.next/server/app/(dashboard)/containers/[id]/page/next-font-manifest.json +11 -0
- package/dist/ray/.next/server/app/(dashboard)/containers/[id]/page/react-loadable-manifest.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/containers/[id]/page/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/(dashboard)/containers/[id]/page.js +16 -0
- package/dist/ray/.next/server/app/(dashboard)/containers/[id]/page.js.map +5 -0
- package/dist/ray/.next/server/app/(dashboard)/containers/[id]/page.js.nft.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/containers/[id]/page_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/(dashboard)/containers/page/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/(dashboard)/containers/page/build-manifest.json +21 -0
- package/dist/ray/.next/server/app/(dashboard)/containers/page/next-font-manifest.json +11 -0
- package/dist/ray/.next/server/app/(dashboard)/containers/page/react-loadable-manifest.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/containers/page/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/(dashboard)/containers/page.js +16 -0
- package/dist/ray/.next/server/app/(dashboard)/containers/page.js.map +5 -0
- package/dist/ray/.next/server/app/(dashboard)/containers/page.js.nft.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/containers/page_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/(dashboard)/deployments/[id]/page/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/(dashboard)/deployments/[id]/page/build-manifest.json +21 -0
- package/dist/ray/.next/server/app/(dashboard)/deployments/[id]/page/next-font-manifest.json +11 -0
- package/dist/ray/.next/server/app/(dashboard)/deployments/[id]/page/react-loadable-manifest.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/deployments/[id]/page/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/(dashboard)/deployments/[id]/page.js +16 -0
- package/dist/ray/.next/server/app/(dashboard)/deployments/[id]/page.js.map +5 -0
- package/dist/ray/.next/server/app/(dashboard)/deployments/[id]/page.js.nft.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/deployments/[id]/page_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/(dashboard)/deployments/page/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/(dashboard)/deployments/page/build-manifest.json +21 -0
- package/dist/ray/.next/server/app/(dashboard)/deployments/page/next-font-manifest.json +11 -0
- package/dist/ray/.next/server/app/(dashboard)/deployments/page/react-loadable-manifest.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/deployments/page/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/(dashboard)/deployments/page.js +16 -0
- package/dist/ray/.next/server/app/(dashboard)/deployments/page.js.map +5 -0
- package/dist/ray/.next/server/app/(dashboard)/deployments/page.js.nft.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/deployments/page_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/(dashboard)/github/page/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/(dashboard)/github/page/build-manifest.json +21 -0
- package/dist/ray/.next/server/app/(dashboard)/github/page/next-font-manifest.json +11 -0
- package/dist/ray/.next/server/app/(dashboard)/github/page/react-loadable-manifest.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/github/page/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/(dashboard)/github/page.js +16 -0
- package/dist/ray/.next/server/app/(dashboard)/github/page.js.map +5 -0
- package/dist/ray/.next/server/app/(dashboard)/github/page.js.nft.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/github/page_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/(dashboard)/monitor/[id]/page/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/(dashboard)/monitor/[id]/page/build-manifest.json +21 -0
- package/dist/ray/.next/server/app/(dashboard)/monitor/[id]/page/next-font-manifest.json +11 -0
- package/dist/ray/.next/server/app/(dashboard)/monitor/[id]/page/react-loadable-manifest.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/monitor/[id]/page/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/(dashboard)/monitor/[id]/page.js +16 -0
- package/dist/ray/.next/server/app/(dashboard)/monitor/[id]/page.js.map +5 -0
- package/dist/ray/.next/server/app/(dashboard)/monitor/[id]/page.js.nft.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/monitor/[id]/page_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/(dashboard)/monitor/page/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/(dashboard)/monitor/page/build-manifest.json +21 -0
- package/dist/ray/.next/server/app/(dashboard)/monitor/page/next-font-manifest.json +11 -0
- package/dist/ray/.next/server/app/(dashboard)/monitor/page/react-loadable-manifest.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/monitor/page/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/(dashboard)/monitor/page.js +16 -0
- package/dist/ray/.next/server/app/(dashboard)/monitor/page.js.map +5 -0
- package/dist/ray/.next/server/app/(dashboard)/monitor/page.js.nft.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/monitor/page_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/(dashboard)/page/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/(dashboard)/page/build-manifest.json +21 -0
- package/dist/ray/.next/server/app/(dashboard)/page/next-font-manifest.json +11 -0
- package/dist/ray/.next/server/app/(dashboard)/page/react-loadable-manifest.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/page/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/(dashboard)/page.js +15 -0
- package/dist/ray/.next/server/app/(dashboard)/page.js.map +5 -0
- package/dist/ray/.next/server/app/(dashboard)/page.js.nft.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/page_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/(dashboard)/projects/[id]/page/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/(dashboard)/projects/[id]/page/build-manifest.json +21 -0
- package/dist/ray/.next/server/app/(dashboard)/projects/[id]/page/next-font-manifest.json +11 -0
- package/dist/ray/.next/server/app/(dashboard)/projects/[id]/page/react-loadable-manifest.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/projects/[id]/page/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/(dashboard)/projects/[id]/page.js +16 -0
- package/dist/ray/.next/server/app/(dashboard)/projects/[id]/page.js.map +5 -0
- package/dist/ray/.next/server/app/(dashboard)/projects/[id]/page.js.nft.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/projects/[id]/page_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/(dashboard)/projects/page/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/(dashboard)/projects/page/build-manifest.json +21 -0
- package/dist/ray/.next/server/app/(dashboard)/projects/page/next-font-manifest.json +11 -0
- package/dist/ray/.next/server/app/(dashboard)/projects/page/react-loadable-manifest.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/projects/page/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/(dashboard)/projects/page.js +16 -0
- package/dist/ray/.next/server/app/(dashboard)/projects/page.js.map +5 -0
- package/dist/ray/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/(dashboard)/servers/[id]/page/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/(dashboard)/servers/[id]/page/build-manifest.json +21 -0
- package/dist/ray/.next/server/app/(dashboard)/servers/[id]/page/next-font-manifest.json +11 -0
- package/dist/ray/.next/server/app/(dashboard)/servers/[id]/page/react-loadable-manifest.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/servers/[id]/page/server-reference-manifest.json +16 -0
- package/dist/ray/.next/server/app/(dashboard)/servers/[id]/page.js +16 -0
- package/dist/ray/.next/server/app/(dashboard)/servers/[id]/page.js.map +5 -0
- package/dist/ray/.next/server/app/(dashboard)/servers/[id]/page.js.nft.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/servers/[id]/page_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/(dashboard)/servers/page/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/(dashboard)/servers/page/build-manifest.json +21 -0
- package/dist/ray/.next/server/app/(dashboard)/servers/page/next-font-manifest.json +11 -0
- package/dist/ray/.next/server/app/(dashboard)/servers/page/react-loadable-manifest.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/servers/page/server-reference-manifest.json +16 -0
- package/dist/ray/.next/server/app/(dashboard)/servers/page.js +16 -0
- package/dist/ray/.next/server/app/(dashboard)/servers/page.js.map +5 -0
- package/dist/ray/.next/server/app/(dashboard)/servers/page.js.nft.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/servers/page_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/(dashboard)/settings/page/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/(dashboard)/settings/page/build-manifest.json +21 -0
- package/dist/ray/.next/server/app/(dashboard)/settings/page/next-font-manifest.json +11 -0
- package/dist/ray/.next/server/app/(dashboard)/settings/page/react-loadable-manifest.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/settings/page/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/(dashboard)/settings/page.js +16 -0
- package/dist/ray/.next/server/app/(dashboard)/settings/page.js.map +5 -0
- package/dist/ray/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -0
- package/dist/ray/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/_global-error/page/build-manifest.json +21 -0
- package/dist/ray/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
- package/dist/ray/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
- package/dist/ray/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/_global-error/page.js +9 -0
- package/dist/ray/.next/server/app/_global-error/page.js.map +5 -0
- package/dist/ray/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/dist/ray/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/_global-error.html +1 -0
- package/dist/ray/.next/server/app/_global-error.meta +22 -0
- package/dist/ray/.next/server/app/_global-error.rsc +15 -0
- package/dist/ray/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +20 -0
- package/dist/ray/.next/server/app/_global-error.segments/_full.segment.rsc +15 -0
- package/dist/ray/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/dist/ray/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/_not-found/page/build-manifest.json +21 -0
- package/dist/ray/.next/server/app/_not-found/page/next-font-manifest.json +11 -0
- package/dist/ray/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
- package/dist/ray/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/_not-found/page.js +12 -0
- package/dist/ray/.next/server/app/_not-found/page.js.map +5 -0
- package/dist/ray/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/dist/ray/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/_not-found.html +1 -0
- package/dist/ray/.next/server/app/_not-found.meta +27 -0
- package/dist/ray/.next/server/app/_not-found.rsc +16 -0
- package/dist/ray/.next/server/app/_not-found.segments/_full.segment.rsc +16 -0
- package/dist/ray/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +22 -0
- package/dist/ray/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -0
- package/dist/ray/.next/server/app/api/auth/login/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/auth/login/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/auth/login/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/auth/login/route.js +10 -0
- package/dist/ray/.next/server/app/api/auth/login/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/auth/login/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/auth/login/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/auth/logout/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/auth/logout/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/auth/logout/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/auth/logout/route.js +7 -0
- package/dist/ray/.next/server/app/api/auth/logout/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/auth/logout/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/auth/logout/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/auth/register/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/auth/register/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/auth/register/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/auth/register/route.js +10 -0
- package/dist/ray/.next/server/app/api/auth/register/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/auth/register/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/auth/register/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/chat/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/chat/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/chat/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/chat/route.js +10 -0
- package/dist/ray/.next/server/app/api/chat/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/chat/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/chat/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/cicd/[id]/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/cicd/[id]/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/cicd/[id]/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/cicd/[id]/route.js +11 -0
- package/dist/ray/.next/server/app/api/cicd/[id]/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/cicd/[id]/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/cicd/[id]/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/cicd/poll/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/cicd/poll/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/cicd/poll/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/cicd/poll/route.js +11 -0
- package/dist/ray/.next/server/app/api/cicd/poll/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/cicd/poll/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/cicd/poll/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/cicd/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/cicd/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/cicd/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/cicd/route.js +12 -0
- package/dist/ray/.next/server/app/api/cicd/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/cicd/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/cicd/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/containers/[id]/action/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/containers/[id]/action/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/containers/[id]/action/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/containers/[id]/action/route.js +9 -0
- package/dist/ray/.next/server/app/api/containers/[id]/action/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/containers/[id]/action/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/containers/[id]/action/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/containers/[id]/logs/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/containers/[id]/logs/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/containers/[id]/logs/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/containers/[id]/logs/route.js +9 -0
- package/dist/ray/.next/server/app/api/containers/[id]/logs/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/containers/[id]/logs/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/containers/[id]/logs/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/containers/[id]/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/containers/[id]/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/containers/[id]/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/containers/[id]/route.js +10 -0
- package/dist/ray/.next/server/app/api/containers/[id]/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/containers/[id]/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/containers/[id]/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/containers/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/containers/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/containers/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/containers/route.js +10 -0
- package/dist/ray/.next/server/app/api/containers/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/containers/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/containers/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/deploy/[id]/action/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/deploy/[id]/action/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/deploy/[id]/action/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/deploy/[id]/action/route.js +11 -0
- package/dist/ray/.next/server/app/api/deploy/[id]/action/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/deploy/[id]/action/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/deploy/[id]/action/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/deploy/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/deploy/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/deploy/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/deploy/route.js +11 -0
- package/dist/ray/.next/server/app/api/deploy/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/deploy/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/deploy/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/deploy/upload/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/deploy/upload/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/deploy/upload/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/deploy/upload/route.js +10 -0
- package/dist/ray/.next/server/app/api/deploy/upload/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/deploy/upload/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/deploy/upload/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/deployments/[id]/diagnose/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/deployments/[id]/diagnose/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/deployments/[id]/diagnose/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/deployments/[id]/diagnose/route.js +10 -0
- package/dist/ray/.next/server/app/api/deployments/[id]/diagnose/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/deployments/[id]/diagnose/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/deployments/[id]/diagnose/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/deployments/[id]/redeploy/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/deployments/[id]/redeploy/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/deployments/[id]/redeploy/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/deployments/[id]/redeploy/route.js +10 -0
- package/dist/ray/.next/server/app/api/deployments/[id]/redeploy/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/deployments/[id]/redeploy/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/deployments/[id]/redeploy/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/deployments/[id]/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/deployments/[id]/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/deployments/[id]/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/deployments/[id]/route.js +10 -0
- package/dist/ray/.next/server/app/api/deployments/[id]/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/deployments/[id]/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/deployments/[id]/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/deployments/active/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/deployments/active/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/deployments/active/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/deployments/active/route.js +11 -0
- package/dist/ray/.next/server/app/api/deployments/active/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/deployments/active/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/deployments/active/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/deployments/internal/save-deployment/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/deployments/internal/save-deployment/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/deployments/internal/save-deployment/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/deployments/internal/save-deployment/route.js +9 -0
- package/dist/ray/.next/server/app/api/deployments/internal/save-deployment/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/deployments/internal/save-deployment/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/deployments/internal/save-deployment/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/deployments/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/deployments/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/deployments/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/deployments/route.js +11 -0
- package/dist/ray/.next/server/app/api/deployments/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/deployments/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/deployments/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/github/app/callback/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/github/app/callback/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/github/app/callback/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/github/app/callback/route.js +11 -0
- package/dist/ray/.next/server/app/api/github/app/callback/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/github/app/callback/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/github/app/callback/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/github/app/manifest/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/github/app/manifest/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/github/app/manifest/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/github/app/manifest/route.js +7 -0
- package/dist/ray/.next/server/app/api/github/app/manifest/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/github/app/manifest/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/github/app/manifest/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/github/connect/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/github/connect/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/github/connect/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/github/connect/route.js +10 -0
- package/dist/ray/.next/server/app/api/github/connect/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/github/connect/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/github/connect/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/github/repos/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/github/repos/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/github/repos/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/github/repos/route.js +10 -0
- package/dist/ray/.next/server/app/api/github/repos/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/github/repos/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/github/repos/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/github/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/github/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/github/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/github/route.js +11 -0
- package/dist/ray/.next/server/app/api/github/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/github/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/github/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/github/status/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/github/status/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/github/status/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/github/status/route.js +10 -0
- package/dist/ray/.next/server/app/api/github/status/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/github/status/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/github/status/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/monitor/alerts/[id]/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/monitor/alerts/[id]/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/monitor/alerts/[id]/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/monitor/alerts/[id]/route.js +10 -0
- package/dist/ray/.next/server/app/api/monitor/alerts/[id]/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/monitor/alerts/[id]/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/monitor/alerts/[id]/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/monitor/alerts/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/monitor/alerts/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/monitor/alerts/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/monitor/alerts/route.js +10 -0
- package/dist/ray/.next/server/app/api/monitor/alerts/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/monitor/alerts/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/monitor/alerts/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/monitor/internal/add-project/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/monitor/internal/add-project/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/monitor/internal/add-project/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/monitor/internal/add-project/route.js +9 -0
- package/dist/ray/.next/server/app/api/monitor/internal/add-project/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/monitor/internal/add-project/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/monitor/internal/add-project/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/monitor/internal/update-project/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/monitor/internal/update-project/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/monitor/internal/update-project/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/monitor/internal/update-project/route.js +8 -0
- package/dist/ray/.next/server/app/api/monitor/internal/update-project/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/monitor/internal/update-project/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/monitor/internal/update-project/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/monitor/process/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/monitor/process/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/monitor/process/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/monitor/process/route.js +9 -0
- package/dist/ray/.next/server/app/api/monitor/process/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/monitor/process/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/monitor/process/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/diagnose/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/diagnose/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/diagnose/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/diagnose/route.js +10 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/diagnose/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/diagnose/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/diagnose/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/fix/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/fix/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/fix/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/fix/route.js +10 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/fix/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/fix/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/fix/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/logs/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/logs/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/logs/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/logs/route.js +10 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/logs/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/logs/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/logs/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/memory/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/memory/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/memory/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/memory/route.js +10 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/memory/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/memory/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/memory/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/route.js +11 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/run/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/run/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/run/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/run/route.js +11 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/run/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/run/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/monitor/projects/[id]/run/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/monitor/projects/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/monitor/projects/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/monitor/projects/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/monitor/projects/route.js +11 -0
- package/dist/ray/.next/server/app/api/monitor/projects/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/monitor/projects/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/monitor/projects/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/monitor/stream/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/monitor/stream/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/monitor/stream/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/monitor/stream/route.js +9 -0
- package/dist/ray/.next/server/app/api/monitor/stream/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/monitor/stream/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/monitor/stream/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/ports/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/ports/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/ports/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/ports/route.js +10 -0
- package/dist/ray/.next/server/app/api/ports/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/ports/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/ports/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/projects/[id]/domain-check/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/projects/[id]/domain-check/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/projects/[id]/domain-check/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/projects/[id]/domain-check/route.js +9 -0
- package/dist/ray/.next/server/app/api/projects/[id]/domain-check/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/projects/[id]/domain-check/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/projects/[id]/domain-check/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/projects/[id]/env/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/projects/[id]/env/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/projects/[id]/env/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/projects/[id]/env/route.js +11 -0
- package/dist/ray/.next/server/app/api/projects/[id]/env/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/projects/[id]/env/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/projects/[id]/env/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/projects/[id]/file-content/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/projects/[id]/file-content/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/projects/[id]/file-content/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/projects/[id]/file-content/route.js +10 -0
- package/dist/ray/.next/server/app/api/projects/[id]/file-content/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/projects/[id]/file-content/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/projects/[id]/file-content/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/projects/[id]/files/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/projects/[id]/files/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/projects/[id]/files/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/projects/[id]/files/route.js +10 -0
- package/dist/ray/.next/server/app/api/projects/[id]/files/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/projects/[id]/files/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/projects/[id]/files/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/projects/[id]/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/projects/[id]/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/projects/[id]/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/projects/[id]/route.js +11 -0
- package/dist/ray/.next/server/app/api/projects/[id]/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/projects/[id]/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/projects/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/projects/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/projects/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/projects/route.js +11 -0
- package/dist/ray/.next/server/app/api/projects/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/projects/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/projects/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/sessions/[id]/generate-title/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/sessions/[id]/generate-title/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/sessions/[id]/generate-title/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/sessions/[id]/generate-title/route.js +10 -0
- package/dist/ray/.next/server/app/api/sessions/[id]/generate-title/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/sessions/[id]/generate-title/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/sessions/[id]/generate-title/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/sessions/[id]/messages/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/sessions/[id]/messages/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/sessions/[id]/messages/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/sessions/[id]/messages/route.js +10 -0
- package/dist/ray/.next/server/app/api/sessions/[id]/messages/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/sessions/[id]/messages/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/sessions/[id]/messages/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/sessions/[id]/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/sessions/[id]/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/sessions/[id]/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/sessions/[id]/route.js +10 -0
- package/dist/ray/.next/server/app/api/sessions/[id]/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/sessions/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/sessions/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/sessions/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/sessions/route.js +10 -0
- package/dist/ray/.next/server/app/api/sessions/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/sessions/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/sessions/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/settings/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/settings/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/settings/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/settings/route.js +9 -0
- package/dist/ray/.next/server/app/api/settings/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/settings/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/settings/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/webhooks/github/[id]/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/webhooks/github/[id]/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/webhooks/github/[id]/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/webhooks/github/[id]/route.js +8 -0
- package/dist/ray/.next/server/app/api/webhooks/github/[id]/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/webhooks/github/[id]/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/webhooks/github/[id]/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/api/webhooks/github/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/api/webhooks/github/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/api/webhooks/github/route/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/api/webhooks/github/route.js +9 -0
- package/dist/ray/.next/server/app/api/webhooks/github/route.js.map +5 -0
- package/dist/ray/.next/server/app/api/webhooks/github/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/api/webhooks/github/route_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/favicon.ico/route/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/favicon.ico/route/build-manifest.json +12 -0
- package/dist/ray/.next/server/app/favicon.ico/route.js +8 -0
- package/dist/ray/.next/server/app/favicon.ico/route.js.map +5 -0
- package/dist/ray/.next/server/app/favicon.ico/route.js.nft.json +1 -0
- package/dist/ray/.next/server/app/favicon.ico.body +0 -0
- package/dist/ray/.next/server/app/favicon.ico.meta +1 -0
- package/dist/ray/.next/server/app/login.html +1 -0
- package/dist/ray/.next/server/app/login.meta +31 -0
- package/dist/ray/.next/server/app/login.rsc +22 -0
- package/dist/ray/.next/server/app/login.segments/!KGF1dGgp/login/__PAGE__.segment.rsc +27 -0
- package/dist/ray/.next/server/app/login.segments/_full.segment.rsc +22 -0
- package/dist/ray/.next/server/app/login.segments/_tree.segment.rsc +4 -0
- package/dist/ray/.next/server/app/page/app-paths-manifest.json +3 -0
- package/dist/ray/.next/server/app/page/build-manifest.json +21 -0
- package/dist/ray/.next/server/app/page/next-font-manifest.json +11 -0
- package/dist/ray/.next/server/app/page/react-loadable-manifest.json +1 -0
- package/dist/ray/.next/server/app/page/server-reference-manifest.json +4 -0
- package/dist/ray/.next/server/app/page.js +15 -0
- package/dist/ray/.next/server/app/page.js.map +5 -0
- package/dist/ray/.next/server/app/page.js.nft.json +1 -0
- package/dist/ray/.next/server/app/page_client-reference-manifest.js +3 -0
- package/dist/ray/.next/server/app/register.html +1 -0
- package/dist/ray/.next/server/app/register.meta +31 -0
- package/dist/ray/.next/server/app/register.rsc +22 -0
- package/dist/ray/.next/server/app/register.segments/!KGF1dGgp/register/__PAGE__.segment.rsc +27 -0
- package/dist/ray/.next/server/app/register.segments/_full.segment.rsc +22 -0
- package/dist/ray/.next/server/app/register.segments/_tree.segment.rsc +4 -0
- package/dist/ray/.next/server/app-paths-manifest.json +78 -0
- package/dist/ray/.next/server/chunks/1oeh_server_app_api_deployments_internal_save-deployment_route_actions_16l57wt.js +3 -0
- package/dist/ray/.next/server/chunks/1oeh_server_app_api_monitor_internal_update-project_route_actions_0rv-_k_.js +3 -0
- package/dist/ray/.next/server/chunks/1oeh_server_app_api_monitor_projects_[id]_diagnose_route_actions_19rwss9.js +3 -0
- package/dist/ray/.next/server/chunks/[externals]__0_burez._.js +3 -0
- package/dist/ray/.next/server/chunks/[externals]__0bwk60o._.js +3 -0
- package/dist/ray/.next/server/chunks/[externals]__0su6gxy._.js +3 -0
- package/dist/ray/.next/server/chunks/[externals]__14kfdpf._.js +3 -0
- package/dist/ray/.next/server/chunks/[externals]_child_process_17eio63._.js +3 -0
- package/dist/ray/.next/server/chunks/[externals]_util_1jlmhhy._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__0-m2dss._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__00_hq9v._.js +153 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__00fys1d._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__00gul7y._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__00p0nlw._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__02jvwmh._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__03-y9x_._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__04kysi4._.js +6 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__07o6_7e._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__085oz7g._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__0brsz6n._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__0ceqo59._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__0dpk86c._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__0j0i--u._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__0jff-wg._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__0lijwpm._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__0mzel5m._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__0n31rue._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__0p-ah62._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__0ph8op9._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__0s9388-._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__0s9z45u._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__0spav2d._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__0t_2p_e._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__0tj_gck._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__0x54s0q._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__0xbtjoa._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__0zkidx6._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__10g8xkn._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__10stn5_._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__110dqtn._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__11pa906._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__12tyokc._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__14oyxq6._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__14sjgdf._.js +5 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__15-fati._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__17e6c57._.js +6 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__1d-w0wg._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__1fw9lv4._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__1fxmaq4._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__1jlb-hl._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__1m6l0st._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__1msdzjr._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__1nf6z4s._.js +165 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__1psg21i._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__1rwurib._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__1u7y5z_._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__1uu427c._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__208tvax._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__20fiz3c._.js +3 -0
- package/dist/ray/.next/server/chunks/[root-of-the-server]__21bivwf._.js +3 -0
- package/dist/ray/.next/server/chunks/[turbopack]_runtime.js +807 -0
- package/dist/ray/.next/server/chunks/_0-yfwt_._.js +3 -0
- package/dist/ray/.next/server/chunks/_004qego._.js +3 -0
- package/dist/ray/.next/server/chunks/_06rjxfb._.js +3 -0
- package/dist/ray/.next/server/chunks/_0dr9glm._.js +5 -0
- package/dist/ray/.next/server/chunks/_0igzcb-._.js +4 -0
- package/dist/ray/.next/server/chunks/_0knpucz._.js +6 -0
- package/dist/ray/.next/server/chunks/_0mihiqc._.js +3 -0
- package/dist/ray/.next/server/chunks/_0qzh6lb._.js +3 -0
- package/dist/ray/.next/server/chunks/_0u5b_5s._.js +3 -0
- package/dist/ray/.next/server/chunks/_0zfb6l-._.js +6 -0
- package/dist/ray/.next/server/chunks/_0zkbs0c._.js +5 -0
- package/dist/ray/.next/server/chunks/_10ewwxb._.js +3 -0
- package/dist/ray/.next/server/chunks/_11x09ym._.js +6 -0
- package/dist/ray/.next/server/chunks/_12824ye._.js +3 -0
- package/dist/ray/.next/server/chunks/_146xyuw._.js +3 -0
- package/dist/ray/.next/server/chunks/_1g-wo_m._.js +7 -0
- package/dist/ray/.next/server/chunks/_1h-q25y._.js +3 -0
- package/dist/ray/.next/server/chunks/_1lndqp7._.js +3 -0
- package/dist/ray/.next/server/chunks/_1mxn_lb._.js +3 -0
- package/dist/ray/.next/server/chunks/_1o1h4lj._.js +6 -0
- package/dist/ray/.next/server/chunks/_1om7v4s._.js +3 -0
- package/dist/ray/.next/server/chunks/_1uiy6df._.js +19 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_auth_login_route_actions_1ox7zi0.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_auth_logout_route_actions_0regwyr.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_auth_register_route_actions_0g4vfdr.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_chat_route_actions_1d_pld-.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_cicd_[id]_route_actions_178ff8u.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_cicd_poll_route_actions_1m8gn_f.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_cicd_route_actions_00q85x3.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_containers_[id]_action_route_actions_0atcrmg.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_containers_[id]_logs_route_actions_1ad5fw1.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_containers_[id]_route_actions_1cyp5fy.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_containers_route_actions_07xxnqh.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_deploy_[id]_action_route_actions_1kel52u.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_deploy_route_actions_1jb0gl_.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_deploy_upload_route_actions_17d0eqy.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_deployments_[id]_diagnose_route_actions_0w2ihfl.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_deployments_[id]_redeploy_route_actions_0ui73a2.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_deployments_[id]_route_actions_038rkvv.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_deployments_active_route_actions_0zgmbtm.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_deployments_route_actions_1f_eb99.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_github_app_callback_route_actions_0zg34iu.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_github_app_manifest_route_actions_1_2dhal.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_github_connect_route_actions_0qg3ppd.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_github_repos_route_actions_1usicza.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_github_route_actions_1zpdgoh.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_github_status_route_actions_1l82gyr.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_monitor_alerts_[id]_route_actions_0qosujn.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_monitor_alerts_route_actions_0n-m8tw.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_monitor_internal_add-project_route_actions_17kkmz8.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_monitor_process_route_actions_1rmvb83.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_monitor_projects_[id]_fix_route_actions_032q0u-.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_monitor_projects_[id]_logs_route_actions_13cplry.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_monitor_projects_[id]_memory_route_actions_0yr3pn7.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_monitor_projects_[id]_route_actions_0enie3k.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_monitor_projects_[id]_run_route_actions_0gwk_h3.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_monitor_projects_route_actions_1_3-j7x.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_monitor_stream_route_actions_1f22mb6.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_ports_route_actions_1epz24h.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_projects_[id]_domain-check_route_actions_1rj_zug.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_projects_[id]_env_route_actions_0ce2m54.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_projects_[id]_file-content_route_actions_19olxry.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_projects_[id]_files_route_actions_0ugi5a5.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_projects_[id]_route_actions_0xth066.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_projects_route_actions_0h5ne2f.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_sessions_[id]_generate-title_route_actions_0jzyt4m.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_sessions_[id]_messages_route_actions_1t3zmy6.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_sessions_[id]_route_actions_0ppm8x-.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_sessions_route_actions_1lwcye0.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_settings_route_actions_1bpm9ac.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_webhooks_github_[id]_route_actions_1g8u78o.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_api_webhooks_github_route_actions_1kcg086.js +3 -0
- package/dist/ray/.next/server/chunks/_next-internal_server_app_favicon_ico_route_actions_0g2jjls.js +3 -0
- package/dist/ray/.next/server/chunks/node_modules_bcryptjs_index_0k82xso.js +3 -0
- package/dist/ray/.next/server/chunks/node_modules_next_1_14bcs._.js +3 -0
- package/dist/ray/.next/server/chunks/node_modules_next_1zdbrne._.js +10 -0
- package/dist/ray/.next/server/chunks/src_lib_1hgyysj._.js +3 -0
- package/dist/ray/.next/server/chunks/src_lib_auth_ts_1_aqh19._.js +3 -0
- package/dist/ray/.next/server/chunks/src_lib_cicd-sync_ts_098uczb._.js +3 -0
- package/dist/ray/.next/server/chunks/src_lib_github-app_ts_1b5tnv1._.js +3 -0
- package/dist/ray/.next/server/chunks/src_lib_port-manager_ts_18dpekm._.js +3 -0
- package/dist/ray/.next/server/chunks/src_lib_settings_ts_1mn2j0n._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[externals]_node_path_1pmhwj3._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__01g-0nc._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__038v-gh._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__04ekmqn._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0_l3wob._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0a2-efg._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0a_psut._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0e5tza8._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0gboso8._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0gz2but._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0hg5gib._.js +33 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0hn4xlv._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0i48bpf._.js +54 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0j1jv2k._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0n3n_r_._.js +4 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0t4_c67._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0w8myo0._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0xtssj3._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__17v-f6m._.js +14 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__1_h7ex8._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__1_u_x8w._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__1d4nq1g._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__1fp1d8o._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__1jnbbbr._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__1k9qnxu._.js +33 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__1mkuege._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__1phe9fx._.js +4 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__1q2--xw._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__1ut539c._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__1vs0leg._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__1xd2-ld._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/[turbopack]_runtime.js +807 -0
- package/dist/ray/.next/server/chunks/ssr/_0d1f_2z._.js +23 -0
- package/dist/ray/.next/server/chunks/ssr/_1_4a0wv._.js +23 -0
- package/dist/ray/.next/server/chunks/ssr/_1kysctd._.js +19 -0
- package/dist/ray/.next/server/chunks/ssr/_1lh0agw._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/_1qxsll8._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/_1vk1his._.js +5 -0
- package/dist/ray/.next/server/chunks/ssr/_1vzw803._.js +23 -0
- package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(auth)_login_page_actions_1jr42c1.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(auth)_register_page_actions_04l6fhn.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_chat_[sessionId]_page_actions_1rh_o0l.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_chat_page_actions_0d6mkhk.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_cicd_[id]_page_actions_1xfmr84.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_cicd_page_actions_1d03sqw.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_containers_[id]_page_actions_0doi5za.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_containers_page_actions_0_ww-ad.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_deployments_[id]_page_actions_20y9uey.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_deployments_page_actions_0fu3iro.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_github_page_actions_1tx_3r-.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_monitor_[id]_page_actions_003kpqa.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_monitor_page_actions_1ogpdj3.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_page_actions_081_9zj.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_projects_[id]_page_actions_0puqd88.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_projects_page_actions_20sdhto.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_settings_page_actions_0sbdv_1.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yr.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1j.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/app_(auth)_layout_tsx_1vfqhb4._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/app_(dashboard)_cicd_[id]_page_tsx_12t87_j._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/app_(dashboard)_cicd_page_tsx_0t0k1hz._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/app_(dashboard)_containers_[id]_page_tsx_1yp5npr._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/app_(dashboard)_containers_page_tsx_1kssro3._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/app_(dashboard)_deployments_[id]_page_tsx_041ro4o._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/app_(dashboard)_deployments_page_tsx_13f_f2f._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/app_(dashboard)_github_page_tsx_1zoi9kw._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/app_(dashboard)_monitor_[id]_page_tsx_086thg6._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/app_(dashboard)_monitor_page_tsx_0z85uxa._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/app_(dashboard)_projects_[id]_page_tsx_212l__t._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/app_(dashboard)_projects_page_tsx_0h6o0mb._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/app_(dashboard)_settings_page_tsx_1hwv4x8._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/node_modules_1wax83z._.js +33 -0
- package/dist/ray/.next/server/chunks/ssr/node_modules_@iconify_react_dist_iconify_1c0t5dh.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/node_modules_@swc_helpers_cjs__interop_require_default_cjs_1ztp13a._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/node_modules_next_0q-cedu._.js +151 -0
- package/dist/ray/.next/server/chunks/ssr/node_modules_next_0x3i8za._.js +131 -0
- package/dist/ray/.next/server/chunks/ssr/node_modules_next_1ri7jnr._.js +151 -0
- package/dist/ray/.next/server/chunks/ssr/node_modules_next_dist_019lm6c._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/node_modules_next_dist_0ufhxsd._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/node_modules_next_dist_1n3w9lb._.js +6 -0
- package/dist/ray/.next/server/chunks/ssr/node_modules_next_dist_1v8aef8._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js +3 -0
- package/dist/ray/.next/server/chunks/ssr/src_components_ClientLayout_tsx_09h5za2._.js +4 -0
- package/dist/ray/.next/server/chunks/ssr/src_lib_auth_ts_11yt3pa._.js +3 -0
- package/dist/ray/.next/server/functions-config-manifest.json +54 -0
- package/dist/ray/.next/server/middleware-build-manifest.js +25 -0
- package/dist/ray/.next/server/middleware-manifest.json +6 -0
- package/dist/ray/.next/server/middleware.js +5 -0
- package/dist/ray/.next/server/next-font-manifest.js +1 -0
- package/dist/ray/.next/server/next-font-manifest.json +91 -0
- package/dist/ray/.next/server/pages/404.html +1 -0
- package/dist/ray/.next/server/pages/500.html +1 -0
- package/dist/ray/.next/server/pages-manifest.json +4 -0
- package/dist/ray/.next/server/prefetch-hints.json +63 -0
- package/dist/ray/.next/server/server-reference-manifest.js +1 -0
- package/dist/ray/.next/server/server-reference-manifest.json +22 -0
- package/dist/ray/.next/static/Hhx7q8xLPLV444ELbuAGL/_buildManifest.js +11 -0
- package/dist/ray/.next/static/Hhx7q8xLPLV444ELbuAGL/_clientMiddlewareManifest.js +26 -0
- package/dist/ray/.next/static/Hhx7q8xLPLV444ELbuAGL/_ssgManifest.js +1 -0
- package/dist/ray/.next/static/chunks/057zaow3ejc2s.js +3 -0
- package/dist/ray/.next/static/chunks/0cl8a5ke4ebd-.js +1 -0
- package/dist/ray/.next/static/chunks/0cz1d0mv5g_q7.js +1 -0
- package/dist/ray/.next/static/chunks/0edte-771726v.js +22 -0
- package/dist/ray/.next/static/chunks/0ehjiuuxbbhq9.js +1 -0
- package/dist/ray/.next/static/chunks/0h2boyvse-55_.js +1 -0
- package/dist/ray/.next/static/chunks/0lx_9ubdg54-q.js +1 -0
- package/dist/ray/.next/static/chunks/0mn5c-hbwvron.js +1 -0
- package/dist/ray/.next/static/chunks/11be91k_gj8bl.js +1 -0
- package/dist/ray/.next/static/chunks/1cndzqkdiiv5d.js +2 -0
- package/dist/ray/.next/static/chunks/1kcfbnumrv6bw.js +1 -0
- package/dist/ray/.next/static/chunks/1sor35imexzf_.js +52 -0
- package/dist/ray/.next/static/chunks/1w-bqsd916ol7.js +1 -0
- package/dist/ray/.next/static/chunks/1zvw3x1hotg92.js +1 -0
- package/dist/ray/.next/static/chunks/26bihah57sagr.js +1 -0
- package/dist/ray/.next/static/chunks/28gn02g-uwi5m.js +31 -0
- package/dist/ray/.next/static/chunks/2_mtnd40ksed5.js +1 -0
- package/dist/ray/.next/static/chunks/2kxrkwdtqtpn_.js +1 -0
- package/dist/ray/.next/static/chunks/2od_4s-_f7365.css +3 -0
- package/dist/ray/.next/static/chunks/2r4gozoz7uq_w.js +1 -0
- package/dist/ray/.next/static/chunks/2uf20jtnosvwz.js +1 -0
- package/dist/ray/.next/static/chunks/2uky4weffsyt6.js +1 -0
- package/dist/ray/.next/static/chunks/3069xhmif25yi.js +1 -0
- package/dist/ray/.next/static/chunks/36lykygisjvqk.js +1 -0
- package/dist/ray/.next/static/chunks/3ks7vxg9c78or.js +1 -0
- package/dist/ray/.next/static/chunks/3oo43sgxzkog4.js +1 -0
- package/dist/ray/.next/static/chunks/3rt1e672-3al9.js +1 -0
- package/dist/ray/.next/static/chunks/turbopack-1mudd67qgc20e.js +1 -0
- package/dist/ray/.next/static/media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2 +0 -0
- package/dist/ray/.next/static/media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2 +0 -0
- package/dist/ray/.next/static/media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2 +0 -0
- package/dist/ray/.next/static/media/49f942778c02d562-s.p.1xq-g4rc1ujk8.woff2 +0 -0
- package/dist/ray/.next/static/media/5476f68d60460930-s.2uwcyprjm3xu3.woff2 +0 -0
- package/dist/ray/.next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2 +0 -0
- package/dist/ray/.next/static/media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2 +0 -0
- package/dist/ray/.next/static/media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2 +0 -0
- package/dist/ray/.next/static/media/d3fb408517bcf18c-s.08pyjpi43yc3w.woff2 +0 -0
- package/dist/ray/.next/static/media/favicon.2b0rxwd35s4-e.ico +0 -0
- package/dist/ray/next.config.ts +8 -0
- package/dist/ray/node_modules/.prisma/client/default.js +5 -0
- package/dist/ray/node_modules/.prisma/client/index.js +433 -0
- package/dist/ray/node_modules/.prisma/client/package.json +139 -0
- package/dist/ray/node_modules/.prisma/client/query_compiler_fast_bg.js +2 -0
- package/dist/ray/node_modules/.prisma/client/query_compiler_fast_bg.wasm-base64.js +2 -0
- package/dist/ray/node_modules/@emnapi/runtime/dist/emnapi.cjs.js +1398 -0
- package/dist/ray/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.js +1 -0
- package/dist/ray/node_modules/@emnapi/runtime/index.js +5 -0
- package/dist/ray/node_modules/@emnapi/runtime/package.json +48 -0
- package/dist/ray/node_modules/@img/colour/color.cjs +1596 -0
- package/dist/ray/node_modules/@img/colour/index.cjs +1 -0
- package/dist/ray/node_modules/@img/colour/package.json +58 -0
- package/dist/ray/node_modules/@img/sharp-darwin-arm64/index.cjs +2 -0
- package/dist/ray/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64-0.35.4.node +0 -0
- package/dist/ray/node_modules/@img/sharp-darwin-arm64/package.json +41 -0
- package/dist/ray/node_modules/@img/sharp-libvips-darwin-arm64/README.md +46 -0
- package/dist/ray/node_modules/@img/sharp-libvips-darwin-arm64/lib/glib-2.0/include/glibconfig.h +218 -0
- package/dist/ray/node_modules/@img/sharp-libvips-darwin-arm64/lib/index.js +1 -0
- package/dist/ray/node_modules/@img/sharp-libvips-darwin-arm64/lib/libvips-cpp.8.18.6.dylib +0 -0
- package/dist/ray/node_modules/@img/sharp-libvips-darwin-arm64/package.json +37 -0
- package/dist/ray/node_modules/@img/sharp-libvips-darwin-arm64/versions.json +30 -0
- package/dist/ray/node_modules/@img/sharp-wasm32/index.cjs +1 -0
- package/dist/ray/node_modules/@img/sharp-wasm32/lib/sharp-wasm32-0.35.4.node.js +1 -0
- package/dist/ray/node_modules/@img/sharp-wasm32/lib/sharp-wasm32-0.35.4.node.wasm +0 -0
- package/dist/ray/node_modules/@img/sharp-wasm32/package.json +37 -0
- package/dist/ray/node_modules/@img/sharp-wasm32/versions.json +21 -0
- package/dist/ray/node_modules/@next/env/dist/index.js +1 -0
- package/dist/ray/node_modules/@next/env/package.json +36 -0
- package/dist/ray/node_modules/@prisma/client/default.js +3 -0
- package/dist/ray/node_modules/@prisma/client/package.json +276 -0
- package/dist/ray/node_modules/@prisma/client/runtime/client.js +101 -0
- package/dist/ray/node_modules/@prisma/client-runtime-utils/dist/index.js +2559 -0
- package/dist/ray/node_modules/@prisma/client-runtime-utils/package.json +39 -0
- package/dist/ray/node_modules/@swc/helpers/cjs/_interop_require_default.cjs +6 -0
- package/dist/ray/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs +38 -0
- package/dist/ray/node_modules/@swc/helpers/esm/_interop_require_default.js +4 -0
- package/dist/ray/node_modules/@swc/helpers/esm/_interop_require_wildcard.js +36 -0
- package/dist/ray/node_modules/@swc/helpers/package.json +705 -0
- package/dist/ray/node_modules/client-only/index.js +0 -0
- package/dist/ray/node_modules/client-only/package.json +19 -0
- package/dist/ray/node_modules/detect-libc/lib/detect-libc.js +313 -0
- package/dist/ray/node_modules/detect-libc/lib/elf.js +39 -0
- package/dist/ray/node_modules/detect-libc/lib/filesystem.js +51 -0
- package/dist/ray/node_modules/detect-libc/lib/process.js +24 -0
- package/dist/ray/node_modules/detect-libc/package.json +44 -0
- package/dist/ray/node_modules/next/dist/build/adapter/setup-node-env.external.js +15 -0
- package/dist/ray/node_modules/next/dist/build/define-env.js +263 -0
- package/dist/ray/node_modules/next/dist/build/duration-to-string.js +98 -0
- package/dist/ray/node_modules/next/dist/build/get-supported-browsers.js +38 -0
- package/dist/ray/node_modules/next/dist/build/next-config-ts/require-hook.js +85 -0
- package/dist/ray/node_modules/next/dist/build/next-config-ts/transpile-config.js +140 -0
- package/dist/ray/node_modules/next/dist/build/output/format.js +84 -0
- package/dist/ray/node_modules/next/dist/build/output/log.js +135 -0
- package/dist/ray/node_modules/next/dist/build/segment-config/app/app-segment-config.js +178 -0
- package/dist/ray/node_modules/next/dist/build/segment-config/app/app-segments.js +147 -0
- package/dist/ray/node_modules/next/dist/build/segment-config/app/collect-root-param-keys.js +52 -0
- package/dist/ray/node_modules/next/dist/build/static-paths/app/extract-pathname-route-param-segments-from-loader-tree.js +137 -0
- package/dist/ray/node_modules/next/dist/build/static-paths/app.js +783 -0
- package/dist/ray/node_modules/next/dist/build/static-paths/pages.js +169 -0
- package/dist/ray/node_modules/next/dist/build/static-paths/utils.js +119 -0
- package/dist/ray/node_modules/next/dist/build/swc/helpers.js +15 -0
- package/dist/ray/node_modules/next/dist/build/swc/index.js +1409 -0
- package/dist/ray/node_modules/next/dist/build/swc/install-bindings.js +30 -0
- package/dist/ray/node_modules/next/dist/build/swc/jest-transformer.js +77 -0
- package/dist/ray/node_modules/next/dist/build/swc/loaderWorkerPool.js +40 -0
- package/dist/ray/node_modules/next/dist/build/swc/options.js +411 -0
- package/dist/ray/node_modules/next/dist/build/swc/types.js +6 -0
- package/dist/ray/node_modules/next/dist/build/utils.js +1258 -0
- package/dist/ray/node_modules/next/dist/cli/next-test.js +171 -0
- package/dist/ray/node_modules/next/dist/client/add-base-path.js +24 -0
- package/dist/ray/node_modules/next/dist/client/app-call-server.js +34 -0
- package/dist/ray/node_modules/next/dist/client/app-find-source-map-url.js +39 -0
- package/dist/ray/node_modules/next/dist/client/assign-location.js +29 -0
- package/dist/ray/node_modules/next/dist/client/components/app-router-announcer.js +78 -0
- package/dist/ray/node_modules/next/dist/client/components/app-router-headers.js +128 -0
- package/dist/ray/node_modules/next/dist/client/components/app-router-instance.js +407 -0
- package/dist/ray/node_modules/next/dist/client/components/app-router-utils.js +62 -0
- package/dist/ray/node_modules/next/dist/client/components/app-router.js +522 -0
- package/dist/ray/node_modules/next/dist/client/components/builtin/default.js +35 -0
- package/dist/ray/node_modules/next/dist/client/components/builtin/error-styles.js +165 -0
- package/dist/ray/node_modules/next/dist/client/components/builtin/global-error.js +100 -0
- package/dist/ray/node_modules/next/dist/client/components/dev-root-http-access-fallback-boundary.js +52 -0
- package/dist/ray/node_modules/next/dist/client/components/error-boundary.js +148 -0
- package/dist/ray/node_modules/next/dist/client/components/errors/graceful-degrade-boundary.js +86 -0
- package/dist/ray/node_modules/next/dist/client/components/errors/root-error-boundary.js +41 -0
- package/dist/ray/node_modules/next/dist/client/components/forbidden.js +48 -0
- package/dist/ray/node_modules/next/dist/client/components/handle-isr-error.js +30 -0
- package/dist/ray/node_modules/next/dist/client/components/hooks-server-context.js +42 -0
- package/dist/ray/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js +125 -0
- package/dist/ray/node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js +72 -0
- package/dist/ray/node_modules/next/dist/client/components/instant-samples.js +134 -0
- package/dist/ray/node_modules/next/dist/client/components/is-next-router-error.js +23 -0
- package/dist/ray/node_modules/next/dist/client/components/links.js +316 -0
- package/dist/ray/node_modules/next/dist/client/components/match-segments.js +32 -0
- package/dist/ray/node_modules/next/dist/client/components/nav-failure-handler.js +61 -0
- package/dist/ray/node_modules/next/dist/client/components/navigation-devtools.js +126 -0
- package/dist/ray/node_modules/next/dist/client/components/navigation-dynamic-rendering.js +38 -0
- package/dist/ray/node_modules/next/dist/client/components/navigation-untracked.js +69 -0
- package/dist/ray/node_modules/next/dist/client/components/navigation.js +246 -0
- package/dist/ray/node_modules/next/dist/client/components/navigation.react-server.js +75 -0
- package/dist/ray/node_modules/next/dist/client/components/not-found.js +42 -0
- package/dist/ray/node_modules/next/dist/client/components/offline.js +172 -0
- package/dist/ray/node_modules/next/dist/client/components/readonly-url-search-params.js +46 -0
- package/dist/ray/node_modules/next/dist/client/components/redirect-boundary.js +107 -0
- package/dist/ray/node_modules/next/dist/client/components/redirect-error.js +43 -0
- package/dist/ray/node_modules/next/dist/client/components/redirect-status-code.js +24 -0
- package/dist/ray/node_modules/next/dist/client/components/redirect.js +91 -0
- package/dist/ray/node_modules/next/dist/client/components/router-reducer/compute-changed-path.js +205 -0
- package/dist/ray/node_modules/next/dist/client/components/router-reducer/create-href-from-url.js +21 -0
- package/dist/ray/node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js +161 -0
- package/dist/ray/node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js +32 -0
- package/dist/ray/node_modules/next/dist/client/components/router-reducer/fetch-server-response.js +603 -0
- package/dist/ray/node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js +70 -0
- package/dist/ray/node_modules/next/dist/client/components/router-reducer/ppr-navigations.js +1474 -0
- package/dist/ray/node_modules/next/dist/client/components/router-reducer/reducers/committed-state.js +49 -0
- package/dist/ray/node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js +63 -0
- package/dist/ray/node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js +38 -0
- package/dist/ray/node_modules/next/dist/client/components/router-reducer/reducers/hmr-refresh-reducer.js +29 -0
- package/dist/ray/node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js +56 -0
- package/dist/ray/node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js +90 -0
- package/dist/ray/node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js +75 -0
- package/dist/ray/node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js +349 -0
- package/dist/ray/node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js +67 -0
- package/dist/ray/node_modules/next/dist/client/components/router-reducer/router-reducer-types.js +70 -0
- package/dist/ray/node_modules/next/dist/client/components/router-reducer/router-reducer.js +74 -0
- package/dist/ray/node_modules/next/dist/client/components/router-reducer/set-cache-busting-search-param.js +66 -0
- package/dist/ray/node_modules/next/dist/client/components/router-transition.js +135 -0
- package/dist/ray/node_modules/next/dist/client/components/segment-cache/bfcache.js +130 -0
- package/dist/ray/node_modules/next/dist/client/components/segment-cache/cache-key.js +56 -0
- package/dist/ray/node_modules/next/dist/client/components/segment-cache/cache-map.js +326 -0
- package/dist/ray/node_modules/next/dist/client/components/segment-cache/cache.js +2684 -0
- package/dist/ray/node_modules/next/dist/client/components/segment-cache/fetch.js +37 -0
- package/dist/ray/node_modules/next/dist/client/components/segment-cache/lru.js +152 -0
- package/dist/ray/node_modules/next/dist/client/components/segment-cache/navigation-testing-lock.js +415 -0
- package/dist/ray/node_modules/next/dist/client/components/segment-cache/navigation.js +773 -0
- package/dist/ray/node_modules/next/dist/client/components/segment-cache/optimistic-routes.js +648 -0
- package/dist/ray/node_modules/next/dist/client/components/segment-cache/prefetch.js +32 -0
- package/dist/ray/node_modules/next/dist/client/components/segment-cache/scheduler.js +1770 -0
- package/dist/ray/node_modules/next/dist/client/components/segment-cache/types.js +84 -0
- package/dist/ray/node_modules/next/dist/client/components/segment-cache/vary-path.js +326 -0
- package/dist/ray/node_modules/next/dist/client/components/server-async-storage.js +43 -0
- package/dist/ray/node_modules/next/dist/client/components/static-generation-bailout.js +42 -0
- package/dist/ray/node_modules/next/dist/client/components/unauthorized.js +49 -0
- package/dist/ray/node_modules/next/dist/client/components/unrecognized-action-error.js +39 -0
- package/dist/ray/node_modules/next/dist/client/components/unresolved-thenable.js +23 -0
- package/dist/ray/node_modules/next/dist/client/components/unstable-rethrow.js +32 -0
- package/dist/ray/node_modules/next/dist/client/components/use-action-queue.js +148 -0
- package/dist/ray/node_modules/next/dist/client/components/use-offline.js +68 -0
- package/dist/ray/node_modules/next/dist/client/dev/debug-channel.js +428 -0
- package/dist/ray/node_modules/next/dist/client/flight-data-helpers.js +235 -0
- package/dist/ray/node_modules/next/dist/client/has-base-path.js +23 -0
- package/dist/ray/node_modules/next/dist/client/lib/console.js +177 -0
- package/dist/ray/node_modules/next/dist/client/lib/javascript-url.js +32 -0
- package/dist/ray/node_modules/next/dist/client/navigation-build-id.js +53 -0
- package/dist/ray/node_modules/next/dist/client/normalize-trailing-slash.js +37 -0
- package/dist/ray/node_modules/next/dist/client/remove-base-path.js +32 -0
- package/dist/ray/node_modules/next/dist/client/route-params.js +249 -0
- package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js +339 -0
- package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/cookies/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/ponyfill/index.js +46 -0
- package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/ponyfill/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/primitives/abort-controller.js.text.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/primitives/console.js.text.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/primitives/events.js.text.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/primitives/index.js +5 -0
- package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/primitives/load.js +18713 -0
- package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/primitives/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/primitives/stream.js +44 -0
- package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/primitives/timers.js.text.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/primitives/url.js.text.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/@hapi/accept/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/@hapi/accept/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/@napi-rs/triples/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/@napi-rs/triples/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/@opentelemetry/api/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/@opentelemetry/api/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/@vercel/detect-agent/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/@vercel/detect-agent/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/async-retry/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/async-retry/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/async-sema/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/async-sema/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/busboy/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/busboy/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/bytes/index.js +8 -0
- package/dist/ray/node_modules/next/dist/compiled/bytes/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/ci-info/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/ci-info/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/commander/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/commander/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/comment-json/index.js +7 -0
- package/dist/ray/node_modules/next/dist/compiled/comment-json/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/compression/index.js +58 -0
- package/dist/ray/node_modules/next/dist/compiled/compression/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/conf/index.js +3 -0
- package/dist/ray/node_modules/next/dist/compiled/conf/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/content-disposition/index.js +6 -0
- package/dist/ray/node_modules/next/dist/compiled/content-disposition/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/cookie/index.js +7 -0
- package/dist/ray/node_modules/next/dist/compiled/cookie/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/cross-spawn/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/cross-spawn/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/debug/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/debug/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/edge-runtime/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/edge-runtime/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/find-up/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/find-up/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/fresh/index.js +8 -0
- package/dist/ray/node_modules/next/dist/compiled/fresh/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/httpxy/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/httpxy/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/image-detector/detector.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/image-size/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/image-size/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/ipaddr.js/ipaddr.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/ipaddr.js/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/is-animated/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/is-animated/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/is-docker/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/is-docker/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/is-wsl/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/is-wsl/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/jsonwebtoken/index.js +11 -0
- package/dist/ray/node_modules/next/dist/compiled/jsonwebtoken/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/nanoid/index.cjs +1 -0
- package/dist/ray/node_modules/next/dist/compiled/nanoid/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +183 -0
- package/dist/ray/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +183 -0
- package/dist/ray/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +6 -0
- package/dist/ray/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +20 -0
- package/dist/ray/node_modules/next/dist/compiled/p-limit/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/p-limit/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/p-queue/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/p-queue/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/path-browserify/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/path-browserify/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/path-to-regexp/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/path-to-regexp/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/picomatch/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/picomatch/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/react-is/cjs/react-is.development.js +133 -0
- package/dist/ray/node_modules/next/dist/compiled/react-is/cjs/react-is.production.js +130 -0
- package/dist/ray/node_modules/next/dist/compiled/react-is/index.js +7 -0
- package/dist/ray/node_modules/next/dist/compiled/react-is/package.json +26 -0
- package/dist/ray/node_modules/next/dist/compiled/regenerator-runtime/package.json +19 -0
- package/dist/ray/node_modules/next/dist/compiled/regenerator-runtime/runtime.js +729 -0
- package/dist/ray/node_modules/next/dist/compiled/semver/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/semver/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/send/index.js +70 -0
- package/dist/ray/node_modules/next/dist/compiled/send/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/source-map/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/source-map/source-map.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/stacktrace-parser/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/string-hash/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/string-hash/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/strip-ansi/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/strip-ansi/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/superstruct/index.cjs +1 -0
- package/dist/ray/node_modules/next/dist/compiled/superstruct/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/tar/index.min.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/tar/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/text-table/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/text-table/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/watchpack/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/watchpack/watchpack.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/write-file-atomic/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/write-file-atomic/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/ws/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/ws/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/zod/index.cjs +1 -0
- package/dist/ray/node_modules/next/dist/compiled/zod/package.json +1 -0
- package/dist/ray/node_modules/next/dist/compiled/zod-validation-error/index.js +1 -0
- package/dist/ray/node_modules/next/dist/compiled/zod-validation-error/package.json +1 -0
- package/dist/ray/node_modules/next/dist/experimental/testmode/context.js +57 -0
- package/dist/ray/node_modules/next/dist/experimental/testmode/fetch.js +150 -0
- package/dist/ray/node_modules/next/dist/experimental/testmode/httpget.js +33 -0
- package/dist/ray/node_modules/next/dist/experimental/testmode/server-edge.js +32 -0
- package/dist/ray/node_modules/next/dist/experimental/testmode/server.js +73 -0
- package/dist/ray/node_modules/next/dist/export/helpers/create-incremental-cache.js +61 -0
- package/dist/ray/node_modules/next/dist/lib/batcher.js +65 -0
- package/dist/ray/node_modules/next/dist/lib/build-custom-route.js +46 -0
- package/dist/ray/node_modules/next/dist/lib/bundler.js +168 -0
- package/dist/ray/node_modules/next/dist/lib/client-and-server-references.js +54 -0
- package/dist/ray/node_modules/next/dist/lib/coalesced-function.js +39 -0
- package/dist/ray/node_modules/next/dist/lib/compile-error.js +14 -0
- package/dist/ray/node_modules/next/dist/lib/constants.js +420 -0
- package/dist/ray/node_modules/next/dist/lib/create-client-router-filter.js +83 -0
- package/dist/ray/node_modules/next/dist/lib/default-transpiled-packages.json +1 -0
- package/dist/ray/node_modules/next/dist/lib/detached-promise.js +32 -0
- package/dist/ray/node_modules/next/dist/lib/detect-typo.js +51 -0
- package/dist/ray/node_modules/next/dist/lib/download-swc.js +183 -0
- package/dist/ray/node_modules/next/dist/lib/error-telemetry-utils.js +42 -0
- package/dist/ray/node_modules/next/dist/lib/fallback.js +100 -0
- package/dist/ray/node_modules/next/dist/lib/file-exists.js +53 -0
- package/dist/ray/node_modules/next/dist/lib/find-config.js +102 -0
- package/dist/ray/node_modules/next/dist/lib/find-pages-dir.js +65 -0
- package/dist/ray/node_modules/next/dist/lib/find-root.js +280 -0
- package/dist/ray/node_modules/next/dist/lib/format-cli-help-output.js +84 -0
- package/dist/ray/node_modules/next/dist/lib/format-dynamic-import-path.js +43 -0
- package/dist/ray/node_modules/next/dist/lib/format-server-error.js +75 -0
- package/dist/ray/node_modules/next/dist/lib/framework/boundary-components.js +62 -0
- package/dist/ray/node_modules/next/dist/lib/framework/boundary-constants.js +36 -0
- package/dist/ray/node_modules/next/dist/lib/fs/rename.js +87 -0
- package/dist/ray/node_modules/next/dist/lib/fs/write-atomic.js +28 -0
- package/dist/ray/node_modules/next/dist/lib/generate-interception-routes-rewrites.js +52 -0
- package/dist/ray/node_modules/next/dist/lib/get-files-in-dir.js +33 -0
- package/dist/ray/node_modules/next/dist/lib/get-network-host.js +44 -0
- package/dist/ray/node_modules/next/dist/lib/get-package-version.js +118 -0
- package/dist/ray/node_modules/next/dist/lib/get-project-dir.js +51 -0
- package/dist/ray/node_modules/next/dist/lib/git-worktree.js +74 -0
- package/dist/ray/node_modules/next/dist/lib/has-necessary-dependencies.js +49 -0
- package/dist/ray/node_modules/next/dist/lib/helpers/get-cache-directory.js +66 -0
- package/dist/ray/node_modules/next/dist/lib/helpers/get-npx-command.js +29 -0
- package/dist/ray/node_modules/next/dist/lib/helpers/get-online.js +50 -0
- package/dist/ray/node_modules/next/dist/lib/helpers/get-pkg-manager.js +65 -0
- package/dist/ray/node_modules/next/dist/lib/helpers/get-registry.js +45 -0
- package/dist/ray/node_modules/next/dist/lib/helpers/get-reserved-port.js +116 -0
- package/dist/ray/node_modules/next/dist/lib/helpers/git.js +59 -0
- package/dist/ray/node_modules/next/dist/lib/helpers/install.js +83 -0
- package/dist/ray/node_modules/next/dist/lib/import-next-warning.js +50 -0
- package/dist/ray/node_modules/next/dist/lib/inline-static-env.js +112 -0
- package/dist/ray/node_modules/next/dist/lib/install-dependencies.js +40 -0
- package/dist/ray/node_modules/next/dist/lib/interop-default.js +16 -0
- package/dist/ray/node_modules/next/dist/lib/is-api-route.js +15 -0
- package/dist/ray/node_modules/next/dist/lib/is-app-page-route.js +15 -0
- package/dist/ray/node_modules/next/dist/lib/is-app-route-route.js +15 -0
- package/dist/ray/node_modules/next/dist/lib/is-edge-runtime.js +16 -0
- package/dist/ray/node_modules/next/dist/lib/is-error.js +78 -0
- package/dist/ray/node_modules/next/dist/lib/is-interception-route-rewrite.js +18 -0
- package/dist/ray/node_modules/next/dist/lib/is-internal-component.js +36 -0
- package/dist/ray/node_modules/next/dist/lib/is-serializable-props.js +111 -0
- package/dist/ray/node_modules/next/dist/lib/known-edge-safe-packages.json +1 -0
- package/dist/ray/node_modules/next/dist/lib/load-custom-routes.js +594 -0
- package/dist/ray/node_modules/next/dist/lib/memory/gc-observer.js +53 -0
- package/dist/ray/node_modules/next/dist/lib/memory/shutdown.js +29 -0
- package/dist/ray/node_modules/next/dist/lib/memory/startup.js +47 -0
- package/dist/ray/node_modules/next/dist/lib/memory/trace.js +109 -0
- package/dist/ray/node_modules/next/dist/lib/metadata/constants.js +40 -0
- package/dist/ray/node_modules/next/dist/lib/metadata/default-metadata.js +82 -0
- package/dist/ray/node_modules/next/dist/lib/metadata/generate/icon-mark.js +22 -0
- package/dist/ray/node_modules/next/dist/lib/metadata/generate/utils.js +52 -0
- package/dist/ray/node_modules/next/dist/lib/metadata/get-metadata-route.js +162 -0
- package/dist/ray/node_modules/next/dist/lib/metadata/is-metadata-route.js +221 -0
- package/dist/ray/node_modules/next/dist/lib/metadata/metadata-context.js +18 -0
- package/dist/ray/node_modules/next/dist/lib/metadata/metadata.js +1660 -0
- package/dist/ray/node_modules/next/dist/lib/metadata/resolve-metadata.js +884 -0
- package/dist/ray/node_modules/next/dist/lib/metadata/resolvers/resolve-basics.js +232 -0
- package/dist/ray/node_modules/next/dist/lib/metadata/resolvers/resolve-icons.js +56 -0
- package/dist/ray/node_modules/next/dist/lib/metadata/resolvers/resolve-opengraph.js +199 -0
- package/dist/ray/node_modules/next/dist/lib/metadata/resolvers/resolve-title.js +40 -0
- package/dist/ray/node_modules/next/dist/lib/metadata/resolvers/resolve-url.js +135 -0
- package/dist/ray/node_modules/next/dist/lib/metadata/types/alternative-urls-types.js +7 -0
- package/dist/ray/node_modules/next/dist/lib/metadata/types/extra-types.js +9 -0
- package/dist/ray/node_modules/next/dist/lib/metadata/types/icons.js +6 -0
- package/dist/ray/node_modules/next/dist/lib/metadata/types/manifest-types.js +6 -0
- package/dist/ray/node_modules/next/dist/lib/metadata/types/metadata-interface.js +18 -0
- package/dist/ray/node_modules/next/dist/lib/metadata/types/metadata-types.js +10 -0
- package/dist/ray/node_modules/next/dist/lib/metadata/types/opengraph-types.js +6 -0
- package/dist/ray/node_modules/next/dist/lib/metadata/types/resolvers.js +6 -0
- package/dist/ray/node_modules/next/dist/lib/metadata/types/twitter-types.js +7 -0
- package/dist/ray/node_modules/next/dist/lib/mime-type.js +20 -0
- package/dist/ray/node_modules/next/dist/lib/mkcert.js +204 -0
- package/dist/ray/node_modules/next/dist/lib/multi-file-writer.js +75 -0
- package/dist/ray/node_modules/next/dist/lib/needs-experimental-react.js +16 -0
- package/dist/ray/node_modules/next/dist/lib/non-nullable.js +15 -0
- package/dist/ray/node_modules/next/dist/lib/normalize-path.js +21 -0
- package/dist/ray/node_modules/next/dist/lib/oxford-comma-list.js +15 -0
- package/dist/ray/node_modules/next/dist/lib/page-types.js +18 -0
- package/dist/ray/node_modules/next/dist/lib/patch-incorrect-lockfile.js +185 -0
- package/dist/ray/node_modules/next/dist/lib/pick.js +19 -0
- package/dist/ray/node_modules/next/dist/lib/picocolors.js +177 -0
- package/dist/ray/node_modules/next/dist/lib/pretty-bytes.js +74 -0
- package/dist/ray/node_modules/next/dist/lib/profiles-dir.js +45 -0
- package/dist/ray/node_modules/next/dist/lib/realpath.js +20 -0
- package/dist/ray/node_modules/next/dist/lib/recursive-copy.js +76 -0
- package/dist/ray/node_modules/next/dist/lib/recursive-delete.js +137 -0
- package/dist/ray/node_modules/next/dist/lib/recursive-readdir.js +124 -0
- package/dist/ray/node_modules/next/dist/lib/redirect-status.js +46 -0
- package/dist/ray/node_modules/next/dist/lib/require-instrumentation-client.js +32 -0
- package/dist/ray/node_modules/next/dist/lib/resolve-build-paths.js +182 -0
- package/dist/ray/node_modules/next/dist/lib/resolve-from.js +65 -0
- package/dist/ray/node_modules/next/dist/lib/route-pattern-normalizer.js +107 -0
- package/dist/ray/node_modules/next/dist/lib/scheduler.js +64 -0
- package/dist/ray/node_modules/next/dist/lib/semver-noop.js +18 -0
- package/dist/ray/node_modules/next/dist/lib/server-external-packages.jsonc +103 -0
- package/dist/ray/node_modules/next/dist/lib/setup-exception-listeners.js +11 -0
- package/dist/ray/node_modules/next/dist/lib/static-env.js +92 -0
- package/dist/ray/node_modules/next/dist/lib/try-to-parse-path.js +67 -0
- package/dist/ray/node_modules/next/dist/lib/turbopack-cache-seed.js +171 -0
- package/dist/ray/node_modules/next/dist/lib/turbopack-warning.js +185 -0
- package/dist/ray/node_modules/next/dist/lib/typescript/diagnosticFormatter.js +243 -0
- package/dist/ray/node_modules/next/dist/lib/typescript/getTypeScriptConfiguration.js +73 -0
- package/dist/ray/node_modules/next/dist/lib/typescript/getTypeScriptIntent.js +52 -0
- package/dist/ray/node_modules/next/dist/lib/typescript/loadTsConfig.js +181 -0
- package/dist/ray/node_modules/next/dist/lib/typescript/missingDependencyError.js +26 -0
- package/dist/ray/node_modules/next/dist/lib/typescript/runTypeCheck.js +149 -0
- package/dist/ray/node_modules/next/dist/lib/typescript/runTypeCheckCli.js +53 -0
- package/dist/ray/node_modules/next/dist/lib/typescript/runTypeScriptCli.js +256 -0
- package/dist/ray/node_modules/next/dist/lib/typescript/type-paths.js +51 -0
- package/dist/ray/node_modules/next/dist/lib/typescript/writeAppTypeDeclarations.js +77 -0
- package/dist/ray/node_modules/next/dist/lib/typescript/writeConfigurationDefaults.js +395 -0
- package/dist/ray/node_modules/next/dist/lib/url.js +75 -0
- package/dist/ray/node_modules/next/dist/lib/verify-partytown-setup.js +104 -0
- package/dist/ray/node_modules/next/dist/lib/verify-root-layout.js +165 -0
- package/dist/ray/node_modules/next/dist/lib/verify-typescript-setup.js +269 -0
- package/dist/ray/node_modules/next/dist/lib/wait.js +19 -0
- package/dist/ray/node_modules/next/dist/lib/with-promise-cache.js +24 -0
- package/dist/ray/node_modules/next/dist/lib/worker.js +234 -0
- package/dist/ray/node_modules/next/dist/server/ReactDOMServerPages.js +16 -0
- package/dist/ray/node_modules/next/dist/server/accept-header.js +132 -0
- package/dist/ray/node_modules/next/dist/server/after/after-context.js +178 -0
- package/dist/ray/node_modules/next/dist/server/after/after.js +28 -0
- package/dist/ray/node_modules/next/dist/server/after/awaiter.js +74 -0
- package/dist/ray/node_modules/next/dist/server/after/builtin-request-context.js +38 -0
- package/dist/ray/node_modules/next/dist/server/after/index.js +21 -0
- package/dist/ray/node_modules/next/dist/server/after/run-with-after.js +35 -0
- package/dist/ray/node_modules/next/dist/server/api-utils/get-cookie-parser.js +22 -0
- package/dist/ray/node_modules/next/dist/server/api-utils/index.js +217 -0
- package/dist/ray/node_modules/next/dist/server/api-utils/node/api-resolver.js +395 -0
- package/dist/ray/node_modules/next/dist/server/api-utils/node/parse-body.js +79 -0
- package/dist/ray/node_modules/next/dist/server/api-utils/node/try-get-preview-data.js +89 -0
- package/dist/ray/node_modules/next/dist/server/api-utils/web.js +17 -0
- package/dist/ray/node_modules/next/dist/server/app-render/action-async-storage-instance.js +14 -0
- package/dist/ray/node_modules/next/dist/server/app-render/action-async-storage.external.js +13 -0
- package/dist/ray/node_modules/next/dist/server/app-render/action-handler.js +1125 -0
- package/dist/ray/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js +14 -0
- package/dist/ray/node_modules/next/dist/server/app-render/after-task-async-storage.external.js +13 -0
- package/dist/ray/node_modules/next/dist/server/app-render/app-render-prerender-utils.js +332 -0
- package/dist/ray/node_modules/next/dist/server/app-render/app-render-render-utils.js +76 -0
- package/dist/ray/node_modules/next/dist/server/app-render/app-render-scheduling.js +188 -0
- package/dist/ray/node_modules/next/dist/server/app-render/app-render.js +6496 -0
- package/dist/ray/node_modules/next/dist/server/app-render/async-local-storage.js +76 -0
- package/dist/ray/node_modules/next/dist/server/app-render/blocking-route-messages.js +181 -0
- package/dist/ray/node_modules/next/dist/server/app-render/cache-signal.js +181 -0
- package/dist/ray/node_modules/next/dist/server/app-render/collect-segment-data.js +937 -0
- package/dist/ray/node_modules/next/dist/server/app-render/console-async-storage-instance.js +14 -0
- package/dist/ray/node_modules/next/dist/server/app-render/console-async-storage.external.js +13 -0
- package/dist/ray/node_modules/next/dist/server/app-render/create-component-styles-and-scripts.js +38 -0
- package/dist/ray/node_modules/next/dist/server/app-render/create-component-tree.js +806 -0
- package/dist/ray/node_modules/next/dist/server/app-render/create-error-handler.js +190 -0
- package/dist/ray/node_modules/next/dist/server/app-render/create-flight-router-state-from-loader-tree.js +154 -0
- package/dist/ray/node_modules/next/dist/server/app-render/csrf-protection.js +86 -0
- package/dist/ray/node_modules/next/dist/server/app-render/debug-channel-server.js +47 -0
- package/dist/ray/node_modules/next/dist/server/app-render/debug-channel-server.node.js +60 -0
- package/dist/ray/node_modules/next/dist/server/app-render/debug-channel-server.web.js +60 -0
- package/dist/ray/node_modules/next/dist/server/app-render/dev-validation-error-delivery.js +37 -0
- package/dist/ray/node_modules/next/dist/server/app-render/dev-validation-events.js +26 -0
- package/dist/ray/node_modules/next/dist/server/app-render/dev-validation-scheduler.js +87 -0
- package/dist/ray/node_modules/next/dist/server/app-render/dev-validation-worker-globals.js +41 -0
- package/dist/ray/node_modules/next/dist/server/app-render/dev-validation-worker-snapshot.js +79 -0
- package/dist/ray/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js +14 -0
- package/dist/ray/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js +13 -0
- package/dist/ray/node_modules/next/dist/server/app-render/dynamic-rendering.js +1201 -0
- package/dist/ray/node_modules/next/dist/server/app-render/encryption-utils-server.js +114 -0
- package/dist/ray/node_modules/next/dist/server/app-render/encryption-utils.js +93 -0
- package/dist/ray/node_modules/next/dist/server/app-render/encryption.js +261 -0
- package/dist/ray/node_modules/next/dist/server/app-render/entry-base.js +265 -0
- package/dist/ray/node_modules/next/dist/server/app-render/flight-render-result.js +28 -0
- package/dist/ray/node_modules/next/dist/server/app-render/get-asset-query-string.js +29 -0
- package/dist/ray/node_modules/next/dist/server/app-render/get-css-inlined-link-tags.js +45 -0
- package/dist/ray/node_modules/next/dist/server/app-render/get-layer-assets.js +69 -0
- package/dist/ray/node_modules/next/dist/server/app-render/get-preloadable-fonts.js +39 -0
- package/dist/ray/node_modules/next/dist/server/app-render/get-script-nonce-from-header.js +32 -0
- package/dist/ray/node_modules/next/dist/server/app-render/get-short-dynamic-param-type.js +25 -0
- package/dist/ray/node_modules/next/dist/server/app-render/has-loading-component-in-tree.js +19 -0
- package/dist/ray/node_modules/next/dist/server/app-render/instant-test-bootstrap.js +20 -0
- package/dist/ray/node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js +31 -0
- package/dist/ray/node_modules/next/dist/server/app-render/instant-validation/boundary-impl.js +127 -0
- package/dist/ray/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js +38 -0
- package/dist/ray/node_modules/next/dist/server/app-render/instant-validation/instant-config.js +241 -0
- package/dist/ray/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js +432 -0
- package/dist/ray/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.js +33 -0
- package/dist/ray/node_modules/next/dist/server/app-render/instant-validation/instant-validation.js +934 -0
- package/dist/ray/node_modules/next/dist/server/app-render/instant-validation/stream-utils.js +96 -0
- package/dist/ray/node_modules/next/dist/server/app-render/interop-default.js +17 -0
- package/dist/ray/node_modules/next/dist/server/app-render/make-get-server-inserted-html.js +91 -0
- package/dist/ray/node_modules/next/dist/server/app-render/manifests-singleton.js +327 -0
- package/dist/ray/node_modules/next/dist/server/app-render/metadata-insertion/create-server-inserted-metadata.js +29 -0
- package/dist/ray/node_modules/next/dist/server/app-render/module-loading/instrument-module-getter.js +32 -0
- package/dist/ray/node_modules/next/dist/server/app-render/module-loading/track-dynamic-import.js +57 -0
- package/dist/ray/node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js +32 -0
- package/dist/ray/node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js +62 -0
- package/dist/ray/node_modules/next/dist/server/app-render/parse-and-validate-flight-router-state.js +49 -0
- package/dist/ray/node_modules/next/dist/server/app-render/postponed-state.js +230 -0
- package/dist/ray/node_modules/next/dist/server/app-render/prospective-render-utils.js +74 -0
- package/dist/ray/node_modules/next/dist/server/app-render/react-large-shell-error.js +17 -0
- package/dist/ray/node_modules/next/dist/server/app-render/react-server.node.js +39 -0
- package/dist/ray/node_modules/next/dist/server/app-render/render-css-resource.js +57 -0
- package/dist/ray/node_modules/next/dist/server/app-render/required-scripts.js +76 -0
- package/dist/ray/node_modules/next/dist/server/app-render/rsc/postpone.js +18 -0
- package/dist/ray/node_modules/next/dist/server/app-render/rsc/preloads.js +74 -0
- package/dist/ray/node_modules/next/dist/server/app-render/rsc/taint.js +79 -0
- package/dist/ray/node_modules/next/dist/server/app-render/segment-explorer-path.js +128 -0
- package/dist/ray/node_modules/next/dist/server/app-render/server-inserted-html.js +77 -0
- package/dist/ray/node_modules/next/dist/server/app-render/staged-rendering.js +324 -0
- package/dist/ray/node_modules/next/dist/server/app-render/stale-time.js +101 -0
- package/dist/ray/node_modules/next/dist/server/app-render/stream-ops.js +155 -0
- package/dist/ray/node_modules/next/dist/server/app-render/stream-ops.node.js +842 -0
- package/dist/ray/node_modules/next/dist/server/app-render/stream-ops.web.js +249 -0
- package/dist/ray/node_modules/next/dist/server/app-render/strip-flight-headers.js +18 -0
- package/dist/ray/node_modules/next/dist/server/app-render/sync-io-messages.js +67 -0
- package/dist/ray/node_modules/next/dist/server/app-render/types.js +65 -0
- package/dist/ray/node_modules/next/dist/server/app-render/use-flight-response.js +217 -0
- package/dist/ray/node_modules/next/dist/server/app-render/vary-params.js +261 -0
- package/dist/ray/node_modules/next/dist/server/app-render/wait-for-response.js +36 -0
- package/dist/ray/node_modules/next/dist/server/app-render/walk-tree-with-flight-router-state.js +237 -0
- package/dist/ray/node_modules/next/dist/server/app-render/work-async-storage-instance.js +14 -0
- package/dist/ray/node_modules/next/dist/server/app-render/work-async-storage.external.js +13 -0
- package/dist/ray/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js +14 -0
- package/dist/ray/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js +250 -0
- package/dist/ray/node_modules/next/dist/server/async-storage/draft-mode-provider.js +62 -0
- package/dist/ray/node_modules/next/dist/server/async-storage/request-store.js +201 -0
- package/dist/ray/node_modules/next/dist/server/async-storage/with-store.js +6 -0
- package/dist/ray/node_modules/next/dist/server/async-storage/work-store.js +98 -0
- package/dist/ray/node_modules/next/dist/server/base-http/helpers.js +36 -0
- package/dist/ray/node_modules/next/dist/server/base-http/index.js +54 -0
- package/dist/ray/node_modules/next/dist/server/base-http/node.js +147 -0
- package/dist/ray/node_modules/next/dist/server/base-http/web.js +124 -0
- package/dist/ray/node_modules/next/dist/server/base-server.js +1957 -0
- package/dist/ray/node_modules/next/dist/server/body-streams.js +122 -0
- package/dist/ray/node_modules/next/dist/server/cache-dir.js +26 -0
- package/dist/ray/node_modules/next/dist/server/capsize-font-metrics.json +181516 -0
- package/dist/ray/node_modules/next/dist/server/ci-info.js +41 -0
- package/dist/ray/node_modules/next/dist/server/client-component-renderer-logger.js +70 -0
- package/dist/ray/node_modules/next/dist/server/config-schema.js +800 -0
- package/dist/ray/node_modules/next/dist/server/config-shared.js +395 -0
- package/dist/ray/node_modules/next/dist/server/config-utils.js +185 -0
- package/dist/ray/node_modules/next/dist/server/config.js +1836 -0
- package/dist/ray/node_modules/next/dist/server/create-deduped-by-callsite-server-error-logger.js +96 -0
- package/dist/ray/node_modules/next/dist/server/crypto-utils.js +70 -0
- package/dist/ray/node_modules/next/dist/server/dev/browser-logs/file-logger.js +186 -0
- package/dist/ray/node_modules/next/dist/server/dev/browser-logs/receive-logs.js +610 -0
- package/dist/ray/node_modules/next/dist/server/dev/browser-logs/source-map.js +222 -0
- package/dist/ray/node_modules/next/dist/server/dev/debug-channel.js +112 -0
- package/dist/ray/node_modules/next/dist/server/dev/dev-indicator-server-state.js +15 -0
- package/dist/ray/node_modules/next/dist/server/dev/dev-validation-worker-pool.js +232 -0
- package/dist/ray/node_modules/next/dist/server/dev/dev-validation-worker.js +308 -0
- package/dist/ray/node_modules/next/dist/server/dev/get-source-map-from-file.js +100 -0
- package/dist/ray/node_modules/next/dist/server/dev/hot-middleware.js +276 -0
- package/dist/ray/node_modules/next/dist/server/dev/hot-reloader-rspack.js +171 -0
- package/dist/ray/node_modules/next/dist/server/dev/hot-reloader-shared-utils.js +56 -0
- package/dist/ray/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +1756 -0
- package/dist/ray/node_modules/next/dist/server/dev/hot-reloader-types.js +60 -0
- package/dist/ray/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1380 -0
- package/dist/ray/node_modules/next/dist/server/dev/log-requests.js +152 -0
- package/dist/ray/node_modules/next/dist/server/dev/messages.js +74 -0
- package/dist/ray/node_modules/next/dist/server/dev/middleware-turbopack.js +422 -0
- package/dist/ray/node_modules/next/dist/server/dev/middleware-webpack.js +495 -0
- package/dist/ray/node_modules/next/dist/server/dev/node-stack-frames.js +81 -0
- package/dist/ray/node_modules/next/dist/server/dev/on-demand-entry-handler.js +773 -0
- package/dist/ray/node_modules/next/dist/server/dev/parse-version-info.js +108 -0
- package/dist/ray/node_modules/next/dist/server/dev/require-cache.js +109 -0
- package/dist/ray/node_modules/next/dist/server/dev/serialized-errors.js +67 -0
- package/dist/ray/node_modules/next/dist/server/dev/server-action-logger.js +37 -0
- package/dist/ray/node_modules/next/dist/server/dev/static-paths-worker.js +106 -0
- package/dist/ray/node_modules/next/dist/server/dev/turbopack-utils.js +727 -0
- package/dist/ray/node_modules/next/dist/server/dev/use-cache-probe-pool.js +177 -0
- package/dist/ray/node_modules/next/dist/server/dev/use-cache-probe-worker.js +180 -0
- package/dist/ray/node_modules/next/dist/server/dynamic-rendering-utils.js +285 -0
- package/dist/ray/node_modules/next/dist/server/font-utils.js +43 -0
- package/dist/ray/node_modules/next/dist/server/get-app-route-from-entrypoint.js +30 -0
- package/dist/ray/node_modules/next/dist/server/get-page-files.js +40 -0
- package/dist/ray/node_modules/next/dist/server/get-route-from-entrypoint.js +35 -0
- package/dist/ray/node_modules/next/dist/server/image-optimizer.js +1248 -0
- package/dist/ray/node_modules/next/dist/server/instrumentation/types.js +6 -0
- package/dist/ray/node_modules/next/dist/server/instrumentation/utils.js +21 -0
- package/dist/ray/node_modules/next/dist/server/internal-utils.js +39 -0
- package/dist/ray/node_modules/next/dist/server/is-private-ip.js +36 -0
- package/dist/ray/node_modules/next/dist/server/lib/app-dir-module.js +59 -0
- package/dist/ray/node_modules/next/dist/server/lib/app-info-log.js +135 -0
- package/dist/ray/node_modules/next/dist/server/lib/async-callback-set.js +29 -0
- package/dist/ray/node_modules/next/dist/server/lib/cache-control.js +22 -0
- package/dist/ray/node_modules/next/dist/server/lib/cache-handlers/default.external.js +18 -0
- package/dist/ray/node_modules/next/dist/server/lib/cache-handlers/default.js +196 -0
- package/dist/ray/node_modules/next/dist/server/lib/cache-handlers/types.js +8 -0
- package/dist/ray/node_modules/next/dist/server/lib/chrome-devtools-workspace.js +116 -0
- package/dist/ray/node_modules/next/dist/server/lib/clone-response.js +77 -0
- package/dist/ray/node_modules/next/dist/server/lib/cpu-profile.js +56 -0
- package/dist/ray/node_modules/next/dist/server/lib/decode-query-path-parameter.js +26 -0
- package/dist/ray/node_modules/next/dist/server/lib/dedupe-fetch.js +163 -0
- package/dist/ray/node_modules/next/dist/server/lib/dev-bundler-service.js +110 -0
- package/dist/ray/node_modules/next/dist/server/lib/disk-lru-cache.external.js +57 -0
- package/dist/ray/node_modules/next/dist/server/lib/encode-header-safe.js +44 -0
- package/dist/ray/node_modules/next/dist/server/lib/etag.js +56 -0
- package/dist/ray/node_modules/next/dist/server/lib/experimental/create-env-definitions.js +48 -0
- package/dist/ray/node_modules/next/dist/server/lib/experimental/ppr.js +47 -0
- package/dist/ray/node_modules/next/dist/server/lib/find-page-file.js +147 -0
- package/dist/ray/node_modules/next/dist/server/lib/fix-mojibake.js +25 -0
- package/dist/ray/node_modules/next/dist/server/lib/format-hostname.js +16 -0
- package/dist/ray/node_modules/next/dist/server/lib/generate-agent-files.js +180 -0
- package/dist/ray/node_modules/next/dist/server/lib/i18n-provider.js +129 -0
- package/dist/ray/node_modules/next/dist/server/lib/implicit-tags.js +87 -0
- package/dist/ray/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +348 -0
- package/dist/ray/node_modules/next/dist/server/lib/incremental-cache/index.js +547 -0
- package/dist/ray/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js +59 -0
- package/dist/ray/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js +73 -0
- package/dist/ray/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js +55 -0
- package/dist/ray/node_modules/next/dist/server/lib/install-code-frame.js +22 -0
- package/dist/ray/node_modules/next/dist/server/lib/is-ipv6.js +41 -0
- package/dist/ray/node_modules/next/dist/server/lib/is-non-html-sec-fetch-dest.js +38 -0
- package/dist/ray/node_modules/next/dist/server/lib/is-rsc-request.js +18 -0
- package/dist/ray/node_modules/next/dist/server/lib/lazy-module.js +80 -0
- package/dist/ray/node_modules/next/dist/server/lib/lazy-result.js +46 -0
- package/dist/ray/node_modules/next/dist/server/lib/lru-cache.js +191 -0
- package/dist/ray/node_modules/next/dist/server/lib/match-next-data-pathname.js +18 -0
- package/dist/ray/node_modules/next/dist/server/lib/mock-request.js +441 -0
- package/dist/ray/node_modules/next/dist/server/lib/module-loader/module-loader.js +8 -0
- package/dist/ray/node_modules/next/dist/server/lib/module-loader/node-module-loader.js +25 -0
- package/dist/ray/node_modules/next/dist/server/lib/module-loader/route-module-loader.js +26 -0
- package/dist/ray/node_modules/next/dist/server/lib/node-fs-methods.js +28 -0
- package/dist/ray/node_modules/next/dist/server/lib/params-utils.js +70 -0
- package/dist/ray/node_modules/next/dist/server/lib/parse-stack.js +46 -0
- package/dist/ray/node_modules/next/dist/server/lib/patch-fetch.js +1027 -0
- package/dist/ray/node_modules/next/dist/server/lib/patch-set-header.js +45 -0
- package/dist/ray/node_modules/next/dist/server/lib/postponed-request-body.js +64 -0
- package/dist/ray/node_modules/next/dist/server/lib/release-compression-stream.js +24 -0
- package/dist/ray/node_modules/next/dist/server/lib/render-server.js +157 -0
- package/dist/ray/node_modules/next/dist/server/lib/router-server.js +756 -0
- package/dist/ray/node_modules/next/dist/server/lib/router-utils/block-cross-site-dev.js +110 -0
- package/dist/ray/node_modules/next/dist/server/lib/router-utils/build-data-route.js +48 -0
- package/dist/ray/node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.js +50 -0
- package/dist/ray/node_modules/next/dist/server/lib/router-utils/cache-life-type-utils.js +212 -0
- package/dist/ray/node_modules/next/dist/server/lib/router-utils/decode-path-params.js +42 -0
- package/dist/ray/node_modules/next/dist/server/lib/router-utils/filesystem.js +612 -0
- package/dist/ray/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js +89 -0
- package/dist/ray/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js +114 -0
- package/dist/ray/node_modules/next/dist/server/lib/router-utils/is-postpone.js +16 -0
- package/dist/ray/node_modules/next/dist/server/lib/router-utils/proxy-request.js +128 -0
- package/dist/ray/node_modules/next/dist/server/lib/router-utils/resolve-routes.js +646 -0
- package/dist/ray/node_modules/next/dist/server/lib/router-utils/root-params-type-utils.js +61 -0
- package/dist/ray/node_modules/next/dist/server/lib/router-utils/route-types-utils.js +326 -0
- package/dist/ray/node_modules/next/dist/server/lib/router-utils/router-server-context.js +26 -0
- package/dist/ray/node_modules/next/dist/server/lib/router-utils/typegen.js +892 -0
- package/dist/ray/node_modules/next/dist/server/lib/router-utils/types.js +6 -0
- package/dist/ray/node_modules/next/dist/server/lib/server-action-request-meta.js +53 -0
- package/dist/ray/node_modules/next/dist/server/lib/server-ipc/utils.js +83 -0
- package/dist/ray/node_modules/next/dist/server/lib/source-maps.js +241 -0
- package/dist/ray/node_modules/next/dist/server/lib/start-server.js +540 -0
- package/dist/ray/node_modules/next/dist/server/lib/streaming-metadata.js +27 -0
- package/dist/ray/node_modules/next/dist/server/lib/to-route.js +37 -0
- package/dist/ray/node_modules/next/dist/server/lib/trace/constants.js +208 -0
- package/dist/ray/node_modules/next/dist/server/lib/trace/local-span-recorder.js +385 -0
- package/dist/ray/node_modules/next/dist/server/lib/trace/request-insights-identity.js +39 -0
- package/dist/ray/node_modules/next/dist/server/lib/trace/request-insights.js +308 -0
- package/dist/ray/node_modules/next/dist/server/lib/trace/span-store.js +69 -0
- package/dist/ray/node_modules/next/dist/server/lib/trace/tracer.js +392 -0
- package/dist/ray/node_modules/next/dist/server/lib/trace/utils.js +16 -0
- package/dist/ray/node_modules/next/dist/server/lib/types.js +6 -0
- package/dist/ray/node_modules/next/dist/server/lib/utils.js +292 -0
- package/dist/ray/node_modules/next/dist/server/lib/worker-utils.js +36 -0
- package/dist/ray/node_modules/next/dist/server/load-components.js +185 -0
- package/dist/ray/node_modules/next/dist/server/load-default-error-components.js +41 -0
- package/dist/ray/node_modules/next/dist/server/load-manifest.external.js +117 -0
- package/dist/ray/node_modules/next/dist/server/match-bundle.js +25 -0
- package/dist/ray/node_modules/next/dist/server/mcp/get-mcp-middleware.js +49 -0
- package/dist/ray/node_modules/next/dist/server/mcp/get-or-create-mcp-server.js +51 -0
- package/dist/ray/node_modules/next/dist/server/mcp/mcp-telemetry-tracker.js +82 -0
- package/dist/ray/node_modules/next/dist/server/mcp/tools/compile-route.js +86 -0
- package/dist/ray/node_modules/next/dist/server/mcp/tools/get-compilation-issues.js +68 -0
- package/dist/ray/node_modules/next/dist/server/mcp/tools/get-errors.js +114 -0
- package/dist/ray/node_modules/next/dist/server/mcp/tools/get-logs.js +67 -0
- package/dist/ray/node_modules/next/dist/server/mcp/tools/get-page-metadata.js +188 -0
- package/dist/ray/node_modules/next/dist/server/mcp/tools/get-project-metadata.js +59 -0
- package/dist/ray/node_modules/next/dist/server/mcp/tools/get-request-insights.js +57 -0
- package/dist/ray/node_modules/next/dist/server/mcp/tools/get-routes.js +136 -0
- package/dist/ray/node_modules/next/dist/server/mcp/tools/get-server-action-by-id.js +121 -0
- package/dist/ray/node_modules/next/dist/server/mcp/tools/next-instance-error-state.js +31 -0
- package/dist/ray/node_modules/next/dist/server/mcp/tools/utils/browser-communication.js +90 -0
- package/dist/ray/node_modules/next/dist/server/mcp/tools/utils/format-compilation-issues.js +72 -0
- package/dist/ray/node_modules/next/dist/server/mcp/tools/utils/format-errors.js +137 -0
- package/dist/ray/node_modules/next/dist/server/mcp/tools/utils/resolve-path-to-route.js +49 -0
- package/dist/ray/node_modules/next/dist/server/next-server.js +1443 -0
- package/dist/ray/node_modules/next/dist/server/next-typescript.js +13 -0
- package/dist/ray/node_modules/next/dist/server/next.js +485 -0
- package/dist/ray/node_modules/next/dist/server/node-environment-baseline.js +25 -0
- package/dist/ray/node_modules/next/dist/server/node-environment-extensions/console-dim.external.js +301 -0
- package/dist/ray/node_modules/next/dist/server/node-environment-extensions/console-exit.js +49 -0
- package/dist/ray/node_modules/next/dist/server/node-environment-extensions/console-file.js +56 -0
- package/dist/ray/node_modules/next/dist/server/node-environment-extensions/date.js +52 -0
- package/dist/ray/node_modules/next/dist/server/node-environment-extensions/error-inspect.js +8 -0
- package/dist/ray/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js +577 -0
- package/dist/ray/node_modules/next/dist/server/node-environment-extensions/global-behaviors.js +33 -0
- package/dist/ray/node_modules/next/dist/server/node-environment-extensions/io-utils.js +102 -0
- package/dist/ray/node_modules/next/dist/server/node-environment-extensions/node-crypto.js +103 -0
- package/dist/ray/node_modules/next/dist/server/node-environment-extensions/process-error-handlers.js +170 -0
- package/dist/ray/node_modules/next/dist/server/node-environment-extensions/random.js +28 -0
- package/dist/ray/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js +518 -0
- package/dist/ray/node_modules/next/dist/server/node-environment-extensions/web-crypto.js +45 -0
- package/dist/ray/node_modules/next/dist/server/node-environment.js +19 -0
- package/dist/ray/node_modules/next/dist/server/node-polyfill-crypto.js +21 -0
- package/dist/ray/node_modules/next/dist/server/normalizers/absolute-filename-normalizer.js +33 -0
- package/dist/ray/node_modules/next/dist/server/normalizers/built/app/app-bundle-path-normalizer.js +54 -0
- package/dist/ray/node_modules/next/dist/server/normalizers/built/app/app-filename-normalizer.js +22 -0
- package/dist/ray/node_modules/next/dist/server/normalizers/built/app/app-page-normalizer.js +40 -0
- package/dist/ray/node_modules/next/dist/server/normalizers/built/app/app-pathname-normalizer.js +55 -0
- package/dist/ray/node_modules/next/dist/server/normalizers/built/app/index.js +42 -0
- package/dist/ray/node_modules/next/dist/server/normalizers/built/pages/index.js +44 -0
- package/dist/ray/node_modules/next/dist/server/normalizers/built/pages/pages-bundle-path-normalizer.js +55 -0
- package/dist/ray/node_modules/next/dist/server/normalizers/built/pages/pages-filename-normalizer.js +22 -0
- package/dist/ray/node_modules/next/dist/server/normalizers/built/pages/pages-page-normalizer.js +19 -0
- package/dist/ray/node_modules/next/dist/server/normalizers/built/pages/pages-pathname-normalizer.js +19 -0
- package/dist/ray/node_modules/next/dist/server/normalizers/locale-route-normalizer.js +26 -0
- package/dist/ray/node_modules/next/dist/server/normalizers/normalizer.js +6 -0
- package/dist/ray/node_modules/next/dist/server/normalizers/normalizers.js +23 -0
- package/dist/ray/node_modules/next/dist/server/normalizers/prefixing-normalizer.js +26 -0
- package/dist/ray/node_modules/next/dist/server/normalizers/request/base-path.js +25 -0
- package/dist/ray/node_modules/next/dist/server/normalizers/request/next-data.js +38 -0
- package/dist/ray/node_modules/next/dist/server/normalizers/request/pathname-normalizer.js +6 -0
- package/dist/ray/node_modules/next/dist/server/normalizers/request/prefix.js +39 -0
- package/dist/ray/node_modules/next/dist/server/normalizers/request/rsc.js +19 -0
- package/dist/ray/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.js +33 -0
- package/dist/ray/node_modules/next/dist/server/normalizers/request/suffix.js +27 -0
- package/dist/ray/node_modules/next/dist/server/normalizers/underscore-normalizer.js +17 -0
- package/dist/ray/node_modules/next/dist/server/normalizers/wrap-normalizer-fn.js +17 -0
- package/dist/ray/node_modules/next/dist/server/og/cache-image-response.js +341 -0
- package/dist/ray/node_modules/next/dist/server/og/image-response.js +72 -0
- package/dist/ray/node_modules/next/dist/server/patch-error-inspect.js +507 -0
- package/dist/ray/node_modules/next/dist/server/pipe-readable.js +212 -0
- package/dist/ray/node_modules/next/dist/server/post-process.js +39 -0
- package/dist/ray/node_modules/next/dist/server/render-result.js +246 -0
- package/dist/ray/node_modules/next/dist/server/render.js +1150 -0
- package/dist/ray/node_modules/next/dist/server/request/connection.js +135 -0
- package/dist/ray/node_modules/next/dist/server/request/cookies.js +239 -0
- package/dist/ray/node_modules/next/dist/server/request/draft-mode.js +238 -0
- package/dist/ray/node_modules/next/dist/server/request/fallback-params.js +95 -0
- package/dist/ray/node_modules/next/dist/server/request/headers.js +235 -0
- package/dist/ray/node_modules/next/dist/server/request/io.js +96 -0
- package/dist/ray/node_modules/next/dist/server/request/params.js +634 -0
- package/dist/ray/node_modules/next/dist/server/request/pathname.js +141 -0
- package/dist/ray/node_modules/next/dist/server/request/root-params.js +202 -0
- package/dist/ray/node_modules/next/dist/server/request/search-params.js +582 -0
- package/dist/ray/node_modules/next/dist/server/request/utils.js +84 -0
- package/dist/ray/node_modules/next/dist/server/request-meta.js +55 -0
- package/dist/ray/node_modules/next/dist/server/require-hook.js +82 -0
- package/dist/ray/node_modules/next/dist/server/require.js +109 -0
- package/dist/ray/node_modules/next/dist/server/response-cache/index.js +323 -0
- package/dist/ray/node_modules/next/dist/server/response-cache/types.js +41 -0
- package/dist/ray/node_modules/next/dist/server/response-cache/utils.js +104 -0
- package/dist/ray/node_modules/next/dist/server/response-cache/web.js +101 -0
- package/dist/ray/node_modules/next/dist/server/resume-data-cache/cache-store.js +101 -0
- package/dist/ray/node_modules/next/dist/server/resume-data-cache/resume-data-cache.js +142 -0
- package/dist/ray/node_modules/next/dist/server/revalidation-utils.js +156 -0
- package/dist/ray/node_modules/next/dist/server/route-definitions/app-page-route-definition.js +16 -0
- package/dist/ray/node_modules/next/dist/server/route-definitions/app-route-route-definition.js +6 -0
- package/dist/ray/node_modules/next/dist/server/route-definitions/locale-route-definition.js +6 -0
- package/dist/ray/node_modules/next/dist/server/route-definitions/pages-api-route-definition.js +6 -0
- package/dist/ray/node_modules/next/dist/server/route-definitions/pages-route-definition.js +6 -0
- package/dist/ray/node_modules/next/dist/server/route-definitions/route-definition.js +6 -0
- package/dist/ray/node_modules/next/dist/server/route-kind.js +32 -0
- package/dist/ray/node_modules/next/dist/server/route-matcher-managers/default-route-matcher-manager.js +239 -0
- package/dist/ray/node_modules/next/dist/server/route-matcher-managers/dev-route-matcher-manager.js +120 -0
- package/dist/ray/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.js +6 -0
- package/dist/ray/node_modules/next/dist/server/route-matcher-providers/app-page-route-matcher-provider.js +55 -0
- package/dist/ray/node_modules/next/dist/server/route-matcher-providers/app-route-route-matcher-provider.js +43 -0
- package/dist/ray/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-page-route-matcher-provider.js +91 -0
- package/dist/ray/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-route-route-matcher-provider.js +112 -0
- package/dist/ray/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-api-route-matcher-provider.js +77 -0
- package/dist/ray/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-route-matcher-provider.js +77 -0
- package/dist/ray/node_modules/next/dist/server/route-matcher-providers/dev/file-cache-route-matcher-provider.js +28 -0
- package/dist/ray/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/batched-file-reader.js +106 -0
- package/dist/ray/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/default-file-reader.js +42 -0
- package/dist/ray/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/file-reader.js +6 -0
- package/dist/ray/node_modules/next/dist/server/route-matcher-providers/helpers/cached-route-matcher-provider.js +30 -0
- package/dist/ray/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/manifest-loader.js +6 -0
- package/dist/ray/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/node-manifest-loader.js +34 -0
- package/dist/ray/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/server-manifest-loader.js +20 -0
- package/dist/ray/node_modules/next/dist/server/route-matcher-providers/manifest-route-matcher-provider.js +21 -0
- package/dist/ray/node_modules/next/dist/server/route-matcher-providers/pages-api-route-matcher-provider.js +55 -0
- package/dist/ray/node_modules/next/dist/server/route-matcher-providers/pages-route-matcher-provider.js +64 -0
- package/dist/ray/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.js +6 -0
- package/dist/ray/node_modules/next/dist/server/route-matchers/app-page-route-matcher.js +18 -0
- package/dist/ray/node_modules/next/dist/server/route-matchers/app-route-route-matcher.js +15 -0
- package/dist/ray/node_modules/next/dist/server/route-matchers/locale-route-matcher.js +68 -0
- package/dist/ray/node_modules/next/dist/server/route-matchers/pages-api-route-matcher.js +30 -0
- package/dist/ray/node_modules/next/dist/server/route-matchers/pages-route-matcher.js +30 -0
- package/dist/ray/node_modules/next/dist/server/route-matchers/route-matcher.js +54 -0
- package/dist/ray/node_modules/next/dist/server/route-matches/app-page-route-match.js +6 -0
- package/dist/ray/node_modules/next/dist/server/route-matches/app-route-route-match.js +6 -0
- package/dist/ray/node_modules/next/dist/server/route-matches/locale-route-match.js +6 -0
- package/dist/ray/node_modules/next/dist/server/route-matches/pages-api-route-match.js +16 -0
- package/dist/ray/node_modules/next/dist/server/route-matches/pages-route-match.js +6 -0
- package/dist/ray/node_modules/next/dist/server/route-matches/route-match.js +6 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.js +51 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/module.compiled.js +36 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/module.js +176 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/module.render.js +24 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/normalize-request-url.js +62 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/app-router-context.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.js +87 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/head-manager-context.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/hooks-client-context.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/image-config-context.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/router-context.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/server-inserted-html.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.js +140 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-compiler-runtime.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-dom.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-runtime.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-static.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-static.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.js +125 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-compiler-runtime.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom-server.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-turbopack-client.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-route/helpers/auto-implement-methods.js +85 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-route/helpers/clean-url.js +24 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-route/helpers/get-pathname-from-absolute-path.js +29 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-route/helpers/is-static-gen-enabled.js +15 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-route/helpers/parsed-url-query-to-params.js +20 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-route/module.compiled.js +36 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-route/module.js +948 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/app-route/shared-modules.js +56 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/checks.js +45 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/pages/builtin/_error.js +100 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/pages/module.compiled.js +20 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/pages/module.js +92 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/pages/module.render.js +24 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/pages/pages-handler.js +567 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/pages/vendored/contexts/app-router-context.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.js +102 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/pages/vendored/contexts/head-manager-context.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/pages/vendored/contexts/hooks-client-context.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/pages/vendored/contexts/html-context.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/pages/vendored/contexts/image-config-context.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable-context.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/pages/vendored/contexts/router-context.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/pages/vendored/contexts/server-inserted-html.js +4 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/pages-api/module.compiled.js +20 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/pages-api/module.js +58 -0
- package/dist/ray/node_modules/next/dist/server/route-modules/route-module.js +697 -0
- package/dist/ray/node_modules/next/dist/server/runtime-reacts.external.js +46 -0
- package/dist/ray/node_modules/next/dist/server/send-payload.js +88 -0
- package/dist/ray/node_modules/next/dist/server/send-response.js +70 -0
- package/dist/ray/node_modules/next/dist/server/serve-static.js +66 -0
- package/dist/ray/node_modules/next/dist/server/server-route-utils.js +30 -0
- package/dist/ray/node_modules/next/dist/server/server-utils.js +340 -0
- package/dist/ray/node_modules/next/dist/server/setup-http-agent-env.js +31 -0
- package/dist/ray/node_modules/next/dist/server/stream-utils/encoded-tags.js +122 -0
- package/dist/ray/node_modules/next/dist/server/stream-utils/node-buffered-transform-stream.js +51 -0
- package/dist/ray/node_modules/next/dist/server/stream-utils/node-web-streams-helper.js +939 -0
- package/dist/ray/node_modules/next/dist/server/stream-utils/uint8array-helpers.js +74 -0
- package/dist/ray/node_modules/next/dist/server/typescript/constant.js +98 -0
- package/dist/ray/node_modules/next/dist/server/typescript/index.js +199 -0
- package/dist/ray/node_modules/next/dist/server/typescript/rules/client-boundary.js +100 -0
- package/dist/ray/node_modules/next/dist/server/typescript/rules/config.js +534 -0
- package/dist/ray/node_modules/next/dist/server/typescript/rules/entry.js +149 -0
- package/dist/ray/node_modules/next/dist/server/typescript/rules/error.js +38 -0
- package/dist/ray/node_modules/next/dist/server/typescript/rules/metadata.js +234 -0
- package/dist/ray/node_modules/next/dist/server/typescript/rules/server-boundary.js +115 -0
- package/dist/ray/node_modules/next/dist/server/typescript/rules/server.js +79 -0
- package/dist/ray/node_modules/next/dist/server/typescript/utils.js +212 -0
- package/dist/ray/node_modules/next/dist/server/use-cache/cache-life-profile.js +84 -0
- package/dist/ray/node_modules/next/dist/server/use-cache/cache-life.js +102 -0
- package/dist/ray/node_modules/next/dist/server/use-cache/cache-tag.js +52 -0
- package/dist/ray/node_modules/next/dist/server/use-cache/clone-cache-entry.js +28 -0
- package/dist/ray/node_modules/next/dist/server/use-cache/constants.js +44 -0
- package/dist/ray/node_modules/next/dist/server/use-cache/handlers.js +274 -0
- package/dist/ray/node_modules/next/dist/server/use-cache/tiered-cache-handler.js +145 -0
- package/dist/ray/node_modules/next/dist/server/use-cache/use-cache-errors.js +59 -0
- package/dist/ray/node_modules/next/dist/server/use-cache/use-cache-probe-globals.js +39 -0
- package/dist/ray/node_modules/next/dist/server/use-cache/use-cache-probe-scheduler.js +117 -0
- package/dist/ray/node_modules/next/dist/server/use-cache/use-cache-wrapper.js +2605 -0
- package/dist/ray/node_modules/next/dist/server/utils.js +73 -0
- package/dist/ray/node_modules/next/dist/server/web/adapter.js +428 -0
- package/dist/ray/node_modules/next/dist/server/web/edge-route-module-wrapper.js +136 -0
- package/dist/ray/node_modules/next/dist/server/web/error.js +69 -0
- package/dist/ray/node_modules/next/dist/server/web/exports/index.js +56 -0
- package/dist/ray/node_modules/next/dist/server/web/get-edge-preview-props.js +23 -0
- package/dist/ray/node_modules/next/dist/server/web/globals.js +128 -0
- package/dist/ray/node_modules/next/dist/server/web/http.js +39 -0
- package/dist/ray/node_modules/next/dist/server/web/internal-edge-wait-until.js +64 -0
- package/dist/ray/node_modules/next/dist/server/web/next-url.js +199 -0
- package/dist/ray/node_modules/next/dist/server/web/sandbox/context.js +468 -0
- package/dist/ray/node_modules/next/dist/server/web/sandbox/fetch-inline-assets.js +35 -0
- package/dist/ray/node_modules/next/dist/server/web/sandbox/index.js +28 -0
- package/dist/ray/node_modules/next/dist/server/web/sandbox/resource-managers.js +123 -0
- package/dist/ray/node_modules/next/dist/server/web/sandbox/sandbox.js +137 -0
- package/dist/ray/node_modules/next/dist/server/web/spec-extension/adapters/headers.js +293 -0
- package/dist/ray/node_modules/next/dist/server/web/spec-extension/adapters/next-request.js +142 -0
- package/dist/ray/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js +30 -0
- package/dist/ray/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js +226 -0
- package/dist/ray/node_modules/next/dist/server/web/spec-extension/cookies.js +29 -0
- package/dist/ray/node_modules/next/dist/server/web/spec-extension/fetch-event.js +98 -0
- package/dist/ray/node_modules/next/dist/server/web/spec-extension/image-response.js +22 -0
- package/dist/ray/node_modules/next/dist/server/web/spec-extension/request.js +99 -0
- package/dist/ray/node_modules/next/dist/server/web/spec-extension/response.js +136 -0
- package/dist/ray/node_modules/next/dist/server/web/spec-extension/revalidate.js +226 -0
- package/dist/ray/node_modules/next/dist/server/web/spec-extension/unstable-cache.js +307 -0
- package/dist/ray/node_modules/next/dist/server/web/spec-extension/unstable-no-store.js +51 -0
- package/dist/ray/node_modules/next/dist/server/web/spec-extension/url-pattern.js +13 -0
- package/dist/ray/node_modules/next/dist/server/web/spec-extension/user-agent.js +46 -0
- package/dist/ray/node_modules/next/dist/server/web/types.js +6 -0
- package/dist/ray/node_modules/next/dist/server/web/utils.js +151 -0
- package/dist/ray/node_modules/next/dist/server/web/web-on-close.js +87 -0
- package/dist/ray/node_modules/next/dist/shared/lib/action-revalidation-kind.js +31 -0
- package/dist/ray/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js +50 -0
- package/dist/ray/node_modules/next/dist/shared/lib/app-router-types.js +159 -0
- package/dist/ray/node_modules/next/dist/shared/lib/constants.js +453 -0
- package/dist/ray/node_modules/next/dist/shared/lib/deep-freeze.js +30 -0
- package/dist/ray/node_modules/next/dist/shared/lib/deployment-id.js +63 -0
- package/dist/ray/node_modules/next/dist/shared/lib/dset.js +34 -0
- package/dist/ray/node_modules/next/dist/shared/lib/encode-uri-path.js +15 -0
- package/dist/ray/node_modules/next/dist/shared/lib/entry-constants.js +36 -0
- package/dist/ray/node_modules/next/dist/shared/lib/error-source.js +36 -0
- package/dist/ray/node_modules/next/dist/shared/lib/errors/code-frame.js +20 -0
- package/dist/ray/node_modules/next/dist/shared/lib/errors/constants.js +19 -0
- package/dist/ray/node_modules/next/dist/shared/lib/errors/empty-generate-static-params-error.js +31 -0
- package/dist/ray/node_modules/next/dist/shared/lib/errors/hard-deprecated-config-error.js +25 -0
- package/dist/ray/node_modules/next/dist/shared/lib/escape-regexp.js +22 -0
- package/dist/ray/node_modules/next/dist/shared/lib/get-hostname.js +23 -0
- package/dist/ray/node_modules/next/dist/shared/lib/hash.js +42 -0
- package/dist/ray/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js +18 -0
- package/dist/ray/node_modules/next/dist/shared/lib/head.js +164 -0
- package/dist/ray/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js +60 -0
- package/dist/ray/node_modules/next/dist/shared/lib/html-context.shared-runtime.js +40 -0
- package/dist/ray/node_modules/next/dist/shared/lib/htmlescape.js +52 -0
- package/dist/ray/node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js +25 -0
- package/dist/ray/node_modules/next/dist/shared/lib/i18n/get-locale-redirect.js +59 -0
- package/dist/ray/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js +54 -0
- package/dist/ray/node_modules/next/dist/shared/lib/image-blur-svg.js +22 -0
- package/dist/ray/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js +19 -0
- package/dist/ray/node_modules/next/dist/shared/lib/image-config.js +77 -0
- package/dist/ray/node_modules/next/dist/shared/lib/instant-messages.js +43 -0
- package/dist/ray/node_modules/next/dist/shared/lib/invariant-error.js +23 -0
- package/dist/ray/node_modules/next/dist/shared/lib/is-plain-object.js +42 -0
- package/dist/ray/node_modules/next/dist/shared/lib/is-thenable.js +20 -0
- package/dist/ray/node_modules/next/dist/shared/lib/isomorphic/path.js +14 -0
- package/dist/ray/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js +37 -0
- package/dist/ray/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.js +19 -0
- package/dist/ray/node_modules/next/dist/shared/lib/loadable.shared-runtime.js +246 -0
- package/dist/ray/node_modules/next/dist/shared/lib/match-local-pattern.js +46 -0
- package/dist/ray/node_modules/next/dist/shared/lib/match-remote-pattern.js +63 -0
- package/dist/ray/node_modules/next/dist/shared/lib/modern-browserslist-target.js +15 -0
- package/dist/ray/node_modules/next/dist/shared/lib/no-fallback-error.external.js +18 -0
- package/dist/ray/node_modules/next/dist/shared/lib/normalized-asset-prefix.js +28 -0
- package/dist/ray/node_modules/next/dist/shared/lib/page-path/absolute-path-to-page.js +26 -0
- package/dist/ray/node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js +18 -0
- package/dist/ray/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js +18 -0
- package/dist/ray/node_modules/next/dist/shared/lib/page-path/get-page-paths.js +40 -0
- package/dist/ray/node_modules/next/dist/shared/lib/page-path/normalize-data-path.js +23 -0
- package/dist/ray/node_modules/next/dist/shared/lib/page-path/normalize-page-path.js +26 -0
- package/dist/ray/node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js +19 -0
- package/dist/ray/node_modules/next/dist/shared/lib/page-path/remove-page-path-tail.js +20 -0
- package/dist/ray/node_modules/next/dist/shared/lib/promise-with-resolvers.js +26 -0
- package/dist/ray/node_modules/next/dist/shared/lib/request-insights.js +30 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/adapters.js +139 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/routes/app.js +158 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/add-locale.js +28 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js +20 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js +20 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/app-paths.js +62 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/as-path-to-search-params.js +17 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/cache-busting-search-param.js +70 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/escape-path-delimiters.js +16 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js +27 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/format-url.js +111 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/get-dynamic-param.js +174 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js +52 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/get-route-from-asset-path.js +25 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/get-segment-param.js +90 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/html-bots.js +17 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/index.js +30 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/interception-prefix-from-param-type.js +33 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/interception-routes.js +108 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/is-bot.js +57 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/is-dynamic.js +26 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.js +31 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js +30 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/parse-path.js +33 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js +43 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/parse-url.js +38 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js +20 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/path-match.js +49 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/prepare-destination.js +293 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/querystring.js +79 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/relativize-url.js +40 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js +39 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js +22 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/resolve-param-value.js +116 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/route-match-utils.js +113 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/route-matcher.js +45 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/route-regex.js +256 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js +244 -0
- package/dist/ray/node_modules/next/dist/shared/lib/router-context.shared-runtime.js +18 -0
- package/dist/ray/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.js +99 -0
- package/dist/ray/node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.js +66 -0
- package/dist/ray/node_modules/next/dist/shared/lib/segment.js +102 -0
- package/dist/ray/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.js +35 -0
- package/dist/ray/node_modules/next/dist/shared/lib/server-reference-info.js +68 -0
- package/dist/ray/node_modules/next/dist/shared/lib/side-effect.js +63 -0
- package/dist/ray/node_modules/next/dist/shared/lib/size-limit.js +40 -0
- package/dist/ray/node_modules/next/dist/shared/lib/turbopack/internal-error.js +53 -0
- package/dist/ray/node_modules/next/dist/shared/lib/utils/reflect-utils.js +69 -0
- package/dist/ray/node_modules/next/dist/shared/lib/utils/warn-once.js +22 -0
- package/dist/ray/node_modules/next/dist/shared/lib/utils.js +216 -0
- package/dist/ray/node_modules/next/dist/shared/lib/zod.js +101 -0
- package/dist/ray/node_modules/next/dist/telemetry/agent-name.js +20 -0
- package/dist/ray/node_modules/next/dist/telemetry/anonymous-meta.js +91 -0
- package/dist/ray/node_modules/next/dist/telemetry/detached-flush.js +56 -0
- package/dist/ray/node_modules/next/dist/telemetry/events/build.js +187 -0
- package/dist/ray/node_modules/next/dist/telemetry/events/index.js +41 -0
- package/dist/ray/node_modules/next/dist/telemetry/events/plugins.js +51 -0
- package/dist/ray/node_modules/next/dist/telemetry/events/swc-load-failure.js +55 -0
- package/dist/ray/node_modules/next/dist/telemetry/events/version.js +68 -0
- package/dist/ray/node_modules/next/dist/telemetry/flush-telemetry.js +19 -0
- package/dist/ray/node_modules/next/dist/telemetry/post-telemetry-payload.js +48 -0
- package/dist/ray/node_modules/next/dist/telemetry/project-id.js +48 -0
- package/dist/ray/node_modules/next/dist/telemetry/storage.js +305 -0
- package/dist/ray/node_modules/next/dist/trace/index.js +58 -0
- package/dist/ray/node_modules/next/dist/trace/report/index.js +37 -0
- package/dist/ray/node_modules/next/dist/trace/report/to-json-build.js +40 -0
- package/dist/ray/node_modules/next/dist/trace/report/to-json.js +171 -0
- package/dist/ray/node_modules/next/dist/trace/report/to-telemetry.js +36 -0
- package/dist/ray/node_modules/next/dist/trace/shared.js +39 -0
- package/dist/ray/node_modules/next/dist/trace/trace.js +211 -0
- package/dist/ray/node_modules/next/package.json +139 -0
- package/dist/ray/node_modules/react/cjs/react-compiler-runtime.production.js +16 -0
- package/dist/ray/node_modules/react/cjs/react-jsx-dev-runtime.production.js +14 -0
- package/dist/ray/node_modules/react/cjs/react-jsx-runtime.production.js +34 -0
- package/dist/ray/node_modules/react/cjs/react.development.js +1284 -0
- package/dist/ray/node_modules/react/cjs/react.production.js +542 -0
- package/dist/ray/node_modules/react/compiler-runtime.js +14 -0
- package/dist/ray/node_modules/react/index.js +7 -0
- package/dist/ray/node_modules/react/jsx-dev-runtime.js +7 -0
- package/dist/ray/node_modules/react/jsx-runtime.js +7 -0
- package/dist/ray/node_modules/react/package.json +51 -0
- package/dist/ray/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +6603 -0
- package/dist/ray/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +6692 -0
- package/dist/ray/node_modules/react-dom/cjs/react-dom-server.browser.production.js +7410 -0
- package/dist/ray/node_modules/react-dom/cjs/react-dom-server.edge.production.js +7512 -0
- package/dist/ray/node_modules/react-dom/cjs/react-dom-server.node.production.js +7707 -0
- package/dist/ray/node_modules/react-dom/cjs/react-dom.production.js +210 -0
- package/dist/ray/node_modules/react-dom/index.js +38 -0
- package/dist/ray/node_modules/react-dom/package.json +117 -0
- package/dist/ray/node_modules/react-dom/server.browser.js +16 -0
- package/dist/ray/node_modules/react-dom/server.edge.js +17 -0
- package/dist/ray/node_modules/react-dom/server.node.js +18 -0
- package/dist/ray/node_modules/react-dom/static.node.js +14 -0
- package/dist/ray/node_modules/semver/package.json +38 -0
- package/dist/ray/node_modules/sharp/dist/channel.cjs +177 -0
- package/dist/ray/node_modules/sharp/dist/channel.mjs +177 -0
- package/dist/ray/node_modules/sharp/dist/colour.cjs +199 -0
- package/dist/ray/node_modules/sharp/dist/colour.mjs +199 -0
- package/dist/ray/node_modules/sharp/dist/composite.cjs +213 -0
- package/dist/ray/node_modules/sharp/dist/composite.mjs +213 -0
- package/dist/ray/node_modules/sharp/dist/constructor.cjs +511 -0
- package/dist/ray/node_modules/sharp/dist/constructor.mjs +511 -0
- package/dist/ray/node_modules/sharp/dist/index.cjs +25 -0
- package/dist/ray/node_modules/sharp/dist/index.d.cts +1999 -0
- package/dist/ray/node_modules/sharp/dist/index.d.mts +2046 -0
- package/dist/ray/node_modules/sharp/dist/index.mjs +25 -0
- package/dist/ray/node_modules/sharp/dist/input.cjs +819 -0
- package/dist/ray/node_modules/sharp/dist/input.mjs +819 -0
- package/dist/ray/node_modules/sharp/dist/is.cjs +143 -0
- package/dist/ray/node_modules/sharp/dist/is.mjs +143 -0
- package/dist/ray/node_modules/sharp/dist/libvips.cjs +212 -0
- package/dist/ray/node_modules/sharp/dist/libvips.mjs +212 -0
- package/dist/ray/node_modules/sharp/dist/operation.cjs +1002 -0
- package/dist/ray/node_modules/sharp/dist/operation.mjs +1002 -0
- package/dist/ray/node_modules/sharp/dist/output.cjs +1785 -0
- package/dist/ray/node_modules/sharp/dist/output.mjs +1785 -0
- package/dist/ray/node_modules/sharp/dist/resize.cjs +617 -0
- package/dist/ray/node_modules/sharp/dist/resize.mjs +617 -0
- package/dist/ray/node_modules/sharp/dist/sharp.cjs +174 -0
- package/dist/ray/node_modules/sharp/dist/sharp.mjs +174 -0
- package/dist/ray/node_modules/sharp/dist/utility.cjs +301 -0
- package/dist/ray/node_modules/sharp/dist/utility.mjs +301 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/classes/comparator.js +143 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/classes/range.js +577 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/classes/semver.js +350 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/clean.js +8 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/cmp.js +54 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/coerce.js +62 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/compare-build.js +9 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/compare-loose.js +5 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/compare.js +7 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/diff.js +60 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/eq.js +5 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/gt.js +5 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/gte.js +5 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/inc.js +21 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/lt.js +5 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/lte.js +5 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/major.js +5 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/minor.js +5 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/neq.js +5 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/parse.js +18 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/patch.js +5 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/prerelease.js +8 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/rcompare.js +5 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/rsort.js +5 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/satisfies.js +12 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/sort.js +5 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/truncate.js +48 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/functions/valid.js +8 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/index.js +93 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/internal/constants.js +37 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/internal/debug.js +11 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/internal/identifiers.js +29 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/internal/lrucache.js +42 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/internal/parse-options.js +17 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/internal/re.js +223 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/package.json +78 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/ranges/gtr.js +6 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/ranges/intersects.js +9 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/ranges/ltr.js +6 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/ranges/max-satisfying.js +27 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/ranges/min-satisfying.js +26 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/ranges/min-version.js +63 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/ranges/outside.js +82 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/ranges/simplify.js +49 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/ranges/subset.js +249 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/ranges/to-comparators.js +10 -0
- package/dist/ray/node_modules/sharp/node_modules/semver/ranges/valid.js +13 -0
- package/dist/ray/node_modules/sharp/package.json +227 -0
- package/dist/ray/node_modules/styled-jsx/dist/index/index.js +499 -0
- package/dist/ray/node_modules/styled-jsx/index.js +1 -0
- package/dist/ray/node_modules/styled-jsx/package.json +132 -0
- package/dist/ray/node_modules/styled-jsx/style.js +1 -0
- package/dist/ray/package.json +46 -0
- package/dist/ray/public/ai/DeepSeek.svg +1 -0
- package/dist/ray/public/ai/claude.svg +1 -0
- package/dist/ray/public/ai/gemini.svg +1 -0
- package/dist/ray/public/ai/openai.svg +1 -0
- package/dist/ray/public/ai/openrouter.svg +1 -0
- package/dist/ray/public/ai/ozias.png +0 -0
- package/dist/ray/public/ai/ozias.svg +20 -0
- package/dist/ray/public/logo.svg +1 -0
- package/dist/ray/server.js +38 -0
- package/ecosystem.config.js +97 -0
- package/package.json +42 -0
|
@@ -0,0 +1,2605 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "cache", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return cache;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _server = require("react-server-dom-webpack/server");
|
|
12
|
+
const _client = require("react-server-dom-webpack/client");
|
|
13
|
+
const _static = require("react-server-dom-webpack/static");
|
|
14
|
+
const _workasyncstorageexternal = require("../app-render/work-async-storage.external");
|
|
15
|
+
const _workunitasyncstorageexternal = require("../app-render/work-unit-async-storage.external");
|
|
16
|
+
const _dynamicrenderingutils = require("../dynamic-rendering-utils");
|
|
17
|
+
const _manifestssingleton = require("../app-render/manifests-singleton");
|
|
18
|
+
const _encryption = require("../app-render/encryption");
|
|
19
|
+
const _invarianterror = require("../../shared/lib/invariant-error");
|
|
20
|
+
const _createerrorhandler = require("../app-render/create-error-handler");
|
|
21
|
+
const _errortelemetryutils = require("../../lib/error-telemetry-utils");
|
|
22
|
+
const _stringhash = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/string-hash"));
|
|
23
|
+
const _constants = require("./constants");
|
|
24
|
+
const _constants1 = require("../../lib/constants");
|
|
25
|
+
const _handlers = require("./handlers");
|
|
26
|
+
const _clonecacheentry = require("./clone-cache-entry");
|
|
27
|
+
const _approuterheaders = require("../../client/components/app-router-headers");
|
|
28
|
+
const _requestcookies = require("../web/spec-extension/adapters/request-cookies");
|
|
29
|
+
const _headers = require("../web/spec-extension/adapters/headers");
|
|
30
|
+
const _usecacheerrors = require("./use-cache-errors");
|
|
31
|
+
const _dynamicrendering = require("../app-render/dynamic-rendering");
|
|
32
|
+
const _searchparams = require("../request/search-params");
|
|
33
|
+
const _lazyresult = require("../lib/lazy-result");
|
|
34
|
+
const _dynamicaccessasyncstorageexternal = require("../app-render/dynamic-access-async-storage.external");
|
|
35
|
+
const _stagedrendering = require("../app-render/staged-rendering");
|
|
36
|
+
const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../build/output/log"));
|
|
37
|
+
const _runtimereactsexternal = require("../runtime-reacts.external");
|
|
38
|
+
const _promisewithresolvers = require("../../shared/lib/promise-with-resolvers");
|
|
39
|
+
function _interop_require_default(obj) {
|
|
40
|
+
return obj && obj.__esModule ? obj : {
|
|
41
|
+
default: obj
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
45
|
+
if (typeof WeakMap !== "function") return null;
|
|
46
|
+
var cacheBabelInterop = new WeakMap();
|
|
47
|
+
var cacheNodeInterop = new WeakMap();
|
|
48
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
49
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
50
|
+
})(nodeInterop);
|
|
51
|
+
}
|
|
52
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
53
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
54
|
+
return obj;
|
|
55
|
+
}
|
|
56
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
57
|
+
return {
|
|
58
|
+
default: obj
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
62
|
+
if (cache && cache.has(obj)) {
|
|
63
|
+
return cache.get(obj);
|
|
64
|
+
}
|
|
65
|
+
var newObj = {
|
|
66
|
+
__proto__: null
|
|
67
|
+
};
|
|
68
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
69
|
+
for(var key in obj){
|
|
70
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
71
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
72
|
+
if (desc && (desc.get || desc.set)) {
|
|
73
|
+
Object.defineProperty(newObj, key, desc);
|
|
74
|
+
} else {
|
|
75
|
+
newObj[key] = obj[key];
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
newObj.default = obj;
|
|
80
|
+
if (cache) {
|
|
81
|
+
cache.set(obj, newObj);
|
|
82
|
+
}
|
|
83
|
+
return newObj;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Encapsulates a pending cache invocation for deduping. Manages lazy stream
|
|
87
|
+
* tee-ing (via fork()) and metadata access for both intra-request and
|
|
88
|
+
* cross-request joiners.
|
|
89
|
+
*/ class SharedCacheEntry {
|
|
90
|
+
constructor(stream, pendingMetadata){
|
|
91
|
+
this.stream = stream;
|
|
92
|
+
this.pendingMetadata = pendingMetadata;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Tee the stream: returns a copy for the caller, replaces the internal stream
|
|
96
|
+
* with the remaining branch for future callers. Both the leader and joiners
|
|
97
|
+
* call this — everyone gets a fork.
|
|
98
|
+
*/ fork() {
|
|
99
|
+
const [forked, remaining] = this.stream.tee();
|
|
100
|
+
this.stream = remaining;
|
|
101
|
+
return forked;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
function ignoreReject() {}
|
|
105
|
+
/**
|
|
106
|
+
* Manages the deferred promise for a shared cache result, tracks which maps
|
|
107
|
+
* it's registered in, and drives cleanup from resolve/reject.
|
|
108
|
+
*
|
|
109
|
+
* For 'cached' results, cleanup is lazy: entries stay in the maps until
|
|
110
|
+
* metadata/collection resolves, giving late-arriving invocations a chance to
|
|
111
|
+
* join while the leader streams. For 'prerender-dynamic' and errors, cleanup
|
|
112
|
+
* is immediate.
|
|
113
|
+
*/ class ResolvableSharedCacheResult {
|
|
114
|
+
registerIn(map, key, retentionMap) {
|
|
115
|
+
map.set(key, this.deferred.promise);
|
|
116
|
+
this.registrations.push({
|
|
117
|
+
map,
|
|
118
|
+
key,
|
|
119
|
+
retentionMap
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
resolve(result) {
|
|
123
|
+
this.deferred.resolve(result);
|
|
124
|
+
if (result.type === 'cached') {
|
|
125
|
+
// Retain only an entry that collected successfully. A failed collection
|
|
126
|
+
// leaves metadata a later invocation cannot read, so it is dropped like
|
|
127
|
+
// any other failure and the next invocation regenerates.
|
|
128
|
+
result.entry.pendingMetadata.then(()=>this.cleanupAndRetain(), ()=>this.cleanup());
|
|
129
|
+
} else {
|
|
130
|
+
this.cleanup();
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
reject(error) {
|
|
134
|
+
// The promise stored in the dedup maps has no consumer unless a concurrent
|
|
135
|
+
// invocation joined it, so we attach a noop catch handler to prevent the
|
|
136
|
+
// rejection from being reported as unhandled. The leader rethrows the
|
|
137
|
+
// error into the render, which is where it's surfaced.
|
|
138
|
+
this.deferred.promise.catch(ignoreReject);
|
|
139
|
+
this.deferred.reject(error);
|
|
140
|
+
this.cleanup();
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Drops the pending registrations, leaving nothing for a later invocation to
|
|
144
|
+
* join. Used when the invocation produced no entry that a later one could
|
|
145
|
+
* serve: an error has no value, and a 'prerender-dynamic' result is a hanging
|
|
146
|
+
* promise bound to the leader's render signal.
|
|
147
|
+
*/ cleanup() {
|
|
148
|
+
for (const { map, key } of this.registrations){
|
|
149
|
+
map.delete(key);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Drops the pending registrations and moves the entry into the retention map
|
|
154
|
+
* where one was given, so a later invocation in the same request can reuse it
|
|
155
|
+
* instead of repeating the lookup and, on a miss, the work.
|
|
156
|
+
*/ cleanupAndRetain() {
|
|
157
|
+
for (const { map, key, retentionMap } of this.registrations){
|
|
158
|
+
map.delete(key);
|
|
159
|
+
retentionMap == null ? void 0 : retentionMap.set(key, this.deferred.promise);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
constructor(){
|
|
163
|
+
this.deferred = (0, _promisewithresolvers.createPromiseWithResolvers)();
|
|
164
|
+
this.registrations = [];
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Module-scope map for cross-request deduplication. Keyed by `cacheHandlerKey`
|
|
169
|
+
* (specific key on warm path, coarse key on cold path). Entries live only for
|
|
170
|
+
* the duration of the leader's invocation.
|
|
171
|
+
*/ const crossRequestPendingCacheInvocations = new Map();
|
|
172
|
+
const isEdgeRuntime = process.env.NEXT_RUNTIME === 'edge';
|
|
173
|
+
const debug = process.env.NEXT_PRIVATE_DEBUG_CACHE ? console.debug.bind(console, 'use-cache:') : undefined;
|
|
174
|
+
const filterStackFrame = process.env.NODE_ENV !== 'production' ? require('../lib/source-maps').filterStackFrameDEV : undefined;
|
|
175
|
+
const findSourceMapURL = process.env.NODE_ENV !== 'production' ? require('../lib/source-maps').findSourceMapURLDEV : undefined;
|
|
176
|
+
const nestedCacheZeroRevalidateErrorMessage = `A "use cache" with zero \`revalidate\` is nested inside another "use cache" ` + `that has no explicit \`cacheLife\`, which is not allowed during ` + `prerendering. Add \`cacheLife()\` to the outer "use cache" to choose ` + `whether it should be prerendered (with non-zero \`revalidate\`) or remain ` + `dynamic (with zero \`revalidate\`). Read more: ` + `https://nextjs.org/docs/messages/nested-use-cache-no-explicit-cachelife`;
|
|
177
|
+
const nestedCacheShortExpireErrorMessage = `A "use cache" with short \`expire\` (under 5 minutes) is nested inside ` + `another "use cache" that has no explicit \`cacheLife\`, which is not ` + `allowed during prerendering. Add \`cacheLife()\` to the outer "use cache" ` + `to choose whether it should be prerendered (with longer \`expire\`) or remain ` + `dynamic (with short \`expire\`). Read more: ` + `https://nextjs.org/docs/messages/nested-use-cache-no-explicit-cachelife`;
|
|
178
|
+
// Tracks which root params each cache function has historically read. Used to
|
|
179
|
+
// compute the specific cache key upfront on subsequent invocations. In-memory
|
|
180
|
+
// only — after server restart, the coarse-key redirect entry in the cache
|
|
181
|
+
// handler provides fallback.
|
|
182
|
+
const knownRootParamsByFunctionId = new Map();
|
|
183
|
+
function addKnownRootParamNames(id, names) {
|
|
184
|
+
const existing = knownRootParamsByFunctionId.get(id);
|
|
185
|
+
if (existing) {
|
|
186
|
+
for (const name of names){
|
|
187
|
+
existing.add(name);
|
|
188
|
+
}
|
|
189
|
+
return existing;
|
|
190
|
+
}
|
|
191
|
+
const created = new Set(names);
|
|
192
|
+
knownRootParamsByFunctionId.set(id, created);
|
|
193
|
+
return created;
|
|
194
|
+
}
|
|
195
|
+
function computeRootParamsCacheKeySuffix(rootParams, paramNames) {
|
|
196
|
+
if (paramNames.size === 0) {
|
|
197
|
+
return '';
|
|
198
|
+
}
|
|
199
|
+
return JSON.stringify([
|
|
200
|
+
...paramNames
|
|
201
|
+
].sort().map((paramName)=>[
|
|
202
|
+
paramName,
|
|
203
|
+
rootParams[paramName]
|
|
204
|
+
]));
|
|
205
|
+
}
|
|
206
|
+
// Next-internal cookies that must not vary the private cache key, since they're
|
|
207
|
+
// not part of the application's own cookie state. The instant-navigation cookie
|
|
208
|
+
// toggles while a navigation lock is held, so including it would force spurious
|
|
209
|
+
// misses.
|
|
210
|
+
const COOKIES_EXCLUDED_FROM_PRIVATE_CACHE_KEY = new Set([
|
|
211
|
+
_approuterheaders.NEXT_INSTANT_TEST_COOKIE
|
|
212
|
+
]);
|
|
213
|
+
// Request and transport headers that must not vary the private cache key. They
|
|
214
|
+
// either differ between otherwise-equivalent requests, which would cause
|
|
215
|
+
// spurious misses (a browser reload adds `cache-control`/`pragma` that an
|
|
216
|
+
// initial navigation doesn't, and `accept`/`sec-fetch-*` differ between an HTML
|
|
217
|
+
// navigation and an RSC or prefetch request for the same page), or are
|
|
218
|
+
// connection- and proxy-level rather than application data. The `cookie` header
|
|
219
|
+
// is excluded because cookies are keyed separately below (via the dedicated
|
|
220
|
+
// cookie path, which applies `COOKIES_EXCLUDED_FROM_PRIVATE_CACHE_KEY`);
|
|
221
|
+
// including the raw header would duplicate them and reintroduce the cookies
|
|
222
|
+
// that path excludes. Header names are lowercased by `HeadersAdapter`, so every
|
|
223
|
+
// entry here is lowercase.
|
|
224
|
+
const HEADERS_EXCLUDED_FROM_PRIVATE_CACHE_KEY = new Set([
|
|
225
|
+
'accept',
|
|
226
|
+
'accept-encoding',
|
|
227
|
+
'cache-control',
|
|
228
|
+
'connection',
|
|
229
|
+
'cookie',
|
|
230
|
+
'if-match',
|
|
231
|
+
'if-modified-since',
|
|
232
|
+
'if-none-match',
|
|
233
|
+
'if-range',
|
|
234
|
+
'if-unmodified-since',
|
|
235
|
+
'keep-alive',
|
|
236
|
+
'pragma',
|
|
237
|
+
'priority',
|
|
238
|
+
'purpose',
|
|
239
|
+
'range',
|
|
240
|
+
'sec-fetch-dest',
|
|
241
|
+
'sec-fetch-mode',
|
|
242
|
+
'sec-fetch-site',
|
|
243
|
+
'sec-fetch-user',
|
|
244
|
+
'sec-purpose',
|
|
245
|
+
'te',
|
|
246
|
+
'upgrade',
|
|
247
|
+
'upgrade-insecure-requests',
|
|
248
|
+
'x-forwarded-for',
|
|
249
|
+
'x-forwarded-host',
|
|
250
|
+
'x-forwarded-port',
|
|
251
|
+
'x-forwarded-proto'
|
|
252
|
+
]);
|
|
253
|
+
// TODO: This varies the dev private cache key by the request's cookies and
|
|
254
|
+
// headers (minus the transport and content-negotiation headers excluded above).
|
|
255
|
+
// It's a heuristic: it still over-keys (a cache that reads only one cookie or
|
|
256
|
+
// header varies by all of them) and the header denylist is necessarily
|
|
257
|
+
// incomplete. Follow up by tracking which cookies and headers a cache function
|
|
258
|
+
// actually reads (the same mechanism root params use via `readRootParamNames`)
|
|
259
|
+
// and keying by only those. Note that Next-internal flight headers such as
|
|
260
|
+
// `rsc` and `next-router-state-tree` are already stripped upstream in
|
|
261
|
+
// `getHeaders`, so they never appear here.
|
|
262
|
+
function computePrivateCacheKeyRequestSuffix(cookies, headers) {
|
|
263
|
+
const relevantCookies = cookies.getAll().filter((cookie)=>!COOKIES_EXCLUDED_FROM_PRIVATE_CACHE_KEY.has(cookie.name)).map((cookie)=>[
|
|
264
|
+
cookie.name,
|
|
265
|
+
cookie.value
|
|
266
|
+
]).sort(([nameA], [nameB])=>nameA < nameB ? -1 : nameA > nameB ? 1 : 0);
|
|
267
|
+
const relevantHeaders = [
|
|
268
|
+
...headers.entries()
|
|
269
|
+
].filter(([name])=>!HEADERS_EXCLUDED_FROM_PRIVATE_CACHE_KEY.has(name)).sort(([nameA], [nameB])=>nameA < nameB ? -1 : nameA > nameB ? 1 : 0);
|
|
270
|
+
if (relevantCookies.length === 0 && relevantHeaders.length === 0) {
|
|
271
|
+
return '';
|
|
272
|
+
}
|
|
273
|
+
return JSON.stringify({
|
|
274
|
+
cookies: relevantCookies,
|
|
275
|
+
headers: relevantHeaders
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
function saveToResumeDataCache(resumeDataCache, serializedCacheKey, pendingCacheResult) {
|
|
279
|
+
if (!(resumeDataCache == null ? void 0 : resumeDataCache.mutable)) {
|
|
280
|
+
return pendingCacheResult;
|
|
281
|
+
}
|
|
282
|
+
const split = clonePendingCacheResult(pendingCacheResult);
|
|
283
|
+
const savedCacheResult = getNthCacheResult(split, 0);
|
|
284
|
+
const rdcResult = getNthCacheResult(split, 1);
|
|
285
|
+
// The RDC is per-page and root params are fixed within a page, so we always
|
|
286
|
+
// use the coarse key (without root param suffix). Unlike the cache handler,
|
|
287
|
+
// the RDC doesn't need root-param-specific keys for isolation.
|
|
288
|
+
resumeDataCache.cache.set(serializedCacheKey, rdcResult);
|
|
289
|
+
debug == null ? void 0 : debug('Resume Data Cache entry saved', serializedCacheKey);
|
|
290
|
+
return savedCacheResult;
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* A joiner's RDC context may differ from the leader's:
|
|
294
|
+
*
|
|
295
|
+
* - Intra-request: the leader was nested inside another cache (no accessible
|
|
296
|
+
* RDC) while this joiner is top-level and has one.
|
|
297
|
+
* - Cross-request: the leader belongs to a different request entirely — this
|
|
298
|
+
* request's RDC has never seen the entry.
|
|
299
|
+
*
|
|
300
|
+
* In both cases the joiner must save to its own RDC so its final prerender can
|
|
301
|
+
* resume from the entry. Constructs a `CollectedCacheResult` from a forked
|
|
302
|
+
* stream branch of the shared entry and the awaited metadata.
|
|
303
|
+
*
|
|
304
|
+
* The `cache.has()` guard avoids redundant saves when the intra-request leader
|
|
305
|
+
* already saved to the same RDC. Without it, this would needlessly tee the
|
|
306
|
+
* stream and overwrite an equivalent RDC entry.
|
|
307
|
+
*/ function saveSharedCacheEntryToResumeDataCache(serializedCacheKey, sharedCacheEntry, resumeDataCache) {
|
|
308
|
+
if (!(resumeDataCache == null ? void 0 : resumeDataCache.mutable) || resumeDataCache.cache.has(serializedCacheKey)) {
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
311
|
+
const rdcResult = sharedCacheEntry.pendingMetadata.then((metadata)=>({
|
|
312
|
+
entry: {
|
|
313
|
+
value: sharedCacheEntry.fork(),
|
|
314
|
+
tags: metadata.tags,
|
|
315
|
+
revalidate: metadata.revalidate,
|
|
316
|
+
expire: metadata.expire,
|
|
317
|
+
stale: metadata.stale,
|
|
318
|
+
timestamp: metadata.timestamp
|
|
319
|
+
},
|
|
320
|
+
readRootParamNames: metadata.readRootParamNames,
|
|
321
|
+
hasExplicitRevalidate: metadata.hasExplicitRevalidate,
|
|
322
|
+
hasExplicitExpire: metadata.hasExplicitExpire,
|
|
323
|
+
dynamicNestedCacheError: metadata.dynamicNestedCacheError
|
|
324
|
+
}));
|
|
325
|
+
resumeDataCache.cache.set(serializedCacheKey, rdcResult);
|
|
326
|
+
debug == null ? void 0 : debug('Resume Data Cache entry saved by joiner', serializedCacheKey);
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Completes a join onto another invocation's entry, whether that invocation is
|
|
330
|
+
* still filling or has already finished: forks the stream, saves to this
|
|
331
|
+
* invocation's RDC if the leader had none, and balances the cache signal read
|
|
332
|
+
* once the entry is fully collected.
|
|
333
|
+
*/ function serveJoinedCacheEntry(sharedCacheEntry, serializedCacheKey, resumeDataCache, cacheContext, cacheSignal) {
|
|
334
|
+
const stream = sharedCacheEntry.fork();
|
|
335
|
+
// If the leader was nested inside another cache (no accessible RDC), it
|
|
336
|
+
// couldn't save to the RDC. This joiner may be top-level with an RDC, in
|
|
337
|
+
// which case it must save here; otherwise the RDC lookup during the final
|
|
338
|
+
// prerender will miss.
|
|
339
|
+
saveSharedCacheEntryToResumeDataCache(serializedCacheKey, sharedCacheEntry, resumeDataCache);
|
|
340
|
+
// End the cache signal read when the result is fully collected, not when the
|
|
341
|
+
// stream is available. A failed collection has no metadata to propagate but
|
|
342
|
+
// must still balance the read, so both settlements end it; leaving it open
|
|
343
|
+
// would stall a prerender waiting for its cache reads. The trailing .catch()
|
|
344
|
+
// covers propagation itself throwing after the rendering stream resolved.
|
|
345
|
+
sharedCacheEntry.pendingMetadata.then((metadata)=>{
|
|
346
|
+
cacheSignal == null ? void 0 : cacheSignal.endRead();
|
|
347
|
+
maybePropagateCacheEntryMetadata(cacheContext, metadata);
|
|
348
|
+
}, ()=>{
|
|
349
|
+
cacheSignal == null ? void 0 : cacheSignal.endRead();
|
|
350
|
+
}).catch(()=>{});
|
|
351
|
+
return stream;
|
|
352
|
+
}
|
|
353
|
+
function saveToCacheHandler(cacheHandler, workStore, id, cacheHandlerKeyBase, savedCacheResult, rootParams) {
|
|
354
|
+
// Write the entry to the cache handler. With root params, this is a redirect
|
|
355
|
+
// entry at the coarse key plus the actual entry at the specific key;
|
|
356
|
+
// otherwise just the entry at the coarse key. Both set calls are fired
|
|
357
|
+
// together and awaited in parallel.
|
|
358
|
+
const combinedSetPromise = savedCacheResult.then(async (collectedResult)=>{
|
|
359
|
+
const { entry: fullEntry, readRootParamNames } = collectedResult;
|
|
360
|
+
// Use the combined set (union of all historically observed reads) for both
|
|
361
|
+
// the specific key and the redirect entry's tags. The read path computes
|
|
362
|
+
// cacheHandlerKey from this same union (knownRootParamsByFunctionId), so
|
|
363
|
+
// the write path must use the identical set to land on the same specific
|
|
364
|
+
// key. If we used only the current invocation's reads, a function that
|
|
365
|
+
// conditionally reads different root params across invocations would
|
|
366
|
+
// scatter entries across different specific keys, making previous entries
|
|
367
|
+
// unreachable from the read path's union-based lookup.
|
|
368
|
+
const rootParamNames = readRootParamNames ? addKnownRootParamNames(id, readRootParamNames) : knownRootParamsByFunctionId.get(id);
|
|
369
|
+
const setPromises = [];
|
|
370
|
+
let coarseEntry = fullEntry;
|
|
371
|
+
if (rootParamNames && rootParamNames.size > 0 && rootParams) {
|
|
372
|
+
const specificKey = cacheHandlerKeyBase + computeRootParamsCacheKeySuffix(rootParams, rootParamNames);
|
|
373
|
+
setPromises.push(cacheHandler.set(specificKey, Promise.resolve(fullEntry)));
|
|
374
|
+
// The coarse key gets a redirect entry instead. On a cold server (empty
|
|
375
|
+
// knownRootParamsByFunctionId), its tags tell a reader which root params
|
|
376
|
+
// to include in the specific-key lookup.
|
|
377
|
+
const rootParamTags = [
|
|
378
|
+
...rootParamNames
|
|
379
|
+
].map((paramName)=>_constants1.NEXT_CACHE_ROOT_PARAM_TAG_ID + paramName);
|
|
380
|
+
coarseEntry = {
|
|
381
|
+
value: new ReadableStream({
|
|
382
|
+
start (controller) {
|
|
383
|
+
// Single byte so the entry has non-zero size in LRU caches.
|
|
384
|
+
controller.enqueue(new Uint8Array([
|
|
385
|
+
0
|
|
386
|
+
]));
|
|
387
|
+
controller.close();
|
|
388
|
+
}
|
|
389
|
+
}),
|
|
390
|
+
tags: [
|
|
391
|
+
...fullEntry.tags,
|
|
392
|
+
...rootParamTags
|
|
393
|
+
],
|
|
394
|
+
stale: fullEntry.stale,
|
|
395
|
+
timestamp: fullEntry.timestamp,
|
|
396
|
+
expire: fullEntry.expire,
|
|
397
|
+
revalidate: fullEntry.revalidate
|
|
398
|
+
};
|
|
399
|
+
}
|
|
400
|
+
setPromises.push(cacheHandler.set(cacheHandlerKeyBase, Promise.resolve(coarseEntry)));
|
|
401
|
+
await Promise.all(setPromises);
|
|
402
|
+
});
|
|
403
|
+
workStore.pendingRevalidateWrites ??= [];
|
|
404
|
+
workStore.pendingRevalidateWrites.push(combinedSetPromise);
|
|
405
|
+
// A cross-request joiner reads its recomputed specific key only after it has
|
|
406
|
+
// awaited this entry's metadata, so gate the metadata on the writes landing:
|
|
407
|
+
// that guarantees the entry is present when the joiner re-reads. A failed
|
|
408
|
+
// write shouldn't reject the metadata (the joiner just misses and
|
|
409
|
+
// regenerates), so settle either way; a collection failure still propagates
|
|
410
|
+
// through `savedCacheResult`.
|
|
411
|
+
return combinedSetPromise.then(()=>savedCacheResult, ()=>savedCacheResult);
|
|
412
|
+
}
|
|
413
|
+
function generateCacheEntry(workStore, cacheContext, clientReferenceManifest, encodedArguments, fn, timeoutError, deadlockError) {
|
|
414
|
+
// We need to run this inside a clean AsyncLocalStorage snapshot so that the cache
|
|
415
|
+
// generation cannot read anything from the context we're currently executing which
|
|
416
|
+
// might include request specific things like cookies() inside a React.cache().
|
|
417
|
+
// Note: It is important that we await at least once before this because it lets us
|
|
418
|
+
// pop out of any stack specific contexts as well - aka "Sync" Local Storage.
|
|
419
|
+
return workStore.runInCleanSnapshot(generateCacheEntryWithRestoredWorkStore, workStore, cacheContext, clientReferenceManifest, encodedArguments, fn, timeoutError, deadlockError);
|
|
420
|
+
}
|
|
421
|
+
function generateCacheEntryWithRestoredWorkStore(workStore, cacheContext, clientReferenceManifest, encodedArguments, fn, timeoutError, deadlockError) {
|
|
422
|
+
// Since we cleared the AsyncLocalStorage we need to restore the workStore.
|
|
423
|
+
// Note: We explicitly don't restore the RequestStore nor the PrerenderStore.
|
|
424
|
+
// We don't want any request specific information leaking an we don't want to create a
|
|
425
|
+
// bloated fake request mock for every cache call. So any feature that currently lives
|
|
426
|
+
// in RequestStore but should be available to Caches need to move to WorkStore.
|
|
427
|
+
// PrerenderStore is not needed inside the cache scope because the outer most one will
|
|
428
|
+
// be the one to report its result to the outer Prerender.
|
|
429
|
+
return _workasyncstorageexternal.workAsyncStorage.run(workStore, generateCacheEntryWithCacheContext, workStore, cacheContext, clientReferenceManifest, encodedArguments, fn, timeoutError, deadlockError);
|
|
430
|
+
}
|
|
431
|
+
function createUseCacheStore(workStore, cacheContext, defaultCacheLife) {
|
|
432
|
+
if (cacheContext.kind === 'private') {
|
|
433
|
+
const outerWorkUnitStore = cacheContext.outerWorkUnitStore;
|
|
434
|
+
return {
|
|
435
|
+
type: 'private-cache',
|
|
436
|
+
phase: 'render',
|
|
437
|
+
implicitTags: outerWorkUnitStore == null ? void 0 : outerWorkUnitStore.implicitTags,
|
|
438
|
+
revalidate: defaultCacheLife.revalidate,
|
|
439
|
+
expire: defaultCacheLife.expire,
|
|
440
|
+
stale: defaultCacheLife.stale,
|
|
441
|
+
explicitRevalidate: undefined,
|
|
442
|
+
explicitExpire: undefined,
|
|
443
|
+
explicitStale: undefined,
|
|
444
|
+
tags: null,
|
|
445
|
+
hmrRefreshHash: (0, _workunitasyncstorageexternal.getHmrRefreshHash)(outerWorkUnitStore),
|
|
446
|
+
isHmrRefresh: (0, _workunitasyncstorageexternal.isHmrRefresh)(outerWorkUnitStore),
|
|
447
|
+
serverComponentsHmrCache: (0, _workunitasyncstorageexternal.getServerComponentsHmrCache)(outerWorkUnitStore),
|
|
448
|
+
forceRevalidate: shouldForceRevalidate(workStore, outerWorkUnitStore),
|
|
449
|
+
draftMode: (0, _workunitasyncstorageexternal.getDraftModeProviderForCacheScope)(workStore, outerWorkUnitStore),
|
|
450
|
+
rootParams: outerWorkUnitStore.rootParams,
|
|
451
|
+
readRootParamNames: process.env.__NEXT_DEV_SERVER ? new Set() : undefined,
|
|
452
|
+
// Every private cache scope is its own work unit. Any cache keyed on
|
|
453
|
+
// headers() or cookies() needs to be invalidated. Otherwise some
|
|
454
|
+
// Next.js API semantics leak across render passes.
|
|
455
|
+
headers: _headers.HeadersAdapter.fresh(outerWorkUnitStore.headers),
|
|
456
|
+
cookies: _requestcookies.RequestCookiesAdapter.fresh(outerWorkUnitStore.cookies),
|
|
457
|
+
outerOwnerStack: cacheContext.outerOwnerStack
|
|
458
|
+
};
|
|
459
|
+
} else {
|
|
460
|
+
let useCacheOrRequestStore;
|
|
461
|
+
const outerWorkUnitStore = cacheContext.outerWorkUnitStore;
|
|
462
|
+
switch(outerWorkUnitStore.type){
|
|
463
|
+
case 'cache':
|
|
464
|
+
case 'private-cache':
|
|
465
|
+
case 'request':
|
|
466
|
+
useCacheOrRequestStore = outerWorkUnitStore;
|
|
467
|
+
break;
|
|
468
|
+
case 'prerender-runtime':
|
|
469
|
+
case 'prerender':
|
|
470
|
+
case 'prerender-ppr':
|
|
471
|
+
case 'prerender-legacy':
|
|
472
|
+
case 'unstable-cache':
|
|
473
|
+
case 'generate-static-params':
|
|
474
|
+
break;
|
|
475
|
+
default:
|
|
476
|
+
outerWorkUnitStore;
|
|
477
|
+
}
|
|
478
|
+
return {
|
|
479
|
+
type: 'cache',
|
|
480
|
+
phase: 'render',
|
|
481
|
+
implicitTags: outerWorkUnitStore.implicitTags,
|
|
482
|
+
revalidate: defaultCacheLife.revalidate,
|
|
483
|
+
expire: defaultCacheLife.expire,
|
|
484
|
+
stale: defaultCacheLife.stale,
|
|
485
|
+
explicitRevalidate: undefined,
|
|
486
|
+
explicitExpire: undefined,
|
|
487
|
+
explicitStale: undefined,
|
|
488
|
+
tags: null,
|
|
489
|
+
hmrRefreshHash: (0, _workunitasyncstorageexternal.getHmrRefreshHash)(outerWorkUnitStore),
|
|
490
|
+
isHmrRefresh: (useCacheOrRequestStore == null ? void 0 : useCacheOrRequestStore.isHmrRefresh) ?? false,
|
|
491
|
+
serverComponentsHmrCache: useCacheOrRequestStore == null ? void 0 : useCacheOrRequestStore.serverComponentsHmrCache,
|
|
492
|
+
forceRevalidate: shouldForceRevalidate(workStore, outerWorkUnitStore),
|
|
493
|
+
draftMode: (0, _workunitasyncstorageexternal.getDraftModeProviderForCacheScope)(workStore, outerWorkUnitStore),
|
|
494
|
+
rootParams: outerWorkUnitStore.rootParams,
|
|
495
|
+
readRootParamNames: new Set(),
|
|
496
|
+
outerOwnerStack: cacheContext.outerOwnerStack,
|
|
497
|
+
dynamicNestedCacheError: undefined
|
|
498
|
+
};
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* Captures the owner stack from the outer component tree before entering a
|
|
503
|
+
* cache boundary. When nested inside another cache scope, the parent's
|
|
504
|
+
* outerOwnerStack is concatenated so that the full component tree is preserved
|
|
505
|
+
* across multiple cache boundaries.
|
|
506
|
+
*/ function captureOuterOwnerStack(workUnitStore) {
|
|
507
|
+
var _getClientReact_captureOwnerStack, _getClientReact, _getServerReact_captureOwnerStack, _getServerReact;
|
|
508
|
+
const capturedOwnerStack = (((_getClientReact = (0, _runtimereactsexternal.getClientReact)()) == null ? void 0 : (_getClientReact_captureOwnerStack = _getClientReact.captureOwnerStack) == null ? void 0 : _getClientReact_captureOwnerStack.call(_getClientReact)) ?? ((_getServerReact = (0, _runtimereactsexternal.getServerReact)()) == null ? void 0 : (_getServerReact_captureOwnerStack = _getServerReact.captureOwnerStack) == null ? void 0 : _getServerReact_captureOwnerStack.call(_getServerReact))) || '';
|
|
509
|
+
let parentOuterOwnerStack;
|
|
510
|
+
switch(workUnitStore.type){
|
|
511
|
+
case 'cache':
|
|
512
|
+
case 'private-cache':
|
|
513
|
+
parentOuterOwnerStack = workUnitStore.outerOwnerStack;
|
|
514
|
+
break;
|
|
515
|
+
case 'unstable-cache':
|
|
516
|
+
case 'request':
|
|
517
|
+
case 'prerender':
|
|
518
|
+
case 'prerender-ppr':
|
|
519
|
+
case 'prerender-legacy':
|
|
520
|
+
case 'prerender-runtime':
|
|
521
|
+
case 'prerender-client':
|
|
522
|
+
case 'validation-client':
|
|
523
|
+
case 'generate-static-params':
|
|
524
|
+
break;
|
|
525
|
+
default:
|
|
526
|
+
workUnitStore;
|
|
527
|
+
}
|
|
528
|
+
return capturedOwnerStack + (parentOuterOwnerStack || '') || undefined;
|
|
529
|
+
}
|
|
530
|
+
// The maximum time we allow a `'use cache'` entry to fill. After this, we
|
|
531
|
+
// assume the fill is stalled — either on hanging input to the cached function,
|
|
532
|
+
// or on hanging I/O inside of it — and de-opt with an error.
|
|
533
|
+
//
|
|
534
|
+
// For prerender, the effective value is clamped to 90% of the configured
|
|
535
|
+
// `staticPageGenerationTimeout` so the cache-fill error surfaces before the
|
|
536
|
+
// build worker kills the page. In dev (`request`), the configured
|
|
537
|
+
// `experimental.useCacheTimeout` is used straight.
|
|
538
|
+
function getUseCacheFillTimeoutMs(workStore, workUnitStoreType) {
|
|
539
|
+
const { useCacheTimeout, staticPageGenerationTimeout } = workStore;
|
|
540
|
+
const effectiveTimeout = workUnitStoreType === 'request' ? useCacheTimeout : Math.min(useCacheTimeout, staticPageGenerationTimeout * 0.9);
|
|
541
|
+
return effectiveTimeout * 1000;
|
|
542
|
+
}
|
|
543
|
+
function generateCacheEntryWithCacheContext(workStore, cacheContext, clientReferenceManifest, encodedArguments, fn, timeoutError, deadlockError) {
|
|
544
|
+
const defaultCacheLife = workStore.cacheLifeProfiles.default;
|
|
545
|
+
// Initialize the Store for this Cache entry.
|
|
546
|
+
const cacheStore = createUseCacheStore(workStore, cacheContext, defaultCacheLife);
|
|
547
|
+
return _workunitasyncstorageexternal.workUnitAsyncStorage.run(cacheStore, ()=>_dynamicaccessasyncstorageexternal.dynamicAccessAsyncStorage.run({
|
|
548
|
+
abortController: new AbortController()
|
|
549
|
+
}, generateCacheEntryImpl, workStore, cacheContext, cacheStore, clientReferenceManifest, encodedArguments, fn, timeoutError, deadlockError));
|
|
550
|
+
}
|
|
551
|
+
function propagateCacheLifeAndTagsToRevalidateStore(revalidateStore, metadata) {
|
|
552
|
+
const outerTags = revalidateStore.tags ??= [];
|
|
553
|
+
for (const tag of metadata.tags){
|
|
554
|
+
if (!outerTags.includes(tag)) {
|
|
555
|
+
outerTags.push(tag);
|
|
556
|
+
}
|
|
557
|
+
}
|
|
558
|
+
if (revalidateStore.stale > metadata.stale) {
|
|
559
|
+
revalidateStore.stale = metadata.stale;
|
|
560
|
+
}
|
|
561
|
+
if (revalidateStore.revalidate > metadata.revalidate) {
|
|
562
|
+
revalidateStore.revalidate = metadata.revalidate;
|
|
563
|
+
}
|
|
564
|
+
if (revalidateStore.expire > metadata.expire) {
|
|
565
|
+
revalidateStore.expire = metadata.expire;
|
|
566
|
+
}
|
|
567
|
+
}
|
|
568
|
+
function propagateCacheStaleTimeToRequestStore(requestStore, metadata) {
|
|
569
|
+
if (requestStore.stale !== undefined && requestStore.stale > metadata.stale) {
|
|
570
|
+
requestStore.stale = metadata.stale;
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
function propagateCacheEntryMetadata(cacheContext, metadata) {
|
|
574
|
+
if (cacheContext.kind === 'private') {
|
|
575
|
+
switch(cacheContext.outerWorkUnitStore.type){
|
|
576
|
+
case 'prerender-runtime':
|
|
577
|
+
case 'private-cache':
|
|
578
|
+
propagateCacheLifeAndTagsToRevalidateStore(cacheContext.outerWorkUnitStore, metadata);
|
|
579
|
+
break;
|
|
580
|
+
case 'request':
|
|
581
|
+
propagateCacheStaleTimeToRequestStore(cacheContext.outerWorkUnitStore, metadata);
|
|
582
|
+
break;
|
|
583
|
+
case undefined:
|
|
584
|
+
break;
|
|
585
|
+
default:
|
|
586
|
+
cacheContext.outerWorkUnitStore;
|
|
587
|
+
}
|
|
588
|
+
} else {
|
|
589
|
+
switch(cacheContext.outerWorkUnitStore.type){
|
|
590
|
+
case 'cache':
|
|
591
|
+
if (metadata.readRootParamNames) {
|
|
592
|
+
for (const paramName of metadata.readRootParamNames){
|
|
593
|
+
cacheContext.outerWorkUnitStore.readRootParamNames.add(paramName);
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
// If this entry's cache life is dynamic, record this invocation as the
|
|
597
|
+
// origin to use as `cause` when the outer cache surfaces the
|
|
598
|
+
// nested-dynamic cache error. `??=` keeps the first occurrence so the
|
|
599
|
+
// cause points at the immediate dynamic child.
|
|
600
|
+
if (cacheContext.dynamicNestedCacheError !== undefined && (metadata.revalidate === 0 || metadata.expire < _constants.MIN_PRERENDERABLE_EXPIRE)) {
|
|
601
|
+
cacheContext.outerWorkUnitStore.dynamicNestedCacheError ??= cacheContext.dynamicNestedCacheError;
|
|
602
|
+
}
|
|
603
|
+
// fallthrough
|
|
604
|
+
case 'private-cache':
|
|
605
|
+
case 'prerender':
|
|
606
|
+
case 'prerender-runtime':
|
|
607
|
+
case 'prerender-ppr':
|
|
608
|
+
case 'prerender-legacy':
|
|
609
|
+
propagateCacheLifeAndTagsToRevalidateStore(cacheContext.outerWorkUnitStore, metadata);
|
|
610
|
+
break;
|
|
611
|
+
case 'request':
|
|
612
|
+
propagateCacheStaleTimeToRequestStore(cacheContext.outerWorkUnitStore, metadata);
|
|
613
|
+
break;
|
|
614
|
+
case 'unstable-cache':
|
|
615
|
+
case 'generate-static-params':
|
|
616
|
+
break;
|
|
617
|
+
default:
|
|
618
|
+
cacheContext.outerWorkUnitStore;
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
/**
|
|
623
|
+
* Conditionally propagates cache life, tags, and root param names to the outer
|
|
624
|
+
* context. During prerenders (`prerender` / `prerender-runtime`) and dev
|
|
625
|
+
* cache-filling requests, propagation is deferred because the entry might be
|
|
626
|
+
* omitted from the final prerender due to short expire/stale times. If omitted,
|
|
627
|
+
* it should not affect the prerender. The final decision happens when the entry
|
|
628
|
+
* is read from the resume data cache in the final render phase — at that point
|
|
629
|
+
* `propagateCacheEntryMetadata` is called unconditionally (after the omission
|
|
630
|
+
* checks have already filtered out short-lived entries).
|
|
631
|
+
*
|
|
632
|
+
* Note: Root param names are only propagated when the outer context is a
|
|
633
|
+
* `cache` store (i.e. an enclosing `"use cache"` function), which is never
|
|
634
|
+
* deferred. For prerender contexts, root param names are tracked separately
|
|
635
|
+
* via `addKnownRootParamNames` in the resume data cache read path.
|
|
636
|
+
*/ function maybePropagateCacheEntryMetadata(cacheContext, metadata) {
|
|
637
|
+
const outerWorkUnitStore = cacheContext.outerWorkUnitStore;
|
|
638
|
+
switch(outerWorkUnitStore.type){
|
|
639
|
+
case 'prerender':
|
|
640
|
+
case 'prerender-runtime':
|
|
641
|
+
{
|
|
642
|
+
break;
|
|
643
|
+
}
|
|
644
|
+
case 'request':
|
|
645
|
+
{
|
|
646
|
+
if (process.env.NODE_ENV === 'development' && outerWorkUnitStore.cacheSignal) {
|
|
647
|
+
break;
|
|
648
|
+
}
|
|
649
|
+
// fallthrough
|
|
650
|
+
}
|
|
651
|
+
case 'private-cache':
|
|
652
|
+
case 'cache':
|
|
653
|
+
case 'unstable-cache':
|
|
654
|
+
case 'prerender-legacy':
|
|
655
|
+
case 'prerender-ppr':
|
|
656
|
+
{
|
|
657
|
+
propagateCacheEntryMetadata(cacheContext, metadata);
|
|
658
|
+
break;
|
|
659
|
+
}
|
|
660
|
+
case 'generate-static-params':
|
|
661
|
+
break;
|
|
662
|
+
default:
|
|
663
|
+
{
|
|
664
|
+
outerWorkUnitStore;
|
|
665
|
+
}
|
|
666
|
+
}
|
|
667
|
+
}
|
|
668
|
+
async function collectResult(savedStream, workStore, cacheContext, innerCacheStore, startTime, errors) {
|
|
669
|
+
// We create a buffered stream that collects all chunks until the end to
|
|
670
|
+
// ensure that RSC has finished rendering and therefore we have collected
|
|
671
|
+
// all tags. In the future the RSC API might allow for the equivalent of
|
|
672
|
+
// the allReady Promise that exists on SSR streams.
|
|
673
|
+
//
|
|
674
|
+
// If something errored or rejected anywhere in the render, we close
|
|
675
|
+
// the stream as errored. This lets a CacheHandler choose to save the
|
|
676
|
+
// partial result up until that point for future hits for a while to avoid
|
|
677
|
+
// unnecessary retries or not to retry. We use the end of the stream for
|
|
678
|
+
// this to avoid another complicated side-channel. A receiver has to consider
|
|
679
|
+
// that the stream might also error for other reasons anyway such as losing
|
|
680
|
+
// connection.
|
|
681
|
+
const buffer = [];
|
|
682
|
+
const reader = savedStream.getReader();
|
|
683
|
+
try {
|
|
684
|
+
for(let entry; !(entry = await reader.read()).done;){
|
|
685
|
+
buffer.push(entry.value);
|
|
686
|
+
}
|
|
687
|
+
} catch (error) {
|
|
688
|
+
errors.push(error);
|
|
689
|
+
}
|
|
690
|
+
let idx = 0;
|
|
691
|
+
const bufferStream = new ReadableStream({
|
|
692
|
+
pull (controller) {
|
|
693
|
+
if (workStore.invalidDynamicUsageError) {
|
|
694
|
+
controller.error(workStore.invalidDynamicUsageError);
|
|
695
|
+
} else if (idx < buffer.length) {
|
|
696
|
+
controller.enqueue(buffer[idx++]);
|
|
697
|
+
} else if (errors.length > 0) {
|
|
698
|
+
// TODO: Should we use AggregateError here?
|
|
699
|
+
controller.error(errors[0]);
|
|
700
|
+
} else {
|
|
701
|
+
controller.close();
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
});
|
|
705
|
+
const collectedTags = innerCacheStore.tags;
|
|
706
|
+
const isPrivateCacheInDev = Boolean(process.env.__NEXT_DEV_SERVER && cacheContext.kind === 'private');
|
|
707
|
+
// In development, force a dynamic cache life (`revalidate: 0`, `expire:
|
|
708
|
+
// MIN_PRERENDERABLE_EXPIRE`) for private caches, which have no real backing
|
|
709
|
+
// handler. The zero revalidate makes every read serve stale-while-revalidate
|
|
710
|
+
// (regenerating a fresh entry in the background), and
|
|
711
|
+
// `MIN_PRERENDERABLE_EXPIRE` (5 minutes) caps how long an entry lingers in
|
|
712
|
+
// the dedicated in-memory private handler. It is the shortest `expire` that
|
|
713
|
+
// isn't treated as dynamic; a smaller `expire` would exclude the entry from
|
|
714
|
+
// prerenders. Two other cases deliberately do NOT force this and keep their
|
|
715
|
+
// resolved cache life, relying instead on the dev handler's minimum retention
|
|
716
|
+
// and a dev revalidation (see the cache-hit path below) to keep reloads fast
|
|
717
|
+
// and fresh. The size-0 case (`cacheMaxMemorySize: 0`) keeps its life so the
|
|
718
|
+
// entry can be considered prerenderable instead of being misread as a dynamic
|
|
719
|
+
// hole. An explicit short-`expire` public cache (e.g. `cacheLife({ expire: 0
|
|
720
|
+
// })`) keeps its life so it stays correctly excluded from static prerenders
|
|
721
|
+
// via its real `expire` while a reload still hits the cache; forcing
|
|
722
|
+
// `revalidate: 0` here would instead corrupt the cache life propagated to an
|
|
723
|
+
// enclosing cache and trigger the nested-dynamic error. A cache backed by a
|
|
724
|
+
// custom handler keeps its real cache life too, since that handler owns it.
|
|
725
|
+
const forceDynamicCacheLifeInDev = isPrivateCacheInDev;
|
|
726
|
+
// If cacheLife() was used to set an explicit revalidate/expire/stale time we
|
|
727
|
+
// use that. Otherwise, we use the lowest of all inner fetch(),
|
|
728
|
+
// unstable_cache() or nested "use cache", if they're lower than our default.
|
|
729
|
+
const collectedRevalidate = forceDynamicCacheLifeInDev ? 0 : innerCacheStore.explicitRevalidate !== undefined ? innerCacheStore.explicitRevalidate : innerCacheStore.revalidate;
|
|
730
|
+
const collectedExpire = forceDynamicCacheLifeInDev ? _constants.MIN_PRERENDERABLE_EXPIRE : innerCacheStore.explicitExpire !== undefined ? innerCacheStore.explicitExpire : innerCacheStore.expire;
|
|
731
|
+
const collectedStale = innerCacheStore.explicitStale !== undefined ? innerCacheStore.explicitStale : innerCacheStore.stale;
|
|
732
|
+
const entry = {
|
|
733
|
+
value: bufferStream,
|
|
734
|
+
timestamp: startTime,
|
|
735
|
+
revalidate: collectedRevalidate,
|
|
736
|
+
expire: collectedExpire,
|
|
737
|
+
stale: collectedStale,
|
|
738
|
+
tags: collectedTags === null ? [] : collectedTags
|
|
739
|
+
};
|
|
740
|
+
const collected = {
|
|
741
|
+
entry,
|
|
742
|
+
hasExplicitRevalidate: innerCacheStore.explicitRevalidate !== undefined,
|
|
743
|
+
hasExplicitExpire: innerCacheStore.explicitExpire !== undefined,
|
|
744
|
+
readRootParamNames: innerCacheStore.type === 'cache' || isPrivateCacheInDev ? innerCacheStore.readRootParamNames : undefined,
|
|
745
|
+
// The store accumulates this from nested public caches that propagated a
|
|
746
|
+
// dynamic life into us.
|
|
747
|
+
dynamicNestedCacheError: innerCacheStore.type === 'cache' ? innerCacheStore.dynamicNestedCacheError : undefined
|
|
748
|
+
};
|
|
749
|
+
if (!cacheContext.skipPropagation) {
|
|
750
|
+
maybePropagateCacheEntryMetadata(cacheContext, {
|
|
751
|
+
tags: collected.entry.tags,
|
|
752
|
+
revalidate: collected.entry.revalidate,
|
|
753
|
+
expire: collected.entry.expire,
|
|
754
|
+
stale: collected.entry.stale,
|
|
755
|
+
timestamp: collected.entry.timestamp,
|
|
756
|
+
hasExplicitRevalidate: collected.hasExplicitRevalidate,
|
|
757
|
+
hasExplicitExpire: collected.hasExplicitExpire,
|
|
758
|
+
readRootParamNames: collected.readRootParamNames,
|
|
759
|
+
dynamicNestedCacheError: collected.dynamicNestedCacheError
|
|
760
|
+
});
|
|
761
|
+
const cacheSignal = (0, _workunitasyncstorageexternal.getCacheSignal)(cacheContext.outerWorkUnitStore);
|
|
762
|
+
if (cacheSignal) {
|
|
763
|
+
cacheSignal.endRead();
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
return collected;
|
|
767
|
+
}
|
|
768
|
+
async function generateCacheEntryImpl(workStore, cacheContext, innerCacheStore, clientReferenceManifest, encodedArguments, fn, timeoutError, deadlockError) {
|
|
769
|
+
const temporaryReferences = (0, _server.createTemporaryReferenceSet)();
|
|
770
|
+
const outerWorkUnitStore = cacheContext.outerWorkUnitStore;
|
|
771
|
+
const [, , args] = typeof encodedArguments === 'string' ? await (0, _server.decodeReply)(encodedArguments, (0, _manifestssingleton.getServerModuleMap)(), {
|
|
772
|
+
temporaryReferences
|
|
773
|
+
}) : await (0, _server.decodeReplyFromAsyncIterable)({
|
|
774
|
+
async *[Symbol.asyncIterator] () {
|
|
775
|
+
for (const entry of encodedArguments){
|
|
776
|
+
yield entry;
|
|
777
|
+
}
|
|
778
|
+
switch(outerWorkUnitStore.type){
|
|
779
|
+
case 'prerender-runtime':
|
|
780
|
+
case 'prerender':
|
|
781
|
+
// The encoded arguments might contain hanging promises. In
|
|
782
|
+
// this case we don't want to reject with "Error: Connection
|
|
783
|
+
// closed.", so we intentionally keep the iterable alive. This
|
|
784
|
+
// is similar to the halting trick that we do while rendering.
|
|
785
|
+
await new Promise((resolve)=>{
|
|
786
|
+
if (outerWorkUnitStore.renderSignal.aborted) {
|
|
787
|
+
resolve();
|
|
788
|
+
} else {
|
|
789
|
+
outerWorkUnitStore.renderSignal.addEventListener('abort', ()=>resolve(), {
|
|
790
|
+
once: true
|
|
791
|
+
});
|
|
792
|
+
}
|
|
793
|
+
});
|
|
794
|
+
break;
|
|
795
|
+
case 'prerender-ppr':
|
|
796
|
+
case 'prerender-legacy':
|
|
797
|
+
case 'request':
|
|
798
|
+
case 'cache':
|
|
799
|
+
case 'private-cache':
|
|
800
|
+
case 'unstable-cache':
|
|
801
|
+
case 'generate-static-params':
|
|
802
|
+
break;
|
|
803
|
+
default:
|
|
804
|
+
outerWorkUnitStore;
|
|
805
|
+
}
|
|
806
|
+
}
|
|
807
|
+
}, (0, _manifestssingleton.getServerModuleMap)(), {
|
|
808
|
+
temporaryReferences
|
|
809
|
+
});
|
|
810
|
+
// Track the timestamp when we started computing the result.
|
|
811
|
+
const startTime = performance.timeOrigin + performance.now();
|
|
812
|
+
// Invoke the inner function to load a new result. We delay the invocation
|
|
813
|
+
// though, until React awaits the promise so that React's request store (ALS)
|
|
814
|
+
// is available when the function is invoked. This allows us, for example, to
|
|
815
|
+
// capture logs so that we can later replay them.
|
|
816
|
+
const resultPromise = (0, _lazyresult.createLazyResult)(fn.bind(null, ...args));
|
|
817
|
+
const errors = [];
|
|
818
|
+
// In the "Cache" environment, we only need to make sure that the error
|
|
819
|
+
// digests are handled correctly. Error formatting and reporting is not
|
|
820
|
+
// necessary here; the errors are encoded in the stream, and will be reported
|
|
821
|
+
// in the "Server" environment.
|
|
822
|
+
const handleError = (0, _createerrorhandler.createReactServerErrorHandler)(process.env.NODE_ENV === 'development', workStore.isBuildTimePrerendering ?? false, workStore.reactServerErrorsByDigest, (error)=>{
|
|
823
|
+
// In production, we log the original error here. It gets a digest that
|
|
824
|
+
// can be used to associate the error with the obfuscated error that might
|
|
825
|
+
// be logged if the error is caught. In development, we prefer logging the
|
|
826
|
+
// transported error in the server environment. It's not obfuscated and
|
|
827
|
+
// also includes the (dev-only) environment name.
|
|
828
|
+
if (process.env.NODE_ENV === 'production') {
|
|
829
|
+
_log.error(error);
|
|
830
|
+
}
|
|
831
|
+
errors.push(error);
|
|
832
|
+
});
|
|
833
|
+
let stream;
|
|
834
|
+
let devTimeoutAbortController;
|
|
835
|
+
switch(outerWorkUnitStore.type){
|
|
836
|
+
case 'prerender-runtime':
|
|
837
|
+
case 'prerender':
|
|
838
|
+
{
|
|
839
|
+
var _dynamicAccessAsyncStorage_getStore;
|
|
840
|
+
const timeoutAbortController = new AbortController();
|
|
841
|
+
const timer = setTimeout(()=>{
|
|
842
|
+
workStore.invalidDynamicUsageError = timeoutError;
|
|
843
|
+
timeoutAbortController.abort(timeoutError);
|
|
844
|
+
}, getUseCacheFillTimeoutMs(workStore, outerWorkUnitStore.type));
|
|
845
|
+
const dynamicAccessAbortSignal = (_dynamicAccessAsyncStorage_getStore = _dynamicaccessasyncstorageexternal.dynamicAccessAsyncStorage.getStore()) == null ? void 0 : _dynamicAccessAsyncStorage_getStore.abortController.signal;
|
|
846
|
+
const abortSignal = dynamicAccessAbortSignal ? AbortSignal.any([
|
|
847
|
+
dynamicAccessAbortSignal,
|
|
848
|
+
timeoutAbortController.signal
|
|
849
|
+
]) : timeoutAbortController.signal;
|
|
850
|
+
const { prelude } = await (0, _static.prerender)(resultPromise, clientReferenceManifest.clientModules, {
|
|
851
|
+
environmentName: 'Cache',
|
|
852
|
+
filterStackFrame,
|
|
853
|
+
signal: abortSignal,
|
|
854
|
+
temporaryReferences,
|
|
855
|
+
onError (error) {
|
|
856
|
+
if (abortSignal.aborted && abortSignal.reason === error) {
|
|
857
|
+
return undefined;
|
|
858
|
+
}
|
|
859
|
+
return handleError(error);
|
|
860
|
+
}
|
|
861
|
+
});
|
|
862
|
+
clearTimeout(timer);
|
|
863
|
+
if (timeoutAbortController.signal.aborted) {
|
|
864
|
+
// When the timeout is reached we always error the stream. Even for
|
|
865
|
+
// fallback shell prerenders we don't want to return a hanging promise,
|
|
866
|
+
// which would allow the function to become a dynamic hole. Because that
|
|
867
|
+
// would mean that a non-empty shell could be generated which would be
|
|
868
|
+
// subject to revalidation, and we don't want to create long
|
|
869
|
+
// revalidation times.
|
|
870
|
+
stream = new ReadableStream({
|
|
871
|
+
start (controller) {
|
|
872
|
+
controller.error(timeoutAbortController.signal.reason);
|
|
873
|
+
}
|
|
874
|
+
});
|
|
875
|
+
} else if (dynamicAccessAbortSignal == null ? void 0 : dynamicAccessAbortSignal.aborted) {
|
|
876
|
+
// If the prerender is aborted because of dynamic access (e.g. reading
|
|
877
|
+
// fallback params), we return a hanging promise. This essentially makes
|
|
878
|
+
// the "use cache" function dynamic.
|
|
879
|
+
// The dynamic access is a fallback params read, which is runtime data.
|
|
880
|
+
const hangingPromise = (0, _dynamicrenderingutils.makeRuntimeHangingPromise)(outerWorkUnitStore.renderSignal, workStore.route, 'dynamic "use cache"', outerWorkUnitStore);
|
|
881
|
+
if (outerWorkUnitStore.cacheSignal) {
|
|
882
|
+
outerWorkUnitStore.cacheSignal.endRead();
|
|
883
|
+
}
|
|
884
|
+
return {
|
|
885
|
+
type: 'prerender-dynamic',
|
|
886
|
+
hangingPromise
|
|
887
|
+
};
|
|
888
|
+
} else {
|
|
889
|
+
stream = prelude;
|
|
890
|
+
}
|
|
891
|
+
break;
|
|
892
|
+
}
|
|
893
|
+
case 'request':
|
|
894
|
+
// TODO: We should just check if the render is abandonable. This is
|
|
895
|
+
// relevant in restart-on-cache-miss in general, so when we implement that
|
|
896
|
+
// for cached navs, it'll also be needed in prod
|
|
897
|
+
if (process.env.__NEXT_DEV_SERVER && outerWorkUnitStore.cacheSignal) {
|
|
898
|
+
const stagedRendering = outerWorkUnitStore.stagedRendering;
|
|
899
|
+
// Capture the render stage at the start of this cache read, before the
|
|
900
|
+
// yield below. A streamed staged render advances its controller on its
|
|
901
|
+
// own schedule, independently of this read, so by the time the yield
|
|
902
|
+
// resolves the controller may have raced ahead to the Dynamic stage even
|
|
903
|
+
// though the read began in an earlier (prerender) stage.
|
|
904
|
+
const stageAtReadStart = stagedRendering == null ? void 0 : stagedRendering.currentStage;
|
|
905
|
+
// If we're filling caches for a staged render, make sure that it takes
|
|
906
|
+
// at least a task, so we'll always notice a cache miss between stages.
|
|
907
|
+
//
|
|
908
|
+
// TODO(restart-on-cache-miss): This is suboptimal. Ideally microtasky
|
|
909
|
+
// caches wouldn't register as a miss, but short-lived caches are only
|
|
910
|
+
// omitted correctly when read back in a separate render (now the
|
|
911
|
+
// background validation render, not a restart of the streamed
|
|
912
|
+
// response), so forcing the miss is the best we can do until that's
|
|
913
|
+
// refactored.
|
|
914
|
+
await new Promise((resolve)=>setTimeout(resolve));
|
|
915
|
+
// Start a cache-fill timeout so a hanging `'use cache'` entry surfaces
|
|
916
|
+
// the same error in dev as during prerender. Cleared when
|
|
917
|
+
// pendingCacheResult settles.
|
|
918
|
+
//
|
|
919
|
+
// Skip the timeout only when the read began in the Dynamic stage, which
|
|
920
|
+
// mirrors prerender: a cache guarded by e.g. `await connection()` is a
|
|
921
|
+
// legitimate dynamic hole and isn't executed there. We use the stage
|
|
922
|
+
// captured at read start, not the current one, because the staged render
|
|
923
|
+
// may have advanced past it during the yield above.
|
|
924
|
+
if (stageAtReadStart !== _stagedrendering.RenderStage.Dynamic) {
|
|
925
|
+
const devRenderAbortController = new AbortController();
|
|
926
|
+
const fillTimeoutMs = getUseCacheFillTimeoutMs(workStore, outerWorkUnitStore.type);
|
|
927
|
+
const fillDeadlineAt = performance.now() + fillTimeoutMs;
|
|
928
|
+
const devRenderTimeoutTimer = setTimeout(()=>{
|
|
929
|
+
workStore.invalidDynamicUsageError = timeoutError;
|
|
930
|
+
devRenderAbortController.abort(timeoutError);
|
|
931
|
+
}, fillTimeoutMs);
|
|
932
|
+
devTimeoutAbortController = new AbortController();
|
|
933
|
+
devTimeoutAbortController.signal.addEventListener('abort', ()=>{
|
|
934
|
+
clearTimeout(devRenderTimeoutTimer);
|
|
935
|
+
}, {
|
|
936
|
+
once: true
|
|
937
|
+
});
|
|
938
|
+
stream = (0, _server.renderToReadableStream)(resultPromise, clientReferenceManifest.clientModules, {
|
|
939
|
+
environmentName: 'Cache',
|
|
940
|
+
filterStackFrame,
|
|
941
|
+
signal: devRenderAbortController.signal,
|
|
942
|
+
temporaryReferences,
|
|
943
|
+
onError (error) {
|
|
944
|
+
if (devRenderAbortController.signal.aborted && devRenderAbortController.signal.reason === error && error instanceof Error) {
|
|
945
|
+
// The abort reason is the same error stored as
|
|
946
|
+
// `workStore.invalidDynamicUsageError` (a fill timeout or
|
|
947
|
+
// deadlock). Register it under a digest and return that
|
|
948
|
+
// digest, so the error that surfaces on the consumer side of
|
|
949
|
+
// this Flight boundary carries it and the outer render's
|
|
950
|
+
// handler can recover *this* object via
|
|
951
|
+
// `reactServerErrorsByDigest`.
|
|
952
|
+
//
|
|
953
|
+
// We deliberately do not set `error.digest` here: whether the
|
|
954
|
+
// error actually surfaces (vs. being caught in userland) is
|
|
955
|
+
// the consumer's decision, so the "surfaced" mark is left to
|
|
956
|
+
// the outer handler.
|
|
957
|
+
const digest = (0, _errortelemetryutils.createDigestWithErrorCode)(error, (0, _stringhash.default)(error.message + (error.stack || '')).toString());
|
|
958
|
+
workStore.reactServerErrorsByDigest.set(digest, error);
|
|
959
|
+
return digest;
|
|
960
|
+
}
|
|
961
|
+
return handleError(error);
|
|
962
|
+
}
|
|
963
|
+
});
|
|
964
|
+
// `require` (rather than a top-level import) so the bundler can
|
|
965
|
+
// tree-shake the probe scheduler out of the production runtime, where
|
|
966
|
+
// this whole dev-server-gated branch is dead code.
|
|
967
|
+
const { setupProbeScheduler } = require('./use-cache-probe-scheduler');
|
|
968
|
+
stream = setupProbeScheduler({
|
|
969
|
+
workStore,
|
|
970
|
+
outerRequestStore: outerWorkUnitStore,
|
|
971
|
+
cacheContext,
|
|
972
|
+
encodedArguments,
|
|
973
|
+
fillDeadlineAt,
|
|
974
|
+
stream,
|
|
975
|
+
abortSignal: AbortSignal.any([
|
|
976
|
+
devRenderAbortController.signal,
|
|
977
|
+
devTimeoutAbortController.signal
|
|
978
|
+
]),
|
|
979
|
+
onProbeCompleted () {
|
|
980
|
+
const error = deadlockError ?? Object.defineProperty(new _invarianterror.InvariantError('`deadlockError` should be constructed inside `cache()` before reaching the probe scheduler.'), "__NEXT_ERROR_CODE", {
|
|
981
|
+
value: "E1182",
|
|
982
|
+
enumerable: false,
|
|
983
|
+
configurable: true
|
|
984
|
+
});
|
|
985
|
+
workStore.invalidDynamicUsageError = error;
|
|
986
|
+
devRenderAbortController.abort(error);
|
|
987
|
+
}
|
|
988
|
+
});
|
|
989
|
+
break;
|
|
990
|
+
}
|
|
991
|
+
}
|
|
992
|
+
// fallthrough
|
|
993
|
+
case 'prerender-ppr':
|
|
994
|
+
case 'prerender-legacy':
|
|
995
|
+
case 'cache':
|
|
996
|
+
case 'private-cache':
|
|
997
|
+
case 'unstable-cache':
|
|
998
|
+
case 'generate-static-params':
|
|
999
|
+
stream = (0, _server.renderToReadableStream)(resultPromise, clientReferenceManifest.clientModules, {
|
|
1000
|
+
environmentName: 'Cache',
|
|
1001
|
+
filterStackFrame,
|
|
1002
|
+
temporaryReferences,
|
|
1003
|
+
onError: handleError
|
|
1004
|
+
});
|
|
1005
|
+
break;
|
|
1006
|
+
default:
|
|
1007
|
+
return outerWorkUnitStore;
|
|
1008
|
+
}
|
|
1009
|
+
const [returnStream, savedStream] = stream.tee();
|
|
1010
|
+
const pendingCacheResult = collectResult(savedStream, workStore, cacheContext, innerCacheStore, startTime, errors).finally(()=>{
|
|
1011
|
+
devTimeoutAbortController == null ? void 0 : devTimeoutAbortController.abort();
|
|
1012
|
+
});
|
|
1013
|
+
if (process.env.NODE_ENV === 'development') {
|
|
1014
|
+
// Name the stream for React DevTools.
|
|
1015
|
+
// @ts-expect-error
|
|
1016
|
+
returnStream.name = 'use cache';
|
|
1017
|
+
}
|
|
1018
|
+
return {
|
|
1019
|
+
type: 'cached',
|
|
1020
|
+
// Return the stream as we're creating it. This means that if it ends up
|
|
1021
|
+
// erroring we cannot return a stale-if-error version but it allows
|
|
1022
|
+
// streaming back the result earlier.
|
|
1023
|
+
stream: returnStream,
|
|
1024
|
+
pendingCacheResult
|
|
1025
|
+
};
|
|
1026
|
+
}
|
|
1027
|
+
function cloneCacheResult(result) {
|
|
1028
|
+
const [entryA, entryB] = (0, _clonecacheentry.cloneCacheEntry)(result.entry);
|
|
1029
|
+
return [
|
|
1030
|
+
{
|
|
1031
|
+
entry: entryA,
|
|
1032
|
+
hasExplicitRevalidate: result.hasExplicitRevalidate,
|
|
1033
|
+
hasExplicitExpire: result.hasExplicitExpire,
|
|
1034
|
+
readRootParamNames: result.readRootParamNames,
|
|
1035
|
+
dynamicNestedCacheError: result.dynamicNestedCacheError
|
|
1036
|
+
},
|
|
1037
|
+
{
|
|
1038
|
+
entry: entryB,
|
|
1039
|
+
hasExplicitRevalidate: result.hasExplicitRevalidate,
|
|
1040
|
+
hasExplicitExpire: result.hasExplicitExpire,
|
|
1041
|
+
readRootParamNames: result.readRootParamNames,
|
|
1042
|
+
dynamicNestedCacheError: result.dynamicNestedCacheError
|
|
1043
|
+
}
|
|
1044
|
+
];
|
|
1045
|
+
}
|
|
1046
|
+
async function clonePendingCacheResult(pendingCacheResult) {
|
|
1047
|
+
const result = await pendingCacheResult;
|
|
1048
|
+
return cloneCacheResult(result);
|
|
1049
|
+
}
|
|
1050
|
+
async function getNthCacheResult(split, i) {
|
|
1051
|
+
return (await split)[i];
|
|
1052
|
+
}
|
|
1053
|
+
async function encodeFormData(formData) {
|
|
1054
|
+
let result = '';
|
|
1055
|
+
for (let [key, value] of formData){
|
|
1056
|
+
// We don't need this key to be serializable but from a security perspective it should not be
|
|
1057
|
+
// possible to generate a string that looks the same from a different structure. To ensure this
|
|
1058
|
+
// we need a delimeter between fields but just using a delimeter is not enough since a string
|
|
1059
|
+
// might contain that delimeter. We use the length of each field as the delimeter to avoid
|
|
1060
|
+
// escaping the values.
|
|
1061
|
+
result += key.length.toString(16) + ':' + key;
|
|
1062
|
+
let stringValue;
|
|
1063
|
+
if (typeof value === 'string') {
|
|
1064
|
+
stringValue = value;
|
|
1065
|
+
} else {
|
|
1066
|
+
// The FormData might contain binary data that is not valid UTF-8 so this cache
|
|
1067
|
+
// key may generate a UCS-2 string. Passing this to another service needs to be
|
|
1068
|
+
// aware that the key might not be compatible.
|
|
1069
|
+
const arrayBuffer = await value.arrayBuffer();
|
|
1070
|
+
if (arrayBuffer.byteLength % 2 === 0) {
|
|
1071
|
+
stringValue = String.fromCodePoint(...new Uint16Array(arrayBuffer));
|
|
1072
|
+
} else {
|
|
1073
|
+
stringValue = String.fromCodePoint(...new Uint16Array(arrayBuffer, 0, (arrayBuffer.byteLength - 1) / 2)) + String.fromCodePoint(new Uint8Array(arrayBuffer, arrayBuffer.byteLength - 1, 1)[0]);
|
|
1074
|
+
}
|
|
1075
|
+
}
|
|
1076
|
+
result += stringValue.length.toString(16) + ':' + stringValue;
|
|
1077
|
+
}
|
|
1078
|
+
return result;
|
|
1079
|
+
}
|
|
1080
|
+
function createTrackedReadableStream(stream, cacheSignal) {
|
|
1081
|
+
const reader = stream.getReader();
|
|
1082
|
+
return new ReadableStream({
|
|
1083
|
+
async pull (controller) {
|
|
1084
|
+
const { done, value } = await reader.read();
|
|
1085
|
+
if (done) {
|
|
1086
|
+
controller.close();
|
|
1087
|
+
cacheSignal.endRead();
|
|
1088
|
+
} else {
|
|
1089
|
+
controller.enqueue(value);
|
|
1090
|
+
}
|
|
1091
|
+
}
|
|
1092
|
+
});
|
|
1093
|
+
}
|
|
1094
|
+
async function cache(kind, id, boundArgsLength, originalFn, args) {
|
|
1095
|
+
var _workUnitStore_implicitTags;
|
|
1096
|
+
const isPrivate = kind === 'private';
|
|
1097
|
+
const workStore = _workasyncstorageexternal.workAsyncStorage.getStore();
|
|
1098
|
+
if (workStore === undefined) {
|
|
1099
|
+
throw Object.defineProperty(new Error('"use cache" cannot be used outside of App Router. Expected a WorkStore.'), "__NEXT_ERROR_CODE", {
|
|
1100
|
+
value: "E279",
|
|
1101
|
+
enumerable: false,
|
|
1102
|
+
configurable: true
|
|
1103
|
+
});
|
|
1104
|
+
}
|
|
1105
|
+
const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
|
|
1106
|
+
if (workUnitStore === undefined) {
|
|
1107
|
+
throw Object.defineProperty(new _invarianterror.InvariantError('"use cache" cannot be used outside of App Router. Expected a WorkUnitStore.'), "__NEXT_ERROR_CODE", {
|
|
1108
|
+
value: "E1135",
|
|
1109
|
+
enumerable: false,
|
|
1110
|
+
configurable: true
|
|
1111
|
+
});
|
|
1112
|
+
}
|
|
1113
|
+
// In a prerender, tasky IO may result in cache reads that start
|
|
1114
|
+
// after the prerender has already been aborted:
|
|
1115
|
+
//
|
|
1116
|
+
// await setTimeout(100) // we can't abort this uncached IO...
|
|
1117
|
+
// await cachedData() // ...so we'll still get here even though the prerender aborted
|
|
1118
|
+
//
|
|
1119
|
+
// The prerender is over, so we should just return an erroring promise.
|
|
1120
|
+
// (NOTE: we also shouldn't fill this cache, because it's behind uncached IO,
|
|
1121
|
+
// so semantically it is not part of the prerender)
|
|
1122
|
+
switch(workUnitStore.type){
|
|
1123
|
+
case 'prerender':
|
|
1124
|
+
case 'prerender-runtime':
|
|
1125
|
+
{
|
|
1126
|
+
if (workUnitStore.renderSignal.aborted) {
|
|
1127
|
+
// We don't know if the cache itself is dynamic or runtime data,
|
|
1128
|
+
// but the prerender is over, so it doesn't need to participate
|
|
1129
|
+
// in runtime data tracking at all.
|
|
1130
|
+
return (0, _dynamicrenderingutils.makeUntrackedHangingPromise)(workUnitStore.renderSignal, workStore.route, '"use cache" called after prerender ended');
|
|
1131
|
+
}
|
|
1132
|
+
break;
|
|
1133
|
+
}
|
|
1134
|
+
case 'prerender-ppr':
|
|
1135
|
+
case 'prerender-legacy':
|
|
1136
|
+
case 'prerender-client':
|
|
1137
|
+
case 'validation-client':
|
|
1138
|
+
case 'request':
|
|
1139
|
+
case 'cache':
|
|
1140
|
+
case 'private-cache':
|
|
1141
|
+
case 'unstable-cache':
|
|
1142
|
+
case 'generate-static-params':
|
|
1143
|
+
break;
|
|
1144
|
+
default:
|
|
1145
|
+
workUnitStore;
|
|
1146
|
+
}
|
|
1147
|
+
// Probe re-executions (the dev-server's hang-detection worker) short-circuit
|
|
1148
|
+
// further down before any handler is consulted, so we skip handler selection
|
|
1149
|
+
// entirely and the worker can boot without registering handlers at all.
|
|
1150
|
+
let cacheHandler;
|
|
1151
|
+
if (workStore.useCacheProbeMode === undefined) {
|
|
1152
|
+
if (isPrivate) {
|
|
1153
|
+
// Private caches normally go to the Resume Data Cache (RDC), not a cache
|
|
1154
|
+
// handler. In development we additionally persist them in a dedicated
|
|
1155
|
+
// built-in in-memory handler so that reloads are fast.
|
|
1156
|
+
if (process.env.__NEXT_DEV_SERVER) {
|
|
1157
|
+
cacheHandler = (0, _handlers.getPrivateCacheHandler)();
|
|
1158
|
+
}
|
|
1159
|
+
} else {
|
|
1160
|
+
const handler = (0, _handlers.getCacheHandler)(kind);
|
|
1161
|
+
if (!handler) {
|
|
1162
|
+
throw Object.defineProperty(new Error('Unknown cache handler: ' + kind), "__NEXT_ERROR_CODE", {
|
|
1163
|
+
value: "E248",
|
|
1164
|
+
enumerable: false,
|
|
1165
|
+
configurable: true
|
|
1166
|
+
});
|
|
1167
|
+
}
|
|
1168
|
+
// In development, a user-configured (custom) handler may be slow or
|
|
1169
|
+
// remote, so we read through a tiered handler that puts a built-in
|
|
1170
|
+
// in-memory front in front of it to keep cache hits microtask-fast.
|
|
1171
|
+
// Built-in handlers (the default handler, and its size-0 replacement) are
|
|
1172
|
+
// already in-memory and used directly.
|
|
1173
|
+
if (process.env.__NEXT_DEV_SERVER && (0, _handlers.isCustomCacheHandler)(kind)) {
|
|
1174
|
+
// A custom kind always has a dev tiered handler: it is created in the
|
|
1175
|
+
// same `setCacheHandler` call that makes `isCustomCacheHandler` true.
|
|
1176
|
+
const tieredCacheHandler = (0, _handlers.getDevTieredCacheHandler)(kind);
|
|
1177
|
+
if (!tieredCacheHandler) {
|
|
1178
|
+
throw Object.defineProperty(new _invarianterror.InvariantError(`Expected a dev tiered cache handler for kind "${kind}".`), "__NEXT_ERROR_CODE", {
|
|
1179
|
+
value: "E1365",
|
|
1180
|
+
enumerable: false,
|
|
1181
|
+
configurable: true
|
|
1182
|
+
});
|
|
1183
|
+
}
|
|
1184
|
+
cacheHandler = tieredCacheHandler;
|
|
1185
|
+
} else {
|
|
1186
|
+
cacheHandler = handler;
|
|
1187
|
+
}
|
|
1188
|
+
}
|
|
1189
|
+
}
|
|
1190
|
+
const timeoutError = new _usecacheerrors.UseCacheTimeoutError();
|
|
1191
|
+
Error.captureStackTrace(timeoutError, cache);
|
|
1192
|
+
(0, _dynamicrenderingutils.applyOwnerStack)(timeoutError);
|
|
1193
|
+
// Only ever thrown by the dev-server's hang-detection probe.
|
|
1194
|
+
// `Error.captureStackTrace` has to run while `cache()` is still on the
|
|
1195
|
+
// synchronous stack, otherwise the user's `'use cache'` invocation frames
|
|
1196
|
+
// would already be gone — that's why the construction sits up here rather
|
|
1197
|
+
// than next to the trigger that actually consumes it. The `__NEXT_DEV_SERVER`
|
|
1198
|
+
// gate lets the error class drop out of the production runtime bundle.
|
|
1199
|
+
let deadlockError;
|
|
1200
|
+
if (process.env.__NEXT_DEV_SERVER) {
|
|
1201
|
+
deadlockError = new _usecacheerrors.UseCacheDeadlockError();
|
|
1202
|
+
Error.captureStackTrace(deadlockError, cache);
|
|
1203
|
+
(0, _dynamicrenderingutils.applyOwnerStack)(deadlockError);
|
|
1204
|
+
}
|
|
1205
|
+
const wrapAsInvalidDynamicUsageError = (error)=>{
|
|
1206
|
+
Error.captureStackTrace(error, cache);
|
|
1207
|
+
workStore.invalidDynamicUsageError ??= error;
|
|
1208
|
+
return error;
|
|
1209
|
+
};
|
|
1210
|
+
const outerOwnerStack = process.env.NODE_ENV !== 'production' ? captureOuterOwnerStack(workUnitStore) : undefined;
|
|
1211
|
+
const name = originalFn.name;
|
|
1212
|
+
let fn = originalFn;
|
|
1213
|
+
let cacheContext;
|
|
1214
|
+
if (isPrivate) {
|
|
1215
|
+
const expression = '"use cache: private"';
|
|
1216
|
+
switch(workUnitStore.type){
|
|
1217
|
+
// "use cache: private" is dynamic in prerendering contexts.
|
|
1218
|
+
case 'prerender':
|
|
1219
|
+
// Private caches can read request data, which is runtime data.
|
|
1220
|
+
return (0, _dynamicrenderingutils.makeRuntimeHangingPromise)(workUnitStore.renderSignal, workStore.route, expression, workUnitStore);
|
|
1221
|
+
case 'prerender-ppr':
|
|
1222
|
+
return (0, _dynamicrendering.postponeWithTracking)(workStore.route, expression, workUnitStore.dynamicTracking);
|
|
1223
|
+
case 'prerender-legacy':
|
|
1224
|
+
return (0, _dynamicrendering.throwToInterruptStaticGeneration)(expression, workStore, workUnitStore);
|
|
1225
|
+
case 'prerender-client':
|
|
1226
|
+
case 'validation-client':
|
|
1227
|
+
throw Object.defineProperty(new _invarianterror.InvariantError(`${expression} must not be used within a client component. Next.js should be preventing ${expression} from being allowed in client components statically, but did not in this case.`), "__NEXT_ERROR_CODE", {
|
|
1228
|
+
value: "E1020",
|
|
1229
|
+
enumerable: false,
|
|
1230
|
+
configurable: true
|
|
1231
|
+
});
|
|
1232
|
+
case 'unstable-cache':
|
|
1233
|
+
{
|
|
1234
|
+
throw wrapAsInvalidDynamicUsageError(Object.defineProperty(new Error(// TODO: Add a link to an error documentation page when we have one.
|
|
1235
|
+
`${expression} must not be used within \`unstable_cache()\`.`), "__NEXT_ERROR_CODE", {
|
|
1236
|
+
value: "E1016",
|
|
1237
|
+
enumerable: false,
|
|
1238
|
+
configurable: true
|
|
1239
|
+
}));
|
|
1240
|
+
}
|
|
1241
|
+
case 'cache':
|
|
1242
|
+
{
|
|
1243
|
+
throw wrapAsInvalidDynamicUsageError(Object.defineProperty(new Error(// TODO: Add a link to an error documentation page when we have one.
|
|
1244
|
+
`${expression} must not be used within "use cache". It can only be nested inside of another ${expression}.`), "__NEXT_ERROR_CODE", {
|
|
1245
|
+
value: "E1001",
|
|
1246
|
+
enumerable: false,
|
|
1247
|
+
configurable: true
|
|
1248
|
+
}));
|
|
1249
|
+
}
|
|
1250
|
+
case 'request':
|
|
1251
|
+
case 'prerender-runtime':
|
|
1252
|
+
case 'private-cache':
|
|
1253
|
+
cacheContext = {
|
|
1254
|
+
kind: 'private',
|
|
1255
|
+
outerWorkUnitStore: workUnitStore,
|
|
1256
|
+
skipPropagation: false,
|
|
1257
|
+
outerOwnerStack,
|
|
1258
|
+
functionId: id,
|
|
1259
|
+
handlerKind: kind
|
|
1260
|
+
};
|
|
1261
|
+
break;
|
|
1262
|
+
case 'generate-static-params':
|
|
1263
|
+
throw wrapAsInvalidDynamicUsageError(Object.defineProperty(new Error(// TODO: Add a link to an error documentation page when we have one.
|
|
1264
|
+
`${expression} cannot be used outside of a request context.`), "__NEXT_ERROR_CODE", {
|
|
1265
|
+
value: "E1008",
|
|
1266
|
+
enumerable: false,
|
|
1267
|
+
configurable: true
|
|
1268
|
+
}));
|
|
1269
|
+
default:
|
|
1270
|
+
workUnitStore;
|
|
1271
|
+
// This is dead code, but without throwing an error here, TypeScript
|
|
1272
|
+
// will assume that cacheContext is used before being assigned.
|
|
1273
|
+
throw Object.defineProperty(new _invarianterror.InvariantError(`Unexpected work unit store.`), "__NEXT_ERROR_CODE", {
|
|
1274
|
+
value: "E737",
|
|
1275
|
+
enumerable: false,
|
|
1276
|
+
configurable: true
|
|
1277
|
+
});
|
|
1278
|
+
}
|
|
1279
|
+
} else {
|
|
1280
|
+
switch(workUnitStore.type){
|
|
1281
|
+
case 'prerender-client':
|
|
1282
|
+
case 'validation-client':
|
|
1283
|
+
const expression = '"use cache"';
|
|
1284
|
+
throw Object.defineProperty(new _invarianterror.InvariantError(`${expression} must not be used within a client component. Next.js should be preventing ${expression} from being allowed in client components statically, but did not in this case.`), "__NEXT_ERROR_CODE", {
|
|
1285
|
+
value: "E1038",
|
|
1286
|
+
enumerable: false,
|
|
1287
|
+
configurable: true
|
|
1288
|
+
});
|
|
1289
|
+
case 'cache':
|
|
1290
|
+
{
|
|
1291
|
+
// Eagerly capture this invocation's call site while still synchronous
|
|
1292
|
+
// in `cache()`. Used as `cause` of the nested-dynamic cache error
|
|
1293
|
+
// when the outer cache (whose body never re-runs during the final
|
|
1294
|
+
// prerender) throws. Only constructed when the parent is itself a
|
|
1295
|
+
// public `'use cache'` — otherwise this entry can never propagate
|
|
1296
|
+
// dynamism into that error and the allocation would be wasted. Private
|
|
1297
|
+
// parents are intentionally excluded: `'use cache: private'` is
|
|
1298
|
+
// dynamic-by-definition in prerendering and deferred to the runtime
|
|
1299
|
+
// stage in dev requests, so a public cache nested inside one never
|
|
1300
|
+
// triggers the throw upstream.
|
|
1301
|
+
const dynamicNestedCacheError = new _usecacheerrors.NestedDynamicUseCacheError();
|
|
1302
|
+
Error.captureStackTrace(dynamicNestedCacheError, cache);
|
|
1303
|
+
(0, _dynamicrenderingutils.applyOwnerStack)(dynamicNestedCacheError);
|
|
1304
|
+
cacheContext = {
|
|
1305
|
+
kind: 'public',
|
|
1306
|
+
outerWorkUnitStore: workUnitStore,
|
|
1307
|
+
skipPropagation: false,
|
|
1308
|
+
outerOwnerStack,
|
|
1309
|
+
functionId: id,
|
|
1310
|
+
handlerKind: kind,
|
|
1311
|
+
dynamicNestedCacheError
|
|
1312
|
+
};
|
|
1313
|
+
break;
|
|
1314
|
+
}
|
|
1315
|
+
case 'prerender':
|
|
1316
|
+
case 'prerender-runtime':
|
|
1317
|
+
case 'prerender-ppr':
|
|
1318
|
+
case 'prerender-legacy':
|
|
1319
|
+
case 'request':
|
|
1320
|
+
case 'private-cache':
|
|
1321
|
+
// TODO: We should probably forbid nesting "use cache" inside
|
|
1322
|
+
// unstable_cache. (fallthrough)
|
|
1323
|
+
case 'unstable-cache':
|
|
1324
|
+
case 'generate-static-params':
|
|
1325
|
+
cacheContext = {
|
|
1326
|
+
kind: 'public',
|
|
1327
|
+
outerWorkUnitStore: workUnitStore,
|
|
1328
|
+
skipPropagation: false,
|
|
1329
|
+
outerOwnerStack,
|
|
1330
|
+
functionId: id,
|
|
1331
|
+
handlerKind: kind,
|
|
1332
|
+
dynamicNestedCacheError: undefined
|
|
1333
|
+
};
|
|
1334
|
+
break;
|
|
1335
|
+
default:
|
|
1336
|
+
workUnitStore;
|
|
1337
|
+
// This is dead code, but without throwing an error here, TypeScript
|
|
1338
|
+
// will assume that cacheContext is used before being assigned.
|
|
1339
|
+
throw Object.defineProperty(new _invarianterror.InvariantError(`Unexpected work unit store.`), "__NEXT_ERROR_CODE", {
|
|
1340
|
+
value: "E737",
|
|
1341
|
+
enumerable: false,
|
|
1342
|
+
configurable: true
|
|
1343
|
+
});
|
|
1344
|
+
}
|
|
1345
|
+
}
|
|
1346
|
+
// Get the clientReferenceManifest while we're still in the outer Context.
|
|
1347
|
+
// In case getClientReferenceManifestSingleton is implemented using AsyncLocalStorage.
|
|
1348
|
+
const clientReferenceManifest = (0, _manifestssingleton.getClientReferenceManifest)();
|
|
1349
|
+
// Because the Action ID is not yet unique per implementation of that Action we can't
|
|
1350
|
+
// safely reuse the results across builds yet. In the meantime we add the buildId to the
|
|
1351
|
+
// arguments as a seed to ensure they're not reused. Remove this once Action IDs hash
|
|
1352
|
+
// the implementation.
|
|
1353
|
+
const buildId = workStore.deploymentId || workStore.buildId;
|
|
1354
|
+
// In dev mode, when the HMR refresh hash is set, we include it in the
|
|
1355
|
+
// cache key. This ensures that cache entries are not reused when server
|
|
1356
|
+
// components have been edited. This is a very coarse approach. But it's
|
|
1357
|
+
// also only a temporary solution until Action IDs are unique per
|
|
1358
|
+
// implementation. Remove this once Action IDs hash the implementation.
|
|
1359
|
+
const hmrRefreshHash = (0, _workunitasyncstorageexternal.getHmrRefreshHash)(workUnitStore);
|
|
1360
|
+
const hangingInputAbortSignal = (0, _dynamicrendering.createHangingInputAbortSignal)(workUnitStore);
|
|
1361
|
+
if (cacheContext.kind === 'private') {
|
|
1362
|
+
const { outerWorkUnitStore } = cacheContext;
|
|
1363
|
+
switch(outerWorkUnitStore.type){
|
|
1364
|
+
case 'prerender-runtime':
|
|
1365
|
+
{
|
|
1366
|
+
// In a runtime prerender, we have to make sure that APIs that would hang during a static prerender
|
|
1367
|
+
// are resolved with a delay, in the appropriate runtime stage. Private caches resolve in EarlyRuntime,
|
|
1368
|
+
const stagedRendering = outerWorkUnitStore.stagedRendering;
|
|
1369
|
+
if (stagedRendering) {
|
|
1370
|
+
await stagedRendering.waitForStage(_dynamicrenderingutils.RENDER_STAGES_BY_DATA_KIND.sessionData);
|
|
1371
|
+
}
|
|
1372
|
+
break;
|
|
1373
|
+
}
|
|
1374
|
+
case 'request':
|
|
1375
|
+
{
|
|
1376
|
+
if (process.env.NODE_ENV === 'development') {
|
|
1377
|
+
// Similar to runtime prerenders, private caches should not resolve in the static stage
|
|
1378
|
+
// of a dev request, so we delay them.
|
|
1379
|
+
await (0, _dynamicrenderingutils.makeDevtoolsIOAwarePromise)(undefined, outerWorkUnitStore, _dynamicrenderingutils.RENDER_STAGES_BY_DATA_KIND.sessionData);
|
|
1380
|
+
}
|
|
1381
|
+
break;
|
|
1382
|
+
}
|
|
1383
|
+
case 'private-cache':
|
|
1384
|
+
break;
|
|
1385
|
+
default:
|
|
1386
|
+
{
|
|
1387
|
+
outerWorkUnitStore;
|
|
1388
|
+
}
|
|
1389
|
+
}
|
|
1390
|
+
}
|
|
1391
|
+
let isPageOrLayoutSegmentFunction = false;
|
|
1392
|
+
// For page and layout segment functions (i.e. the page/layout component,
|
|
1393
|
+
// or generateMetadata/generateViewport), the cache function is
|
|
1394
|
+
// overwritten, which allows us to apply special handling for params and
|
|
1395
|
+
// searchParams. For pages and layouts we're using the outer params prop,
|
|
1396
|
+
// and not the inner one that was serialized/deserialized. While it's not
|
|
1397
|
+
// generally true for "use cache" args, in the case of `params` the inner
|
|
1398
|
+
// and outer object are essentially equivalent, so this is safe to do
|
|
1399
|
+
// (including fallback params that are hanging promises). It allows us to
|
|
1400
|
+
// avoid waiting for the timeout, when prerendering a fallback shell of a
|
|
1401
|
+
// cached page or layout that awaits params.
|
|
1402
|
+
if (isPageSegmentFunction(args)) {
|
|
1403
|
+
isPageOrLayoutSegmentFunction = true;
|
|
1404
|
+
const [{ params: outerParams, searchParams: outerSearchParams }, ...otherOuterArgs] = args;
|
|
1405
|
+
const props = {
|
|
1406
|
+
params: outerParams
|
|
1407
|
+
};
|
|
1408
|
+
if (isPrivate) {
|
|
1409
|
+
// Private caches allow accessing search params. We need to include
|
|
1410
|
+
// them in the serialized args and when generating the cache key.
|
|
1411
|
+
props.searchParams = outerSearchParams;
|
|
1412
|
+
}
|
|
1413
|
+
args = [
|
|
1414
|
+
props,
|
|
1415
|
+
...otherOuterArgs
|
|
1416
|
+
];
|
|
1417
|
+
fn = ({
|
|
1418
|
+
[name]: async ({ params: _innerParams, searchParams: innerSearchParams }, ...otherInnerArgs)=>originalFn.apply(null, [
|
|
1419
|
+
{
|
|
1420
|
+
params: outerParams,
|
|
1421
|
+
searchParams: innerSearchParams ?? // For public caches, search params are omitted from the cache
|
|
1422
|
+
// key (and the serialized args) to avoid mismatches between
|
|
1423
|
+
// prerendering and resuming a cached page that does not
|
|
1424
|
+
// access search params. This is also the reason why we're not
|
|
1425
|
+
// using a hanging promise for search params. For cached pages
|
|
1426
|
+
// that do access them, which is an invalid dynamic usage, we
|
|
1427
|
+
// need to ensure that an error is shown.
|
|
1428
|
+
(0, _searchparams.makeErroringSearchParamsForUseCache)()
|
|
1429
|
+
},
|
|
1430
|
+
...otherInnerArgs
|
|
1431
|
+
])
|
|
1432
|
+
})[name];
|
|
1433
|
+
} else if (isLayoutSegmentFunction(args)) {
|
|
1434
|
+
isPageOrLayoutSegmentFunction = true;
|
|
1435
|
+
const [{ params: outerParams, $$isLayout, ...outerSlots }, ...otherOuterArgs] = args;
|
|
1436
|
+
// Overwrite the props to omit $$isLayout. Note that slots are only
|
|
1437
|
+
// passed to the layout component (if any are defined), and not to
|
|
1438
|
+
// generateMetadata nor generateViewport. For those functions,
|
|
1439
|
+
// outerSlots/innerSlots is an empty object, which is fine because we're
|
|
1440
|
+
// just spreading it into the props.
|
|
1441
|
+
args = [
|
|
1442
|
+
{
|
|
1443
|
+
params: outerParams,
|
|
1444
|
+
...outerSlots
|
|
1445
|
+
},
|
|
1446
|
+
...otherOuterArgs
|
|
1447
|
+
];
|
|
1448
|
+
fn = ({
|
|
1449
|
+
[name]: async ({ params: _innerParams, ...innerSlots }, ...otherInnerArgs)=>originalFn.apply(null, [
|
|
1450
|
+
{
|
|
1451
|
+
params: outerParams,
|
|
1452
|
+
...innerSlots
|
|
1453
|
+
},
|
|
1454
|
+
...otherInnerArgs
|
|
1455
|
+
])
|
|
1456
|
+
})[name];
|
|
1457
|
+
}
|
|
1458
|
+
if (boundArgsLength > 0) {
|
|
1459
|
+
if (args.length === 0) {
|
|
1460
|
+
throw Object.defineProperty(new _invarianterror.InvariantError(`Expected the "use cache" function ${JSON.stringify(fn.name)} to receive its encrypted bound arguments as the first argument.`), "__NEXT_ERROR_CODE", {
|
|
1461
|
+
value: "E524",
|
|
1462
|
+
enumerable: false,
|
|
1463
|
+
configurable: true
|
|
1464
|
+
});
|
|
1465
|
+
}
|
|
1466
|
+
const encryptedBoundArgs = args.shift();
|
|
1467
|
+
const boundArgs = await (0, _encryption.decryptActionBoundArgs)(id, encryptedBoundArgs);
|
|
1468
|
+
if (!Array.isArray(boundArgs)) {
|
|
1469
|
+
throw Object.defineProperty(new _invarianterror.InvariantError(`Expected the bound arguments of "use cache" function ${JSON.stringify(fn.name)} to deserialize into an array, got ${typeof boundArgs} instead.`), "__NEXT_ERROR_CODE", {
|
|
1470
|
+
value: "E581",
|
|
1471
|
+
enumerable: false,
|
|
1472
|
+
configurable: true
|
|
1473
|
+
});
|
|
1474
|
+
}
|
|
1475
|
+
if (boundArgsLength !== boundArgs.length) {
|
|
1476
|
+
throw Object.defineProperty(new _invarianterror.InvariantError(`Expected the "use cache" function ${JSON.stringify(fn.name)} to receive ${boundArgsLength} bound arguments, got ${boundArgs.length} instead.`), "__NEXT_ERROR_CODE", {
|
|
1477
|
+
value: "E559",
|
|
1478
|
+
enumerable: false,
|
|
1479
|
+
configurable: true
|
|
1480
|
+
});
|
|
1481
|
+
}
|
|
1482
|
+
args.unshift(boundArgs);
|
|
1483
|
+
}
|
|
1484
|
+
const temporaryReferences = (0, _client.createTemporaryReferenceSet)();
|
|
1485
|
+
// The base serialized cache key doesn't include the cookies or headers that
|
|
1486
|
+
// private caches are allowed to read. In production this is because private
|
|
1487
|
+
// cache entries aren't stored in a cache handler, only in the Resume Data
|
|
1488
|
+
// Cache (RDC): private caches are only used during dynamic requests and
|
|
1489
|
+
// runtime prefetches; for dynamic requests the RDC is immutable and excludes
|
|
1490
|
+
// private caches, and for runtime prefetches it's mutable but lives only as
|
|
1491
|
+
// long as the request. In development private caches are persisted across
|
|
1492
|
+
// requests, so `cacheHandlerKeyBase` (below) additionally scopes the handler
|
|
1493
|
+
// key by the request's cookies and headers.
|
|
1494
|
+
const cacheKeyParts = hmrRefreshHash ? [
|
|
1495
|
+
buildId,
|
|
1496
|
+
id,
|
|
1497
|
+
args,
|
|
1498
|
+
hmrRefreshHash
|
|
1499
|
+
] : [
|
|
1500
|
+
buildId,
|
|
1501
|
+
id,
|
|
1502
|
+
args
|
|
1503
|
+
];
|
|
1504
|
+
const encodeCacheKeyParts = ()=>(0, _client.encodeReply)(cacheKeyParts, {
|
|
1505
|
+
temporaryReferences,
|
|
1506
|
+
signal: hangingInputAbortSignal
|
|
1507
|
+
});
|
|
1508
|
+
let encodedCacheKeyParts;
|
|
1509
|
+
switch(workUnitStore.type){
|
|
1510
|
+
case 'prerender-runtime':
|
|
1511
|
+
// We're currently only using `dynamicAccessAsyncStorage` for params,
|
|
1512
|
+
// which are always available in a runtime prerender, so they will never hang,
|
|
1513
|
+
// effectively making the tracking below a no-op.
|
|
1514
|
+
// However, a runtime prerender shares a lot of the semantics with a static prerender,
|
|
1515
|
+
// and might need to follow this codepath in the future
|
|
1516
|
+
// if we start using `dynamicAccessAsyncStorage` for other APIs.
|
|
1517
|
+
//
|
|
1518
|
+
// fallthrough
|
|
1519
|
+
case 'prerender':
|
|
1520
|
+
if (!isPageOrLayoutSegmentFunction) {
|
|
1521
|
+
// If the "use cache" function is not a page or layout segment
|
|
1522
|
+
// function, we need to track dynamic access already when encoding
|
|
1523
|
+
// the arguments. If params are passed explicitly into a "use cache"
|
|
1524
|
+
// function (as opposed to receiving them automatically in a page or
|
|
1525
|
+
// layout), we assume that the params are also accessed. This allows
|
|
1526
|
+
// us to abort early, and treat the function as dynamic, instead of
|
|
1527
|
+
// waiting for the timeout to be reached.
|
|
1528
|
+
const dynamicAccessAbortController = new AbortController();
|
|
1529
|
+
encodedCacheKeyParts = await _dynamicaccessasyncstorageexternal.dynamicAccessAsyncStorage.run({
|
|
1530
|
+
abortController: dynamicAccessAbortController
|
|
1531
|
+
}, encodeCacheKeyParts);
|
|
1532
|
+
if (dynamicAccessAbortController.signal.aborted) {
|
|
1533
|
+
// The dynamic access is a fallback params read, which is runtime
|
|
1534
|
+
// data.
|
|
1535
|
+
return (0, _dynamicrenderingutils.makeRuntimeHangingPromise)(workUnitStore.renderSignal, workStore.route, 'dynamic "use cache"', workUnitStore);
|
|
1536
|
+
}
|
|
1537
|
+
break;
|
|
1538
|
+
}
|
|
1539
|
+
// fallthrough
|
|
1540
|
+
case 'prerender-ppr':
|
|
1541
|
+
case 'prerender-legacy':
|
|
1542
|
+
case 'request':
|
|
1543
|
+
// TODO(restart-on-cache-miss): We need to handle params/searchParams on page components.
|
|
1544
|
+
// the promises will be tasky, so `encodeCacheKeyParts` will not resolve in the static stage.
|
|
1545
|
+
// We have not started a cache read at this point, so we might just miss the cache completely.
|
|
1546
|
+
// fallthrough
|
|
1547
|
+
case 'cache':
|
|
1548
|
+
case 'private-cache':
|
|
1549
|
+
case 'unstable-cache':
|
|
1550
|
+
case 'generate-static-params':
|
|
1551
|
+
case undefined:
|
|
1552
|
+
encodedCacheKeyParts = await encodeCacheKeyParts();
|
|
1553
|
+
break;
|
|
1554
|
+
default:
|
|
1555
|
+
return workUnitStore;
|
|
1556
|
+
}
|
|
1557
|
+
// Probe path: we're running inside a pooled worker spawned by the dev
|
|
1558
|
+
// server to check whether a stalled cache fill would complete in an
|
|
1559
|
+
// isolated module scope. Skip the RDC / cache-handler / leader-election
|
|
1560
|
+
// machinery, call `generateCacheEntry` (same as a real cold fill), drain
|
|
1561
|
+
// the returned stream via `pendingCacheResult`, and apply the probe's own
|
|
1562
|
+
// timeout. The caller only cares whether the fill resolves; the result
|
|
1563
|
+
// value is discarded.
|
|
1564
|
+
//
|
|
1565
|
+
// Gated on `__NEXT_DEV_SERVER` so the entire branch — including its
|
|
1566
|
+
// `generateCacheEntry` call site and the threading of
|
|
1567
|
+
// `deadlockError` — drops out of the production runtime
|
|
1568
|
+
// bundle.
|
|
1569
|
+
if (process.env.__NEXT_DEV_SERVER && workStore.useCacheProbeMode) {
|
|
1570
|
+
// Both public and private caches probe via the same path. The worker
|
|
1571
|
+
// reconstructs real `headers` / `cookies` / `draftMode` from the
|
|
1572
|
+
// forwarded request snapshot, so private caches that legitimately read
|
|
1573
|
+
// those work in the probe just like in the real fill.
|
|
1574
|
+
const probeTimeoutMs = workStore.useCacheProbeMode.timeoutMs;
|
|
1575
|
+
// The deadlock error never gets thrown from inside the worker: the
|
|
1576
|
+
// worker's outer store has `cacheSignal: undefined`, so
|
|
1577
|
+
// `generateCacheEntryImpl` skips the dev-request branch and the idle
|
|
1578
|
+
// probe is never set up.
|
|
1579
|
+
const result = await generateCacheEntry(workStore, cacheContext, clientReferenceManifest, encodedCacheKeyParts, fn, timeoutError, undefined);
|
|
1580
|
+
if (result.type === 'prerender-dynamic') {
|
|
1581
|
+
// Unreachable in the probe: outer store is `'request'`-typed, which
|
|
1582
|
+
// never produces this variant.
|
|
1583
|
+
throw Object.defineProperty(new _invarianterror.InvariantError('Unexpected `prerender-dynamic` result in `use cache` probe mode.'), "__NEXT_ERROR_CODE", {
|
|
1584
|
+
value: "E1183",
|
|
1585
|
+
enumerable: false,
|
|
1586
|
+
configurable: true
|
|
1587
|
+
});
|
|
1588
|
+
}
|
|
1589
|
+
// We don't consume the returned stream — `pendingCacheResult` is what
|
|
1590
|
+
// completes when `collectResult` has drained `savedStream`. Cancel the
|
|
1591
|
+
// unused copy so it doesn't buffer forever.
|
|
1592
|
+
result.stream.cancel().catch(()=>{});
|
|
1593
|
+
let probeTimeoutTimer;
|
|
1594
|
+
try {
|
|
1595
|
+
await Promise.race([
|
|
1596
|
+
result.pendingCacheResult,
|
|
1597
|
+
new Promise((_, reject)=>{
|
|
1598
|
+
probeTimeoutTimer = setTimeout(()=>reject(timeoutError), probeTimeoutMs);
|
|
1599
|
+
})
|
|
1600
|
+
]);
|
|
1601
|
+
} finally{
|
|
1602
|
+
if (probeTimeoutTimer !== undefined) {
|
|
1603
|
+
clearTimeout(probeTimeoutTimer);
|
|
1604
|
+
}
|
|
1605
|
+
}
|
|
1606
|
+
return;
|
|
1607
|
+
}
|
|
1608
|
+
const serializedCacheKey = typeof encodedCacheKeyParts === 'string' ? // Convert it to an ArrayBuffer if it wants to.
|
|
1609
|
+
encodedCacheKeyParts : await encodeFormData(encodedCacheKeyParts);
|
|
1610
|
+
const rootParams = workUnitStore.rootParams;
|
|
1611
|
+
const knownRootParamNames = knownRootParamsByFunctionId.get(id);
|
|
1612
|
+
// The coarse cache-handler key. With no root params read, it locates the
|
|
1613
|
+
// entry directly; otherwise it locates a redirect entry from which the
|
|
1614
|
+
// specific key (this key + root params, computed below) is derived. For
|
|
1615
|
+
// private caches in development (persisted in the built-in in-memory handler)
|
|
1616
|
+
// it's additionally scoped by the request's cookies and headers, so entries
|
|
1617
|
+
// for requests with different request data don't collide; keys derived from
|
|
1618
|
+
// it inherit that scoping.
|
|
1619
|
+
const cacheHandlerKeyBase = process.env.__NEXT_DEV_SERVER && cacheContext.kind === 'private' ? serializedCacheKey + computePrivateCacheKeyRequestSuffix(cacheContext.outerWorkUnitStore.cookies, cacheContext.outerWorkUnitStore.headers) : serializedCacheKey;
|
|
1620
|
+
// If we already know which root params this function reads, include them in
|
|
1621
|
+
// the cache handler key for a direct hit (skipping the redirect entry).
|
|
1622
|
+
// rootParams is undefined when nested inside unstable_cache.
|
|
1623
|
+
let cacheHandlerKey = knownRootParamNames && rootParams ? cacheHandlerKeyBase + computeRootParamsCacheKeySuffix(rootParams, knownRootParamNames) : cacheHandlerKeyBase;
|
|
1624
|
+
let stream = undefined;
|
|
1625
|
+
// Set when a short-lived cache hit ends its cache read up front (dev only) so
|
|
1626
|
+
// the static-shell boundary doesn't count it as a phantom miss. Once set, the
|
|
1627
|
+
// cache signal read is balanced, so serving must use a plain stream and skip
|
|
1628
|
+
// any trailing cacheSignal.endRead() call.
|
|
1629
|
+
let cacheSignalReadEnded = false;
|
|
1630
|
+
const resumeDataCache = (0, _workunitasyncstorageexternal.getResumeDataCache)(workUnitStore);
|
|
1631
|
+
const implicitTags = ((_workUnitStore_implicitTags = workUnitStore.implicitTags) == null ? void 0 : _workUnitStore_implicitTags.tags) ?? [];
|
|
1632
|
+
if (resumeDataCache) {
|
|
1633
|
+
var _resumeDataCache_dynamicCacheKeys;
|
|
1634
|
+
// If this cache key was already determined to be dynamic during the
|
|
1635
|
+
// prospective prerender (e.g. because it accessed fallback params), we
|
|
1636
|
+
// return a hanging promise early to avoid trying to regenerate the entry,
|
|
1637
|
+
// which would be aborted anyway.
|
|
1638
|
+
if ((_resumeDataCache_dynamicCacheKeys = resumeDataCache.dynamicCacheKeys) == null ? void 0 : _resumeDataCache_dynamicCacheKeys.has(serializedCacheKey)) {
|
|
1639
|
+
switch(workUnitStore.type){
|
|
1640
|
+
case 'prerender':
|
|
1641
|
+
case 'prerender-runtime':
|
|
1642
|
+
// The cache key was marked dynamic because it depends on fallback
|
|
1643
|
+
// params, which are runtime data.
|
|
1644
|
+
return (0, _dynamicrenderingutils.makeRuntimeHangingPromise)(workUnitStore.renderSignal, workStore.route, 'dynamic "use cache"', workUnitStore);
|
|
1645
|
+
case 'prerender-ppr':
|
|
1646
|
+
case 'prerender-legacy':
|
|
1647
|
+
case 'request':
|
|
1648
|
+
case 'cache':
|
|
1649
|
+
case 'private-cache':
|
|
1650
|
+
case 'unstable-cache':
|
|
1651
|
+
case 'generate-static-params':
|
|
1652
|
+
break;
|
|
1653
|
+
default:
|
|
1654
|
+
workUnitStore;
|
|
1655
|
+
}
|
|
1656
|
+
}
|
|
1657
|
+
const cacheSignal = (0, _workunitasyncstorageexternal.getCacheSignal)(workUnitStore);
|
|
1658
|
+
if (cacheSignal) {
|
|
1659
|
+
cacheSignal.beginRead();
|
|
1660
|
+
}
|
|
1661
|
+
const rdcEntry = resumeDataCache.cache.get(serializedCacheKey);
|
|
1662
|
+
if (rdcEntry !== undefined) {
|
|
1663
|
+
let rdcResult = await rdcEntry;
|
|
1664
|
+
// Check if the RDC entry should be discarded due to recently revalidated
|
|
1665
|
+
// tags. When a server action calls updateTag(), the re-render should see
|
|
1666
|
+
// fresh data instead of stale RDC data.
|
|
1667
|
+
if (rdcResult !== undefined) {
|
|
1668
|
+
const { timestamp } = rdcResult.entry;
|
|
1669
|
+
if (rdcResult.entry.tags.some((tag)=>isRevalidatedAfter(tag, timestamp, workStore)) || implicitTags.some((tag)=>isRevalidatedAfter(tag, timestamp, workStore))) {
|
|
1670
|
+
debug == null ? void 0 : debug('discarding RDC entry due to recently revalidated tags', serializedCacheKey);
|
|
1671
|
+
rdcResult = undefined;
|
|
1672
|
+
}
|
|
1673
|
+
}
|
|
1674
|
+
if (rdcResult !== undefined) {
|
|
1675
|
+
if (rdcResult.entry.revalidate === 0 || rdcResult.entry.expire < _constants.MIN_PRERENDERABLE_EXPIRE) {
|
|
1676
|
+
// The nested-cache error only makes sense when a dynamic nested cache
|
|
1677
|
+
// actually shortened an outer cache that has no explicit `cacheLife`
|
|
1678
|
+
// (`dynamicNestedCacheError` is set), and only when the app's default
|
|
1679
|
+
// profile is itself prerenderable. If the default profile is already
|
|
1680
|
+
// dynamic (`revalidate: 0` or an `expire` under the prerenderable
|
|
1681
|
+
// minimum), every cache is omitted from prerenders by default, so
|
|
1682
|
+
// there is no silent degradation to warn about. A short life from the
|
|
1683
|
+
// default profile, or from a dev private cache's self-imposed
|
|
1684
|
+
// `revalidate: 0` (which never carries a nested error), therefore
|
|
1685
|
+
// stays a dynamic hole rather than erroring.
|
|
1686
|
+
const defaultCacheLife = workStore.cacheLifeProfiles.default;
|
|
1687
|
+
const shouldReportNestedCacheError = rdcResult.dynamicNestedCacheError !== undefined && defaultCacheLife.revalidate !== 0 && defaultCacheLife.expire >= _constants.MIN_PRERENDERABLE_EXPIRE;
|
|
1688
|
+
switch(workUnitStore.type){
|
|
1689
|
+
case 'prerender':
|
|
1690
|
+
// In a Dynamic I/O prerender, if the cache entry has
|
|
1691
|
+
// revalidate: 0 or if the expire time is under 5 minutes,
|
|
1692
|
+
// then we consider this cache entry dynamic as it's not worth
|
|
1693
|
+
// generating static pages for such data. It's better to leave
|
|
1694
|
+
// a dynamic hole that can be filled in during the resume with
|
|
1695
|
+
// a potentially cached entry.
|
|
1696
|
+
if (rdcResult.entry.revalidate === 0) {
|
|
1697
|
+
if (rdcResult.hasExplicitRevalidate === false && shouldReportNestedCacheError) {
|
|
1698
|
+
throw wrapAsInvalidDynamicUsageError(Object.defineProperty(new Error(nestedCacheZeroRevalidateErrorMessage, {
|
|
1699
|
+
cause: rdcResult.dynamicNestedCacheError
|
|
1700
|
+
}), "__NEXT_ERROR_CODE", {
|
|
1701
|
+
value: "E1245",
|
|
1702
|
+
enumerable: false,
|
|
1703
|
+
configurable: true
|
|
1704
|
+
}));
|
|
1705
|
+
}
|
|
1706
|
+
debug == null ? void 0 : debug('omitting entry', serializedCacheKey, 'from static shell due to revalidate: 0');
|
|
1707
|
+
} else {
|
|
1708
|
+
if (rdcResult.hasExplicitExpire === false && shouldReportNestedCacheError) {
|
|
1709
|
+
throw wrapAsInvalidDynamicUsageError(Object.defineProperty(new Error(nestedCacheShortExpireErrorMessage, {
|
|
1710
|
+
cause: rdcResult.dynamicNestedCacheError
|
|
1711
|
+
}), "__NEXT_ERROR_CODE", {
|
|
1712
|
+
value: "E1244",
|
|
1713
|
+
enumerable: false,
|
|
1714
|
+
configurable: true
|
|
1715
|
+
}));
|
|
1716
|
+
}
|
|
1717
|
+
debug == null ? void 0 : debug('omitting entry', serializedCacheKey, 'from static shell due to short expire value:', rdcResult.entry.expire);
|
|
1718
|
+
}
|
|
1719
|
+
if (cacheSignal) {
|
|
1720
|
+
cacheSignal.endRead();
|
|
1721
|
+
}
|
|
1722
|
+
// The entry is only excluded from *static* prerenders — the
|
|
1723
|
+
// 'prerender-runtime' case below serves it — so a runtime
|
|
1724
|
+
// prefetch would include this content.
|
|
1725
|
+
return (0, _dynamicrenderingutils.makeRuntimeHangingPromise)(workUnitStore.renderSignal, workStore.route, 'dynamic "use cache"', workUnitStore);
|
|
1726
|
+
case 'prerender-runtime':
|
|
1727
|
+
{
|
|
1728
|
+
// In the final phase of a runtime prerender, we have to make
|
|
1729
|
+
// sure that APIs that would hang during a static prerender
|
|
1730
|
+
// are resolved with a delay, in the appropriate runtime stage.
|
|
1731
|
+
const stagedRendering = workUnitStore.stagedRendering;
|
|
1732
|
+
if (stagedRendering) {
|
|
1733
|
+
await stagedRendering.waitForStage(_dynamicrenderingutils.RENDER_STAGES_BY_DATA_KIND.sessionData);
|
|
1734
|
+
}
|
|
1735
|
+
break;
|
|
1736
|
+
}
|
|
1737
|
+
case 'request':
|
|
1738
|
+
{
|
|
1739
|
+
if (process.env.NODE_ENV === 'development') {
|
|
1740
|
+
// These throws force an explicit cache life decision on an
|
|
1741
|
+
// outer cache that a nested cache would otherwise silently
|
|
1742
|
+
// shorten (see `shouldReportNestedCacheError` above). Otherwise
|
|
1743
|
+
// the short-lived entry is deferred as a dynamic hole below.
|
|
1744
|
+
if (rdcResult.entry.revalidate === 0 && rdcResult.hasExplicitRevalidate === false && shouldReportNestedCacheError) {
|
|
1745
|
+
throw wrapAsInvalidDynamicUsageError(Object.defineProperty(new Error(nestedCacheZeroRevalidateErrorMessage, {
|
|
1746
|
+
cause: rdcResult.dynamicNestedCacheError
|
|
1747
|
+
}), "__NEXT_ERROR_CODE", {
|
|
1748
|
+
value: "E1245",
|
|
1749
|
+
enumerable: false,
|
|
1750
|
+
configurable: true
|
|
1751
|
+
}));
|
|
1752
|
+
}
|
|
1753
|
+
if (rdcResult.entry.expire < _constants.MIN_PRERENDERABLE_EXPIRE && rdcResult.hasExplicitExpire === false && shouldReportNestedCacheError) {
|
|
1754
|
+
throw wrapAsInvalidDynamicUsageError(Object.defineProperty(new Error(nestedCacheShortExpireErrorMessage, {
|
|
1755
|
+
cause: rdcResult.dynamicNestedCacheError
|
|
1756
|
+
}), "__NEXT_ERROR_CODE", {
|
|
1757
|
+
value: "E1244",
|
|
1758
|
+
enumerable: false,
|
|
1759
|
+
configurable: true
|
|
1760
|
+
}));
|
|
1761
|
+
}
|
|
1762
|
+
// A short-lived entry is a dynamic hole, excluded from the
|
|
1763
|
+
// static shell, so we end the cache signal read here (the
|
|
1764
|
+
// prerender case does the same) to avoid this cache hit being
|
|
1765
|
+
// considered a cache miss when checking for pending cache reads
|
|
1766
|
+
// at staged rendering task boundaries. The value is deferred to
|
|
1767
|
+
// the runtime stage.
|
|
1768
|
+
if (cacheSignal && !cacheSignalReadEnded) {
|
|
1769
|
+
cacheSignal.endRead();
|
|
1770
|
+
cacheSignalReadEnded = true;
|
|
1771
|
+
}
|
|
1772
|
+
await (0, _dynamicrenderingutils.makeDevtoolsIOAwarePromise)(undefined, workUnitStore, _dynamicrenderingutils.RENDER_STAGES_BY_DATA_KIND.sessionData);
|
|
1773
|
+
}
|
|
1774
|
+
break;
|
|
1775
|
+
}
|
|
1776
|
+
case 'prerender-ppr':
|
|
1777
|
+
case 'prerender-legacy':
|
|
1778
|
+
case 'cache':
|
|
1779
|
+
case 'private-cache':
|
|
1780
|
+
case 'unstable-cache':
|
|
1781
|
+
case 'generate-static-params':
|
|
1782
|
+
break;
|
|
1783
|
+
default:
|
|
1784
|
+
workUnitStore;
|
|
1785
|
+
}
|
|
1786
|
+
}
|
|
1787
|
+
if (rdcResult.entry.stale < _constants.MIN_SHELL_STALE) {
|
|
1788
|
+
// The entry's stale time is short enough that it's excluded from
|
|
1789
|
+
// shells. If it's below `MIN_PREFETCHABLE_STALE`, it's not worth
|
|
1790
|
+
// prefetching at all and is excluded from prerenders entirely,
|
|
1791
|
+
// leaving a dynamic hole that can be filled during the navigation.
|
|
1792
|
+
// Otherwise, it's still included in prerenders and cached
|
|
1793
|
+
// navigations, but it must not be part of an App Shell, which may
|
|
1794
|
+
// be reused on the client for longer than the entry's stale time.
|
|
1795
|
+
// We delay the entry to resolve in the post-shell (link data)
|
|
1796
|
+
// stage, which excludes both its content and its stale time from
|
|
1797
|
+
// the shell.
|
|
1798
|
+
const isPrefetchable = rdcResult.entry.stale >= _constants.MIN_PREFETCHABLE_STALE;
|
|
1799
|
+
switch(workUnitStore.type){
|
|
1800
|
+
case 'prerender':
|
|
1801
|
+
case 'prerender-runtime':
|
|
1802
|
+
{
|
|
1803
|
+
const prerenderStore = workUnitStore;
|
|
1804
|
+
// The post-shell stage that the entry must be delayed to.
|
|
1805
|
+
let postShellStage;
|
|
1806
|
+
if (prerenderStore.type === 'prerender') {
|
|
1807
|
+
postShellStage = _dynamicrenderingutils.RENDER_STAGES_BY_DATA_KIND.staticLinkData;
|
|
1808
|
+
} else {
|
|
1809
|
+
postShellStage = _dynamicrenderingutils.RENDER_STAGES_BY_DATA_KIND.runtimeLinkData;
|
|
1810
|
+
}
|
|
1811
|
+
const stagedRendering = prerenderStore.stagedRendering;
|
|
1812
|
+
if (!isPrefetchable || // If the render ends before the post-shell stage (e.g. a
|
|
1813
|
+
// render that only produces an App Shell), the entry can't
|
|
1814
|
+
// be delayed and is omitted entirely.
|
|
1815
|
+
stagedRendering !== null && stagedRendering.finalStage !== null && stagedRendering.finalStage < postShellStage) {
|
|
1816
|
+
debug == null ? void 0 : debug('omitting entry', serializedCacheKey, 'from shell due to short stale value:', rdcResult.entry.stale);
|
|
1817
|
+
if (cacheSignal) {
|
|
1818
|
+
cacheSignal.endRead();
|
|
1819
|
+
}
|
|
1820
|
+
if (isPrefetchable) {
|
|
1821
|
+
// The entry was omitted only because this render ends
|
|
1822
|
+
// before the post-shell stage; a render that reaches its
|
|
1823
|
+
// post-shell stage would serve it.
|
|
1824
|
+
return (0, _dynamicrenderingutils.makeStageHangingPromise)(prerenderStore.renderSignal, workStore.route, 'dynamic "use cache"', prerenderStore);
|
|
1825
|
+
}
|
|
1826
|
+
// An unprefetchable entry (stale < MIN_PREFETCHABLE_STALE) is
|
|
1827
|
+
// excluded from runtime prerenders too.
|
|
1828
|
+
return (0, _dynamicrenderingutils.makeDynamicHangingPromise)(prerenderStore.renderSignal, workStore.route, 'dynamic "use cache"');
|
|
1829
|
+
}
|
|
1830
|
+
if (stagedRendering !== null) {
|
|
1831
|
+
debug == null ? void 0 : debug('delaying entry', serializedCacheKey, 'until after the shell stage due to short stale value:', rdcResult.entry.stale);
|
|
1832
|
+
await stagedRendering.waitForStage(postShellStage);
|
|
1833
|
+
}
|
|
1834
|
+
break;
|
|
1835
|
+
}
|
|
1836
|
+
case 'request':
|
|
1837
|
+
{
|
|
1838
|
+
// A request store in `next start` never delays caches — shells
|
|
1839
|
+
// are produced by separate (runtime) prerenders, which apply
|
|
1840
|
+
// the exclusions above. In dev, the request render is also used
|
|
1841
|
+
// to recover shells, so we delay the entry here to match.
|
|
1842
|
+
if (process.env.NODE_ENV === 'development') {
|
|
1843
|
+
// End the cache signal read (once, in case an earlier block
|
|
1844
|
+
// already did) so the delayed value isn't counted as a pending
|
|
1845
|
+
// read at a staged rendering boundary.
|
|
1846
|
+
if (cacheSignal && !cacheSignalReadEnded) {
|
|
1847
|
+
cacheSignal.endRead();
|
|
1848
|
+
cacheSignalReadEnded = true;
|
|
1849
|
+
}
|
|
1850
|
+
// An unprefetchable entry is excluded from prerenders, so it
|
|
1851
|
+
// resolves in the dynamic stage. Otherwise, a dynamic request
|
|
1852
|
+
// generally recovers a static shell, so the entry can resolve
|
|
1853
|
+
// in the static link data stage. If we need to recover a
|
|
1854
|
+
// session shell instead, as indicated by `needsSessionShell`,
|
|
1855
|
+
// the entry must resolve after the session data stage that
|
|
1856
|
+
// the shell includes.
|
|
1857
|
+
let stage;
|
|
1858
|
+
if (!isPrefetchable) {
|
|
1859
|
+
stage = _stagedrendering.RenderStage.Dynamic;
|
|
1860
|
+
} else if (workUnitStore.needsSessionShell) {
|
|
1861
|
+
stage = _dynamicrenderingutils.RENDER_STAGES_BY_DATA_KIND.runtimeLinkData;
|
|
1862
|
+
} else {
|
|
1863
|
+
stage = _dynamicrenderingutils.RENDER_STAGES_BY_DATA_KIND.staticLinkData;
|
|
1864
|
+
}
|
|
1865
|
+
await (0, _dynamicrenderingutils.makeDevtoolsIOAwarePromise)(undefined, workUnitStore, stage);
|
|
1866
|
+
}
|
|
1867
|
+
break;
|
|
1868
|
+
}
|
|
1869
|
+
case 'prerender-ppr':
|
|
1870
|
+
case 'prerender-legacy':
|
|
1871
|
+
case 'cache':
|
|
1872
|
+
case 'private-cache':
|
|
1873
|
+
case 'unstable-cache':
|
|
1874
|
+
case 'generate-static-params':
|
|
1875
|
+
break;
|
|
1876
|
+
default:
|
|
1877
|
+
workUnitStore;
|
|
1878
|
+
}
|
|
1879
|
+
}
|
|
1880
|
+
}
|
|
1881
|
+
if (rdcResult !== undefined) {
|
|
1882
|
+
debug == null ? void 0 : debug('Resume Data Cache entry found', serializedCacheKey);
|
|
1883
|
+
if (rdcResult.readRootParamNames && rdcResult.readRootParamNames.size > 0) {
|
|
1884
|
+
addKnownRootParamNames(id, rdcResult.readRootParamNames);
|
|
1885
|
+
}
|
|
1886
|
+
// We want to make sure we only propagate cache life & tags if the
|
|
1887
|
+
// entry was *not* omitted from the prerender. So we only do this
|
|
1888
|
+
// after the above early returns.
|
|
1889
|
+
propagateCacheEntryMetadata(cacheContext, {
|
|
1890
|
+
tags: rdcResult.entry.tags,
|
|
1891
|
+
revalidate: rdcResult.entry.revalidate,
|
|
1892
|
+
expire: rdcResult.entry.expire,
|
|
1893
|
+
stale: rdcResult.entry.stale,
|
|
1894
|
+
timestamp: rdcResult.entry.timestamp,
|
|
1895
|
+
hasExplicitRevalidate: rdcResult.hasExplicitRevalidate,
|
|
1896
|
+
hasExplicitExpire: rdcResult.hasExplicitExpire,
|
|
1897
|
+
readRootParamNames: rdcResult.readRootParamNames,
|
|
1898
|
+
dynamicNestedCacheError: rdcResult.dynamicNestedCacheError
|
|
1899
|
+
});
|
|
1900
|
+
const [streamA, streamB] = rdcResult.entry.value.tee();
|
|
1901
|
+
rdcResult.entry.value = streamB;
|
|
1902
|
+
if (cacheSignal && !cacheSignalReadEnded) {
|
|
1903
|
+
// When we have a cacheSignal we need to block on reading the cache
|
|
1904
|
+
// entry before ending the read.
|
|
1905
|
+
stream = createTrackedReadableStream(streamA, cacheSignal);
|
|
1906
|
+
} else {
|
|
1907
|
+
// The cache signal read was already ended for a short-lived deferral
|
|
1908
|
+
// (or there is no cacheSignal), so serve a plain stream.
|
|
1909
|
+
stream = streamA;
|
|
1910
|
+
}
|
|
1911
|
+
} else {
|
|
1912
|
+
// Entry was discarded (e.g. due to recently revalidated tags)
|
|
1913
|
+
debug == null ? void 0 : debug('Resume Data Cache entry discarded', serializedCacheKey);
|
|
1914
|
+
if (cacheSignal) {
|
|
1915
|
+
cacheSignal.endRead();
|
|
1916
|
+
}
|
|
1917
|
+
}
|
|
1918
|
+
} else {
|
|
1919
|
+
debug == null ? void 0 : debug('Resume Data Cache entry not found', serializedCacheKey);
|
|
1920
|
+
if (cacheSignal) {
|
|
1921
|
+
cacheSignal.endRead();
|
|
1922
|
+
}
|
|
1923
|
+
switch(workUnitStore.type){
|
|
1924
|
+
case 'prerender':
|
|
1925
|
+
if ((resumeDataCache == null ? void 0 : resumeDataCache.mutable) === false) {
|
|
1926
|
+
// We're prerendering a fallback shell whose Resume Data Cache is
|
|
1927
|
+
// the prefilled, read-only seed from a phase-1 prerender of a more-
|
|
1928
|
+
// specific sibling route. A miss here means the cache key depends
|
|
1929
|
+
// on a fallback param. We short-circuit to a dynamic hole (which
|
|
1930
|
+
// may produce an empty shell if there's no parent Suspense
|
|
1931
|
+
// boundary). Currently this also catches layouts and pages that
|
|
1932
|
+
// don't read params, which will be improved when we implement
|
|
1933
|
+
// NAR-136. Compared to the instrumentation-based params bailout we
|
|
1934
|
+
// also do here, this covers the case where params are transformed
|
|
1935
|
+
// with an async function before being passed into the "use cache"
|
|
1936
|
+
// function, which escapes the instrumentation.
|
|
1937
|
+
// The cache key depends on fallback params, which are runtime
|
|
1938
|
+
// data.
|
|
1939
|
+
return (0, _dynamicrenderingutils.makeRuntimeHangingPromise)(workUnitStore.renderSignal, workStore.route, 'dynamic "use cache"', workUnitStore);
|
|
1940
|
+
}
|
|
1941
|
+
// fallthrough
|
|
1942
|
+
case 'prerender-runtime':
|
|
1943
|
+
if (!cacheSignal) {
|
|
1944
|
+
// This is the final prerender (cacheSignal is null), which means
|
|
1945
|
+
// all caches should have been warmed during the prospective
|
|
1946
|
+
// prerender. A cache miss here indicates that the cache key is
|
|
1947
|
+
// non-deterministic (e.g. due to unstable array order in the
|
|
1948
|
+
// arguments). Known dynamic keys (e.g. from fallback params) are
|
|
1949
|
+
// already handled by the early return above. We return a hanging
|
|
1950
|
+
// promise so this becomes a dynamic hole rather than generating a
|
|
1951
|
+
// broken cache entry that gets aborted.
|
|
1952
|
+
console.warn(Object.defineProperty(new Error(`Unexpected cache miss after cache warming phase during prerendering. This is likely caused by non-deterministic arguments that differ between the cache warming phase and the final prerender phase (e.g. unstable array order). Ensure that arguments passed to cached functions are deterministic.`), "__NEXT_ERROR_CODE", {
|
|
1953
|
+
value: "E1163",
|
|
1954
|
+
enumerable: false,
|
|
1955
|
+
configurable: true
|
|
1956
|
+
}));
|
|
1957
|
+
// This is an anomaly (non-deterministic cache key), so we can't
|
|
1958
|
+
// know whether a runtime prerender would resolve it. Treat it as
|
|
1959
|
+
// runtime data, conservatively: the cost is at most a redundant
|
|
1960
|
+
// runtime prefetch request.
|
|
1961
|
+
return (0, _dynamicrenderingutils.makeRuntimeHangingPromise)(workUnitStore.renderSignal, workStore.route, 'dynamic "use cache"', workUnitStore);
|
|
1962
|
+
}
|
|
1963
|
+
break;
|
|
1964
|
+
case 'prerender-ppr':
|
|
1965
|
+
case 'prerender-legacy':
|
|
1966
|
+
case 'request':
|
|
1967
|
+
case 'cache':
|
|
1968
|
+
case 'private-cache':
|
|
1969
|
+
case 'unstable-cache':
|
|
1970
|
+
case 'generate-static-params':
|
|
1971
|
+
break;
|
|
1972
|
+
default:
|
|
1973
|
+
workUnitStore;
|
|
1974
|
+
}
|
|
1975
|
+
}
|
|
1976
|
+
}
|
|
1977
|
+
// Intra-request deduplication: Within a single request, root params are
|
|
1978
|
+
// fixed, so the coarse key (serializedCacheKey) is sufficient. If another
|
|
1979
|
+
// invocation in this request is already handling the same cache entry
|
|
1980
|
+
// (including the cache handler lookup and generation), we join it instead of
|
|
1981
|
+
// doing redundant work. This also saves cache handler `get` calls which may
|
|
1982
|
+
// be HTTP round-trips for remote handlers.
|
|
1983
|
+
if (stream === undefined) {
|
|
1984
|
+
var _workStore_pendingCacheInvocations, _workStore_completedCacheInvocations;
|
|
1985
|
+
const pendingInvocation = (_workStore_pendingCacheInvocations = workStore.pendingCacheInvocations) == null ? void 0 : _workStore_pendingCacheInvocations.get(serializedCacheKey);
|
|
1986
|
+
// A pending invocation is joined unconditionally: its fill is shared, so
|
|
1987
|
+
// every joiner receives whatever that fill produces. A completed one is a
|
|
1988
|
+
// stored entry instead, so it is only reused when the caller hasn't asked
|
|
1989
|
+
// to bypass caches, and only if nothing has invalidated it since.
|
|
1990
|
+
const completedInvocation = pendingInvocation === undefined && !shouldForceRevalidate(workStore, workUnitStore) ? (_workStore_completedCacheInvocations = workStore.completedCacheInvocations) == null ? void 0 : _workStore_completedCacheInvocations.get(serializedCacheKey) : undefined;
|
|
1991
|
+
const joinedInvocation = pendingInvocation ?? completedInvocation;
|
|
1992
|
+
if (joinedInvocation) {
|
|
1993
|
+
const cacheSignal = (0, _workunitasyncstorageexternal.getCacheSignal)(workUnitStore);
|
|
1994
|
+
cacheSignal == null ? void 0 : cacheSignal.beginRead();
|
|
1995
|
+
debug == null ? void 0 : debug('joining intra-request invocation', serializedCacheKey);
|
|
1996
|
+
const sharedCacheResult = await joinedInvocation;
|
|
1997
|
+
if (sharedCacheResult.type === 'prerender-dynamic') {
|
|
1998
|
+
debug == null ? void 0 : debug('joined invocation is prerender-dynamic', serializedCacheKey);
|
|
1999
|
+
cacheSignal == null ? void 0 : cacheSignal.endRead();
|
|
2000
|
+
return sharedCacheResult.hangingPromise;
|
|
2001
|
+
}
|
|
2002
|
+
// A completed entry may have been invalidated since it was produced, by
|
|
2003
|
+
// an `updateTag()` in a server action earlier in this request. The
|
|
2004
|
+
// implicit tags expiration is passed as 0 because it cannot apply to a
|
|
2005
|
+
// retained entry: it is memoized for the request, so re-checking it
|
|
2006
|
+
// against an unchanged entry timestamp only repeats the answer the leader
|
|
2007
|
+
// already got.
|
|
2008
|
+
const metadata = completedInvocation === undefined ? undefined : await sharedCacheResult.entry.pendingMetadata;
|
|
2009
|
+
if (metadata !== undefined && shouldDiscardCacheEntry(metadata, workStore, workUnitStore, implicitTags, 0)) {
|
|
2010
|
+
var _workStore_completedCacheInvocations1;
|
|
2011
|
+
debug == null ? void 0 : debug('discarding completed invocation', serializedCacheKey);
|
|
2012
|
+
(_workStore_completedCacheInvocations1 = workStore.completedCacheInvocations) == null ? void 0 : _workStore_completedCacheInvocations1.delete(serializedCacheKey);
|
|
2013
|
+
// This can take the signal's count to zero. The leader path below opens
|
|
2014
|
+
// a read again synchronously, before it awaits anything, which is what
|
|
2015
|
+
// stops a prerender from concluding that every cache read has settled
|
|
2016
|
+
// while a fill is still about to start.
|
|
2017
|
+
cacheSignal == null ? void 0 : cacheSignal.endRead();
|
|
2018
|
+
} else {
|
|
2019
|
+
debug == null ? void 0 : debug('joined invocation resolved with cached entry', serializedCacheKey);
|
|
2020
|
+
stream = serveJoinedCacheEntry(sharedCacheResult.entry, serializedCacheKey, resumeDataCache, cacheContext, cacheSignal);
|
|
2021
|
+
}
|
|
2022
|
+
}
|
|
2023
|
+
}
|
|
2024
|
+
// Leader path: no pending intra-request invocation found. Check for a
|
|
2025
|
+
// cross-request pending invocation, or become the leader for both.
|
|
2026
|
+
if (stream === undefined) {
|
|
2027
|
+
const resolvableSharedCacheResult = new ResolvableSharedCacheResult();
|
|
2028
|
+
debug == null ? void 0 : debug('registering as intra-request invocation leader', serializedCacheKey);
|
|
2029
|
+
const intraRequestPendingCacheInvocations = workStore.pendingCacheInvocations ??= new Map();
|
|
2030
|
+
// Retain the completed entry for the rest of the request where a later
|
|
2031
|
+
// invocation would otherwise repeat real work: private caches have no cache
|
|
2032
|
+
// handler to fall back on in production, and a platform- or config-supplied
|
|
2033
|
+
// handler may be remote, so a second `get` can be a round trip. A built-in
|
|
2034
|
+
// handler read is a map lookup, so retaining its entries would hold a
|
|
2035
|
+
// forked stream buffer for nothing.
|
|
2036
|
+
const completedCacheInvocations = isPrivate || !(0, _handlers.isBuiltInCacheHandler)(kind) ? workStore.completedCacheInvocations ??= new Map() : undefined;
|
|
2037
|
+
resolvableSharedCacheResult.registerIn(intraRequestPendingCacheInvocations, serializedCacheKey, completedCacheInvocations);
|
|
2038
|
+
// Cross-request deduplication lets concurrent requests for the same key
|
|
2039
|
+
// share a single fill. Private caches are skipped in production, where they
|
|
2040
|
+
// hold request-specific data that must not be shared across requests. In
|
|
2041
|
+
// development they're persisted and keyed by the request's cookies and
|
|
2042
|
+
// headers, so concurrent requests with identical request data should share
|
|
2043
|
+
// a fill too; that request-scoped `cacheHandlerKey` keeps requests with
|
|
2044
|
+
// different cookies or headers in separate entries.
|
|
2045
|
+
const skipCrossRequestDedupe = isPrivate && !process.env.__NEXT_DEV_SERVER;
|
|
2046
|
+
try {
|
|
2047
|
+
// The loop handles cross-request root param mismatches: when a
|
|
2048
|
+
// cross-request joiner discovers that the leader's root params differ
|
|
2049
|
+
// from its own, it retries with a recomputed cacheHandlerKey. The loop
|
|
2050
|
+
// exits when stream is assigned (cross-request joiner match or leader
|
|
2051
|
+
// path) or via early return (prerender-dynamic).
|
|
2052
|
+
while(stream === undefined){
|
|
2053
|
+
const crossRequestPendingCacheInvocation = skipCrossRequestDedupe ? undefined : crossRequestPendingCacheInvocations.get(cacheHandlerKey);
|
|
2054
|
+
if (crossRequestPendingCacheInvocation) {
|
|
2055
|
+
const cacheSignal = (0, _workunitasyncstorageexternal.getCacheSignal)(workUnitStore);
|
|
2056
|
+
cacheSignal == null ? void 0 : cacheSignal.beginRead();
|
|
2057
|
+
debug == null ? void 0 : debug('joining pending cross-request invocation', cacheHandlerKey);
|
|
2058
|
+
const sharedCacheResult = await crossRequestPendingCacheInvocation;
|
|
2059
|
+
if (sharedCacheResult.type === 'cached') {
|
|
2060
|
+
// Root param verification: wait for metadata, then check key. MUST
|
|
2061
|
+
// happen before fork() — if key mismatches, we retry without having
|
|
2062
|
+
// used the stream.
|
|
2063
|
+
const metadata = await sharedCacheResult.entry.pendingMetadata;
|
|
2064
|
+
// Ensure known root param names are up-to-date before verifying the
|
|
2065
|
+
// key, since the leader's save path may not have updated them yet
|
|
2066
|
+
// at this point.
|
|
2067
|
+
if (metadata.readRootParamNames) {
|
|
2068
|
+
addKnownRootParamNames(id, metadata.readRootParamNames);
|
|
2069
|
+
}
|
|
2070
|
+
const updatedRootParamNames = knownRootParamsByFunctionId.get(id);
|
|
2071
|
+
if (updatedRootParamNames && rootParams) {
|
|
2072
|
+
const newCacheHandlerKey = cacheHandlerKeyBase + computeRootParamsCacheKeySuffix(rootParams, updatedRootParamNames);
|
|
2073
|
+
if (newCacheHandlerKey !== cacheHandlerKey) {
|
|
2074
|
+
debug == null ? void 0 : debug('cross-request root param mismatch, retrying', cacheHandlerKey, '→', newCacheHandlerKey);
|
|
2075
|
+
cacheSignal == null ? void 0 : cacheSignal.endRead();
|
|
2076
|
+
cacheHandlerKey = newCacheHandlerKey;
|
|
2077
|
+
continue; // stream is not used → retry with new key
|
|
2078
|
+
}
|
|
2079
|
+
}
|
|
2080
|
+
// Key matches — safe to fork.
|
|
2081
|
+
debug == null ? void 0 : debug('cross-request invocation matched, forking result', cacheHandlerKey);
|
|
2082
|
+
cacheSignal == null ? void 0 : cacheSignal.endRead();
|
|
2083
|
+
stream = sharedCacheResult.entry.fork();
|
|
2084
|
+
maybePropagateCacheEntryMetadata(cacheContext, metadata);
|
|
2085
|
+
// The cross-request leader belongs to a different request with its
|
|
2086
|
+
// own RDC. Save to this request's RDC so its final prerender can
|
|
2087
|
+
// resume from the entry.
|
|
2088
|
+
saveSharedCacheEntryToResumeDataCache(serializedCacheKey, sharedCacheResult.entry, resumeDataCache);
|
|
2089
|
+
// Resolve for intra-request joiners in this request. They get
|
|
2090
|
+
// a fork from the same SharedCacheEntry.
|
|
2091
|
+
resolvableSharedCacheResult.resolve(sharedCacheResult);
|
|
2092
|
+
break;
|
|
2093
|
+
} else {
|
|
2094
|
+
// prerender-dynamic — same root param check before hanging
|
|
2095
|
+
const updatedRootParamNames = knownRootParamsByFunctionId.get(id);
|
|
2096
|
+
if (updatedRootParamNames && rootParams) {
|
|
2097
|
+
const newCacheHandlerKey = cacheHandlerKeyBase + computeRootParamsCacheKeySuffix(rootParams, updatedRootParamNames);
|
|
2098
|
+
if (newCacheHandlerKey !== cacheHandlerKey) {
|
|
2099
|
+
debug == null ? void 0 : debug('cross-request root param mismatch, retrying', cacheHandlerKey, '→', newCacheHandlerKey);
|
|
2100
|
+
cacheSignal == null ? void 0 : cacheSignal.endRead();
|
|
2101
|
+
cacheHandlerKey = newCacheHandlerKey;
|
|
2102
|
+
continue;
|
|
2103
|
+
}
|
|
2104
|
+
}
|
|
2105
|
+
debug == null ? void 0 : debug('cross-request invocation is prerender-dynamic', cacheHandlerKey);
|
|
2106
|
+
if (resumeDataCache == null ? void 0 : resumeDataCache.mutable) {
|
|
2107
|
+
resumeDataCache.dynamicCacheKeys.add(serializedCacheKey);
|
|
2108
|
+
}
|
|
2109
|
+
cacheSignal == null ? void 0 : cacheSignal.endRead();
|
|
2110
|
+
resolvableSharedCacheResult.resolve(sharedCacheResult);
|
|
2111
|
+
return sharedCacheResult.hangingPromise;
|
|
2112
|
+
}
|
|
2113
|
+
}
|
|
2114
|
+
// No pending cross-request invocation — become the leader.
|
|
2115
|
+
if (!skipCrossRequestDedupe) {
|
|
2116
|
+
debug == null ? void 0 : debug('registering as cross-request invocation leader', cacheHandlerKey);
|
|
2117
|
+
resolvableSharedCacheResult.registerIn(crossRequestPendingCacheInvocations, cacheHandlerKey);
|
|
2118
|
+
}
|
|
2119
|
+
const cacheSignal = (0, _workunitasyncstorageexternal.getCacheSignal)(workUnitStore);
|
|
2120
|
+
if (cacheSignal) {
|
|
2121
|
+
// Either the cache handler or the generation can be using I/O at this
|
|
2122
|
+
// point. We need to track when they start and when they complete.
|
|
2123
|
+
cacheSignal.beginRead();
|
|
2124
|
+
}
|
|
2125
|
+
const lazyRefreshTags = workStore.refreshTagsByCacheKind.get(kind);
|
|
2126
|
+
if (lazyRefreshTags && !(0, _lazyresult.isResolvedLazyResult)(lazyRefreshTags)) {
|
|
2127
|
+
await lazyRefreshTags;
|
|
2128
|
+
}
|
|
2129
|
+
let entry;
|
|
2130
|
+
// We ignore existing cache entries when force revalidating.
|
|
2131
|
+
if (cacheHandler && !shouldForceRevalidate(workStore, workUnitStore)) {
|
|
2132
|
+
entry = await cacheHandler.get(cacheHandlerKey, implicitTags);
|
|
2133
|
+
// Check if this is a redirect entry (coarse key → specific key).
|
|
2134
|
+
// Redirect entries have private tags encoding the root param names
|
|
2135
|
+
// (one tag per param name, prefixed with _N_RP_).
|
|
2136
|
+
if (entry && rootParams) {
|
|
2137
|
+
const paramNames = new Set();
|
|
2138
|
+
for (const tag of entry.tags){
|
|
2139
|
+
if (tag.startsWith(_constants1.NEXT_CACHE_ROOT_PARAM_TAG_ID)) {
|
|
2140
|
+
paramNames.add(tag.slice(_constants1.NEXT_CACHE_ROOT_PARAM_TAG_ID.length));
|
|
2141
|
+
}
|
|
2142
|
+
}
|
|
2143
|
+
if (paramNames.size > 0) {
|
|
2144
|
+
addKnownRootParamNames(id, paramNames);
|
|
2145
|
+
cacheHandlerKey = cacheHandlerKeyBase + computeRootParamsCacheKeySuffix(rootParams, paramNames);
|
|
2146
|
+
entry = await cacheHandler.get(cacheHandlerKey, implicitTags);
|
|
2147
|
+
}
|
|
2148
|
+
}
|
|
2149
|
+
}
|
|
2150
|
+
if (entry) {
|
|
2151
|
+
let implicitTagsExpiration = 0;
|
|
2152
|
+
if (workUnitStore.implicitTags) {
|
|
2153
|
+
const lazyExpiration = workUnitStore.implicitTags.expirationsByCacheKind.get(kind);
|
|
2154
|
+
if (lazyExpiration) {
|
|
2155
|
+
const expiration = (0, _lazyresult.isResolvedLazyResult)(lazyExpiration) ? lazyExpiration.value : await lazyExpiration;
|
|
2156
|
+
// If a cache handler returns an expiration time of Infinity, it
|
|
2157
|
+
// signals to Next.js that it handles checking cache entries for
|
|
2158
|
+
// staleness based on the expiration of the implicit tags passed
|
|
2159
|
+
// into the `get` method. In this case, we keep the default of 0,
|
|
2160
|
+
// which means that the implicit tags are not considered expired.
|
|
2161
|
+
if (expiration < Infinity) {
|
|
2162
|
+
implicitTagsExpiration = expiration;
|
|
2163
|
+
}
|
|
2164
|
+
}
|
|
2165
|
+
}
|
|
2166
|
+
if (shouldDiscardCacheEntry(entry, workStore, workUnitStore, implicitTags, implicitTagsExpiration)) {
|
|
2167
|
+
debug == null ? void 0 : debug('discarding expired entry', cacheHandlerKey);
|
|
2168
|
+
entry = undefined;
|
|
2169
|
+
}
|
|
2170
|
+
}
|
|
2171
|
+
const currentTime = performance.timeOrigin + performance.now();
|
|
2172
|
+
if (entry !== undefined && (entry.revalidate === 0 || entry.expire < _constants.MIN_PRERENDERABLE_EXPIRE)) {
|
|
2173
|
+
switch(workUnitStore.type){
|
|
2174
|
+
case 'prerender':
|
|
2175
|
+
// In a Dynamic I/O prerender, if the cache entry has revalidate:
|
|
2176
|
+
// 0 or if the expire time is under 5 minutes, then we consider
|
|
2177
|
+
// this cache entry dynamic as it's not worth generating static
|
|
2178
|
+
// pages for such data. It's better to leave a dynamic hole that
|
|
2179
|
+
// can be filled in during the resume with a potentially cached
|
|
2180
|
+
// entry.
|
|
2181
|
+
if (entry.revalidate === 0) {
|
|
2182
|
+
debug == null ? void 0 : debug('omitting entry', cacheHandlerKey, 'from static shell due to revalidate: 0');
|
|
2183
|
+
} else {
|
|
2184
|
+
debug == null ? void 0 : debug('omitting entry', cacheHandlerKey, 'from static shell due to short expire value:', entry.expire);
|
|
2185
|
+
}
|
|
2186
|
+
if (cacheSignal) {
|
|
2187
|
+
cacheSignal.endRead();
|
|
2188
|
+
}
|
|
2189
|
+
// The entry is only excluded from *static* prerenders — the
|
|
2190
|
+
// 'prerender-runtime' case below serves it — so a runtime
|
|
2191
|
+
// prefetch would include this content.
|
|
2192
|
+
const hangingPromise = (0, _dynamicrenderingutils.makeRuntimeHangingPromise)(workUnitStore.renderSignal, workStore.route, 'dynamic "use cache"', workUnitStore);
|
|
2193
|
+
debug == null ? void 0 : debug('leader resolved as prerender-dynamic', cacheHandlerKey);
|
|
2194
|
+
resolvableSharedCacheResult.resolve({
|
|
2195
|
+
type: 'prerender-dynamic',
|
|
2196
|
+
hangingPromise
|
|
2197
|
+
});
|
|
2198
|
+
return hangingPromise;
|
|
2199
|
+
case 'request':
|
|
2200
|
+
{
|
|
2201
|
+
if (process.env.NODE_ENV === 'development') {
|
|
2202
|
+
// A short-lived entry is a dynamic hole, excluded from the
|
|
2203
|
+
// static shell, so we end the cache signal read here (the
|
|
2204
|
+
// prerender case does the same) to avoid this cache hit being
|
|
2205
|
+
// considered a cache miss when checking for pending cache reads
|
|
2206
|
+
// at staged rendering task boundaries. The value is deferred to
|
|
2207
|
+
// the runtime stage.
|
|
2208
|
+
if (cacheSignal && !cacheSignalReadEnded) {
|
|
2209
|
+
cacheSignal.endRead();
|
|
2210
|
+
cacheSignalReadEnded = true;
|
|
2211
|
+
}
|
|
2212
|
+
await (0, _dynamicrenderingutils.makeDevtoolsIOAwarePromise)(undefined, workUnitStore, _dynamicrenderingutils.RENDER_STAGES_BY_DATA_KIND.sessionData);
|
|
2213
|
+
}
|
|
2214
|
+
break;
|
|
2215
|
+
}
|
|
2216
|
+
case 'prerender-runtime':
|
|
2217
|
+
case 'prerender-ppr':
|
|
2218
|
+
case 'prerender-legacy':
|
|
2219
|
+
case 'cache':
|
|
2220
|
+
case 'private-cache':
|
|
2221
|
+
case 'unstable-cache':
|
|
2222
|
+
case 'generate-static-params':
|
|
2223
|
+
break;
|
|
2224
|
+
default:
|
|
2225
|
+
workUnitStore;
|
|
2226
|
+
}
|
|
2227
|
+
}
|
|
2228
|
+
if (entry !== undefined && entry.stale < _constants.MIN_SHELL_STALE) {
|
|
2229
|
+
switch(workUnitStore.type){
|
|
2230
|
+
case 'request':
|
|
2231
|
+
{
|
|
2232
|
+
// Same as the resume data cache read path: the entry's stale
|
|
2233
|
+
// time is short enough that it's excluded from shells, or, if
|
|
2234
|
+
// it's below `MIN_PREFETCHABLE_STALE`, from prerenders
|
|
2235
|
+
// entirely. A request store in `next start` never delays
|
|
2236
|
+
// caches — shells are produced by separate (runtime)
|
|
2237
|
+
// prerenders. In dev, the request render is also used to
|
|
2238
|
+
// recover shells, so we delay the entry here to match.
|
|
2239
|
+
if (process.env.NODE_ENV === 'development') {
|
|
2240
|
+
// End the cache signal read (once, in case the expire block
|
|
2241
|
+
// above already did) so the delayed value isn't counted as a
|
|
2242
|
+
// pending read at a staged rendering boundary.
|
|
2243
|
+
if (cacheSignal && !cacheSignalReadEnded) {
|
|
2244
|
+
cacheSignal.endRead();
|
|
2245
|
+
cacheSignalReadEnded = true;
|
|
2246
|
+
}
|
|
2247
|
+
// An unprefetchable entry is excluded from prerenders, so it
|
|
2248
|
+
// resolves in the dynamic stage. Otherwise, a dynamic request
|
|
2249
|
+
// generally recovers a static shell, so the entry can resolve
|
|
2250
|
+
// in the static link data stage. If we need to recover a
|
|
2251
|
+
// session shell instead, as indicated by `needsSessionShell`,
|
|
2252
|
+
// the entry must resolve after the session data stage that
|
|
2253
|
+
// the shell includes.
|
|
2254
|
+
let stage;
|
|
2255
|
+
if (entry.stale < _constants.MIN_PREFETCHABLE_STALE) {
|
|
2256
|
+
stage = _stagedrendering.RenderStage.Dynamic;
|
|
2257
|
+
} else if (workUnitStore.needsSessionShell) {
|
|
2258
|
+
stage = _dynamicrenderingutils.RENDER_STAGES_BY_DATA_KIND.runtimeLinkData;
|
|
2259
|
+
} else {
|
|
2260
|
+
stage = _dynamicrenderingutils.RENDER_STAGES_BY_DATA_KIND.staticLinkData;
|
|
2261
|
+
}
|
|
2262
|
+
await (0, _dynamicrenderingutils.makeDevtoolsIOAwarePromise)(undefined, workUnitStore, stage);
|
|
2263
|
+
}
|
|
2264
|
+
break;
|
|
2265
|
+
}
|
|
2266
|
+
case 'prerender':
|
|
2267
|
+
case 'prerender-runtime':
|
|
2268
|
+
case 'prerender-ppr':
|
|
2269
|
+
case 'prerender-legacy':
|
|
2270
|
+
case 'cache':
|
|
2271
|
+
case 'private-cache':
|
|
2272
|
+
case 'unstable-cache':
|
|
2273
|
+
case 'generate-static-params':
|
|
2274
|
+
break;
|
|
2275
|
+
default:
|
|
2276
|
+
workUnitStore;
|
|
2277
|
+
}
|
|
2278
|
+
}
|
|
2279
|
+
if (entry === undefined || // In dev, the built-in default handler retains a short-`expire` entry
|
|
2280
|
+
// for at least `MIN_PRERENDERABLE_EXPIRE`, both when used directly
|
|
2281
|
+
// and when fronting a custom cache handler. Apply that same minimum
|
|
2282
|
+
// here so the retained entry is served and re-warmed in the
|
|
2283
|
+
// background (below), rather than blocking to regenerate it on every
|
|
2284
|
+
// read. The entry's real `expire` is untouched, so staging still
|
|
2285
|
+
// treats it as dynamic.
|
|
2286
|
+
currentTime > entry.timestamp + (process.env.__NEXT_DEV_SERVER ? Math.max(entry.expire, _constants.MIN_PRERENDERABLE_EXPIRE) : entry.expire) * 1000 || workStore.isStaticGeneration && currentTime > entry.timestamp + entry.revalidate * 1000) {
|
|
2287
|
+
// Miss. Generate a new result.
|
|
2288
|
+
// If the cache entry is stale and we're prerendering, we don't want
|
|
2289
|
+
// to use the stale entry since it would unnecessarily need to shorten
|
|
2290
|
+
// the lifetime of the prerender. We're not time constrained here so
|
|
2291
|
+
// we can re-generated it now.
|
|
2292
|
+
// We need to run this inside a clean AsyncLocalStorage snapshot so
|
|
2293
|
+
// that the cache generation cannot read anything from the context
|
|
2294
|
+
// we're currently executing which might include request specific
|
|
2295
|
+
// things like cookies() inside a React.cache().
|
|
2296
|
+
// Note: It is important that we await at least once before this
|
|
2297
|
+
// because it lets us pop out of any stack specific contexts as well -
|
|
2298
|
+
// aka "Sync" Local Storage.
|
|
2299
|
+
if (entry) {
|
|
2300
|
+
if (currentTime > entry.timestamp + entry.expire * 1000) {
|
|
2301
|
+
debug == null ? void 0 : debug('entry is expired', cacheHandlerKey);
|
|
2302
|
+
}
|
|
2303
|
+
if (workStore.isStaticGeneration && currentTime > entry.timestamp + entry.revalidate * 1000) {
|
|
2304
|
+
debug == null ? void 0 : debug('static generation, entry is stale', cacheHandlerKey);
|
|
2305
|
+
}
|
|
2306
|
+
}
|
|
2307
|
+
if (cacheSignal && cacheSignalReadEnded) {
|
|
2308
|
+
// A short-lived deferral above (a `revalidate` of zero or a short
|
|
2309
|
+
// expire, or a short stale time) already ended this read. We're now
|
|
2310
|
+
// regenerating the entry rather than serving it, and the generation
|
|
2311
|
+
// ends the read again once its entry is collected. Re-begin the
|
|
2312
|
+
// read here so the trailing `endRead` stays balanced instead of
|
|
2313
|
+
// over-decrementing the cache signal.
|
|
2314
|
+
cacheSignal.beginRead();
|
|
2315
|
+
cacheSignalReadEnded = false;
|
|
2316
|
+
}
|
|
2317
|
+
const result = await generateCacheEntry(workStore, cacheContext, clientReferenceManifest, encodedCacheKeyParts, fn, timeoutError, deadlockError);
|
|
2318
|
+
if (result.type === 'prerender-dynamic') {
|
|
2319
|
+
debug == null ? void 0 : debug('leader resolved as prerender-dynamic (generation)', cacheHandlerKey);
|
|
2320
|
+
if (resumeDataCache == null ? void 0 : resumeDataCache.mutable) {
|
|
2321
|
+
resumeDataCache.dynamicCacheKeys.add(serializedCacheKey);
|
|
2322
|
+
}
|
|
2323
|
+
resolvableSharedCacheResult.resolve(result);
|
|
2324
|
+
return result.hangingPromise;
|
|
2325
|
+
}
|
|
2326
|
+
const { stream: newStream, pendingCacheResult } = result;
|
|
2327
|
+
// Cross-request joiners derive their metadata from this promise. By
|
|
2328
|
+
// default it's the collected result, but when we write to a cache
|
|
2329
|
+
// handler we swap in a promise that resolves only after the write has
|
|
2330
|
+
// landed, so a joiner that re-reads its recomputed key finds the
|
|
2331
|
+
// entry.
|
|
2332
|
+
let metadataSource = pendingCacheResult;
|
|
2333
|
+
// When draft mode is enabled, we must not save the cache entry.
|
|
2334
|
+
if (!workStore.isDraftMode) {
|
|
2335
|
+
const savedCacheResult = saveToResumeDataCache(resumeDataCache, serializedCacheKey, pendingCacheResult);
|
|
2336
|
+
if (cacheHandler) {
|
|
2337
|
+
metadataSource = saveToCacheHandler(cacheHandler, workStore, id, cacheHandlerKeyBase, savedCacheResult, rootParams);
|
|
2338
|
+
}
|
|
2339
|
+
}
|
|
2340
|
+
debug == null ? void 0 : debug('leader resolved with generated entry', cacheHandlerKey);
|
|
2341
|
+
const pendingMetadata = metadataSource.then((collected)=>({
|
|
2342
|
+
tags: collected.entry.tags,
|
|
2343
|
+
revalidate: collected.entry.revalidate,
|
|
2344
|
+
expire: collected.entry.expire,
|
|
2345
|
+
stale: collected.entry.stale,
|
|
2346
|
+
timestamp: collected.entry.timestamp,
|
|
2347
|
+
hasExplicitRevalidate: collected.hasExplicitRevalidate,
|
|
2348
|
+
hasExplicitExpire: collected.hasExplicitExpire,
|
|
2349
|
+
readRootParamNames: collected.readRootParamNames,
|
|
2350
|
+
dynamicNestedCacheError: collected.dynamicNestedCacheError
|
|
2351
|
+
}));
|
|
2352
|
+
const sharedCacheEntry = new SharedCacheEntry(newStream, pendingMetadata);
|
|
2353
|
+
stream = sharedCacheEntry.fork();
|
|
2354
|
+
resolvableSharedCacheResult.resolve({
|
|
2355
|
+
type: 'cached',
|
|
2356
|
+
entry: sharedCacheEntry
|
|
2357
|
+
});
|
|
2358
|
+
} else {
|
|
2359
|
+
const entryMetadata = {
|
|
2360
|
+
tags: entry.tags,
|
|
2361
|
+
revalidate: entry.revalidate,
|
|
2362
|
+
expire: entry.expire,
|
|
2363
|
+
stale: entry.stale,
|
|
2364
|
+
timestamp: entry.timestamp,
|
|
2365
|
+
readRootParamNames: knownRootParamsByFunctionId.get(id),
|
|
2366
|
+
// For pre-existing entries from cache handlers we don't know
|
|
2367
|
+
// whether they had explicit cache life values or not. But we only
|
|
2368
|
+
// need this information during prerendering when we produce new
|
|
2369
|
+
// entries, where the cache life of an inner cache may be propagated
|
|
2370
|
+
// to the outer one. In that case we use the RDC. So it's safe to
|
|
2371
|
+
// set this to undefined here.
|
|
2372
|
+
hasExplicitRevalidate: undefined,
|
|
2373
|
+
hasExplicitExpire: undefined,
|
|
2374
|
+
// The same applies to the dynamic nested cache error.
|
|
2375
|
+
dynamicNestedCacheError: undefined
|
|
2376
|
+
};
|
|
2377
|
+
maybePropagateCacheEntryMetadata(cacheContext, entryMetadata);
|
|
2378
|
+
// We want to return this stream, even if it's stale.
|
|
2379
|
+
stream = entry.value;
|
|
2380
|
+
// If we have a mutable resume data cache, we need to clone the entry
|
|
2381
|
+
// and add it to the resume data cache.
|
|
2382
|
+
if (resumeDataCache == null ? void 0 : resumeDataCache.mutable) {
|
|
2383
|
+
const [entryLeft, entryRight] = (0, _clonecacheentry.cloneCacheEntry)(entry);
|
|
2384
|
+
if (cacheSignal && !cacheSignalReadEnded) {
|
|
2385
|
+
stream = createTrackedReadableStream(entryLeft.value, cacheSignal);
|
|
2386
|
+
} else {
|
|
2387
|
+
// The read was already ended for a short-lived deferral (or there
|
|
2388
|
+
// is no cacheSignal), so serve a plain stream.
|
|
2389
|
+
stream = entryLeft.value;
|
|
2390
|
+
}
|
|
2391
|
+
// The RDC is per-page and root params are fixed within a page, so
|
|
2392
|
+
// we always use the coarse key (without root param suffix).
|
|
2393
|
+
resumeDataCache.cache.set(serializedCacheKey, Promise.resolve({
|
|
2394
|
+
entry: entryRight,
|
|
2395
|
+
hasExplicitRevalidate: entryMetadata.hasExplicitRevalidate,
|
|
2396
|
+
hasExplicitExpire: entryMetadata.hasExplicitExpire,
|
|
2397
|
+
readRootParamNames: entryMetadata.readRootParamNames,
|
|
2398
|
+
dynamicNestedCacheError: entryMetadata.dynamicNestedCacheError
|
|
2399
|
+
}));
|
|
2400
|
+
} else if (!cacheSignalReadEnded) {
|
|
2401
|
+
// If we're not regenerating we need to signal that we've finished
|
|
2402
|
+
// putting the entry into the cache scope at this point. Otherwise
|
|
2403
|
+
// we do that inside generateCacheEntry. (Skipped when the read was
|
|
2404
|
+
// already ended for a short-lived deferral.)
|
|
2405
|
+
cacheSignal == null ? void 0 : cacheSignal.endRead();
|
|
2406
|
+
}
|
|
2407
|
+
debug == null ? void 0 : debug('leader resolved with cache handler hit', cacheHandlerKey);
|
|
2408
|
+
const sharedCacheEntry = new SharedCacheEntry(stream, Promise.resolve(entryMetadata));
|
|
2409
|
+
stream = sharedCacheEntry.fork();
|
|
2410
|
+
resolvableSharedCacheResult.resolve({
|
|
2411
|
+
type: 'cached',
|
|
2412
|
+
entry: sharedCacheEntry
|
|
2413
|
+
});
|
|
2414
|
+
// Trigger a background revalidation when the entry is stale (past its
|
|
2415
|
+
// `revalidate`), so the next read gets a fresh value without blocking
|
|
2416
|
+
// this one. Development additionally re-warms on every dynamic
|
|
2417
|
+
// request render in two cases where the dev in-memory entry would
|
|
2418
|
+
// otherwise read back as fresh, so a subsequent reload still shows a
|
|
2419
|
+
// fresh value. The first is with the in-memory cache disabled
|
|
2420
|
+
// (`cacheMaxMemorySize: 0`), where built-in entries keep their
|
|
2421
|
+
// resolved (potentially non-dynamic) cache life. The second is a
|
|
2422
|
+
// short-`expire` entry (an explicit dynamic or client-only cache,
|
|
2423
|
+
// e.g. `cacheLife({ expire: 0 })`), which is retained for at least
|
|
2424
|
+
// `MIN_PRERENDERABLE_EXPIRE` so it is served from the cache; this
|
|
2425
|
+
// also covers custom handlers, re-executing and writing through to
|
|
2426
|
+
// the backing.
|
|
2427
|
+
let shouldTriggerBackgroundRevalidation = currentTime > entry.timestamp + entry.revalidate * 1000;
|
|
2428
|
+
if (!shouldTriggerBackgroundRevalidation && process.env.__NEXT_DEV_SERVER && (entry.expire < _constants.MIN_PRERENDERABLE_EXPIRE || (0, _handlers.isMemoryCacheDisabled)() && !(0, _handlers.isCustomCacheHandler)(kind))) {
|
|
2429
|
+
switch(workUnitStore.type){
|
|
2430
|
+
case 'request':
|
|
2431
|
+
shouldTriggerBackgroundRevalidation = true;
|
|
2432
|
+
break;
|
|
2433
|
+
case 'cache':
|
|
2434
|
+
case 'private-cache':
|
|
2435
|
+
case 'prerender':
|
|
2436
|
+
case 'prerender-runtime':
|
|
2437
|
+
case 'prerender-ppr':
|
|
2438
|
+
case 'prerender-legacy':
|
|
2439
|
+
case 'unstable-cache':
|
|
2440
|
+
case 'generate-static-params':
|
|
2441
|
+
break;
|
|
2442
|
+
default:
|
|
2443
|
+
workUnitStore;
|
|
2444
|
+
}
|
|
2445
|
+
}
|
|
2446
|
+
if (shouldTriggerBackgroundRevalidation) {
|
|
2447
|
+
const revalidateCacheHandlerKey = cacheHandlerKey;
|
|
2448
|
+
const revalidatePromise = generateCacheEntry(workStore, // The background revalidation preserves the outer store for
|
|
2449
|
+
// reading (e.g. implicitTags) but skips propagation of cache life
|
|
2450
|
+
// and tags back to the outer scope.
|
|
2451
|
+
{
|
|
2452
|
+
...cacheContext,
|
|
2453
|
+
skipPropagation: true
|
|
2454
|
+
}, clientReferenceManifest, encodedCacheKeyParts, fn, timeoutError, deadlockError).then(async (result)=>{
|
|
2455
|
+
if (result.type === 'cached') {
|
|
2456
|
+
const { stream: ignoredStream, pendingCacheResult } = result;
|
|
2457
|
+
const savedCacheResult = saveToResumeDataCache(resumeDataCache, serializedCacheKey, pendingCacheResult);
|
|
2458
|
+
if (cacheHandler) {
|
|
2459
|
+
saveToCacheHandler(cacheHandler, workStore, id, cacheHandlerKeyBase, savedCacheResult, rootParams);
|
|
2460
|
+
}
|
|
2461
|
+
await ignoredStream.cancel();
|
|
2462
|
+
}
|
|
2463
|
+
}).catch((error)=>{
|
|
2464
|
+
debug == null ? void 0 : debug('background cache revalidation failed for', revalidateCacheHandlerKey, error);
|
|
2465
|
+
});
|
|
2466
|
+
workStore.pendingRevalidateWrites ??= [];
|
|
2467
|
+
workStore.pendingRevalidateWrites.push(revalidatePromise);
|
|
2468
|
+
}
|
|
2469
|
+
}
|
|
2470
|
+
}
|
|
2471
|
+
} catch (error) {
|
|
2472
|
+
resolvableSharedCacheResult.reject(error);
|
|
2473
|
+
throw error;
|
|
2474
|
+
}
|
|
2475
|
+
}
|
|
2476
|
+
// Logs are replayed even if it's a hit - to ensure we see them on the client eventually.
|
|
2477
|
+
// If we didn't then the client wouldn't see the logs if it was seeded from a prewarm that
|
|
2478
|
+
// never made it to the client. However, this also means that you see logs even when the
|
|
2479
|
+
// cached function isn't actually re-executed. We should instead ensure prewarms always
|
|
2480
|
+
// make it to the client. Another issue is that this will cause double logging in the
|
|
2481
|
+
// server terminal. Once while generating the cache entry and once when replaying it on
|
|
2482
|
+
// the server, which is required to pick it up for replaying again on the client.
|
|
2483
|
+
const replayConsoleLogs = true;
|
|
2484
|
+
const serverConsumerManifest = {
|
|
2485
|
+
// moduleLoading must be null because we don't want to trigger preloads of ClientReferences
|
|
2486
|
+
// to be added to the consumer. Instead, we'll wait for any ClientReference to be emitted
|
|
2487
|
+
// which themselves will handle the preloading.
|
|
2488
|
+
moduleLoading: null,
|
|
2489
|
+
moduleMap: isEdgeRuntime ? clientReferenceManifest.edgeRscModuleMapping : clientReferenceManifest.rscModuleMapping,
|
|
2490
|
+
serverModuleMap: (0, _manifestssingleton.getServerModuleMap)()
|
|
2491
|
+
};
|
|
2492
|
+
return (0, _client.createFromReadableStream)(stream, {
|
|
2493
|
+
findSourceMapURL,
|
|
2494
|
+
serverConsumerManifest,
|
|
2495
|
+
temporaryReferences,
|
|
2496
|
+
replayConsoleLogs,
|
|
2497
|
+
environmentName: 'Cache'
|
|
2498
|
+
});
|
|
2499
|
+
}
|
|
2500
|
+
/**
|
|
2501
|
+
* Returns `true` if the `'use cache'` function is the page component itself,
|
|
2502
|
+
* or `generateMetadata`/`generateViewport` in a page file.
|
|
2503
|
+
*/ function isPageSegmentFunction(args) {
|
|
2504
|
+
const [maybeProps] = args;
|
|
2505
|
+
return maybeProps !== null && typeof maybeProps === 'object' && maybeProps.$$isPage === true;
|
|
2506
|
+
}
|
|
2507
|
+
/**
|
|
2508
|
+
* Returns `true` if the `'use cache'` function is the layout component itself,
|
|
2509
|
+
* or `generateMetadata`/`generateViewport` in a layout file.
|
|
2510
|
+
*/ function isLayoutSegmentFunction(args) {
|
|
2511
|
+
const [maybeProps] = args;
|
|
2512
|
+
return maybeProps !== null && typeof maybeProps === 'object' && maybeProps.$$isLayout === true;
|
|
2513
|
+
}
|
|
2514
|
+
function shouldForceRevalidate(workStore, workUnitStore) {
|
|
2515
|
+
if (workStore.isOnDemandRevalidate || workStore.isDraftMode) {
|
|
2516
|
+
return true;
|
|
2517
|
+
}
|
|
2518
|
+
if (process.env.__NEXT_DEV_SERVER) {
|
|
2519
|
+
switch(workUnitStore.type){
|
|
2520
|
+
case 'request':
|
|
2521
|
+
return workUnitStore.headers.get('cache-control') === 'no-cache';
|
|
2522
|
+
case 'cache':
|
|
2523
|
+
case 'private-cache':
|
|
2524
|
+
return workUnitStore.forceRevalidate;
|
|
2525
|
+
case 'prerender-runtime':
|
|
2526
|
+
case 'prerender':
|
|
2527
|
+
case 'prerender-client':
|
|
2528
|
+
case 'validation-client':
|
|
2529
|
+
case 'prerender-ppr':
|
|
2530
|
+
case 'prerender-legacy':
|
|
2531
|
+
case 'unstable-cache':
|
|
2532
|
+
case 'generate-static-params':
|
|
2533
|
+
break;
|
|
2534
|
+
default:
|
|
2535
|
+
workUnitStore;
|
|
2536
|
+
}
|
|
2537
|
+
}
|
|
2538
|
+
return false;
|
|
2539
|
+
}
|
|
2540
|
+
function shouldDiscardCacheEntry(entry, workStore, workUnitStore, implicitTags, implicitTagsExpiration) {
|
|
2541
|
+
// If the cache entry was created before any of the implicit tags were
|
|
2542
|
+
// revalidated last, we need to discard it.
|
|
2543
|
+
if (entry.timestamp <= implicitTagsExpiration) {
|
|
2544
|
+
debug == null ? void 0 : debug('entry was created at', entry.timestamp, 'before implicit tags were revalidated at', implicitTagsExpiration);
|
|
2545
|
+
return true;
|
|
2546
|
+
}
|
|
2547
|
+
// During prerendering, we ignore recently revalidated tags. In dev mode, we
|
|
2548
|
+
// can assume that the dynamic dev rendering will have discarded and recreated
|
|
2549
|
+
// the affected cache entries, and we don't want to discard those again during
|
|
2550
|
+
// the prerender validation. During build-time prerendering, there will never
|
|
2551
|
+
// be any pending revalidated tags.
|
|
2552
|
+
switch(workUnitStore.type){
|
|
2553
|
+
case 'prerender':
|
|
2554
|
+
return false;
|
|
2555
|
+
case 'prerender-runtime':
|
|
2556
|
+
case 'prerender-client':
|
|
2557
|
+
case 'validation-client':
|
|
2558
|
+
case 'prerender-ppr':
|
|
2559
|
+
case 'prerender-legacy':
|
|
2560
|
+
case 'request':
|
|
2561
|
+
case 'cache':
|
|
2562
|
+
case 'private-cache':
|
|
2563
|
+
case 'unstable-cache':
|
|
2564
|
+
case 'generate-static-params':
|
|
2565
|
+
break;
|
|
2566
|
+
default:
|
|
2567
|
+
workUnitStore;
|
|
2568
|
+
}
|
|
2569
|
+
// If the cache entry contains revalidated tags that the cache handler might
|
|
2570
|
+
// not know about yet, we need to discard it.
|
|
2571
|
+
if (entry.tags.some((tag)=>isRevalidatedAfter(tag, entry.timestamp, workStore))) {
|
|
2572
|
+
return true;
|
|
2573
|
+
}
|
|
2574
|
+
// Finally, if any of the implicit tags have been revalidated recently, we
|
|
2575
|
+
// also need to discard the cache entry.
|
|
2576
|
+
if (implicitTags.some((tag)=>isRevalidatedAfter(tag, entry.timestamp, workStore))) {
|
|
2577
|
+
return true;
|
|
2578
|
+
}
|
|
2579
|
+
return false;
|
|
2580
|
+
}
|
|
2581
|
+
/**
|
|
2582
|
+
* Whether `tag` was revalidated after an entry created at `entryTimestamp`,
|
|
2583
|
+
* which makes that entry stale. An entry produced after the revalidation
|
|
2584
|
+
* already reflects it and is still usable.
|
|
2585
|
+
*/ function isRevalidatedAfter(tag, entryTimestamp, workStore) {
|
|
2586
|
+
const { previouslyRevalidatedTags, pendingRevalidatedTags, requestStartTime } = workStore;
|
|
2587
|
+
// Was the tag previously revalidated (e.g. by a redirecting server action)?
|
|
2588
|
+
// That happened in an earlier request and carries no timestamp of its own, so
|
|
2589
|
+
// it counts as having happened when this request started.
|
|
2590
|
+
if (entryTimestamp <= requestStartTime && previouslyRevalidatedTags.includes(tag)) {
|
|
2591
|
+
debug == null ? void 0 : debug('tag', tag, 'was previously revalidated');
|
|
2592
|
+
return true;
|
|
2593
|
+
}
|
|
2594
|
+
// It could also have been revalidated by the currently running server action.
|
|
2595
|
+
// In this case the revalidation might not have been fully propagated by a
|
|
2596
|
+
// remote cache handler yet, so we read it from the pending tags in the work
|
|
2597
|
+
// store.
|
|
2598
|
+
if (pendingRevalidatedTags == null ? void 0 : pendingRevalidatedTags.some((item)=>item.tag === tag && item.revalidatedAt > entryTimestamp)) {
|
|
2599
|
+
debug == null ? void 0 : debug('tag', tag, 'was just revalidated');
|
|
2600
|
+
return true;
|
|
2601
|
+
}
|
|
2602
|
+
return false;
|
|
2603
|
+
}
|
|
2604
|
+
|
|
2605
|
+
//# sourceMappingURL=use-cache-wrapper.js.map
|