@semiont/frontend 0.3.3 → 0.3.4

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 (458) hide show
  1. package/package.json +1 -1
  2. package/standalone/apps/frontend/.next/BUILD_ID +1 -1
  3. package/standalone/apps/frontend/.next/app-path-routes-manifest.json +8 -8
  4. package/standalone/apps/frontend/.next/build-manifest.json +6 -6
  5. package/standalone/apps/frontend/.next/prerender-manifest.json +3 -3
  6. package/standalone/apps/frontend/.next/react-loadable-manifest.json +2 -2
  7. package/standalone/apps/frontend/.next/required-server-files.json +18 -6
  8. package/standalone/apps/frontend/.next/routes-manifest.json +1 -0
  9. package/standalone/apps/frontend/.next/server/app/[locale]/about/page.js +776 -516
  10. package/standalone/apps/frontend/.next/server/app/[locale]/about/page.js.nft.json +1 -1
  11. package/standalone/apps/frontend/.next/server/app/[locale]/about/page_client-reference-manifest.js +1 -1
  12. package/standalone/apps/frontend/.next/server/app/[locale]/admin/devops/page.js +1718 -1455
  13. package/standalone/apps/frontend/.next/server/app/[locale]/admin/devops/page.js.nft.json +1 -1
  14. package/standalone/apps/frontend/.next/server/app/[locale]/admin/devops/page_client-reference-manifest.js +1 -1
  15. package/standalone/apps/frontend/.next/server/app/[locale]/admin/exchange/page.js +724 -461
  16. package/standalone/apps/frontend/.next/server/app/[locale]/admin/exchange/page.js.nft.json +1 -1
  17. package/standalone/apps/frontend/.next/server/app/[locale]/admin/exchange/page_client-reference-manifest.js +1 -1
  18. package/standalone/apps/frontend/.next/server/app/[locale]/admin/page.js +370 -109
  19. package/standalone/apps/frontend/.next/server/app/[locale]/admin/page.js.nft.json +1 -1
  20. package/standalone/apps/frontend/.next/server/app/[locale]/admin/page_client-reference-manifest.js +1 -1
  21. package/standalone/apps/frontend/.next/server/app/[locale]/admin/security/page.js +581 -318
  22. package/standalone/apps/frontend/.next/server/app/[locale]/admin/security/page.js.nft.json +1 -1
  23. package/standalone/apps/frontend/.next/server/app/[locale]/admin/security/page_client-reference-manifest.js +1 -1
  24. package/standalone/apps/frontend/.next/server/app/[locale]/admin/users/page.js +449 -186
  25. package/standalone/apps/frontend/.next/server/app/[locale]/admin/users/page.js.nft.json +1 -1
  26. package/standalone/apps/frontend/.next/server/app/[locale]/admin/users/page_client-reference-manifest.js +1 -1
  27. package/standalone/apps/frontend/.next/server/app/[locale]/auth/error/page.js +430 -168
  28. package/standalone/apps/frontend/.next/server/app/[locale]/auth/error/page.js.nft.json +1 -1
  29. package/standalone/apps/frontend/.next/server/app/[locale]/auth/error/page_client-reference-manifest.js +1 -1
  30. package/standalone/apps/frontend/.next/server/app/[locale]/auth/mcp-setup/route.js +31 -16
  31. package/standalone/apps/frontend/.next/server/app/[locale]/auth/mcp-setup/route.js.nft.json +1 -1
  32. package/standalone/apps/frontend/.next/server/app/[locale]/auth/mcp-setup/route_client-reference-manifest.js +1 -1
  33. package/standalone/apps/frontend/.next/server/app/[locale]/auth/signin/page.js +388 -126
  34. package/standalone/apps/frontend/.next/server/app/[locale]/auth/signin/page.js.nft.json +1 -1
  35. package/standalone/apps/frontend/.next/server/app/[locale]/auth/signin/page_client-reference-manifest.js +1 -1
  36. package/standalone/apps/frontend/.next/server/app/[locale]/auth/signup/page.js +537 -275
  37. package/standalone/apps/frontend/.next/server/app/[locale]/auth/signup/page.js.nft.json +1 -1
  38. package/standalone/apps/frontend/.next/server/app/[locale]/auth/signup/page_client-reference-manifest.js +1 -1
  39. package/standalone/apps/frontend/.next/server/app/[locale]/auth/welcome/page.js +388 -126
  40. package/standalone/apps/frontend/.next/server/app/[locale]/auth/welcome/page.js.nft.json +1 -1
  41. package/standalone/apps/frontend/.next/server/app/[locale]/auth/welcome/page_client-reference-manifest.js +1 -1
  42. package/standalone/apps/frontend/.next/server/app/[locale]/know/compose/page.js +745 -482
  43. package/standalone/apps/frontend/.next/server/app/[locale]/know/compose/page.js.nft.json +1 -1
  44. package/standalone/apps/frontend/.next/server/app/[locale]/know/compose/page_client-reference-manifest.js +1 -1
  45. package/standalone/apps/frontend/.next/server/app/[locale]/know/discover/page.js +366 -103
  46. package/standalone/apps/frontend/.next/server/app/[locale]/know/discover/page.js.nft.json +1 -1
  47. package/standalone/apps/frontend/.next/server/app/[locale]/know/discover/page_client-reference-manifest.js +1 -1
  48. package/standalone/apps/frontend/.next/server/app/[locale]/know/page.js +600 -339
  49. package/standalone/apps/frontend/.next/server/app/[locale]/know/page.js.nft.json +1 -1
  50. package/standalone/apps/frontend/.next/server/app/[locale]/know/page_client-reference-manifest.js +1 -1
  51. package/standalone/apps/frontend/.next/server/app/[locale]/know/resource/[id]/page.js +956 -691
  52. package/standalone/apps/frontend/.next/server/app/[locale]/know/resource/[id]/page.js.nft.json +1 -1
  53. package/standalone/apps/frontend/.next/server/app/[locale]/know/resource/[id]/page_client-reference-manifest.js +1 -1
  54. package/standalone/apps/frontend/.next/server/app/[locale]/moderate/entity-tags/page.js +1699 -1436
  55. package/standalone/apps/frontend/.next/server/app/[locale]/moderate/entity-tags/page.js.nft.json +1 -1
  56. package/standalone/apps/frontend/.next/server/app/[locale]/moderate/entity-tags/page_client-reference-manifest.js +1 -1
  57. package/standalone/apps/frontend/.next/server/app/[locale]/moderate/linked-data/page.js +390 -127
  58. package/standalone/apps/frontend/.next/server/app/[locale]/moderate/linked-data/page.js.nft.json +1 -1
  59. package/standalone/apps/frontend/.next/server/app/[locale]/moderate/linked-data/page_client-reference-manifest.js +1 -1
  60. package/standalone/apps/frontend/.next/server/app/[locale]/moderate/page.js +1779 -1518
  61. package/standalone/apps/frontend/.next/server/app/[locale]/moderate/page.js.nft.json +1 -1
  62. package/standalone/apps/frontend/.next/server/app/[locale]/moderate/page_client-reference-manifest.js +1 -1
  63. package/standalone/apps/frontend/.next/server/app/[locale]/moderate/recent/page.js +1601 -1338
  64. package/standalone/apps/frontend/.next/server/app/[locale]/moderate/recent/page.js.nft.json +1 -1
  65. package/standalone/apps/frontend/.next/server/app/[locale]/moderate/recent/page_client-reference-manifest.js +1 -1
  66. package/standalone/apps/frontend/.next/server/app/[locale]/moderate/tag-schemas/page.js +2048 -1785
  67. package/standalone/apps/frontend/.next/server/app/[locale]/moderate/tag-schemas/page.js.nft.json +1 -1
  68. package/standalone/apps/frontend/.next/server/app/[locale]/moderate/tag-schemas/page_client-reference-manifest.js +1 -1
  69. package/standalone/apps/frontend/.next/server/app/[locale]/page.js +462 -204
  70. package/standalone/apps/frontend/.next/server/app/[locale]/page.js.nft.json +1 -1
  71. package/standalone/apps/frontend/.next/server/app/[locale]/page_client-reference-manifest.js +1 -1
  72. package/standalone/apps/frontend/.next/server/app/[locale]/privacy/page.js +476 -216
  73. package/standalone/apps/frontend/.next/server/app/[locale]/privacy/page.js.nft.json +1 -1
  74. package/standalone/apps/frontend/.next/server/app/[locale]/privacy/page_client-reference-manifest.js +1 -1
  75. package/standalone/apps/frontend/.next/server/app/[locale]/terms/page.js +489 -229
  76. package/standalone/apps/frontend/.next/server/app/[locale]/terms/page.js.nft.json +1 -1
  77. package/standalone/apps/frontend/.next/server/app/[locale]/terms/page_client-reference-manifest.js +1 -1
  78. package/standalone/apps/frontend/.next/server/app/_global-error/page.js +627 -240
  79. package/standalone/apps/frontend/.next/server/app/_global-error/page.js.nft.json +1 -1
  80. package/standalone/apps/frontend/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  81. package/standalone/apps/frontend/.next/server/app/_global-error.html +1 -2
  82. package/standalone/apps/frontend/.next/server/app/_global-error.rsc +13 -9
  83. package/standalone/apps/frontend/.next/server/app/_global-error.segments/_full.segment.rsc +13 -9
  84. package/standalone/apps/frontend/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  85. package/standalone/apps/frontend/.next/server/app/_global-error.segments/_global-error.segment.rsc +2 -1
  86. package/standalone/apps/frontend/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  87. package/standalone/apps/frontend/.next/server/app/_global-error.segments/_index.segment.rsc +2 -1
  88. package/standalone/apps/frontend/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  89. package/standalone/apps/frontend/.next/server/app/_not-found/page.js +814 -559
  90. package/standalone/apps/frontend/.next/server/app/_not-found/page.js.nft.json +1 -1
  91. package/standalone/apps/frontend/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  92. package/standalone/apps/frontend/.next/server/app/_not-found.html +1 -1
  93. package/standalone/apps/frontend/.next/server/app/_not-found.rsc +8 -6
  94. package/standalone/apps/frontend/.next/server/app/_not-found.segments/_full.segment.rsc +8 -6
  95. package/standalone/apps/frontend/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  96. package/standalone/apps/frontend/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  97. package/standalone/apps/frontend/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  98. package/standalone/apps/frontend/.next/server/app/_not-found.segments/_not-found.segment.rsc +2 -1
  99. package/standalone/apps/frontend/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  100. package/standalone/apps/frontend/.next/server/app/api/auth/[...nextauth]/route.js +54 -39
  101. package/standalone/apps/frontend/.next/server/app/api/auth/[...nextauth]/route.js.nft.json +1 -1
  102. package/standalone/apps/frontend/.next/server/app/api/auth/[...nextauth]/route_client-reference-manifest.js +1 -1
  103. package/standalone/apps/frontend/.next/server/app/api/cookies/consent/route.js +49 -34
  104. package/standalone/apps/frontend/.next/server/app/api/cookies/consent/route.js.nft.json +1 -1
  105. package/standalone/apps/frontend/.next/server/app/api/cookies/consent/route_client-reference-manifest.js +1 -1
  106. package/standalone/apps/frontend/.next/server/app/api/cookies/export/route.js +24 -9
  107. package/standalone/apps/frontend/.next/server/app/api/cookies/export/route.js.nft.json +1 -1
  108. package/standalone/apps/frontend/.next/server/app/api/cookies/export/route_client-reference-manifest.js +1 -1
  109. package/standalone/apps/frontend/.next/server/app/api/resources/[id]/route.js +24 -9
  110. package/standalone/apps/frontend/.next/server/app/api/resources/[id]/route.js.nft.json +1 -1
  111. package/standalone/apps/frontend/.next/server/app/api/resources/[id]/route_client-reference-manifest.js +1 -1
  112. package/standalone/apps/frontend/.next/server/app-paths-manifest.json +8 -8
  113. package/standalone/apps/frontend/.next/server/chunks/2617.js +43 -7
  114. package/standalone/apps/frontend/.next/server/chunks/3144.js +1 -1
  115. package/standalone/apps/frontend/.next/server/chunks/4741.js +60 -252
  116. package/standalone/apps/frontend/.next/server/chunks/730.js +1 -1
  117. package/standalone/apps/frontend/.next/server/chunks/7420.js +21 -288
  118. package/standalone/apps/frontend/.next/server/chunks/7873.js +24 -2
  119. package/standalone/apps/frontend/.next/server/chunks/{7246.js → 8569.js} +1169 -282
  120. package/standalone/apps/frontend/.next/server/chunks/{2628.js → 9927.js} +11422 -4290
  121. package/standalone/apps/frontend/.next/server/middleware-build-manifest.js +1 -1
  122. package/standalone/apps/frontend/.next/server/middleware-react-loadable-manifest.js +1 -1
  123. package/standalone/apps/frontend/.next/server/middleware.js +17991 -10692
  124. package/standalone/apps/frontend/.next/server/pages/404.html +1 -1
  125. package/standalone/apps/frontend/.next/server/pages/500.html +1 -2
  126. package/standalone/apps/frontend/.next/server/prefetch-hints.json +1 -0
  127. package/standalone/apps/frontend/.next/server/server-reference-manifest.json +1 -1
  128. package/standalone/apps/frontend/.next/static/I_XveRdyStDMqYJPcAAy5/_buildManifest.js +1 -0
  129. package/standalone/apps/frontend/.next/static/chunks/1315.3f76aa23520d903e.js +1 -0
  130. package/standalone/apps/frontend/.next/static/chunks/{432.4c1d971431c60454.js → 432.8cb455bfe72957a9.js} +1 -1
  131. package/standalone/apps/frontend/.next/static/chunks/87c73c54-e11922cda838f8cc.js +1 -0
  132. package/standalone/apps/frontend/.next/static/chunks/{891cff7f-c20ce667b1225aa7.js → 891cff7f-d7677a8f46c597cc.js} +1 -1
  133. package/standalone/apps/frontend/.next/static/chunks/app/[locale]/admin/{layout-4b67f7b5d5ba4728.js → layout-956ba0ffa1199bff.js} +1 -1
  134. package/standalone/apps/frontend/.next/static/chunks/app/[locale]/know/{layout-f76e1916749e66f6.js → layout-262d8dd6c6e33738.js} +1 -1
  135. package/standalone/apps/frontend/.next/static/chunks/app/[locale]/{layout-a403fd7a4877cc04.js → layout-c072ce8c7aeaa92e.js} +1 -1
  136. package/standalone/apps/frontend/.next/static/chunks/app/[locale]/moderate/{layout-2d4e9c2be4b4a4c7.js → layout-b60605082e447f42.js} +1 -1
  137. package/standalone/apps/frontend/.next/static/chunks/{common-ac307b22cd0a4080.js → common-42653c14d34c8864.js} +7 -7
  138. package/standalone/apps/frontend/.next/static/chunks/framework-b879567b90d34fb5.js +1 -0
  139. package/standalone/apps/frontend/.next/static/chunks/vendors-63213253c18580f4.js +40 -0
  140. package/standalone/apps/frontend/.next/static/chunks/{webpack-abf2ad17f175f867.js → webpack-a0284d55d288650f.js} +1 -1
  141. package/standalone/apps/frontend/package.json +5 -5
  142. package/standalone/apps/frontend/server.js +1 -1
  143. package/standalone/node_modules/@next/env/package.json +1 -1
  144. package/standalone/node_modules/next/dist/build/adapter/setup-node-env.external.js +15 -0
  145. package/standalone/node_modules/next/dist/build/analysis/extract-const-value.js +78 -63
  146. package/standalone/node_modules/next/dist/build/analysis/get-page-static-info.js +64 -40
  147. package/standalone/node_modules/next/dist/build/create-compiler-aliases.js +2 -0
  148. package/standalone/node_modules/next/dist/build/define-env.js +29 -11
  149. package/standalone/node_modules/next/dist/build/duration-to-string.js +1 -1
  150. package/standalone/node_modules/next/dist/build/entries.js +55 -295
  151. package/standalone/node_modules/next/dist/build/file-classifier.js +76 -0
  152. package/standalone/node_modules/next/dist/build/get-supported-browsers.js +38 -0
  153. package/standalone/node_modules/next/dist/build/load-jsconfig.js +7 -7
  154. package/standalone/node_modules/next/dist/build/lockfile.js +90 -9
  155. package/standalone/node_modules/next/dist/build/next-config-ts/transpile-config.js +128 -49
  156. package/standalone/node_modules/next/dist/build/print-build-errors.js +72 -0
  157. package/standalone/node_modules/next/dist/build/route-discovery.js +353 -0
  158. package/standalone/node_modules/next/dist/build/segment-config/app/app-segment-config.js +34 -17
  159. package/standalone/node_modules/next/dist/build/static-paths/app.js +68 -15
  160. package/standalone/node_modules/next/dist/build/static-paths/pages.js +3 -3
  161. package/standalone/node_modules/next/dist/build/swc/index.js +125 -48
  162. package/standalone/node_modules/next/dist/build/swc/loaderWorkerPool.js +40 -0
  163. package/standalone/node_modules/next/dist/build/swc/options.js +23 -6
  164. package/standalone/node_modules/next/dist/build/utils.js +48 -94
  165. package/standalone/node_modules/next/dist/build/webpack/config/blocks/css/index.js +14 -3
  166. package/standalone/node_modules/next/dist/build/webpack/config/blocks/css/loaders/global.js +4 -2
  167. package/standalone/node_modules/next/dist/build/webpack/config/blocks/css/loaders/modules.js +4 -2
  168. package/standalone/node_modules/next/dist/build/webpack/config/blocks/css/loaders/next-font.js +1 -0
  169. package/standalone/node_modules/next/dist/build/webpack/config/blocks/css/plugins.js +5 -5
  170. package/standalone/node_modules/next/dist/build/webpack/config/index.js +3 -2
  171. package/standalone/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js +2 -1
  172. package/standalone/node_modules/next/dist/build/webpack/loaders/css-loader/src/plugins/postcss-url-parser.js +8 -1
  173. package/standalone/node_modules/next/dist/build/webpack/loaders/lightningcss-loader/src/loader.js +13 -4
  174. package/standalone/node_modules/next/dist/build/webpack/loaders/next-middleware-loader.js +3 -1
  175. package/standalone/node_modules/next/dist/build/webpack/plugins/build-manifest-plugin-utils.js +2 -16
  176. package/standalone/node_modules/next/dist/build/webpack/plugins/build-manifest-plugin.js +2 -2
  177. package/standalone/node_modules/next/dist/build/webpack/plugins/deferred-entries-plugin.js +106 -0
  178. package/standalone/node_modules/next/dist/build/webpack/plugins/flight-client-entry-plugin.js +16 -8
  179. package/standalone/node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.js +24 -11
  180. package/standalone/node_modules/next/dist/build/webpack/plugins/middleware-plugin.js +21 -2
  181. package/standalone/node_modules/next/dist/build/webpack/plugins/next-types-plugin/index.js +6 -5
  182. package/standalone/node_modules/next/dist/build/webpack/plugins/nextjs-require-cache-hot-reloader.js +10 -14
  183. package/standalone/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseNotFoundError.js +18 -4
  184. package/standalone/node_modules/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseScss.js +5 -4
  185. package/standalone/node_modules/next/dist/build/webpack-config.js +18 -8
  186. package/standalone/node_modules/next/dist/cli/next-test.js +4 -3
  187. package/standalone/node_modules/next/dist/client/app-find-source-map-url.js +2 -1
  188. package/standalone/node_modules/next/dist/client/components/app-router-headers.js +10 -0
  189. package/standalone/node_modules/next/dist/client/components/app-router-instance.js +82 -4
  190. package/standalone/node_modules/next/dist/client/components/app-router.js +39 -20
  191. package/standalone/node_modules/next/dist/client/components/builtin/app-error.js +29 -65
  192. package/standalone/node_modules/next/dist/client/components/builtin/error-styles.js +165 -0
  193. package/standalone/node_modules/next/dist/client/components/builtin/global-error.js +56 -38
  194. package/standalone/node_modules/next/dist/client/components/error-boundary.js +16 -6
  195. package/standalone/node_modules/next/dist/client/components/forbidden.js +1 -1
  196. package/standalone/node_modules/next/dist/client/components/handle-isr-error.js +3 -4
  197. package/standalone/node_modules/next/dist/client/components/links.js +7 -0
  198. package/standalone/node_modules/next/dist/client/components/navigation-untracked.js +2 -0
  199. package/standalone/node_modules/next/dist/client/components/navigation.js +27 -0
  200. package/standalone/node_modules/next/dist/client/components/navigation.react-server.js +5 -2
  201. package/standalone/node_modules/next/dist/client/components/not-found.js +1 -1
  202. package/standalone/node_modules/next/dist/client/components/redirect-boundary.js +1 -1
  203. package/standalone/node_modules/next/dist/client/components/redirect-error.js +0 -9
  204. package/standalone/node_modules/next/dist/client/components/redirect.js +2 -2
  205. package/standalone/node_modules/next/dist/client/components/router-reducer/compute-changed-path.js +73 -0
  206. package/standalone/node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js +102 -8
  207. package/standalone/node_modules/next/dist/client/components/router-reducer/fetch-server-response.js +165 -48
  208. package/standalone/node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js +19 -11
  209. package/standalone/node_modules/next/dist/client/components/router-reducer/ppr-navigations.js +669 -457
  210. package/standalone/node_modules/next/dist/client/components/router-reducer/reducers/committed-state.js +49 -0
  211. package/standalone/node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js +19 -20
  212. package/standalone/node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js +5 -117
  213. package/standalone/node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js +34 -19
  214. package/standalone/node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js +16 -32
  215. package/standalone/node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js +85 -57
  216. package/standalone/node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js +12 -10
  217. package/standalone/node_modules/next/dist/client/components/router-reducer/router-reducer-types.js +10 -1
  218. package/standalone/node_modules/next/dist/client/components/router-reducer/router-reducer.js +1 -1
  219. package/standalone/node_modules/next/dist/client/components/segment-cache/bfcache.js +128 -0
  220. package/standalone/node_modules/next/dist/client/components/segment-cache/cache.js +732 -231
  221. package/standalone/node_modules/next/dist/client/components/segment-cache/lru.js +13 -6
  222. package/standalone/node_modules/next/dist/client/components/segment-cache/navigation-testing-lock.js +194 -0
  223. package/standalone/node_modules/next/dist/client/components/segment-cache/navigation.js +388 -250
  224. package/standalone/node_modules/next/dist/client/components/segment-cache/optimistic-routes.js +543 -0
  225. package/standalone/node_modules/next/dist/client/components/segment-cache/scheduler.js +154 -55
  226. package/standalone/node_modules/next/dist/client/components/segment-cache/vary-path.js +63 -1
  227. package/standalone/node_modules/next/dist/client/components/unauthorized.js +1 -1
  228. package/standalone/node_modules/next/dist/client/components/use-action-queue.js +49 -3
  229. package/standalone/node_modules/next/dist/client/dev/hot-reloader/app/hot-reloader-app.js +9 -1
  230. package/standalone/node_modules/next/dist/client/flight-data-helpers.js +42 -29
  231. package/standalone/node_modules/next/dist/client/lib/javascript-url.js +32 -0
  232. package/standalone/node_modules/next/dist/client/lib/promise.js +53 -0
  233. package/standalone/node_modules/next/dist/client/{app-build-id.js → navigation-build-id.js} +17 -13
  234. package/standalone/node_modules/next/dist/client/react-client-callbacks/on-recoverable-error.js +14 -0
  235. package/standalone/node_modules/next/dist/client/route-loader.js +9 -46
  236. package/standalone/node_modules/next/dist/client/router.js +1 -1
  237. package/standalone/node_modules/next/dist/compiled/@next/font/dist/google/font-data.json +74 -3
  238. package/standalone/node_modules/next/dist/compiled/babel/bundle.js +1 -1
  239. package/standalone/node_modules/next/dist/compiled/babel-packages/packages-bundle.js +4 -4
  240. package/standalone/node_modules/next/dist/compiled/browserslist/index.js +1 -1
  241. package/standalone/node_modules/next/dist/compiled/http-proxy/index.js +5 -5
  242. package/standalone/node_modules/next/dist/compiled/next-devtools/index.js +2209 -23
  243. package/standalone/node_modules/next/dist/compiled/next-server/app-page-experimental.runtime.prod.js +42 -12
  244. package/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +42 -12
  245. package/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +42 -12
  246. package/standalone/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js +42 -12
  247. package/standalone/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js +2 -2
  248. package/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +10 -10
  249. package/standalone/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js +10 -10
  250. package/standalone/node_modules/next/dist/compiled/react-is/package.json +1 -1
  251. package/standalone/node_modules/next/dist/compiled/tar/index.min.js +1 -0
  252. package/standalone/node_modules/next/dist/compiled/tar/package.json +1 -1
  253. package/standalone/node_modules/next/dist/compiled/unistore/unistore.js +1 -1
  254. package/standalone/node_modules/next/dist/lib/bundler.js +97 -0
  255. package/standalone/node_modules/next/dist/lib/constants.js +19 -4
  256. package/standalone/node_modules/next/dist/lib/download-swc.js +2 -2
  257. package/standalone/node_modules/next/dist/lib/find-root.js +11 -7
  258. package/standalone/node_modules/next/dist/lib/format-server-error.js +1 -0
  259. package/standalone/node_modules/next/dist/lib/generate-interception-routes-rewrites.js +3 -20
  260. package/standalone/node_modules/next/dist/lib/interop-default.js +1 -0
  261. package/standalone/node_modules/next/dist/lib/is-interception-route-rewrite.js +18 -0
  262. package/standalone/node_modules/next/dist/lib/load-custom-routes.js +49 -5
  263. package/standalone/node_modules/next/dist/lib/memory/trace.js +109 -0
  264. package/standalone/node_modules/next/dist/lib/metadata/get-metadata-route.js +11 -2
  265. package/standalone/node_modules/next/dist/lib/needs-experimental-react.js +2 -2
  266. package/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +5 -5
  267. package/standalone/node_modules/next/dist/lib/try-to-parse-path.js +1 -2
  268. package/standalone/node_modules/next/dist/lib/turbopack-warning.js +0 -1
  269. package/standalone/node_modules/next/dist/lib/typescript/diagnosticFormatter.js +6 -3
  270. package/standalone/node_modules/next/dist/lib/typescript/getTypeScriptConfiguration.js +1 -1
  271. package/standalone/node_modules/next/dist/lib/typescript/missingDependencyError.js +1 -1
  272. package/standalone/node_modules/next/dist/lib/typescript/runTypeCheck.js +6 -8
  273. package/standalone/node_modules/next/dist/lib/typescript/type-paths.js +7 -12
  274. package/standalone/node_modules/next/dist/lib/typescript/writeAppTypeDeclarations.js +17 -7
  275. package/standalone/node_modules/next/dist/lib/typescript/writeConfigurationDefaults.js +9 -12
  276. package/standalone/node_modules/next/dist/lib/verify-typescript-setup.js +66 -16
  277. package/standalone/node_modules/next/dist/next-devtools/server/shared.js +6 -10
  278. package/standalone/node_modules/next/dist/next-devtools/shared/webpack-module-path.js +4 -4
  279. package/standalone/node_modules/next/dist/next-devtools/userspace/app/app-dev-overlay-error-boundary.js +22 -4
  280. package/standalone/node_modules/next/dist/next-devtools/userspace/app/errors/stitched-error.js +7 -1
  281. package/standalone/node_modules/next/dist/next-devtools/userspace/app/forward-logs.js +18 -13
  282. package/standalone/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js +7 -4
  283. package/standalone/node_modules/next/dist/server/app-render/action-handler.js +83 -15
  284. package/standalone/node_modules/next/dist/server/app-render/app-render-prerender-utils.js +0 -82
  285. package/standalone/node_modules/next/dist/server/app-render/app-render-render-utils.js +45 -81
  286. package/standalone/node_modules/next/dist/server/app-render/app-render.js +1746 -803
  287. package/standalone/node_modules/next/dist/server/app-render/create-component-tree.js +136 -50
  288. package/standalone/node_modules/next/dist/server/app-render/create-error-handler.js +6 -4
  289. package/standalone/node_modules/next/dist/server/app-render/create-flight-router-state-from-loader-tree.js +52 -26
  290. package/standalone/node_modules/next/dist/server/app-render/csrf-protection.js +14 -3
  291. package/standalone/node_modules/next/dist/server/app-render/debug-channel-server.js +30 -0
  292. package/standalone/node_modules/next/dist/server/app-render/debug-channel-server.web.js +71 -0
  293. package/standalone/node_modules/next/dist/server/app-render/dynamic-rendering.js +353 -37
  294. package/standalone/node_modules/next/dist/server/app-render/get-asset-query-string.js +2 -2
  295. package/standalone/node_modules/next/dist/server/app-render/get-layer-assets.js +1 -1
  296. package/standalone/node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js +13 -0
  297. package/standalone/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js +18 -0
  298. package/standalone/node_modules/next/dist/server/app-render/instant-validation/instant-config.js +181 -0
  299. package/standalone/node_modules/next/dist/server/app-render/instant-validation/instant-samples-client.js +128 -0
  300. package/standalone/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js +432 -0
  301. package/standalone/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.js +33 -0
  302. package/standalone/node_modules/next/dist/server/app-render/instant-validation/stream-utils.js +96 -0
  303. package/standalone/node_modules/next/dist/server/app-render/manifests-singleton.js +8 -1
  304. package/standalone/node_modules/next/dist/server/app-render/postponed-state.js +2 -1
  305. package/standalone/node_modules/next/dist/server/app-render/prospective-render-utils.js +1 -0
  306. package/standalone/node_modules/next/dist/server/app-render/segment-explorer-path.js +35 -10
  307. package/standalone/node_modules/next/dist/server/app-render/staged-rendering.js +142 -72
  308. package/standalone/node_modules/next/dist/server/app-render/stale-time.js +111 -0
  309. package/standalone/node_modules/next/dist/server/app-render/stream-ops.js +106 -0
  310. package/standalone/node_modules/next/dist/server/app-render/stream-ops.web.js +163 -0
  311. package/standalone/node_modules/next/dist/server/app-render/types.js +10 -4
  312. package/standalone/node_modules/next/dist/server/app-render/use-flight-response.js +3 -1
  313. package/standalone/node_modules/next/dist/server/app-render/vary-params.js +336 -0
  314. package/standalone/node_modules/next/dist/server/app-render/walk-tree-with-flight-router-state.js +59 -12
  315. package/standalone/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js +54 -26
  316. package/standalone/node_modules/next/dist/server/async-storage/request-store.js +4 -4
  317. package/standalone/node_modules/next/dist/server/async-storage/work-store.js +2 -5
  318. package/standalone/node_modules/next/dist/server/base-server.js +65 -53
  319. package/standalone/node_modules/next/dist/server/config-schema.js +93 -8
  320. package/standalone/node_modules/next/dist/server/config-shared.js +57 -7
  321. package/standalone/node_modules/next/dist/server/config.js +96 -25
  322. package/standalone/node_modules/next/dist/server/dev/browser-logs/file-logger.js +9 -6
  323. package/standalone/node_modules/next/dist/server/dev/browser-logs/receive-logs.js +46 -0
  324. package/standalone/node_modules/next/dist/server/dev/browser-logs/source-map.js +1 -4
  325. package/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +264 -33
  326. package/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +8 -4
  327. package/standalone/node_modules/next/dist/server/dev/log-requests.js +10 -2
  328. package/standalone/node_modules/next/dist/server/dev/middleware-turbopack.js +20 -10
  329. package/standalone/node_modules/next/dist/server/dev/middleware-webpack.js +13 -3
  330. package/standalone/node_modules/next/dist/server/dev/next-dev-server.js +19 -6
  331. package/standalone/node_modules/next/dist/server/dev/on-demand-entry-handler.js +69 -0
  332. package/standalone/node_modules/next/dist/server/dev/require-cache.js +51 -21
  333. package/standalone/node_modules/next/dist/server/dev/server-action-logger.js +37 -0
  334. package/standalone/node_modules/next/dist/server/dev/static-paths-worker.js +1 -0
  335. package/standalone/node_modules/next/dist/server/dev/turbopack-utils.js +6 -15
  336. package/standalone/node_modules/next/dist/server/dynamic-rendering-utils.js +22 -0
  337. package/standalone/node_modules/next/dist/server/image-optimizer.js +157 -27
  338. package/standalone/node_modules/next/dist/server/lib/app-info-log.js +16 -38
  339. package/standalone/node_modules/next/dist/server/lib/cache-control.js +1 -1
  340. package/standalone/node_modules/next/dist/server/lib/clone-response.js +16 -16
  341. package/standalone/node_modules/next/dist/server/lib/cpu-profile.js +47 -16
  342. package/standalone/node_modules/next/dist/server/lib/dev-bundler-service.js +2 -2
  343. package/standalone/node_modules/next/dist/server/lib/disk-lru-cache.external.js +57 -0
  344. package/standalone/node_modules/next/dist/server/lib/find-page-file.js +27 -7
  345. package/standalone/node_modules/next/dist/server/lib/implicit-tags.js +3 -3
  346. package/standalone/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +5 -3
  347. package/standalone/node_modules/next/dist/server/lib/incremental-cache/index.js +32 -10
  348. package/standalone/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js +18 -1
  349. package/standalone/node_modules/next/dist/server/lib/install-code-frame.js +22 -0
  350. package/standalone/node_modules/next/dist/server/lib/lru-cache.js +9 -1
  351. package/standalone/node_modules/next/dist/server/lib/patch-fetch.js +40 -7
  352. package/standalone/node_modules/next/dist/server/lib/postponed-request-body.js +64 -0
  353. package/standalone/node_modules/next/dist/server/lib/render-server.js +4 -1
  354. package/standalone/node_modules/next/dist/server/lib/router-server.js +24 -13
  355. package/standalone/node_modules/next/dist/server/lib/router-utils/block-cross-site-dev.js +110 -0
  356. package/standalone/node_modules/next/dist/server/lib/router-utils/filesystem.js +16 -15
  357. package/standalone/node_modules/next/dist/server/lib/router-utils/resolve-routes.js +32 -11
  358. package/standalone/node_modules/next/dist/server/lib/router-utils/route-types-utils.js +3 -3
  359. package/standalone/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.js +71 -71
  360. package/standalone/node_modules/next/dist/server/lib/router-utils/typegen.js +247 -2
  361. package/standalone/node_modules/next/dist/server/lib/server-ipc/utils.js +2 -1
  362. package/standalone/node_modules/next/dist/server/lib/start-server.js +73 -39
  363. package/standalone/node_modules/next/dist/server/lib/trace/tracer.js +11 -1
  364. package/standalone/node_modules/next/dist/server/lib/utils.js +40 -11
  365. package/standalone/node_modules/next/dist/server/load-components.js +2 -0
  366. package/standalone/node_modules/next/dist/server/load-manifest.external.js +37 -17
  367. package/standalone/node_modules/next/dist/server/mcp/tools/get-errors.js +11 -4
  368. package/standalone/node_modules/next/dist/server/mcp/tools/get-logs.js +9 -3
  369. package/standalone/node_modules/next/dist/server/mcp/tools/get-page-metadata.js +52 -44
  370. package/standalone/node_modules/next/dist/server/mcp/tools/get-project-metadata.js +6 -2
  371. package/standalone/node_modules/next/dist/server/mcp/tools/get-routes.js +44 -79
  372. package/standalone/node_modules/next/dist/server/mcp/tools/get-server-action-by-id.js +12 -4
  373. package/standalone/node_modules/next/dist/server/mcp/tools/utils/format-errors.js +62 -72
  374. package/standalone/node_modules/next/dist/server/next-server.js +69 -99
  375. package/standalone/node_modules/next/dist/server/next.js +3 -0
  376. package/standalone/node_modules/next/dist/server/node-environment-extensions/console-dim.external.js +61 -6
  377. package/standalone/node_modules/next/dist/server/node-environment-extensions/date.js +4 -4
  378. package/standalone/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js +13 -6
  379. package/standalone/node_modules/next/dist/server/node-environment-extensions/{utils.js → io-utils.js} +14 -5
  380. package/standalone/node_modules/next/dist/server/node-environment-extensions/node-crypto.js +8 -8
  381. package/standalone/node_modules/next/dist/server/node-environment-extensions/process-error-handlers.js +91 -0
  382. package/standalone/node_modules/next/dist/server/node-environment-extensions/random.js +2 -2
  383. package/standalone/node_modules/next/dist/server/node-environment-extensions/{unhandled-rejection.js → unhandled-rejection.external.js} +23 -4
  384. package/standalone/node_modules/next/dist/server/node-environment-extensions/web-crypto.js +3 -3
  385. package/standalone/node_modules/next/dist/server/node-environment.js +1 -1
  386. package/standalone/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.js +2 -1
  387. package/standalone/node_modules/next/dist/server/patch-error-inspect.js +37 -20
  388. package/standalone/node_modules/next/dist/server/render-result.js +9 -0
  389. package/standalone/node_modules/next/dist/server/render.js +27 -25
  390. package/standalone/node_modules/next/dist/server/require-hook.js +19 -8
  391. package/standalone/node_modules/next/dist/server/response-cache/utils.js +1 -0
  392. package/standalone/node_modules/next/dist/server/resume-data-cache/cache-store.js +35 -23
  393. package/standalone/node_modules/next/dist/server/resume-data-cache/resume-data-cache.js +16 -7
  394. package/standalone/node_modules/next/dist/server/revalidation-utils.js +12 -7
  395. package/standalone/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-page-route-matcher-provider.js +2 -1
  396. package/standalone/node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.js +4 -1
  397. package/standalone/node_modules/next/dist/server/route-modules/app-page/module.js +31 -1
  398. package/standalone/node_modules/next/dist/server/route-modules/app-page/normalize-request-url.js +25 -0
  399. package/standalone/node_modules/next/dist/server/route-modules/pages/pages-handler.js +31 -8
  400. package/standalone/node_modules/next/dist/server/route-modules/route-module.js +71 -18
  401. package/standalone/node_modules/next/dist/server/stream-utils/encoded-tags.js +8 -0
  402. package/standalone/node_modules/next/dist/server/stream-utils/node-web-streams-helper.js +239 -58
  403. package/standalone/node_modules/next/dist/server/stream-utils/uint8array-helpers.js +7 -2
  404. package/standalone/node_modules/next/dist/server/typescript/constant.js +1 -0
  405. package/standalone/node_modules/next/dist/server/typescript/rules/config.js +14 -3
  406. package/standalone/node_modules/next/dist/server/web/adapter.js +7 -3
  407. package/standalone/node_modules/next/dist/server/web/next-url.js +6 -2
  408. package/standalone/node_modules/next/dist/server/web/sandbox/sandbox.js +3 -0
  409. package/standalone/node_modules/next/dist/shared/lib/app-router-types.js +30 -11
  410. package/standalone/node_modules/next/dist/shared/lib/constants.js +7 -7
  411. package/standalone/node_modules/next/dist/shared/lib/deployment-id.js +37 -10
  412. package/standalone/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +1 -1
  413. package/standalone/node_modules/next/dist/shared/lib/errors/code-frame.js +20 -0
  414. package/standalone/node_modules/next/dist/shared/lib/format-webpack-messages.js +22 -2
  415. package/standalone/node_modules/next/dist/shared/lib/image-config.js +3 -1
  416. package/standalone/node_modules/next/dist/shared/lib/is-internal.js +2 -0
  417. package/standalone/node_modules/next/dist/shared/lib/magic-identifier.js +6 -6
  418. package/standalone/node_modules/next/dist/shared/lib/router/router.js +32 -0
  419. package/standalone/node_modules/next/dist/shared/lib/router/utils/app-paths.js +11 -0
  420. package/standalone/node_modules/next/dist/shared/lib/router/utils/get-dynamic-param.js +11 -4
  421. package/standalone/node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js +3 -2
  422. package/standalone/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js +9 -2
  423. package/standalone/node_modules/next/dist/shared/lib/router/utils/parse-url.js +8 -2
  424. package/standalone/node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.js +32 -0
  425. package/standalone/node_modules/next/dist/shared/lib/server-reference-info.js +4 -0
  426. package/standalone/node_modules/next/dist/shared/lib/size-limit.js +6 -1
  427. package/standalone/node_modules/next/dist/shared/lib/turbopack/compilation-events.js +47 -10
  428. package/standalone/node_modules/next/dist/shared/lib/turbopack/manifest-loader.js +90 -116
  429. package/standalone/node_modules/next/dist/shared/lib/turbopack/utils.js +14 -26
  430. package/standalone/node_modules/next/dist/shared/lib/utils/reflect-utils.js +69 -0
  431. package/standalone/node_modules/next/dist/shared/lib/utils.js +2 -2
  432. package/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  433. package/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  434. package/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
  435. package/standalone/node_modules/next/dist/trace/index.js +4 -0
  436. package/standalone/node_modules/next/dist/trace/report/to-json-build.js +11 -108
  437. package/standalone/node_modules/next/dist/trace/report/to-json.js +52 -38
  438. package/standalone/node_modules/next/dist/trace/trace.js +15 -1
  439. package/standalone/node_modules/next/package.json +21 -23
  440. package/standalone/node_modules/react/cjs/react.development.js +1284 -0
  441. package/standalone/package.json +3 -3
  442. package/standalone/packages/core/package.json +1 -1
  443. package/standalone/apps/frontend/.next/static/chunks/1315.18c68981a2eab4fe.js +0 -1
  444. package/standalone/apps/frontend/.next/static/chunks/87c73c54-c5fda2db2a4bd732.js +0 -1
  445. package/standalone/apps/frontend/.next/static/chunks/framework-86c2a58f458066a5.js +0 -1
  446. package/standalone/apps/frontend/.next/static/chunks/vendors-c7197feb11002a6e.js +0 -10
  447. package/standalone/apps/frontend/.next/static/xSLAuzRvOCf1TdGHvLFQ0/_buildManifest.js +0 -1
  448. package/standalone/node_modules/next/dist/client/components/router-reducer/handle-mutable.js +0 -66
  449. package/standalone/node_modules/next/dist/compiled/babel/code-frame.js +0 -1
  450. package/standalone/node_modules/next/dist/compiled/babel-code-frame/index.js +0 -1
  451. package/standalone/node_modules/next/dist/compiled/babel-code-frame/package.json +0 -1
  452. package/standalone/node_modules/next/dist/compiled/tar/index.js +0 -1
  453. package/standalone/node_modules/next/dist/server/app-render/staged-validation.js +0 -32
  454. package/standalone/node_modules/next/dist/server/lib/router-utils/block-cross-site.js +0 -76
  455. package/standalone/node_modules/next/dist/shared/lib/segment-cache/output-export-prefetch-encoding.js +0 -52
  456. package/standalone/node_modules/typescript/lib/typescript.js +0 -200276
  457. package/standalone/node_modules/typescript/package.json +0 -120
  458. /package/standalone/apps/frontend/.next/static/{xSLAuzRvOCf1TdGHvLFQ0 → I_XveRdyStDMqYJPcAAy5}/_ssgManifest.js +0 -0
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  0 && (module.exports = {
6
6
  cancelPrefetchTask: null,
7
7
  isPrefetchTaskDirty: null,
8
+ pingPrefetchScheduler: null,
8
9
  pingPrefetchTask: null,
9
10
  reschedulePrefetchTask: null,
10
11
  schedulePrefetchTask: null,
@@ -23,6 +24,9 @@ _export(exports, {
23
24
  isPrefetchTaskDirty: function() {
24
25
  return isPrefetchTaskDirty;
25
26
  },
27
+ pingPrefetchScheduler: function() {
28
+ return pingPrefetchScheduler;
29
+ },
26
30
  pingPrefetchTask: function() {
27
31
  return pingPrefetchTask;
28
32
  },
@@ -39,10 +43,10 @@ _export(exports, {
39
43
  const _approutertypes = require("../../../shared/lib/app-router-types");
40
44
  const _matchsegments = require("../match-segments");
41
45
  const _cache = require("./cache");
42
- const _varypath = require("./vary-path");
43
46
  const _cachekey = require("./cache-key");
44
47
  const _types = require("./types");
45
48
  const _segment = require("../../../shared/lib/segment");
49
+ const _lru = require("./lru");
46
50
  const scheduleMicrotask = typeof queueMicrotask === 'function' ? queueMicrotask : (fn)=>Promise.resolve().then(fn).catch((error)=>setTimeout(()=>{
47
51
  throw error;
48
52
  }));
@@ -69,15 +73,16 @@ function startRevalidationCooldown() {
69
73
  revalidationCooldownTimeoutHandle = setTimeout(()=>{
70
74
  revalidationCooldownTimeoutHandle = null;
71
75
  // Retry the prefetch queue now that the cooldown has expired.
72
- ensureWorkIsScheduled();
76
+ pingPrefetchScheduler();
73
77
  }, REVALIDATION_COOLDOWN_MS);
74
78
  }
75
- function schedulePrefetchTask(key, treeAtTimeOfPrefetch, fetchStrategy, priority, onInvalidate) {
79
+ function schedulePrefetchTask(key, treeAtTimeOfPrefetch, fetchStrategy, priority, onInvalidate, _onComplete) {
76
80
  // Spawn a new prefetch task
77
81
  const task = {
78
82
  key,
79
83
  treeAtTimeOfPrefetch,
80
- cacheVersion: (0, _cache.getCurrentCacheVersion)(),
84
+ routeCacheVersion: (0, _cache.getCurrentRouteCacheVersion)(),
85
+ segmentCacheVersion: (0, _cache.getCurrentSegmentCacheVersion)(),
81
86
  priority,
82
87
  phase: 1,
83
88
  hasBackgroundWork: false,
@@ -88,6 +93,9 @@ function schedulePrefetchTask(key, treeAtTimeOfPrefetch, fetchStrategy, priority
88
93
  onInvalidate,
89
94
  _heapIndex: -1
90
95
  };
96
+ if (process.env.__NEXT_EXPOSE_TESTING_API) {
97
+ task._onComplete = _onComplete;
98
+ }
91
99
  trackMostRecentlyHoveredLink(task);
92
100
  heapPush(taskHeap, task);
93
101
  // Schedule an async task to process the queue.
@@ -97,7 +105,7 @@ function schedulePrefetchTask(key, treeAtTimeOfPrefetch, fetchStrategy, priority
97
105
  // By deferring to a microtask, we only process the queue once per JS task.
98
106
  // If they have different priorities, it also ensures they are processed in
99
107
  // the optimal order.
100
- ensureWorkIsScheduled();
108
+ pingPrefetchScheduler();
101
109
  return task;
102
110
  }
103
111
  function cancelPrefetchTask(task) {
@@ -108,6 +116,14 @@ function cancelPrefetchTask(task) {
108
116
  // does not get added back to the queue when it's pinged by the network.
109
117
  task.isCanceled = true;
110
118
  heapDelete(taskHeap, task);
119
+ if (process.env.__NEXT_EXPOSE_TESTING_API) {
120
+ // Call completion callback. In practice this shouldn't be reached for
121
+ // test-initiated prefetches since cancellation is only used by the Link
122
+ // component when elements scroll out of viewport.
123
+ const onComplete = task._onComplete;
124
+ task._onComplete = undefined;
125
+ onComplete?.();
126
+ }
111
127
  }
112
128
  function reschedulePrefetchTask(task, treeAtTimeOfPrefetch, fetchStrategy, priority) {
113
129
  // Bump the prefetch task to the top of the queue, as if it were a fresh
@@ -116,6 +132,10 @@ function reschedulePrefetchTask(task, treeAtTimeOfPrefetch, fetchStrategy, prior
116
132
  //
117
133
  // The primary use case is to increase the priority of a Link-initated
118
134
  // prefetch on hover.
135
+ //
136
+ // Note: _onComplete is not reset here because it's preserved on the same
137
+ // task object. When the rescheduled task completes, the original callback
138
+ // will still be invoked.
119
139
  // Un-cancel the task, in case it was previously canceled.
120
140
  task.isCanceled = false;
121
141
  task.phase = 1;
@@ -134,7 +154,7 @@ function reschedulePrefetchTask(task, treeAtTimeOfPrefetch, fetchStrategy, prior
134
154
  } else {
135
155
  heapPush(taskHeap, task);
136
156
  }
137
- ensureWorkIsScheduled();
157
+ pingPrefetchScheduler();
138
158
  }
139
159
  function isPrefetchTaskDirty(task, nextUrl, tree) {
140
160
  // This is used to quickly bail out of a prefetch task if the result is
@@ -142,8 +162,7 @@ function isPrefetchTaskDirty(task, nextUrl, tree) {
142
162
  // strictly an optimization — theoretically, if it always returned true, no
143
163
  // behavior should change because a full prefetch task will effectively
144
164
  // perform the same checks.
145
- const currentCacheVersion = (0, _cache.getCurrentCacheVersion)();
146
- return task.cacheVersion !== currentCacheVersion || task.treeAtTimeOfPrefetch !== tree || task.key.nextUrl !== nextUrl;
165
+ return task.routeCacheVersion !== (0, _cache.getCurrentRouteCacheVersion)() || task.segmentCacheVersion !== (0, _cache.getCurrentSegmentCacheVersion)() || task.treeAtTimeOfPrefetch !== tree || task.key.nextUrl !== nextUrl;
147
166
  }
148
167
  function trackMostRecentlyHoveredLink(task) {
149
168
  // Track the mostly recently hovered link, i.e. the most recently scheduled
@@ -159,7 +178,7 @@ function trackMostRecentlyHoveredLink(task) {
159
178
  mostRecentlyHoveredLink = task;
160
179
  }
161
180
  }
162
- function ensureWorkIsScheduled() {
181
+ function pingPrefetchScheduler() {
163
182
  if (didScheduleMicrotask) {
164
183
  // Already scheduled a task to process the queue
165
184
  return;
@@ -229,7 +248,7 @@ function onPrefetchConnectionClosed() {
229
248
  inProgressRequests--;
230
249
  // Notify the scheduler that we have more bandwidth, and can continue
231
250
  // processing tasks.
232
- ensureWorkIsScheduled();
251
+ pingPrefetchScheduler();
233
252
  }
234
253
  function pingPrefetchTask(task) {
235
254
  // "Ping" a prefetch that's already in progress to notify it of new data.
@@ -240,7 +259,7 @@ function pingPrefetchTask(task) {
240
259
  }
241
260
  // Add the task back to the queue.
242
261
  heapPush(taskHeap, task);
243
- ensureWorkIsScheduled();
262
+ pingPrefetchScheduler();
244
263
  }
245
264
  function processQueueInMicrotask() {
246
265
  didScheduleMicrotask = false;
@@ -251,7 +270,8 @@ function processQueueInMicrotask() {
251
270
  // Process the task queue until we run out of network bandwidth.
252
271
  let task = heapPeek(taskHeap);
253
272
  while(task !== null && hasNetworkBandwidth(task)){
254
- task.cacheVersion = (0, _cache.getCurrentCacheVersion)();
273
+ task.routeCacheVersion = (0, _cache.getCurrentRouteCacheVersion)();
274
+ task.segmentCacheVersion = (0, _cache.getCurrentSegmentCacheVersion)();
255
275
  const exitStatus = pingRoute(now, task);
256
276
  // These fields are only valid for a single attempt. Reset them after each
257
277
  // iteration of the task queue.
@@ -283,6 +303,13 @@ function processQueueInMicrotask() {
283
303
  heapResift(taskHeap, task);
284
304
  } else {
285
305
  // The prefetch is complete. Continue to the next task.
306
+ if (process.env.__NEXT_EXPOSE_TESTING_API) {
307
+ // Notify the Instant Navigation Testing API that the prefetch has
308
+ // completed, so it can proceed with navigation.
309
+ const onComplete = task._onComplete;
310
+ task._onComplete = undefined;
311
+ onComplete?.();
312
+ }
286
313
  heapPop(taskHeap);
287
314
  }
288
315
  task = heapPeek(taskHeap);
@@ -291,6 +318,13 @@ function processQueueInMicrotask() {
291
318
  exitStatus;
292
319
  }
293
320
  }
321
+ // Run LRU cleanup only when the scheduler is fully idle: no queued tasks and
322
+ // no in-progress requests. At that point, all active prefetch tasks have
323
+ // finished reading from the cache (moving recently used entries to the front
324
+ // of the list), so only genuinely stale data gets evicted.
325
+ if (task === null && inProgressRequests === 0) {
326
+ (0, _lru.cleanup)();
327
+ }
294
328
  }
295
329
  /**
296
330
  * Check this during a prefetch task to determine if background work can be
@@ -332,7 +366,7 @@ function pingRoute(now, task) {
332
366
  {
333
367
  if (background(task)) {
334
368
  routeWithoutSearch.status = _cache.EntryStatus.Pending;
335
- spawnPrefetchSubtask((0, _cache.fetchRouteOnCacheMiss)(routeWithoutSearch, task, keyWithoutSearch));
369
+ spawnPrefetchSubtask((0, _cache.fetchRouteOnCacheMiss)(routeWithoutSearch, keyWithoutSearch));
336
370
  }
337
371
  break;
338
372
  }
@@ -365,7 +399,7 @@ function pingRootRouteTree(now, task, route) {
365
399
  // behavior if PPR is disabled for a route (via the incremental opt-in).
366
400
  //
367
401
  // Those cases will be handled here.
368
- spawnPrefetchSubtask((0, _cache.fetchRouteOnCacheMiss)(route, task, task.key));
402
+ spawnPrefetchSubtask((0, _cache.fetchRouteOnCacheMiss)(route, task.key));
369
403
  // If the request takes longer than a minute, a subsequent request should
370
404
  // retry instead of waiting for this one. When the response is received,
371
405
  // this value will be replaced by a new value based on the stale time sent
@@ -413,7 +447,26 @@ function pingRootRouteTree(now, task, route) {
413
447
  // If it turned out that the route isn't PPR-enabled, we need to use `LoadingBoundary` instead.
414
448
  // We don't need to do this for runtime prefetches, because those are only available in
415
449
  // `cacheComponents`, where every route is PPR.
416
- const fetchStrategy = task.fetchStrategy === _types.FetchStrategy.PPR ? route.isPPREnabled ? _types.FetchStrategy.PPR : _types.FetchStrategy.LoadingBoundary : task.fetchStrategy;
450
+ let fetchStrategy;
451
+ if (tree.prefetchHints & _approutertypes.PrefetchHint.SubtreeHasInstant) {
452
+ // If `instant` is defined anywhere on the target route, ignore the
453
+ // fetch strategy and switch to unified strategy used by Cache
454
+ // Components (called `PPR` for now, will likely be renamed).
455
+ //
456
+ // In practice, this just means that a "full" prefetch (<Link
457
+ // prefetch={true}>) has no effect. You're meant to use Runtime
458
+ // Prefetching instead — that's the new pattern that replaces
459
+ // prefetch={true}.
460
+ //
461
+ // The reason we check for `instant` rather than the `cacheComponents`
462
+ // flag is to support incremental adoption. `prefetch={true}` will
463
+ // continue to work until you opt into `instant`.
464
+ fetchStrategy = _types.FetchStrategy.PPR;
465
+ } else if (task.fetchStrategy === _types.FetchStrategy.PPR) {
466
+ fetchStrategy = route.supportsPerSegmentPrefetching ? _types.FetchStrategy.PPR : _types.FetchStrategy.LoadingBoundary;
467
+ } else {
468
+ fetchStrategy = task.fetchStrategy;
469
+ }
417
470
  switch(fetchStrategy){
418
471
  case _types.FetchStrategy.PPR:
419
472
  {
@@ -482,7 +535,7 @@ function pingStaticHead(now, task, route) {
482
535
  // The Head data for a page (metadata, viewport) is not really a route
483
536
  // segment, in the sense that it doesn't appear in the route tree. But we
484
537
  // store it in the cache as if it were, using a special key.
485
- pingStaticSegmentData(now, task, route, (0, _cache.readOrCreateSegmentCacheEntry)(now, _types.FetchStrategy.PPR, route, route.metadata), task.key, route.metadata);
538
+ pingStaticSegmentData(now, task, route, (0, _cache.readOrCreateSegmentCacheEntry)(now, _types.FetchStrategy.PPR, route.metadata), task.key, route.metadata);
486
539
  }
487
540
  function pingRuntimeHead(now, task, route, spawnedEntries, fetchStrategy) {
488
541
  pingRouteTreeAndIncludeDynamicData(now, task, route, route.metadata, false, spawnedEntries, // When prefetching the head, there's no difference between Full
@@ -502,7 +555,7 @@ function pingSharedPartOfCacheComponentsTree(now, task, route, oldTree, newTree)
502
555
  // "new" part of the tree, we switch to a different traversal,
503
556
  // pingNewPartOfCacheComponentsTree.
504
557
  // Prefetch this segment's static data.
505
- const segment = (0, _cache.readOrCreateSegmentCacheEntry)(now, task.fetchStrategy, route, newTree);
558
+ const segment = (0, _cache.readOrCreateSegmentCacheEntry)(now, task.fetchStrategy, newTree);
506
559
  pingStaticSegmentData(now, task, route, segment, task.key, newTree);
507
560
  // Recursively ping the children.
508
561
  const oldTreeChildren = oldTree[1];
@@ -540,7 +593,7 @@ function pingNewPartOfCacheComponentsTree(now, task, route, tree) {
540
593
  // shared layouts.) Segments in here default to being prefetched statically.
541
594
  // However, if the server instructs us to, we may switch to a runtime
542
595
  // prefetch instead. Traverse the tree and check at each segment.
543
- if (tree.hasRuntimePrefetch) {
596
+ if (tree.prefetchHints & _approutertypes.PrefetchHint.HasRuntimePrefetch) {
544
597
  // This route has a runtime prefetch response. Since we're below the shared
545
598
  // layout, everything from this point should be prefetched using a single,
546
599
  // combined runtime request, rather than using per-segment static requests.
@@ -571,7 +624,7 @@ function pingNewPartOfCacheComponentsTree(now, task, route, tree) {
571
624
  return 2;
572
625
  }
573
626
  // This segment should not be runtime prefetched. Prefetch its static data.
574
- const segment = (0, _cache.readOrCreateSegmentCacheEntry)(now, task.fetchStrategy, route, tree);
627
+ const segment = (0, _cache.readOrCreateSegmentCacheEntry)(now, task.fetchStrategy, tree);
575
628
  pingStaticSegmentData(now, task, route, segment, task.key, tree);
576
629
  if (tree.slots !== null) {
577
630
  if (!hasNetworkBandwidth(task)) {
@@ -633,7 +686,7 @@ function diffRouteTreeAgainstCurrent(now, task, route, oldTree, newTree, spawned
633
686
  // inside new part of the tree. If there's no loading boundary
634
687
  // anywhere in the tree, the server will never return any data, so
635
688
  // we can skip the request.
636
- const subtreeHasLoadingBoundary = newTreeChild.hasLoadingBoundary !== _approutertypes.HasLoadingBoundary.SubtreeHasNoLoadingBoundary;
689
+ const subtreeHasLoadingBoundary = (newTreeChild.prefetchHints & (_approutertypes.PrefetchHint.SegmentHasLoadingBoundary | _approutertypes.PrefetchHint.SubtreeHasLoadingBoundary)) !== 0;
637
690
  const requestTreeChild = subtreeHasLoadingBoundary ? pingPPRDisabledRouteTreeUpToLoadingBoundary(now, task, route, newTreeChild, null, spawnedEntries) : (0, _cache.convertRouteTreeToFlightRouterState)(newTreeChild);
638
691
  requestTreeChildren[parallelRouteKey] = requestTreeChild;
639
692
  break;
@@ -679,8 +732,7 @@ function diffRouteTreeAgainstCurrent(now, task, route, oldTree, newTree, spawned
679
732
  newTree.segment,
680
733
  requestTreeChildren,
681
734
  null,
682
- null,
683
- newTree.isRootLayout
735
+ null
684
736
  ];
685
737
  return requestTree;
686
738
  }
@@ -696,7 +748,7 @@ function pingPPRDisabledRouteTreeUpToLoadingBoundary(now, task, route, tree, ref
696
748
  // "inside-shared-layout" tells the server where to start looking for a
697
749
  // loading boundary.
698
750
  let refetchMarker = refetchMarkerContext === null ? 'inside-shared-layout' : null;
699
- const segment = (0, _cache.readOrCreateSegmentCacheEntry)(now, task.fetchStrategy, route, tree);
751
+ const segment = (0, _cache.readOrCreateSegmentCacheEntry)(now, task.fetchStrategy, tree);
700
752
  switch(segment.status){
701
753
  case _cache.EntryStatus.Empty:
702
754
  {
@@ -723,7 +775,7 @@ function pingPPRDisabledRouteTreeUpToLoadingBoundary(now, task, route, tree, ref
723
775
  case _cache.EntryStatus.Fulfilled:
724
776
  {
725
777
  // The segment is already cached.
726
- const segmentHasLoadingBoundary = tree.hasLoadingBoundary === _approutertypes.HasLoadingBoundary.SegmentHasLoadingBoundary;
778
+ const segmentHasLoadingBoundary = (tree.prefetchHints & _approutertypes.PrefetchHint.SegmentHasLoadingBoundary) !== 0;
727
779
  if (segmentHasLoadingBoundary) {
728
780
  // This segment has a loading boundary, which means the server won't
729
781
  // render its children. So there's nothing left to prefetch along this
@@ -754,8 +806,7 @@ function pingPPRDisabledRouteTreeUpToLoadingBoundary(now, task, route, tree, ref
754
806
  tree.segment,
755
807
  requestTreeChildren,
756
808
  null,
757
- refetchMarker,
758
- tree.isRootLayout
809
+ refetchMarker
759
810
  ];
760
811
  return requestTree;
761
812
  }
@@ -773,12 +824,21 @@ function pingRouteTreeAndIncludeDynamicData(now, task, route, tree, isInsideRefe
773
824
  // We can have a task with `FetchStrategy.PPR` where some of its segments are configured to
774
825
  // always use runtime prefetching (via `export const prefetch`), and those should check for
775
826
  // entries that include search params.
776
- fetchStrategy, route, tree);
827
+ fetchStrategy, tree);
777
828
  let spawnedSegment = null;
778
829
  switch(segment.status){
779
830
  case _cache.EntryStatus.Empty:
780
831
  {
781
- // This segment is not cached. Include it in the request.
832
+ // This segment is not cached.
833
+ if (fetchStrategy === _types.FetchStrategy.Full) {
834
+ // Check if there's a matching entry in the bfcache. If so, fulfill the
835
+ // segment using the bfcache entry instead of issuing a new request.
836
+ const fulfilled = (0, _cache.attemptToFulfillDynamicSegmentFromBFCache)(now, segment, tree);
837
+ if (fulfilled !== null) {
838
+ break;
839
+ }
840
+ }
841
+ // Include it in the request.
782
842
  spawnedSegment = (0, _cache.upgradeToPendingSegment)(segment, fetchStrategy);
783
843
  break;
784
844
  }
@@ -786,12 +846,23 @@ function pingRouteTreeAndIncludeDynamicData(now, task, route, tree, isInsideRefe
786
846
  {
787
847
  // The segment is already cached.
788
848
  if (segment.isPartial && (0, _cache.canNewFetchStrategyProvideMoreContent)(segment.fetchStrategy, fetchStrategy)) {
789
- // The cached segment contains dynamic holes, and was prefetched using a less specific strategy than the current one.
790
- // This means we're in one of these cases:
849
+ // The cached segment contains dynamic holes, and was prefetched using a
850
+ // less specific strategy than the current one. This means we're in one
851
+ // of these cases:
791
852
  // - we have a static prefetch, and we're doing a runtime prefetch
792
- // - we have a static or runtime prefetch, and we're doing a Full prefetch (or a navigation).
793
- // In either case, we need to include it in the request to get a more specific (or full) version.
794
- spawnedSegment = pingFullSegmentRevalidation(now, route, tree, fetchStrategy);
853
+ // - we have a static or runtime prefetch, and we're doing a Full
854
+ // prefetch (or a navigation).
855
+ // In either case, we need to include it in the request to get a more
856
+ // specific (or full) version. However, if there's a non-stale bfcache
857
+ // entry from a previous navigation, prefer that over making a new
858
+ // request.
859
+ if (fetchStrategy === _types.FetchStrategy.Full) {
860
+ const fulfilled = (0, _cache.attemptToUpgradeSegmentFromBFCache)(now, tree);
861
+ if (fulfilled !== null) {
862
+ break;
863
+ }
864
+ }
865
+ spawnedSegment = pingFullSegmentRevalidation(now, tree, fetchStrategy);
795
866
  }
796
867
  break;
797
868
  }
@@ -801,7 +872,7 @@ function pingRouteTreeAndIncludeDynamicData(now, task, route, tree, isInsideRefe
801
872
  // There's either another prefetch currently in progress, or the previous
802
873
  // attempt failed. If the new strategy can provide more content, fetch it again.
803
874
  if ((0, _cache.canNewFetchStrategyProvideMoreContent)(segment.fetchStrategy, fetchStrategy)) {
804
- spawnedSegment = pingFullSegmentRevalidation(now, route, tree, fetchStrategy);
875
+ spawnedSegment = pingFullSegmentRevalidation(now, tree, fetchStrategy);
805
876
  }
806
877
  break;
807
878
  }
@@ -825,8 +896,7 @@ function pingRouteTreeAndIncludeDynamicData(now, task, route, tree, isInsideRefe
825
896
  tree.segment,
826
897
  requestTreeChildren,
827
898
  null,
828
- refetchMarker,
829
- tree.isRootLayout
899
+ refetchMarker
830
900
  ];
831
901
  return requestTree;
832
902
  }
@@ -861,6 +931,18 @@ function pingRuntimePrefetches(now, task, route, tree, spawnedRuntimePrefetches,
861
931
  function pingStaticSegmentData(now, task, route, segment, routeKey, tree) {
862
932
  switch(segment.status){
863
933
  case _cache.EntryStatus.Empty:
934
+ if (process.env.__NEXT_PREFETCH_INLINING) {
935
+ // All segment data for this route is bundled into a single
936
+ // /_inlined response. Walk the full route tree to collect all
937
+ // Empty segments, upgrade them to Pending, and spawn one
938
+ // bundled request. Subsequent calls for other segments in the
939
+ // same tree will see them as Pending and skip.
940
+ const inlinedEntries = collectInlinedEntries(now, route);
941
+ if (inlinedEntries.size > 0) {
942
+ spawnPrefetchSubtask((0, _cache.fetchInlinedSegmentsOnCacheMiss)(route, routeKey, route.tree, inlinedEntries));
943
+ }
944
+ break;
945
+ }
864
946
  // Upgrade to Pending so we know there's already a request in progress
865
947
  spawnPrefetchSubtask((0, _cache.fetchSegmentOnCacheMiss)(route, (0, _cache.upgradeToPendingSegment)(segment, _types.FetchStrategy.PPR), routeKey, tree));
866
948
  break;
@@ -925,13 +1007,38 @@ function pingStaticSegmentData(now, task, route, segment, routeKey, tree) {
925
1007
  // there's nothing else for us to do (except write the server data into the
926
1008
  // entry, which is handled by `fetchSegmentOnCacheMiss`).
927
1009
  }
1010
+ /**
1011
+ * Walks the RouteTree (including the head metadata) and collects any segments
1012
+ * that are still Empty into a Map, upgrading them to Pending. These entries
1013
+ * will be fulfilled by the inlined prefetch response.
1014
+ */ function collectInlinedEntries(now, route) {
1015
+ const entries = new Map();
1016
+ collectInlinedEntriesImpl(now, route.tree, entries);
1017
+ // Also collect the head/metadata entry.
1018
+ const headEntry = (0, _cache.readOrCreateSegmentCacheEntry)(now, _types.FetchStrategy.PPR, route.metadata);
1019
+ if (headEntry.status === _cache.EntryStatus.Empty) {
1020
+ entries.set(route.metadata.requestKey, (0, _cache.upgradeToPendingSegment)(headEntry, _types.FetchStrategy.PPR));
1021
+ }
1022
+ return entries;
1023
+ }
1024
+ function collectInlinedEntriesImpl(now, tree, entries) {
1025
+ const entry = (0, _cache.readOrCreateSegmentCacheEntry)(now, _types.FetchStrategy.PPR, tree);
1026
+ if (entry.status === _cache.EntryStatus.Empty) {
1027
+ entries.set(tree.requestKey, (0, _cache.upgradeToPendingSegment)(entry, _types.FetchStrategy.PPR));
1028
+ }
1029
+ if (tree.slots !== null) {
1030
+ for(const parallelRouteKey in tree.slots){
1031
+ collectInlinedEntriesImpl(now, tree.slots[parallelRouteKey], entries);
1032
+ }
1033
+ }
1034
+ }
928
1035
  function pingPPRSegmentRevalidation(now, route, routeKey, tree) {
929
- const revalidatingSegment = (0, _cache.readOrCreateRevalidatingSegmentEntry)(now, _types.FetchStrategy.PPR, route, tree);
1036
+ const revalidatingSegment = (0, _cache.readOrCreateRevalidatingSegmentEntry)(now, _types.FetchStrategy.PPR, tree);
930
1037
  switch(revalidatingSegment.status){
931
1038
  case _cache.EntryStatus.Empty:
932
- // Spawn a prefetch request and upsert the segment into the cache
933
- // upon completion.
934
- upsertSegmentOnCompletion(spawnPrefetchSubtask((0, _cache.fetchSegmentOnCacheMiss)(route, (0, _cache.upgradeToPendingSegment)(revalidatingSegment, _types.FetchStrategy.PPR), routeKey, tree)), (0, _varypath.getSegmentVaryPathForRequest)(_types.FetchStrategy.PPR, tree));
1039
+ // Spawn a prefetch request. The fetch function handles upserting
1040
+ // the entry at the correct fulfilled vary path upon completion.
1041
+ spawnPrefetchSubtask((0, _cache.fetchSegmentOnCacheMiss)(route, (0, _cache.upgradeToPendingSegment)(revalidatingSegment, _types.FetchStrategy.PPR), routeKey, tree));
935
1042
  break;
936
1043
  case _cache.EntryStatus.Pending:
937
1044
  break;
@@ -942,8 +1049,8 @@ function pingPPRSegmentRevalidation(now, route, routeKey, tree) {
942
1049
  revalidatingSegment;
943
1050
  }
944
1051
  }
945
- function pingFullSegmentRevalidation(now, route, tree, fetchStrategy) {
946
- const revalidatingSegment = (0, _cache.readOrCreateRevalidatingSegmentEntry)(now, fetchStrategy, route, tree);
1052
+ function pingFullSegmentRevalidation(now, tree, fetchStrategy) {
1053
+ const revalidatingSegment = (0, _cache.readOrCreateRevalidatingSegmentEntry)(now, fetchStrategy, tree);
947
1054
  if (revalidatingSegment.status === _cache.EntryStatus.Empty) {
948
1055
  // During a Full/PPRRuntime prefetch, a single dynamic request is made for all the
949
1056
  // segments that we need. So we don't initiate a request here directly. By
@@ -951,7 +1058,8 @@ function pingFullSegmentRevalidation(now, route, tree, fetchStrategy) {
951
1058
  // that this segment should be included in the request that's sent to
952
1059
  // the server.
953
1060
  const pendingSegment = (0, _cache.upgradeToPendingSegment)(revalidatingSegment, fetchStrategy);
954
- upsertSegmentOnCompletion((0, _cache.waitForSegmentCacheEntry)(pendingSegment), (0, _varypath.getSegmentVaryPathForRequest)(fetchStrategy, tree));
1061
+ // The upsert is handled by fulfillEntrySpawnedByRuntimePrefetch
1062
+ // when the dynamic prefetch response is written into the cache.
955
1063
  return pendingSegment;
956
1064
  } else {
957
1065
  // There's already a revalidation in progress.
@@ -959,9 +1067,10 @@ function pingFullSegmentRevalidation(now, route, tree, fetchStrategy) {
959
1067
  if ((0, _cache.canNewFetchStrategyProvideMoreContent)(nonEmptyRevalidatingSegment.fetchStrategy, fetchStrategy)) {
960
1068
  // The existing revalidation was fetched using a less specific strategy.
961
1069
  // Reset it and start a new revalidation.
962
- const emptySegment = (0, _cache.overwriteRevalidatingSegmentCacheEntry)(fetchStrategy, route, tree);
1070
+ const emptySegment = (0, _cache.overwriteRevalidatingSegmentCacheEntry)(now, fetchStrategy, tree);
963
1071
  const pendingSegment = (0, _cache.upgradeToPendingSegment)(emptySegment, fetchStrategy);
964
- upsertSegmentOnCompletion((0, _cache.waitForSegmentCacheEntry)(pendingSegment), (0, _varypath.getSegmentVaryPathForRequest)(fetchStrategy, tree));
1072
+ // The upsert is handled by fulfillEntrySpawnedByRuntimePrefetch
1073
+ // when the dynamic prefetch response is written into the cache.
965
1074
  return pendingSegment;
966
1075
  }
967
1076
  switch(nonEmptyRevalidatingSegment.status){
@@ -980,16 +1089,6 @@ function pingFullSegmentRevalidation(now, route, tree, fetchStrategy) {
980
1089
  }
981
1090
  }
982
1091
  }
983
- const noop = ()=>{};
984
- function upsertSegmentOnCompletion(promise, varyPath) {
985
- // Wait for a segment to finish loading, then upsert it into the cache
986
- promise.then((fulfilled)=>{
987
- if (fulfilled !== null) {
988
- // Received new data. Attempt to replace the existing entry in the cache.
989
- (0, _cache.upsertSegmentEntry)(Date.now(), varyPath, fulfilled);
990
- }
991
- }, noop);
992
- }
993
1092
  function doesCurrentSegmentMatchCachedSegment(route, currentSegment, cachedSegment) {
994
1093
  if (cachedSegment === _segment.PAGE_SEGMENT_KEY) {
995
1094
  // In the FlightRouterState stored by the router, the page segment has the
@@ -9,6 +9,10 @@ Object.defineProperty(exports, "__esModule", {
9
9
  finalizeMetadataVaryPath: null,
10
10
  finalizePageVaryPath: null,
11
11
  getFulfilledRouteVaryPath: null,
12
+ getFulfilledSegmentVaryPath: null,
13
+ getPartialLayoutVaryPath: null,
14
+ getPartialPageVaryPath: null,
15
+ getRenderedSearchFromVaryPath: null,
12
16
  getRouteVaryPath: null,
13
17
  getSegmentVaryPathForRequest: null
14
18
  });
@@ -37,6 +41,18 @@ _export(exports, {
37
41
  getFulfilledRouteVaryPath: function() {
38
42
  return getFulfilledRouteVaryPath;
39
43
  },
44
+ getFulfilledSegmentVaryPath: function() {
45
+ return getFulfilledSegmentVaryPath;
46
+ },
47
+ getPartialLayoutVaryPath: function() {
48
+ return getPartialLayoutVaryPath;
49
+ },
50
+ getPartialPageVaryPath: function() {
51
+ return getPartialPageVaryPath;
52
+ },
53
+ getRenderedSearchFromVaryPath: function() {
54
+ return getRenderedSearchFromVaryPath;
55
+ },
40
56
  getRouteVaryPath: function() {
41
57
  return getRouteVaryPath;
42
58
  },
@@ -50,10 +66,13 @@ const _segmentvalueencoding = require("../../../shared/lib/segment-cache/segment
50
66
  function getRouteVaryPath(pathname, search, nextUrl) {
51
67
  // requestKey -> searchParams -> nextUrl
52
68
  const varyPath = {
69
+ id: null,
53
70
  value: pathname,
54
71
  parent: {
72
+ id: '?',
55
73
  value: search,
56
74
  parent: {
75
+ id: null,
57
76
  value: nextUrl,
58
77
  parent: null
59
78
  }
@@ -66,10 +85,13 @@ function getFulfilledRouteVaryPath(pathname, search, nextUrl, couldBeIntercepted
66
85
  // re-keyed based on which inputs the response varies by.
67
86
  // requestKey -> searchParams -> nextUrl
68
87
  const varyPath = {
88
+ id: null,
69
89
  value: pathname,
70
90
  parent: {
91
+ id: '?',
71
92
  value: search,
72
93
  parent: {
94
+ id: null,
73
95
  value: couldBeIntercepted ? nextUrl : _cachemap.Fallback,
74
96
  parent: null
75
97
  }
@@ -77,8 +99,9 @@ function getFulfilledRouteVaryPath(pathname, search, nextUrl, couldBeIntercepted
77
99
  };
78
100
  return varyPath;
79
101
  }
80
- function appendLayoutVaryPath(parentPath, cacheKey) {
102
+ function appendLayoutVaryPath(parentPath, cacheKey, paramName) {
81
103
  const varyPathPart = {
104
+ id: paramName,
82
105
  value: cacheKey,
83
106
  parent: parentPath
84
107
  };
@@ -86,23 +109,34 @@ function appendLayoutVaryPath(parentPath, cacheKey) {
86
109
  }
87
110
  function finalizeLayoutVaryPath(requestKey, varyPath) {
88
111
  const layoutVaryPath = {
112
+ id: null,
89
113
  value: requestKey,
90
114
  parent: varyPath
91
115
  };
92
116
  return layoutVaryPath;
93
117
  }
118
+ function getPartialLayoutVaryPath(finalizedVaryPath) {
119
+ // This is the inverse of finalizeLayoutVaryPath.
120
+ return finalizedVaryPath.parent;
121
+ }
94
122
  function finalizePageVaryPath(requestKey, renderedSearch, varyPath) {
95
123
  // Unlike layouts, a page segment's vary path also includes the search string.
96
124
  // requestKey -> searchParams -> pathParams
97
125
  const pageVaryPath = {
126
+ id: null,
98
127
  value: requestKey,
99
128
  parent: {
129
+ id: '?',
100
130
  value: renderedSearch,
101
131
  parent: varyPath
102
132
  }
103
133
  };
104
134
  return pageVaryPath;
105
135
  }
136
+ function getPartialPageVaryPath(finalizedVaryPath) {
137
+ // This is the inverse of finalizePageVaryPath.
138
+ return finalizedVaryPath.parent.parent;
139
+ }
106
140
  function finalizeMetadataVaryPath(pageRequestKey, renderedSearch, varyPath) {
107
141
  // The metadata "segment" is not a real segment because it doesn't exist in
108
142
  // the normal structure of the route tree, but in terms of caching, it
@@ -129,11 +163,13 @@ function finalizeMetadataVaryPath(pageRequestKey, renderedSearch, varyPath) {
129
163
  // different parallel pages are things like route groups and parallel
130
164
  // route slots. As long as it's always the same one, it doesn't matter.
131
165
  const pageVaryPath = {
166
+ id: null,
132
167
  // Append the actual metadata request key to the page request key. Note
133
168
  // that we're not using a separate vary path part; it's unnecessary because
134
169
  // these are not conceptually separate inputs.
135
170
  value: pageRequestKey + _segmentvalueencoding.HEAD_REQUEST_KEY,
136
171
  parent: {
172
+ id: '?',
137
173
  value: renderedSearch,
138
174
  parent: varyPath
139
175
  }
@@ -181,8 +217,10 @@ function getSegmentVaryPathForRequest(fetchStrategy, tree) {
181
217
  const searchParamsVaryPath = originalVaryPath.parent;
182
218
  const pathParamsVaryPath = searchParamsVaryPath.parent;
183
219
  const patchedVaryPath = {
220
+ id: null,
184
221
  value: originalVaryPath.value,
185
222
  parent: {
223
+ id: '?',
186
224
  value: _cachemap.Fallback,
187
225
  parent: pathParamsVaryPath
188
226
  }
@@ -198,14 +236,38 @@ function clonePageVaryPathWithNewSearchParams(originalVaryPath, newSearch) {
198
236
  // ^ This part gets replaced with newSearch
199
237
  const searchParamsVaryPath = originalVaryPath.parent;
200
238
  const clonedVaryPath = {
239
+ id: null,
201
240
  value: originalVaryPath.value,
202
241
  parent: {
242
+ id: '?',
203
243
  value: newSearch,
204
244
  parent: searchParamsVaryPath.parent
205
245
  }
206
246
  };
207
247
  return clonedVaryPath;
208
248
  }
249
+ function getRenderedSearchFromVaryPath(varyPath) {
250
+ const searchParams = varyPath.parent.value;
251
+ return typeof searchParams === 'string' ? searchParams : null;
252
+ }
253
+ function getFulfilledSegmentVaryPath(original, varyParams) {
254
+ // Re-keys a segment's vary path based on which params the segment actually
255
+ // depends on. Params that are NOT in the varyParams set are replaced with
256
+ // Fallback, allowing the cache entry to be reused across different values of
257
+ // those params.
258
+ // This is called when a segment is fulfilled with data from the server. The
259
+ // varyParams set comes from the server and indicates which params were
260
+ // accessed during rendering.
261
+ const clone = {
262
+ id: original.id,
263
+ // If the id is null, this node is not a param (e.g., it's a request key).
264
+ // If the id is in the varyParams set, keep the original value.
265
+ // Otherwise, replace with Fallback to make it reusable.
266
+ value: original.id === null || varyParams.has(original.id) ? original.value : _cachemap.Fallback,
267
+ parent: original.parent === null ? null : getFulfilledSegmentVaryPath(original.parent, varyParams)
268
+ };
269
+ return clone;
270
+ }
209
271
 
210
272
  if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
211
273
  Object.defineProperty(exports.default, '__esModule', { value: true });
@@ -32,7 +32,7 @@ function unauthorized() {
32
32
  });
33
33
  }
34
34
  const error = Object.defineProperty(new Error(DIGEST), "__NEXT_ERROR_CODE", {
35
- value: "E394",
35
+ value: "E1002",
36
36
  enumerable: false,
37
37
  configurable: true
38
38
  });