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.
Files changed (2042) hide show
  1. package/README.md +93 -0
  2. package/bin/ray.js +311 -0
  3. package/dist/brain/brain +0 -0
  4. package/dist/cohen/cohen +0 -0
  5. package/dist/ray/.next/BUILD_ID +1 -0
  6. package/dist/ray/.next/app-path-routes-manifest.json +78 -0
  7. package/dist/ray/.next/build-manifest.json +25 -0
  8. package/dist/ray/.next/package.json +1 -0
  9. package/dist/ray/.next/prerender-manifest.json +157 -0
  10. package/dist/ray/.next/required-server-files.json +352 -0
  11. package/dist/ray/.next/routes-manifest.json +558 -0
  12. package/dist/ray/.next/server/app/(auth)/login/page/app-paths-manifest.json +3 -0
  13. package/dist/ray/.next/server/app/(auth)/login/page/build-manifest.json +21 -0
  14. package/dist/ray/.next/server/app/(auth)/login/page/next-font-manifest.json +11 -0
  15. package/dist/ray/.next/server/app/(auth)/login/page/react-loadable-manifest.json +1 -0
  16. package/dist/ray/.next/server/app/(auth)/login/page/server-reference-manifest.json +4 -0
  17. package/dist/ray/.next/server/app/(auth)/login/page.js +14 -0
  18. package/dist/ray/.next/server/app/(auth)/login/page.js.map +5 -0
  19. package/dist/ray/.next/server/app/(auth)/login/page.js.nft.json +1 -0
  20. package/dist/ray/.next/server/app/(auth)/login/page_client-reference-manifest.js +3 -0
  21. package/dist/ray/.next/server/app/(auth)/register/page/app-paths-manifest.json +3 -0
  22. package/dist/ray/.next/server/app/(auth)/register/page/build-manifest.json +21 -0
  23. package/dist/ray/.next/server/app/(auth)/register/page/next-font-manifest.json +11 -0
  24. package/dist/ray/.next/server/app/(auth)/register/page/react-loadable-manifest.json +1 -0
  25. package/dist/ray/.next/server/app/(auth)/register/page/server-reference-manifest.json +4 -0
  26. package/dist/ray/.next/server/app/(auth)/register/page.js +14 -0
  27. package/dist/ray/.next/server/app/(auth)/register/page.js.map +5 -0
  28. package/dist/ray/.next/server/app/(auth)/register/page.js.nft.json +1 -0
  29. package/dist/ray/.next/server/app/(auth)/register/page_client-reference-manifest.js +3 -0
  30. package/dist/ray/.next/server/app/(dashboard)/chat/[sessionId]/page/app-paths-manifest.json +3 -0
  31. package/dist/ray/.next/server/app/(dashboard)/chat/[sessionId]/page/build-manifest.json +21 -0
  32. package/dist/ray/.next/server/app/(dashboard)/chat/[sessionId]/page/next-font-manifest.json +11 -0
  33. package/dist/ray/.next/server/app/(dashboard)/chat/[sessionId]/page/react-loadable-manifest.json +1 -0
  34. package/dist/ray/.next/server/app/(dashboard)/chat/[sessionId]/page/server-reference-manifest.json +4 -0
  35. package/dist/ray/.next/server/app/(dashboard)/chat/[sessionId]/page.js +17 -0
  36. package/dist/ray/.next/server/app/(dashboard)/chat/[sessionId]/page.js.map +5 -0
  37. package/dist/ray/.next/server/app/(dashboard)/chat/[sessionId]/page.js.nft.json +1 -0
  38. package/dist/ray/.next/server/app/(dashboard)/chat/[sessionId]/page_client-reference-manifest.js +3 -0
  39. package/dist/ray/.next/server/app/(dashboard)/chat/page/app-paths-manifest.json +3 -0
  40. package/dist/ray/.next/server/app/(dashboard)/chat/page/build-manifest.json +21 -0
  41. package/dist/ray/.next/server/app/(dashboard)/chat/page/next-font-manifest.json +11 -0
  42. package/dist/ray/.next/server/app/(dashboard)/chat/page/react-loadable-manifest.json +1 -0
  43. package/dist/ray/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +4 -0
  44. package/dist/ray/.next/server/app/(dashboard)/chat/page.js +16 -0
  45. package/dist/ray/.next/server/app/(dashboard)/chat/page.js.map +5 -0
  46. package/dist/ray/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -0
  47. package/dist/ray/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +3 -0
  48. package/dist/ray/.next/server/app/(dashboard)/cicd/[id]/page/app-paths-manifest.json +3 -0
  49. package/dist/ray/.next/server/app/(dashboard)/cicd/[id]/page/build-manifest.json +21 -0
  50. package/dist/ray/.next/server/app/(dashboard)/cicd/[id]/page/next-font-manifest.json +11 -0
  51. package/dist/ray/.next/server/app/(dashboard)/cicd/[id]/page/react-loadable-manifest.json +1 -0
  52. package/dist/ray/.next/server/app/(dashboard)/cicd/[id]/page/server-reference-manifest.json +4 -0
  53. package/dist/ray/.next/server/app/(dashboard)/cicd/[id]/page.js +16 -0
  54. package/dist/ray/.next/server/app/(dashboard)/cicd/[id]/page.js.map +5 -0
  55. package/dist/ray/.next/server/app/(dashboard)/cicd/[id]/page.js.nft.json +1 -0
  56. package/dist/ray/.next/server/app/(dashboard)/cicd/[id]/page_client-reference-manifest.js +3 -0
  57. package/dist/ray/.next/server/app/(dashboard)/cicd/page/app-paths-manifest.json +3 -0
  58. package/dist/ray/.next/server/app/(dashboard)/cicd/page/build-manifest.json +21 -0
  59. package/dist/ray/.next/server/app/(dashboard)/cicd/page/next-font-manifest.json +11 -0
  60. package/dist/ray/.next/server/app/(dashboard)/cicd/page/react-loadable-manifest.json +1 -0
  61. package/dist/ray/.next/server/app/(dashboard)/cicd/page/server-reference-manifest.json +4 -0
  62. package/dist/ray/.next/server/app/(dashboard)/cicd/page.js +16 -0
  63. package/dist/ray/.next/server/app/(dashboard)/cicd/page.js.map +5 -0
  64. package/dist/ray/.next/server/app/(dashboard)/cicd/page.js.nft.json +1 -0
  65. package/dist/ray/.next/server/app/(dashboard)/cicd/page_client-reference-manifest.js +3 -0
  66. package/dist/ray/.next/server/app/(dashboard)/containers/[id]/page/app-paths-manifest.json +3 -0
  67. package/dist/ray/.next/server/app/(dashboard)/containers/[id]/page/build-manifest.json +21 -0
  68. package/dist/ray/.next/server/app/(dashboard)/containers/[id]/page/next-font-manifest.json +11 -0
  69. package/dist/ray/.next/server/app/(dashboard)/containers/[id]/page/react-loadable-manifest.json +1 -0
  70. package/dist/ray/.next/server/app/(dashboard)/containers/[id]/page/server-reference-manifest.json +4 -0
  71. package/dist/ray/.next/server/app/(dashboard)/containers/[id]/page.js +16 -0
  72. package/dist/ray/.next/server/app/(dashboard)/containers/[id]/page.js.map +5 -0
  73. package/dist/ray/.next/server/app/(dashboard)/containers/[id]/page.js.nft.json +1 -0
  74. package/dist/ray/.next/server/app/(dashboard)/containers/[id]/page_client-reference-manifest.js +3 -0
  75. package/dist/ray/.next/server/app/(dashboard)/containers/page/app-paths-manifest.json +3 -0
  76. package/dist/ray/.next/server/app/(dashboard)/containers/page/build-manifest.json +21 -0
  77. package/dist/ray/.next/server/app/(dashboard)/containers/page/next-font-manifest.json +11 -0
  78. package/dist/ray/.next/server/app/(dashboard)/containers/page/react-loadable-manifest.json +1 -0
  79. package/dist/ray/.next/server/app/(dashboard)/containers/page/server-reference-manifest.json +4 -0
  80. package/dist/ray/.next/server/app/(dashboard)/containers/page.js +16 -0
  81. package/dist/ray/.next/server/app/(dashboard)/containers/page.js.map +5 -0
  82. package/dist/ray/.next/server/app/(dashboard)/containers/page.js.nft.json +1 -0
  83. package/dist/ray/.next/server/app/(dashboard)/containers/page_client-reference-manifest.js +3 -0
  84. package/dist/ray/.next/server/app/(dashboard)/deployments/[id]/page/app-paths-manifest.json +3 -0
  85. package/dist/ray/.next/server/app/(dashboard)/deployments/[id]/page/build-manifest.json +21 -0
  86. package/dist/ray/.next/server/app/(dashboard)/deployments/[id]/page/next-font-manifest.json +11 -0
  87. package/dist/ray/.next/server/app/(dashboard)/deployments/[id]/page/react-loadable-manifest.json +1 -0
  88. package/dist/ray/.next/server/app/(dashboard)/deployments/[id]/page/server-reference-manifest.json +4 -0
  89. package/dist/ray/.next/server/app/(dashboard)/deployments/[id]/page.js +16 -0
  90. package/dist/ray/.next/server/app/(dashboard)/deployments/[id]/page.js.map +5 -0
  91. package/dist/ray/.next/server/app/(dashboard)/deployments/[id]/page.js.nft.json +1 -0
  92. package/dist/ray/.next/server/app/(dashboard)/deployments/[id]/page_client-reference-manifest.js +3 -0
  93. package/dist/ray/.next/server/app/(dashboard)/deployments/page/app-paths-manifest.json +3 -0
  94. package/dist/ray/.next/server/app/(dashboard)/deployments/page/build-manifest.json +21 -0
  95. package/dist/ray/.next/server/app/(dashboard)/deployments/page/next-font-manifest.json +11 -0
  96. package/dist/ray/.next/server/app/(dashboard)/deployments/page/react-loadable-manifest.json +1 -0
  97. package/dist/ray/.next/server/app/(dashboard)/deployments/page/server-reference-manifest.json +4 -0
  98. package/dist/ray/.next/server/app/(dashboard)/deployments/page.js +16 -0
  99. package/dist/ray/.next/server/app/(dashboard)/deployments/page.js.map +5 -0
  100. package/dist/ray/.next/server/app/(dashboard)/deployments/page.js.nft.json +1 -0
  101. package/dist/ray/.next/server/app/(dashboard)/deployments/page_client-reference-manifest.js +3 -0
  102. package/dist/ray/.next/server/app/(dashboard)/github/page/app-paths-manifest.json +3 -0
  103. package/dist/ray/.next/server/app/(dashboard)/github/page/build-manifest.json +21 -0
  104. package/dist/ray/.next/server/app/(dashboard)/github/page/next-font-manifest.json +11 -0
  105. package/dist/ray/.next/server/app/(dashboard)/github/page/react-loadable-manifest.json +1 -0
  106. package/dist/ray/.next/server/app/(dashboard)/github/page/server-reference-manifest.json +4 -0
  107. package/dist/ray/.next/server/app/(dashboard)/github/page.js +16 -0
  108. package/dist/ray/.next/server/app/(dashboard)/github/page.js.map +5 -0
  109. package/dist/ray/.next/server/app/(dashboard)/github/page.js.nft.json +1 -0
  110. package/dist/ray/.next/server/app/(dashboard)/github/page_client-reference-manifest.js +3 -0
  111. package/dist/ray/.next/server/app/(dashboard)/monitor/[id]/page/app-paths-manifest.json +3 -0
  112. package/dist/ray/.next/server/app/(dashboard)/monitor/[id]/page/build-manifest.json +21 -0
  113. package/dist/ray/.next/server/app/(dashboard)/monitor/[id]/page/next-font-manifest.json +11 -0
  114. package/dist/ray/.next/server/app/(dashboard)/monitor/[id]/page/react-loadable-manifest.json +1 -0
  115. package/dist/ray/.next/server/app/(dashboard)/monitor/[id]/page/server-reference-manifest.json +4 -0
  116. package/dist/ray/.next/server/app/(dashboard)/monitor/[id]/page.js +16 -0
  117. package/dist/ray/.next/server/app/(dashboard)/monitor/[id]/page.js.map +5 -0
  118. package/dist/ray/.next/server/app/(dashboard)/monitor/[id]/page.js.nft.json +1 -0
  119. package/dist/ray/.next/server/app/(dashboard)/monitor/[id]/page_client-reference-manifest.js +3 -0
  120. package/dist/ray/.next/server/app/(dashboard)/monitor/page/app-paths-manifest.json +3 -0
  121. package/dist/ray/.next/server/app/(dashboard)/monitor/page/build-manifest.json +21 -0
  122. package/dist/ray/.next/server/app/(dashboard)/monitor/page/next-font-manifest.json +11 -0
  123. package/dist/ray/.next/server/app/(dashboard)/monitor/page/react-loadable-manifest.json +1 -0
  124. package/dist/ray/.next/server/app/(dashboard)/monitor/page/server-reference-manifest.json +4 -0
  125. package/dist/ray/.next/server/app/(dashboard)/monitor/page.js +16 -0
  126. package/dist/ray/.next/server/app/(dashboard)/monitor/page.js.map +5 -0
  127. package/dist/ray/.next/server/app/(dashboard)/monitor/page.js.nft.json +1 -0
  128. package/dist/ray/.next/server/app/(dashboard)/monitor/page_client-reference-manifest.js +3 -0
  129. package/dist/ray/.next/server/app/(dashboard)/page/app-paths-manifest.json +3 -0
  130. package/dist/ray/.next/server/app/(dashboard)/page/build-manifest.json +21 -0
  131. package/dist/ray/.next/server/app/(dashboard)/page/next-font-manifest.json +11 -0
  132. package/dist/ray/.next/server/app/(dashboard)/page/react-loadable-manifest.json +1 -0
  133. package/dist/ray/.next/server/app/(dashboard)/page/server-reference-manifest.json +4 -0
  134. package/dist/ray/.next/server/app/(dashboard)/page.js +15 -0
  135. package/dist/ray/.next/server/app/(dashboard)/page.js.map +5 -0
  136. package/dist/ray/.next/server/app/(dashboard)/page.js.nft.json +1 -0
  137. package/dist/ray/.next/server/app/(dashboard)/page_client-reference-manifest.js +3 -0
  138. package/dist/ray/.next/server/app/(dashboard)/projects/[id]/page/app-paths-manifest.json +3 -0
  139. package/dist/ray/.next/server/app/(dashboard)/projects/[id]/page/build-manifest.json +21 -0
  140. package/dist/ray/.next/server/app/(dashboard)/projects/[id]/page/next-font-manifest.json +11 -0
  141. package/dist/ray/.next/server/app/(dashboard)/projects/[id]/page/react-loadable-manifest.json +1 -0
  142. package/dist/ray/.next/server/app/(dashboard)/projects/[id]/page/server-reference-manifest.json +4 -0
  143. package/dist/ray/.next/server/app/(dashboard)/projects/[id]/page.js +16 -0
  144. package/dist/ray/.next/server/app/(dashboard)/projects/[id]/page.js.map +5 -0
  145. package/dist/ray/.next/server/app/(dashboard)/projects/[id]/page.js.nft.json +1 -0
  146. package/dist/ray/.next/server/app/(dashboard)/projects/[id]/page_client-reference-manifest.js +3 -0
  147. package/dist/ray/.next/server/app/(dashboard)/projects/page/app-paths-manifest.json +3 -0
  148. package/dist/ray/.next/server/app/(dashboard)/projects/page/build-manifest.json +21 -0
  149. package/dist/ray/.next/server/app/(dashboard)/projects/page/next-font-manifest.json +11 -0
  150. package/dist/ray/.next/server/app/(dashboard)/projects/page/react-loadable-manifest.json +1 -0
  151. package/dist/ray/.next/server/app/(dashboard)/projects/page/server-reference-manifest.json +4 -0
  152. package/dist/ray/.next/server/app/(dashboard)/projects/page.js +16 -0
  153. package/dist/ray/.next/server/app/(dashboard)/projects/page.js.map +5 -0
  154. package/dist/ray/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -0
  155. package/dist/ray/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +3 -0
  156. package/dist/ray/.next/server/app/(dashboard)/servers/[id]/page/app-paths-manifest.json +3 -0
  157. package/dist/ray/.next/server/app/(dashboard)/servers/[id]/page/build-manifest.json +21 -0
  158. package/dist/ray/.next/server/app/(dashboard)/servers/[id]/page/next-font-manifest.json +11 -0
  159. package/dist/ray/.next/server/app/(dashboard)/servers/[id]/page/react-loadable-manifest.json +1 -0
  160. package/dist/ray/.next/server/app/(dashboard)/servers/[id]/page/server-reference-manifest.json +16 -0
  161. package/dist/ray/.next/server/app/(dashboard)/servers/[id]/page.js +16 -0
  162. package/dist/ray/.next/server/app/(dashboard)/servers/[id]/page.js.map +5 -0
  163. package/dist/ray/.next/server/app/(dashboard)/servers/[id]/page.js.nft.json +1 -0
  164. package/dist/ray/.next/server/app/(dashboard)/servers/[id]/page_client-reference-manifest.js +3 -0
  165. package/dist/ray/.next/server/app/(dashboard)/servers/page/app-paths-manifest.json +3 -0
  166. package/dist/ray/.next/server/app/(dashboard)/servers/page/build-manifest.json +21 -0
  167. package/dist/ray/.next/server/app/(dashboard)/servers/page/next-font-manifest.json +11 -0
  168. package/dist/ray/.next/server/app/(dashboard)/servers/page/react-loadable-manifest.json +1 -0
  169. package/dist/ray/.next/server/app/(dashboard)/servers/page/server-reference-manifest.json +16 -0
  170. package/dist/ray/.next/server/app/(dashboard)/servers/page.js +16 -0
  171. package/dist/ray/.next/server/app/(dashboard)/servers/page.js.map +5 -0
  172. package/dist/ray/.next/server/app/(dashboard)/servers/page.js.nft.json +1 -0
  173. package/dist/ray/.next/server/app/(dashboard)/servers/page_client-reference-manifest.js +3 -0
  174. package/dist/ray/.next/server/app/(dashboard)/settings/page/app-paths-manifest.json +3 -0
  175. package/dist/ray/.next/server/app/(dashboard)/settings/page/build-manifest.json +21 -0
  176. package/dist/ray/.next/server/app/(dashboard)/settings/page/next-font-manifest.json +11 -0
  177. package/dist/ray/.next/server/app/(dashboard)/settings/page/react-loadable-manifest.json +1 -0
  178. package/dist/ray/.next/server/app/(dashboard)/settings/page/server-reference-manifest.json +4 -0
  179. package/dist/ray/.next/server/app/(dashboard)/settings/page.js +16 -0
  180. package/dist/ray/.next/server/app/(dashboard)/settings/page.js.map +5 -0
  181. package/dist/ray/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -0
  182. package/dist/ray/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +3 -0
  183. package/dist/ray/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
  184. package/dist/ray/.next/server/app/_global-error/page/build-manifest.json +21 -0
  185. package/dist/ray/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
  186. package/dist/ray/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
  187. package/dist/ray/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
  188. package/dist/ray/.next/server/app/_global-error/page.js +9 -0
  189. package/dist/ray/.next/server/app/_global-error/page.js.map +5 -0
  190. package/dist/ray/.next/server/app/_global-error/page.js.nft.json +1 -0
  191. package/dist/ray/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
  192. package/dist/ray/.next/server/app/_global-error.html +1 -0
  193. package/dist/ray/.next/server/app/_global-error.meta +22 -0
  194. package/dist/ray/.next/server/app/_global-error.rsc +15 -0
  195. package/dist/ray/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +20 -0
  196. package/dist/ray/.next/server/app/_global-error.segments/_full.segment.rsc +15 -0
  197. package/dist/ray/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  198. package/dist/ray/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
  199. package/dist/ray/.next/server/app/_not-found/page/build-manifest.json +21 -0
  200. package/dist/ray/.next/server/app/_not-found/page/next-font-manifest.json +11 -0
  201. package/dist/ray/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
  202. package/dist/ray/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
  203. package/dist/ray/.next/server/app/_not-found/page.js +12 -0
  204. package/dist/ray/.next/server/app/_not-found/page.js.map +5 -0
  205. package/dist/ray/.next/server/app/_not-found/page.js.nft.json +1 -0
  206. package/dist/ray/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
  207. package/dist/ray/.next/server/app/_not-found.html +1 -0
  208. package/dist/ray/.next/server/app/_not-found.meta +27 -0
  209. package/dist/ray/.next/server/app/_not-found.rsc +16 -0
  210. package/dist/ray/.next/server/app/_not-found.segments/_full.segment.rsc +16 -0
  211. package/dist/ray/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +22 -0
  212. package/dist/ray/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -0
  213. package/dist/ray/.next/server/app/api/auth/login/route/app-paths-manifest.json +3 -0
  214. package/dist/ray/.next/server/app/api/auth/login/route/build-manifest.json +12 -0
  215. package/dist/ray/.next/server/app/api/auth/login/route/server-reference-manifest.json +4 -0
  216. package/dist/ray/.next/server/app/api/auth/login/route.js +10 -0
  217. package/dist/ray/.next/server/app/api/auth/login/route.js.map +5 -0
  218. package/dist/ray/.next/server/app/api/auth/login/route.js.nft.json +1 -0
  219. package/dist/ray/.next/server/app/api/auth/login/route_client-reference-manifest.js +3 -0
  220. package/dist/ray/.next/server/app/api/auth/logout/route/app-paths-manifest.json +3 -0
  221. package/dist/ray/.next/server/app/api/auth/logout/route/build-manifest.json +12 -0
  222. package/dist/ray/.next/server/app/api/auth/logout/route/server-reference-manifest.json +4 -0
  223. package/dist/ray/.next/server/app/api/auth/logout/route.js +7 -0
  224. package/dist/ray/.next/server/app/api/auth/logout/route.js.map +5 -0
  225. package/dist/ray/.next/server/app/api/auth/logout/route.js.nft.json +1 -0
  226. package/dist/ray/.next/server/app/api/auth/logout/route_client-reference-manifest.js +3 -0
  227. package/dist/ray/.next/server/app/api/auth/register/route/app-paths-manifest.json +3 -0
  228. package/dist/ray/.next/server/app/api/auth/register/route/build-manifest.json +12 -0
  229. package/dist/ray/.next/server/app/api/auth/register/route/server-reference-manifest.json +4 -0
  230. package/dist/ray/.next/server/app/api/auth/register/route.js +10 -0
  231. package/dist/ray/.next/server/app/api/auth/register/route.js.map +5 -0
  232. package/dist/ray/.next/server/app/api/auth/register/route.js.nft.json +1 -0
  233. package/dist/ray/.next/server/app/api/auth/register/route_client-reference-manifest.js +3 -0
  234. package/dist/ray/.next/server/app/api/chat/route/app-paths-manifest.json +3 -0
  235. package/dist/ray/.next/server/app/api/chat/route/build-manifest.json +12 -0
  236. package/dist/ray/.next/server/app/api/chat/route/server-reference-manifest.json +4 -0
  237. package/dist/ray/.next/server/app/api/chat/route.js +10 -0
  238. package/dist/ray/.next/server/app/api/chat/route.js.map +5 -0
  239. package/dist/ray/.next/server/app/api/chat/route.js.nft.json +1 -0
  240. package/dist/ray/.next/server/app/api/chat/route_client-reference-manifest.js +3 -0
  241. package/dist/ray/.next/server/app/api/cicd/[id]/route/app-paths-manifest.json +3 -0
  242. package/dist/ray/.next/server/app/api/cicd/[id]/route/build-manifest.json +12 -0
  243. package/dist/ray/.next/server/app/api/cicd/[id]/route/server-reference-manifest.json +4 -0
  244. package/dist/ray/.next/server/app/api/cicd/[id]/route.js +11 -0
  245. package/dist/ray/.next/server/app/api/cicd/[id]/route.js.map +5 -0
  246. package/dist/ray/.next/server/app/api/cicd/[id]/route.js.nft.json +1 -0
  247. package/dist/ray/.next/server/app/api/cicd/[id]/route_client-reference-manifest.js +3 -0
  248. package/dist/ray/.next/server/app/api/cicd/poll/route/app-paths-manifest.json +3 -0
  249. package/dist/ray/.next/server/app/api/cicd/poll/route/build-manifest.json +12 -0
  250. package/dist/ray/.next/server/app/api/cicd/poll/route/server-reference-manifest.json +4 -0
  251. package/dist/ray/.next/server/app/api/cicd/poll/route.js +11 -0
  252. package/dist/ray/.next/server/app/api/cicd/poll/route.js.map +5 -0
  253. package/dist/ray/.next/server/app/api/cicd/poll/route.js.nft.json +1 -0
  254. package/dist/ray/.next/server/app/api/cicd/poll/route_client-reference-manifest.js +3 -0
  255. package/dist/ray/.next/server/app/api/cicd/route/app-paths-manifest.json +3 -0
  256. package/dist/ray/.next/server/app/api/cicd/route/build-manifest.json +12 -0
  257. package/dist/ray/.next/server/app/api/cicd/route/server-reference-manifest.json +4 -0
  258. package/dist/ray/.next/server/app/api/cicd/route.js +12 -0
  259. package/dist/ray/.next/server/app/api/cicd/route.js.map +5 -0
  260. package/dist/ray/.next/server/app/api/cicd/route.js.nft.json +1 -0
  261. package/dist/ray/.next/server/app/api/cicd/route_client-reference-manifest.js +3 -0
  262. package/dist/ray/.next/server/app/api/containers/[id]/action/route/app-paths-manifest.json +3 -0
  263. package/dist/ray/.next/server/app/api/containers/[id]/action/route/build-manifest.json +12 -0
  264. package/dist/ray/.next/server/app/api/containers/[id]/action/route/server-reference-manifest.json +4 -0
  265. package/dist/ray/.next/server/app/api/containers/[id]/action/route.js +9 -0
  266. package/dist/ray/.next/server/app/api/containers/[id]/action/route.js.map +5 -0
  267. package/dist/ray/.next/server/app/api/containers/[id]/action/route.js.nft.json +1 -0
  268. package/dist/ray/.next/server/app/api/containers/[id]/action/route_client-reference-manifest.js +3 -0
  269. package/dist/ray/.next/server/app/api/containers/[id]/logs/route/app-paths-manifest.json +3 -0
  270. package/dist/ray/.next/server/app/api/containers/[id]/logs/route/build-manifest.json +12 -0
  271. package/dist/ray/.next/server/app/api/containers/[id]/logs/route/server-reference-manifest.json +4 -0
  272. package/dist/ray/.next/server/app/api/containers/[id]/logs/route.js +9 -0
  273. package/dist/ray/.next/server/app/api/containers/[id]/logs/route.js.map +5 -0
  274. package/dist/ray/.next/server/app/api/containers/[id]/logs/route.js.nft.json +1 -0
  275. package/dist/ray/.next/server/app/api/containers/[id]/logs/route_client-reference-manifest.js +3 -0
  276. package/dist/ray/.next/server/app/api/containers/[id]/route/app-paths-manifest.json +3 -0
  277. package/dist/ray/.next/server/app/api/containers/[id]/route/build-manifest.json +12 -0
  278. package/dist/ray/.next/server/app/api/containers/[id]/route/server-reference-manifest.json +4 -0
  279. package/dist/ray/.next/server/app/api/containers/[id]/route.js +10 -0
  280. package/dist/ray/.next/server/app/api/containers/[id]/route.js.map +5 -0
  281. package/dist/ray/.next/server/app/api/containers/[id]/route.js.nft.json +1 -0
  282. package/dist/ray/.next/server/app/api/containers/[id]/route_client-reference-manifest.js +3 -0
  283. package/dist/ray/.next/server/app/api/containers/route/app-paths-manifest.json +3 -0
  284. package/dist/ray/.next/server/app/api/containers/route/build-manifest.json +12 -0
  285. package/dist/ray/.next/server/app/api/containers/route/server-reference-manifest.json +4 -0
  286. package/dist/ray/.next/server/app/api/containers/route.js +10 -0
  287. package/dist/ray/.next/server/app/api/containers/route.js.map +5 -0
  288. package/dist/ray/.next/server/app/api/containers/route.js.nft.json +1 -0
  289. package/dist/ray/.next/server/app/api/containers/route_client-reference-manifest.js +3 -0
  290. package/dist/ray/.next/server/app/api/deploy/[id]/action/route/app-paths-manifest.json +3 -0
  291. package/dist/ray/.next/server/app/api/deploy/[id]/action/route/build-manifest.json +12 -0
  292. package/dist/ray/.next/server/app/api/deploy/[id]/action/route/server-reference-manifest.json +4 -0
  293. package/dist/ray/.next/server/app/api/deploy/[id]/action/route.js +11 -0
  294. package/dist/ray/.next/server/app/api/deploy/[id]/action/route.js.map +5 -0
  295. package/dist/ray/.next/server/app/api/deploy/[id]/action/route.js.nft.json +1 -0
  296. package/dist/ray/.next/server/app/api/deploy/[id]/action/route_client-reference-manifest.js +3 -0
  297. package/dist/ray/.next/server/app/api/deploy/route/app-paths-manifest.json +3 -0
  298. package/dist/ray/.next/server/app/api/deploy/route/build-manifest.json +12 -0
  299. package/dist/ray/.next/server/app/api/deploy/route/server-reference-manifest.json +4 -0
  300. package/dist/ray/.next/server/app/api/deploy/route.js +11 -0
  301. package/dist/ray/.next/server/app/api/deploy/route.js.map +5 -0
  302. package/dist/ray/.next/server/app/api/deploy/route.js.nft.json +1 -0
  303. package/dist/ray/.next/server/app/api/deploy/route_client-reference-manifest.js +3 -0
  304. package/dist/ray/.next/server/app/api/deploy/upload/route/app-paths-manifest.json +3 -0
  305. package/dist/ray/.next/server/app/api/deploy/upload/route/build-manifest.json +12 -0
  306. package/dist/ray/.next/server/app/api/deploy/upload/route/server-reference-manifest.json +4 -0
  307. package/dist/ray/.next/server/app/api/deploy/upload/route.js +10 -0
  308. package/dist/ray/.next/server/app/api/deploy/upload/route.js.map +5 -0
  309. package/dist/ray/.next/server/app/api/deploy/upload/route.js.nft.json +1 -0
  310. package/dist/ray/.next/server/app/api/deploy/upload/route_client-reference-manifest.js +3 -0
  311. package/dist/ray/.next/server/app/api/deployments/[id]/diagnose/route/app-paths-manifest.json +3 -0
  312. package/dist/ray/.next/server/app/api/deployments/[id]/diagnose/route/build-manifest.json +12 -0
  313. package/dist/ray/.next/server/app/api/deployments/[id]/diagnose/route/server-reference-manifest.json +4 -0
  314. package/dist/ray/.next/server/app/api/deployments/[id]/diagnose/route.js +10 -0
  315. package/dist/ray/.next/server/app/api/deployments/[id]/diagnose/route.js.map +5 -0
  316. package/dist/ray/.next/server/app/api/deployments/[id]/diagnose/route.js.nft.json +1 -0
  317. package/dist/ray/.next/server/app/api/deployments/[id]/diagnose/route_client-reference-manifest.js +3 -0
  318. package/dist/ray/.next/server/app/api/deployments/[id]/redeploy/route/app-paths-manifest.json +3 -0
  319. package/dist/ray/.next/server/app/api/deployments/[id]/redeploy/route/build-manifest.json +12 -0
  320. package/dist/ray/.next/server/app/api/deployments/[id]/redeploy/route/server-reference-manifest.json +4 -0
  321. package/dist/ray/.next/server/app/api/deployments/[id]/redeploy/route.js +10 -0
  322. package/dist/ray/.next/server/app/api/deployments/[id]/redeploy/route.js.map +5 -0
  323. package/dist/ray/.next/server/app/api/deployments/[id]/redeploy/route.js.nft.json +1 -0
  324. package/dist/ray/.next/server/app/api/deployments/[id]/redeploy/route_client-reference-manifest.js +3 -0
  325. package/dist/ray/.next/server/app/api/deployments/[id]/route/app-paths-manifest.json +3 -0
  326. package/dist/ray/.next/server/app/api/deployments/[id]/route/build-manifest.json +12 -0
  327. package/dist/ray/.next/server/app/api/deployments/[id]/route/server-reference-manifest.json +4 -0
  328. package/dist/ray/.next/server/app/api/deployments/[id]/route.js +10 -0
  329. package/dist/ray/.next/server/app/api/deployments/[id]/route.js.map +5 -0
  330. package/dist/ray/.next/server/app/api/deployments/[id]/route.js.nft.json +1 -0
  331. package/dist/ray/.next/server/app/api/deployments/[id]/route_client-reference-manifest.js +3 -0
  332. package/dist/ray/.next/server/app/api/deployments/active/route/app-paths-manifest.json +3 -0
  333. package/dist/ray/.next/server/app/api/deployments/active/route/build-manifest.json +12 -0
  334. package/dist/ray/.next/server/app/api/deployments/active/route/server-reference-manifest.json +4 -0
  335. package/dist/ray/.next/server/app/api/deployments/active/route.js +11 -0
  336. package/dist/ray/.next/server/app/api/deployments/active/route.js.map +5 -0
  337. package/dist/ray/.next/server/app/api/deployments/active/route.js.nft.json +1 -0
  338. package/dist/ray/.next/server/app/api/deployments/active/route_client-reference-manifest.js +3 -0
  339. package/dist/ray/.next/server/app/api/deployments/internal/save-deployment/route/app-paths-manifest.json +3 -0
  340. package/dist/ray/.next/server/app/api/deployments/internal/save-deployment/route/build-manifest.json +12 -0
  341. package/dist/ray/.next/server/app/api/deployments/internal/save-deployment/route/server-reference-manifest.json +4 -0
  342. package/dist/ray/.next/server/app/api/deployments/internal/save-deployment/route.js +9 -0
  343. package/dist/ray/.next/server/app/api/deployments/internal/save-deployment/route.js.map +5 -0
  344. package/dist/ray/.next/server/app/api/deployments/internal/save-deployment/route.js.nft.json +1 -0
  345. package/dist/ray/.next/server/app/api/deployments/internal/save-deployment/route_client-reference-manifest.js +3 -0
  346. package/dist/ray/.next/server/app/api/deployments/route/app-paths-manifest.json +3 -0
  347. package/dist/ray/.next/server/app/api/deployments/route/build-manifest.json +12 -0
  348. package/dist/ray/.next/server/app/api/deployments/route/server-reference-manifest.json +4 -0
  349. package/dist/ray/.next/server/app/api/deployments/route.js +11 -0
  350. package/dist/ray/.next/server/app/api/deployments/route.js.map +5 -0
  351. package/dist/ray/.next/server/app/api/deployments/route.js.nft.json +1 -0
  352. package/dist/ray/.next/server/app/api/deployments/route_client-reference-manifest.js +3 -0
  353. package/dist/ray/.next/server/app/api/github/app/callback/route/app-paths-manifest.json +3 -0
  354. package/dist/ray/.next/server/app/api/github/app/callback/route/build-manifest.json +12 -0
  355. package/dist/ray/.next/server/app/api/github/app/callback/route/server-reference-manifest.json +4 -0
  356. package/dist/ray/.next/server/app/api/github/app/callback/route.js +11 -0
  357. package/dist/ray/.next/server/app/api/github/app/callback/route.js.map +5 -0
  358. package/dist/ray/.next/server/app/api/github/app/callback/route.js.nft.json +1 -0
  359. package/dist/ray/.next/server/app/api/github/app/callback/route_client-reference-manifest.js +3 -0
  360. package/dist/ray/.next/server/app/api/github/app/manifest/route/app-paths-manifest.json +3 -0
  361. package/dist/ray/.next/server/app/api/github/app/manifest/route/build-manifest.json +12 -0
  362. package/dist/ray/.next/server/app/api/github/app/manifest/route/server-reference-manifest.json +4 -0
  363. package/dist/ray/.next/server/app/api/github/app/manifest/route.js +7 -0
  364. package/dist/ray/.next/server/app/api/github/app/manifest/route.js.map +5 -0
  365. package/dist/ray/.next/server/app/api/github/app/manifest/route.js.nft.json +1 -0
  366. package/dist/ray/.next/server/app/api/github/app/manifest/route_client-reference-manifest.js +3 -0
  367. package/dist/ray/.next/server/app/api/github/connect/route/app-paths-manifest.json +3 -0
  368. package/dist/ray/.next/server/app/api/github/connect/route/build-manifest.json +12 -0
  369. package/dist/ray/.next/server/app/api/github/connect/route/server-reference-manifest.json +4 -0
  370. package/dist/ray/.next/server/app/api/github/connect/route.js +10 -0
  371. package/dist/ray/.next/server/app/api/github/connect/route.js.map +5 -0
  372. package/dist/ray/.next/server/app/api/github/connect/route.js.nft.json +1 -0
  373. package/dist/ray/.next/server/app/api/github/connect/route_client-reference-manifest.js +3 -0
  374. package/dist/ray/.next/server/app/api/github/repos/route/app-paths-manifest.json +3 -0
  375. package/dist/ray/.next/server/app/api/github/repos/route/build-manifest.json +12 -0
  376. package/dist/ray/.next/server/app/api/github/repos/route/server-reference-manifest.json +4 -0
  377. package/dist/ray/.next/server/app/api/github/repos/route.js +10 -0
  378. package/dist/ray/.next/server/app/api/github/repos/route.js.map +5 -0
  379. package/dist/ray/.next/server/app/api/github/repos/route.js.nft.json +1 -0
  380. package/dist/ray/.next/server/app/api/github/repos/route_client-reference-manifest.js +3 -0
  381. package/dist/ray/.next/server/app/api/github/route/app-paths-manifest.json +3 -0
  382. package/dist/ray/.next/server/app/api/github/route/build-manifest.json +12 -0
  383. package/dist/ray/.next/server/app/api/github/route/server-reference-manifest.json +4 -0
  384. package/dist/ray/.next/server/app/api/github/route.js +11 -0
  385. package/dist/ray/.next/server/app/api/github/route.js.map +5 -0
  386. package/dist/ray/.next/server/app/api/github/route.js.nft.json +1 -0
  387. package/dist/ray/.next/server/app/api/github/route_client-reference-manifest.js +3 -0
  388. package/dist/ray/.next/server/app/api/github/status/route/app-paths-manifest.json +3 -0
  389. package/dist/ray/.next/server/app/api/github/status/route/build-manifest.json +12 -0
  390. package/dist/ray/.next/server/app/api/github/status/route/server-reference-manifest.json +4 -0
  391. package/dist/ray/.next/server/app/api/github/status/route.js +10 -0
  392. package/dist/ray/.next/server/app/api/github/status/route.js.map +5 -0
  393. package/dist/ray/.next/server/app/api/github/status/route.js.nft.json +1 -0
  394. package/dist/ray/.next/server/app/api/github/status/route_client-reference-manifest.js +3 -0
  395. package/dist/ray/.next/server/app/api/monitor/alerts/[id]/route/app-paths-manifest.json +3 -0
  396. package/dist/ray/.next/server/app/api/monitor/alerts/[id]/route/build-manifest.json +12 -0
  397. package/dist/ray/.next/server/app/api/monitor/alerts/[id]/route/server-reference-manifest.json +4 -0
  398. package/dist/ray/.next/server/app/api/monitor/alerts/[id]/route.js +10 -0
  399. package/dist/ray/.next/server/app/api/monitor/alerts/[id]/route.js.map +5 -0
  400. package/dist/ray/.next/server/app/api/monitor/alerts/[id]/route.js.nft.json +1 -0
  401. package/dist/ray/.next/server/app/api/monitor/alerts/[id]/route_client-reference-manifest.js +3 -0
  402. package/dist/ray/.next/server/app/api/monitor/alerts/route/app-paths-manifest.json +3 -0
  403. package/dist/ray/.next/server/app/api/monitor/alerts/route/build-manifest.json +12 -0
  404. package/dist/ray/.next/server/app/api/monitor/alerts/route/server-reference-manifest.json +4 -0
  405. package/dist/ray/.next/server/app/api/monitor/alerts/route.js +10 -0
  406. package/dist/ray/.next/server/app/api/monitor/alerts/route.js.map +5 -0
  407. package/dist/ray/.next/server/app/api/monitor/alerts/route.js.nft.json +1 -0
  408. package/dist/ray/.next/server/app/api/monitor/alerts/route_client-reference-manifest.js +3 -0
  409. package/dist/ray/.next/server/app/api/monitor/internal/add-project/route/app-paths-manifest.json +3 -0
  410. package/dist/ray/.next/server/app/api/monitor/internal/add-project/route/build-manifest.json +12 -0
  411. package/dist/ray/.next/server/app/api/monitor/internal/add-project/route/server-reference-manifest.json +4 -0
  412. package/dist/ray/.next/server/app/api/monitor/internal/add-project/route.js +9 -0
  413. package/dist/ray/.next/server/app/api/monitor/internal/add-project/route.js.map +5 -0
  414. package/dist/ray/.next/server/app/api/monitor/internal/add-project/route.js.nft.json +1 -0
  415. package/dist/ray/.next/server/app/api/monitor/internal/add-project/route_client-reference-manifest.js +3 -0
  416. package/dist/ray/.next/server/app/api/monitor/internal/update-project/route/app-paths-manifest.json +3 -0
  417. package/dist/ray/.next/server/app/api/monitor/internal/update-project/route/build-manifest.json +12 -0
  418. package/dist/ray/.next/server/app/api/monitor/internal/update-project/route/server-reference-manifest.json +4 -0
  419. package/dist/ray/.next/server/app/api/monitor/internal/update-project/route.js +8 -0
  420. package/dist/ray/.next/server/app/api/monitor/internal/update-project/route.js.map +5 -0
  421. package/dist/ray/.next/server/app/api/monitor/internal/update-project/route.js.nft.json +1 -0
  422. package/dist/ray/.next/server/app/api/monitor/internal/update-project/route_client-reference-manifest.js +3 -0
  423. package/dist/ray/.next/server/app/api/monitor/process/route/app-paths-manifest.json +3 -0
  424. package/dist/ray/.next/server/app/api/monitor/process/route/build-manifest.json +12 -0
  425. package/dist/ray/.next/server/app/api/monitor/process/route/server-reference-manifest.json +4 -0
  426. package/dist/ray/.next/server/app/api/monitor/process/route.js +9 -0
  427. package/dist/ray/.next/server/app/api/monitor/process/route.js.map +5 -0
  428. package/dist/ray/.next/server/app/api/monitor/process/route.js.nft.json +1 -0
  429. package/dist/ray/.next/server/app/api/monitor/process/route_client-reference-manifest.js +3 -0
  430. package/dist/ray/.next/server/app/api/monitor/projects/[id]/diagnose/route/app-paths-manifest.json +3 -0
  431. package/dist/ray/.next/server/app/api/monitor/projects/[id]/diagnose/route/build-manifest.json +12 -0
  432. package/dist/ray/.next/server/app/api/monitor/projects/[id]/diagnose/route/server-reference-manifest.json +4 -0
  433. package/dist/ray/.next/server/app/api/monitor/projects/[id]/diagnose/route.js +10 -0
  434. package/dist/ray/.next/server/app/api/monitor/projects/[id]/diagnose/route.js.map +5 -0
  435. package/dist/ray/.next/server/app/api/monitor/projects/[id]/diagnose/route.js.nft.json +1 -0
  436. package/dist/ray/.next/server/app/api/monitor/projects/[id]/diagnose/route_client-reference-manifest.js +3 -0
  437. package/dist/ray/.next/server/app/api/monitor/projects/[id]/fix/route/app-paths-manifest.json +3 -0
  438. package/dist/ray/.next/server/app/api/monitor/projects/[id]/fix/route/build-manifest.json +12 -0
  439. package/dist/ray/.next/server/app/api/monitor/projects/[id]/fix/route/server-reference-manifest.json +4 -0
  440. package/dist/ray/.next/server/app/api/monitor/projects/[id]/fix/route.js +10 -0
  441. package/dist/ray/.next/server/app/api/monitor/projects/[id]/fix/route.js.map +5 -0
  442. package/dist/ray/.next/server/app/api/monitor/projects/[id]/fix/route.js.nft.json +1 -0
  443. package/dist/ray/.next/server/app/api/monitor/projects/[id]/fix/route_client-reference-manifest.js +3 -0
  444. package/dist/ray/.next/server/app/api/monitor/projects/[id]/logs/route/app-paths-manifest.json +3 -0
  445. package/dist/ray/.next/server/app/api/monitor/projects/[id]/logs/route/build-manifest.json +12 -0
  446. package/dist/ray/.next/server/app/api/monitor/projects/[id]/logs/route/server-reference-manifest.json +4 -0
  447. package/dist/ray/.next/server/app/api/monitor/projects/[id]/logs/route.js +10 -0
  448. package/dist/ray/.next/server/app/api/monitor/projects/[id]/logs/route.js.map +5 -0
  449. package/dist/ray/.next/server/app/api/monitor/projects/[id]/logs/route.js.nft.json +1 -0
  450. package/dist/ray/.next/server/app/api/monitor/projects/[id]/logs/route_client-reference-manifest.js +3 -0
  451. package/dist/ray/.next/server/app/api/monitor/projects/[id]/memory/route/app-paths-manifest.json +3 -0
  452. package/dist/ray/.next/server/app/api/monitor/projects/[id]/memory/route/build-manifest.json +12 -0
  453. package/dist/ray/.next/server/app/api/monitor/projects/[id]/memory/route/server-reference-manifest.json +4 -0
  454. package/dist/ray/.next/server/app/api/monitor/projects/[id]/memory/route.js +10 -0
  455. package/dist/ray/.next/server/app/api/monitor/projects/[id]/memory/route.js.map +5 -0
  456. package/dist/ray/.next/server/app/api/monitor/projects/[id]/memory/route.js.nft.json +1 -0
  457. package/dist/ray/.next/server/app/api/monitor/projects/[id]/memory/route_client-reference-manifest.js +3 -0
  458. package/dist/ray/.next/server/app/api/monitor/projects/[id]/route/app-paths-manifest.json +3 -0
  459. package/dist/ray/.next/server/app/api/monitor/projects/[id]/route/build-manifest.json +12 -0
  460. package/dist/ray/.next/server/app/api/monitor/projects/[id]/route/server-reference-manifest.json +4 -0
  461. package/dist/ray/.next/server/app/api/monitor/projects/[id]/route.js +11 -0
  462. package/dist/ray/.next/server/app/api/monitor/projects/[id]/route.js.map +5 -0
  463. package/dist/ray/.next/server/app/api/monitor/projects/[id]/route.js.nft.json +1 -0
  464. package/dist/ray/.next/server/app/api/monitor/projects/[id]/route_client-reference-manifest.js +3 -0
  465. package/dist/ray/.next/server/app/api/monitor/projects/[id]/run/route/app-paths-manifest.json +3 -0
  466. package/dist/ray/.next/server/app/api/monitor/projects/[id]/run/route/build-manifest.json +12 -0
  467. package/dist/ray/.next/server/app/api/monitor/projects/[id]/run/route/server-reference-manifest.json +4 -0
  468. package/dist/ray/.next/server/app/api/monitor/projects/[id]/run/route.js +11 -0
  469. package/dist/ray/.next/server/app/api/monitor/projects/[id]/run/route.js.map +5 -0
  470. package/dist/ray/.next/server/app/api/monitor/projects/[id]/run/route.js.nft.json +1 -0
  471. package/dist/ray/.next/server/app/api/monitor/projects/[id]/run/route_client-reference-manifest.js +3 -0
  472. package/dist/ray/.next/server/app/api/monitor/projects/route/app-paths-manifest.json +3 -0
  473. package/dist/ray/.next/server/app/api/monitor/projects/route/build-manifest.json +12 -0
  474. package/dist/ray/.next/server/app/api/monitor/projects/route/server-reference-manifest.json +4 -0
  475. package/dist/ray/.next/server/app/api/monitor/projects/route.js +11 -0
  476. package/dist/ray/.next/server/app/api/monitor/projects/route.js.map +5 -0
  477. package/dist/ray/.next/server/app/api/monitor/projects/route.js.nft.json +1 -0
  478. package/dist/ray/.next/server/app/api/monitor/projects/route_client-reference-manifest.js +3 -0
  479. package/dist/ray/.next/server/app/api/monitor/stream/route/app-paths-manifest.json +3 -0
  480. package/dist/ray/.next/server/app/api/monitor/stream/route/build-manifest.json +12 -0
  481. package/dist/ray/.next/server/app/api/monitor/stream/route/server-reference-manifest.json +4 -0
  482. package/dist/ray/.next/server/app/api/monitor/stream/route.js +9 -0
  483. package/dist/ray/.next/server/app/api/monitor/stream/route.js.map +5 -0
  484. package/dist/ray/.next/server/app/api/monitor/stream/route.js.nft.json +1 -0
  485. package/dist/ray/.next/server/app/api/monitor/stream/route_client-reference-manifest.js +3 -0
  486. package/dist/ray/.next/server/app/api/ports/route/app-paths-manifest.json +3 -0
  487. package/dist/ray/.next/server/app/api/ports/route/build-manifest.json +12 -0
  488. package/dist/ray/.next/server/app/api/ports/route/server-reference-manifest.json +4 -0
  489. package/dist/ray/.next/server/app/api/ports/route.js +10 -0
  490. package/dist/ray/.next/server/app/api/ports/route.js.map +5 -0
  491. package/dist/ray/.next/server/app/api/ports/route.js.nft.json +1 -0
  492. package/dist/ray/.next/server/app/api/ports/route_client-reference-manifest.js +3 -0
  493. package/dist/ray/.next/server/app/api/projects/[id]/domain-check/route/app-paths-manifest.json +3 -0
  494. package/dist/ray/.next/server/app/api/projects/[id]/domain-check/route/build-manifest.json +12 -0
  495. package/dist/ray/.next/server/app/api/projects/[id]/domain-check/route/server-reference-manifest.json +4 -0
  496. package/dist/ray/.next/server/app/api/projects/[id]/domain-check/route.js +9 -0
  497. package/dist/ray/.next/server/app/api/projects/[id]/domain-check/route.js.map +5 -0
  498. package/dist/ray/.next/server/app/api/projects/[id]/domain-check/route.js.nft.json +1 -0
  499. package/dist/ray/.next/server/app/api/projects/[id]/domain-check/route_client-reference-manifest.js +3 -0
  500. package/dist/ray/.next/server/app/api/projects/[id]/env/route/app-paths-manifest.json +3 -0
  501. package/dist/ray/.next/server/app/api/projects/[id]/env/route/build-manifest.json +12 -0
  502. package/dist/ray/.next/server/app/api/projects/[id]/env/route/server-reference-manifest.json +4 -0
  503. package/dist/ray/.next/server/app/api/projects/[id]/env/route.js +11 -0
  504. package/dist/ray/.next/server/app/api/projects/[id]/env/route.js.map +5 -0
  505. package/dist/ray/.next/server/app/api/projects/[id]/env/route.js.nft.json +1 -0
  506. package/dist/ray/.next/server/app/api/projects/[id]/env/route_client-reference-manifest.js +3 -0
  507. package/dist/ray/.next/server/app/api/projects/[id]/file-content/route/app-paths-manifest.json +3 -0
  508. package/dist/ray/.next/server/app/api/projects/[id]/file-content/route/build-manifest.json +12 -0
  509. package/dist/ray/.next/server/app/api/projects/[id]/file-content/route/server-reference-manifest.json +4 -0
  510. package/dist/ray/.next/server/app/api/projects/[id]/file-content/route.js +10 -0
  511. package/dist/ray/.next/server/app/api/projects/[id]/file-content/route.js.map +5 -0
  512. package/dist/ray/.next/server/app/api/projects/[id]/file-content/route.js.nft.json +1 -0
  513. package/dist/ray/.next/server/app/api/projects/[id]/file-content/route_client-reference-manifest.js +3 -0
  514. package/dist/ray/.next/server/app/api/projects/[id]/files/route/app-paths-manifest.json +3 -0
  515. package/dist/ray/.next/server/app/api/projects/[id]/files/route/build-manifest.json +12 -0
  516. package/dist/ray/.next/server/app/api/projects/[id]/files/route/server-reference-manifest.json +4 -0
  517. package/dist/ray/.next/server/app/api/projects/[id]/files/route.js +10 -0
  518. package/dist/ray/.next/server/app/api/projects/[id]/files/route.js.map +5 -0
  519. package/dist/ray/.next/server/app/api/projects/[id]/files/route.js.nft.json +1 -0
  520. package/dist/ray/.next/server/app/api/projects/[id]/files/route_client-reference-manifest.js +3 -0
  521. package/dist/ray/.next/server/app/api/projects/[id]/route/app-paths-manifest.json +3 -0
  522. package/dist/ray/.next/server/app/api/projects/[id]/route/build-manifest.json +12 -0
  523. package/dist/ray/.next/server/app/api/projects/[id]/route/server-reference-manifest.json +4 -0
  524. package/dist/ray/.next/server/app/api/projects/[id]/route.js +11 -0
  525. package/dist/ray/.next/server/app/api/projects/[id]/route.js.map +5 -0
  526. package/dist/ray/.next/server/app/api/projects/[id]/route.js.nft.json +1 -0
  527. package/dist/ray/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +3 -0
  528. package/dist/ray/.next/server/app/api/projects/route/app-paths-manifest.json +3 -0
  529. package/dist/ray/.next/server/app/api/projects/route/build-manifest.json +12 -0
  530. package/dist/ray/.next/server/app/api/projects/route/server-reference-manifest.json +4 -0
  531. package/dist/ray/.next/server/app/api/projects/route.js +11 -0
  532. package/dist/ray/.next/server/app/api/projects/route.js.map +5 -0
  533. package/dist/ray/.next/server/app/api/projects/route.js.nft.json +1 -0
  534. package/dist/ray/.next/server/app/api/projects/route_client-reference-manifest.js +3 -0
  535. package/dist/ray/.next/server/app/api/sessions/[id]/generate-title/route/app-paths-manifest.json +3 -0
  536. package/dist/ray/.next/server/app/api/sessions/[id]/generate-title/route/build-manifest.json +12 -0
  537. package/dist/ray/.next/server/app/api/sessions/[id]/generate-title/route/server-reference-manifest.json +4 -0
  538. package/dist/ray/.next/server/app/api/sessions/[id]/generate-title/route.js +10 -0
  539. package/dist/ray/.next/server/app/api/sessions/[id]/generate-title/route.js.map +5 -0
  540. package/dist/ray/.next/server/app/api/sessions/[id]/generate-title/route.js.nft.json +1 -0
  541. package/dist/ray/.next/server/app/api/sessions/[id]/generate-title/route_client-reference-manifest.js +3 -0
  542. package/dist/ray/.next/server/app/api/sessions/[id]/messages/route/app-paths-manifest.json +3 -0
  543. package/dist/ray/.next/server/app/api/sessions/[id]/messages/route/build-manifest.json +12 -0
  544. package/dist/ray/.next/server/app/api/sessions/[id]/messages/route/server-reference-manifest.json +4 -0
  545. package/dist/ray/.next/server/app/api/sessions/[id]/messages/route.js +10 -0
  546. package/dist/ray/.next/server/app/api/sessions/[id]/messages/route.js.map +5 -0
  547. package/dist/ray/.next/server/app/api/sessions/[id]/messages/route.js.nft.json +1 -0
  548. package/dist/ray/.next/server/app/api/sessions/[id]/messages/route_client-reference-manifest.js +3 -0
  549. package/dist/ray/.next/server/app/api/sessions/[id]/route/app-paths-manifest.json +3 -0
  550. package/dist/ray/.next/server/app/api/sessions/[id]/route/build-manifest.json +12 -0
  551. package/dist/ray/.next/server/app/api/sessions/[id]/route/server-reference-manifest.json +4 -0
  552. package/dist/ray/.next/server/app/api/sessions/[id]/route.js +10 -0
  553. package/dist/ray/.next/server/app/api/sessions/[id]/route.js.map +5 -0
  554. package/dist/ray/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -0
  555. package/dist/ray/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +3 -0
  556. package/dist/ray/.next/server/app/api/sessions/route/app-paths-manifest.json +3 -0
  557. package/dist/ray/.next/server/app/api/sessions/route/build-manifest.json +12 -0
  558. package/dist/ray/.next/server/app/api/sessions/route/server-reference-manifest.json +4 -0
  559. package/dist/ray/.next/server/app/api/sessions/route.js +10 -0
  560. package/dist/ray/.next/server/app/api/sessions/route.js.map +5 -0
  561. package/dist/ray/.next/server/app/api/sessions/route.js.nft.json +1 -0
  562. package/dist/ray/.next/server/app/api/sessions/route_client-reference-manifest.js +3 -0
  563. package/dist/ray/.next/server/app/api/settings/route/app-paths-manifest.json +3 -0
  564. package/dist/ray/.next/server/app/api/settings/route/build-manifest.json +12 -0
  565. package/dist/ray/.next/server/app/api/settings/route/server-reference-manifest.json +4 -0
  566. package/dist/ray/.next/server/app/api/settings/route.js +9 -0
  567. package/dist/ray/.next/server/app/api/settings/route.js.map +5 -0
  568. package/dist/ray/.next/server/app/api/settings/route.js.nft.json +1 -0
  569. package/dist/ray/.next/server/app/api/settings/route_client-reference-manifest.js +3 -0
  570. package/dist/ray/.next/server/app/api/webhooks/github/[id]/route/app-paths-manifest.json +3 -0
  571. package/dist/ray/.next/server/app/api/webhooks/github/[id]/route/build-manifest.json +12 -0
  572. package/dist/ray/.next/server/app/api/webhooks/github/[id]/route/server-reference-manifest.json +4 -0
  573. package/dist/ray/.next/server/app/api/webhooks/github/[id]/route.js +8 -0
  574. package/dist/ray/.next/server/app/api/webhooks/github/[id]/route.js.map +5 -0
  575. package/dist/ray/.next/server/app/api/webhooks/github/[id]/route.js.nft.json +1 -0
  576. package/dist/ray/.next/server/app/api/webhooks/github/[id]/route_client-reference-manifest.js +3 -0
  577. package/dist/ray/.next/server/app/api/webhooks/github/route/app-paths-manifest.json +3 -0
  578. package/dist/ray/.next/server/app/api/webhooks/github/route/build-manifest.json +12 -0
  579. package/dist/ray/.next/server/app/api/webhooks/github/route/server-reference-manifest.json +4 -0
  580. package/dist/ray/.next/server/app/api/webhooks/github/route.js +9 -0
  581. package/dist/ray/.next/server/app/api/webhooks/github/route.js.map +5 -0
  582. package/dist/ray/.next/server/app/api/webhooks/github/route.js.nft.json +1 -0
  583. package/dist/ray/.next/server/app/api/webhooks/github/route_client-reference-manifest.js +3 -0
  584. package/dist/ray/.next/server/app/favicon.ico/route/app-paths-manifest.json +3 -0
  585. package/dist/ray/.next/server/app/favicon.ico/route/build-manifest.json +12 -0
  586. package/dist/ray/.next/server/app/favicon.ico/route.js +8 -0
  587. package/dist/ray/.next/server/app/favicon.ico/route.js.map +5 -0
  588. package/dist/ray/.next/server/app/favicon.ico/route.js.nft.json +1 -0
  589. package/dist/ray/.next/server/app/favicon.ico.body +0 -0
  590. package/dist/ray/.next/server/app/favicon.ico.meta +1 -0
  591. package/dist/ray/.next/server/app/login.html +1 -0
  592. package/dist/ray/.next/server/app/login.meta +31 -0
  593. package/dist/ray/.next/server/app/login.rsc +22 -0
  594. package/dist/ray/.next/server/app/login.segments/!KGF1dGgp/login/__PAGE__.segment.rsc +27 -0
  595. package/dist/ray/.next/server/app/login.segments/_full.segment.rsc +22 -0
  596. package/dist/ray/.next/server/app/login.segments/_tree.segment.rsc +4 -0
  597. package/dist/ray/.next/server/app/page/app-paths-manifest.json +3 -0
  598. package/dist/ray/.next/server/app/page/build-manifest.json +21 -0
  599. package/dist/ray/.next/server/app/page/next-font-manifest.json +11 -0
  600. package/dist/ray/.next/server/app/page/react-loadable-manifest.json +1 -0
  601. package/dist/ray/.next/server/app/page/server-reference-manifest.json +4 -0
  602. package/dist/ray/.next/server/app/page.js +15 -0
  603. package/dist/ray/.next/server/app/page.js.map +5 -0
  604. package/dist/ray/.next/server/app/page.js.nft.json +1 -0
  605. package/dist/ray/.next/server/app/page_client-reference-manifest.js +3 -0
  606. package/dist/ray/.next/server/app/register.html +1 -0
  607. package/dist/ray/.next/server/app/register.meta +31 -0
  608. package/dist/ray/.next/server/app/register.rsc +22 -0
  609. package/dist/ray/.next/server/app/register.segments/!KGF1dGgp/register/__PAGE__.segment.rsc +27 -0
  610. package/dist/ray/.next/server/app/register.segments/_full.segment.rsc +22 -0
  611. package/dist/ray/.next/server/app/register.segments/_tree.segment.rsc +4 -0
  612. package/dist/ray/.next/server/app-paths-manifest.json +78 -0
  613. package/dist/ray/.next/server/chunks/1oeh_server_app_api_deployments_internal_save-deployment_route_actions_16l57wt.js +3 -0
  614. package/dist/ray/.next/server/chunks/1oeh_server_app_api_monitor_internal_update-project_route_actions_0rv-_k_.js +3 -0
  615. package/dist/ray/.next/server/chunks/1oeh_server_app_api_monitor_projects_[id]_diagnose_route_actions_19rwss9.js +3 -0
  616. package/dist/ray/.next/server/chunks/[externals]__0_burez._.js +3 -0
  617. package/dist/ray/.next/server/chunks/[externals]__0bwk60o._.js +3 -0
  618. package/dist/ray/.next/server/chunks/[externals]__0su6gxy._.js +3 -0
  619. package/dist/ray/.next/server/chunks/[externals]__14kfdpf._.js +3 -0
  620. package/dist/ray/.next/server/chunks/[externals]_child_process_17eio63._.js +3 -0
  621. package/dist/ray/.next/server/chunks/[externals]_util_1jlmhhy._.js +3 -0
  622. package/dist/ray/.next/server/chunks/[root-of-the-server]__0-m2dss._.js +3 -0
  623. package/dist/ray/.next/server/chunks/[root-of-the-server]__00_hq9v._.js +153 -0
  624. package/dist/ray/.next/server/chunks/[root-of-the-server]__00fys1d._.js +3 -0
  625. package/dist/ray/.next/server/chunks/[root-of-the-server]__00gul7y._.js +3 -0
  626. package/dist/ray/.next/server/chunks/[root-of-the-server]__00p0nlw._.js +3 -0
  627. package/dist/ray/.next/server/chunks/[root-of-the-server]__02jvwmh._.js +3 -0
  628. package/dist/ray/.next/server/chunks/[root-of-the-server]__03-y9x_._.js +3 -0
  629. package/dist/ray/.next/server/chunks/[root-of-the-server]__04kysi4._.js +6 -0
  630. package/dist/ray/.next/server/chunks/[root-of-the-server]__07o6_7e._.js +3 -0
  631. package/dist/ray/.next/server/chunks/[root-of-the-server]__085oz7g._.js +3 -0
  632. package/dist/ray/.next/server/chunks/[root-of-the-server]__0brsz6n._.js +3 -0
  633. package/dist/ray/.next/server/chunks/[root-of-the-server]__0ceqo59._.js +3 -0
  634. package/dist/ray/.next/server/chunks/[root-of-the-server]__0dpk86c._.js +3 -0
  635. package/dist/ray/.next/server/chunks/[root-of-the-server]__0j0i--u._.js +3 -0
  636. package/dist/ray/.next/server/chunks/[root-of-the-server]__0jff-wg._.js +3 -0
  637. package/dist/ray/.next/server/chunks/[root-of-the-server]__0lijwpm._.js +3 -0
  638. package/dist/ray/.next/server/chunks/[root-of-the-server]__0mzel5m._.js +3 -0
  639. package/dist/ray/.next/server/chunks/[root-of-the-server]__0n31rue._.js +3 -0
  640. package/dist/ray/.next/server/chunks/[root-of-the-server]__0p-ah62._.js +3 -0
  641. package/dist/ray/.next/server/chunks/[root-of-the-server]__0ph8op9._.js +3 -0
  642. package/dist/ray/.next/server/chunks/[root-of-the-server]__0s9388-._.js +3 -0
  643. package/dist/ray/.next/server/chunks/[root-of-the-server]__0s9z45u._.js +3 -0
  644. package/dist/ray/.next/server/chunks/[root-of-the-server]__0spav2d._.js +3 -0
  645. package/dist/ray/.next/server/chunks/[root-of-the-server]__0t_2p_e._.js +3 -0
  646. package/dist/ray/.next/server/chunks/[root-of-the-server]__0tj_gck._.js +3 -0
  647. package/dist/ray/.next/server/chunks/[root-of-the-server]__0x54s0q._.js +3 -0
  648. package/dist/ray/.next/server/chunks/[root-of-the-server]__0xbtjoa._.js +3 -0
  649. package/dist/ray/.next/server/chunks/[root-of-the-server]__0zkidx6._.js +3 -0
  650. package/dist/ray/.next/server/chunks/[root-of-the-server]__10g8xkn._.js +3 -0
  651. package/dist/ray/.next/server/chunks/[root-of-the-server]__10stn5_._.js +3 -0
  652. package/dist/ray/.next/server/chunks/[root-of-the-server]__110dqtn._.js +3 -0
  653. package/dist/ray/.next/server/chunks/[root-of-the-server]__11pa906._.js +3 -0
  654. package/dist/ray/.next/server/chunks/[root-of-the-server]__12tyokc._.js +3 -0
  655. package/dist/ray/.next/server/chunks/[root-of-the-server]__14oyxq6._.js +3 -0
  656. package/dist/ray/.next/server/chunks/[root-of-the-server]__14sjgdf._.js +5 -0
  657. package/dist/ray/.next/server/chunks/[root-of-the-server]__15-fati._.js +3 -0
  658. package/dist/ray/.next/server/chunks/[root-of-the-server]__17e6c57._.js +6 -0
  659. package/dist/ray/.next/server/chunks/[root-of-the-server]__1d-w0wg._.js +3 -0
  660. package/dist/ray/.next/server/chunks/[root-of-the-server]__1fw9lv4._.js +3 -0
  661. package/dist/ray/.next/server/chunks/[root-of-the-server]__1fxmaq4._.js +3 -0
  662. package/dist/ray/.next/server/chunks/[root-of-the-server]__1jlb-hl._.js +3 -0
  663. package/dist/ray/.next/server/chunks/[root-of-the-server]__1m6l0st._.js +3 -0
  664. package/dist/ray/.next/server/chunks/[root-of-the-server]__1msdzjr._.js +3 -0
  665. package/dist/ray/.next/server/chunks/[root-of-the-server]__1nf6z4s._.js +165 -0
  666. package/dist/ray/.next/server/chunks/[root-of-the-server]__1psg21i._.js +3 -0
  667. package/dist/ray/.next/server/chunks/[root-of-the-server]__1rwurib._.js +3 -0
  668. package/dist/ray/.next/server/chunks/[root-of-the-server]__1u7y5z_._.js +3 -0
  669. package/dist/ray/.next/server/chunks/[root-of-the-server]__1uu427c._.js +3 -0
  670. package/dist/ray/.next/server/chunks/[root-of-the-server]__208tvax._.js +3 -0
  671. package/dist/ray/.next/server/chunks/[root-of-the-server]__20fiz3c._.js +3 -0
  672. package/dist/ray/.next/server/chunks/[root-of-the-server]__21bivwf._.js +3 -0
  673. package/dist/ray/.next/server/chunks/[turbopack]_runtime.js +807 -0
  674. package/dist/ray/.next/server/chunks/_0-yfwt_._.js +3 -0
  675. package/dist/ray/.next/server/chunks/_004qego._.js +3 -0
  676. package/dist/ray/.next/server/chunks/_06rjxfb._.js +3 -0
  677. package/dist/ray/.next/server/chunks/_0dr9glm._.js +5 -0
  678. package/dist/ray/.next/server/chunks/_0igzcb-._.js +4 -0
  679. package/dist/ray/.next/server/chunks/_0knpucz._.js +6 -0
  680. package/dist/ray/.next/server/chunks/_0mihiqc._.js +3 -0
  681. package/dist/ray/.next/server/chunks/_0qzh6lb._.js +3 -0
  682. package/dist/ray/.next/server/chunks/_0u5b_5s._.js +3 -0
  683. package/dist/ray/.next/server/chunks/_0zfb6l-._.js +6 -0
  684. package/dist/ray/.next/server/chunks/_0zkbs0c._.js +5 -0
  685. package/dist/ray/.next/server/chunks/_10ewwxb._.js +3 -0
  686. package/dist/ray/.next/server/chunks/_11x09ym._.js +6 -0
  687. package/dist/ray/.next/server/chunks/_12824ye._.js +3 -0
  688. package/dist/ray/.next/server/chunks/_146xyuw._.js +3 -0
  689. package/dist/ray/.next/server/chunks/_1g-wo_m._.js +7 -0
  690. package/dist/ray/.next/server/chunks/_1h-q25y._.js +3 -0
  691. package/dist/ray/.next/server/chunks/_1lndqp7._.js +3 -0
  692. package/dist/ray/.next/server/chunks/_1mxn_lb._.js +3 -0
  693. package/dist/ray/.next/server/chunks/_1o1h4lj._.js +6 -0
  694. package/dist/ray/.next/server/chunks/_1om7v4s._.js +3 -0
  695. package/dist/ray/.next/server/chunks/_1uiy6df._.js +19 -0
  696. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_auth_login_route_actions_1ox7zi0.js +3 -0
  697. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_auth_logout_route_actions_0regwyr.js +3 -0
  698. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_auth_register_route_actions_0g4vfdr.js +3 -0
  699. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_chat_route_actions_1d_pld-.js +3 -0
  700. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_cicd_[id]_route_actions_178ff8u.js +3 -0
  701. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_cicd_poll_route_actions_1m8gn_f.js +3 -0
  702. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_cicd_route_actions_00q85x3.js +3 -0
  703. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_containers_[id]_action_route_actions_0atcrmg.js +3 -0
  704. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_containers_[id]_logs_route_actions_1ad5fw1.js +3 -0
  705. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_containers_[id]_route_actions_1cyp5fy.js +3 -0
  706. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_containers_route_actions_07xxnqh.js +3 -0
  707. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_deploy_[id]_action_route_actions_1kel52u.js +3 -0
  708. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_deploy_route_actions_1jb0gl_.js +3 -0
  709. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_deploy_upload_route_actions_17d0eqy.js +3 -0
  710. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_deployments_[id]_diagnose_route_actions_0w2ihfl.js +3 -0
  711. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_deployments_[id]_redeploy_route_actions_0ui73a2.js +3 -0
  712. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_deployments_[id]_route_actions_038rkvv.js +3 -0
  713. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_deployments_active_route_actions_0zgmbtm.js +3 -0
  714. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_deployments_route_actions_1f_eb99.js +3 -0
  715. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_github_app_callback_route_actions_0zg34iu.js +3 -0
  716. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_github_app_manifest_route_actions_1_2dhal.js +3 -0
  717. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_github_connect_route_actions_0qg3ppd.js +3 -0
  718. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_github_repos_route_actions_1usicza.js +3 -0
  719. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_github_route_actions_1zpdgoh.js +3 -0
  720. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_github_status_route_actions_1l82gyr.js +3 -0
  721. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_monitor_alerts_[id]_route_actions_0qosujn.js +3 -0
  722. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_monitor_alerts_route_actions_0n-m8tw.js +3 -0
  723. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_monitor_internal_add-project_route_actions_17kkmz8.js +3 -0
  724. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_monitor_process_route_actions_1rmvb83.js +3 -0
  725. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_monitor_projects_[id]_fix_route_actions_032q0u-.js +3 -0
  726. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_monitor_projects_[id]_logs_route_actions_13cplry.js +3 -0
  727. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_monitor_projects_[id]_memory_route_actions_0yr3pn7.js +3 -0
  728. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_monitor_projects_[id]_route_actions_0enie3k.js +3 -0
  729. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_monitor_projects_[id]_run_route_actions_0gwk_h3.js +3 -0
  730. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_monitor_projects_route_actions_1_3-j7x.js +3 -0
  731. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_monitor_stream_route_actions_1f22mb6.js +3 -0
  732. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_ports_route_actions_1epz24h.js +3 -0
  733. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_projects_[id]_domain-check_route_actions_1rj_zug.js +3 -0
  734. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_projects_[id]_env_route_actions_0ce2m54.js +3 -0
  735. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_projects_[id]_file-content_route_actions_19olxry.js +3 -0
  736. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_projects_[id]_files_route_actions_0ugi5a5.js +3 -0
  737. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_projects_[id]_route_actions_0xth066.js +3 -0
  738. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_projects_route_actions_0h5ne2f.js +3 -0
  739. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_sessions_[id]_generate-title_route_actions_0jzyt4m.js +3 -0
  740. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_sessions_[id]_messages_route_actions_1t3zmy6.js +3 -0
  741. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_sessions_[id]_route_actions_0ppm8x-.js +3 -0
  742. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_sessions_route_actions_1lwcye0.js +3 -0
  743. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_settings_route_actions_1bpm9ac.js +3 -0
  744. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_webhooks_github_[id]_route_actions_1g8u78o.js +3 -0
  745. package/dist/ray/.next/server/chunks/_next-internal_server_app_api_webhooks_github_route_actions_1kcg086.js +3 -0
  746. package/dist/ray/.next/server/chunks/_next-internal_server_app_favicon_ico_route_actions_0g2jjls.js +3 -0
  747. package/dist/ray/.next/server/chunks/node_modules_bcryptjs_index_0k82xso.js +3 -0
  748. package/dist/ray/.next/server/chunks/node_modules_next_1_14bcs._.js +3 -0
  749. package/dist/ray/.next/server/chunks/node_modules_next_1zdbrne._.js +10 -0
  750. package/dist/ray/.next/server/chunks/src_lib_1hgyysj._.js +3 -0
  751. package/dist/ray/.next/server/chunks/src_lib_auth_ts_1_aqh19._.js +3 -0
  752. package/dist/ray/.next/server/chunks/src_lib_cicd-sync_ts_098uczb._.js +3 -0
  753. package/dist/ray/.next/server/chunks/src_lib_github-app_ts_1b5tnv1._.js +3 -0
  754. package/dist/ray/.next/server/chunks/src_lib_port-manager_ts_18dpekm._.js +3 -0
  755. package/dist/ray/.next/server/chunks/src_lib_settings_ts_1mn2j0n._.js +3 -0
  756. package/dist/ray/.next/server/chunks/ssr/[externals]_node_path_1pmhwj3._.js +3 -0
  757. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__01g-0nc._.js +3 -0
  758. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__038v-gh._.js +3 -0
  759. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__04ekmqn._.js +3 -0
  760. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0_l3wob._.js +3 -0
  761. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0a2-efg._.js +3 -0
  762. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0a_psut._.js +3 -0
  763. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0e5tza8._.js +3 -0
  764. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0gboso8._.js +3 -0
  765. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0gz2but._.js +3 -0
  766. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0hg5gib._.js +33 -0
  767. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0hn4xlv._.js +3 -0
  768. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0i48bpf._.js +54 -0
  769. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0j1jv2k._.js +3 -0
  770. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0n3n_r_._.js +4 -0
  771. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0t4_c67._.js +3 -0
  772. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0w8myo0._.js +3 -0
  773. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__0xtssj3._.js +3 -0
  774. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__17v-f6m._.js +14 -0
  775. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__1_h7ex8._.js +3 -0
  776. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__1_u_x8w._.js +3 -0
  777. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__1d4nq1g._.js +3 -0
  778. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__1fp1d8o._.js +3 -0
  779. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__1jnbbbr._.js +3 -0
  780. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__1k9qnxu._.js +33 -0
  781. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__1mkuege._.js +3 -0
  782. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__1phe9fx._.js +4 -0
  783. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__1q2--xw._.js +3 -0
  784. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__1ut539c._.js +3 -0
  785. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__1vs0leg._.js +3 -0
  786. package/dist/ray/.next/server/chunks/ssr/[root-of-the-server]__1xd2-ld._.js +3 -0
  787. package/dist/ray/.next/server/chunks/ssr/[turbopack]_runtime.js +807 -0
  788. package/dist/ray/.next/server/chunks/ssr/_0d1f_2z._.js +23 -0
  789. package/dist/ray/.next/server/chunks/ssr/_1_4a0wv._.js +23 -0
  790. package/dist/ray/.next/server/chunks/ssr/_1kysctd._.js +19 -0
  791. package/dist/ray/.next/server/chunks/ssr/_1lh0agw._.js +3 -0
  792. package/dist/ray/.next/server/chunks/ssr/_1qxsll8._.js +3 -0
  793. package/dist/ray/.next/server/chunks/ssr/_1vk1his._.js +5 -0
  794. package/dist/ray/.next/server/chunks/ssr/_1vzw803._.js +23 -0
  795. package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(auth)_login_page_actions_1jr42c1.js +3 -0
  796. package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(auth)_register_page_actions_04l6fhn.js +3 -0
  797. package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_chat_[sessionId]_page_actions_1rh_o0l.js +3 -0
  798. package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_chat_page_actions_0d6mkhk.js +3 -0
  799. package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_cicd_[id]_page_actions_1xfmr84.js +3 -0
  800. package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_cicd_page_actions_1d03sqw.js +3 -0
  801. package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_containers_[id]_page_actions_0doi5za.js +3 -0
  802. package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_containers_page_actions_0_ww-ad.js +3 -0
  803. package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_deployments_[id]_page_actions_20y9uey.js +3 -0
  804. package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_deployments_page_actions_0fu3iro.js +3 -0
  805. package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_github_page_actions_1tx_3r-.js +3 -0
  806. package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_monitor_[id]_page_actions_003kpqa.js +3 -0
  807. package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_monitor_page_actions_1ogpdj3.js +3 -0
  808. package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_page_actions_081_9zj.js +3 -0
  809. package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_projects_[id]_page_actions_0puqd88.js +3 -0
  810. package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_projects_page_actions_20sdhto.js +3 -0
  811. package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_(dashboard)_settings_page_actions_0sbdv_1.js +3 -0
  812. package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js +3 -0
  813. package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yr.js +3 -0
  814. package/dist/ray/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1j.js +3 -0
  815. package/dist/ray/.next/server/chunks/ssr/app_(auth)_layout_tsx_1vfqhb4._.js +3 -0
  816. package/dist/ray/.next/server/chunks/ssr/app_(dashboard)_cicd_[id]_page_tsx_12t87_j._.js +3 -0
  817. package/dist/ray/.next/server/chunks/ssr/app_(dashboard)_cicd_page_tsx_0t0k1hz._.js +3 -0
  818. package/dist/ray/.next/server/chunks/ssr/app_(dashboard)_containers_[id]_page_tsx_1yp5npr._.js +3 -0
  819. package/dist/ray/.next/server/chunks/ssr/app_(dashboard)_containers_page_tsx_1kssro3._.js +3 -0
  820. package/dist/ray/.next/server/chunks/ssr/app_(dashboard)_deployments_[id]_page_tsx_041ro4o._.js +3 -0
  821. package/dist/ray/.next/server/chunks/ssr/app_(dashboard)_deployments_page_tsx_13f_f2f._.js +3 -0
  822. package/dist/ray/.next/server/chunks/ssr/app_(dashboard)_github_page_tsx_1zoi9kw._.js +3 -0
  823. package/dist/ray/.next/server/chunks/ssr/app_(dashboard)_monitor_[id]_page_tsx_086thg6._.js +3 -0
  824. package/dist/ray/.next/server/chunks/ssr/app_(dashboard)_monitor_page_tsx_0z85uxa._.js +3 -0
  825. package/dist/ray/.next/server/chunks/ssr/app_(dashboard)_projects_[id]_page_tsx_212l__t._.js +3 -0
  826. package/dist/ray/.next/server/chunks/ssr/app_(dashboard)_projects_page_tsx_0h6o0mb._.js +3 -0
  827. package/dist/ray/.next/server/chunks/ssr/app_(dashboard)_settings_page_tsx_1hwv4x8._.js +3 -0
  828. package/dist/ray/.next/server/chunks/ssr/node_modules_1wax83z._.js +33 -0
  829. package/dist/ray/.next/server/chunks/ssr/node_modules_@iconify_react_dist_iconify_1c0t5dh.js +3 -0
  830. package/dist/ray/.next/server/chunks/ssr/node_modules_@swc_helpers_cjs__interop_require_default_cjs_1ztp13a._.js +3 -0
  831. package/dist/ray/.next/server/chunks/ssr/node_modules_next_0q-cedu._.js +151 -0
  832. package/dist/ray/.next/server/chunks/ssr/node_modules_next_0x3i8za._.js +131 -0
  833. package/dist/ray/.next/server/chunks/ssr/node_modules_next_1ri7jnr._.js +151 -0
  834. package/dist/ray/.next/server/chunks/ssr/node_modules_next_dist_019lm6c._.js +3 -0
  835. package/dist/ray/.next/server/chunks/ssr/node_modules_next_dist_0ufhxsd._.js +3 -0
  836. package/dist/ray/.next/server/chunks/ssr/node_modules_next_dist_1n3w9lb._.js +6 -0
  837. package/dist/ray/.next/server/chunks/ssr/node_modules_next_dist_1v8aef8._.js +3 -0
  838. package/dist/ray/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js +3 -0
  839. package/dist/ray/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js +3 -0
  840. package/dist/ray/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892.js +3 -0
  841. package/dist/ray/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js +3 -0
  842. package/dist/ray/.next/server/chunks/ssr/src_components_ClientLayout_tsx_09h5za2._.js +4 -0
  843. package/dist/ray/.next/server/chunks/ssr/src_lib_auth_ts_11yt3pa._.js +3 -0
  844. package/dist/ray/.next/server/functions-config-manifest.json +54 -0
  845. package/dist/ray/.next/server/middleware-build-manifest.js +25 -0
  846. package/dist/ray/.next/server/middleware-manifest.json +6 -0
  847. package/dist/ray/.next/server/middleware.js +5 -0
  848. package/dist/ray/.next/server/next-font-manifest.js +1 -0
  849. package/dist/ray/.next/server/next-font-manifest.json +91 -0
  850. package/dist/ray/.next/server/pages/404.html +1 -0
  851. package/dist/ray/.next/server/pages/500.html +1 -0
  852. package/dist/ray/.next/server/pages-manifest.json +4 -0
  853. package/dist/ray/.next/server/prefetch-hints.json +63 -0
  854. package/dist/ray/.next/server/server-reference-manifest.js +1 -0
  855. package/dist/ray/.next/server/server-reference-manifest.json +22 -0
  856. package/dist/ray/.next/static/Hhx7q8xLPLV444ELbuAGL/_buildManifest.js +11 -0
  857. package/dist/ray/.next/static/Hhx7q8xLPLV444ELbuAGL/_clientMiddlewareManifest.js +26 -0
  858. package/dist/ray/.next/static/Hhx7q8xLPLV444ELbuAGL/_ssgManifest.js +1 -0
  859. package/dist/ray/.next/static/chunks/057zaow3ejc2s.js +3 -0
  860. package/dist/ray/.next/static/chunks/0cl8a5ke4ebd-.js +1 -0
  861. package/dist/ray/.next/static/chunks/0cz1d0mv5g_q7.js +1 -0
  862. package/dist/ray/.next/static/chunks/0edte-771726v.js +22 -0
  863. package/dist/ray/.next/static/chunks/0ehjiuuxbbhq9.js +1 -0
  864. package/dist/ray/.next/static/chunks/0h2boyvse-55_.js +1 -0
  865. package/dist/ray/.next/static/chunks/0lx_9ubdg54-q.js +1 -0
  866. package/dist/ray/.next/static/chunks/0mn5c-hbwvron.js +1 -0
  867. package/dist/ray/.next/static/chunks/11be91k_gj8bl.js +1 -0
  868. package/dist/ray/.next/static/chunks/1cndzqkdiiv5d.js +2 -0
  869. package/dist/ray/.next/static/chunks/1kcfbnumrv6bw.js +1 -0
  870. package/dist/ray/.next/static/chunks/1sor35imexzf_.js +52 -0
  871. package/dist/ray/.next/static/chunks/1w-bqsd916ol7.js +1 -0
  872. package/dist/ray/.next/static/chunks/1zvw3x1hotg92.js +1 -0
  873. package/dist/ray/.next/static/chunks/26bihah57sagr.js +1 -0
  874. package/dist/ray/.next/static/chunks/28gn02g-uwi5m.js +31 -0
  875. package/dist/ray/.next/static/chunks/2_mtnd40ksed5.js +1 -0
  876. package/dist/ray/.next/static/chunks/2kxrkwdtqtpn_.js +1 -0
  877. package/dist/ray/.next/static/chunks/2od_4s-_f7365.css +3 -0
  878. package/dist/ray/.next/static/chunks/2r4gozoz7uq_w.js +1 -0
  879. package/dist/ray/.next/static/chunks/2uf20jtnosvwz.js +1 -0
  880. package/dist/ray/.next/static/chunks/2uky4weffsyt6.js +1 -0
  881. package/dist/ray/.next/static/chunks/3069xhmif25yi.js +1 -0
  882. package/dist/ray/.next/static/chunks/36lykygisjvqk.js +1 -0
  883. package/dist/ray/.next/static/chunks/3ks7vxg9c78or.js +1 -0
  884. package/dist/ray/.next/static/chunks/3oo43sgxzkog4.js +1 -0
  885. package/dist/ray/.next/static/chunks/3rt1e672-3al9.js +1 -0
  886. package/dist/ray/.next/static/chunks/turbopack-1mudd67qgc20e.js +1 -0
  887. package/dist/ray/.next/static/media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2 +0 -0
  888. package/dist/ray/.next/static/media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2 +0 -0
  889. package/dist/ray/.next/static/media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2 +0 -0
  890. package/dist/ray/.next/static/media/49f942778c02d562-s.p.1xq-g4rc1ujk8.woff2 +0 -0
  891. package/dist/ray/.next/static/media/5476f68d60460930-s.2uwcyprjm3xu3.woff2 +0 -0
  892. package/dist/ray/.next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2 +0 -0
  893. package/dist/ray/.next/static/media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2 +0 -0
  894. package/dist/ray/.next/static/media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2 +0 -0
  895. package/dist/ray/.next/static/media/d3fb408517bcf18c-s.08pyjpi43yc3w.woff2 +0 -0
  896. package/dist/ray/.next/static/media/favicon.2b0rxwd35s4-e.ico +0 -0
  897. package/dist/ray/next.config.ts +8 -0
  898. package/dist/ray/node_modules/.prisma/client/default.js +5 -0
  899. package/dist/ray/node_modules/.prisma/client/index.js +433 -0
  900. package/dist/ray/node_modules/.prisma/client/package.json +139 -0
  901. package/dist/ray/node_modules/.prisma/client/query_compiler_fast_bg.js +2 -0
  902. package/dist/ray/node_modules/.prisma/client/query_compiler_fast_bg.wasm-base64.js +2 -0
  903. package/dist/ray/node_modules/@emnapi/runtime/dist/emnapi.cjs.js +1398 -0
  904. package/dist/ray/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.js +1 -0
  905. package/dist/ray/node_modules/@emnapi/runtime/index.js +5 -0
  906. package/dist/ray/node_modules/@emnapi/runtime/package.json +48 -0
  907. package/dist/ray/node_modules/@img/colour/color.cjs +1596 -0
  908. package/dist/ray/node_modules/@img/colour/index.cjs +1 -0
  909. package/dist/ray/node_modules/@img/colour/package.json +58 -0
  910. package/dist/ray/node_modules/@img/sharp-darwin-arm64/index.cjs +2 -0
  911. package/dist/ray/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64-0.35.4.node +0 -0
  912. package/dist/ray/node_modules/@img/sharp-darwin-arm64/package.json +41 -0
  913. package/dist/ray/node_modules/@img/sharp-libvips-darwin-arm64/README.md +46 -0
  914. package/dist/ray/node_modules/@img/sharp-libvips-darwin-arm64/lib/glib-2.0/include/glibconfig.h +218 -0
  915. package/dist/ray/node_modules/@img/sharp-libvips-darwin-arm64/lib/index.js +1 -0
  916. package/dist/ray/node_modules/@img/sharp-libvips-darwin-arm64/lib/libvips-cpp.8.18.6.dylib +0 -0
  917. package/dist/ray/node_modules/@img/sharp-libvips-darwin-arm64/package.json +37 -0
  918. package/dist/ray/node_modules/@img/sharp-libvips-darwin-arm64/versions.json +30 -0
  919. package/dist/ray/node_modules/@img/sharp-wasm32/index.cjs +1 -0
  920. package/dist/ray/node_modules/@img/sharp-wasm32/lib/sharp-wasm32-0.35.4.node.js +1 -0
  921. package/dist/ray/node_modules/@img/sharp-wasm32/lib/sharp-wasm32-0.35.4.node.wasm +0 -0
  922. package/dist/ray/node_modules/@img/sharp-wasm32/package.json +37 -0
  923. package/dist/ray/node_modules/@img/sharp-wasm32/versions.json +21 -0
  924. package/dist/ray/node_modules/@next/env/dist/index.js +1 -0
  925. package/dist/ray/node_modules/@next/env/package.json +36 -0
  926. package/dist/ray/node_modules/@prisma/client/default.js +3 -0
  927. package/dist/ray/node_modules/@prisma/client/package.json +276 -0
  928. package/dist/ray/node_modules/@prisma/client/runtime/client.js +101 -0
  929. package/dist/ray/node_modules/@prisma/client-runtime-utils/dist/index.js +2559 -0
  930. package/dist/ray/node_modules/@prisma/client-runtime-utils/package.json +39 -0
  931. package/dist/ray/node_modules/@swc/helpers/cjs/_interop_require_default.cjs +6 -0
  932. package/dist/ray/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs +38 -0
  933. package/dist/ray/node_modules/@swc/helpers/esm/_interop_require_default.js +4 -0
  934. package/dist/ray/node_modules/@swc/helpers/esm/_interop_require_wildcard.js +36 -0
  935. package/dist/ray/node_modules/@swc/helpers/package.json +705 -0
  936. package/dist/ray/node_modules/client-only/index.js +0 -0
  937. package/dist/ray/node_modules/client-only/package.json +19 -0
  938. package/dist/ray/node_modules/detect-libc/lib/detect-libc.js +313 -0
  939. package/dist/ray/node_modules/detect-libc/lib/elf.js +39 -0
  940. package/dist/ray/node_modules/detect-libc/lib/filesystem.js +51 -0
  941. package/dist/ray/node_modules/detect-libc/lib/process.js +24 -0
  942. package/dist/ray/node_modules/detect-libc/package.json +44 -0
  943. package/dist/ray/node_modules/next/dist/build/adapter/setup-node-env.external.js +15 -0
  944. package/dist/ray/node_modules/next/dist/build/define-env.js +263 -0
  945. package/dist/ray/node_modules/next/dist/build/duration-to-string.js +98 -0
  946. package/dist/ray/node_modules/next/dist/build/get-supported-browsers.js +38 -0
  947. package/dist/ray/node_modules/next/dist/build/next-config-ts/require-hook.js +85 -0
  948. package/dist/ray/node_modules/next/dist/build/next-config-ts/transpile-config.js +140 -0
  949. package/dist/ray/node_modules/next/dist/build/output/format.js +84 -0
  950. package/dist/ray/node_modules/next/dist/build/output/log.js +135 -0
  951. package/dist/ray/node_modules/next/dist/build/segment-config/app/app-segment-config.js +178 -0
  952. package/dist/ray/node_modules/next/dist/build/segment-config/app/app-segments.js +147 -0
  953. package/dist/ray/node_modules/next/dist/build/segment-config/app/collect-root-param-keys.js +52 -0
  954. package/dist/ray/node_modules/next/dist/build/static-paths/app/extract-pathname-route-param-segments-from-loader-tree.js +137 -0
  955. package/dist/ray/node_modules/next/dist/build/static-paths/app.js +783 -0
  956. package/dist/ray/node_modules/next/dist/build/static-paths/pages.js +169 -0
  957. package/dist/ray/node_modules/next/dist/build/static-paths/utils.js +119 -0
  958. package/dist/ray/node_modules/next/dist/build/swc/helpers.js +15 -0
  959. package/dist/ray/node_modules/next/dist/build/swc/index.js +1409 -0
  960. package/dist/ray/node_modules/next/dist/build/swc/install-bindings.js +30 -0
  961. package/dist/ray/node_modules/next/dist/build/swc/jest-transformer.js +77 -0
  962. package/dist/ray/node_modules/next/dist/build/swc/loaderWorkerPool.js +40 -0
  963. package/dist/ray/node_modules/next/dist/build/swc/options.js +411 -0
  964. package/dist/ray/node_modules/next/dist/build/swc/types.js +6 -0
  965. package/dist/ray/node_modules/next/dist/build/utils.js +1258 -0
  966. package/dist/ray/node_modules/next/dist/cli/next-test.js +171 -0
  967. package/dist/ray/node_modules/next/dist/client/add-base-path.js +24 -0
  968. package/dist/ray/node_modules/next/dist/client/app-call-server.js +34 -0
  969. package/dist/ray/node_modules/next/dist/client/app-find-source-map-url.js +39 -0
  970. package/dist/ray/node_modules/next/dist/client/assign-location.js +29 -0
  971. package/dist/ray/node_modules/next/dist/client/components/app-router-announcer.js +78 -0
  972. package/dist/ray/node_modules/next/dist/client/components/app-router-headers.js +128 -0
  973. package/dist/ray/node_modules/next/dist/client/components/app-router-instance.js +407 -0
  974. package/dist/ray/node_modules/next/dist/client/components/app-router-utils.js +62 -0
  975. package/dist/ray/node_modules/next/dist/client/components/app-router.js +522 -0
  976. package/dist/ray/node_modules/next/dist/client/components/builtin/default.js +35 -0
  977. package/dist/ray/node_modules/next/dist/client/components/builtin/error-styles.js +165 -0
  978. package/dist/ray/node_modules/next/dist/client/components/builtin/global-error.js +100 -0
  979. package/dist/ray/node_modules/next/dist/client/components/dev-root-http-access-fallback-boundary.js +52 -0
  980. package/dist/ray/node_modules/next/dist/client/components/error-boundary.js +148 -0
  981. package/dist/ray/node_modules/next/dist/client/components/errors/graceful-degrade-boundary.js +86 -0
  982. package/dist/ray/node_modules/next/dist/client/components/errors/root-error-boundary.js +41 -0
  983. package/dist/ray/node_modules/next/dist/client/components/forbidden.js +48 -0
  984. package/dist/ray/node_modules/next/dist/client/components/handle-isr-error.js +30 -0
  985. package/dist/ray/node_modules/next/dist/client/components/hooks-server-context.js +42 -0
  986. package/dist/ray/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js +125 -0
  987. package/dist/ray/node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js +72 -0
  988. package/dist/ray/node_modules/next/dist/client/components/instant-samples.js +134 -0
  989. package/dist/ray/node_modules/next/dist/client/components/is-next-router-error.js +23 -0
  990. package/dist/ray/node_modules/next/dist/client/components/links.js +316 -0
  991. package/dist/ray/node_modules/next/dist/client/components/match-segments.js +32 -0
  992. package/dist/ray/node_modules/next/dist/client/components/nav-failure-handler.js +61 -0
  993. package/dist/ray/node_modules/next/dist/client/components/navigation-devtools.js +126 -0
  994. package/dist/ray/node_modules/next/dist/client/components/navigation-dynamic-rendering.js +38 -0
  995. package/dist/ray/node_modules/next/dist/client/components/navigation-untracked.js +69 -0
  996. package/dist/ray/node_modules/next/dist/client/components/navigation.js +246 -0
  997. package/dist/ray/node_modules/next/dist/client/components/navigation.react-server.js +75 -0
  998. package/dist/ray/node_modules/next/dist/client/components/not-found.js +42 -0
  999. package/dist/ray/node_modules/next/dist/client/components/offline.js +172 -0
  1000. package/dist/ray/node_modules/next/dist/client/components/readonly-url-search-params.js +46 -0
  1001. package/dist/ray/node_modules/next/dist/client/components/redirect-boundary.js +107 -0
  1002. package/dist/ray/node_modules/next/dist/client/components/redirect-error.js +43 -0
  1003. package/dist/ray/node_modules/next/dist/client/components/redirect-status-code.js +24 -0
  1004. package/dist/ray/node_modules/next/dist/client/components/redirect.js +91 -0
  1005. package/dist/ray/node_modules/next/dist/client/components/router-reducer/compute-changed-path.js +205 -0
  1006. package/dist/ray/node_modules/next/dist/client/components/router-reducer/create-href-from-url.js +21 -0
  1007. package/dist/ray/node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js +161 -0
  1008. package/dist/ray/node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js +32 -0
  1009. package/dist/ray/node_modules/next/dist/client/components/router-reducer/fetch-server-response.js +603 -0
  1010. package/dist/ray/node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js +70 -0
  1011. package/dist/ray/node_modules/next/dist/client/components/router-reducer/ppr-navigations.js +1474 -0
  1012. package/dist/ray/node_modules/next/dist/client/components/router-reducer/reducers/committed-state.js +49 -0
  1013. package/dist/ray/node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js +63 -0
  1014. package/dist/ray/node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js +38 -0
  1015. package/dist/ray/node_modules/next/dist/client/components/router-reducer/reducers/hmr-refresh-reducer.js +29 -0
  1016. package/dist/ray/node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js +56 -0
  1017. package/dist/ray/node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js +90 -0
  1018. package/dist/ray/node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js +75 -0
  1019. package/dist/ray/node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js +349 -0
  1020. package/dist/ray/node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js +67 -0
  1021. package/dist/ray/node_modules/next/dist/client/components/router-reducer/router-reducer-types.js +70 -0
  1022. package/dist/ray/node_modules/next/dist/client/components/router-reducer/router-reducer.js +74 -0
  1023. package/dist/ray/node_modules/next/dist/client/components/router-reducer/set-cache-busting-search-param.js +66 -0
  1024. package/dist/ray/node_modules/next/dist/client/components/router-transition.js +135 -0
  1025. package/dist/ray/node_modules/next/dist/client/components/segment-cache/bfcache.js +130 -0
  1026. package/dist/ray/node_modules/next/dist/client/components/segment-cache/cache-key.js +56 -0
  1027. package/dist/ray/node_modules/next/dist/client/components/segment-cache/cache-map.js +326 -0
  1028. package/dist/ray/node_modules/next/dist/client/components/segment-cache/cache.js +2684 -0
  1029. package/dist/ray/node_modules/next/dist/client/components/segment-cache/fetch.js +37 -0
  1030. package/dist/ray/node_modules/next/dist/client/components/segment-cache/lru.js +152 -0
  1031. package/dist/ray/node_modules/next/dist/client/components/segment-cache/navigation-testing-lock.js +415 -0
  1032. package/dist/ray/node_modules/next/dist/client/components/segment-cache/navigation.js +773 -0
  1033. package/dist/ray/node_modules/next/dist/client/components/segment-cache/optimistic-routes.js +648 -0
  1034. package/dist/ray/node_modules/next/dist/client/components/segment-cache/prefetch.js +32 -0
  1035. package/dist/ray/node_modules/next/dist/client/components/segment-cache/scheduler.js +1770 -0
  1036. package/dist/ray/node_modules/next/dist/client/components/segment-cache/types.js +84 -0
  1037. package/dist/ray/node_modules/next/dist/client/components/segment-cache/vary-path.js +326 -0
  1038. package/dist/ray/node_modules/next/dist/client/components/server-async-storage.js +43 -0
  1039. package/dist/ray/node_modules/next/dist/client/components/static-generation-bailout.js +42 -0
  1040. package/dist/ray/node_modules/next/dist/client/components/unauthorized.js +49 -0
  1041. package/dist/ray/node_modules/next/dist/client/components/unrecognized-action-error.js +39 -0
  1042. package/dist/ray/node_modules/next/dist/client/components/unresolved-thenable.js +23 -0
  1043. package/dist/ray/node_modules/next/dist/client/components/unstable-rethrow.js +32 -0
  1044. package/dist/ray/node_modules/next/dist/client/components/use-action-queue.js +148 -0
  1045. package/dist/ray/node_modules/next/dist/client/components/use-offline.js +68 -0
  1046. package/dist/ray/node_modules/next/dist/client/dev/debug-channel.js +428 -0
  1047. package/dist/ray/node_modules/next/dist/client/flight-data-helpers.js +235 -0
  1048. package/dist/ray/node_modules/next/dist/client/has-base-path.js +23 -0
  1049. package/dist/ray/node_modules/next/dist/client/lib/console.js +177 -0
  1050. package/dist/ray/node_modules/next/dist/client/lib/javascript-url.js +32 -0
  1051. package/dist/ray/node_modules/next/dist/client/navigation-build-id.js +53 -0
  1052. package/dist/ray/node_modules/next/dist/client/normalize-trailing-slash.js +37 -0
  1053. package/dist/ray/node_modules/next/dist/client/remove-base-path.js +32 -0
  1054. package/dist/ray/node_modules/next/dist/client/route-params.js +249 -0
  1055. package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js +339 -0
  1056. package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/cookies/package.json +1 -0
  1057. package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/ponyfill/index.js +46 -0
  1058. package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/ponyfill/package.json +1 -0
  1059. package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/primitives/abort-controller.js.text.js +1 -0
  1060. package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/primitives/console.js.text.js +1 -0
  1061. package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/primitives/events.js.text.js +1 -0
  1062. package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/primitives/index.js +5 -0
  1063. package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/primitives/load.js +18713 -0
  1064. package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/primitives/package.json +1 -0
  1065. package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/primitives/stream.js +44 -0
  1066. package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/primitives/timers.js.text.js +1 -0
  1067. package/dist/ray/node_modules/next/dist/compiled/@edge-runtime/primitives/url.js.text.js +1 -0
  1068. package/dist/ray/node_modules/next/dist/compiled/@hapi/accept/index.js +1 -0
  1069. package/dist/ray/node_modules/next/dist/compiled/@hapi/accept/package.json +1 -0
  1070. package/dist/ray/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/index.js +1 -0
  1071. package/dist/ray/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/package.json +1 -0
  1072. package/dist/ray/node_modules/next/dist/compiled/@napi-rs/triples/index.js +1 -0
  1073. package/dist/ray/node_modules/next/dist/compiled/@napi-rs/triples/package.json +1 -0
  1074. package/dist/ray/node_modules/next/dist/compiled/@opentelemetry/api/index.js +1 -0
  1075. package/dist/ray/node_modules/next/dist/compiled/@opentelemetry/api/package.json +1 -0
  1076. package/dist/ray/node_modules/next/dist/compiled/@vercel/detect-agent/index.js +1 -0
  1077. package/dist/ray/node_modules/next/dist/compiled/@vercel/detect-agent/package.json +1 -0
  1078. package/dist/ray/node_modules/next/dist/compiled/async-retry/index.js +1 -0
  1079. package/dist/ray/node_modules/next/dist/compiled/async-retry/package.json +1 -0
  1080. package/dist/ray/node_modules/next/dist/compiled/async-sema/index.js +1 -0
  1081. package/dist/ray/node_modules/next/dist/compiled/async-sema/package.json +1 -0
  1082. package/dist/ray/node_modules/next/dist/compiled/busboy/index.js +1 -0
  1083. package/dist/ray/node_modules/next/dist/compiled/busboy/package.json +1 -0
  1084. package/dist/ray/node_modules/next/dist/compiled/bytes/index.js +8 -0
  1085. package/dist/ray/node_modules/next/dist/compiled/bytes/package.json +1 -0
  1086. package/dist/ray/node_modules/next/dist/compiled/ci-info/index.js +1 -0
  1087. package/dist/ray/node_modules/next/dist/compiled/ci-info/package.json +1 -0
  1088. package/dist/ray/node_modules/next/dist/compiled/commander/index.js +1 -0
  1089. package/dist/ray/node_modules/next/dist/compiled/commander/package.json +1 -0
  1090. package/dist/ray/node_modules/next/dist/compiled/comment-json/index.js +7 -0
  1091. package/dist/ray/node_modules/next/dist/compiled/comment-json/package.json +1 -0
  1092. package/dist/ray/node_modules/next/dist/compiled/compression/index.js +58 -0
  1093. package/dist/ray/node_modules/next/dist/compiled/compression/package.json +1 -0
  1094. package/dist/ray/node_modules/next/dist/compiled/conf/index.js +3 -0
  1095. package/dist/ray/node_modules/next/dist/compiled/conf/package.json +1 -0
  1096. package/dist/ray/node_modules/next/dist/compiled/content-disposition/index.js +6 -0
  1097. package/dist/ray/node_modules/next/dist/compiled/content-disposition/package.json +1 -0
  1098. package/dist/ray/node_modules/next/dist/compiled/cookie/index.js +7 -0
  1099. package/dist/ray/node_modules/next/dist/compiled/cookie/package.json +1 -0
  1100. package/dist/ray/node_modules/next/dist/compiled/cross-spawn/index.js +1 -0
  1101. package/dist/ray/node_modules/next/dist/compiled/cross-spawn/package.json +1 -0
  1102. package/dist/ray/node_modules/next/dist/compiled/debug/index.js +1 -0
  1103. package/dist/ray/node_modules/next/dist/compiled/debug/package.json +1 -0
  1104. package/dist/ray/node_modules/next/dist/compiled/edge-runtime/index.js +1 -0
  1105. package/dist/ray/node_modules/next/dist/compiled/edge-runtime/package.json +1 -0
  1106. package/dist/ray/node_modules/next/dist/compiled/find-up/index.js +1 -0
  1107. package/dist/ray/node_modules/next/dist/compiled/find-up/package.json +1 -0
  1108. package/dist/ray/node_modules/next/dist/compiled/fresh/index.js +8 -0
  1109. package/dist/ray/node_modules/next/dist/compiled/fresh/package.json +1 -0
  1110. package/dist/ray/node_modules/next/dist/compiled/httpxy/index.js +1 -0
  1111. package/dist/ray/node_modules/next/dist/compiled/httpxy/package.json +1 -0
  1112. package/dist/ray/node_modules/next/dist/compiled/image-detector/detector.js +1 -0
  1113. package/dist/ray/node_modules/next/dist/compiled/image-size/index.js +1 -0
  1114. package/dist/ray/node_modules/next/dist/compiled/image-size/package.json +1 -0
  1115. package/dist/ray/node_modules/next/dist/compiled/ipaddr.js/ipaddr.js +1 -0
  1116. package/dist/ray/node_modules/next/dist/compiled/ipaddr.js/package.json +1 -0
  1117. package/dist/ray/node_modules/next/dist/compiled/is-animated/index.js +1 -0
  1118. package/dist/ray/node_modules/next/dist/compiled/is-animated/package.json +1 -0
  1119. package/dist/ray/node_modules/next/dist/compiled/is-docker/index.js +1 -0
  1120. package/dist/ray/node_modules/next/dist/compiled/is-docker/package.json +1 -0
  1121. package/dist/ray/node_modules/next/dist/compiled/is-wsl/index.js +1 -0
  1122. package/dist/ray/node_modules/next/dist/compiled/is-wsl/package.json +1 -0
  1123. package/dist/ray/node_modules/next/dist/compiled/jsonwebtoken/index.js +11 -0
  1124. package/dist/ray/node_modules/next/dist/compiled/jsonwebtoken/package.json +1 -0
  1125. package/dist/ray/node_modules/next/dist/compiled/nanoid/index.cjs +1 -0
  1126. package/dist/ray/node_modules/next/dist/compiled/nanoid/package.json +1 -0
  1127. package/dist/ray/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +183 -0
  1128. package/dist/ray/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +183 -0
  1129. package/dist/ray/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +6 -0
  1130. package/dist/ray/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +20 -0
  1131. package/dist/ray/node_modules/next/dist/compiled/p-limit/index.js +1 -0
  1132. package/dist/ray/node_modules/next/dist/compiled/p-limit/package.json +1 -0
  1133. package/dist/ray/node_modules/next/dist/compiled/p-queue/index.js +1 -0
  1134. package/dist/ray/node_modules/next/dist/compiled/p-queue/package.json +1 -0
  1135. package/dist/ray/node_modules/next/dist/compiled/path-browserify/index.js +1 -0
  1136. package/dist/ray/node_modules/next/dist/compiled/path-browserify/package.json +1 -0
  1137. package/dist/ray/node_modules/next/dist/compiled/path-to-regexp/index.js +1 -0
  1138. package/dist/ray/node_modules/next/dist/compiled/path-to-regexp/package.json +1 -0
  1139. package/dist/ray/node_modules/next/dist/compiled/picomatch/index.js +1 -0
  1140. package/dist/ray/node_modules/next/dist/compiled/picomatch/package.json +1 -0
  1141. package/dist/ray/node_modules/next/dist/compiled/react-is/cjs/react-is.development.js +133 -0
  1142. package/dist/ray/node_modules/next/dist/compiled/react-is/cjs/react-is.production.js +130 -0
  1143. package/dist/ray/node_modules/next/dist/compiled/react-is/index.js +7 -0
  1144. package/dist/ray/node_modules/next/dist/compiled/react-is/package.json +26 -0
  1145. package/dist/ray/node_modules/next/dist/compiled/regenerator-runtime/package.json +19 -0
  1146. package/dist/ray/node_modules/next/dist/compiled/regenerator-runtime/runtime.js +729 -0
  1147. package/dist/ray/node_modules/next/dist/compiled/semver/index.js +1 -0
  1148. package/dist/ray/node_modules/next/dist/compiled/semver/package.json +1 -0
  1149. package/dist/ray/node_modules/next/dist/compiled/send/index.js +70 -0
  1150. package/dist/ray/node_modules/next/dist/compiled/send/package.json +1 -0
  1151. package/dist/ray/node_modules/next/dist/compiled/source-map/package.json +1 -0
  1152. package/dist/ray/node_modules/next/dist/compiled/source-map/source-map.js +1 -0
  1153. package/dist/ray/node_modules/next/dist/compiled/stacktrace-parser/package.json +1 -0
  1154. package/dist/ray/node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js +1 -0
  1155. package/dist/ray/node_modules/next/dist/compiled/string-hash/index.js +1 -0
  1156. package/dist/ray/node_modules/next/dist/compiled/string-hash/package.json +1 -0
  1157. package/dist/ray/node_modules/next/dist/compiled/strip-ansi/index.js +1 -0
  1158. package/dist/ray/node_modules/next/dist/compiled/strip-ansi/package.json +1 -0
  1159. package/dist/ray/node_modules/next/dist/compiled/superstruct/index.cjs +1 -0
  1160. package/dist/ray/node_modules/next/dist/compiled/superstruct/package.json +1 -0
  1161. package/dist/ray/node_modules/next/dist/compiled/tar/index.min.js +1 -0
  1162. package/dist/ray/node_modules/next/dist/compiled/tar/package.json +1 -0
  1163. package/dist/ray/node_modules/next/dist/compiled/text-table/index.js +1 -0
  1164. package/dist/ray/node_modules/next/dist/compiled/text-table/package.json +1 -0
  1165. package/dist/ray/node_modules/next/dist/compiled/watchpack/package.json +1 -0
  1166. package/dist/ray/node_modules/next/dist/compiled/watchpack/watchpack.js +1 -0
  1167. package/dist/ray/node_modules/next/dist/compiled/write-file-atomic/index.js +1 -0
  1168. package/dist/ray/node_modules/next/dist/compiled/write-file-atomic/package.json +1 -0
  1169. package/dist/ray/node_modules/next/dist/compiled/ws/index.js +1 -0
  1170. package/dist/ray/node_modules/next/dist/compiled/ws/package.json +1 -0
  1171. package/dist/ray/node_modules/next/dist/compiled/zod/index.cjs +1 -0
  1172. package/dist/ray/node_modules/next/dist/compiled/zod/package.json +1 -0
  1173. package/dist/ray/node_modules/next/dist/compiled/zod-validation-error/index.js +1 -0
  1174. package/dist/ray/node_modules/next/dist/compiled/zod-validation-error/package.json +1 -0
  1175. package/dist/ray/node_modules/next/dist/experimental/testmode/context.js +57 -0
  1176. package/dist/ray/node_modules/next/dist/experimental/testmode/fetch.js +150 -0
  1177. package/dist/ray/node_modules/next/dist/experimental/testmode/httpget.js +33 -0
  1178. package/dist/ray/node_modules/next/dist/experimental/testmode/server-edge.js +32 -0
  1179. package/dist/ray/node_modules/next/dist/experimental/testmode/server.js +73 -0
  1180. package/dist/ray/node_modules/next/dist/export/helpers/create-incremental-cache.js +61 -0
  1181. package/dist/ray/node_modules/next/dist/lib/batcher.js +65 -0
  1182. package/dist/ray/node_modules/next/dist/lib/build-custom-route.js +46 -0
  1183. package/dist/ray/node_modules/next/dist/lib/bundler.js +168 -0
  1184. package/dist/ray/node_modules/next/dist/lib/client-and-server-references.js +54 -0
  1185. package/dist/ray/node_modules/next/dist/lib/coalesced-function.js +39 -0
  1186. package/dist/ray/node_modules/next/dist/lib/compile-error.js +14 -0
  1187. package/dist/ray/node_modules/next/dist/lib/constants.js +420 -0
  1188. package/dist/ray/node_modules/next/dist/lib/create-client-router-filter.js +83 -0
  1189. package/dist/ray/node_modules/next/dist/lib/default-transpiled-packages.json +1 -0
  1190. package/dist/ray/node_modules/next/dist/lib/detached-promise.js +32 -0
  1191. package/dist/ray/node_modules/next/dist/lib/detect-typo.js +51 -0
  1192. package/dist/ray/node_modules/next/dist/lib/download-swc.js +183 -0
  1193. package/dist/ray/node_modules/next/dist/lib/error-telemetry-utils.js +42 -0
  1194. package/dist/ray/node_modules/next/dist/lib/fallback.js +100 -0
  1195. package/dist/ray/node_modules/next/dist/lib/file-exists.js +53 -0
  1196. package/dist/ray/node_modules/next/dist/lib/find-config.js +102 -0
  1197. package/dist/ray/node_modules/next/dist/lib/find-pages-dir.js +65 -0
  1198. package/dist/ray/node_modules/next/dist/lib/find-root.js +280 -0
  1199. package/dist/ray/node_modules/next/dist/lib/format-cli-help-output.js +84 -0
  1200. package/dist/ray/node_modules/next/dist/lib/format-dynamic-import-path.js +43 -0
  1201. package/dist/ray/node_modules/next/dist/lib/format-server-error.js +75 -0
  1202. package/dist/ray/node_modules/next/dist/lib/framework/boundary-components.js +62 -0
  1203. package/dist/ray/node_modules/next/dist/lib/framework/boundary-constants.js +36 -0
  1204. package/dist/ray/node_modules/next/dist/lib/fs/rename.js +87 -0
  1205. package/dist/ray/node_modules/next/dist/lib/fs/write-atomic.js +28 -0
  1206. package/dist/ray/node_modules/next/dist/lib/generate-interception-routes-rewrites.js +52 -0
  1207. package/dist/ray/node_modules/next/dist/lib/get-files-in-dir.js +33 -0
  1208. package/dist/ray/node_modules/next/dist/lib/get-network-host.js +44 -0
  1209. package/dist/ray/node_modules/next/dist/lib/get-package-version.js +118 -0
  1210. package/dist/ray/node_modules/next/dist/lib/get-project-dir.js +51 -0
  1211. package/dist/ray/node_modules/next/dist/lib/git-worktree.js +74 -0
  1212. package/dist/ray/node_modules/next/dist/lib/has-necessary-dependencies.js +49 -0
  1213. package/dist/ray/node_modules/next/dist/lib/helpers/get-cache-directory.js +66 -0
  1214. package/dist/ray/node_modules/next/dist/lib/helpers/get-npx-command.js +29 -0
  1215. package/dist/ray/node_modules/next/dist/lib/helpers/get-online.js +50 -0
  1216. package/dist/ray/node_modules/next/dist/lib/helpers/get-pkg-manager.js +65 -0
  1217. package/dist/ray/node_modules/next/dist/lib/helpers/get-registry.js +45 -0
  1218. package/dist/ray/node_modules/next/dist/lib/helpers/get-reserved-port.js +116 -0
  1219. package/dist/ray/node_modules/next/dist/lib/helpers/git.js +59 -0
  1220. package/dist/ray/node_modules/next/dist/lib/helpers/install.js +83 -0
  1221. package/dist/ray/node_modules/next/dist/lib/import-next-warning.js +50 -0
  1222. package/dist/ray/node_modules/next/dist/lib/inline-static-env.js +112 -0
  1223. package/dist/ray/node_modules/next/dist/lib/install-dependencies.js +40 -0
  1224. package/dist/ray/node_modules/next/dist/lib/interop-default.js +16 -0
  1225. package/dist/ray/node_modules/next/dist/lib/is-api-route.js +15 -0
  1226. package/dist/ray/node_modules/next/dist/lib/is-app-page-route.js +15 -0
  1227. package/dist/ray/node_modules/next/dist/lib/is-app-route-route.js +15 -0
  1228. package/dist/ray/node_modules/next/dist/lib/is-edge-runtime.js +16 -0
  1229. package/dist/ray/node_modules/next/dist/lib/is-error.js +78 -0
  1230. package/dist/ray/node_modules/next/dist/lib/is-interception-route-rewrite.js +18 -0
  1231. package/dist/ray/node_modules/next/dist/lib/is-internal-component.js +36 -0
  1232. package/dist/ray/node_modules/next/dist/lib/is-serializable-props.js +111 -0
  1233. package/dist/ray/node_modules/next/dist/lib/known-edge-safe-packages.json +1 -0
  1234. package/dist/ray/node_modules/next/dist/lib/load-custom-routes.js +594 -0
  1235. package/dist/ray/node_modules/next/dist/lib/memory/gc-observer.js +53 -0
  1236. package/dist/ray/node_modules/next/dist/lib/memory/shutdown.js +29 -0
  1237. package/dist/ray/node_modules/next/dist/lib/memory/startup.js +47 -0
  1238. package/dist/ray/node_modules/next/dist/lib/memory/trace.js +109 -0
  1239. package/dist/ray/node_modules/next/dist/lib/metadata/constants.js +40 -0
  1240. package/dist/ray/node_modules/next/dist/lib/metadata/default-metadata.js +82 -0
  1241. package/dist/ray/node_modules/next/dist/lib/metadata/generate/icon-mark.js +22 -0
  1242. package/dist/ray/node_modules/next/dist/lib/metadata/generate/utils.js +52 -0
  1243. package/dist/ray/node_modules/next/dist/lib/metadata/get-metadata-route.js +162 -0
  1244. package/dist/ray/node_modules/next/dist/lib/metadata/is-metadata-route.js +221 -0
  1245. package/dist/ray/node_modules/next/dist/lib/metadata/metadata-context.js +18 -0
  1246. package/dist/ray/node_modules/next/dist/lib/metadata/metadata.js +1660 -0
  1247. package/dist/ray/node_modules/next/dist/lib/metadata/resolve-metadata.js +884 -0
  1248. package/dist/ray/node_modules/next/dist/lib/metadata/resolvers/resolve-basics.js +232 -0
  1249. package/dist/ray/node_modules/next/dist/lib/metadata/resolvers/resolve-icons.js +56 -0
  1250. package/dist/ray/node_modules/next/dist/lib/metadata/resolvers/resolve-opengraph.js +199 -0
  1251. package/dist/ray/node_modules/next/dist/lib/metadata/resolvers/resolve-title.js +40 -0
  1252. package/dist/ray/node_modules/next/dist/lib/metadata/resolvers/resolve-url.js +135 -0
  1253. package/dist/ray/node_modules/next/dist/lib/metadata/types/alternative-urls-types.js +7 -0
  1254. package/dist/ray/node_modules/next/dist/lib/metadata/types/extra-types.js +9 -0
  1255. package/dist/ray/node_modules/next/dist/lib/metadata/types/icons.js +6 -0
  1256. package/dist/ray/node_modules/next/dist/lib/metadata/types/manifest-types.js +6 -0
  1257. package/dist/ray/node_modules/next/dist/lib/metadata/types/metadata-interface.js +18 -0
  1258. package/dist/ray/node_modules/next/dist/lib/metadata/types/metadata-types.js +10 -0
  1259. package/dist/ray/node_modules/next/dist/lib/metadata/types/opengraph-types.js +6 -0
  1260. package/dist/ray/node_modules/next/dist/lib/metadata/types/resolvers.js +6 -0
  1261. package/dist/ray/node_modules/next/dist/lib/metadata/types/twitter-types.js +7 -0
  1262. package/dist/ray/node_modules/next/dist/lib/mime-type.js +20 -0
  1263. package/dist/ray/node_modules/next/dist/lib/mkcert.js +204 -0
  1264. package/dist/ray/node_modules/next/dist/lib/multi-file-writer.js +75 -0
  1265. package/dist/ray/node_modules/next/dist/lib/needs-experimental-react.js +16 -0
  1266. package/dist/ray/node_modules/next/dist/lib/non-nullable.js +15 -0
  1267. package/dist/ray/node_modules/next/dist/lib/normalize-path.js +21 -0
  1268. package/dist/ray/node_modules/next/dist/lib/oxford-comma-list.js +15 -0
  1269. package/dist/ray/node_modules/next/dist/lib/page-types.js +18 -0
  1270. package/dist/ray/node_modules/next/dist/lib/patch-incorrect-lockfile.js +185 -0
  1271. package/dist/ray/node_modules/next/dist/lib/pick.js +19 -0
  1272. package/dist/ray/node_modules/next/dist/lib/picocolors.js +177 -0
  1273. package/dist/ray/node_modules/next/dist/lib/pretty-bytes.js +74 -0
  1274. package/dist/ray/node_modules/next/dist/lib/profiles-dir.js +45 -0
  1275. package/dist/ray/node_modules/next/dist/lib/realpath.js +20 -0
  1276. package/dist/ray/node_modules/next/dist/lib/recursive-copy.js +76 -0
  1277. package/dist/ray/node_modules/next/dist/lib/recursive-delete.js +137 -0
  1278. package/dist/ray/node_modules/next/dist/lib/recursive-readdir.js +124 -0
  1279. package/dist/ray/node_modules/next/dist/lib/redirect-status.js +46 -0
  1280. package/dist/ray/node_modules/next/dist/lib/require-instrumentation-client.js +32 -0
  1281. package/dist/ray/node_modules/next/dist/lib/resolve-build-paths.js +182 -0
  1282. package/dist/ray/node_modules/next/dist/lib/resolve-from.js +65 -0
  1283. package/dist/ray/node_modules/next/dist/lib/route-pattern-normalizer.js +107 -0
  1284. package/dist/ray/node_modules/next/dist/lib/scheduler.js +64 -0
  1285. package/dist/ray/node_modules/next/dist/lib/semver-noop.js +18 -0
  1286. package/dist/ray/node_modules/next/dist/lib/server-external-packages.jsonc +103 -0
  1287. package/dist/ray/node_modules/next/dist/lib/setup-exception-listeners.js +11 -0
  1288. package/dist/ray/node_modules/next/dist/lib/static-env.js +92 -0
  1289. package/dist/ray/node_modules/next/dist/lib/try-to-parse-path.js +67 -0
  1290. package/dist/ray/node_modules/next/dist/lib/turbopack-cache-seed.js +171 -0
  1291. package/dist/ray/node_modules/next/dist/lib/turbopack-warning.js +185 -0
  1292. package/dist/ray/node_modules/next/dist/lib/typescript/diagnosticFormatter.js +243 -0
  1293. package/dist/ray/node_modules/next/dist/lib/typescript/getTypeScriptConfiguration.js +73 -0
  1294. package/dist/ray/node_modules/next/dist/lib/typescript/getTypeScriptIntent.js +52 -0
  1295. package/dist/ray/node_modules/next/dist/lib/typescript/loadTsConfig.js +181 -0
  1296. package/dist/ray/node_modules/next/dist/lib/typescript/missingDependencyError.js +26 -0
  1297. package/dist/ray/node_modules/next/dist/lib/typescript/runTypeCheck.js +149 -0
  1298. package/dist/ray/node_modules/next/dist/lib/typescript/runTypeCheckCli.js +53 -0
  1299. package/dist/ray/node_modules/next/dist/lib/typescript/runTypeScriptCli.js +256 -0
  1300. package/dist/ray/node_modules/next/dist/lib/typescript/type-paths.js +51 -0
  1301. package/dist/ray/node_modules/next/dist/lib/typescript/writeAppTypeDeclarations.js +77 -0
  1302. package/dist/ray/node_modules/next/dist/lib/typescript/writeConfigurationDefaults.js +395 -0
  1303. package/dist/ray/node_modules/next/dist/lib/url.js +75 -0
  1304. package/dist/ray/node_modules/next/dist/lib/verify-partytown-setup.js +104 -0
  1305. package/dist/ray/node_modules/next/dist/lib/verify-root-layout.js +165 -0
  1306. package/dist/ray/node_modules/next/dist/lib/verify-typescript-setup.js +269 -0
  1307. package/dist/ray/node_modules/next/dist/lib/wait.js +19 -0
  1308. package/dist/ray/node_modules/next/dist/lib/with-promise-cache.js +24 -0
  1309. package/dist/ray/node_modules/next/dist/lib/worker.js +234 -0
  1310. package/dist/ray/node_modules/next/dist/server/ReactDOMServerPages.js +16 -0
  1311. package/dist/ray/node_modules/next/dist/server/accept-header.js +132 -0
  1312. package/dist/ray/node_modules/next/dist/server/after/after-context.js +178 -0
  1313. package/dist/ray/node_modules/next/dist/server/after/after.js +28 -0
  1314. package/dist/ray/node_modules/next/dist/server/after/awaiter.js +74 -0
  1315. package/dist/ray/node_modules/next/dist/server/after/builtin-request-context.js +38 -0
  1316. package/dist/ray/node_modules/next/dist/server/after/index.js +21 -0
  1317. package/dist/ray/node_modules/next/dist/server/after/run-with-after.js +35 -0
  1318. package/dist/ray/node_modules/next/dist/server/api-utils/get-cookie-parser.js +22 -0
  1319. package/dist/ray/node_modules/next/dist/server/api-utils/index.js +217 -0
  1320. package/dist/ray/node_modules/next/dist/server/api-utils/node/api-resolver.js +395 -0
  1321. package/dist/ray/node_modules/next/dist/server/api-utils/node/parse-body.js +79 -0
  1322. package/dist/ray/node_modules/next/dist/server/api-utils/node/try-get-preview-data.js +89 -0
  1323. package/dist/ray/node_modules/next/dist/server/api-utils/web.js +17 -0
  1324. package/dist/ray/node_modules/next/dist/server/app-render/action-async-storage-instance.js +14 -0
  1325. package/dist/ray/node_modules/next/dist/server/app-render/action-async-storage.external.js +13 -0
  1326. package/dist/ray/node_modules/next/dist/server/app-render/action-handler.js +1125 -0
  1327. package/dist/ray/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js +14 -0
  1328. package/dist/ray/node_modules/next/dist/server/app-render/after-task-async-storage.external.js +13 -0
  1329. package/dist/ray/node_modules/next/dist/server/app-render/app-render-prerender-utils.js +332 -0
  1330. package/dist/ray/node_modules/next/dist/server/app-render/app-render-render-utils.js +76 -0
  1331. package/dist/ray/node_modules/next/dist/server/app-render/app-render-scheduling.js +188 -0
  1332. package/dist/ray/node_modules/next/dist/server/app-render/app-render.js +6496 -0
  1333. package/dist/ray/node_modules/next/dist/server/app-render/async-local-storage.js +76 -0
  1334. package/dist/ray/node_modules/next/dist/server/app-render/blocking-route-messages.js +181 -0
  1335. package/dist/ray/node_modules/next/dist/server/app-render/cache-signal.js +181 -0
  1336. package/dist/ray/node_modules/next/dist/server/app-render/collect-segment-data.js +937 -0
  1337. package/dist/ray/node_modules/next/dist/server/app-render/console-async-storage-instance.js +14 -0
  1338. package/dist/ray/node_modules/next/dist/server/app-render/console-async-storage.external.js +13 -0
  1339. package/dist/ray/node_modules/next/dist/server/app-render/create-component-styles-and-scripts.js +38 -0
  1340. package/dist/ray/node_modules/next/dist/server/app-render/create-component-tree.js +806 -0
  1341. package/dist/ray/node_modules/next/dist/server/app-render/create-error-handler.js +190 -0
  1342. package/dist/ray/node_modules/next/dist/server/app-render/create-flight-router-state-from-loader-tree.js +154 -0
  1343. package/dist/ray/node_modules/next/dist/server/app-render/csrf-protection.js +86 -0
  1344. package/dist/ray/node_modules/next/dist/server/app-render/debug-channel-server.js +47 -0
  1345. package/dist/ray/node_modules/next/dist/server/app-render/debug-channel-server.node.js +60 -0
  1346. package/dist/ray/node_modules/next/dist/server/app-render/debug-channel-server.web.js +60 -0
  1347. package/dist/ray/node_modules/next/dist/server/app-render/dev-validation-error-delivery.js +37 -0
  1348. package/dist/ray/node_modules/next/dist/server/app-render/dev-validation-events.js +26 -0
  1349. package/dist/ray/node_modules/next/dist/server/app-render/dev-validation-scheduler.js +87 -0
  1350. package/dist/ray/node_modules/next/dist/server/app-render/dev-validation-worker-globals.js +41 -0
  1351. package/dist/ray/node_modules/next/dist/server/app-render/dev-validation-worker-snapshot.js +79 -0
  1352. package/dist/ray/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js +14 -0
  1353. package/dist/ray/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js +13 -0
  1354. package/dist/ray/node_modules/next/dist/server/app-render/dynamic-rendering.js +1201 -0
  1355. package/dist/ray/node_modules/next/dist/server/app-render/encryption-utils-server.js +114 -0
  1356. package/dist/ray/node_modules/next/dist/server/app-render/encryption-utils.js +93 -0
  1357. package/dist/ray/node_modules/next/dist/server/app-render/encryption.js +261 -0
  1358. package/dist/ray/node_modules/next/dist/server/app-render/entry-base.js +265 -0
  1359. package/dist/ray/node_modules/next/dist/server/app-render/flight-render-result.js +28 -0
  1360. package/dist/ray/node_modules/next/dist/server/app-render/get-asset-query-string.js +29 -0
  1361. package/dist/ray/node_modules/next/dist/server/app-render/get-css-inlined-link-tags.js +45 -0
  1362. package/dist/ray/node_modules/next/dist/server/app-render/get-layer-assets.js +69 -0
  1363. package/dist/ray/node_modules/next/dist/server/app-render/get-preloadable-fonts.js +39 -0
  1364. package/dist/ray/node_modules/next/dist/server/app-render/get-script-nonce-from-header.js +32 -0
  1365. package/dist/ray/node_modules/next/dist/server/app-render/get-short-dynamic-param-type.js +25 -0
  1366. package/dist/ray/node_modules/next/dist/server/app-render/has-loading-component-in-tree.js +19 -0
  1367. package/dist/ray/node_modules/next/dist/server/app-render/instant-test-bootstrap.js +20 -0
  1368. package/dist/ray/node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js +31 -0
  1369. package/dist/ray/node_modules/next/dist/server/app-render/instant-validation/boundary-impl.js +127 -0
  1370. package/dist/ray/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js +38 -0
  1371. package/dist/ray/node_modules/next/dist/server/app-render/instant-validation/instant-config.js +241 -0
  1372. package/dist/ray/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js +432 -0
  1373. package/dist/ray/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.js +33 -0
  1374. package/dist/ray/node_modules/next/dist/server/app-render/instant-validation/instant-validation.js +934 -0
  1375. package/dist/ray/node_modules/next/dist/server/app-render/instant-validation/stream-utils.js +96 -0
  1376. package/dist/ray/node_modules/next/dist/server/app-render/interop-default.js +17 -0
  1377. package/dist/ray/node_modules/next/dist/server/app-render/make-get-server-inserted-html.js +91 -0
  1378. package/dist/ray/node_modules/next/dist/server/app-render/manifests-singleton.js +327 -0
  1379. package/dist/ray/node_modules/next/dist/server/app-render/metadata-insertion/create-server-inserted-metadata.js +29 -0
  1380. package/dist/ray/node_modules/next/dist/server/app-render/module-loading/instrument-module-getter.js +32 -0
  1381. package/dist/ray/node_modules/next/dist/server/app-render/module-loading/track-dynamic-import.js +57 -0
  1382. package/dist/ray/node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js +32 -0
  1383. package/dist/ray/node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js +62 -0
  1384. package/dist/ray/node_modules/next/dist/server/app-render/parse-and-validate-flight-router-state.js +49 -0
  1385. package/dist/ray/node_modules/next/dist/server/app-render/postponed-state.js +230 -0
  1386. package/dist/ray/node_modules/next/dist/server/app-render/prospective-render-utils.js +74 -0
  1387. package/dist/ray/node_modules/next/dist/server/app-render/react-large-shell-error.js +17 -0
  1388. package/dist/ray/node_modules/next/dist/server/app-render/react-server.node.js +39 -0
  1389. package/dist/ray/node_modules/next/dist/server/app-render/render-css-resource.js +57 -0
  1390. package/dist/ray/node_modules/next/dist/server/app-render/required-scripts.js +76 -0
  1391. package/dist/ray/node_modules/next/dist/server/app-render/rsc/postpone.js +18 -0
  1392. package/dist/ray/node_modules/next/dist/server/app-render/rsc/preloads.js +74 -0
  1393. package/dist/ray/node_modules/next/dist/server/app-render/rsc/taint.js +79 -0
  1394. package/dist/ray/node_modules/next/dist/server/app-render/segment-explorer-path.js +128 -0
  1395. package/dist/ray/node_modules/next/dist/server/app-render/server-inserted-html.js +77 -0
  1396. package/dist/ray/node_modules/next/dist/server/app-render/staged-rendering.js +324 -0
  1397. package/dist/ray/node_modules/next/dist/server/app-render/stale-time.js +101 -0
  1398. package/dist/ray/node_modules/next/dist/server/app-render/stream-ops.js +155 -0
  1399. package/dist/ray/node_modules/next/dist/server/app-render/stream-ops.node.js +842 -0
  1400. package/dist/ray/node_modules/next/dist/server/app-render/stream-ops.web.js +249 -0
  1401. package/dist/ray/node_modules/next/dist/server/app-render/strip-flight-headers.js +18 -0
  1402. package/dist/ray/node_modules/next/dist/server/app-render/sync-io-messages.js +67 -0
  1403. package/dist/ray/node_modules/next/dist/server/app-render/types.js +65 -0
  1404. package/dist/ray/node_modules/next/dist/server/app-render/use-flight-response.js +217 -0
  1405. package/dist/ray/node_modules/next/dist/server/app-render/vary-params.js +261 -0
  1406. package/dist/ray/node_modules/next/dist/server/app-render/wait-for-response.js +36 -0
  1407. package/dist/ray/node_modules/next/dist/server/app-render/walk-tree-with-flight-router-state.js +237 -0
  1408. package/dist/ray/node_modules/next/dist/server/app-render/work-async-storage-instance.js +14 -0
  1409. package/dist/ray/node_modules/next/dist/server/app-render/work-async-storage.external.js +13 -0
  1410. package/dist/ray/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js +14 -0
  1411. package/dist/ray/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js +250 -0
  1412. package/dist/ray/node_modules/next/dist/server/async-storage/draft-mode-provider.js +62 -0
  1413. package/dist/ray/node_modules/next/dist/server/async-storage/request-store.js +201 -0
  1414. package/dist/ray/node_modules/next/dist/server/async-storage/with-store.js +6 -0
  1415. package/dist/ray/node_modules/next/dist/server/async-storage/work-store.js +98 -0
  1416. package/dist/ray/node_modules/next/dist/server/base-http/helpers.js +36 -0
  1417. package/dist/ray/node_modules/next/dist/server/base-http/index.js +54 -0
  1418. package/dist/ray/node_modules/next/dist/server/base-http/node.js +147 -0
  1419. package/dist/ray/node_modules/next/dist/server/base-http/web.js +124 -0
  1420. package/dist/ray/node_modules/next/dist/server/base-server.js +1957 -0
  1421. package/dist/ray/node_modules/next/dist/server/body-streams.js +122 -0
  1422. package/dist/ray/node_modules/next/dist/server/cache-dir.js +26 -0
  1423. package/dist/ray/node_modules/next/dist/server/capsize-font-metrics.json +181516 -0
  1424. package/dist/ray/node_modules/next/dist/server/ci-info.js +41 -0
  1425. package/dist/ray/node_modules/next/dist/server/client-component-renderer-logger.js +70 -0
  1426. package/dist/ray/node_modules/next/dist/server/config-schema.js +800 -0
  1427. package/dist/ray/node_modules/next/dist/server/config-shared.js +395 -0
  1428. package/dist/ray/node_modules/next/dist/server/config-utils.js +185 -0
  1429. package/dist/ray/node_modules/next/dist/server/config.js +1836 -0
  1430. package/dist/ray/node_modules/next/dist/server/create-deduped-by-callsite-server-error-logger.js +96 -0
  1431. package/dist/ray/node_modules/next/dist/server/crypto-utils.js +70 -0
  1432. package/dist/ray/node_modules/next/dist/server/dev/browser-logs/file-logger.js +186 -0
  1433. package/dist/ray/node_modules/next/dist/server/dev/browser-logs/receive-logs.js +610 -0
  1434. package/dist/ray/node_modules/next/dist/server/dev/browser-logs/source-map.js +222 -0
  1435. package/dist/ray/node_modules/next/dist/server/dev/debug-channel.js +112 -0
  1436. package/dist/ray/node_modules/next/dist/server/dev/dev-indicator-server-state.js +15 -0
  1437. package/dist/ray/node_modules/next/dist/server/dev/dev-validation-worker-pool.js +232 -0
  1438. package/dist/ray/node_modules/next/dist/server/dev/dev-validation-worker.js +308 -0
  1439. package/dist/ray/node_modules/next/dist/server/dev/get-source-map-from-file.js +100 -0
  1440. package/dist/ray/node_modules/next/dist/server/dev/hot-middleware.js +276 -0
  1441. package/dist/ray/node_modules/next/dist/server/dev/hot-reloader-rspack.js +171 -0
  1442. package/dist/ray/node_modules/next/dist/server/dev/hot-reloader-shared-utils.js +56 -0
  1443. package/dist/ray/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +1756 -0
  1444. package/dist/ray/node_modules/next/dist/server/dev/hot-reloader-types.js +60 -0
  1445. package/dist/ray/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1380 -0
  1446. package/dist/ray/node_modules/next/dist/server/dev/log-requests.js +152 -0
  1447. package/dist/ray/node_modules/next/dist/server/dev/messages.js +74 -0
  1448. package/dist/ray/node_modules/next/dist/server/dev/middleware-turbopack.js +422 -0
  1449. package/dist/ray/node_modules/next/dist/server/dev/middleware-webpack.js +495 -0
  1450. package/dist/ray/node_modules/next/dist/server/dev/node-stack-frames.js +81 -0
  1451. package/dist/ray/node_modules/next/dist/server/dev/on-demand-entry-handler.js +773 -0
  1452. package/dist/ray/node_modules/next/dist/server/dev/parse-version-info.js +108 -0
  1453. package/dist/ray/node_modules/next/dist/server/dev/require-cache.js +109 -0
  1454. package/dist/ray/node_modules/next/dist/server/dev/serialized-errors.js +67 -0
  1455. package/dist/ray/node_modules/next/dist/server/dev/server-action-logger.js +37 -0
  1456. package/dist/ray/node_modules/next/dist/server/dev/static-paths-worker.js +106 -0
  1457. package/dist/ray/node_modules/next/dist/server/dev/turbopack-utils.js +727 -0
  1458. package/dist/ray/node_modules/next/dist/server/dev/use-cache-probe-pool.js +177 -0
  1459. package/dist/ray/node_modules/next/dist/server/dev/use-cache-probe-worker.js +180 -0
  1460. package/dist/ray/node_modules/next/dist/server/dynamic-rendering-utils.js +285 -0
  1461. package/dist/ray/node_modules/next/dist/server/font-utils.js +43 -0
  1462. package/dist/ray/node_modules/next/dist/server/get-app-route-from-entrypoint.js +30 -0
  1463. package/dist/ray/node_modules/next/dist/server/get-page-files.js +40 -0
  1464. package/dist/ray/node_modules/next/dist/server/get-route-from-entrypoint.js +35 -0
  1465. package/dist/ray/node_modules/next/dist/server/image-optimizer.js +1248 -0
  1466. package/dist/ray/node_modules/next/dist/server/instrumentation/types.js +6 -0
  1467. package/dist/ray/node_modules/next/dist/server/instrumentation/utils.js +21 -0
  1468. package/dist/ray/node_modules/next/dist/server/internal-utils.js +39 -0
  1469. package/dist/ray/node_modules/next/dist/server/is-private-ip.js +36 -0
  1470. package/dist/ray/node_modules/next/dist/server/lib/app-dir-module.js +59 -0
  1471. package/dist/ray/node_modules/next/dist/server/lib/app-info-log.js +135 -0
  1472. package/dist/ray/node_modules/next/dist/server/lib/async-callback-set.js +29 -0
  1473. package/dist/ray/node_modules/next/dist/server/lib/cache-control.js +22 -0
  1474. package/dist/ray/node_modules/next/dist/server/lib/cache-handlers/default.external.js +18 -0
  1475. package/dist/ray/node_modules/next/dist/server/lib/cache-handlers/default.js +196 -0
  1476. package/dist/ray/node_modules/next/dist/server/lib/cache-handlers/types.js +8 -0
  1477. package/dist/ray/node_modules/next/dist/server/lib/chrome-devtools-workspace.js +116 -0
  1478. package/dist/ray/node_modules/next/dist/server/lib/clone-response.js +77 -0
  1479. package/dist/ray/node_modules/next/dist/server/lib/cpu-profile.js +56 -0
  1480. package/dist/ray/node_modules/next/dist/server/lib/decode-query-path-parameter.js +26 -0
  1481. package/dist/ray/node_modules/next/dist/server/lib/dedupe-fetch.js +163 -0
  1482. package/dist/ray/node_modules/next/dist/server/lib/dev-bundler-service.js +110 -0
  1483. package/dist/ray/node_modules/next/dist/server/lib/disk-lru-cache.external.js +57 -0
  1484. package/dist/ray/node_modules/next/dist/server/lib/encode-header-safe.js +44 -0
  1485. package/dist/ray/node_modules/next/dist/server/lib/etag.js +56 -0
  1486. package/dist/ray/node_modules/next/dist/server/lib/experimental/create-env-definitions.js +48 -0
  1487. package/dist/ray/node_modules/next/dist/server/lib/experimental/ppr.js +47 -0
  1488. package/dist/ray/node_modules/next/dist/server/lib/find-page-file.js +147 -0
  1489. package/dist/ray/node_modules/next/dist/server/lib/fix-mojibake.js +25 -0
  1490. package/dist/ray/node_modules/next/dist/server/lib/format-hostname.js +16 -0
  1491. package/dist/ray/node_modules/next/dist/server/lib/generate-agent-files.js +180 -0
  1492. package/dist/ray/node_modules/next/dist/server/lib/i18n-provider.js +129 -0
  1493. package/dist/ray/node_modules/next/dist/server/lib/implicit-tags.js +87 -0
  1494. package/dist/ray/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +348 -0
  1495. package/dist/ray/node_modules/next/dist/server/lib/incremental-cache/index.js +547 -0
  1496. package/dist/ray/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js +59 -0
  1497. package/dist/ray/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js +73 -0
  1498. package/dist/ray/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js +55 -0
  1499. package/dist/ray/node_modules/next/dist/server/lib/install-code-frame.js +22 -0
  1500. package/dist/ray/node_modules/next/dist/server/lib/is-ipv6.js +41 -0
  1501. package/dist/ray/node_modules/next/dist/server/lib/is-non-html-sec-fetch-dest.js +38 -0
  1502. package/dist/ray/node_modules/next/dist/server/lib/is-rsc-request.js +18 -0
  1503. package/dist/ray/node_modules/next/dist/server/lib/lazy-module.js +80 -0
  1504. package/dist/ray/node_modules/next/dist/server/lib/lazy-result.js +46 -0
  1505. package/dist/ray/node_modules/next/dist/server/lib/lru-cache.js +191 -0
  1506. package/dist/ray/node_modules/next/dist/server/lib/match-next-data-pathname.js +18 -0
  1507. package/dist/ray/node_modules/next/dist/server/lib/mock-request.js +441 -0
  1508. package/dist/ray/node_modules/next/dist/server/lib/module-loader/module-loader.js +8 -0
  1509. package/dist/ray/node_modules/next/dist/server/lib/module-loader/node-module-loader.js +25 -0
  1510. package/dist/ray/node_modules/next/dist/server/lib/module-loader/route-module-loader.js +26 -0
  1511. package/dist/ray/node_modules/next/dist/server/lib/node-fs-methods.js +28 -0
  1512. package/dist/ray/node_modules/next/dist/server/lib/params-utils.js +70 -0
  1513. package/dist/ray/node_modules/next/dist/server/lib/parse-stack.js +46 -0
  1514. package/dist/ray/node_modules/next/dist/server/lib/patch-fetch.js +1027 -0
  1515. package/dist/ray/node_modules/next/dist/server/lib/patch-set-header.js +45 -0
  1516. package/dist/ray/node_modules/next/dist/server/lib/postponed-request-body.js +64 -0
  1517. package/dist/ray/node_modules/next/dist/server/lib/release-compression-stream.js +24 -0
  1518. package/dist/ray/node_modules/next/dist/server/lib/render-server.js +157 -0
  1519. package/dist/ray/node_modules/next/dist/server/lib/router-server.js +756 -0
  1520. package/dist/ray/node_modules/next/dist/server/lib/router-utils/block-cross-site-dev.js +110 -0
  1521. package/dist/ray/node_modules/next/dist/server/lib/router-utils/build-data-route.js +48 -0
  1522. package/dist/ray/node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.js +50 -0
  1523. package/dist/ray/node_modules/next/dist/server/lib/router-utils/cache-life-type-utils.js +212 -0
  1524. package/dist/ray/node_modules/next/dist/server/lib/router-utils/decode-path-params.js +42 -0
  1525. package/dist/ray/node_modules/next/dist/server/lib/router-utils/filesystem.js +612 -0
  1526. package/dist/ray/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js +89 -0
  1527. package/dist/ray/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js +114 -0
  1528. package/dist/ray/node_modules/next/dist/server/lib/router-utils/is-postpone.js +16 -0
  1529. package/dist/ray/node_modules/next/dist/server/lib/router-utils/proxy-request.js +128 -0
  1530. package/dist/ray/node_modules/next/dist/server/lib/router-utils/resolve-routes.js +646 -0
  1531. package/dist/ray/node_modules/next/dist/server/lib/router-utils/root-params-type-utils.js +61 -0
  1532. package/dist/ray/node_modules/next/dist/server/lib/router-utils/route-types-utils.js +326 -0
  1533. package/dist/ray/node_modules/next/dist/server/lib/router-utils/router-server-context.js +26 -0
  1534. package/dist/ray/node_modules/next/dist/server/lib/router-utils/typegen.js +892 -0
  1535. package/dist/ray/node_modules/next/dist/server/lib/router-utils/types.js +6 -0
  1536. package/dist/ray/node_modules/next/dist/server/lib/server-action-request-meta.js +53 -0
  1537. package/dist/ray/node_modules/next/dist/server/lib/server-ipc/utils.js +83 -0
  1538. package/dist/ray/node_modules/next/dist/server/lib/source-maps.js +241 -0
  1539. package/dist/ray/node_modules/next/dist/server/lib/start-server.js +540 -0
  1540. package/dist/ray/node_modules/next/dist/server/lib/streaming-metadata.js +27 -0
  1541. package/dist/ray/node_modules/next/dist/server/lib/to-route.js +37 -0
  1542. package/dist/ray/node_modules/next/dist/server/lib/trace/constants.js +208 -0
  1543. package/dist/ray/node_modules/next/dist/server/lib/trace/local-span-recorder.js +385 -0
  1544. package/dist/ray/node_modules/next/dist/server/lib/trace/request-insights-identity.js +39 -0
  1545. package/dist/ray/node_modules/next/dist/server/lib/trace/request-insights.js +308 -0
  1546. package/dist/ray/node_modules/next/dist/server/lib/trace/span-store.js +69 -0
  1547. package/dist/ray/node_modules/next/dist/server/lib/trace/tracer.js +392 -0
  1548. package/dist/ray/node_modules/next/dist/server/lib/trace/utils.js +16 -0
  1549. package/dist/ray/node_modules/next/dist/server/lib/types.js +6 -0
  1550. package/dist/ray/node_modules/next/dist/server/lib/utils.js +292 -0
  1551. package/dist/ray/node_modules/next/dist/server/lib/worker-utils.js +36 -0
  1552. package/dist/ray/node_modules/next/dist/server/load-components.js +185 -0
  1553. package/dist/ray/node_modules/next/dist/server/load-default-error-components.js +41 -0
  1554. package/dist/ray/node_modules/next/dist/server/load-manifest.external.js +117 -0
  1555. package/dist/ray/node_modules/next/dist/server/match-bundle.js +25 -0
  1556. package/dist/ray/node_modules/next/dist/server/mcp/get-mcp-middleware.js +49 -0
  1557. package/dist/ray/node_modules/next/dist/server/mcp/get-or-create-mcp-server.js +51 -0
  1558. package/dist/ray/node_modules/next/dist/server/mcp/mcp-telemetry-tracker.js +82 -0
  1559. package/dist/ray/node_modules/next/dist/server/mcp/tools/compile-route.js +86 -0
  1560. package/dist/ray/node_modules/next/dist/server/mcp/tools/get-compilation-issues.js +68 -0
  1561. package/dist/ray/node_modules/next/dist/server/mcp/tools/get-errors.js +114 -0
  1562. package/dist/ray/node_modules/next/dist/server/mcp/tools/get-logs.js +67 -0
  1563. package/dist/ray/node_modules/next/dist/server/mcp/tools/get-page-metadata.js +188 -0
  1564. package/dist/ray/node_modules/next/dist/server/mcp/tools/get-project-metadata.js +59 -0
  1565. package/dist/ray/node_modules/next/dist/server/mcp/tools/get-request-insights.js +57 -0
  1566. package/dist/ray/node_modules/next/dist/server/mcp/tools/get-routes.js +136 -0
  1567. package/dist/ray/node_modules/next/dist/server/mcp/tools/get-server-action-by-id.js +121 -0
  1568. package/dist/ray/node_modules/next/dist/server/mcp/tools/next-instance-error-state.js +31 -0
  1569. package/dist/ray/node_modules/next/dist/server/mcp/tools/utils/browser-communication.js +90 -0
  1570. package/dist/ray/node_modules/next/dist/server/mcp/tools/utils/format-compilation-issues.js +72 -0
  1571. package/dist/ray/node_modules/next/dist/server/mcp/tools/utils/format-errors.js +137 -0
  1572. package/dist/ray/node_modules/next/dist/server/mcp/tools/utils/resolve-path-to-route.js +49 -0
  1573. package/dist/ray/node_modules/next/dist/server/next-server.js +1443 -0
  1574. package/dist/ray/node_modules/next/dist/server/next-typescript.js +13 -0
  1575. package/dist/ray/node_modules/next/dist/server/next.js +485 -0
  1576. package/dist/ray/node_modules/next/dist/server/node-environment-baseline.js +25 -0
  1577. package/dist/ray/node_modules/next/dist/server/node-environment-extensions/console-dim.external.js +301 -0
  1578. package/dist/ray/node_modules/next/dist/server/node-environment-extensions/console-exit.js +49 -0
  1579. package/dist/ray/node_modules/next/dist/server/node-environment-extensions/console-file.js +56 -0
  1580. package/dist/ray/node_modules/next/dist/server/node-environment-extensions/date.js +52 -0
  1581. package/dist/ray/node_modules/next/dist/server/node-environment-extensions/error-inspect.js +8 -0
  1582. package/dist/ray/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js +577 -0
  1583. package/dist/ray/node_modules/next/dist/server/node-environment-extensions/global-behaviors.js +33 -0
  1584. package/dist/ray/node_modules/next/dist/server/node-environment-extensions/io-utils.js +102 -0
  1585. package/dist/ray/node_modules/next/dist/server/node-environment-extensions/node-crypto.js +103 -0
  1586. package/dist/ray/node_modules/next/dist/server/node-environment-extensions/process-error-handlers.js +170 -0
  1587. package/dist/ray/node_modules/next/dist/server/node-environment-extensions/random.js +28 -0
  1588. package/dist/ray/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js +518 -0
  1589. package/dist/ray/node_modules/next/dist/server/node-environment-extensions/web-crypto.js +45 -0
  1590. package/dist/ray/node_modules/next/dist/server/node-environment.js +19 -0
  1591. package/dist/ray/node_modules/next/dist/server/node-polyfill-crypto.js +21 -0
  1592. package/dist/ray/node_modules/next/dist/server/normalizers/absolute-filename-normalizer.js +33 -0
  1593. package/dist/ray/node_modules/next/dist/server/normalizers/built/app/app-bundle-path-normalizer.js +54 -0
  1594. package/dist/ray/node_modules/next/dist/server/normalizers/built/app/app-filename-normalizer.js +22 -0
  1595. package/dist/ray/node_modules/next/dist/server/normalizers/built/app/app-page-normalizer.js +40 -0
  1596. package/dist/ray/node_modules/next/dist/server/normalizers/built/app/app-pathname-normalizer.js +55 -0
  1597. package/dist/ray/node_modules/next/dist/server/normalizers/built/app/index.js +42 -0
  1598. package/dist/ray/node_modules/next/dist/server/normalizers/built/pages/index.js +44 -0
  1599. package/dist/ray/node_modules/next/dist/server/normalizers/built/pages/pages-bundle-path-normalizer.js +55 -0
  1600. package/dist/ray/node_modules/next/dist/server/normalizers/built/pages/pages-filename-normalizer.js +22 -0
  1601. package/dist/ray/node_modules/next/dist/server/normalizers/built/pages/pages-page-normalizer.js +19 -0
  1602. package/dist/ray/node_modules/next/dist/server/normalizers/built/pages/pages-pathname-normalizer.js +19 -0
  1603. package/dist/ray/node_modules/next/dist/server/normalizers/locale-route-normalizer.js +26 -0
  1604. package/dist/ray/node_modules/next/dist/server/normalizers/normalizer.js +6 -0
  1605. package/dist/ray/node_modules/next/dist/server/normalizers/normalizers.js +23 -0
  1606. package/dist/ray/node_modules/next/dist/server/normalizers/prefixing-normalizer.js +26 -0
  1607. package/dist/ray/node_modules/next/dist/server/normalizers/request/base-path.js +25 -0
  1608. package/dist/ray/node_modules/next/dist/server/normalizers/request/next-data.js +38 -0
  1609. package/dist/ray/node_modules/next/dist/server/normalizers/request/pathname-normalizer.js +6 -0
  1610. package/dist/ray/node_modules/next/dist/server/normalizers/request/prefix.js +39 -0
  1611. package/dist/ray/node_modules/next/dist/server/normalizers/request/rsc.js +19 -0
  1612. package/dist/ray/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.js +33 -0
  1613. package/dist/ray/node_modules/next/dist/server/normalizers/request/suffix.js +27 -0
  1614. package/dist/ray/node_modules/next/dist/server/normalizers/underscore-normalizer.js +17 -0
  1615. package/dist/ray/node_modules/next/dist/server/normalizers/wrap-normalizer-fn.js +17 -0
  1616. package/dist/ray/node_modules/next/dist/server/og/cache-image-response.js +341 -0
  1617. package/dist/ray/node_modules/next/dist/server/og/image-response.js +72 -0
  1618. package/dist/ray/node_modules/next/dist/server/patch-error-inspect.js +507 -0
  1619. package/dist/ray/node_modules/next/dist/server/pipe-readable.js +212 -0
  1620. package/dist/ray/node_modules/next/dist/server/post-process.js +39 -0
  1621. package/dist/ray/node_modules/next/dist/server/render-result.js +246 -0
  1622. package/dist/ray/node_modules/next/dist/server/render.js +1150 -0
  1623. package/dist/ray/node_modules/next/dist/server/request/connection.js +135 -0
  1624. package/dist/ray/node_modules/next/dist/server/request/cookies.js +239 -0
  1625. package/dist/ray/node_modules/next/dist/server/request/draft-mode.js +238 -0
  1626. package/dist/ray/node_modules/next/dist/server/request/fallback-params.js +95 -0
  1627. package/dist/ray/node_modules/next/dist/server/request/headers.js +235 -0
  1628. package/dist/ray/node_modules/next/dist/server/request/io.js +96 -0
  1629. package/dist/ray/node_modules/next/dist/server/request/params.js +634 -0
  1630. package/dist/ray/node_modules/next/dist/server/request/pathname.js +141 -0
  1631. package/dist/ray/node_modules/next/dist/server/request/root-params.js +202 -0
  1632. package/dist/ray/node_modules/next/dist/server/request/search-params.js +582 -0
  1633. package/dist/ray/node_modules/next/dist/server/request/utils.js +84 -0
  1634. package/dist/ray/node_modules/next/dist/server/request-meta.js +55 -0
  1635. package/dist/ray/node_modules/next/dist/server/require-hook.js +82 -0
  1636. package/dist/ray/node_modules/next/dist/server/require.js +109 -0
  1637. package/dist/ray/node_modules/next/dist/server/response-cache/index.js +323 -0
  1638. package/dist/ray/node_modules/next/dist/server/response-cache/types.js +41 -0
  1639. package/dist/ray/node_modules/next/dist/server/response-cache/utils.js +104 -0
  1640. package/dist/ray/node_modules/next/dist/server/response-cache/web.js +101 -0
  1641. package/dist/ray/node_modules/next/dist/server/resume-data-cache/cache-store.js +101 -0
  1642. package/dist/ray/node_modules/next/dist/server/resume-data-cache/resume-data-cache.js +142 -0
  1643. package/dist/ray/node_modules/next/dist/server/revalidation-utils.js +156 -0
  1644. package/dist/ray/node_modules/next/dist/server/route-definitions/app-page-route-definition.js +16 -0
  1645. package/dist/ray/node_modules/next/dist/server/route-definitions/app-route-route-definition.js +6 -0
  1646. package/dist/ray/node_modules/next/dist/server/route-definitions/locale-route-definition.js +6 -0
  1647. package/dist/ray/node_modules/next/dist/server/route-definitions/pages-api-route-definition.js +6 -0
  1648. package/dist/ray/node_modules/next/dist/server/route-definitions/pages-route-definition.js +6 -0
  1649. package/dist/ray/node_modules/next/dist/server/route-definitions/route-definition.js +6 -0
  1650. package/dist/ray/node_modules/next/dist/server/route-kind.js +32 -0
  1651. package/dist/ray/node_modules/next/dist/server/route-matcher-managers/default-route-matcher-manager.js +239 -0
  1652. package/dist/ray/node_modules/next/dist/server/route-matcher-managers/dev-route-matcher-manager.js +120 -0
  1653. package/dist/ray/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.js +6 -0
  1654. package/dist/ray/node_modules/next/dist/server/route-matcher-providers/app-page-route-matcher-provider.js +55 -0
  1655. package/dist/ray/node_modules/next/dist/server/route-matcher-providers/app-route-route-matcher-provider.js +43 -0
  1656. package/dist/ray/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-page-route-matcher-provider.js +91 -0
  1657. package/dist/ray/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-route-route-matcher-provider.js +112 -0
  1658. package/dist/ray/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-api-route-matcher-provider.js +77 -0
  1659. package/dist/ray/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-route-matcher-provider.js +77 -0
  1660. package/dist/ray/node_modules/next/dist/server/route-matcher-providers/dev/file-cache-route-matcher-provider.js +28 -0
  1661. package/dist/ray/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/batched-file-reader.js +106 -0
  1662. package/dist/ray/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/default-file-reader.js +42 -0
  1663. package/dist/ray/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/file-reader.js +6 -0
  1664. package/dist/ray/node_modules/next/dist/server/route-matcher-providers/helpers/cached-route-matcher-provider.js +30 -0
  1665. package/dist/ray/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/manifest-loader.js +6 -0
  1666. package/dist/ray/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/node-manifest-loader.js +34 -0
  1667. package/dist/ray/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/server-manifest-loader.js +20 -0
  1668. package/dist/ray/node_modules/next/dist/server/route-matcher-providers/manifest-route-matcher-provider.js +21 -0
  1669. package/dist/ray/node_modules/next/dist/server/route-matcher-providers/pages-api-route-matcher-provider.js +55 -0
  1670. package/dist/ray/node_modules/next/dist/server/route-matcher-providers/pages-route-matcher-provider.js +64 -0
  1671. package/dist/ray/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.js +6 -0
  1672. package/dist/ray/node_modules/next/dist/server/route-matchers/app-page-route-matcher.js +18 -0
  1673. package/dist/ray/node_modules/next/dist/server/route-matchers/app-route-route-matcher.js +15 -0
  1674. package/dist/ray/node_modules/next/dist/server/route-matchers/locale-route-matcher.js +68 -0
  1675. package/dist/ray/node_modules/next/dist/server/route-matchers/pages-api-route-matcher.js +30 -0
  1676. package/dist/ray/node_modules/next/dist/server/route-matchers/pages-route-matcher.js +30 -0
  1677. package/dist/ray/node_modules/next/dist/server/route-matchers/route-matcher.js +54 -0
  1678. package/dist/ray/node_modules/next/dist/server/route-matches/app-page-route-match.js +6 -0
  1679. package/dist/ray/node_modules/next/dist/server/route-matches/app-route-route-match.js +6 -0
  1680. package/dist/ray/node_modules/next/dist/server/route-matches/locale-route-match.js +6 -0
  1681. package/dist/ray/node_modules/next/dist/server/route-matches/pages-api-route-match.js +16 -0
  1682. package/dist/ray/node_modules/next/dist/server/route-matches/pages-route-match.js +6 -0
  1683. package/dist/ray/node_modules/next/dist/server/route-matches/route-match.js +6 -0
  1684. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.js +51 -0
  1685. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/module.compiled.js +36 -0
  1686. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/module.js +176 -0
  1687. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/module.render.js +24 -0
  1688. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/normalize-request-url.js +62 -0
  1689. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/app-router-context.js +4 -0
  1690. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.js +87 -0
  1691. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/head-manager-context.js +4 -0
  1692. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/hooks-client-context.js +4 -0
  1693. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/image-config-context.js +4 -0
  1694. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/router-context.js +4 -0
  1695. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/server-inserted-html.js +4 -0
  1696. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.js +140 -0
  1697. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-compiler-runtime.js +4 -0
  1698. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-dom.js +4 -0
  1699. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js +4 -0
  1700. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-runtime.js +4 -0
  1701. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.js +4 -0
  1702. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-static.js +4 -0
  1703. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server.js +4 -0
  1704. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-static.js +4 -0
  1705. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react.js +4 -0
  1706. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.js +125 -0
  1707. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-compiler-runtime.js +4 -0
  1708. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom-server.js +4 -0
  1709. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom.js +4 -0
  1710. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js +4 -0
  1711. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js +4 -0
  1712. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-turbopack-client.js +4 -0
  1713. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client.js +4 -0
  1714. package/dist/ray/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js +4 -0
  1715. package/dist/ray/node_modules/next/dist/server/route-modules/app-route/helpers/auto-implement-methods.js +85 -0
  1716. package/dist/ray/node_modules/next/dist/server/route-modules/app-route/helpers/clean-url.js +24 -0
  1717. package/dist/ray/node_modules/next/dist/server/route-modules/app-route/helpers/get-pathname-from-absolute-path.js +29 -0
  1718. package/dist/ray/node_modules/next/dist/server/route-modules/app-route/helpers/is-static-gen-enabled.js +15 -0
  1719. package/dist/ray/node_modules/next/dist/server/route-modules/app-route/helpers/parsed-url-query-to-params.js +20 -0
  1720. package/dist/ray/node_modules/next/dist/server/route-modules/app-route/module.compiled.js +36 -0
  1721. package/dist/ray/node_modules/next/dist/server/route-modules/app-route/module.js +948 -0
  1722. package/dist/ray/node_modules/next/dist/server/route-modules/app-route/shared-modules.js +56 -0
  1723. package/dist/ray/node_modules/next/dist/server/route-modules/checks.js +45 -0
  1724. package/dist/ray/node_modules/next/dist/server/route-modules/pages/builtin/_error.js +100 -0
  1725. package/dist/ray/node_modules/next/dist/server/route-modules/pages/module.compiled.js +20 -0
  1726. package/dist/ray/node_modules/next/dist/server/route-modules/pages/module.js +92 -0
  1727. package/dist/ray/node_modules/next/dist/server/route-modules/pages/module.render.js +24 -0
  1728. package/dist/ray/node_modules/next/dist/server/route-modules/pages/pages-handler.js +567 -0
  1729. package/dist/ray/node_modules/next/dist/server/route-modules/pages/vendored/contexts/app-router-context.js +4 -0
  1730. package/dist/ray/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.js +102 -0
  1731. package/dist/ray/node_modules/next/dist/server/route-modules/pages/vendored/contexts/head-manager-context.js +4 -0
  1732. package/dist/ray/node_modules/next/dist/server/route-modules/pages/vendored/contexts/hooks-client-context.js +4 -0
  1733. package/dist/ray/node_modules/next/dist/server/route-modules/pages/vendored/contexts/html-context.js +4 -0
  1734. package/dist/ray/node_modules/next/dist/server/route-modules/pages/vendored/contexts/image-config-context.js +4 -0
  1735. package/dist/ray/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable-context.js +4 -0
  1736. package/dist/ray/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable.js +4 -0
  1737. package/dist/ray/node_modules/next/dist/server/route-modules/pages/vendored/contexts/router-context.js +4 -0
  1738. package/dist/ray/node_modules/next/dist/server/route-modules/pages/vendored/contexts/server-inserted-html.js +4 -0
  1739. package/dist/ray/node_modules/next/dist/server/route-modules/pages-api/module.compiled.js +20 -0
  1740. package/dist/ray/node_modules/next/dist/server/route-modules/pages-api/module.js +58 -0
  1741. package/dist/ray/node_modules/next/dist/server/route-modules/route-module.js +697 -0
  1742. package/dist/ray/node_modules/next/dist/server/runtime-reacts.external.js +46 -0
  1743. package/dist/ray/node_modules/next/dist/server/send-payload.js +88 -0
  1744. package/dist/ray/node_modules/next/dist/server/send-response.js +70 -0
  1745. package/dist/ray/node_modules/next/dist/server/serve-static.js +66 -0
  1746. package/dist/ray/node_modules/next/dist/server/server-route-utils.js +30 -0
  1747. package/dist/ray/node_modules/next/dist/server/server-utils.js +340 -0
  1748. package/dist/ray/node_modules/next/dist/server/setup-http-agent-env.js +31 -0
  1749. package/dist/ray/node_modules/next/dist/server/stream-utils/encoded-tags.js +122 -0
  1750. package/dist/ray/node_modules/next/dist/server/stream-utils/node-buffered-transform-stream.js +51 -0
  1751. package/dist/ray/node_modules/next/dist/server/stream-utils/node-web-streams-helper.js +939 -0
  1752. package/dist/ray/node_modules/next/dist/server/stream-utils/uint8array-helpers.js +74 -0
  1753. package/dist/ray/node_modules/next/dist/server/typescript/constant.js +98 -0
  1754. package/dist/ray/node_modules/next/dist/server/typescript/index.js +199 -0
  1755. package/dist/ray/node_modules/next/dist/server/typescript/rules/client-boundary.js +100 -0
  1756. package/dist/ray/node_modules/next/dist/server/typescript/rules/config.js +534 -0
  1757. package/dist/ray/node_modules/next/dist/server/typescript/rules/entry.js +149 -0
  1758. package/dist/ray/node_modules/next/dist/server/typescript/rules/error.js +38 -0
  1759. package/dist/ray/node_modules/next/dist/server/typescript/rules/metadata.js +234 -0
  1760. package/dist/ray/node_modules/next/dist/server/typescript/rules/server-boundary.js +115 -0
  1761. package/dist/ray/node_modules/next/dist/server/typescript/rules/server.js +79 -0
  1762. package/dist/ray/node_modules/next/dist/server/typescript/utils.js +212 -0
  1763. package/dist/ray/node_modules/next/dist/server/use-cache/cache-life-profile.js +84 -0
  1764. package/dist/ray/node_modules/next/dist/server/use-cache/cache-life.js +102 -0
  1765. package/dist/ray/node_modules/next/dist/server/use-cache/cache-tag.js +52 -0
  1766. package/dist/ray/node_modules/next/dist/server/use-cache/clone-cache-entry.js +28 -0
  1767. package/dist/ray/node_modules/next/dist/server/use-cache/constants.js +44 -0
  1768. package/dist/ray/node_modules/next/dist/server/use-cache/handlers.js +274 -0
  1769. package/dist/ray/node_modules/next/dist/server/use-cache/tiered-cache-handler.js +145 -0
  1770. package/dist/ray/node_modules/next/dist/server/use-cache/use-cache-errors.js +59 -0
  1771. package/dist/ray/node_modules/next/dist/server/use-cache/use-cache-probe-globals.js +39 -0
  1772. package/dist/ray/node_modules/next/dist/server/use-cache/use-cache-probe-scheduler.js +117 -0
  1773. package/dist/ray/node_modules/next/dist/server/use-cache/use-cache-wrapper.js +2605 -0
  1774. package/dist/ray/node_modules/next/dist/server/utils.js +73 -0
  1775. package/dist/ray/node_modules/next/dist/server/web/adapter.js +428 -0
  1776. package/dist/ray/node_modules/next/dist/server/web/edge-route-module-wrapper.js +136 -0
  1777. package/dist/ray/node_modules/next/dist/server/web/error.js +69 -0
  1778. package/dist/ray/node_modules/next/dist/server/web/exports/index.js +56 -0
  1779. package/dist/ray/node_modules/next/dist/server/web/get-edge-preview-props.js +23 -0
  1780. package/dist/ray/node_modules/next/dist/server/web/globals.js +128 -0
  1781. package/dist/ray/node_modules/next/dist/server/web/http.js +39 -0
  1782. package/dist/ray/node_modules/next/dist/server/web/internal-edge-wait-until.js +64 -0
  1783. package/dist/ray/node_modules/next/dist/server/web/next-url.js +199 -0
  1784. package/dist/ray/node_modules/next/dist/server/web/sandbox/context.js +468 -0
  1785. package/dist/ray/node_modules/next/dist/server/web/sandbox/fetch-inline-assets.js +35 -0
  1786. package/dist/ray/node_modules/next/dist/server/web/sandbox/index.js +28 -0
  1787. package/dist/ray/node_modules/next/dist/server/web/sandbox/resource-managers.js +123 -0
  1788. package/dist/ray/node_modules/next/dist/server/web/sandbox/sandbox.js +137 -0
  1789. package/dist/ray/node_modules/next/dist/server/web/spec-extension/adapters/headers.js +293 -0
  1790. package/dist/ray/node_modules/next/dist/server/web/spec-extension/adapters/next-request.js +142 -0
  1791. package/dist/ray/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js +30 -0
  1792. package/dist/ray/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js +226 -0
  1793. package/dist/ray/node_modules/next/dist/server/web/spec-extension/cookies.js +29 -0
  1794. package/dist/ray/node_modules/next/dist/server/web/spec-extension/fetch-event.js +98 -0
  1795. package/dist/ray/node_modules/next/dist/server/web/spec-extension/image-response.js +22 -0
  1796. package/dist/ray/node_modules/next/dist/server/web/spec-extension/request.js +99 -0
  1797. package/dist/ray/node_modules/next/dist/server/web/spec-extension/response.js +136 -0
  1798. package/dist/ray/node_modules/next/dist/server/web/spec-extension/revalidate.js +226 -0
  1799. package/dist/ray/node_modules/next/dist/server/web/spec-extension/unstable-cache.js +307 -0
  1800. package/dist/ray/node_modules/next/dist/server/web/spec-extension/unstable-no-store.js +51 -0
  1801. package/dist/ray/node_modules/next/dist/server/web/spec-extension/url-pattern.js +13 -0
  1802. package/dist/ray/node_modules/next/dist/server/web/spec-extension/user-agent.js +46 -0
  1803. package/dist/ray/node_modules/next/dist/server/web/types.js +6 -0
  1804. package/dist/ray/node_modules/next/dist/server/web/utils.js +151 -0
  1805. package/dist/ray/node_modules/next/dist/server/web/web-on-close.js +87 -0
  1806. package/dist/ray/node_modules/next/dist/shared/lib/action-revalidation-kind.js +31 -0
  1807. package/dist/ray/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js +50 -0
  1808. package/dist/ray/node_modules/next/dist/shared/lib/app-router-types.js +159 -0
  1809. package/dist/ray/node_modules/next/dist/shared/lib/constants.js +453 -0
  1810. package/dist/ray/node_modules/next/dist/shared/lib/deep-freeze.js +30 -0
  1811. package/dist/ray/node_modules/next/dist/shared/lib/deployment-id.js +63 -0
  1812. package/dist/ray/node_modules/next/dist/shared/lib/dset.js +34 -0
  1813. package/dist/ray/node_modules/next/dist/shared/lib/encode-uri-path.js +15 -0
  1814. package/dist/ray/node_modules/next/dist/shared/lib/entry-constants.js +36 -0
  1815. package/dist/ray/node_modules/next/dist/shared/lib/error-source.js +36 -0
  1816. package/dist/ray/node_modules/next/dist/shared/lib/errors/code-frame.js +20 -0
  1817. package/dist/ray/node_modules/next/dist/shared/lib/errors/constants.js +19 -0
  1818. package/dist/ray/node_modules/next/dist/shared/lib/errors/empty-generate-static-params-error.js +31 -0
  1819. package/dist/ray/node_modules/next/dist/shared/lib/errors/hard-deprecated-config-error.js +25 -0
  1820. package/dist/ray/node_modules/next/dist/shared/lib/escape-regexp.js +22 -0
  1821. package/dist/ray/node_modules/next/dist/shared/lib/get-hostname.js +23 -0
  1822. package/dist/ray/node_modules/next/dist/shared/lib/hash.js +42 -0
  1823. package/dist/ray/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js +18 -0
  1824. package/dist/ray/node_modules/next/dist/shared/lib/head.js +164 -0
  1825. package/dist/ray/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js +60 -0
  1826. package/dist/ray/node_modules/next/dist/shared/lib/html-context.shared-runtime.js +40 -0
  1827. package/dist/ray/node_modules/next/dist/shared/lib/htmlescape.js +52 -0
  1828. package/dist/ray/node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js +25 -0
  1829. package/dist/ray/node_modules/next/dist/shared/lib/i18n/get-locale-redirect.js +59 -0
  1830. package/dist/ray/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js +54 -0
  1831. package/dist/ray/node_modules/next/dist/shared/lib/image-blur-svg.js +22 -0
  1832. package/dist/ray/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js +19 -0
  1833. package/dist/ray/node_modules/next/dist/shared/lib/image-config.js +77 -0
  1834. package/dist/ray/node_modules/next/dist/shared/lib/instant-messages.js +43 -0
  1835. package/dist/ray/node_modules/next/dist/shared/lib/invariant-error.js +23 -0
  1836. package/dist/ray/node_modules/next/dist/shared/lib/is-plain-object.js +42 -0
  1837. package/dist/ray/node_modules/next/dist/shared/lib/is-thenable.js +20 -0
  1838. package/dist/ray/node_modules/next/dist/shared/lib/isomorphic/path.js +14 -0
  1839. package/dist/ray/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js +37 -0
  1840. package/dist/ray/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.js +19 -0
  1841. package/dist/ray/node_modules/next/dist/shared/lib/loadable.shared-runtime.js +246 -0
  1842. package/dist/ray/node_modules/next/dist/shared/lib/match-local-pattern.js +46 -0
  1843. package/dist/ray/node_modules/next/dist/shared/lib/match-remote-pattern.js +63 -0
  1844. package/dist/ray/node_modules/next/dist/shared/lib/modern-browserslist-target.js +15 -0
  1845. package/dist/ray/node_modules/next/dist/shared/lib/no-fallback-error.external.js +18 -0
  1846. package/dist/ray/node_modules/next/dist/shared/lib/normalized-asset-prefix.js +28 -0
  1847. package/dist/ray/node_modules/next/dist/shared/lib/page-path/absolute-path-to-page.js +26 -0
  1848. package/dist/ray/node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js +18 -0
  1849. package/dist/ray/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js +18 -0
  1850. package/dist/ray/node_modules/next/dist/shared/lib/page-path/get-page-paths.js +40 -0
  1851. package/dist/ray/node_modules/next/dist/shared/lib/page-path/normalize-data-path.js +23 -0
  1852. package/dist/ray/node_modules/next/dist/shared/lib/page-path/normalize-page-path.js +26 -0
  1853. package/dist/ray/node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js +19 -0
  1854. package/dist/ray/node_modules/next/dist/shared/lib/page-path/remove-page-path-tail.js +20 -0
  1855. package/dist/ray/node_modules/next/dist/shared/lib/promise-with-resolvers.js +26 -0
  1856. package/dist/ray/node_modules/next/dist/shared/lib/request-insights.js +30 -0
  1857. package/dist/ray/node_modules/next/dist/shared/lib/router/adapters.js +139 -0
  1858. package/dist/ray/node_modules/next/dist/shared/lib/router/routes/app.js +158 -0
  1859. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/add-locale.js +28 -0
  1860. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js +20 -0
  1861. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js +20 -0
  1862. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/app-paths.js +62 -0
  1863. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/as-path-to-search-params.js +17 -0
  1864. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/cache-busting-search-param.js +70 -0
  1865. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/escape-path-delimiters.js +16 -0
  1866. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js +27 -0
  1867. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/format-url.js +111 -0
  1868. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/get-dynamic-param.js +174 -0
  1869. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js +52 -0
  1870. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/get-route-from-asset-path.js +25 -0
  1871. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/get-segment-param.js +90 -0
  1872. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/html-bots.js +17 -0
  1873. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/index.js +30 -0
  1874. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/interception-prefix-from-param-type.js +33 -0
  1875. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/interception-routes.js +108 -0
  1876. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/is-bot.js +57 -0
  1877. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/is-dynamic.js +26 -0
  1878. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.js +31 -0
  1879. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js +30 -0
  1880. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/parse-path.js +33 -0
  1881. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js +43 -0
  1882. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/parse-url.js +38 -0
  1883. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js +20 -0
  1884. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/path-match.js +49 -0
  1885. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/prepare-destination.js +293 -0
  1886. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/querystring.js +79 -0
  1887. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/relativize-url.js +40 -0
  1888. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js +39 -0
  1889. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js +22 -0
  1890. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/resolve-param-value.js +116 -0
  1891. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/route-match-utils.js +113 -0
  1892. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/route-matcher.js +45 -0
  1893. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/route-regex.js +256 -0
  1894. package/dist/ray/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js +244 -0
  1895. package/dist/ray/node_modules/next/dist/shared/lib/router-context.shared-runtime.js +18 -0
  1896. package/dist/ray/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.js +99 -0
  1897. package/dist/ray/node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.js +66 -0
  1898. package/dist/ray/node_modules/next/dist/shared/lib/segment.js +102 -0
  1899. package/dist/ray/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.js +35 -0
  1900. package/dist/ray/node_modules/next/dist/shared/lib/server-reference-info.js +68 -0
  1901. package/dist/ray/node_modules/next/dist/shared/lib/side-effect.js +63 -0
  1902. package/dist/ray/node_modules/next/dist/shared/lib/size-limit.js +40 -0
  1903. package/dist/ray/node_modules/next/dist/shared/lib/turbopack/internal-error.js +53 -0
  1904. package/dist/ray/node_modules/next/dist/shared/lib/utils/reflect-utils.js +69 -0
  1905. package/dist/ray/node_modules/next/dist/shared/lib/utils/warn-once.js +22 -0
  1906. package/dist/ray/node_modules/next/dist/shared/lib/utils.js +216 -0
  1907. package/dist/ray/node_modules/next/dist/shared/lib/zod.js +101 -0
  1908. package/dist/ray/node_modules/next/dist/telemetry/agent-name.js +20 -0
  1909. package/dist/ray/node_modules/next/dist/telemetry/anonymous-meta.js +91 -0
  1910. package/dist/ray/node_modules/next/dist/telemetry/detached-flush.js +56 -0
  1911. package/dist/ray/node_modules/next/dist/telemetry/events/build.js +187 -0
  1912. package/dist/ray/node_modules/next/dist/telemetry/events/index.js +41 -0
  1913. package/dist/ray/node_modules/next/dist/telemetry/events/plugins.js +51 -0
  1914. package/dist/ray/node_modules/next/dist/telemetry/events/swc-load-failure.js +55 -0
  1915. package/dist/ray/node_modules/next/dist/telemetry/events/version.js +68 -0
  1916. package/dist/ray/node_modules/next/dist/telemetry/flush-telemetry.js +19 -0
  1917. package/dist/ray/node_modules/next/dist/telemetry/post-telemetry-payload.js +48 -0
  1918. package/dist/ray/node_modules/next/dist/telemetry/project-id.js +48 -0
  1919. package/dist/ray/node_modules/next/dist/telemetry/storage.js +305 -0
  1920. package/dist/ray/node_modules/next/dist/trace/index.js +58 -0
  1921. package/dist/ray/node_modules/next/dist/trace/report/index.js +37 -0
  1922. package/dist/ray/node_modules/next/dist/trace/report/to-json-build.js +40 -0
  1923. package/dist/ray/node_modules/next/dist/trace/report/to-json.js +171 -0
  1924. package/dist/ray/node_modules/next/dist/trace/report/to-telemetry.js +36 -0
  1925. package/dist/ray/node_modules/next/dist/trace/shared.js +39 -0
  1926. package/dist/ray/node_modules/next/dist/trace/trace.js +211 -0
  1927. package/dist/ray/node_modules/next/package.json +139 -0
  1928. package/dist/ray/node_modules/react/cjs/react-compiler-runtime.production.js +16 -0
  1929. package/dist/ray/node_modules/react/cjs/react-jsx-dev-runtime.production.js +14 -0
  1930. package/dist/ray/node_modules/react/cjs/react-jsx-runtime.production.js +34 -0
  1931. package/dist/ray/node_modules/react/cjs/react.development.js +1284 -0
  1932. package/dist/ray/node_modules/react/cjs/react.production.js +542 -0
  1933. package/dist/ray/node_modules/react/compiler-runtime.js +14 -0
  1934. package/dist/ray/node_modules/react/index.js +7 -0
  1935. package/dist/ray/node_modules/react/jsx-dev-runtime.js +7 -0
  1936. package/dist/ray/node_modules/react/jsx-runtime.js +7 -0
  1937. package/dist/ray/node_modules/react/package.json +51 -0
  1938. package/dist/ray/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +6603 -0
  1939. package/dist/ray/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +6692 -0
  1940. package/dist/ray/node_modules/react-dom/cjs/react-dom-server.browser.production.js +7410 -0
  1941. package/dist/ray/node_modules/react-dom/cjs/react-dom-server.edge.production.js +7512 -0
  1942. package/dist/ray/node_modules/react-dom/cjs/react-dom-server.node.production.js +7707 -0
  1943. package/dist/ray/node_modules/react-dom/cjs/react-dom.production.js +210 -0
  1944. package/dist/ray/node_modules/react-dom/index.js +38 -0
  1945. package/dist/ray/node_modules/react-dom/package.json +117 -0
  1946. package/dist/ray/node_modules/react-dom/server.browser.js +16 -0
  1947. package/dist/ray/node_modules/react-dom/server.edge.js +17 -0
  1948. package/dist/ray/node_modules/react-dom/server.node.js +18 -0
  1949. package/dist/ray/node_modules/react-dom/static.node.js +14 -0
  1950. package/dist/ray/node_modules/semver/package.json +38 -0
  1951. package/dist/ray/node_modules/sharp/dist/channel.cjs +177 -0
  1952. package/dist/ray/node_modules/sharp/dist/channel.mjs +177 -0
  1953. package/dist/ray/node_modules/sharp/dist/colour.cjs +199 -0
  1954. package/dist/ray/node_modules/sharp/dist/colour.mjs +199 -0
  1955. package/dist/ray/node_modules/sharp/dist/composite.cjs +213 -0
  1956. package/dist/ray/node_modules/sharp/dist/composite.mjs +213 -0
  1957. package/dist/ray/node_modules/sharp/dist/constructor.cjs +511 -0
  1958. package/dist/ray/node_modules/sharp/dist/constructor.mjs +511 -0
  1959. package/dist/ray/node_modules/sharp/dist/index.cjs +25 -0
  1960. package/dist/ray/node_modules/sharp/dist/index.d.cts +1999 -0
  1961. package/dist/ray/node_modules/sharp/dist/index.d.mts +2046 -0
  1962. package/dist/ray/node_modules/sharp/dist/index.mjs +25 -0
  1963. package/dist/ray/node_modules/sharp/dist/input.cjs +819 -0
  1964. package/dist/ray/node_modules/sharp/dist/input.mjs +819 -0
  1965. package/dist/ray/node_modules/sharp/dist/is.cjs +143 -0
  1966. package/dist/ray/node_modules/sharp/dist/is.mjs +143 -0
  1967. package/dist/ray/node_modules/sharp/dist/libvips.cjs +212 -0
  1968. package/dist/ray/node_modules/sharp/dist/libvips.mjs +212 -0
  1969. package/dist/ray/node_modules/sharp/dist/operation.cjs +1002 -0
  1970. package/dist/ray/node_modules/sharp/dist/operation.mjs +1002 -0
  1971. package/dist/ray/node_modules/sharp/dist/output.cjs +1785 -0
  1972. package/dist/ray/node_modules/sharp/dist/output.mjs +1785 -0
  1973. package/dist/ray/node_modules/sharp/dist/resize.cjs +617 -0
  1974. package/dist/ray/node_modules/sharp/dist/resize.mjs +617 -0
  1975. package/dist/ray/node_modules/sharp/dist/sharp.cjs +174 -0
  1976. package/dist/ray/node_modules/sharp/dist/sharp.mjs +174 -0
  1977. package/dist/ray/node_modules/sharp/dist/utility.cjs +301 -0
  1978. package/dist/ray/node_modules/sharp/dist/utility.mjs +301 -0
  1979. package/dist/ray/node_modules/sharp/node_modules/semver/classes/comparator.js +143 -0
  1980. package/dist/ray/node_modules/sharp/node_modules/semver/classes/range.js +577 -0
  1981. package/dist/ray/node_modules/sharp/node_modules/semver/classes/semver.js +350 -0
  1982. package/dist/ray/node_modules/sharp/node_modules/semver/functions/clean.js +8 -0
  1983. package/dist/ray/node_modules/sharp/node_modules/semver/functions/cmp.js +54 -0
  1984. package/dist/ray/node_modules/sharp/node_modules/semver/functions/coerce.js +62 -0
  1985. package/dist/ray/node_modules/sharp/node_modules/semver/functions/compare-build.js +9 -0
  1986. package/dist/ray/node_modules/sharp/node_modules/semver/functions/compare-loose.js +5 -0
  1987. package/dist/ray/node_modules/sharp/node_modules/semver/functions/compare.js +7 -0
  1988. package/dist/ray/node_modules/sharp/node_modules/semver/functions/diff.js +60 -0
  1989. package/dist/ray/node_modules/sharp/node_modules/semver/functions/eq.js +5 -0
  1990. package/dist/ray/node_modules/sharp/node_modules/semver/functions/gt.js +5 -0
  1991. package/dist/ray/node_modules/sharp/node_modules/semver/functions/gte.js +5 -0
  1992. package/dist/ray/node_modules/sharp/node_modules/semver/functions/inc.js +21 -0
  1993. package/dist/ray/node_modules/sharp/node_modules/semver/functions/lt.js +5 -0
  1994. package/dist/ray/node_modules/sharp/node_modules/semver/functions/lte.js +5 -0
  1995. package/dist/ray/node_modules/sharp/node_modules/semver/functions/major.js +5 -0
  1996. package/dist/ray/node_modules/sharp/node_modules/semver/functions/minor.js +5 -0
  1997. package/dist/ray/node_modules/sharp/node_modules/semver/functions/neq.js +5 -0
  1998. package/dist/ray/node_modules/sharp/node_modules/semver/functions/parse.js +18 -0
  1999. package/dist/ray/node_modules/sharp/node_modules/semver/functions/patch.js +5 -0
  2000. package/dist/ray/node_modules/sharp/node_modules/semver/functions/prerelease.js +8 -0
  2001. package/dist/ray/node_modules/sharp/node_modules/semver/functions/rcompare.js +5 -0
  2002. package/dist/ray/node_modules/sharp/node_modules/semver/functions/rsort.js +5 -0
  2003. package/dist/ray/node_modules/sharp/node_modules/semver/functions/satisfies.js +12 -0
  2004. package/dist/ray/node_modules/sharp/node_modules/semver/functions/sort.js +5 -0
  2005. package/dist/ray/node_modules/sharp/node_modules/semver/functions/truncate.js +48 -0
  2006. package/dist/ray/node_modules/sharp/node_modules/semver/functions/valid.js +8 -0
  2007. package/dist/ray/node_modules/sharp/node_modules/semver/index.js +93 -0
  2008. package/dist/ray/node_modules/sharp/node_modules/semver/internal/constants.js +37 -0
  2009. package/dist/ray/node_modules/sharp/node_modules/semver/internal/debug.js +11 -0
  2010. package/dist/ray/node_modules/sharp/node_modules/semver/internal/identifiers.js +29 -0
  2011. package/dist/ray/node_modules/sharp/node_modules/semver/internal/lrucache.js +42 -0
  2012. package/dist/ray/node_modules/sharp/node_modules/semver/internal/parse-options.js +17 -0
  2013. package/dist/ray/node_modules/sharp/node_modules/semver/internal/re.js +223 -0
  2014. package/dist/ray/node_modules/sharp/node_modules/semver/package.json +78 -0
  2015. package/dist/ray/node_modules/sharp/node_modules/semver/ranges/gtr.js +6 -0
  2016. package/dist/ray/node_modules/sharp/node_modules/semver/ranges/intersects.js +9 -0
  2017. package/dist/ray/node_modules/sharp/node_modules/semver/ranges/ltr.js +6 -0
  2018. package/dist/ray/node_modules/sharp/node_modules/semver/ranges/max-satisfying.js +27 -0
  2019. package/dist/ray/node_modules/sharp/node_modules/semver/ranges/min-satisfying.js +26 -0
  2020. package/dist/ray/node_modules/sharp/node_modules/semver/ranges/min-version.js +63 -0
  2021. package/dist/ray/node_modules/sharp/node_modules/semver/ranges/outside.js +82 -0
  2022. package/dist/ray/node_modules/sharp/node_modules/semver/ranges/simplify.js +49 -0
  2023. package/dist/ray/node_modules/sharp/node_modules/semver/ranges/subset.js +249 -0
  2024. package/dist/ray/node_modules/sharp/node_modules/semver/ranges/to-comparators.js +10 -0
  2025. package/dist/ray/node_modules/sharp/node_modules/semver/ranges/valid.js +13 -0
  2026. package/dist/ray/node_modules/sharp/package.json +227 -0
  2027. package/dist/ray/node_modules/styled-jsx/dist/index/index.js +499 -0
  2028. package/dist/ray/node_modules/styled-jsx/index.js +1 -0
  2029. package/dist/ray/node_modules/styled-jsx/package.json +132 -0
  2030. package/dist/ray/node_modules/styled-jsx/style.js +1 -0
  2031. package/dist/ray/package.json +46 -0
  2032. package/dist/ray/public/ai/DeepSeek.svg +1 -0
  2033. package/dist/ray/public/ai/claude.svg +1 -0
  2034. package/dist/ray/public/ai/gemini.svg +1 -0
  2035. package/dist/ray/public/ai/openai.svg +1 -0
  2036. package/dist/ray/public/ai/openrouter.svg +1 -0
  2037. package/dist/ray/public/ai/ozias.png +0 -0
  2038. package/dist/ray/public/ai/ozias.svg +20 -0
  2039. package/dist/ray/public/logo.svg +1 -0
  2040. package/dist/ray/server.js +38 -0
  2041. package/ecosystem.config.js +97 -0
  2042. package/package.json +42 -0
@@ -0,0 +1,2684 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ 0 && (module.exports = {
6
+ EntryStatus: null,
7
+ MetadataOnlyRequestTree: null,
8
+ attemptToFulfillDynamicSegmentFromBFCache: null,
9
+ attemptToUpgradeSegmentFromBFCache: null,
10
+ canNewFetchStrategyProvideMoreContent: null,
11
+ convertReusedFlightRouterStateToRouteTree: null,
12
+ convertRootFlightRouterStateToRouteTree: null,
13
+ convertRouteTreeToFlightRouterState: null,
14
+ createDetachedSegmentCacheEntry: null,
15
+ createMetadataRouteTree: null,
16
+ createNonTaskyPrefetchResponseStream: null,
17
+ deprecated_requestOptimisticRouteCacheEntry: null,
18
+ fetchRouteOnCacheMiss: null,
19
+ fetchSegmentPrefetchesUsingDynamicRequest: null,
20
+ fetchSegmentsOnCacheMiss: null,
21
+ fulfillRouteCacheEntry: null,
22
+ getCurrentRouteCacheVersion: null,
23
+ getCurrentSegmentCacheVersion: null,
24
+ getStaleTimeMs: null,
25
+ invalidateEntirePrefetchCache: null,
26
+ invalidateRouteCacheEntries: null,
27
+ invalidateSegmentCacheEntries: null,
28
+ markRouteEntryAsDynamicRewrite: null,
29
+ overwriteRevalidatingSegmentCacheEntry: null,
30
+ pingInvalidationListeners: null,
31
+ processRuntimePrefetchStream: null,
32
+ readOrCreateRevalidatingSegmentEntry: null,
33
+ readOrCreateRouteCacheEntry: null,
34
+ readOrCreateSegmentCacheEntry: null,
35
+ readRouteCacheEntry: null,
36
+ readSegmentCacheEntryForNavigation: null,
37
+ resolveStaleAt: null,
38
+ segmentCacheMap: null,
39
+ stripIsPartialByte: null,
40
+ upgradeToPendingSegment: null,
41
+ upsertSegmentEntry: null,
42
+ waitForSegmentCacheEntry: null,
43
+ writeDynamicRenderResponseIntoCache: null,
44
+ writePrerenderResponseIntoCache: null,
45
+ writeRouteIntoCache: null
46
+ });
47
+ function _export(target, all) {
48
+ for(var name in all)Object.defineProperty(target, name, {
49
+ enumerable: true,
50
+ get: all[name]
51
+ });
52
+ }
53
+ _export(exports, {
54
+ EntryStatus: function() {
55
+ return _cachemap.EntryStatus;
56
+ },
57
+ MetadataOnlyRequestTree: function() {
58
+ return MetadataOnlyRequestTree;
59
+ },
60
+ attemptToFulfillDynamicSegmentFromBFCache: function() {
61
+ return attemptToFulfillDynamicSegmentFromBFCache;
62
+ },
63
+ attemptToUpgradeSegmentFromBFCache: function() {
64
+ return attemptToUpgradeSegmentFromBFCache;
65
+ },
66
+ canNewFetchStrategyProvideMoreContent: function() {
67
+ return canNewFetchStrategyProvideMoreContent;
68
+ },
69
+ convertReusedFlightRouterStateToRouteTree: function() {
70
+ return convertReusedFlightRouterStateToRouteTree;
71
+ },
72
+ convertRootFlightRouterStateToRouteTree: function() {
73
+ return convertRootFlightRouterStateToRouteTree;
74
+ },
75
+ convertRouteTreeToFlightRouterState: function() {
76
+ return convertRouteTreeToFlightRouterState;
77
+ },
78
+ createDetachedSegmentCacheEntry: function() {
79
+ return createDetachedSegmentCacheEntry;
80
+ },
81
+ createMetadataRouteTree: function() {
82
+ return createMetadataRouteTree;
83
+ },
84
+ createNonTaskyPrefetchResponseStream: function() {
85
+ return createNonTaskyPrefetchResponseStream;
86
+ },
87
+ deprecated_requestOptimisticRouteCacheEntry: function() {
88
+ return deprecated_requestOptimisticRouteCacheEntry;
89
+ },
90
+ fetchRouteOnCacheMiss: function() {
91
+ return fetchRouteOnCacheMiss;
92
+ },
93
+ fetchSegmentPrefetchesUsingDynamicRequest: function() {
94
+ return fetchSegmentPrefetchesUsingDynamicRequest;
95
+ },
96
+ fetchSegmentsOnCacheMiss: function() {
97
+ return fetchSegmentsOnCacheMiss;
98
+ },
99
+ fulfillRouteCacheEntry: function() {
100
+ return fulfillRouteCacheEntry;
101
+ },
102
+ getCurrentRouteCacheVersion: function() {
103
+ return getCurrentRouteCacheVersion;
104
+ },
105
+ getCurrentSegmentCacheVersion: function() {
106
+ return getCurrentSegmentCacheVersion;
107
+ },
108
+ getStaleTimeMs: function() {
109
+ return getStaleTimeMs;
110
+ },
111
+ invalidateEntirePrefetchCache: function() {
112
+ return invalidateEntirePrefetchCache;
113
+ },
114
+ invalidateRouteCacheEntries: function() {
115
+ return invalidateRouteCacheEntries;
116
+ },
117
+ invalidateSegmentCacheEntries: function() {
118
+ return invalidateSegmentCacheEntries;
119
+ },
120
+ markRouteEntryAsDynamicRewrite: function() {
121
+ return markRouteEntryAsDynamicRewrite;
122
+ },
123
+ overwriteRevalidatingSegmentCacheEntry: function() {
124
+ return overwriteRevalidatingSegmentCacheEntry;
125
+ },
126
+ pingInvalidationListeners: function() {
127
+ return pingInvalidationListeners;
128
+ },
129
+ processRuntimePrefetchStream: function() {
130
+ return processRuntimePrefetchStream;
131
+ },
132
+ readOrCreateRevalidatingSegmentEntry: function() {
133
+ return readOrCreateRevalidatingSegmentEntry;
134
+ },
135
+ readOrCreateRouteCacheEntry: function() {
136
+ return readOrCreateRouteCacheEntry;
137
+ },
138
+ readOrCreateSegmentCacheEntry: function() {
139
+ return readOrCreateSegmentCacheEntry;
140
+ },
141
+ readRouteCacheEntry: function() {
142
+ return readRouteCacheEntry;
143
+ },
144
+ readSegmentCacheEntryForNavigation: function() {
145
+ return readSegmentCacheEntryForNavigation;
146
+ },
147
+ resolveStaleAt: function() {
148
+ return resolveStaleAt;
149
+ },
150
+ segmentCacheMap: function() {
151
+ return segmentCacheMap;
152
+ },
153
+ stripIsPartialByte: function() {
154
+ return stripIsPartialByte;
155
+ },
156
+ upgradeToPendingSegment: function() {
157
+ return upgradeToPendingSegment;
158
+ },
159
+ upsertSegmentEntry: function() {
160
+ return upsertSegmentEntry;
161
+ },
162
+ waitForSegmentCacheEntry: function() {
163
+ return waitForSegmentCacheEntry;
164
+ },
165
+ writeDynamicRenderResponseIntoCache: function() {
166
+ return writeDynamicRenderResponseIntoCache;
167
+ },
168
+ writePrerenderResponseIntoCache: function() {
169
+ return writePrerenderResponseIntoCache;
170
+ },
171
+ writeRouteIntoCache: function() {
172
+ return writeRouteIntoCache;
173
+ }
174
+ });
175
+ const _approutertypes = require("../../../shared/lib/app-router-types");
176
+ const _varyparamsdecoding = require("../../../shared/lib/segment-cache/vary-params-decoding");
177
+ const _approuterheaders = require("../app-router-headers");
178
+ const _fetchserverresponse = require("../router-reducer/fetch-server-response");
179
+ const _fetch = require("./fetch");
180
+ const _scheduler = require("./scheduler");
181
+ const _varypath = require("./vary-path");
182
+ const _createhreffromurl = require("../router-reducer/create-href-from-url");
183
+ const _cachekey = require("./cache-key");
184
+ const _routeparams = require("../../route-params");
185
+ const _cachemap = require("./cache-map");
186
+ const _segmentvalueencoding = require("../../../shared/lib/segment-cache/segment-value-encoding");
187
+ const _flightdatahelpers = require("../../flight-data-helpers");
188
+ const _navigatereducer = require("../router-reducer/reducers/navigate-reducer");
189
+ const _links = require("../links");
190
+ const _segment = require("../../../shared/lib/segment");
191
+ const _types = require("./types");
192
+ const _promisewithresolvers = require("../../../shared/lib/promise-with-resolvers");
193
+ const _bfcache = require("./bfcache");
194
+ const _optimisticroutes = require("./optimistic-routes");
195
+ const _navigation = require("./navigation");
196
+ const _navigationbuildid = require("../../navigation-build-id");
197
+ const _constants = require("../../../lib/constants");
198
+ function getStaleTimeMs(staleTimeSeconds) {
199
+ return Math.max(staleTimeSeconds, 30) * 1000;
200
+ }
201
+ const isOutputExportMode = process.env.NODE_ENV === 'production' && process.env.__NEXT_CONFIG_OUTPUT === 'export';
202
+ const MetadataOnlyRequestTree = [
203
+ '',
204
+ {},
205
+ null,
206
+ 'metadata-only'
207
+ ];
208
+ const routeCacheMap = (0, _cachemap.createCacheMap)();
209
+ const segmentCacheMap = (0, _cachemap.createCacheMap)();
210
+ // All invalidation listeners for the whole cache are tracked in single set.
211
+ // Since we don't yet support tag or path-based invalidation, there's no point
212
+ // tracking them any more granularly than this. Once we add granular
213
+ // invalidation, that may change, though generally the model is to just notify
214
+ // the listeners and allow the caller to poll the prefetch cache with a new
215
+ // prefetch task if desired.
216
+ let invalidationListeners = null;
217
+ // Incrementing counters used to track cache invalidations. Route and segment
218
+ // caches have separate versions so they can be invalidated independently.
219
+ // Invalidation does not eagerly evict anything from the cache; entries are
220
+ // lazily evicted when read.
221
+ let currentRouteCacheVersion = 0;
222
+ let currentSegmentCacheVersion = 0;
223
+ function getCurrentRouteCacheVersion() {
224
+ return currentRouteCacheVersion;
225
+ }
226
+ function getCurrentSegmentCacheVersion() {
227
+ return currentSegmentCacheVersion;
228
+ }
229
+ function invalidateEntirePrefetchCache(nextUrl, tree) {
230
+ currentRouteCacheVersion++;
231
+ currentSegmentCacheVersion++;
232
+ (0, _links.pingVisibleLinks)(nextUrl, tree);
233
+ pingInvalidationListeners(nextUrl, tree);
234
+ }
235
+ function invalidateRouteCacheEntries(nextUrl, tree) {
236
+ currentRouteCacheVersion++;
237
+ (0, _links.pingVisibleLinks)(nextUrl, tree);
238
+ pingInvalidationListeners(nextUrl, tree);
239
+ }
240
+ function invalidateSegmentCacheEntries(nextUrl, tree) {
241
+ currentSegmentCacheVersion++;
242
+ (0, _links.pingVisibleLinks)(nextUrl, tree);
243
+ pingInvalidationListeners(nextUrl, tree);
244
+ }
245
+ function attachInvalidationListener(task) {
246
+ // This function is called whenever a prefetch task reads a cache entry. If
247
+ // the task has an onInvalidate function associated with it — i.e. the one
248
+ // optionally passed to router.prefetch(onInvalidate) — then we attach that
249
+ // listener to the every cache entry that the task reads. Then, if an entry
250
+ // is invalidated, we call the function.
251
+ if (task.onInvalidate !== null) {
252
+ if (invalidationListeners === null) {
253
+ invalidationListeners = new Set([
254
+ task
255
+ ]);
256
+ } else {
257
+ invalidationListeners.add(task);
258
+ }
259
+ }
260
+ }
261
+ function notifyInvalidationListener(task) {
262
+ const onInvalidate = task.onInvalidate;
263
+ if (onInvalidate !== null) {
264
+ // Clear the callback from the task object to guarantee it's not called more
265
+ // than once.
266
+ task.onInvalidate = null;
267
+ // This is a user-space function, so we must wrap in try/catch.
268
+ try {
269
+ onInvalidate();
270
+ } catch (error) {
271
+ if (typeof reportError === 'function') {
272
+ reportError(error);
273
+ } else {
274
+ console.error(error);
275
+ }
276
+ }
277
+ }
278
+ }
279
+ function pingInvalidationListeners(nextUrl, tree) {
280
+ // The rough equivalent of pingVisibleLinks, but for onInvalidate callbacks.
281
+ // This is called when the Next-Url or the base tree changes, since those
282
+ // may affect the result of a prefetch task. It's also called after a
283
+ // cache invalidation.
284
+ if (invalidationListeners !== null) {
285
+ const tasks = invalidationListeners;
286
+ invalidationListeners = null;
287
+ for (const task of tasks){
288
+ if ((0, _scheduler.isPrefetchTaskDirty)(task, nextUrl, tree)) {
289
+ notifyInvalidationListener(task);
290
+ }
291
+ }
292
+ }
293
+ }
294
+ function readRouteCacheEntry(now, key) {
295
+ const varyPath = (0, _varypath.getRouteVaryPath)(key.pathname, key.search, key.nextUrl);
296
+ const isRevalidation = false;
297
+ const existingEntry = (0, _cachemap.getFromCacheMap)(now, getCurrentRouteCacheVersion(), routeCacheMap, varyPath, isRevalidation, false);
298
+ if (existingEntry !== null) {
299
+ return existingEntry;
300
+ }
301
+ // No cache hit. Attempt to construct from template using the new
302
+ // optimistic routing mechanism (pattern-based matching).
303
+ if (process.env.__NEXT_OPTIMISTIC_ROUTING) {
304
+ return (0, _optimisticroutes.matchKnownRoute)(now, key.pathname, key.search);
305
+ }
306
+ return null;
307
+ }
308
+ function readSegmentCacheEntryForNavigation(now, // The map the navigation is bound to: a locked navigation's driving-task
309
+ // map, or the shared map otherwise.
310
+ map, varyPath, restrictToShell = false) {
311
+ const isRevalidation = false;
312
+ let lookupVaryPath = varyPath;
313
+ if (process.env.__NEXT_EXPOSE_TESTING_API && restrictToShell) {
314
+ // Instant Navigation Testing API: we're navigating to a link that 1) has
315
+ // Partial Prefetching enabled, and 2) does not have a prefetch prop set.
316
+ // Only the shell may render, not anything that varies on concrete route
317
+ // params.
318
+ lookupVaryPath = (0, _varypath.getShellSegmentVaryPath)(varyPath);
319
+ }
320
+ // Prefer a Fulfilled entry (e.g. a cached shell) over a more-specific
321
+ // Pending/Rejected one so it renders immediately instead of blocking on an
322
+ // in-flight entry.
323
+ const fulfilled = (0, _cachemap.getFromCacheMap)(now, getCurrentSegmentCacheVersion(), map, lookupVaryPath, isRevalidation, true);
324
+ if (fulfilled !== null) {
325
+ return fulfilled;
326
+ }
327
+ return (0, _cachemap.getFromCacheMap)(now, getCurrentSegmentCacheVersion(), map, lookupVaryPath, isRevalidation, false);
328
+ }
329
+ function readRevalidatingSegmentCacheEntry(now, map, varyPath) {
330
+ const isRevalidation = true;
331
+ return (0, _cachemap.getFromCacheMap)(now, getCurrentSegmentCacheVersion(), map, varyPath, isRevalidation, false);
332
+ }
333
+ function waitForSegmentCacheEntry(pendingEntry) {
334
+ // Because the entry is pending, there's already a in-progress request.
335
+ // Attach a promise to the entry that will resolve when the server responds.
336
+ let promiseWithResolvers = pendingEntry.promise;
337
+ if (promiseWithResolvers === null) {
338
+ promiseWithResolvers = pendingEntry.promise = (0, _promisewithresolvers.createPromiseWithResolvers)();
339
+ } else {
340
+ // There's already a promise we can use
341
+ }
342
+ return promiseWithResolvers.promise;
343
+ }
344
+ function createDetachedRouteCacheEntry() {
345
+ return {
346
+ canonicalUrl: null,
347
+ status: _cachemap.EntryStatus.Empty,
348
+ blockedTasks: null,
349
+ tree: null,
350
+ metadata: null,
351
+ // This is initialized to true because we don't know yet whether the route
352
+ // could be intercepted. It's only set to false once we receive a response
353
+ // from the server.
354
+ couldBeIntercepted: true,
355
+ // Similarly, we don't yet know if the route supports PPR.
356
+ supportsPerSegmentPrefetching: false,
357
+ hasDynamicRewrite: false,
358
+ renderedSearch: null,
359
+ // Map-related fields
360
+ ref: null,
361
+ size: 0,
362
+ // Since this is an empty entry, there's no reason to ever evict it. It will
363
+ // be updated when the data is populated.
364
+ staleAt: Infinity,
365
+ version: getCurrentRouteCacheVersion()
366
+ };
367
+ }
368
+ function readOrCreateRouteCacheEntry(now, task, key) {
369
+ attachInvalidationListener(task);
370
+ const existingEntry = readRouteCacheEntry(now, key);
371
+ if (existingEntry !== null) {
372
+ return existingEntry;
373
+ }
374
+ // Create a pending entry and add it to the cache.
375
+ const pendingEntry = createDetachedRouteCacheEntry();
376
+ const varyPath = (0, _varypath.getRouteVaryPath)(key.pathname, key.search, key.nextUrl);
377
+ const isRevalidation = false;
378
+ (0, _cachemap.setInCacheMap)(routeCacheMap, varyPath, pendingEntry, isRevalidation);
379
+ return pendingEntry;
380
+ }
381
+ function deprecated_requestOptimisticRouteCacheEntry(now, requestedUrl, nextUrl) {
382
+ // This function is called during a navigation when there was no matching
383
+ // route tree in the prefetch cache. Before de-opting to a blocking,
384
+ // unprefetched navigation, we will first attempt to construct an "optimistic"
385
+ // route tree by checking the cache for similar routes.
386
+ //
387
+ // Check if there's a route with the same pathname, but with different
388
+ // search params. We can then base our optimistic route tree on this entry.
389
+ //
390
+ // Conceptually, we are simulating what would happen if we did perform a
391
+ // prefetch the requested URL, under the assumption that the server will
392
+ // not redirect or rewrite the request in a different manner than the
393
+ // base route tree. This assumption might not hold, in which case we'll have
394
+ // to recover when we perform the dynamic navigation request. However, this
395
+ // is what would happen if a route were dynamically rewritten/redirected
396
+ // in between the prefetch and the navigation. So the logic needs to exist
397
+ // to handle this case regardless.
398
+ // Look for a route with the same pathname, but with an empty search string.
399
+ // TODO: There's nothing inherently special about the empty search string;
400
+ // it's chosen somewhat arbitrarily, with the rationale that it's the most
401
+ // likely one to exist. But we should update this to match _any_ search
402
+ // string. The plan is to generalize this logic alongside other improvements
403
+ // related to "fallback" cache entries.
404
+ const requestedSearch = requestedUrl.search;
405
+ if (requestedSearch === '') {
406
+ // The caller would have already checked if a route with an empty search
407
+ // string is in the cache. So we can bail out here.
408
+ return null;
409
+ }
410
+ const urlWithoutSearchParams = new URL(requestedUrl);
411
+ urlWithoutSearchParams.search = '';
412
+ const routeWithNoSearchParams = readRouteCacheEntry(now, (0, _cachekey.createCacheKey)(urlWithoutSearchParams.href, nextUrl));
413
+ if (routeWithNoSearchParams === null || routeWithNoSearchParams.status !== _cachemap.EntryStatus.Fulfilled) {
414
+ // Bail out of constructing an optimistic route tree. This will result in
415
+ // a blocking, unprefetched navigation.
416
+ return null;
417
+ }
418
+ // Now we have a base route tree we can "patch" with our optimistic values.
419
+ // Optimistically assume that redirects for the requested pathname do
420
+ // not vary on the search string. Therefore, if the base route was
421
+ // redirected to a different search string, then the optimistic route
422
+ // should be redirected to the same search string. Otherwise, we use
423
+ // the requested search string.
424
+ const canonicalUrlForRouteWithNoSearchParams = new URL(routeWithNoSearchParams.canonicalUrl, requestedUrl.origin);
425
+ const optimisticCanonicalSearch = canonicalUrlForRouteWithNoSearchParams.search !== '' ? canonicalUrlForRouteWithNoSearchParams.search : requestedSearch;
426
+ // Similarly, optimistically assume that rewrites for the requested
427
+ // pathname do not vary on the search string. Therefore, if the base
428
+ // route was rewritten to a different search string, then the optimistic
429
+ // route should be rewritten to the same search string. Otherwise, we use
430
+ // the requested search string.
431
+ const optimisticRenderedSearch = routeWithNoSearchParams.renderedSearch !== '' ? routeWithNoSearchParams.renderedSearch : requestedSearch;
432
+ const optimisticUrl = new URL(routeWithNoSearchParams.canonicalUrl, location.origin);
433
+ optimisticUrl.search = optimisticCanonicalSearch;
434
+ const optimisticCanonicalUrl = (0, _createhreffromurl.createHrefFromUrl)(optimisticUrl);
435
+ const optimisticRouteTree = deprecated_createOptimisticRouteTree(routeWithNoSearchParams.tree, optimisticRenderedSearch);
436
+ const optimisticMetadataTree = deprecated_createOptimisticRouteTree(routeWithNoSearchParams.metadata, optimisticRenderedSearch);
437
+ // Clone the base route tree, and override the relevant fields with our
438
+ // optimistic values.
439
+ const optimisticEntry = {
440
+ canonicalUrl: optimisticCanonicalUrl,
441
+ status: _cachemap.EntryStatus.Fulfilled,
442
+ // This isn't cloned because it's instance-specific
443
+ blockedTasks: null,
444
+ tree: optimisticRouteTree,
445
+ metadata: optimisticMetadataTree,
446
+ couldBeIntercepted: routeWithNoSearchParams.couldBeIntercepted,
447
+ supportsPerSegmentPrefetching: routeWithNoSearchParams.supportsPerSegmentPrefetching,
448
+ hasDynamicRewrite: routeWithNoSearchParams.hasDynamicRewrite,
449
+ // Override the rendered search with the optimistic value.
450
+ renderedSearch: optimisticRenderedSearch,
451
+ // Map-related fields
452
+ ref: null,
453
+ size: 0,
454
+ staleAt: routeWithNoSearchParams.staleAt,
455
+ version: routeWithNoSearchParams.version
456
+ };
457
+ // Do not insert this entry into the cache. It only exists so we can
458
+ // perform the current navigation. Just return it to the caller.
459
+ return optimisticEntry;
460
+ }
461
+ function deprecated_createOptimisticRouteTree(tree, newRenderedSearch) {
462
+ // Create a new route tree that identical to the original one except for
463
+ // the rendered search string, which is contained in the vary path.
464
+ let clonedSlots = null;
465
+ const originalSlots = tree.slots;
466
+ if (originalSlots !== null) {
467
+ clonedSlots = new Map();
468
+ for (const [parallelRouteKey, childTree] of originalSlots){
469
+ clonedSlots.set(parallelRouteKey, deprecated_createOptimisticRouteTree(childTree, newRenderedSearch));
470
+ }
471
+ }
472
+ // We only need to clone the vary path if the route is a page.
473
+ if (tree.isPage) {
474
+ // The shell vary path Fallbacks search params, so it's unaffected by the
475
+ // new rendered search and can be reused as-is.
476
+ return {
477
+ requestKey: tree.requestKey,
478
+ segment: tree.segment,
479
+ shellVaryPath: tree.shellVaryPath,
480
+ refreshState: tree.refreshState,
481
+ varyPath: (0, _varypath.clonePageVaryPathWithNewSearchParams)(tree.varyPath, newRenderedSearch),
482
+ isPage: true,
483
+ slots: clonedSlots,
484
+ prefetchHints: tree.prefetchHints
485
+ };
486
+ }
487
+ return {
488
+ requestKey: tree.requestKey,
489
+ segment: tree.segment,
490
+ shellVaryPath: tree.shellVaryPath,
491
+ refreshState: tree.refreshState,
492
+ varyPath: tree.varyPath,
493
+ isPage: false,
494
+ slots: clonedSlots,
495
+ prefetchHints: tree.prefetchHints
496
+ };
497
+ }
498
+ function readOrCreateSegmentCacheEntry(now, // The map the calling task operates in (`PrefetchTask.segmentCacheMap`,
499
+ // captured when the task was scheduled).
500
+ map, fetchStrategy, tree) {
501
+ const existingEntry = (0, _cachemap.getFromCacheMap)(now, getCurrentSegmentCacheVersion(), map, tree.varyPath, false, false);
502
+ if (existingEntry !== null) {
503
+ return existingEntry;
504
+ }
505
+ return insertEmptySegmentCacheEntry(now, map, fetchStrategy, tree);
506
+ }
507
+ /**
508
+ * Creates an empty segment cache entry and inserts it into the cache, keyed
509
+ * at the vary path a request made with the given fetch strategy is stored
510
+ * under. The stale time is set to a default value; the actual stale time will
511
+ * be set when the entry is fulfilled with data from the server response.
512
+ */ function insertEmptySegmentCacheEntry(now, map, fetchStrategy, tree) {
513
+ const varyPathForRequest = (0, _varypath.getSegmentVaryPathForRequest)(fetchStrategy, tree);
514
+ const emptyEntry = createDetachedSegmentCacheEntry(now);
515
+ const isRevalidation = false;
516
+ (0, _cachemap.setInCacheMap)(map, varyPathForRequest, emptyEntry, isRevalidation);
517
+ return emptyEntry;
518
+ }
519
+ function readOrCreateRevalidatingSegmentEntry(now, // The map the calling task operates in (`PrefetchTask.segmentCacheMap`).
520
+ map, fetchStrategy, tree) {
521
+ // This function is called when we've already confirmed that a particular
522
+ // segment is cached, but we want to perform another request anyway in case it
523
+ // returns more complete and/or fresher data than we already have. The logic
524
+ // for deciding whether to replace the existing entry is handled elsewhere;
525
+ // this function just handles retrieving a cache entry that we can use to
526
+ // track the revalidation.
527
+ //
528
+ // The reason revalidations are stored in the cache is because we need to be
529
+ // able to dedupe multiple revalidation requests. The reason they have to be
530
+ // handled specially is because we shouldn't overwrite a "normal" entry if
531
+ // one exists at the same keypath. So, for each internal cache location, there
532
+ // is a special "revalidation" slot that is used solely for this purpose.
533
+ //
534
+ // You can think of it as if all the revalidation entries were stored in a
535
+ // separate cache map from the canonical entries, and then transfered to the
536
+ // canonical cache map once the request is complete — this isn't how it's
537
+ // actually implemented, since it's more efficient to store them in the same
538
+ // data structure as the normal entries, but that's how it's modeled
539
+ // conceptually.
540
+ // TODO: Once we implement Fallback behavior for params, where an entry is
541
+ // re-keyed based on response information, we'll need to account for the
542
+ // possibility that the keypath of the previous entry is more generic than
543
+ // the keypath of the revalidating entry. In other words, the server could
544
+ // return a less generic entry upon revalidation. For now, though, this isn't
545
+ // a concern because the keypath is based solely on the prefetch strategy,
546
+ // not on data contained in the response.
547
+ const existingEntry = readRevalidatingSegmentCacheEntry(now, map, tree.varyPath);
548
+ if (existingEntry !== null) {
549
+ return existingEntry;
550
+ }
551
+ // Create a pending entry and add it to the cache. The stale time is set to a
552
+ // default value; the actual stale time will be set when the entry is
553
+ // fulfilled with data from the server response.
554
+ const varyPathForRequest = (0, _varypath.getSegmentVaryPathForRequest)(fetchStrategy, tree);
555
+ const pendingEntry = createDetachedSegmentCacheEntry(now);
556
+ const isRevalidation = true;
557
+ (0, _cachemap.setInCacheMap)(map, varyPathForRequest, pendingEntry, isRevalidation);
558
+ return pendingEntry;
559
+ }
560
+ function overwriteRevalidatingSegmentCacheEntry(now, // The map the calling task operates in (`PrefetchTask.segmentCacheMap`).
561
+ map, fetchStrategy, tree) {
562
+ // This function is called when we've already decided to replace an existing
563
+ // revalidation entry. Create a new entry and write it into the cache,
564
+ // overwriting the previous value. The stale time is set to a default value;
565
+ // the actual stale time will be set when the entry is fulfilled with data
566
+ // from the server response.
567
+ const varyPathForRequest = (0, _varypath.getSegmentVaryPathForRequest)(fetchStrategy, tree);
568
+ const pendingEntry = createDetachedSegmentCacheEntry(now);
569
+ const isRevalidation = true;
570
+ (0, _cachemap.setInCacheMap)(map, varyPathForRequest, pendingEntry, isRevalidation);
571
+ return pendingEntry;
572
+ }
573
+ /**
574
+ * Whether an existing cache entry is preferred over an incoming candidate —
575
+ * i.e. the candidate does NOT supersede it. (On an exact tie — same fetch
576
+ * strategy, same partialness — this returns false, so the candidate replaces
577
+ * the existing entry.) This is the precedence rule used both when deciding
578
+ * whether an upsert may replace the entry at its own keypath, and when
579
+ * deciding whether an entry at a more specific keypath may be evicted because
580
+ * it shadows a just-inserted candidate (see `evictShadowingSegmentEntries`).
581
+ *
582
+ * Note that "less/more specific" in the comments below refers to fetch
583
+ * strategy content tiers (how much content a strategy can produce), not the
584
+ * vary-path specificity the eviction docs are concerned with.
585
+ */ function isExistingSegmentEntryPreferred(existingEntry, candidateEntry) {
586
+ return(// We fetched the new segment using a different, less specific fetch
587
+ // strategy than the segment we already have in the cache, so it can't
588
+ // have more content.
589
+ candidateEntry.fetchStrategy !== existingEntry.fetchStrategy && !canNewFetchStrategyProvideMoreContent(existingEntry.fetchStrategy, candidateEntry.fetchStrategy) || // The existing entry isn't partial, but the new one is.
590
+ // (TODO: can this be true if `candidateEntry.fetchStrategy >= existingEntry.fetchStrategy`?)
591
+ !existingEntry.isPartial && candidateEntry.isPartial);
592
+ }
593
+ function upsertSegmentEntry(now, // The map the whole upsert (existing-entry read, insert, shadow eviction)
594
+ // operates in. Prefetch response-write paths pass the spawning task's map
595
+ // (`PrefetchTask.segmentCacheMap`), so a response that lands after a
596
+ // testing-lock scope boundary still writes into the map its entries
597
+ // live in.
598
+ map, varyPath, candidateEntry, // The fully concrete vary path a read for this segment position resolves
599
+ // against (all concrete param values, i.e. `tree.varyPath`) — the most
600
+ // specific path a read would use. Note this is the opposite of the
601
+ // generalized keying path that `getSegmentVaryPathForRequest` computes.
602
+ // Used to detect and evict stale entries at more specific keypaths that
603
+ // would otherwise shadow the candidate. Pass null when there's no request
604
+ // context; the shadow check is skipped.
605
+ lookupVaryPath) {
606
+ // We have a new entry that has not yet been inserted into the cache. Before
607
+ // we do so, we need to confirm whether it takes precedence over the existing
608
+ // entry (if one exists).
609
+ // TODO: We should not upsert an entry if its key was invalidated in the time
610
+ // since the request was made. We can do that by passing the "owner" entry to
611
+ // this function and confirming it's the same as `existingEntry`.
612
+ if ((0, _cachemap.isValueExpired)(now, getCurrentSegmentCacheVersion(), candidateEntry)) {
613
+ // The entry is expired. We cannot upsert it.
614
+ return null;
615
+ }
616
+ const existingEntry = (0, _cachemap.getFromCacheMap)(now, getCurrentSegmentCacheVersion(), map, varyPath, false, false);
617
+ if (existingEntry !== null) {
618
+ // Don't replace a more specific segment with a less-specific one. A case where this
619
+ // might happen is if the existing segment was fetched via
620
+ // `<Link prefetch={true}>`.
621
+ if (isExistingSegmentEntryPreferred(existingEntry, candidateEntry)) {
622
+ // The candidate does not supersede the existing entry. Leave the
623
+ // existing entry in place and discard the candidate by not inserting it.
624
+ //
625
+ // We must not mutate the candidate here (e.g. downgrade it to Rejected or
626
+ // null out its `rsc`). The caller does not transfer exclusive ownership
627
+ // of it: it may already have been fulfilled, resolving its promise to a
628
+ // waiter that holds the entry and reads `rsc` off it later. A navigation
629
+ // seed is such a waiter, via `waitForSegmentCacheEntry`. Nulling `rsc`
630
+ // after the fact resolves that read to `null`, so the waiter loses the
631
+ // data it was about to render. Declining to insert it is enough: the
632
+ // existing entry stays canonical, and the candidate keeps its valid (if
633
+ // less complete) data for any waiter that already took it.
634
+ return null;
635
+ }
636
+ // Ping any tasks blocked on the existing entry before replacing it so they
637
+ // re-run and pick up the new entry. Without this, tasks waiting on the
638
+ // existing Empty/Pending entry would be stranded — the new fulfilled
639
+ // candidate has no blockedTasks of its own.
640
+ if (existingEntry.status === _cachemap.EntryStatus.Empty || existingEntry.status === _cachemap.EntryStatus.Pending) {
641
+ pingBlockedTasks(existingEntry);
642
+ }
643
+ // Replace the existing entry by writing the candidate over its keypath
644
+ // below (the same mechanism `overwriteRevalidatingSegmentCacheEntry`
645
+ // uses). We intentionally do NOT call `deleteFromCacheMap` first: deleting
646
+ // vacates the canonical slot, and `deleteMapEntry` promotes a pending
647
+ // Revalidation-slot entry into the vacated slot — which the immediate
648
+ // insert below would then silently overwrite. The in-flight revalidation
649
+ // would vanish from the map, so the next scheduler pass would find an
650
+ // empty revalidation slot and spawn a duplicate request instead of
651
+ // deduping against it. Replacing in place never vacates the slot, so
652
+ // promotion never runs and the pending revalidating entry stays in its
653
+ // Revalidation slot where `readOrCreateRevalidatingSegmentEntry`'s dedupe
654
+ // finds it.
655
+ //
656
+ // The displaced entry's map/LRU accounting is handled by the replacement
657
+ // itself: `setMapEntryValue` drops the displaced value's `ref` and
658
+ // `updateLruSize` swaps its size for the candidate's, which is exactly
659
+ // what delete-then-insert did.
660
+ }
661
+ const isRevalidation = false;
662
+ (0, _cachemap.setInCacheMap)(map, varyPath, candidateEntry, isRevalidation);
663
+ if (lookupVaryPath !== null) {
664
+ evictShadowingSegmentEntries(now, map, lookupVaryPath, candidateEntry);
665
+ }
666
+ return candidateEntry;
667
+ }
668
+ /**
669
+ * Evicts stale entries at more specific keypaths that shadow a just-inserted
670
+ * candidate entry.
671
+ *
672
+ * A response can be written to the cache at a MORE GENERIC vary path than the
673
+ * path the request was issued against — for example, the server may report
674
+ * that a segment doesn't vary on a param, so the entry is re-keyed with that
675
+ * param as Fallback. Meanwhile, an older, less useful entry can exist at a
676
+ * more specific path within the same fallback chain — for example, a partial
677
+ * shell entry keyed with root params concrete (see
678
+ * `getShellSegmentVaryPath`). Because segment lookup is
679
+ * most-specific-match-wins, every subsequent read at the concrete request
680
+ * path keeps returning the stale specific entry, and the more complete
681
+ * generic entry is unreachable from that URL. That both wastes the completed
682
+ * request and can loop: a prefetch task that revalidated the segment reads
683
+ * back the same stale entry, decides it needs to revalidate again, and
684
+ * repeats forever.
685
+ *
686
+ * The upsert is the one moment we know the ordering between the two entries:
687
+ * the candidate was produced by a request for this segment position, and
688
+ * `lookupVaryPath` is the fully concrete path a read for that position
689
+ * resolves against, so any entry that a read at that path would return in the
690
+ * candidate's stead is directly comparable to it. If such an entry is settled
691
+ * and the candidate supersedes it — under the same precedence rules the
692
+ * upsert applies at its own keypath — we know we never want to match against
693
+ * it again, so delete it, making the candidate reachable.
694
+ *
695
+ * Non-settled entries are never evicted here: a Pending entry is owned by an
696
+ * in-flight request that will settle it, and an Empty entry is a placeholder
697
+ * that a scheduler pass may still claim and upgrade.
698
+ */ function evictShadowingSegmentEntries(now, map, lookupVaryPath, candidateEntry) {
699
+ // There can in principle be multiple shadowing entries at successively less
700
+ // specific keypaths, so loop until the read returns the candidate (or an
701
+ // entry we don't supersede). Each iteration re-reads and re-checks from
702
+ // scratch (in part because `deleteFromCacheMap` can promote a settled
703
+ // Revalidation-slot value into the just-vacated slot, surfacing a new entry
704
+ // at the same keypath). Each iteration deletes an entry from the map, so
705
+ // the loop terminates naturally; the bound is defensive, and 32 is far
706
+ // beyond any real fallback chain, which is bounded by the vary
707
+ // path's length.
708
+ for(let i = 0; i < 32; i++){
709
+ const shadowEntry = (0, _cachemap.getFromCacheMap)(now, getCurrentSegmentCacheVersion(), map, lookupVaryPath, false, false);
710
+ if (shadowEntry === null || shadowEntry === candidateEntry) {
711
+ // The candidate is reachable from the lookup path (or the read missed
712
+ // entirely, e.g. because the candidate expired). Done.
713
+ return;
714
+ }
715
+ if (shadowEntry.status !== _cachemap.EntryStatus.Fulfilled && shadowEntry.status !== _cachemap.EntryStatus.Rejected) {
716
+ // Only settled entries may be evicted. A Pending entry is held by an
717
+ // in-flight request and will settle on its own.
718
+ return;
719
+ }
720
+ if (isExistingSegmentEntryPreferred(shadowEntry, candidateEntry)) {
721
+ // The shadowing entry is preferred over the candidate (e.g. it's a
722
+ // complete entry fetched with a more specific strategy). Leave it —
723
+ // reads at this path should keep matching it.
724
+ return;
725
+ }
726
+ // The candidate supersedes the shadowing entry. Evict it. Settled entries
727
+ // shouldn't have blocked tasks (Fulfilled always has `blockedTasks:
728
+ // null`, and Rejected entries were pinged at rejection), but ping
729
+ // defensively before deleting, matching the upsert-evict pattern above.
730
+ pingBlockedTasks(shadowEntry);
731
+ (0, _cachemap.deleteFromCacheMap)(shadowEntry);
732
+ }
733
+ }
734
+ function createDetachedSegmentCacheEntry(now) {
735
+ // Default stale time for pending segment cache entries. The actual stale time
736
+ // is set when the entry is fulfilled with data from the server response.
737
+ const staleAt = now + 30 * 1000;
738
+ const emptyEntry = {
739
+ status: _cachemap.EntryStatus.Empty,
740
+ blockedTasks: null,
741
+ // Default to assuming the fetch strategy will be PPR. This will be updated
742
+ // when a fetch is actually initiated.
743
+ fetchStrategy: _types.FetchStrategy.PPR,
744
+ rsc: null,
745
+ isPartial: true,
746
+ isUpgradeableISRFallback: false,
747
+ promise: null,
748
+ // Map-related fields
749
+ ref: null,
750
+ size: 0,
751
+ staleAt,
752
+ version: 0
753
+ };
754
+ return emptyEntry;
755
+ }
756
+ function upgradeToPendingSegment(emptyEntry, fetchStrategy) {
757
+ const pendingEntry = emptyEntry;
758
+ pendingEntry.status = _cachemap.EntryStatus.Pending;
759
+ pendingEntry.fetchStrategy = fetchStrategy;
760
+ if (fetchStrategy === _types.FetchStrategy.Full) {
761
+ // We can assume the response will contain the full segment data. Set this
762
+ // to false so we know it's OK to omit this segment from any navigation
763
+ // requests that may happen while the data is still pending.
764
+ pendingEntry.isPartial = false;
765
+ }
766
+ // Set the version here, since this is right before the request is initiated.
767
+ // The next time the segment cache version is incremented, the entry will
768
+ // effectively be evicted. This happens before initiating the request, rather
769
+ // than when receiving the response, because it's guaranteed to happen
770
+ // before the data is read on the server.
771
+ pendingEntry.version = getCurrentSegmentCacheVersion();
772
+ return pendingEntry;
773
+ }
774
+ function attemptToFulfillDynamicSegmentFromBFCache(now, segment, tree) {
775
+ // Attempts to fulfill an empty segment cache entry using data from the
776
+ // bfcache. This is only valid during a Full prefetch (i.e. one that includes
777
+ // dynamic data), because the bfcache stores data from navigations which
778
+ // always include dynamic data.
779
+ // We always use the canonical vary path when checking the bfcache. This is
780
+ // the same operation we'd use to access the cache during a
781
+ // regular navigation.
782
+ const varyPath = tree.varyPath;
783
+ // Read from the BFCache without expiring it (pass -1). We check freshness
784
+ // ourselves using navigatedAt, because the BFCache's staleAt may have been
785
+ // overridden by a per-page unstable_dynamicStaleTime and can't be used to
786
+ // derive the original request time.
787
+ const bfcacheEntry = (0, _bfcache.readFromBFCache)(varyPath);
788
+ if (bfcacheEntry !== null) {
789
+ // The stale time for dynamic prefetches (default: 5 mins) is different
790
+ // from the stale time for regular navigations (default: 0 secs). Use
791
+ // navigatedAt to compute the correct expiry for prefetch purposes.
792
+ const dynamicPrefetchStaleAt = bfcacheEntry.navigatedAt + _navigatereducer.STATIC_STALETIME_MS;
793
+ if (now > dynamicPrefetchStaleAt) {
794
+ return null;
795
+ }
796
+ const pendingSegment = upgradeToPendingSegment(segment, _types.FetchStrategy.Full);
797
+ const isPartial = false;
798
+ return fulfillSegmentCacheEntry(pendingSegment, bfcacheEntry.rsc, dynamicPrefetchStaleAt, isPartial, // bfcache data is concrete, never an ISR fallback.
799
+ false, _types.FetchStrategy.Full);
800
+ }
801
+ return null;
802
+ }
803
+ function attemptToUpgradeSegmentFromBFCache(now, // The map the calling task operates in (`PrefetchTask.segmentCacheMap`).
804
+ map, tree) {
805
+ const varyPath = tree.varyPath;
806
+ const bfcacheEntry = (0, _bfcache.readFromBFCache)(varyPath);
807
+ if (bfcacheEntry !== null) {
808
+ const dynamicPrefetchStaleAt = bfcacheEntry.navigatedAt + _navigatereducer.STATIC_STALETIME_MS;
809
+ if (now > dynamicPrefetchStaleAt) {
810
+ return null;
811
+ }
812
+ const pendingSegment = upgradeToPendingSegment(createDetachedSegmentCacheEntry(now), _types.FetchStrategy.Full);
813
+ const isPartial = false;
814
+ const newEntry = fulfillSegmentCacheEntry(pendingSegment, bfcacheEntry.rsc, dynamicPrefetchStaleAt, isPartial, // bfcache data is concrete, never an ISR fallback.
815
+ false, _types.FetchStrategy.Full);
816
+ const segmentVaryPath = (0, _varypath.getSegmentVaryPathForRequest)(_types.FetchStrategy.Full, tree);
817
+ const upserted = upsertSegmentEntry(now, map, segmentVaryPath, newEntry, // The concrete lookup path this BFCache upgrade applies to. (In
818
+ // practice a Full request path is already fully concrete, so nothing
819
+ // can shadow the new entry and the shadow check is a no-op.)
820
+ tree.varyPath);
821
+ if (upserted !== null && upserted.status === _cachemap.EntryStatus.Fulfilled) {
822
+ return upserted;
823
+ }
824
+ }
825
+ return null;
826
+ }
827
+ function pingBlockedTasks(entry) {
828
+ const blockedTasks = entry.blockedTasks;
829
+ if (blockedTasks !== null) {
830
+ for (const task of blockedTasks){
831
+ (0, _scheduler.pingPrefetchTask)(task);
832
+ }
833
+ entry.blockedTasks = null;
834
+ }
835
+ }
836
+ function createMetadataRouteTree(metadataVaryPath) {
837
+ // The Head is not actually part of the route tree, but other than that, it's
838
+ // fetched and cached like a segment. Some functions expect a RouteTree
839
+ // object, so rather than fork the logic in all those places, we use this
840
+ // "fake" one.
841
+ const metadata = {
842
+ requestKey: _segmentvalueencoding.HEAD_REQUEST_KEY,
843
+ segment: _segmentvalueencoding.HEAD_REQUEST_KEY,
844
+ shellVaryPath: (0, _varypath.getShellSegmentVaryPath)(metadataVaryPath),
845
+ refreshState: null,
846
+ varyPath: metadataVaryPath,
847
+ // The metadata isn't really a "page" (though it isn't really a "segment"
848
+ // either) but for the purposes of how this field is used, it behaves like
849
+ // one. If this logic ever gets more complex we can change this to an enum.
850
+ isPage: true,
851
+ slots: null,
852
+ prefetchHints: 0
853
+ };
854
+ return metadata;
855
+ }
856
+ function fulfillRouteCacheEntry(now, entry, tree, metadataVaryPath, couldBeIntercepted, canonicalUrl, supportsPerSegmentPrefetching) {
857
+ // Get the rendered search from the vary path
858
+ const renderedSearch = (0, _varypath.getRenderedSearchFromVaryPath)(metadataVaryPath) ?? '';
859
+ const fulfilledEntry = entry;
860
+ fulfilledEntry.status = _cachemap.EntryStatus.Fulfilled;
861
+ fulfilledEntry.tree = tree;
862
+ fulfilledEntry.metadata = createMetadataRouteTree(metadataVaryPath);
863
+ // Route structure is essentially static — it only changes on deploy.
864
+ // Always use the static stale time.
865
+ // NOTE: An exception is rewrites/redirects in middleware or proxy, which can
866
+ // change routes dynamically. We have other strategies for handling those.
867
+ //
868
+ // If the route tree has stale inlining hints (e.g. the initial RSC payload
869
+ // for a build-time static page, generated before collectPrefetchHints ran),
870
+ // immediately expire the entry so it gets re-fetched with correct hints.
871
+ // The segment data itself is still valid — only the route tree (which
872
+ // contains the hint bits) needs to be re-fetched.
873
+ if (tree.prefetchHints & _approutertypes.PrefetchHint.InliningHintsStale) {
874
+ fulfilledEntry.staleAt = -1;
875
+ } else {
876
+ fulfilledEntry.staleAt = now + _navigatereducer.STATIC_STALETIME_MS;
877
+ }
878
+ fulfilledEntry.couldBeIntercepted = couldBeIntercepted;
879
+ fulfilledEntry.canonicalUrl = canonicalUrl;
880
+ fulfilledEntry.renderedSearch = renderedSearch;
881
+ fulfilledEntry.supportsPerSegmentPrefetching = supportsPerSegmentPrefetching;
882
+ fulfilledEntry.hasDynamicRewrite = false;
883
+ pingBlockedTasks(entry);
884
+ return fulfilledEntry;
885
+ }
886
+ function writeRouteIntoCache(now, pathname, search, nextUrl, tree, metadataVaryPath, couldBeIntercepted, canonicalUrl, supportsPerSegmentPrefetching) {
887
+ const pendingEntry = createDetachedRouteCacheEntry();
888
+ const fulfilledEntry = fulfillRouteCacheEntry(now, pendingEntry, tree, metadataVaryPath, couldBeIntercepted, canonicalUrl, supportsPerSegmentPrefetching);
889
+ const varyPath = (0, _varypath.getFulfilledRouteVaryPath)(pathname, search, nextUrl, couldBeIntercepted);
890
+ const isRevalidation = false;
891
+ (0, _cachemap.setInCacheMap)(routeCacheMap, varyPath, fulfilledEntry, isRevalidation);
892
+ return fulfilledEntry;
893
+ }
894
+ function markRouteEntryAsDynamicRewrite(entry) {
895
+ entry.hasDynamicRewrite = true;
896
+ // Note: The caller is responsible for also calling invalidateRouteCacheEntries
897
+ // to invalidate other entries that may have been derived from this template
898
+ // before we knew it had a dynamic rewrite.
899
+ }
900
+ function fulfillSegmentCacheEntry(segmentCacheEntry, rsc, staleAt, isPartial, // Only static (per-segment PPR) responses can be ISR fallbacks; all other
901
+ // callers pass false. Always assigned (even when false) so that re-fulfilling
902
+ // a previously-fallback entry with a concrete response clears the flag and
903
+ // ends the retry loop.
904
+ isUpgradeableISRFallback, // The strategy tier describing the CONTENT this entry is fulfilled with —
905
+ // which comes from the response, not the tier the entry was requested at.
906
+ // Usually the two agree, but when a response's shell payload IS the full
907
+ // response (no shell/full split), shell-spawned entries are fulfilled with
908
+ // full-tier content and recorded as such (see the promotion in
909
+ // writeSegmentBundleResponse). Always assigned, replacing
910
+ // the spawn-time strategy set by upgradeToPendingSegment; the write walks'
911
+ // matching and keying decisions all happen against the spawn-time
912
+ // strategy, before fulfillment, so they are unaffected. See
913
+ // SegmentCacheEntryShared['fetchStrategy'].
914
+ fetchStrategy) {
915
+ const fulfilledEntry = segmentCacheEntry;
916
+ fulfilledEntry.status = _cachemap.EntryStatus.Fulfilled;
917
+ fulfilledEntry.rsc = rsc;
918
+ fulfilledEntry.staleAt = staleAt;
919
+ fulfilledEntry.isPartial = isPartial;
920
+ fulfilledEntry.isUpgradeableISRFallback = isUpgradeableISRFallback;
921
+ fulfilledEntry.fetchStrategy = fetchStrategy;
922
+ // Resolve any listeners that were waiting for this data.
923
+ if (segmentCacheEntry.promise !== null) {
924
+ segmentCacheEntry.promise.resolve(fulfilledEntry);
925
+ // Free the promise for garbage collection.
926
+ fulfilledEntry.promise = null;
927
+ }
928
+ pingBlockedTasks(segmentCacheEntry);
929
+ return fulfilledEntry;
930
+ }
931
+ function rejectRouteCacheEntry(entry, staleAt) {
932
+ const rejectedEntry = entry;
933
+ rejectedEntry.status = _cachemap.EntryStatus.Rejected;
934
+ rejectedEntry.staleAt = staleAt;
935
+ pingBlockedTasks(entry);
936
+ }
937
+ function rejectSegmentCacheEntry(entry, staleAt) {
938
+ const rejectedEntry = entry;
939
+ rejectedEntry.status = _cachemap.EntryStatus.Rejected;
940
+ rejectedEntry.staleAt = staleAt;
941
+ if (entry.promise !== null) {
942
+ // NOTE: We don't currently propagate the reason the prefetch was canceled
943
+ // but we could by accepting a `reason` argument.
944
+ entry.promise.resolve(null);
945
+ entry.promise = null;
946
+ }
947
+ pingBlockedTasks(entry);
948
+ }
949
+ function convertRootTreePrefetchToRouteTree(rootTree, renderedPathname, renderedSearch, acc) {
950
+ // Remove trailing and leading slashes
951
+ const pathnameParts = (0, _cachekey.splitPathnameIntoParts)(renderedPathname);
952
+ const index = 0;
953
+ const rootSegment = _segmentvalueencoding.ROOT_SEGMENT_REQUEST_KEY;
954
+ return convertTreePrefetchToRouteTree(rootTree.tree, rootSegment, null, _segmentvalueencoding.ROOT_SEGMENT_REQUEST_KEY, pathnameParts, index, renderedSearch, acc);
955
+ }
956
+ function convertTreePrefetchToRouteTree(prefetch, segment, partialVaryPath, requestKey, pathnameParts, pathnamePartsIndex, renderedSearch, acc) {
957
+ // Converts the route tree sent by the server into the format used by the
958
+ // cache. The cached version of the tree includes additional fields, such as a
959
+ // cache key for each segment. Since this is frequently accessed, we compute
960
+ // it once instead of on every access. This same cache key is also used to
961
+ // request the segment from the server.
962
+ let slots = null;
963
+ let isPage;
964
+ let varyPath;
965
+ const prefetchSlots = prefetch.slots;
966
+ if (prefetchSlots !== null) {
967
+ isPage = false;
968
+ varyPath = (0, _varypath.finalizeLayoutVaryPath)(requestKey, partialVaryPath);
969
+ slots = new Map();
970
+ for(let parallelRouteKey in prefetchSlots){
971
+ const childPrefetch = prefetchSlots[parallelRouteKey];
972
+ const childSegmentName = childPrefetch.name;
973
+ const childParam = childPrefetch.param;
974
+ let childDoesAppearInURL;
975
+ let childSegment;
976
+ let childPartialVaryPath;
977
+ if (childParam !== null) {
978
+ // This segment is parameterized. Get the param from the pathname.
979
+ const childParamValue = (0, _routeparams.parseDynamicParamFromURLPart)(childParam.type, pathnameParts, pathnamePartsIndex);
980
+ // Assign a cache key to the segment, based on the param value. In the
981
+ // pre-Segment Cache implementation, the server computes this and sends
982
+ // it in the body of the response. In the Segment Cache implementation,
983
+ // the server sends an empty string and we fill it in here.
984
+ // TODO: We're intentionally not adding the search param to page
985
+ // segments here; it's tracked separately and added back during a read.
986
+ // This would clearer if we waited to construct the segment until it's
987
+ // read from the cache, since that's effectively what we're
988
+ // doing anyway.
989
+ const childParamKey = // The server omits this field from the prefetch response when
990
+ // cacheComponents is enabled.
991
+ childParam.key !== null ? childParam.key : (0, _routeparams.getCacheKeyForDynamicParam)(childParamValue, '');
992
+ childPartialVaryPath = (0, _varypath.appendLayoutVaryPath)(partialVaryPath, childParamKey, childSegmentName, // The child's param is a root param iff the child segment is at or
993
+ // above the root layout, which the server marks directly.
994
+ (childPrefetch.prefetchHints & _approutertypes.PrefetchHint.IsRootLayoutOrAbove) !== 0);
995
+ childSegment = [
996
+ childSegmentName,
997
+ childParamKey,
998
+ childParam.type,
999
+ childParam.siblings
1000
+ ];
1001
+ childDoesAppearInURL = true;
1002
+ } else {
1003
+ // This segment does not have a param. Inherit the partial vary path of
1004
+ // the parent.
1005
+ childPartialVaryPath = partialVaryPath;
1006
+ childSegment = childSegmentName;
1007
+ childDoesAppearInURL = (0, _routeparams.doesStaticSegmentAppearInURL)(childSegmentName);
1008
+ }
1009
+ // Only increment the index if the segment appears in the URL. If it's a
1010
+ // "virtual" segment, like a route group, it remains the same.
1011
+ const childPathnamePartsIndex = childDoesAppearInURL ? pathnamePartsIndex + 1 : pathnamePartsIndex;
1012
+ const childRequestKeyPart = (0, _segmentvalueencoding.createSegmentRequestKeyPart)(childSegment);
1013
+ const childRequestKey = (0, _segmentvalueencoding.appendSegmentRequestKeyPart)(requestKey, parallelRouteKey, childRequestKeyPart);
1014
+ slots.set(parallelRouteKey, convertTreePrefetchToRouteTree(childPrefetch, childSegment, childPartialVaryPath, childRequestKey, pathnameParts, childPathnamePartsIndex, renderedSearch, acc));
1015
+ }
1016
+ } else {
1017
+ if (requestKey.endsWith(_segment.PAGE_SEGMENT_KEY)) {
1018
+ // This is a page segment.
1019
+ isPage = true;
1020
+ varyPath = (0, _varypath.finalizePageVaryPath)(requestKey, renderedSearch, partialVaryPath);
1021
+ // The metadata "segment" is not part the route tree, but it has the same
1022
+ // conceptual params as a page segment. Write the vary path into the
1023
+ // accumulator object. If there are multiple parallel pages, we use the
1024
+ // first one. Which page we choose is arbitrary as long as it's
1025
+ // consistently the same one every time every time. See
1026
+ // finalizeMetadataVaryPath for more details.
1027
+ if (acc.metadataVaryPath === null) {
1028
+ acc.metadataVaryPath = (0, _varypath.finalizeMetadataVaryPath)(requestKey, renderedSearch, partialVaryPath);
1029
+ }
1030
+ } else {
1031
+ // This is a layout segment.
1032
+ isPage = false;
1033
+ varyPath = (0, _varypath.finalizeLayoutVaryPath)(requestKey, partialVaryPath);
1034
+ }
1035
+ }
1036
+ return {
1037
+ requestKey,
1038
+ segment,
1039
+ shellVaryPath: (0, _varypath.getShellSegmentVaryPath)(varyPath),
1040
+ refreshState: null,
1041
+ // TODO: Cheating the type system here a bit because TypeScript can't tell
1042
+ // that the type of isPage and varyPath are consistent. The fix would be to
1043
+ // create separate constructors and call the appropriate one from each of
1044
+ // the branches above. Just seems a bit overkill only for one field so I'll
1045
+ // leave it as-is for now. If isPage were wrong it would break the behavior
1046
+ // and we'd catch it quickly, anyway.
1047
+ varyPath: varyPath,
1048
+ isPage: isPage,
1049
+ slots,
1050
+ prefetchHints: prefetch.prefetchHints
1051
+ };
1052
+ }
1053
+ function convertRootFlightRouterStateToRouteTree(flightRouterState, renderedSearch, acc) {
1054
+ return convertFlightRouterStateToRouteTree(flightRouterState, _segmentvalueencoding.ROOT_SEGMENT_REQUEST_KEY, null, renderedSearch, acc);
1055
+ }
1056
+ function convertReusedFlightRouterStateToRouteTree(parentRouteTree, parallelRouteKey, flightRouterState, renderedSearch, acc) {
1057
+ // Create a RouteTree for a FlightRouterState that was reused from an older
1058
+ // route. This happens during a navigation when a parallel route slot does not
1059
+ // match the target route; we reuse whatever slot was already active.
1060
+ // Unlike a FlightRouterState, the RouteTree type contains backreferences to
1061
+ // the parent segments. Append the vary path to the parent's vary path.
1062
+ const parentPartialVaryPath = parentRouteTree.isPage ? (0, _varypath.getPartialPageVaryPath)(parentRouteTree.varyPath) : (0, _varypath.getPartialLayoutVaryPath)(parentRouteTree.varyPath);
1063
+ const segment = flightRouterState[0];
1064
+ // And the request key.
1065
+ const parentRequestKey = parentRouteTree.requestKey;
1066
+ const requestKeyPart = (0, _segmentvalueencoding.createSegmentRequestKeyPart)(segment);
1067
+ const requestKey = (0, _segmentvalueencoding.appendSegmentRequestKeyPart)(parentRequestKey, parallelRouteKey, requestKeyPart);
1068
+ return convertFlightRouterStateToRouteTree(flightRouterState, requestKey, parentPartialVaryPath, renderedSearch, acc);
1069
+ }
1070
+ function convertFlightRouterStateToRouteTree(flightRouterState, requestKey, parentPartialVaryPath, parentRenderedSearch, acc) {
1071
+ const originalSegment = flightRouterState[0];
1072
+ // This segment's param (if any) is a root param iff the segment is at or
1073
+ // above the root layout, which the server marks directly.
1074
+ const isRootParam = ((flightRouterState[4] ?? 0) & _approutertypes.PrefetchHint.IsRootLayoutOrAbove) !== 0;
1075
+ // If the FlightRouterState has a refresh state, then this segment is part of
1076
+ // an inactive parallel route. It has a different rendered search query than
1077
+ // the outer parent route. In order to construct the inactive route correctly,
1078
+ // we must restore the query that was originally used to render it.
1079
+ const compressedRefreshState = flightRouterState[2] ?? null;
1080
+ const refreshState = compressedRefreshState !== null ? {
1081
+ canonicalUrl: compressedRefreshState[0],
1082
+ renderedSearch: compressedRefreshState[1]
1083
+ } : null;
1084
+ const renderedSearch = refreshState !== null ? refreshState.renderedSearch : parentRenderedSearch;
1085
+ let segment;
1086
+ let partialVaryPath;
1087
+ let isPage;
1088
+ let varyPath;
1089
+ if (Array.isArray(originalSegment)) {
1090
+ isPage = false;
1091
+ const paramCacheKey = originalSegment[1];
1092
+ const paramName = originalSegment[0];
1093
+ partialVaryPath = (0, _varypath.appendLayoutVaryPath)(parentPartialVaryPath, paramCacheKey, paramName, isRootParam);
1094
+ varyPath = (0, _varypath.finalizeLayoutVaryPath)(requestKey, partialVaryPath);
1095
+ segment = originalSegment;
1096
+ } else {
1097
+ // This segment does not have a param. Inherit the partial vary path of
1098
+ // the parent.
1099
+ partialVaryPath = parentPartialVaryPath;
1100
+ if (requestKey.endsWith(_segment.PAGE_SEGMENT_KEY)) {
1101
+ // This is a page segment.
1102
+ isPage = true;
1103
+ // The navigation implementation expects the search params to be included
1104
+ // in the segment. However, in the case of a static response, the search
1105
+ // params are omitted. So the client needs to add them back in when reading
1106
+ // from the Segment Cache.
1107
+ //
1108
+ // For consistency, we'll do this for dynamic responses, too.
1109
+ //
1110
+ // TODO: We should move search params out of FlightRouterState and handle
1111
+ // them entirely on the client, similar to our plan for dynamic params.
1112
+ segment = _segment.PAGE_SEGMENT_KEY;
1113
+ varyPath = (0, _varypath.finalizePageVaryPath)(requestKey, renderedSearch, partialVaryPath);
1114
+ // The metadata "segment" is not part the route tree, but it has the same
1115
+ // conceptual params as a page segment. Write the vary path into the
1116
+ // accumulator object. If there are multiple parallel pages, we use the
1117
+ // first one. Which page we choose is arbitrary as long as it's
1118
+ // consistently the same one every time every time. See
1119
+ // finalizeMetadataVaryPath for more details.
1120
+ if (acc.metadataVaryPath === null) {
1121
+ acc.metadataVaryPath = (0, _varypath.finalizeMetadataVaryPath)(requestKey, renderedSearch, partialVaryPath);
1122
+ }
1123
+ } else {
1124
+ // This is a layout segment.
1125
+ isPage = false;
1126
+ segment = originalSegment;
1127
+ varyPath = (0, _varypath.finalizeLayoutVaryPath)(requestKey, partialVaryPath);
1128
+ }
1129
+ }
1130
+ let slots = null;
1131
+ const parallelRoutes = flightRouterState[1];
1132
+ for(let parallelRouteKey in parallelRoutes){
1133
+ const childRouterState = parallelRoutes[parallelRouteKey];
1134
+ const childSegment = childRouterState[0];
1135
+ // TODO: Eventually, the param values will not be included in the response
1136
+ // from the server. We'll instead fill them in on the client by parsing
1137
+ // the URL. This is where we'll do that.
1138
+ const childRequestKeyPart = (0, _segmentvalueencoding.createSegmentRequestKeyPart)(childSegment);
1139
+ const childRequestKey = (0, _segmentvalueencoding.appendSegmentRequestKeyPart)(requestKey, parallelRouteKey, childRequestKeyPart);
1140
+ const childTree = convertFlightRouterStateToRouteTree(childRouterState, childRequestKey, partialVaryPath, renderedSearch, acc);
1141
+ if (slots === null) {
1142
+ slots = new Map();
1143
+ }
1144
+ slots.set(parallelRouteKey, childTree);
1145
+ }
1146
+ return {
1147
+ requestKey,
1148
+ segment,
1149
+ shellVaryPath: (0, _varypath.getShellSegmentVaryPath)(varyPath),
1150
+ refreshState,
1151
+ // TODO: Cheating the type system here a bit because TypeScript can't tell
1152
+ // that the type of isPage and varyPath are consistent. The fix would be to
1153
+ // create separate constructors and call the appropriate one from each of
1154
+ // the branches above. Just seems a bit overkill only for one field so I'll
1155
+ // leave it as-is for now. If isPage were wrong it would break the behavior
1156
+ // and we'd catch it quickly, anyway.
1157
+ varyPath: varyPath,
1158
+ isPage: isPage,
1159
+ slots,
1160
+ prefetchHints: flightRouterState[4] ?? 0
1161
+ };
1162
+ }
1163
+ function convertRouteTreeToFlightRouterState(routeTree) {
1164
+ const parallelRoutes = {};
1165
+ const slots = routeTree.slots;
1166
+ if (slots !== null) {
1167
+ for (const [parallelRouteKey, childTree] of slots){
1168
+ parallelRoutes[parallelRouteKey] = convertRouteTreeToFlightRouterState(childTree);
1169
+ }
1170
+ }
1171
+ const flightRouterState = [
1172
+ routeTree.segment,
1173
+ parallelRoutes,
1174
+ null,
1175
+ null
1176
+ ];
1177
+ if (routeTree.prefetchHints !== 0) {
1178
+ flightRouterState[4] = routeTree.prefetchHints;
1179
+ }
1180
+ return flightRouterState;
1181
+ }
1182
+ async function fetchRouteOnCacheMiss(entry, key, // The spawning task's `PrefetchTask.segmentCacheMap`, for the legacy
1183
+ // branch that writes segment data included in the tree response.
1184
+ map) {
1185
+ // This function is allowed to use async/await because it contains the actual
1186
+ // fetch that gets issued on a cache miss. Notice it writes the result to the
1187
+ // cache entry directly, rather than return data that is then written by
1188
+ // the caller.
1189
+ const pathname = key.pathname;
1190
+ const search = key.search;
1191
+ const nextUrl = key.nextUrl;
1192
+ const segmentPath = '/_tree';
1193
+ const headers = {
1194
+ [_approuterheaders.RSC_HEADER]: '1',
1195
+ [_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER]: '1',
1196
+ [_approuterheaders.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER]: segmentPath
1197
+ };
1198
+ if (nextUrl !== null) {
1199
+ headers[_approuterheaders.NEXT_URL] = nextUrl;
1200
+ }
1201
+ try {
1202
+ const url = new URL(pathname + search, location.origin);
1203
+ let response;
1204
+ let urlAfterRedirects;
1205
+ if (isOutputExportMode) {
1206
+ // In output: "export" mode, we can't use headers to request a particular
1207
+ // segment. Instead, we encode the extra request information into the URL.
1208
+ // This is not part of the "public" interface of the app; it's an internal
1209
+ // Next.js implementation detail that the app developer should not need to
1210
+ // concern themselves with.
1211
+ //
1212
+ // For example, to request a segment:
1213
+ //
1214
+ // Path passed to <Link>: /path/to/page
1215
+ // Path passed to fetch: /path/to/page/__next-segments/_tree
1216
+ //
1217
+ // (This is not the exact protocol, just an illustration.)
1218
+ //
1219
+ // Before we do that, though, we need to account for redirects. Even in
1220
+ // output: "export" mode, a proxy might redirect the page to a different
1221
+ // location, but we shouldn't assume or expect that they also redirect all
1222
+ // the segment files, too.
1223
+ //
1224
+ // To check whether the page is redirected, previously we perform a range
1225
+ // request of 64 bytes of the HTML document to check if the target page
1226
+ // is part of this app (by checking if build id matches). Only if the target
1227
+ // page is part of this app do we determine the final canonical URL.
1228
+ //
1229
+ // However, as mentioned in https://github.com/vercel/next.js/pull/85903,
1230
+ // some popular static hosting providers (like Cloudflare Pages or Render.com)
1231
+ // do not support range requests, in the worst case, the entire HTML instead
1232
+ // of 64 bytes could be returned, which is wasteful.
1233
+ //
1234
+ // So instead, we drops the check for build id here, and simply perform
1235
+ // a HEAD request to rejects 1xx/4xx/5xx responses, and then determine the
1236
+ // final URL after redirects.
1237
+ //
1238
+ // NOTE: We could embed the route tree into the HTML document, to avoid
1239
+ // a second request. We're not doing that currently because it would make
1240
+ // the HTML document larger and affect normal page loads.
1241
+ const headResponse = await (0, _fetch.fetch)(url, {
1242
+ method: 'HEAD'
1243
+ });
1244
+ if (headResponse.status < 200 || headResponse.status >= 400) {
1245
+ // The target page responded w/o a successful status code
1246
+ // Could be a WAF serving a 403, or a 5xx from a backend
1247
+ //
1248
+ // Note that we can't use headResponse.ok here, because
1249
+ // Response#ok returns `false` with 3xx responses.
1250
+ rejectRouteCacheEntry(entry, Date.now() + 10 * 1000);
1251
+ return null;
1252
+ }
1253
+ urlAfterRedirects = headResponse.redirected ? new URL(headResponse.url) : url;
1254
+ response = await fetchPrefetchResponse(addSegmentPathToUrlInOutputExportMode(urlAfterRedirects, segmentPath), headers);
1255
+ } else {
1256
+ // "Server" mode. We can use request headers instead of the pathname.
1257
+ // TODO: The eventual plan is to get rid of our custom request headers and
1258
+ // encode everything into the URL, using a similar strategy to the
1259
+ // "output: export" block above.
1260
+ response = await fetchPrefetchResponse(url, headers);
1261
+ urlAfterRedirects = response !== null && response.redirected ? new URL(response.url) : url;
1262
+ }
1263
+ if (!response || !response.ok || !response.body) {
1264
+ // Server responded with an error, or with a miss. We should still cache
1265
+ // the response, but we can try again after 10 seconds.
1266
+ rejectRouteCacheEntry(entry, Date.now() + 10 * 1000);
1267
+ return null;
1268
+ }
1269
+ // TODO: The canonical URL is the href without the origin. I think
1270
+ // historically the reason for this is because the initial canonical URL
1271
+ // gets passed as a prop to the top-level React component, which means it
1272
+ // needs to be computed during SSR. If it were to include the origin, it
1273
+ // would need to always be same as location.origin on the client, to prevent
1274
+ // a hydration mismatch. To sidestep this complexity, we omit the origin.
1275
+ //
1276
+ // However, since this is neither a native URL object nor a fully qualified
1277
+ // URL string, we need to be careful about how we use it. To prevent subtle
1278
+ // mistakes, we should create a special type for it, instead of just string.
1279
+ // Or, we should just use a (readonly) URL object instead. The type of the
1280
+ // prop that we pass to seed the initial state does not need to be the same
1281
+ // type as the state itself.
1282
+ const canonicalUrl = (0, _createhreffromurl.createHrefFromUrl)(urlAfterRedirects);
1283
+ // Check whether the response varies based on the Next-Url header.
1284
+ const varyHeader = response.headers.get('vary');
1285
+ const couldBeIntercepted = varyHeader !== null && varyHeader.includes(_approuterheaders.NEXT_URL);
1286
+ // TODO: The `closed` promise was originally used to track when a streaming
1287
+ // network connection closes, so the scheduler could limit concurrent
1288
+ // connections. Now that prefetch responses are buffered, `closed` is
1289
+ // resolved immediately after buffering — before the outer function even
1290
+ // returns. This mechanism is only still meaningful for dynamic (Full)
1291
+ // prefetches, which use incremental streaming. Consider removing the
1292
+ // `closed` plumbing for buffered prefetch paths.
1293
+ const closed = (0, _promisewithresolvers.createPromiseWithResolvers)();
1294
+ // This checks whether the response was served from the per-segment cache,
1295
+ // rather than the old prefetching flow. If it fails, it implies that PPR
1296
+ // is disabled on this route.
1297
+ const routeIsPPREnabled = response.headers.get(_approuterheaders.NEXT_DID_POSTPONE_HEADER) === '2' || // In output: "export" mode, we can't rely on response headers. But if we
1298
+ // receive a well-formed response, we can assume it's a static response,
1299
+ // because all data is static in this mode.
1300
+ isOutputExportMode;
1301
+ if (routeIsPPREnabled) {
1302
+ const { stream: prefetchStream, size: responseSize } = await createNonTaskyPrefetchResponseStream(response.body);
1303
+ closed.resolve();
1304
+ (0, _cachemap.setSizeInCacheMap)(entry, responseSize);
1305
+ const serverData = await (0, _fetchserverresponse.createFromNextReadableStream)(prefetchStream, headers, {
1306
+ allowPartialStream: true
1307
+ });
1308
+ if ((response.headers.get(_constants.NEXT_NAV_DEPLOYMENT_ID_HEADER) ?? serverData.buildId) !== (0, _navigationbuildid.getNavigationBuildId)()) {
1309
+ // The server build does not match the client. Treat as a 404. During
1310
+ // an actual navigation, the router will trigger an MPA navigation.
1311
+ // TODO: We should cache the fact that this is an MPA navigation.
1312
+ rejectRouteCacheEntry(entry, Date.now() + 10 * 1000);
1313
+ return null;
1314
+ }
1315
+ // Get the params that were used to render the target page. These may
1316
+ // be different from the params in the request URL, if the page
1317
+ // was rewritten.
1318
+ const renderedPathname = (0, _routeparams.getRenderedPathname)(response);
1319
+ const renderedSearch = (0, _routeparams.getRenderedSearch)(response);
1320
+ // Convert the server-sent data into the RouteTree format used by the
1321
+ // client cache.
1322
+ //
1323
+ // During this traversal, we accumulate additional data into this
1324
+ // "accumulator" object.
1325
+ const acc = {
1326
+ metadataVaryPath: null,
1327
+ treeDivergedFromBase: false
1328
+ };
1329
+ const routeTree = convertRootTreePrefetchToRouteTree(serverData, renderedPathname, renderedSearch, acc);
1330
+ const metadataVaryPath = acc.metadataVaryPath;
1331
+ if (metadataVaryPath === null) {
1332
+ rejectRouteCacheEntry(entry, Date.now() + 10 * 1000);
1333
+ return null;
1334
+ }
1335
+ (0, _optimisticroutes.discoverKnownRoute)(Date.now(), pathname, search, nextUrl, entry, routeTree, metadataVaryPath, couldBeIntercepted, canonicalUrl, routeIsPPREnabled, false // hasDynamicRewrite
1336
+ );
1337
+ } else {
1338
+ // PPR is not enabled for this route. The server responds with a
1339
+ // different format (FlightRouterState) that we need to convert.
1340
+ // TODO: We will unify the responses eventually. I'm keeping the types
1341
+ // separate for now because FlightRouterState has so many
1342
+ // overloaded concerns.
1343
+ const { stream: prefetchStream, size: responseSize } = await createNonTaskyPrefetchResponseStream(response.body);
1344
+ closed.resolve();
1345
+ (0, _cachemap.setSizeInCacheMap)(entry, responseSize);
1346
+ const serverData = await (0, _fetchserverresponse.createFromNextReadableStream)(prefetchStream, headers, {
1347
+ allowPartialStream: true
1348
+ });
1349
+ if ((response.headers.get(_constants.NEXT_NAV_DEPLOYMENT_ID_HEADER) ?? serverData.b) !== (0, _navigationbuildid.getNavigationBuildId)()) {
1350
+ // The server build does not match the client. Treat as a 404. During
1351
+ // an actual navigation, the router will trigger an MPA navigation.
1352
+ // TODO: We should cache the fact that this is an MPA navigation.
1353
+ rejectRouteCacheEntry(entry, Date.now() + 10 * 1000);
1354
+ return null;
1355
+ }
1356
+ // Read head vary params synchronously (unioning in the response-level
1357
+ // root params). Individual segments carry their own iterables in
1358
+ // CacheNodeSeedData; the root iterable is threaded down so each segment
1359
+ // unions it too.
1360
+ const headVaryParams = (0, _varyparamsdecoding.readVaryParams)(serverData.h, serverData.r);
1361
+ writeDynamicTreeResponseIntoCache(Date.now(), // The non-PPR response format is what we'd get if we prefetched these segments
1362
+ // using the LoadingBoundary fetch strategy, so mark their cache entries accordingly.
1363
+ _types.FetchStrategy.LoadingBoundary, response, serverData, entry, couldBeIntercepted, canonicalUrl, routeIsPPREnabled, headVaryParams, serverData.r ?? null, pathname, search, nextUrl, map);
1364
+ }
1365
+ if (!couldBeIntercepted) {
1366
+ // This route will never be intercepted. So we can use this entry for all
1367
+ // requests to this route, regardless of the Next-Url header. This works
1368
+ // because when reading the cache we always check for a valid
1369
+ // non-intercepted entry first.
1370
+ // Re-key the entry. The `set` implementation handles removing it from
1371
+ // its previous position in the cache. We don't need to do anything to
1372
+ // update the LRU, because the entry is already in it.
1373
+ // TODO: Treat this as an upsert — should check if an entry already
1374
+ // exists at the new keypath, and if so, whether we should keep that
1375
+ // one instead.
1376
+ const fulfilledVaryPath = (0, _varypath.getFulfilledRouteVaryPath)(pathname, search, nextUrl, couldBeIntercepted);
1377
+ const isRevalidation = false;
1378
+ (0, _cachemap.setInCacheMap)(routeCacheMap, fulfilledVaryPath, entry, isRevalidation);
1379
+ }
1380
+ // Return a promise that resolves when the network connection closes, so
1381
+ // the scheduler can track the number of concurrent network connections.
1382
+ return {
1383
+ value: null,
1384
+ closed: closed.promise
1385
+ };
1386
+ } catch (error) {
1387
+ // Either the connection itself failed, or something bad happened while
1388
+ // decoding the response. If we're offline, reject with staleAt=-1 so the
1389
+ // entry immediately expires and gets retried once the scheduler is
1390
+ // re-pinged after connectivity is restored.
1391
+ if (process.env.__NEXT_USE_OFFLINE) {
1392
+ const { checkOfflineError } = require('../offline');
1393
+ if (checkOfflineError(error)) {
1394
+ // Unlike navigations and server actions, prefetches don't await
1395
+ // waitForConnection — they just reject the cache entry with an
1396
+ // immediate expiration so it gets retried once the scheduler is
1397
+ // re-pinged after connectivity is restored.
1398
+ rejectRouteCacheEntry(entry, -1);
1399
+ return null;
1400
+ }
1401
+ }
1402
+ rejectRouteCacheEntry(entry, Date.now() + 10 * 1000);
1403
+ return null;
1404
+ }
1405
+ }
1406
+ function rejectRemainingSegmentsInBundle(entries, staleAt) {
1407
+ let node = entries;
1408
+ while(node !== null){
1409
+ if (node.entry !== null && node.entry.status === _cachemap.EntryStatus.Pending) {
1410
+ rejectSegmentCacheEntry(node.entry, staleAt);
1411
+ }
1412
+ node = node.parent;
1413
+ }
1414
+ }
1415
+ // When a static (per-segment PPR) prefetch receives an upgradeable fallback
1416
+ // shell, the localized retry loop re-issues the same fetch after this delay to
1417
+ // pick up the concrete version once the server's background regeneration
1418
+ // finishes.
1419
+ const FALLBACK_RETRY_DELAY_MS = 2000;
1420
+ // Maximum number of fallback retries per task, to avoid looping indefinitely
1421
+ // if the server keeps returning a fallback (e.g. misconfiguration).
1422
+ const MAX_FALLBACK_RETRIES = 3;
1423
+ async function fetchSegmentsOnCacheMiss(task, route, routeKey, tree, segments, segmentCount, // Which walk spawned the bundle's entries. The request on the wire is
1424
+ // identical either way; this only decides which payload of the response
1425
+ // fulfills the entries.
1426
+ fetchStrategy) {
1427
+ // This function is allowed to use async/await because it contains the actual
1428
+ // fetch that gets issued on a cache miss. Notice it writes the result to the
1429
+ // cache entry directly, rather than return data that is then written by
1430
+ // the caller.
1431
+ //
1432
+ // Segment fetches are non-blocking so we don't need to ping the scheduler
1433
+ // on completion.
1434
+ let result;
1435
+ try {
1436
+ result = await fetchSegmentsOnCacheMissImpl(route, routeKey, tree);
1437
+ } catch (error) {
1438
+ // The connection failed, or the response couldn't be decoded. Reject the
1439
+ // pending entries so they don't stay Pending forever, and get retried once
1440
+ // the entry expires. If we're offline, expire immediately (-1) so the entry
1441
+ // is re-fetched once the scheduler is re-pinged on reconnect; otherwise
1442
+ // apply a 10s backoff. (Unlike navigations and server actions, prefetches
1443
+ // don't await `waitForConnection`.)
1444
+ let staleAt = Date.now() + 10 * 1000;
1445
+ if (process.env.__NEXT_USE_OFFLINE) {
1446
+ const { checkOfflineError } = require('../offline');
1447
+ if (checkOfflineError(error)) {
1448
+ staleAt = -1;
1449
+ }
1450
+ }
1451
+ rejectRemainingSegmentsInBundle(segments, staleAt);
1452
+ return null;
1453
+ }
1454
+ if (result === null) {
1455
+ // The response was fetched but isn't usable yet (server error/miss, empty
1456
+ // data, or a build-id mismatch — the server may be transiently unready).
1457
+ // Reject with a short backoff so the entries are retried soon.
1458
+ rejectRemainingSegmentsInBundle(segments, Date.now() + 10 * 1000);
1459
+ return null;
1460
+ }
1461
+ const { serverResponse, shellResponse, responseSize, closed } = result;
1462
+ const now = Date.now();
1463
+ writeSegmentBundleResponseVariants(task.segmentCacheMap, serverResponse, shellResponse, responseSize, segments, segmentCount, now, fetchStrategy);
1464
+ // If the server served an upgradeable fallback shell, drive a localized
1465
+ // retry loop to pick up the concrete version once the server's background
1466
+ // regeneration finishes. Only the first such response per task starts a loop
1467
+ // (`fallbackRetryStatus === Empty`); once it leaves Empty, no second loop is
1468
+ // started — sibling bundle responses that also got a fallback don't, and
1469
+ // neither does a re-hover.
1470
+ if (serverResponse.isUpgradeableISRFallback && task.fallbackRetryStatus === _cachemap.EntryStatus.Empty && !task.isCanceled) {
1471
+ task.fallbackRetryStatus = _cachemap.EntryStatus.Pending;
1472
+ // Fire-and-forget: the loop drives itself via timers and pings the task
1473
+ // on success.
1474
+ void retryUpgradeableFallbackPrefetch(task, route, routeKey, tree, segments, segmentCount, fetchStrategy);
1475
+ }
1476
+ return {
1477
+ value: null,
1478
+ closed
1479
+ };
1480
+ }
1481
+ /**
1482
+ * Issues a single segment-bundle prefetch request, validates it, and decodes
1483
+ * the response. Returns the decoded response (see the return type below)
1484
+ * on success, or `null` if the response was fetched but isn't usable yet
1485
+ * (server error/miss, empty data, or a build-id mismatch — the server may be
1486
+ * transiently unready, so it's worth retrying). THROWS if the connection failed
1487
+ * or the response couldn't be decoded; re-issuing the identical request won't
1488
+ * fix that, so callers should give up rather than retry.
1489
+ *
1490
+ * This deliberately does NOT touch the cache — it neither writes the decoded
1491
+ * segments nor rejects entries. The caller decides what to do with the result:
1492
+ * write it (`fetchSegmentsOnCacheMiss`) or ignore it and try again (the retry
1493
+ * loop). Calling this again with the same arguments reproduces the exact same
1494
+ * request.
1495
+ */ async function fetchSegmentsOnCacheMissImpl(route, routeKey, tree) {
1496
+ // Use the canonical URL to request the segment, not the original URL. These
1497
+ // are usually the same, but the canonical URL will be different if the route
1498
+ // tree response was redirected. To avoid an extra waterfall on every segment
1499
+ // request, we pass the redirected URL instead of the original one.
1500
+ const url = new URL(route.canonicalUrl, location.origin);
1501
+ const nextUrl = routeKey.nextUrl;
1502
+ const requestKey = tree.requestKey;
1503
+ const normalizedRequestKey = requestKey === _segmentvalueencoding.ROOT_SEGMENT_REQUEST_KEY ? // handling of these requests, we encode the root segment path as
1504
+ // `_index` instead of as an empty string. This should be treated as
1505
+ // an implementation detail and not as a stable part of the protocol.
1506
+ // It just needs to match the equivalent logic that happens when
1507
+ // prerendering the responses. It should not leak outside of Next.js.
1508
+ '/_index' : requestKey;
1509
+ const headers = {
1510
+ [_approuterheaders.RSC_HEADER]: '1',
1511
+ [_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER]: '1',
1512
+ [_approuterheaders.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER]: normalizedRequestKey
1513
+ };
1514
+ if (nextUrl !== null) {
1515
+ headers[_approuterheaders.NEXT_URL] = nextUrl;
1516
+ }
1517
+ const requestUrl = isOutputExportMode ? addSegmentPathToUrlInOutputExportMode(url, normalizedRequestKey) : url;
1518
+ const response = await fetchPrefetchResponse(requestUrl, headers);
1519
+ if (!response || !response.ok || // This checks whether the response was served from the per-segment cache,
1520
+ // rather than the old prefetching flow. If it fails, it implies that PPR
1521
+ // is disabled on this route. Theoretically this should never happen
1522
+ // because we only issue requests for segments once we've verified that
1523
+ // the route supports PPR.
1524
+ response.headers.get(_approuterheaders.NEXT_DID_POSTPONE_HEADER) !== '2' && // In output: "export" mode, we can't rely on response headers. But if
1525
+ // we receive a well-formed response, we can assume it's a static
1526
+ // response, because all data is static in this mode.
1527
+ !isOutputExportMode || !response.body) {
1528
+ // Server responded with an error or a miss — fetched but not usable.
1529
+ return null;
1530
+ }
1531
+ // See TODO in fetchRouteOnCacheMiss about removing `closed` for
1532
+ // buffered prefetch paths.
1533
+ const closed = (0, _promisewithresolvers.createPromiseWithResolvers)();
1534
+ const { stream: prefetchStream, size: responseSize, buffer } = await createNonTaskyPrefetchResponseStream(response.body);
1535
+ closed.resolve();
1536
+ // Parse the response. Always a SegmentPrefetchResponse with a build ID and a
1537
+ // data array. A connection drop or malformed stream throws here, which
1538
+ // propagates to the caller as a non-retryable failure.
1539
+ const serverResponse = await (0, _fetchserverresponse.createFromNextReadableStream)(prefetchStream, headers, {
1540
+ allowPartialStream: true
1541
+ });
1542
+ if (serverResponse.data.length === 0) {
1543
+ return null;
1544
+ }
1545
+ if ((response.headers.get(_constants.NEXT_NAV_DEPLOYMENT_ID_HEADER) ?? serverResponse.buildId) !== (0, _navigationbuildid.getNavigationBuildId)()) {
1546
+ // The server build does not match the client. Treat as a 404. During
1547
+ // an actual navigation, the router will trigger an MPA navigation.
1548
+ return null;
1549
+ }
1550
+ // Extract the shell payload, if the response carries a distinct one
1551
+ // (positive shell byte offset): decode the buffered bytes a SECOND time,
1552
+ // truncated at the boundary. The truncation is what produces the shell
1553
+ // variant: each segment's param-dependent rows land past the boundary and
1554
+ // decode as still-pending, which renders as the param fallback. It also
1555
+ // rewinds the response's signals — `needsRuntimeRequest` and `isPartial`
1556
+ // fulfillments past the boundary read as pending in this decode, so a
1557
+ // post-shell runtime-data access doesn't mark the shell variant itself as
1558
+ // needing a runtime request.
1559
+ // (The offset is never legitimately pending or 0 in this decode: the full
1560
+ // buffer is present, and the server only ever emits a positive offset or
1561
+ // null. Reading 0 — the default for an unfulfilled `a` — therefore means a
1562
+ // bug in Next.js itself, and is handled like an error: the response is
1563
+ // treated as carrying no shell, and the scheduler skips the affected
1564
+ // segments rather than falling back to a runtime request — see the
1565
+ // `shellResponse === null` handling in writeSegmentBundleResponseVariants.
1566
+ // Failing in that direction costs a shell prefetch but never leaks
1567
+ // post-shell content into shell positions.)
1568
+ const shellOffset = readFulfilledValue(serverResponse.a, 0);
1569
+ let shellResponse;
1570
+ if (shellOffset === null) {
1571
+ shellResponse = serverResponse;
1572
+ } else if (shellOffset === 0) {
1573
+ shellResponse = null;
1574
+ } else {
1575
+ try {
1576
+ shellResponse = await (0, _fetchserverresponse.decodeBufferedStage)(buffer.subarray(0, shellOffset), headers);
1577
+ } catch {
1578
+ // The truncated prefix couldn't be decoded. Treat it as if no shell
1579
+ // exists; the full payload is still usable. (For a StaticShell-spawned
1580
+ // bundle this means the spawned entries are rejected — the scheduler
1581
+ // then skips them rather than issuing a runtime substitute; see the
1582
+ // no-shell branch in fetchSegmentsOnCacheMiss.)
1583
+ shellResponse = null;
1584
+ }
1585
+ }
1586
+ return {
1587
+ serverResponse,
1588
+ responseSize,
1589
+ shellResponse,
1590
+ closed: closed.promise
1591
+ };
1592
+ }
1593
+ /**
1594
+ * Writes every payload of a parsed segment-bundle response into the cache.
1595
+ * The bundle's entries are fulfilled by the payload matching the walk that
1596
+ * spawned them; the other payload, when distinct, is written with a detached
1597
+ * copy of the bundle. The full payload is written first so the shell write's
1598
+ * shadow eviction sees the fresh concrete entry.
1599
+ *
1600
+ * Shared by the initial fetch (`fetchSegmentsOnCacheMiss`) and the localized
1601
+ * fallback-retry loop. The retry's bundle entries are already settled, so
1602
+ * for that caller every write is a detached upsert and the rejection below
1603
+ * is a no-op (it only touches Pending entries).
1604
+ */ function writeSegmentBundleResponseVariants(// The map the bundle's entries live in (pinned when the request was
1605
+ // spawned).
1606
+ map, serverResponse, shellResponse, responseSize, segments, segmentCount, now, // Which walk spawned the bundle's entries; decides which payload fulfills
1607
+ // them. See fetchSegmentsOnCacheMiss.
1608
+ fetchStrategy) {
1609
+ if (fetchStrategy === _types.FetchStrategy.StaticShell) {
1610
+ if (shellResponse !== serverResponse) {
1611
+ writeSegmentBundleResponse(map, serverResponse, responseSize, detachEntriesFromSegmentBundle(segments), segmentCount, now, _types.FetchStrategy.PPR, _types.FetchStrategy.PPR);
1612
+ }
1613
+ if (shellResponse === null) {
1614
+ // No shell exists. Reject the spawned entries so the task isn't
1615
+ // stranded blocking on them. Note the scheduler does NOT fall back to
1616
+ // a runtime request for rejected segments — it skips them outright (see
1617
+ // the Rejected case in pingSegmentBundle in scheduler.ts), so these
1618
+ // segments get no shell prefetch and no runtime substitute until the
1619
+ // rejection's backoff expires.
1620
+ rejectRemainingSegmentsInBundle(segments, now + 10 * 1000);
1621
+ } else {
1622
+ writeSegmentBundleResponse(map, shellResponse, responseSize, segments, segmentCount, now, _types.FetchStrategy.StaticShell, // When the shell IS the full response (no shell/full split), the
1623
+ // entries this write fulfills carry full-tier content, so PPR is the
1624
+ // strategy that describes it.
1625
+ shellResponse === serverResponse ? _types.FetchStrategy.PPR : _types.FetchStrategy.StaticShell);
1626
+ }
1627
+ } else {
1628
+ writeSegmentBundleResponse(map, serverResponse, responseSize, segments, segmentCount, now, _types.FetchStrategy.PPR, _types.FetchStrategy.PPR);
1629
+ if (shellResponse !== null && shellResponse !== serverResponse) {
1630
+ writeSegmentBundleResponse(map, shellResponse, responseSize, detachEntriesFromSegmentBundle(segments), segmentCount, now, _types.FetchStrategy.StaticShell, _types.FetchStrategy.StaticShell);
1631
+ }
1632
+ }
1633
+ }
1634
+ /**
1635
+ * Writes one payload of a parsed segment-bundle response into the cache:
1636
+ * distributes the response size across the bundle, then walks the segments
1637
+ * list and the response's `data` array in parallel, fulfilling/upserting
1638
+ * each entry. Any segments the server didn't return are rejected so they
1639
+ * don't stay Pending forever.
1640
+ *
1641
+ * `fetchStrategy` says which of the response's payloads this call is
1642
+ * writing — StaticShell for the shell payload, PPR for the full payload —
1643
+ * which determines the vary paths the entries are keyed at.
1644
+ *
1645
+ * The walk fulfills any Pending entry in `segments`, so the caller must
1646
+ * pass the bundle only to the walk matching the entries' own strategy, and
1647
+ * a detached copy to the other. In particular, fulfilling a spawned
1648
+ * StaticShell entry with the concrete payload would leak param-dependent
1649
+ * content into shell positions: during a navigation, a pending entry can be
1650
+ * rendered as a promise that resolves to its eventual value.
1651
+ *
1652
+ * Shared by the initial fetch and the localized fallback-retry loop (which
1653
+ * re-issues the same request and upserts the upgraded result here).
1654
+ */ function writeSegmentBundleResponse(map, serverResponse, responseSize, segments, segmentCount, now, fetchStrategy, // The strategy tier that describes this payload's CONTENT, recorded on
1655
+ // the entries it fulfills. Differs from `fetchStrategy` (which drives
1656
+ // matching and keying) in one case: a StaticShell write whose payload IS
1657
+ // the full response (no shell/full split) records PPR — see
1658
+ // writeSegmentBundleResponseVariants.
1659
+ payloadFetchStrategy) {
1660
+ // Distribute the response size evenly across all segments in the bundle.
1661
+ // (When a response produces two payload writes, each write distributes the
1662
+ // full response size — intentionally double-charging the LRU for one wire
1663
+ // response, since it produced two live entries per segment.)
1664
+ const averageSize = responseSize / segmentCount;
1665
+ let sizeNode = segments;
1666
+ while(sizeNode !== null){
1667
+ if (sizeNode.entry !== null) {
1668
+ (0, _cachemap.setSizeInCacheMap)(sizeNode.entry, averageSize);
1669
+ }
1670
+ sizeNode = sizeNode.parent;
1671
+ }
1672
+ const serverDataArray = serverResponse.data;
1673
+ // True if the server served an upgradeable fallback shell (page not yet
1674
+ // prerendered with concrete params, but the route can be upgraded). Applies
1675
+ // to the whole response and is recorded on each fulfilled entry.
1676
+ const responseIsUpgradeableISRFallback = serverResponse.isUpgradeableISRFallback;
1677
+ // Whether the render that produced this payload accessed runtime data
1678
+ // (page-global; combined with each segment's `isPartial` below to decide
1679
+ // the tier each entry records). Read from THIS decode's thenable status,
1680
+ // which scopes it to the payload being written — see
1681
+ // `SegmentPrefetchResponse['needsRuntimeRequest']` for the encoding.
1682
+ //
1683
+ // Reading it from the same decode that produced the entry's data is what
1684
+ // makes the answer rewindable: a truncated shell decode reads a post-shell
1685
+ // runtime access as pending, i.e. `false`, because the shell variant itself
1686
+ // doesn't need that data.
1687
+ //
1688
+ // It is load-bearing in one direction only. A false `true` costs a wasted
1689
+ // runtime request; a false `false` would record too high a tier and skip a
1690
+ // runtime request that had more content.
1691
+ const responseNeedsRuntimeRequest = readFulfilledValue(serverResponse.needsRuntimeRequest, false);
1692
+ let node = segments;
1693
+ let dataIndex = 0;
1694
+ while(node !== null && dataIndex < serverDataArray.length){
1695
+ const data = serverDataArray[dataIndex];
1696
+ // Null data means this segment has prefetching disabled
1697
+ // (prefetch: 'force-disabled' — Partial Prefetching segments have static
1698
+ // data, so the server emits a real slot for them). Skip it without
1699
+ // creating a cache entry.
1700
+ if (data === null || node.tree === null) {
1701
+ // The server's and the client's prefetch-disabled hints normally agree,
1702
+ // so there shouldn't be a spawned entry for a segment the server
1703
+ // skipped. But if they disagree, a Pending entry that a task blocked on
1704
+ // would otherwise never settle, stranding the task forever. Settle
1705
+ // it defensively.
1706
+ if (node.entry !== null && node.entry.status === _cachemap.EntryStatus.Pending) {
1707
+ rejectSegmentCacheEntry(node.entry, now + 10 * 1000);
1708
+ }
1709
+ node = node.parent;
1710
+ dataIndex++;
1711
+ continue;
1712
+ }
1713
+ // The segment's late-resolving metadata can be read synchronously
1714
+ // because the payload was fully buffered before it was decoded (and, for
1715
+ // a truncated shell decode, delivered as a single chunk).
1716
+ const entryStaleAt = readFulfilledStaleAt(now, data.staleTime);
1717
+ // Root params are emitted once at the top level of the response and
1718
+ // unioned into each segment's set here, same as for a route-level
1719
+ // response.
1720
+ const varyParams = (0, _varyparamsdecoding.readVaryParams)(data.varyParams, serverResponse.rootVaryParams);
1721
+ const isPartial = readFulfilledIsPartial(data.isPartial);
1722
+ // A runtime prefetch can only provide more content than this entry if the
1723
+ // render accessed runtime data AND this particular segment has holes — a
1724
+ // fully static segment gains nothing from a runtime request no matter
1725
+ // what the page accessed.
1726
+ const needsRuntimeRequest = responseNeedsRuntimeRequest && isPartial;
1727
+ // An entry records the tier of the content that actually satisfied it,
1728
+ // which spans both axes: shell-vs-concrete AND static-vs-runtime.
1729
+ //
1730
+ // When this payload fully satisfied the segment — no runtime request
1731
+ // needed — the content is as complete as a RUNTIME response of the same
1732
+ // variant would have been, so it records that runtime tier. That's what
1733
+ // lets the scheduler decide "would a runtime request return more?" by
1734
+ // comparing tiers alone, with no separate signal to consult.
1735
+ //
1736
+ // Otherwise the content is only as complete as the static tier it was
1737
+ // requested at, so a follow-up runtime request can still supersede it.
1738
+ const recordedFetchStrategy = !needsRuntimeRequest ? payloadFetchStrategy === _types.FetchStrategy.StaticShell ? _types.FetchStrategy.RuntimeShell : _types.FetchStrategy.PPRRuntime : fetchStrategy;
1739
+ // Key the entry by which params the server said this segment depends on.
1740
+ // Reusing one copy across param values is the point of the shell, but it
1741
+ // requires knowing the content doesn't depend on those params, and the
1742
+ // server's report is the direct evidence of that.
1743
+ //
1744
+ // Without that report, assume every param varies. The exception is a
1745
+ // shell variant, which reduces param-dependent content to param
1746
+ // fallbacks, so it really is good for any value of them.
1747
+ const payloadVaryPath = process.env.__NEXT_VARY_PARAMS && varyParams !== null ? (0, _varypath.getFulfilledSegmentVaryPath)(node.tree.varyPath, varyParams) : (0, _varypath.getSegmentVaryPathForRequest)(payloadFetchStrategy, node.tree);
1748
+ const nodeEntry = node.entry;
1749
+ if (nodeEntry !== null && nodeEntry.status === _cachemap.EntryStatus.Pending) {
1750
+ // We own this entry — fulfill it directly.
1751
+ const fulfilledEntry = fulfillSegmentCacheEntry(nodeEntry, data.rsc, entryStaleAt, isPartial, responseIsUpgradeableISRFallback, recordedFetchStrategy);
1752
+ // Move the entry to that key. This is load-bearing rather than a no-op:
1753
+ // a task spawns its entries before it knows what the response will
1754
+ // contain, so the key it guessed can be more reusable than the response
1755
+ // turned out to deserve.
1756
+ //
1757
+ // Pass the concrete lookup path — the most specific path a read for
1758
+ // this segment position would use — so that if the entry lands at a
1759
+ // more generic key, a stale entry at a more specific one can't shadow
1760
+ // it. See evictShadowingSegmentEntries. The upsert (rather than a bare
1761
+ // set) applies the usual precedence rules, so a concurrent task's more
1762
+ // complete response already in this slot isn't downgraded.
1763
+ upsertSegmentEntry(now, map, payloadVaryPath, fulfilledEntry, node.tree.varyPath);
1764
+ } else {
1765
+ // We don't own this entry. Create a detached entry and attempt to
1766
+ // upsert it into this payload's slot.
1767
+ const detachedEntry = createDetachedSegmentCacheEntry(now);
1768
+ const fulfilledEntry = fulfillSegmentCacheEntry(upgradeToPendingSegment(detachedEntry, fetchStrategy), data.rsc, entryStaleAt, isPartial, responseIsUpgradeableISRFallback, recordedFetchStrategy);
1769
+ upsertSegmentEntry(now, map, payloadVaryPath, fulfilledEntry, node.tree.varyPath);
1770
+ }
1771
+ node = node.parent;
1772
+ dataIndex++;
1773
+ }
1774
+ // If the server returned fewer segments than expected, reject any
1775
+ // remaining pending entries so they don't stay Pending forever.
1776
+ if (node !== null) {
1777
+ rejectRemainingSegmentsInBundle(node, now + 10 * 1000);
1778
+ }
1779
+ }
1780
+ /**
1781
+ * Clones a SegmentBundle chain with every `entry` removed, so a write walk
1782
+ * over it is pure detached upserts. Used for the payload that does NOT
1783
+ * match the bundle's spawned entries (see writeSegmentBundleResponse).
1784
+ */ function detachEntriesFromSegmentBundle(segments) {
1785
+ const head = {
1786
+ tree: segments.tree,
1787
+ entry: null,
1788
+ parent: null
1789
+ };
1790
+ let clonedTail = head;
1791
+ let node = segments.parent;
1792
+ while(node !== null){
1793
+ const clonedNode = {
1794
+ tree: node.tree,
1795
+ entry: null,
1796
+ parent: null
1797
+ };
1798
+ clonedTail.parent = clonedNode;
1799
+ clonedTail = clonedNode;
1800
+ node = node.parent;
1801
+ }
1802
+ return head;
1803
+ }
1804
+ // TODO: Consolidate the read* helpers below with the ones in
1805
+ // vary-params-decoding — they all perform a version of the same synchronous
1806
+ // read of a buffered decode's late-resolving values.
1807
+ /**
1808
+ * Reads a segment's partialness from its `isPartial` promise. (Unlike the
1809
+ * values read via `readFulfilledValue` below, the fulfillment value here is
1810
+ * void — partialness is encoded as the ABSENCE of a fulfillment.) The server
1811
+ * fulfills it only for a fully-static segment and leaves it pending for a
1812
+ * partial one (see `SegmentPrefetch['isPartial']`), so partial == not
1813
+ * fulfilled. The read is synchronous because the response is fully buffered
1814
+ * before it's decoded, so a fulfillment is already visible on the thenable's
1815
+ * status — the same trick `readVaryParams` uses for the vary params iterables.
1816
+ */ function readFulfilledIsPartial(isPartial) {
1817
+ const thenable = isPartial;
1818
+ // Force Flight to unwrap a received-but-not-yet-settled row. A pending row,
1819
+ // or a truncated shell decode whose fulfillment landed past the boundary,
1820
+ // stays non-fulfilled — read as partial, which is correct either way.
1821
+ thenable.then(noop, noop);
1822
+ return thenable.status !== 'fulfilled';
1823
+ }
1824
+ /**
1825
+ * Reads a late-resolving value off a fully-buffered decode's thenable status,
1826
+ * using the same trick as above. Returns `valueIfUnresolved` for a row that
1827
+ * is pending or absent in this decode — e.g. one whose fulfillment landed
1828
+ * past a truncated shell decode's boundary. That's what scopes a response's
1829
+ * late-resolving signals to the payload being decoded.
1830
+ */ function readFulfilledValue(valueFromServer, valueIfUnresolved) {
1831
+ const thenable = valueFromServer;
1832
+ // Force Flight to unwrap a received-but-not-yet-settled row.
1833
+ thenable.then(noop, noop);
1834
+ if (thenable.status === 'fulfilled' && thenable.value !== undefined) {
1835
+ return thenable.value;
1836
+ }
1837
+ return valueIfUnresolved;
1838
+ }
1839
+ /**
1840
+ * Reads a stale-at time from the staleTime async iterable of a fully-buffered
1841
+ * response — segment bundles and stage decodes, which go through
1842
+ * `createNonTaskyPrefetchResponseStream`. Because the bytes are all present,
1843
+ * each yielded value is already visible on its chunk's thenable status (the
1844
+ * same trick `readVaryParams` uses), so this drains synchronously and takes
1845
+ * the last value (the final staleTime, as `resolveStaleAt` does for the
1846
+ * async case). A missing iterable, or a truncated shell decode whose value
1847
+ * landed past the boundary, reads as absent and falls back to the static
1848
+ * stale time.
1849
+ *
1850
+ * For the one response kind that isn't buffered when read — a dynamic `Full`
1851
+ * response (fetchStrategy.Full with Partial Prefetching disabled) — use
1852
+ * `resolveStaleAt` instead, since its values aren't materialized synchronously.
1853
+ */ function readFulfilledStaleAt(now, staleTime) {
1854
+ if (staleTime === undefined) {
1855
+ return now + _navigatereducer.STATIC_STALETIME_MS;
1856
+ }
1857
+ const iterator = staleTime[Symbol.asyncIterator]();
1858
+ let staleTimeSeconds;
1859
+ while(true){
1860
+ const chunk = iterator.next();
1861
+ chunk.then(noop, noop);
1862
+ if (chunk.status !== 'fulfilled' || chunk.value === undefined) {
1863
+ break;
1864
+ }
1865
+ if (chunk.value.done) {
1866
+ break;
1867
+ }
1868
+ staleTimeSeconds = chunk.value.value;
1869
+ }
1870
+ if (staleTimeSeconds === undefined || isNaN(staleTimeSeconds)) {
1871
+ return now + _navigatereducer.STATIC_STALETIME_MS;
1872
+ }
1873
+ return now + getStaleTimeMs(staleTimeSeconds);
1874
+ }
1875
+ const noop = ()=>{};
1876
+ /**
1877
+ * The localized retry loop for an upgradeable fallback shell. Re-issues the
1878
+ * exact same segment-bundle request (via `fetchSegmentsOnCacheMissImpl`) up to
1879
+ * MAX_FALLBACK_RETRIES times, FALLBACK_RETRY_DELAY_MS apart, until the server
1880
+ * returns the concrete (upgraded) version. On success it upserts the upgraded
1881
+ * segments (so they aren't re-fetched) and pings the task, so the task's
1882
+ * *other* fallback segments get re-attempted. If every attempt is still a
1883
+ * fallback (or fails), it gives up.
1884
+ *
1885
+ * A loop runs at most once per task, ever (the caller gates on
1886
+ * `fallbackRetryStatus === Empty`, set to `Pending` before this runs and never
1887
+ * reset to `Empty`). The sleep timer is never `clearTimeout`-ed, so the awaited
1888
+ * sleep always settles; the loop simply checks `isCanceled` after waking and
1889
+ * bails if the task was canceled in the meantime. On success the status becomes
1890
+ * `Fulfilled`; on any non-success exit (exhausted retries, fetch error, or
1891
+ * cancel) it becomes `Rejected`.
1892
+ */ async function retryUpgradeableFallbackPrefetch(task, route, routeKey, tree, segments, segmentCount, // The strategy the initial fetch wrote its payloads with; the upgraded
1893
+ // result is written through the same payload fork so the same cache slots
1894
+ // (including the shell paths) are upgraded.
1895
+ fetchStrategy) {
1896
+ for(let attempt = 0; attempt < MAX_FALLBACK_RETRIES; attempt++){
1897
+ await new Promise((resolve)=>setTimeout(resolve, FALLBACK_RETRY_DELAY_MS));
1898
+ if (task.isCanceled) {
1899
+ break;
1900
+ }
1901
+ let result;
1902
+ try {
1903
+ result = await fetchSegmentsOnCacheMissImpl(route, routeKey, tree);
1904
+ } catch {
1905
+ break;
1906
+ }
1907
+ if (task.isCanceled) {
1908
+ break;
1909
+ }
1910
+ if (result === null) {
1911
+ continue;
1912
+ }
1913
+ if (result.serverResponse.isUpgradeableISRFallback) {
1914
+ continue;
1915
+ }
1916
+ // Success: the server returned the concrete (upgraded) version. Write it
1917
+ // back through the same payload fork as the initial fetch, so every slot
1918
+ // the initial fetch wrote — including the shell paths, even when the
1919
+ // upgraded response is fully static (shell === full) — is upgraded. The
1920
+ // bundle's entries were already settled by the initial fetch, so every
1921
+ // write is a detached upsert that replaces the fallback. Mark the loop
1922
+ // fulfilled and ping the task; its other fallback segments are now
1923
+ // allowed to revalidate.
1924
+ const { serverResponse, shellResponse, responseSize } = result;
1925
+ const now = Date.now();
1926
+ writeSegmentBundleResponseVariants(task.segmentCacheMap, serverResponse, shellResponse, responseSize, segments, segmentCount, now, fetchStrategy);
1927
+ task.fallbackRetryStatus = _cachemap.EntryStatus.Fulfilled;
1928
+ (0, _scheduler.pingPrefetchTask)(task);
1929
+ return;
1930
+ }
1931
+ // The loop finished without success (exhausted its retries, broke out on a
1932
+ // fetch error, or the task was canceled). It won't run again for this task.
1933
+ task.fallbackRetryStatus = _cachemap.EntryStatus.Rejected;
1934
+ }
1935
+ async function fetchSegmentPrefetchesUsingDynamicRequest(task, route, fetchStrategy, dynamicRequestTree, spawnedEntries) {
1936
+ const key = task.key;
1937
+ const url = new URL(route.canonicalUrl, location.origin);
1938
+ const nextUrl = key.nextUrl;
1939
+ if (spawnedEntries.size === 1 && spawnedEntries.has(route.metadata.requestKey)) {
1940
+ // The only thing pending is the head. Instruct the server to
1941
+ // skip over everything else.
1942
+ // TODO: Lift this logic into the caller. Or perhaps unify the
1943
+ // "request tree" and the spawnedEntries into the same type so they are
1944
+ // guaranteed to always been in sync.
1945
+ dynamicRequestTree = MetadataOnlyRequestTree;
1946
+ }
1947
+ const headers = {
1948
+ [_approuterheaders.RSC_HEADER]: '1',
1949
+ [_approuterheaders.NEXT_ROUTER_STATE_TREE_HEADER]: (0, _flightdatahelpers.prepareFlightRouterStateForRequest)(dynamicRequestTree)
1950
+ };
1951
+ if (nextUrl !== null) {
1952
+ headers[_approuterheaders.NEXT_URL] = nextUrl;
1953
+ }
1954
+ switch(fetchStrategy){
1955
+ case _types.FetchStrategy.Full:
1956
+ {
1957
+ break;
1958
+ }
1959
+ case _types.FetchStrategy.PPRRuntime:
1960
+ {
1961
+ headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER] = '2';
1962
+ break;
1963
+ }
1964
+ case _types.FetchStrategy.RuntimeShell:
1965
+ {
1966
+ headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER] = '3';
1967
+ break;
1968
+ }
1969
+ case _types.FetchStrategy.LoadingBoundary:
1970
+ {
1971
+ headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER] = '1';
1972
+ break;
1973
+ }
1974
+ default:
1975
+ {
1976
+ fetchStrategy;
1977
+ }
1978
+ }
1979
+ try {
1980
+ const response = await fetchPrefetchResponse(url, headers);
1981
+ if (!response || !response.ok || !response.body) {
1982
+ // Server responded with an error, or with a miss. We should still cache
1983
+ // the response, but we can try again after 10 seconds.
1984
+ rejectSegmentEntriesIfStillPending(spawnedEntries, Date.now() + 10 * 1000);
1985
+ return null;
1986
+ }
1987
+ const renderedSearch = (0, _routeparams.getRenderedSearch)(response);
1988
+ if (renderedSearch !== route.renderedSearch) {
1989
+ // The search params that were used to render the target page are
1990
+ // different from the search params in the request URL. This only happens
1991
+ // when there's a dynamic rewrite in between the tree prefetch and the
1992
+ // data prefetch.
1993
+ // TODO: For now, since this is an edge case, we reject the prefetch, but
1994
+ // the proper way to handle this is to evict the stale route tree entry
1995
+ // then fill the cache with the new response.
1996
+ rejectSegmentEntriesIfStillPending(spawnedEntries, Date.now() + 10 * 1000);
1997
+ return null;
1998
+ }
1999
+ // Track when the network connection closes. Only meaningful for Full
2000
+ // (dynamic) prefetches which use incremental streaming. For buffered
2001
+ // paths, this is resolved immediately — see TODO in fetchRouteOnCacheMiss.
2002
+ const closed = (0, _promisewithresolvers.createPromiseWithResolvers)();
2003
+ let fulfilledEntries = null;
2004
+ let prefetchStream;
2005
+ let bufferedResponseSize = null;
2006
+ if (fetchStrategy === _types.FetchStrategy.Full) {
2007
+ // Full prefetches are dynamic responses stored in the prefetch cache.
2008
+ // They don't carry vary params or other cache metadata, so there's no
2009
+ // need to buffer them. Use the incremental version to allow data to be
2010
+ // processed as it arrives.
2011
+ prefetchStream = createIncrementalPrefetchResponseStream(response.body, closed.resolve, function onResponseSizeUpdate(totalBytesReceivedSoFar) {
2012
+ // When processing a dynamic response, we don't know how large each
2013
+ // individual segment is, so approximate by assigning each segment
2014
+ // the average of the total response size.
2015
+ if (fulfilledEntries === null) {
2016
+ // Haven't received enough data yet to know which segments
2017
+ // were included.
2018
+ return;
2019
+ }
2020
+ const averageSize = totalBytesReceivedSoFar / fulfilledEntries.length;
2021
+ for (const entry of fulfilledEntries){
2022
+ (0, _cachemap.setSizeInCacheMap)(entry, averageSize);
2023
+ }
2024
+ });
2025
+ } else {
2026
+ const { stream, size } = await createNonTaskyPrefetchResponseStream(response.body);
2027
+ closed.resolve();
2028
+ prefetchStream = stream;
2029
+ bufferedResponseSize = size;
2030
+ }
2031
+ const [serverData, cacheData] = await Promise.all([
2032
+ (0, _fetchserverresponse.createFromNextReadableStream)(prefetchStream, headers, {
2033
+ allowPartialStream: true
2034
+ }),
2035
+ response.cacheData
2036
+ ]);
2037
+ const now = Date.now();
2038
+ const staleAt = await resolveStaleAt(now, serverData.s, response);
2039
+ const buildId = response.headers.get(_constants.NEXT_NAV_DEPLOYMENT_ID_HEADER) ?? serverData.b;
2040
+ // Check if a reusable App Shell can be extracted from the main response.
2041
+ let serverDataThatSatisfiesSpawnedEntries;
2042
+ // The shell and full response have independent stale times. Track the
2043
+ // staleAt that corresponds to whatever payload the spawned entries get
2044
+ // filled with below.
2045
+ let staleAtForSpawnedEntries = staleAt;
2046
+ if (cacheData === null) {
2047
+ // No shell can be extracted without cache metadata (only present when
2048
+ // Cached Navigations is enabled). For routes without a distinct App Shell
2049
+ // the extraction below is a no-op anyway (`resolveShellStageData` returns
2050
+ // null), so this just short-circuits that case.
2051
+ serverDataThatSatisfiesSpawnedEntries = serverData;
2052
+ } else {
2053
+ const shellStageData = await (0, _fetchserverresponse.resolveShellStageData)(cacheData, serverData, headers);
2054
+ if (shellStageData === null) {
2055
+ // No App Shell can be extracted. This usually means the entire response
2056
+ // _is_ the App Shell. The other possibility (for now, until the feature
2057
+ // is fully stabilized) is that App Shells are not yet enabled. Either
2058
+ // way, there's nothing extra for us to do: fulfill the pending entries
2059
+ // using the response from the server.
2060
+ serverDataThatSatisfiesSpawnedEntries = serverData;
2061
+ } else {
2062
+ // Successfully extracted an App Shell that is a subset of the main
2063
+ // response. Depending on the type of prefetch this is, we need to
2064
+ // decide whether to fulfill the pending entries with the shell or with
2065
+ // the entire response. In either scenario, we'll be inserting _both_
2066
+ // versions of the response into the cache; the extra logic is only
2067
+ // here so that we don't fulfill pending shell entries with something
2068
+ // that's more concrete than what they expect.
2069
+ // TODO: The only reason this matters is because during a navigation,
2070
+ // if a segment is still pending, we render a promise that resolves to
2071
+ // the eventual value of that segment. But that means we cannot
2072
+ // eventually resolve that segment to something more concrete than what
2073
+ // was already requested. Hence the extra logic here. A cleaner way to
2074
+ // model this, though, is whenever we render a promise that resolves to
2075
+ // the result of a pending entry, do one additional cache look-up right
2076
+ // after the promise resolves, to ensure we never get a mismatching
2077
+ // entry. Leaving this for a follow up.
2078
+ // shellStageData is a fully-buffered stage decode, so read staleTime
2079
+ // synchronously off the thenable status.
2080
+ const shellStaleAt = readFulfilledStaleAt(now, shellStageData.s);
2081
+ if (fetchStrategy === _types.FetchStrategy.RuntimeShell) {
2082
+ // This is a Shell prefetch, so the pending entries must be fulfilled
2083
+ // with the shell.
2084
+ serverDataThatSatisfiesSpawnedEntries = shellStageData;
2085
+ staleAtForSpawnedEntries = shellStaleAt;
2086
+ // Separately, we'll also cache the entire response, by upserting it
2087
+ // into the cache.
2088
+ writePrerenderResponseIntoCache(now, _types.FetchStrategy.PPR, serverData.f, buildId, serverData.h, serverData.r ?? null, staleAt, dynamicRequestTree, renderedSearch, cacheData.isResponsePartial, task.segmentCacheMap);
2089
+ } else {
2090
+ // This is _not_ a Shell prefetch, so the pending entries should be
2091
+ // fulfilled with the entire response.
2092
+ serverDataThatSatisfiesSpawnedEntries = serverData;
2093
+ // Additionally, we might as well upsert the extracted Shell into the
2094
+ // cache, too.
2095
+ // `shellStageData` is only provided in cases where the shell is
2096
+ // different from the main response. If they are equivalent, this
2097
+ // branch is skipped. So it follows that any shell data reaches
2098
+ // this path must be partial -- it does not represent the entire
2099
+ // UI of the target page.
2100
+ const isShellStagePartial = true;
2101
+ writePrerenderResponseIntoCache(now, _types.FetchStrategy.RuntimeShell, shellStageData.f, buildId, shellStageData.h, shellStageData.r ?? null, shellStaleAt, dynamicRequestTree, renderedSearch, isShellStagePartial, task.segmentCacheMap);
2102
+ }
2103
+ }
2104
+ }
2105
+ // Read head vary params synchronously (unioning in the response-level root
2106
+ // params). Individual segments carry their own iterables in
2107
+ // CacheNodeSeedData; the root iterable is threaded down so each segment
2108
+ // unions it too.
2109
+ const rootVaryParamsIterable = serverDataThatSatisfiesSpawnedEntries.r ?? null;
2110
+ const headVaryParams = (0, _varyparamsdecoding.readVaryParams)(serverDataThatSatisfiesSpawnedEntries.h, rootVaryParamsIterable);
2111
+ // PPRRuntime and RuntimeShell prefetches are partial when the server
2112
+ // marks the response as '~' (Partial). RuntimeShell additionally omits
2113
+ // every dynamic suspense boundary below the App Shell, so its segments
2114
+ // are always partial regardless of what the server marker says.
2115
+ // Full/LoadingBoundary prefetches are always complete.
2116
+ const isResponsePartial = fetchStrategy === _types.FetchStrategy.RuntimeShell || fetchStrategy === _types.FetchStrategy.PPRRuntime && (cacheData?.isResponsePartial ?? false);
2117
+ const flightDatas = (0, _flightdatahelpers.normalizeFlightData)(serverDataThatSatisfiesSpawnedEntries.f);
2118
+ if (typeof flightDatas === 'string') {
2119
+ rejectSegmentEntriesIfStillPending(spawnedEntries, Date.now() + 10 * 1000);
2120
+ return null;
2121
+ }
2122
+ const navigationSeed = (0, _navigation.convertServerPatchToFullTree)(now, dynamicRequestTree, flightDatas, renderedSearch, // Not needed for prefetch responses; pass unknown to use the default.
2123
+ _bfcache.UnknownDynamicStaleTime);
2124
+ if (navigationSeed.treeDivergedFromBase && // A head-only request uses the MetadataOnlyRequestTree stub rather than
2125
+ // a tree derived from the route entry, so divergence from it carries
2126
+ // no signal.
2127
+ // TODO: This special case goes away once convertServerPatchToFullTree
2128
+ // diffs against the base RouteTree (route.tree) instead of the
2129
+ // request tree.
2130
+ dynamicRequestTree !== MetadataOnlyRequestTree) {
2131
+ // The server rendered a different route tree than the one we requested:
2132
+ // the URL has a rewrite that behaves dynamically, so the params baked
2133
+ // into the request are wrong and the server can never fulfill it. Mark
2134
+ // the route entry — which doubles as the stored prediction pattern, so
2135
+ // this also disables a bad prediction (see matchKnownRoute) that would
2136
+ // otherwise be re-derived on every retry — and invalidate entries that
2137
+ // were derived from it. This mirrors dispatchRetryDueToTreeMismatch on
2138
+ // the navigation path. It can't loop: the refetched route entry is
2139
+ // built from the server's response, so it only mismatches again if the
2140
+ // rewrite's behavior changes again.
2141
+ markRouteEntryAsDynamicRewrite(route);
2142
+ invalidateRouteCacheEntries(key.nextUrl, task.treeAtTimeOfPrefetch);
2143
+ // Reject with an immediate expiration instead of the usual backoff: the
2144
+ // invalidation above triggers a re-prefetch, which per the above does
2145
+ // not loop.
2146
+ // TODO: Consider also bounding retries with a counter on the task
2147
+ // object, so a prefetch that repeatedly fails to settle backs off
2148
+ // regardless of the reason.
2149
+ rejectSegmentEntriesIfStillPending(spawnedEntries, -1);
2150
+ return null;
2151
+ }
2152
+ // Aside from writing the data into the cache, this function also returns
2153
+ // the entries that were fulfilled, so we can streamingly update their sizes
2154
+ // in the LRU as more data comes in.
2155
+ fulfilledEntries = writeDynamicRenderResponseIntoCache(now, fetchStrategy, flightDatas, buildId, isResponsePartial, headVaryParams, rootVaryParamsIterable, staleAtForSpawnedEntries, navigationSeed, spawnedEntries, task.segmentCacheMap);
2156
+ // For buffered responses, update LRU sizes now that we know which
2157
+ // entries were fulfilled.
2158
+ if (bufferedResponseSize !== null && fulfilledEntries !== null && fulfilledEntries.length > 0) {
2159
+ const averageSize = bufferedResponseSize / fulfilledEntries.length;
2160
+ for (const entry of fulfilledEntries){
2161
+ (0, _cachemap.setSizeInCacheMap)(entry, averageSize);
2162
+ }
2163
+ }
2164
+ // Return a promise that resolves when the network connection closes, so
2165
+ // the scheduler can track the number of concurrent network connections.
2166
+ return {
2167
+ value: null,
2168
+ closed: closed.promise
2169
+ };
2170
+ } catch (error) {
2171
+ if (process.env.__NEXT_USE_OFFLINE) {
2172
+ const { checkOfflineError } = require('../offline');
2173
+ if (checkOfflineError(error)) {
2174
+ // Unlike navigations and server actions, prefetches don't await
2175
+ // waitForConnection — they just reject the cache entry with an
2176
+ // immediate expiration so it gets retried once the scheduler is
2177
+ // re-pinged after connectivity is restored.
2178
+ rejectSegmentEntriesIfStillPending(spawnedEntries, -1);
2179
+ return null;
2180
+ }
2181
+ }
2182
+ rejectSegmentEntriesIfStillPending(spawnedEntries, Date.now() + 10 * 1000);
2183
+ return null;
2184
+ }
2185
+ }
2186
+ function writeDynamicTreeResponseIntoCache(now, fetchStrategy, response, serverData, entry, couldBeIntercepted, canonicalUrl, routeIsPPREnabled, headVaryParams, rootVaryParamsIterable, originalPathname, originalSearch, nextUrl, // The spawning task's `PrefetchTask.segmentCacheMap`.
2187
+ map) {
2188
+ const renderedSearch = (0, _routeparams.getRenderedSearch)(response);
2189
+ const normalizedFlightDataResult = (0, _flightdatahelpers.normalizeFlightData)(serverData.f);
2190
+ if (// A string result means navigating to this route will result in an
2191
+ // MPA navigation.
2192
+ typeof normalizedFlightDataResult === 'string' || normalizedFlightDataResult.length !== 1) {
2193
+ rejectRouteCacheEntry(entry, now + 10 * 1000);
2194
+ return;
2195
+ }
2196
+ const flightData = normalizedFlightDataResult[0];
2197
+ if (!flightData.isRootRender) {
2198
+ // Unexpected response format.
2199
+ rejectRouteCacheEntry(entry, now + 10 * 1000);
2200
+ return;
2201
+ }
2202
+ const flightRouterState = flightData.tree;
2203
+ // If the response was postponed, segments may contain dynamic holes.
2204
+ // The head has its own partiality flag (flightDataEntry.isHeadPartial)
2205
+ // which is handled separately in writeDynamicRenderResponseIntoCache.
2206
+ const isResponsePartial = response.headers.get(_approuterheaders.NEXT_DID_POSTPONE_HEADER) === '1';
2207
+ // Convert the server-sent data into the RouteTree format used by the
2208
+ // client cache.
2209
+ //
2210
+ // During this traversal, we accumulate additional data into this
2211
+ // "accumulator" object.
2212
+ const acc = {
2213
+ metadataVaryPath: null,
2214
+ treeDivergedFromBase: false
2215
+ };
2216
+ const routeTree = convertRootFlightRouterStateToRouteTree(flightRouterState, renderedSearch, acc);
2217
+ const metadataVaryPath = acc.metadataVaryPath;
2218
+ if (metadataVaryPath === null) {
2219
+ rejectRouteCacheEntry(entry, now + 10 * 1000);
2220
+ return;
2221
+ }
2222
+ (0, _optimisticroutes.discoverKnownRoute)(now, originalPathname, originalSearch, nextUrl, entry, routeTree, metadataVaryPath, couldBeIntercepted, canonicalUrl, routeIsPPREnabled, false // hasDynamicRewrite
2223
+ );
2224
+ // If the server sent segment data as part of the response, we should write
2225
+ // it into the cache to prevent a second, redundant prefetch request.
2226
+ // TODO: This is a leftover branch from before Client Segment Cache was
2227
+ // enabled everywhere. Tree prefetches should never include segment data. We
2228
+ // can delete it. Leaving for a subsequent PR.
2229
+ const navigationSeed = (0, _navigation.convertServerPatchToFullTree)(now, flightRouterState, normalizedFlightDataResult, renderedSearch, _bfcache.UnknownDynamicStaleTime);
2230
+ const buildId = response.headers.get(_constants.NEXT_NAV_DEPLOYMENT_ID_HEADER) ?? serverData.b;
2231
+ writeDynamicRenderResponseIntoCache(now, fetchStrategy, normalizedFlightDataResult, buildId, isResponsePartial, headVaryParams, rootVaryParamsIterable, getStaleAtFromHeader(now, response), navigationSeed, null, map);
2232
+ }
2233
+ function rejectSegmentEntriesIfStillPending(entries, staleAt) {
2234
+ const fulfilledEntries = [];
2235
+ for (const entry of entries.values()){
2236
+ if (entry.status === _cachemap.EntryStatus.Pending) {
2237
+ rejectSegmentCacheEntry(entry, staleAt);
2238
+ } else if (entry.status === _cachemap.EntryStatus.Fulfilled) {
2239
+ fulfilledEntries.push(entry);
2240
+ }
2241
+ }
2242
+ return fulfilledEntries;
2243
+ }
2244
+ function writeDynamicRenderResponseIntoCache(now, fetchStrategy, flightDatas, buildId, isResponsePartial, headVaryParams, rootVaryParamsIterable, staleAt, navigationSeed, spawnedEntries, // The map the work that spawned this response's request is bound to: the
2245
+ // spawning task's `PrefetchTask.segmentCacheMap` for prefetches, the
2246
+ // navigation's map for navigation-side writes. Binding the write to the
2247
+ // requesting work means a response that lands after a testing-lock scope
2248
+ // boundary still writes into the map its entries live in.
2249
+ map) {
2250
+ if (buildId && buildId !== (0, _navigationbuildid.getNavigationBuildId)()) {
2251
+ // The server build does not match the client. Treat as a 404. During
2252
+ // an actual navigation, the router will trigger an MPA navigation.
2253
+ if (spawnedEntries !== null) {
2254
+ rejectSegmentEntriesIfStillPending(spawnedEntries, now + 10 * 1000);
2255
+ }
2256
+ return null;
2257
+ }
2258
+ const routeTree = navigationSeed.routeTree;
2259
+ const metadataTree = navigationSeed.metadataVaryPath !== null ? createMetadataRouteTree(navigationSeed.metadataVaryPath) : null;
2260
+ for (const flightDataEntry of flightDatas){
2261
+ const seedData = flightDataEntry.seedData;
2262
+ if (seedData !== null) {
2263
+ // The data sent by the server represents only a subtree of the app. We
2264
+ // need to find the part of the task tree that matches the response.
2265
+ //
2266
+ // segmentPath represents the parent path of subtree. It's a repeating
2267
+ // pattern of parallel route key and segment:
2268
+ //
2269
+ // [string, Segment, string, Segment, string, Segment, ...]
2270
+ const segmentPath = flightDataEntry.segmentPath;
2271
+ let tree = routeTree;
2272
+ for(let i = 0; i < segmentPath.length; i += 2){
2273
+ const parallelRouteKey = segmentPath[i];
2274
+ const childTree = tree?.slots?.get(parallelRouteKey);
2275
+ if (childTree !== undefined) {
2276
+ tree = childTree;
2277
+ } else {
2278
+ if (spawnedEntries !== null) {
2279
+ rejectSegmentEntriesIfStillPending(spawnedEntries, now + 10 * 1000);
2280
+ }
2281
+ return null;
2282
+ }
2283
+ }
2284
+ writeSeedDataIntoCache(now, // A response write is bound to the map its entries live in (the
2285
+ // spawning task's `PrefetchTask.segmentCacheMap`).
2286
+ map, fetchStrategy, tree, staleAt, seedData, isResponsePartial, rootVaryParamsIterable, spawnedEntries);
2287
+ }
2288
+ const head = flightDataEntry.head;
2289
+ if (head !== null && metadataTree !== null) {
2290
+ // When Cache Components is enabled, the server's `isHeadPartial` flag
2291
+ // (isPossiblyPartialHead in app-render.tsx) is unreliable: it's computed
2292
+ // before the head is serialized, so it's conservatively `true` for every
2293
+ // statically-generated PPR page — even pages whose head is actually
2294
+ // complete — and it's `false` for runtime/dynamic responses whose head is
2295
+ // actually partial (e.g. a route with an async `generateMetadata`). So we
2296
+ // ignore it and derive the head's partiality from whether the response
2297
+ // itself was partial, exactly as we do for segments (see
2298
+ // `writeSeedDataIntoCache`). A non-partial response carries a complete
2299
+ // head; a partial (postponed) one does not.
2300
+ //
2301
+ // Without Cache Components, the server sends the correct isHeadPartial.
2302
+ const isHeadPartial = process.env.__NEXT_CACHE_COMPONENTS ? isResponsePartial : flightDataEntry.isHeadPartial;
2303
+ fulfillEntrySpawnedByRuntimePrefetch(now, // A response write is bound to the map its entries live in (the
2304
+ // spawning task's `PrefetchTask.segmentCacheMap`).
2305
+ map, fetchStrategy, head, isHeadPartial, staleAt, // For head entries, use the head-specific vary params passed as
2306
+ // parameter.
2307
+ headVaryParams, metadataTree, spawnedEntries);
2308
+ }
2309
+ }
2310
+ // Any entry that's still pending was intentionally not rendered by the
2311
+ // server, because it was inside the loading boundary. Mark them as rejected
2312
+ // so we know not to fetch them again.
2313
+ // TODO: If PPR is enabled on some routes but not others, then it's possible
2314
+ // that a different page is able to do a per-segment prefetch of one of the
2315
+ // segments we're marking as rejected here. We should mark on the segment
2316
+ // somehow that the reason for the rejection is because of a non-PPR prefetch.
2317
+ // That way a per-segment prefetch knows to disregard the rejection.
2318
+ if (spawnedEntries !== null) {
2319
+ const fulfilledEntries = rejectSegmentEntriesIfStillPending(spawnedEntries, now + 10 * 1000);
2320
+ return fulfilledEntries;
2321
+ }
2322
+ return null;
2323
+ }
2324
+ function writeSeedDataIntoCache(now, map, fetchStrategy, tree, staleAt, seedData, isResponsePartial, rootVaryParamsIterable, entriesOwnedByCurrentTask) {
2325
+ // This function is used to write the result of a runtime server request
2326
+ // (CacheNodeSeedData) into the prefetch cache.
2327
+ const rsc = seedData[0];
2328
+ const isPartial = rsc === null || isResponsePartial;
2329
+ // Each segment carries its own vary params iterable in the seed data, which
2330
+ // drains to the set of params the segment accessed during render. A null
2331
+ // iterable means tracking was not enabled (not a prerender). readVaryParams
2332
+ // unions in the response-level root params.
2333
+ const varyParams = (0, _varyparamsdecoding.readVaryParams)(seedData[4], rootVaryParamsIterable);
2334
+ fulfillEntrySpawnedByRuntimePrefetch(now, // A response write is bound to the map its entries live in (the spawning
2335
+ // task's `PrefetchTask.segmentCacheMap`).
2336
+ map, fetchStrategy, rsc, isPartial, staleAt, varyParams, tree, entriesOwnedByCurrentTask);
2337
+ // Recursively write the child data into the cache.
2338
+ const slots = tree.slots;
2339
+ if (slots !== null) {
2340
+ const seedDataChildren = seedData[1];
2341
+ for (const [parallelRouteKey, childTree] of slots){
2342
+ const childSeedData = seedDataChildren[parallelRouteKey];
2343
+ if (childSeedData !== null && childSeedData !== undefined) {
2344
+ writeSeedDataIntoCache(now, map, fetchStrategy, childTree, staleAt, childSeedData, isResponsePartial, rootVaryParamsIterable, entriesOwnedByCurrentTask);
2345
+ }
2346
+ }
2347
+ }
2348
+ }
2349
+ function fulfillEntrySpawnedByRuntimePrefetch(now, map, fetchStrategy, rsc, isPartial, staleAt, segmentVaryParams, tree, entriesOwnedByCurrentTask) {
2350
+ // Decide whether to re-key the entry under a more generic vary path based on
2351
+ // which params the segment actually depends on.
2352
+ //
2353
+ // Skip re-keying for Full prefetches: as of today, `varyParams` tracking only
2354
+ // works within the static stage portion of a response. A Full prefetch
2355
+ // response covers all stages, and we can't track params during the dynamic
2356
+ // stage without dead-locking the Flight stream, so the server-reported set is
2357
+ // incomplete and can't be trusted for the full response. Re-keying with an
2358
+ // untrustworthy set could replace concrete params with Fallback and let
2359
+ // unrelated URLs read each other's content from the cache.
2360
+ //
2361
+ // For RuntimeShell prefetches, always re-key to the precomputed shell vary
2362
+ // path. A shell entry is spawned at a concrete param path but is reusable
2363
+ // across all of them; tree.shellVaryPath (root-param values kept, every other
2364
+ // param replaced with Fallback) is exactly the path that shell reads look it
2365
+ // up under.
2366
+ let fulfilledVaryPath = null;
2367
+ if (process.env.__NEXT_VARY_PARAMS) {
2368
+ if (fetchStrategy === _types.FetchStrategy.RuntimeShell) {
2369
+ fulfilledVaryPath = tree.shellVaryPath;
2370
+ } else if (fetchStrategy !== _types.FetchStrategy.Full && segmentVaryParams !== null) {
2371
+ fulfilledVaryPath = (0, _varypath.getFulfilledSegmentVaryPath)(tree.varyPath, segmentVaryParams);
2372
+ }
2373
+ }
2374
+ // We should only write into cache entries that are owned by us. Or create
2375
+ // a new one and write into that. We must never write over an entry that was
2376
+ // created by a different task, because that causes data races.
2377
+ const ownedEntry = entriesOwnedByCurrentTask !== null ? entriesOwnedByCurrentTask.get(tree.requestKey) : undefined;
2378
+ if (ownedEntry !== undefined) {
2379
+ const fulfilledEntry = fulfillSegmentCacheEntry(ownedEntry, rsc, staleAt, isPartial, // Dynamic-request (Full/Runtime) responses are not ISR fallbacks.
2380
+ false, fetchStrategy);
2381
+ // Re-key the entry at its canonical path. When `varyParams` produced a
2382
+ // generalized path above, use that; otherwise fall back to the request's
2383
+ // own keying (this is load-bearing for entries spawned as revalidations:
2384
+ // without the re-key they'd stay in their Revalidation slot forever,
2385
+ // invisible to canonical reads, and the partial entry that prompted the
2386
+ // revalidation would keep serving navigations). Full responses are
2387
+ // excluded, matching the varyParams re-key: they're spawned as canonical
2388
+ // entries at their final path, and their vary tracking can't be trusted
2389
+ // for re-keying (see the fulfilledVaryPath derivation above).
2390
+ const canonicalVaryPath = fulfilledVaryPath !== null ? fulfilledVaryPath : fetchStrategy !== _types.FetchStrategy.Full ? (0, _varypath.getSegmentVaryPathForRequest)(fetchStrategy, tree) : null;
2391
+ if (canonicalVaryPath !== null) {
2392
+ const isRevalidation = false;
2393
+ (0, _cachemap.setInCacheMap)(map, canonicalVaryPath, fulfilledEntry, isRevalidation);
2394
+ // The re-key moved the entry to a more generic path (and, for a spawned
2395
+ // revalidation, vacated its Revalidation slot). A stale settled entry
2396
+ // at a more specific path — e.g. the partial entry that prompted the
2397
+ // revalidation — would shadow every read at the concrete lookup path,
2398
+ // causing the scheduler to keep re-reading the stale entry and respawn
2399
+ // the revalidation forever. Evict it so the fulfilled entry is
2400
+ // reachable. See evictShadowingSegmentEntries.
2401
+ evictShadowingSegmentEntries(now, map, tree.varyPath, fulfilledEntry);
2402
+ }
2403
+ } else {
2404
+ // There's no matching entry. Attempt to create a new one.
2405
+ let possiblyNewEntry = (0, _cachemap.getFromCacheMap)(now, getCurrentSegmentCacheVersion(), map, tree.varyPath, false, false);
2406
+ if (possiblyNewEntry === null) {
2407
+ possiblyNewEntry = insertEmptySegmentCacheEntry(now, map, fetchStrategy, tree);
2408
+ }
2409
+ if (possiblyNewEntry.status === _cachemap.EntryStatus.Empty) {
2410
+ // Confirmed this is a new entry. We can fulfill it.
2411
+ const newEntry = possiblyNewEntry;
2412
+ const fulfilledEntry = fulfillSegmentCacheEntry(upgradeToPendingSegment(newEntry, fetchStrategy), rsc, staleAt, isPartial, // Dynamic-request (Full/Runtime) responses are not ISR fallbacks.
2413
+ false, fetchStrategy);
2414
+ if (fulfilledVaryPath !== null) {
2415
+ const isRevalidation = false;
2416
+ (0, _cachemap.setInCacheMap)(map, fulfilledVaryPath, fulfilledEntry, isRevalidation);
2417
+ // Same as the owned-entry re-key above. Usually the entry really is
2418
+ // new — the read a moment ago returned nothing at the concrete lookup
2419
+ // path, so nothing can shadow it and this is a no-op — but this
2420
+ // branch also claims a pre-existing Empty entry, and re-keying that
2421
+ // away can expose a stale settled entry at an intermediate path.
2422
+ evictShadowingSegmentEntries(now, map, tree.varyPath, fulfilledEntry);
2423
+ }
2424
+ } else {
2425
+ // There was already an entry in the cache. But we may be able to
2426
+ // replace it with the new one from the server.
2427
+ const newEntry = fulfillSegmentCacheEntry(upgradeToPendingSegment(createDetachedSegmentCacheEntry(now), fetchStrategy), rsc, staleAt, isPartial, // Dynamic-request (Full/Runtime) responses are not ISR fallbacks.
2428
+ false, fetchStrategy);
2429
+ const varyPath = fulfilledVaryPath !== null ? fulfilledVaryPath : (0, _varypath.getSegmentVaryPathForRequest)(fetchStrategy, tree);
2430
+ // Pass the concrete lookup path so that if the entry was re-keyed to
2431
+ // a more generic path, any stale settled entry at a more specific path
2432
+ // that would shadow it is evicted (the upsert handles this; the other
2433
+ // branches above call evictShadowingSegmentEntries themselves).
2434
+ upsertSegmentEntry(now, map, varyPath, newEntry, tree.varyPath);
2435
+ }
2436
+ }
2437
+ }
2438
+ async function fetchPrefetchResponse(url, headers) {
2439
+ const fetchPriority = 'low';
2440
+ // When issuing a prefetch request, don't immediately decode the response; we
2441
+ // use the lower level `createFromResponse` API instead because we need to do
2442
+ // some extra processing of the response stream. See
2443
+ // `createNonTaskyPrefetchResponseStream` for more details.
2444
+ const shouldImmediatelyDecode = false;
2445
+ const response = await (0, _fetchserverresponse.createFetch)(url, headers, fetchPriority, shouldImmediatelyDecode);
2446
+ if (!response.ok) {
2447
+ return null;
2448
+ }
2449
+ // Check the content type
2450
+ if (isOutputExportMode) {
2451
+ // In output: "export" mode, we relaxed about the content type, since it's
2452
+ // not Next.js that's serving the response. If the status is OK, assume the
2453
+ // response is valid. If it's not a valid response, the Flight client won't
2454
+ // be able to decode it, and we'll treat it as a miss.
2455
+ } else {
2456
+ const contentType = response.headers.get('content-type');
2457
+ const isFlightResponse = contentType && contentType.startsWith(_approuterheaders.RSC_CONTENT_TYPE_HEADER);
2458
+ if (!isFlightResponse) {
2459
+ return null;
2460
+ }
2461
+ }
2462
+ return response;
2463
+ }
2464
+ async function createNonTaskyPrefetchResponseStream(body, byteLimit) {
2465
+ // Buffer the entire response before passing it to the Flight client. This
2466
+ // ensures that when Flight processes the stream, all model data is available
2467
+ // synchronously. This is important for readVaryParams, which synchronously
2468
+ // checks the thenable status — if data arrived in multiple network chunks,
2469
+ // the thenables might not yet be fulfilled.
2470
+ //
2471
+ // TODO: There are too many intermediate stream transformations in the
2472
+ // prefetch response pipeline (e.g. stripIsPartialByte, this function).
2473
+ // These could all be consolidated into a single transformation. Refactor
2474
+ // once the cached navigations experiment lands.
2475
+ //
2476
+ // Read the response from the network, optionally truncating at byteLimit.
2477
+ const reader = body.getReader();
2478
+ const chunks = [];
2479
+ let size = 0;
2480
+ while(true){
2481
+ const { done, value } = await reader.read();
2482
+ if (done) break;
2483
+ if (byteLimit !== undefined && size + value.byteLength >= byteLimit) {
2484
+ const remaining = byteLimit - size;
2485
+ if (remaining > 0) {
2486
+ chunks.push(value.byteLength > remaining ? value.subarray(0, remaining) : value);
2487
+ size += remaining;
2488
+ }
2489
+ reader.cancel();
2490
+ break;
2491
+ }
2492
+ chunks.push(value);
2493
+ size += value.byteLength;
2494
+ }
2495
+ // Concatenate into a single chunk so that Flight's processBinaryChunk
2496
+ // processes all rows synchronously in one call. Multiple chunks would not
2497
+ // be sufficient: even though reader.read() resolves as a microtask for
2498
+ // already-enqueued data, the `await` continuation from
2499
+ // createFromReadableStream can interleave between chunks. If the root
2500
+ // model row isn't the first row (e.g. outlined values come first), the
2501
+ // PromiseResolveThenableJob from `await` can cause the root to initialize
2502
+ // eagerly, scheduling the continuation before remaining chunks (including
2503
+ // promise value rows) are processed. A single chunk avoids this.
2504
+ let buffer;
2505
+ if (chunks.length === 1) {
2506
+ buffer = chunks[0];
2507
+ } else if (chunks.length > 1) {
2508
+ buffer = new Uint8Array(size);
2509
+ let offset = 0;
2510
+ for (const chunk of chunks){
2511
+ buffer.set(chunk, offset);
2512
+ offset += chunk.byteLength;
2513
+ }
2514
+ } else {
2515
+ buffer = new Uint8Array(0);
2516
+ }
2517
+ const stream = new ReadableStream({
2518
+ start (controller) {
2519
+ controller.enqueue(buffer);
2520
+ controller.close();
2521
+ }
2522
+ });
2523
+ return {
2524
+ stream,
2525
+ size,
2526
+ buffer
2527
+ };
2528
+ }
2529
+ /**
2530
+ * Creates a streaming (non-buffered) prefetch response stream for dynamic/Full
2531
+ * prefetches. These are essentially dynamic responses that get stored in the
2532
+ * prefetch cache — they don't carry vary params or other cache metadata that
2533
+ * requires synchronous thenable resolution, so there's no need to buffer them.
2534
+ * They should continue to stream so consumers can process data as it arrives.
2535
+ */ function createIncrementalPrefetchResponseStream(originalFlightStream, onStreamClose, onResponseSizeUpdate) {
2536
+ // While processing the original stream, we incrementally update the size
2537
+ // of the cache entry in the LRU.
2538
+ let totalByteLength = 0;
2539
+ const reader = originalFlightStream.getReader();
2540
+ return new ReadableStream({
2541
+ async pull (controller) {
2542
+ while(true){
2543
+ const { done, value } = await reader.read();
2544
+ if (!done) {
2545
+ // Pass to the target stream and keep consuming the Flight response
2546
+ // from the server.
2547
+ controller.enqueue(value);
2548
+ // Incrementally update the size of the cache entry in the LRU.
2549
+ totalByteLength += value.byteLength;
2550
+ onResponseSizeUpdate(totalByteLength);
2551
+ continue;
2552
+ }
2553
+ controller.close();
2554
+ onStreamClose();
2555
+ return;
2556
+ }
2557
+ }
2558
+ });
2559
+ }
2560
+ function addSegmentPathToUrlInOutputExportMode(url, segmentPath) {
2561
+ if (isOutputExportMode) {
2562
+ // In output: "export" mode, we cannot use a header to encode the segment
2563
+ // path. Instead, we append it to the end of the pathname.
2564
+ const staticUrl = new URL(url);
2565
+ const routeDir = staticUrl.pathname.endsWith('/') ? staticUrl.pathname.slice(0, -1) : staticUrl.pathname;
2566
+ const staticExportFilename = (0, _segmentvalueencoding.convertSegmentPathToStaticExportFilename)(segmentPath);
2567
+ staticUrl.pathname = `${routeDir}/${staticExportFilename}`;
2568
+ return staticUrl;
2569
+ }
2570
+ return url;
2571
+ }
2572
+ function canNewFetchStrategyProvideMoreContent(currentStrategy, newStrategy) {
2573
+ return currentStrategy < newStrategy;
2574
+ }
2575
+ function getStaleAtFromHeader(now, response) {
2576
+ const staleTimeSeconds = parseInt(response.headers.get(_approuterheaders.NEXT_ROUTER_STALE_TIME_HEADER) ?? '', 10);
2577
+ const staleTimeMs = !isNaN(staleTimeSeconds) ? getStaleTimeMs(staleTimeSeconds) : _navigatereducer.STATIC_STALETIME_MS;
2578
+ return now + staleTimeMs;
2579
+ }
2580
+ async function resolveStaleAt(now, staleTimeIterable, response) {
2581
+ if (staleTimeIterable !== undefined) {
2582
+ // Iterate the async iterable and take the last yielded value. The server
2583
+ // yields updated staleTime values during the render; the last one is the
2584
+ // final staleTime.
2585
+ let staleTimeSeconds;
2586
+ for await (const value of staleTimeIterable){
2587
+ staleTimeSeconds = value;
2588
+ }
2589
+ if (staleTimeSeconds !== undefined) {
2590
+ const staleTimeMs = isNaN(staleTimeSeconds) ? _navigatereducer.STATIC_STALETIME_MS : getStaleTimeMs(staleTimeSeconds);
2591
+ return now + staleTimeMs;
2592
+ }
2593
+ }
2594
+ if (response !== undefined) {
2595
+ return getStaleAtFromHeader(now, response);
2596
+ }
2597
+ return now + _navigatereducer.STATIC_STALETIME_MS;
2598
+ }
2599
+ function writePrerenderResponseIntoCache(now, fetchStrategy, flightData, buildId, headVaryParamsIterable, rootVaryParamsIterable, staleAt, baseTree, renderedSearch, isResponsePartial, // The map the work that spawned this response's request is bound to. See
2600
+ // writeDynamicRenderResponseIntoCache.
2601
+ map) {
2602
+ // Root params are emitted once at the top level; readVaryParams unions them
2603
+ // into the head, and they're threaded down to each segment below.
2604
+ const headVaryParams = (0, _varyparamsdecoding.readVaryParams)(headVaryParamsIterable, rootVaryParamsIterable);
2605
+ const flightDatas = (0, _flightdatahelpers.normalizeFlightData)(flightData);
2606
+ if (typeof flightDatas === 'string') {
2607
+ return;
2608
+ }
2609
+ const navigationSeed = (0, _navigation.convertServerPatchToFullTree)(now, baseTree, flightDatas, renderedSearch, _bfcache.UnknownDynamicStaleTime);
2610
+ writeDynamicRenderResponseIntoCache(now, fetchStrategy, flightDatas, buildId, isResponsePartial, headVaryParams, rootVaryParamsIterable, staleAt, navigationSeed, null, map);
2611
+ }
2612
+ async function processRuntimePrefetchStream(now, runtimePrefetchStream, baseTree, renderedSearch) {
2613
+ const { stream, isPartial } = await stripIsPartialByte(runtimePrefetchStream);
2614
+ const serverData = await (0, _fetchserverresponse.createFromNextReadableStream)(stream, undefined, {
2615
+ allowPartialStream: true
2616
+ });
2617
+ // Root params are emitted once at the top level; readVaryParams unions them
2618
+ // into the head, and we return the iterable so the caller can union it into
2619
+ // each segment too.
2620
+ const rootVaryParamsIterable = serverData.r ?? null;
2621
+ const headVaryParams = (0, _varyparamsdecoding.readVaryParams)(serverData.h, rootVaryParamsIterable);
2622
+ const staleAt = await resolveStaleAt(now, serverData.s);
2623
+ const flightDatas = (0, _flightdatahelpers.normalizeFlightData)(serverData.f);
2624
+ if (typeof flightDatas === 'string') {
2625
+ return null;
2626
+ }
2627
+ const navigationSeed = (0, _navigation.convertServerPatchToFullTree)(now, baseTree, flightDatas, renderedSearch, _bfcache.UnknownDynamicStaleTime);
2628
+ return {
2629
+ flightDatas,
2630
+ navigationSeed,
2631
+ buildId: serverData.b,
2632
+ isResponsePartial: isPartial,
2633
+ headVaryParams,
2634
+ rootVaryParamsIterable,
2635
+ staleAt
2636
+ };
2637
+ }
2638
+ async function stripIsPartialByte(stream) {
2639
+ // When there is no recognized marker byte, the fallback depends on whether
2640
+ // Cached Navigations is enabled. When enabled, dynamic navigation responses
2641
+ // don't have a marker but may contain dynamic holes, so they are treated as
2642
+ // partial. When disabled, unmarked responses are treated as non-partial.
2643
+ const defaultIsPartial = !!process.env.__NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS;
2644
+ const reader = stream.getReader();
2645
+ const { done, value } = await reader.read();
2646
+ if (done || !value || value.byteLength === 0) {
2647
+ return {
2648
+ stream: new ReadableStream({
2649
+ start: (c)=>c.close()
2650
+ }),
2651
+ isPartial: defaultIsPartial
2652
+ };
2653
+ }
2654
+ const firstByte = value[0];
2655
+ const hasMarker = firstByte === 0x23 || firstByte === 0x7e;
2656
+ const isPartial = hasMarker ? firstByte === 0x7e : defaultIsPartial;
2657
+ const remainder = hasMarker ? value.byteLength > 1 ? value.subarray(1) : null : value;
2658
+ return {
2659
+ isPartial,
2660
+ stream: new ReadableStream({
2661
+ start (controller) {
2662
+ if (remainder) {
2663
+ controller.enqueue(remainder);
2664
+ }
2665
+ },
2666
+ async pull (controller) {
2667
+ const result = await reader.read();
2668
+ if (result.done) {
2669
+ controller.close();
2670
+ } else {
2671
+ controller.enqueue(result.value);
2672
+ }
2673
+ }
2674
+ })
2675
+ };
2676
+ }
2677
+
2678
+ if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
2679
+ Object.defineProperty(exports.default, '__esModule', { value: true });
2680
+ Object.assign(exports.default, exports);
2681
+ module.exports = exports.default;
2682
+ }
2683
+
2684
+ //# sourceMappingURL=cache.js.map