@codelionapps/unharness 0.0.0-stage → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1288) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +330 -2
  3. package/bin/unharness.js +15 -0
  4. package/dashboard/.next/standalone/dashboard/.next/BUILD_ID +1 -0
  5. package/dashboard/.next/standalone/dashboard/.next/UNHARNESS_BUILD_DONE +0 -0
  6. package/dashboard/.next/standalone/dashboard/.next/app-path-routes-manifest.json +11 -0
  7. package/dashboard/.next/standalone/dashboard/.next/build-manifest.json +94 -0
  8. package/dashboard/.next/standalone/dashboard/.next/package.json +1 -0
  9. package/dashboard/.next/standalone/dashboard/.next/prerender-manifest.json +72 -0
  10. package/dashboard/.next/standalone/dashboard/.next/required-server-files.json +368 -0
  11. package/dashboard/.next/standalone/dashboard/.next/routes-manifest.json +102 -0
  12. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
  13. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error/page/build-manifest.json +21 -0
  14. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
  15. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
  16. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
  17. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error/page.js +11 -0
  18. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error/page.js.map +5 -0
  19. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error/page.js.nft.json +1 -0
  20. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
  21. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.html +1 -0
  22. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.meta +30 -0
  23. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.rsc +18 -0
  24. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +23 -0
  25. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +18 -0
  26. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -0
  27. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
  28. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page/build-manifest.json +21 -0
  29. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page/next-font-manifest.json +6 -0
  30. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
  31. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
  32. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page.js +14 -0
  33. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page.js.map +5 -0
  34. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page.js.nft.json +1 -0
  35. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
  36. package/dashboard/.next/standalone/dashboard/.next/server/app/api/unharness/route/app-paths-manifest.json +3 -0
  37. package/dashboard/.next/standalone/dashboard/.next/server/app/api/unharness/route/build-manifest.json +12 -0
  38. package/dashboard/.next/standalone/dashboard/.next/server/app/api/unharness/route/server-reference-manifest.json +4 -0
  39. package/dashboard/.next/standalone/dashboard/.next/server/app/api/unharness/route.js +7 -0
  40. package/dashboard/.next/standalone/dashboard/.next/server/app/api/unharness/route.js.map +5 -0
  41. package/dashboard/.next/standalone/dashboard/.next/server/app/api/unharness/route.js.nft.json +1 -0
  42. package/dashboard/.next/standalone/dashboard/.next/server/app/api/unharness/route_client-reference-manifest.js +3 -0
  43. package/dashboard/.next/standalone/dashboard/.next/server/app/compare/page/app-paths-manifest.json +3 -0
  44. package/dashboard/.next/standalone/dashboard/.next/server/app/compare/page/build-manifest.json +21 -0
  45. package/dashboard/.next/standalone/dashboard/.next/server/app/compare/page/next-font-manifest.json +6 -0
  46. package/dashboard/.next/standalone/dashboard/.next/server/app/compare/page/react-loadable-manifest.json +1 -0
  47. package/dashboard/.next/standalone/dashboard/.next/server/app/compare/page/server-reference-manifest.json +4 -0
  48. package/dashboard/.next/standalone/dashboard/.next/server/app/compare/page.js +18 -0
  49. package/dashboard/.next/standalone/dashboard/.next/server/app/compare/page.js.map +5 -0
  50. package/dashboard/.next/standalone/dashboard/.next/server/app/compare/page.js.nft.json +1 -0
  51. package/dashboard/.next/standalone/dashboard/.next/server/app/compare/page_client-reference-manifest.js +3 -0
  52. package/dashboard/.next/standalone/dashboard/.next/server/app/icon.svg/route/app-paths-manifest.json +3 -0
  53. package/dashboard/.next/standalone/dashboard/.next/server/app/icon.svg/route/build-manifest.json +12 -0
  54. package/dashboard/.next/standalone/dashboard/.next/server/app/icon.svg/route.js +7 -0
  55. package/dashboard/.next/standalone/dashboard/.next/server/app/icon.svg/route.js.map +5 -0
  56. package/dashboard/.next/standalone/dashboard/.next/server/app/icon.svg/route.js.nft.json +1 -0
  57. package/dashboard/.next/standalone/dashboard/.next/server/app/icon.svg.body +1 -0
  58. package/dashboard/.next/standalone/dashboard/.next/server/app/icon.svg.meta +1 -0
  59. package/dashboard/.next/standalone/dashboard/.next/server/app/page/app-paths-manifest.json +3 -0
  60. package/dashboard/.next/standalone/dashboard/.next/server/app/page/build-manifest.json +21 -0
  61. package/dashboard/.next/standalone/dashboard/.next/server/app/page/next-font-manifest.json +6 -0
  62. package/dashboard/.next/standalone/dashboard/.next/server/app/page/react-loadable-manifest.json +1 -0
  63. package/dashboard/.next/standalone/dashboard/.next/server/app/page/server-reference-manifest.json +4 -0
  64. package/dashboard/.next/standalone/dashboard/.next/server/app/page.js +18 -0
  65. package/dashboard/.next/standalone/dashboard/.next/server/app/page.js.map +5 -0
  66. package/dashboard/.next/standalone/dashboard/.next/server/app/page.js.nft.json +1 -0
  67. package/dashboard/.next/standalone/dashboard/.next/server/app/page_client-reference-manifest.js +3 -0
  68. package/dashboard/.next/standalone/dashboard/.next/server/app/runs/[id]/page/app-paths-manifest.json +3 -0
  69. package/dashboard/.next/standalone/dashboard/.next/server/app/runs/[id]/page/build-manifest.json +21 -0
  70. package/dashboard/.next/standalone/dashboard/.next/server/app/runs/[id]/page/next-font-manifest.json +6 -0
  71. package/dashboard/.next/standalone/dashboard/.next/server/app/runs/[id]/page/react-loadable-manifest.json +1 -0
  72. package/dashboard/.next/standalone/dashboard/.next/server/app/runs/[id]/page/server-reference-manifest.json +4 -0
  73. package/dashboard/.next/standalone/dashboard/.next/server/app/runs/[id]/page.js +18 -0
  74. package/dashboard/.next/standalone/dashboard/.next/server/app/runs/[id]/page.js.map +5 -0
  75. package/dashboard/.next/standalone/dashboard/.next/server/app/runs/[id]/page.js.nft.json +1 -0
  76. package/dashboard/.next/standalone/dashboard/.next/server/app/runs/[id]/page_client-reference-manifest.js +3 -0
  77. package/dashboard/.next/standalone/dashboard/.next/server/app/runs/page/app-paths-manifest.json +3 -0
  78. package/dashboard/.next/standalone/dashboard/.next/server/app/runs/page/build-manifest.json +21 -0
  79. package/dashboard/.next/standalone/dashboard/.next/server/app/runs/page/next-font-manifest.json +6 -0
  80. package/dashboard/.next/standalone/dashboard/.next/server/app/runs/page/react-loadable-manifest.json +1 -0
  81. package/dashboard/.next/standalone/dashboard/.next/server/app/runs/page/server-reference-manifest.json +4 -0
  82. package/dashboard/.next/standalone/dashboard/.next/server/app/runs/page.js +17 -0
  83. package/dashboard/.next/standalone/dashboard/.next/server/app/runs/page.js.map +5 -0
  84. package/dashboard/.next/standalone/dashboard/.next/server/app/runs/page.js.nft.json +1 -0
  85. package/dashboard/.next/standalone/dashboard/.next/server/app/runs/page_client-reference-manifest.js +3 -0
  86. package/dashboard/.next/standalone/dashboard/.next/server/app/setup/page/app-paths-manifest.json +3 -0
  87. package/dashboard/.next/standalone/dashboard/.next/server/app/setup/page/build-manifest.json +21 -0
  88. package/dashboard/.next/standalone/dashboard/.next/server/app/setup/page/next-font-manifest.json +6 -0
  89. package/dashboard/.next/standalone/dashboard/.next/server/app/setup/page/react-loadable-manifest.json +1 -0
  90. package/dashboard/.next/standalone/dashboard/.next/server/app/setup/page/server-reference-manifest.json +4 -0
  91. package/dashboard/.next/standalone/dashboard/.next/server/app/setup/page.js +17 -0
  92. package/dashboard/.next/standalone/dashboard/.next/server/app/setup/page.js.map +5 -0
  93. package/dashboard/.next/standalone/dashboard/.next/server/app/setup/page.js.nft.json +1 -0
  94. package/dashboard/.next/standalone/dashboard/.next/server/app/setup/page_client-reference-manifest.js +3 -0
  95. package/dashboard/.next/standalone/dashboard/.next/server/app-paths-manifest.json +11 -0
  96. package/dashboard/.next/standalone/dashboard/.next/server/chunks/[externals]__01t2nd50u5k0d._.js +3 -0
  97. package/dashboard/.next/standalone/dashboard/.next/server/chunks/[externals]__0bwf06g0pqv3h._.js +3 -0
  98. package/dashboard/.next/standalone/dashboard/.next/server/chunks/[externals]__1p2j9_5g429uh._.js +3 -0
  99. package/dashboard/.next/standalone/dashboard/.next/server/chunks/[root-of-the-server]__0et0fkanwxxur._.js +68 -0
  100. package/dashboard/.next/standalone/dashboard/.next/server/chunks/[root-of-the-server]__15bjnu5yieigz._.js +5 -0
  101. package/dashboard/.next/standalone/dashboard/.next/server/chunks/[turbopack]_runtime.js +937 -0
  102. package/dashboard/.next/standalone/dashboard/.next/server/chunks/_1-uxi_ka-dy7f._.js +61 -0
  103. package/dashboard/.next/standalone/dashboard/.next/server/chunks/_1cf_ofyvvip7w._.js +3 -0
  104. package/dashboard/.next/standalone/dashboard/.next/server/chunks/dashboard__next-internal_server_app_api_unharness_route_actions_0idahp0hszu62.js +3 -0
  105. package/dashboard/.next/standalone/dashboard/.next/server/chunks/dashboard__next-internal_server_app_icon_svg_route_actions_04_c50qf4s1__.js +3 -0
  106. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0e4r8nifm7acf._.js +3 -0
  107. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0iouqk55sdstw._.js +3 -0
  108. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0py1t7q9ntzgc._.js +3 -0
  109. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0qcba441g9j7r._.js +3 -0
  110. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0wa-x71951lbx._.js +3 -0
  111. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__19fljo_8kk85l._.js +3 -0
  112. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__1u6lhnfk61fw4._.js +3 -0
  113. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__1uyyd8v8upnf3._.js +14 -0
  114. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[root-of-the-server]__20ejk3g6jcji-._.js +110 -0
  115. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/[turbopack]_runtime.js +937 -0
  116. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/_01bzqkhgvulml._.js +3 -0
  117. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard__next-internal_server_app__global-error_page_actions_1tjktvdwype04.js +3 -0
  118. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard__next-internal_server_app__not-found_page_actions_1chp6c-vsqob8.js +3 -0
  119. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard__next-internal_server_app_compare_page_actions_0yvj-bxnypqy9.js +3 -0
  120. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard__next-internal_server_app_page_actions_1wdlm_33hg0oy.js +3 -0
  121. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard__next-internal_server_app_runs_[id]_page_actions_1yv7i200qm874.js +3 -0
  122. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard__next-internal_server_app_runs_page_actions_0j5zwb1ilucsr.js +3 -0
  123. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard__next-internal_server_app_setup_page_actions_0oowi28yqn1aa.js +3 -0
  124. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_app_charts_tsx_0tszf3h61tpzg._.js +3 -0
  125. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_app_compare_page_tsx_0f6y9yl_umbwg._.js +3 -0
  126. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_app_page_tsx_0ih6_j2n6j4ya._.js +3 -0
  127. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_app_runs_page_tsx_0uftws_qldjqo._.js +3 -0
  128. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_app_setup_page_tsx_0k3bphpyf611u._.js +3 -0
  129. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/node_modules_01xbj_9zg44kw._.js +33 -0
  130. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/node_modules_0gxlxpuufujz9._.js +33 -0
  131. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/node_modules_next_dist_0janj0i6dqko7._.js +6 -0
  132. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/node_modules_next_dist_0vn8q0im74u1u._.js +3 -0
  133. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j32_ibz4._.js +3 -0
  134. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9mbf-fh.js +3 -0
  135. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892nagajq.js +3 -0
  136. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0xky89qu.js +3 -0
  137. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/node_modules_next_dist_compiled_@edge-runtime_cookies_index_1kiz_an963mbg.js +3 -0
  138. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0_ozp0yuu4qg1.js +3 -0
  139. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0j87yuz4ra2av.js +3 -0
  140. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0tu9pkc8da8u2.js +3 -0
  141. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19--w_z4y02i7.js +3 -0
  142. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1e2gs9uhe-2mi.js +3 -0
  143. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1s_41xd6mnrrx.js +3 -0
  144. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1yvj-i4d766aw.js +3 -0
  145. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/src_queries_ts_1qvec252dciw9._.js +17 -0
  146. package/dashboard/.next/standalone/dashboard/.next/server/functions-config-manifest.json +14 -0
  147. package/dashboard/.next/standalone/dashboard/.next/server/middleware-build-manifest.js +94 -0
  148. package/dashboard/.next/standalone/dashboard/.next/server/middleware-manifest.json +6 -0
  149. package/dashboard/.next/standalone/dashboard/.next/server/middleware.js +5 -0
  150. package/dashboard/.next/standalone/dashboard/.next/server/next-font-manifest.js +1 -0
  151. package/dashboard/.next/standalone/dashboard/.next/server/next-font-manifest.json +6 -0
  152. package/dashboard/.next/standalone/dashboard/.next/server/pages/500.html +1 -0
  153. package/dashboard/.next/standalone/dashboard/.next/server/pages-manifest.json +3 -0
  154. package/dashboard/.next/standalone/dashboard/.next/server/prefetch-hints.json +11 -0
  155. package/dashboard/.next/standalone/dashboard/.next/server/preview-props.json +5 -0
  156. package/dashboard/.next/standalone/dashboard/.next/server/server-reference-manifest.js +1 -0
  157. package/dashboard/.next/standalone/dashboard/.next/server/server-reference-manifest.json +5 -0
  158. package/dashboard/.next/standalone/dashboard/.next/static/aBZEFjL-d2jaSL3uX4Mft/_buildManifest.js +11 -0
  159. package/dashboard/.next/standalone/dashboard/.next/static/aBZEFjL-d2jaSL3uX4Mft/_clientMiddlewareManifest.js +6 -0
  160. package/dashboard/.next/standalone/dashboard/.next/static/aBZEFjL-d2jaSL3uX4Mft/_ssgManifest.js +1 -0
  161. package/dashboard/.next/standalone/dashboard/.next/static/chunks/0cz1d0mv5g_q7.js +1 -0
  162. package/dashboard/.next/standalone/dashboard/.next/static/chunks/0r-yur70-ku2o.js +22 -0
  163. package/dashboard/.next/standalone/dashboard/.next/static/chunks/0umf92h1sb77c.js +1 -0
  164. package/dashboard/.next/standalone/dashboard/.next/static/chunks/27_tnesx4_7-4.js +1 -0
  165. package/dashboard/.next/standalone/dashboard/.next/static/chunks/2bs2_lhv9t90b.css +1 -0
  166. package/dashboard/.next/standalone/dashboard/.next/static/chunks/3cfn99dbrcvvp.js +31 -0
  167. package/dashboard/.next/standalone/dashboard/.next/static/chunks/3wbm-994r45kr.js +1 -0
  168. package/dashboard/.next/standalone/dashboard/.next/static/chunks/turbopack-3-ry682tkyiqk.js +1 -0
  169. package/dashboard/.next/standalone/dashboard/.next/static/media/icon.2s3751p6y-0bd.svg +1 -0
  170. package/dashboard/.next/standalone/dashboard/.next/static/media/pricing-snapshot.2oehiifqte0u8.json +886 -0
  171. package/dashboard/.next/standalone/dashboard/server.js +38 -0
  172. package/dashboard/.next/standalone/dashboard/tsconfig.json +38 -0
  173. package/dashboard/.next/standalone/node_modules/@next/env/dist/index.js +1 -0
  174. package/dashboard/.next/standalone/node_modules/@next/env/package.json +36 -0
  175. package/dashboard/.next/standalone/node_modules/@swc/helpers/cjs/_interop_require_default.cjs +6 -0
  176. package/dashboard/.next/standalone/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs +38 -0
  177. package/dashboard/.next/standalone/node_modules/@swc/helpers/esm/_interop_require_default.js +4 -0
  178. package/dashboard/.next/standalone/node_modules/@swc/helpers/esm/_interop_require_wildcard.js +36 -0
  179. package/dashboard/.next/standalone/node_modules/@swc/helpers/package.json +705 -0
  180. package/dashboard/.next/standalone/node_modules/client-only/index.js +0 -0
  181. package/dashboard/.next/standalone/node_modules/client-only/package.json +19 -0
  182. package/dashboard/.next/standalone/node_modules/detect-libc/lib/detect-libc.js +313 -0
  183. package/dashboard/.next/standalone/node_modules/detect-libc/lib/elf.js +39 -0
  184. package/dashboard/.next/standalone/node_modules/detect-libc/lib/filesystem.js +51 -0
  185. package/dashboard/.next/standalone/node_modules/detect-libc/lib/process.js +24 -0
  186. package/dashboard/.next/standalone/node_modules/detect-libc/package.json +44 -0
  187. package/dashboard/.next/standalone/node_modules/next/dist/build/adapter/setup-node-env.external.js +15 -0
  188. package/dashboard/.next/standalone/node_modules/next/dist/build/define-env.js +257 -0
  189. package/dashboard/.next/standalone/node_modules/next/dist/build/duration-to-string.js +98 -0
  190. package/dashboard/.next/standalone/node_modules/next/dist/build/get-supported-browsers.js +38 -0
  191. package/dashboard/.next/standalone/node_modules/next/dist/build/next-config-ts/require-hook.js +85 -0
  192. package/dashboard/.next/standalone/node_modules/next/dist/build/next-config-ts/transpile-config.js +136 -0
  193. package/dashboard/.next/standalone/node_modules/next/dist/build/nft.js +119 -0
  194. package/dashboard/.next/standalone/node_modules/next/dist/build/output/format.js +84 -0
  195. package/dashboard/.next/standalone/node_modules/next/dist/build/output/log.js +135 -0
  196. package/dashboard/.next/standalone/node_modules/next/dist/build/segment-config/app/app-segment-config.js +192 -0
  197. package/dashboard/.next/standalone/node_modules/next/dist/build/segment-config/app/app-segments.js +238 -0
  198. package/dashboard/.next/standalone/node_modules/next/dist/build/segment-config/app/collect-root-param-keys.js +48 -0
  199. package/dashboard/.next/standalone/node_modules/next/dist/build/static-paths/app/extract-pathname-route-param-segments-from-loader-tree.js +143 -0
  200. package/dashboard/.next/standalone/node_modules/next/dist/build/static-paths/app.js +880 -0
  201. package/dashboard/.next/standalone/node_modules/next/dist/build/static-paths/pages.js +137 -0
  202. package/dashboard/.next/standalone/node_modules/next/dist/build/static-paths/param-matching.js +200 -0
  203. package/dashboard/.next/standalone/node_modules/next/dist/build/static-paths/utils.js +119 -0
  204. package/dashboard/.next/standalone/node_modules/next/dist/build/swc/helpers.js +15 -0
  205. package/dashboard/.next/standalone/node_modules/next/dist/build/swc/index.js +1339 -0
  206. package/dashboard/.next/standalone/node_modules/next/dist/build/swc/install-bindings.js +30 -0
  207. package/dashboard/.next/standalone/node_modules/next/dist/build/swc/jest-transformer.js +77 -0
  208. package/dashboard/.next/standalone/node_modules/next/dist/build/swc/loaderWorkerPool.js +40 -0
  209. package/dashboard/.next/standalone/node_modules/next/dist/build/swc/options.js +411 -0
  210. package/dashboard/.next/standalone/node_modules/next/dist/build/swc/types.js +6 -0
  211. package/dashboard/.next/standalone/node_modules/next/dist/build/utils.js +1348 -0
  212. package/dashboard/.next/standalone/node_modules/next/dist/cli/next-test.js +175 -0
  213. package/dashboard/.next/standalone/node_modules/next/dist/client/add-base-path.js +24 -0
  214. package/dashboard/.next/standalone/node_modules/next/dist/client/app-call-server.js +32 -0
  215. package/dashboard/.next/standalone/node_modules/next/dist/client/app-find-source-map-url.js +39 -0
  216. package/dashboard/.next/standalone/node_modules/next/dist/client/assign-location.js +29 -0
  217. package/dashboard/.next/standalone/node_modules/next/dist/client/components/app-router-announcer.js +78 -0
  218. package/dashboard/.next/standalone/node_modules/next/dist/client/components/app-router-headers.js +128 -0
  219. package/dashboard/.next/standalone/node_modules/next/dist/client/components/app-router-instance.js +263 -0
  220. package/dashboard/.next/standalone/node_modules/next/dist/client/components/app-router-state.js +527 -0
  221. package/dashboard/.next/standalone/node_modules/next/dist/client/components/app-router-utils.js +58 -0
  222. package/dashboard/.next/standalone/node_modules/next/dist/client/components/app-router.js +531 -0
  223. package/dashboard/.next/standalone/node_modules/next/dist/client/components/builtin/default.js +35 -0
  224. package/dashboard/.next/standalone/node_modules/next/dist/client/components/builtin/error-styles.js +165 -0
  225. package/dashboard/.next/standalone/node_modules/next/dist/client/components/builtin/global-error.js +100 -0
  226. package/dashboard/.next/standalone/node_modules/next/dist/client/components/dev-root-http-access-fallback-boundary.js +48 -0
  227. package/dashboard/.next/standalone/node_modules/next/dist/client/components/error-boundary.js +148 -0
  228. package/dashboard/.next/standalone/node_modules/next/dist/client/components/errors/graceful-degrade-boundary.js +86 -0
  229. package/dashboard/.next/standalone/node_modules/next/dist/client/components/errors/root-error-boundary.js +41 -0
  230. package/dashboard/.next/standalone/node_modules/next/dist/client/components/forbidden.js +40 -0
  231. package/dashboard/.next/standalone/node_modules/next/dist/client/components/handle-isr-error.js +45 -0
  232. package/dashboard/.next/standalone/node_modules/next/dist/client/components/hooks-server-context.js +42 -0
  233. package/dashboard/.next/standalone/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js +125 -0
  234. package/dashboard/.next/standalone/node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js +72 -0
  235. package/dashboard/.next/standalone/node_modules/next/dist/client/components/instant-samples.js +127 -0
  236. package/dashboard/.next/standalone/node_modules/next/dist/client/components/is-next-router-error.js +23 -0
  237. package/dashboard/.next/standalone/node_modules/next/dist/client/components/links.js +315 -0
  238. package/dashboard/.next/standalone/node_modules/next/dist/client/components/nav-failure-handler.js +61 -0
  239. package/dashboard/.next/standalone/node_modules/next/dist/client/components/navigation-devtools.js +126 -0
  240. package/dashboard/.next/standalone/node_modules/next/dist/client/components/navigation-dynamic-rendering.js +38 -0
  241. package/dashboard/.next/standalone/node_modules/next/dist/client/components/navigation-untracked.js +68 -0
  242. package/dashboard/.next/standalone/node_modules/next/dist/client/components/navigation.js +242 -0
  243. package/dashboard/.next/standalone/node_modules/next/dist/client/components/navigation.react-server.js +71 -0
  244. package/dashboard/.next/standalone/node_modules/next/dist/client/components/navigator.js +73 -0
  245. package/dashboard/.next/standalone/node_modules/next/dist/client/components/not-found.js +38 -0
  246. package/dashboard/.next/standalone/node_modules/next/dist/client/components/offline.js +172 -0
  247. package/dashboard/.next/standalone/node_modules/next/dist/client/components/prefetch.js +83 -0
  248. package/dashboard/.next/standalone/node_modules/next/dist/client/components/readonly-url-search-params.js +41 -0
  249. package/dashboard/.next/standalone/node_modules/next/dist/client/components/redirect-boundary.js +107 -0
  250. package/dashboard/.next/standalone/node_modules/next/dist/client/components/redirect-error.js +43 -0
  251. package/dashboard/.next/standalone/node_modules/next/dist/client/components/redirect-status-code.js +24 -0
  252. package/dashboard/.next/standalone/node_modules/next/dist/client/components/redirect.js +79 -0
  253. package/dashboard/.next/standalone/node_modules/next/dist/client/components/render-tree.js +1439 -0
  254. package/dashboard/.next/standalone/node_modules/next/dist/client/components/router-reducer/compute-changed-path.js +213 -0
  255. package/dashboard/.next/standalone/node_modules/next/dist/client/components/router-reducer/create-href-from-url.js +21 -0
  256. package/dashboard/.next/standalone/node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js +174 -0
  257. package/dashboard/.next/standalone/node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js +26 -0
  258. package/dashboard/.next/standalone/node_modules/next/dist/client/components/router-reducer/create-segment-key.js +42 -0
  259. package/dashboard/.next/standalone/node_modules/next/dist/client/components/router-reducer/fetch-server-response.js +624 -0
  260. package/dashboard/.next/standalone/node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js +70 -0
  261. package/dashboard/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/committed-state.js +49 -0
  262. package/dashboard/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js +38 -0
  263. package/dashboard/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/hmr-refresh-reducer.js +29 -0
  264. package/dashboard/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js +56 -0
  265. package/dashboard/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js +93 -0
  266. package/dashboard/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js +78 -0
  267. package/dashboard/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js +350 -0
  268. package/dashboard/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js +67 -0
  269. package/dashboard/.next/standalone/node_modules/next/dist/client/components/router-reducer/router-reducer-types.js +70 -0
  270. package/dashboard/.next/standalone/node_modules/next/dist/client/components/router-reducer/router-reducer.js +66 -0
  271. package/dashboard/.next/standalone/node_modules/next/dist/client/components/router-reducer/set-cache-busting-search-param.js +66 -0
  272. package/dashboard/.next/standalone/node_modules/next/dist/client/components/router-transition.js +135 -0
  273. package/dashboard/.next/standalone/node_modules/next/dist/client/components/segment-cache/bfcache.js +120 -0
  274. package/dashboard/.next/standalone/node_modules/next/dist/client/components/segment-cache/cache-key.js +56 -0
  275. package/dashboard/.next/standalone/node_modules/next/dist/client/components/segment-cache/cache-map.js +326 -0
  276. package/dashboard/.next/standalone/node_modules/next/dist/client/components/segment-cache/cache.js +2671 -0
  277. package/dashboard/.next/standalone/node_modules/next/dist/client/components/segment-cache/decode-server-response.js +419 -0
  278. package/dashboard/.next/standalone/node_modules/next/dist/client/components/segment-cache/fetch.js +37 -0
  279. package/dashboard/.next/standalone/node_modules/next/dist/client/components/segment-cache/lru.js +152 -0
  280. package/dashboard/.next/standalone/node_modules/next/dist/client/components/segment-cache/navigation-testing-lock.js +415 -0
  281. package/dashboard/.next/standalone/node_modules/next/dist/client/components/segment-cache/optimistic-routes.js +643 -0
  282. package/dashboard/.next/standalone/node_modules/next/dist/client/components/segment-cache/scheduler.js +1809 -0
  283. package/dashboard/.next/standalone/node_modules/next/dist/client/components/segment-cache/types.js +93 -0
  284. package/dashboard/.next/standalone/node_modules/next/dist/client/components/segment-cache/vary-path.js +340 -0
  285. package/dashboard/.next/standalone/node_modules/next/dist/client/components/sequential-router-queue.js +163 -0
  286. package/dashboard/.next/standalone/node_modules/next/dist/client/components/server-async-storage.js +43 -0
  287. package/dashboard/.next/standalone/node_modules/next/dist/client/components/static-generation-bailout.js +42 -0
  288. package/dashboard/.next/standalone/node_modules/next/dist/client/components/unauthorized.js +41 -0
  289. package/dashboard/.next/standalone/node_modules/next/dist/client/components/unrecognized-action-error.js +39 -0
  290. package/dashboard/.next/standalone/node_modules/next/dist/client/components/unresolved-thenable.js +23 -0
  291. package/dashboard/.next/standalone/node_modules/next/dist/client/components/unstable-rethrow.js +31 -0
  292. package/dashboard/.next/standalone/node_modules/next/dist/client/components/use-action-queue.js +140 -0
  293. package/dashboard/.next/standalone/node_modules/next/dist/client/components/use-offline.js +68 -0
  294. package/dashboard/.next/standalone/node_modules/next/dist/client/dev/debug-channel.js +111 -0
  295. package/dashboard/.next/standalone/node_modules/next/dist/client/flight-data-helpers.js +182 -0
  296. package/dashboard/.next/standalone/node_modules/next/dist/client/has-base-path.js +23 -0
  297. package/dashboard/.next/standalone/node_modules/next/dist/client/lib/console.js +177 -0
  298. package/dashboard/.next/standalone/node_modules/next/dist/client/lib/javascript-url.js +32 -0
  299. package/dashboard/.next/standalone/node_modules/next/dist/client/navigation-build-id.js +53 -0
  300. package/dashboard/.next/standalone/node_modules/next/dist/client/normalize-trailing-slash.js +37 -0
  301. package/dashboard/.next/standalone/node_modules/next/dist/client/remove-base-path.js +32 -0
  302. package/dashboard/.next/standalone/node_modules/next/dist/client/route-params.js +271 -0
  303. package/dashboard/.next/standalone/node_modules/next/dist/client/sequential-call-server.js +45 -0
  304. package/dashboard/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js +339 -0
  305. package/dashboard/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/cookies/package.json +1 -0
  306. package/dashboard/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/ponyfill/index.js +46 -0
  307. package/dashboard/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/ponyfill/package.json +1 -0
  308. package/dashboard/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/abort-controller.js.text.js +1 -0
  309. package/dashboard/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/console.js.text.js +1 -0
  310. package/dashboard/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/events.js.text.js +1 -0
  311. package/dashboard/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/index.js +5 -0
  312. package/dashboard/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/load.js +18713 -0
  313. package/dashboard/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/package.json +1 -0
  314. package/dashboard/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/stream.js +44 -0
  315. package/dashboard/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/timers.js.text.js +1 -0
  316. package/dashboard/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/url.js.text.js +1 -0
  317. package/dashboard/.next/standalone/node_modules/next/dist/compiled/@hapi/accept/index.js +1 -0
  318. package/dashboard/.next/standalone/node_modules/next/dist/compiled/@hapi/accept/package.json +1 -0
  319. package/dashboard/.next/standalone/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/index.js +1 -0
  320. package/dashboard/.next/standalone/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/package.json +1 -0
  321. package/dashboard/.next/standalone/node_modules/next/dist/compiled/@napi-rs/triples/index.js +1 -0
  322. package/dashboard/.next/standalone/node_modules/next/dist/compiled/@napi-rs/triples/package.json +1 -0
  323. package/dashboard/.next/standalone/node_modules/next/dist/compiled/@opentelemetry/api/index.js +1 -0
  324. package/dashboard/.next/standalone/node_modules/next/dist/compiled/@opentelemetry/api/package.json +1 -0
  325. package/dashboard/.next/standalone/node_modules/next/dist/compiled/@vercel/detect-agent/index.js +1 -0
  326. package/dashboard/.next/standalone/node_modules/next/dist/compiled/@vercel/detect-agent/package.json +1 -0
  327. package/dashboard/.next/standalone/node_modules/next/dist/compiled/async-retry/index.js +1 -0
  328. package/dashboard/.next/standalone/node_modules/next/dist/compiled/async-retry/package.json +1 -0
  329. package/dashboard/.next/standalone/node_modules/next/dist/compiled/async-sema/index.js +1 -0
  330. package/dashboard/.next/standalone/node_modules/next/dist/compiled/async-sema/package.json +1 -0
  331. package/dashboard/.next/standalone/node_modules/next/dist/compiled/busboy/index.js +1 -0
  332. package/dashboard/.next/standalone/node_modules/next/dist/compiled/busboy/package.json +1 -0
  333. package/dashboard/.next/standalone/node_modules/next/dist/compiled/bytes/index.js +8 -0
  334. package/dashboard/.next/standalone/node_modules/next/dist/compiled/bytes/package.json +1 -0
  335. package/dashboard/.next/standalone/node_modules/next/dist/compiled/ci-info/index.js +1 -0
  336. package/dashboard/.next/standalone/node_modules/next/dist/compiled/ci-info/package.json +1 -0
  337. package/dashboard/.next/standalone/node_modules/next/dist/compiled/commander/index.js +1 -0
  338. package/dashboard/.next/standalone/node_modules/next/dist/compiled/commander/package.json +1 -0
  339. package/dashboard/.next/standalone/node_modules/next/dist/compiled/comment-json/index.js +7 -0
  340. package/dashboard/.next/standalone/node_modules/next/dist/compiled/comment-json/package.json +1 -0
  341. package/dashboard/.next/standalone/node_modules/next/dist/compiled/compression/index.js +58 -0
  342. package/dashboard/.next/standalone/node_modules/next/dist/compiled/compression/package.json +1 -0
  343. package/dashboard/.next/standalone/node_modules/next/dist/compiled/conf/index.js +3 -0
  344. package/dashboard/.next/standalone/node_modules/next/dist/compiled/conf/package.json +1 -0
  345. package/dashboard/.next/standalone/node_modules/next/dist/compiled/content-disposition/index.js +6 -0
  346. package/dashboard/.next/standalone/node_modules/next/dist/compiled/content-disposition/package.json +1 -0
  347. package/dashboard/.next/standalone/node_modules/next/dist/compiled/cookie/index.js +7 -0
  348. package/dashboard/.next/standalone/node_modules/next/dist/compiled/cookie/package.json +1 -0
  349. package/dashboard/.next/standalone/node_modules/next/dist/compiled/cross-spawn/index.js +1 -0
  350. package/dashboard/.next/standalone/node_modules/next/dist/compiled/cross-spawn/package.json +1 -0
  351. package/dashboard/.next/standalone/node_modules/next/dist/compiled/debug/index.js +1 -0
  352. package/dashboard/.next/standalone/node_modules/next/dist/compiled/debug/package.json +1 -0
  353. package/dashboard/.next/standalone/node_modules/next/dist/compiled/edge-runtime/index.js +1 -0
  354. package/dashboard/.next/standalone/node_modules/next/dist/compiled/edge-runtime/package.json +1 -0
  355. package/dashboard/.next/standalone/node_modules/next/dist/compiled/find-up/index.js +1 -0
  356. package/dashboard/.next/standalone/node_modules/next/dist/compiled/find-up/package.json +1 -0
  357. package/dashboard/.next/standalone/node_modules/next/dist/compiled/fresh/index.js +8 -0
  358. package/dashboard/.next/standalone/node_modules/next/dist/compiled/fresh/package.json +1 -0
  359. package/dashboard/.next/standalone/node_modules/next/dist/compiled/hash.js/sha256/256.js +1 -0
  360. package/dashboard/.next/standalone/node_modules/next/dist/compiled/hash.js/sha256/package.json +1 -0
  361. package/dashboard/.next/standalone/node_modules/next/dist/compiled/httpxy/index.js +1 -0
  362. package/dashboard/.next/standalone/node_modules/next/dist/compiled/httpxy/package.json +1 -0
  363. package/dashboard/.next/standalone/node_modules/next/dist/compiled/image-detector/detector.js +1 -0
  364. package/dashboard/.next/standalone/node_modules/next/dist/compiled/image-size/index.js +1 -0
  365. package/dashboard/.next/standalone/node_modules/next/dist/compiled/image-size/package.json +1 -0
  366. package/dashboard/.next/standalone/node_modules/next/dist/compiled/ipaddr.js/ipaddr.js +1 -0
  367. package/dashboard/.next/standalone/node_modules/next/dist/compiled/ipaddr.js/package.json +1 -0
  368. package/dashboard/.next/standalone/node_modules/next/dist/compiled/is-animated/index.js +1 -0
  369. package/dashboard/.next/standalone/node_modules/next/dist/compiled/is-animated/package.json +1 -0
  370. package/dashboard/.next/standalone/node_modules/next/dist/compiled/is-docker/index.js +1 -0
  371. package/dashboard/.next/standalone/node_modules/next/dist/compiled/is-docker/package.json +1 -0
  372. package/dashboard/.next/standalone/node_modules/next/dist/compiled/is-wsl/index.js +1 -0
  373. package/dashboard/.next/standalone/node_modules/next/dist/compiled/is-wsl/package.json +1 -0
  374. package/dashboard/.next/standalone/node_modules/next/dist/compiled/jsonwebtoken/index.js +11 -0
  375. package/dashboard/.next/standalone/node_modules/next/dist/compiled/jsonwebtoken/package.json +1 -0
  376. package/dashboard/.next/standalone/node_modules/next/dist/compiled/nanoid/index.cjs +1 -0
  377. package/dashboard/.next/standalone/node_modules/next/dist/compiled/nanoid/package.json +1 -0
  378. package/dashboard/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +327 -0
  379. package/dashboard/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +327 -0
  380. package/dashboard/.next/standalone/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +8 -0
  381. package/dashboard/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +20 -0
  382. package/dashboard/.next/standalone/node_modules/next/dist/compiled/p-limit/index.js +1 -0
  383. package/dashboard/.next/standalone/node_modules/next/dist/compiled/p-limit/package.json +1 -0
  384. package/dashboard/.next/standalone/node_modules/next/dist/compiled/p-queue/index.js +1 -0
  385. package/dashboard/.next/standalone/node_modules/next/dist/compiled/p-queue/package.json +1 -0
  386. package/dashboard/.next/standalone/node_modules/next/dist/compiled/path-browserify/index.js +1 -0
  387. package/dashboard/.next/standalone/node_modules/next/dist/compiled/path-browserify/package.json +1 -0
  388. package/dashboard/.next/standalone/node_modules/next/dist/compiled/path-to-regexp/index.js +1 -0
  389. package/dashboard/.next/standalone/node_modules/next/dist/compiled/path-to-regexp/package.json +1 -0
  390. package/dashboard/.next/standalone/node_modules/next/dist/compiled/picomatch/index.js +1 -0
  391. package/dashboard/.next/standalone/node_modules/next/dist/compiled/picomatch/package.json +1 -0
  392. package/dashboard/.next/standalone/node_modules/next/dist/compiled/react-is/cjs/react-is.development.js +133 -0
  393. package/dashboard/.next/standalone/node_modules/next/dist/compiled/react-is/cjs/react-is.production.js +130 -0
  394. package/dashboard/.next/standalone/node_modules/next/dist/compiled/react-is/index.js +7 -0
  395. package/dashboard/.next/standalone/node_modules/next/dist/compiled/react-is/package.json +26 -0
  396. package/dashboard/.next/standalone/node_modules/next/dist/compiled/regenerator-runtime/package.json +19 -0
  397. package/dashboard/.next/standalone/node_modules/next/dist/compiled/regenerator-runtime/runtime.js +729 -0
  398. package/dashboard/.next/standalone/node_modules/next/dist/compiled/semver/index.js +1 -0
  399. package/dashboard/.next/standalone/node_modules/next/dist/compiled/semver/package.json +1 -0
  400. package/dashboard/.next/standalone/node_modules/next/dist/compiled/send/index.js +70 -0
  401. package/dashboard/.next/standalone/node_modules/next/dist/compiled/send/package.json +1 -0
  402. package/dashboard/.next/standalone/node_modules/next/dist/compiled/source-map/package.json +1 -0
  403. package/dashboard/.next/standalone/node_modules/next/dist/compiled/source-map/source-map.js +1 -0
  404. package/dashboard/.next/standalone/node_modules/next/dist/compiled/stacktrace-parser/package.json +1 -0
  405. package/dashboard/.next/standalone/node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js +1 -0
  406. package/dashboard/.next/standalone/node_modules/next/dist/compiled/string-hash/index.js +1 -0
  407. package/dashboard/.next/standalone/node_modules/next/dist/compiled/string-hash/package.json +1 -0
  408. package/dashboard/.next/standalone/node_modules/next/dist/compiled/strip-ansi/index.js +1 -0
  409. package/dashboard/.next/standalone/node_modules/next/dist/compiled/strip-ansi/package.json +1 -0
  410. package/dashboard/.next/standalone/node_modules/next/dist/compiled/superstruct/index.cjs +1 -0
  411. package/dashboard/.next/standalone/node_modules/next/dist/compiled/superstruct/package.json +1 -0
  412. package/dashboard/.next/standalone/node_modules/next/dist/compiled/tar/index.min.js +1 -0
  413. package/dashboard/.next/standalone/node_modules/next/dist/compiled/tar/package.json +1 -0
  414. package/dashboard/.next/standalone/node_modules/next/dist/compiled/text-table/index.js +1 -0
  415. package/dashboard/.next/standalone/node_modules/next/dist/compiled/text-table/package.json +1 -0
  416. package/dashboard/.next/standalone/node_modules/next/dist/compiled/watchpack/package.json +1 -0
  417. package/dashboard/.next/standalone/node_modules/next/dist/compiled/watchpack/watchpack.js +1 -0
  418. package/dashboard/.next/standalone/node_modules/next/dist/compiled/write-file-atomic/index.js +1 -0
  419. package/dashboard/.next/standalone/node_modules/next/dist/compiled/write-file-atomic/package.json +1 -0
  420. package/dashboard/.next/standalone/node_modules/next/dist/compiled/ws/index.js +1 -0
  421. package/dashboard/.next/standalone/node_modules/next/dist/compiled/ws/package.json +1 -0
  422. package/dashboard/.next/standalone/node_modules/next/dist/compiled/zod/index.cjs +1 -0
  423. package/dashboard/.next/standalone/node_modules/next/dist/compiled/zod/package.json +1 -0
  424. package/dashboard/.next/standalone/node_modules/next/dist/compiled/zod-validation-error/index.js +1 -0
  425. package/dashboard/.next/standalone/node_modules/next/dist/compiled/zod-validation-error/package.json +1 -0
  426. package/dashboard/.next/standalone/node_modules/next/dist/experimental/testmode/context.js +57 -0
  427. package/dashboard/.next/standalone/node_modules/next/dist/experimental/testmode/fetch.js +150 -0
  428. package/dashboard/.next/standalone/node_modules/next/dist/experimental/testmode/httpget.js +33 -0
  429. package/dashboard/.next/standalone/node_modules/next/dist/experimental/testmode/server-edge.js +32 -0
  430. package/dashboard/.next/standalone/node_modules/next/dist/experimental/testmode/server.js +73 -0
  431. package/dashboard/.next/standalone/node_modules/next/dist/export/helpers/create-incremental-cache.js +66 -0
  432. package/dashboard/.next/standalone/node_modules/next/dist/export/utils.js +37 -0
  433. package/dashboard/.next/standalone/node_modules/next/dist/lib/batcher.js +65 -0
  434. package/dashboard/.next/standalone/node_modules/next/dist/lib/build-custom-route.js +46 -0
  435. package/dashboard/.next/standalone/node_modules/next/dist/lib/bundler.js +168 -0
  436. package/dashboard/.next/standalone/node_modules/next/dist/lib/client-and-server-references.js +54 -0
  437. package/dashboard/.next/standalone/node_modules/next/dist/lib/coalesced-function.js +39 -0
  438. package/dashboard/.next/standalone/node_modules/next/dist/lib/compile-error.js +14 -0
  439. package/dashboard/.next/standalone/node_modules/next/dist/lib/constants.js +420 -0
  440. package/dashboard/.next/standalone/node_modules/next/dist/lib/create-client-router-filter.js +83 -0
  441. package/dashboard/.next/standalone/node_modules/next/dist/lib/default-transpiled-packages.json +1 -0
  442. package/dashboard/.next/standalone/node_modules/next/dist/lib/detect-typo.js +51 -0
  443. package/dashboard/.next/standalone/node_modules/next/dist/lib/dist-dir.js +88 -0
  444. package/dashboard/.next/standalone/node_modules/next/dist/lib/download-swc.js +175 -0
  445. package/dashboard/.next/standalone/node_modules/next/dist/lib/fallback.js +88 -0
  446. package/dashboard/.next/standalone/node_modules/next/dist/lib/file-exists.js +53 -0
  447. package/dashboard/.next/standalone/node_modules/next/dist/lib/find-config.js +102 -0
  448. package/dashboard/.next/standalone/node_modules/next/dist/lib/find-pages-dir.js +57 -0
  449. package/dashboard/.next/standalone/node_modules/next/dist/lib/find-root.js +280 -0
  450. package/dashboard/.next/standalone/node_modules/next/dist/lib/format-cli-help-output.js +84 -0
  451. package/dashboard/.next/standalone/node_modules/next/dist/lib/format-dynamic-import-path.js +43 -0
  452. package/dashboard/.next/standalone/node_modules/next/dist/lib/format-server-error.js +75 -0
  453. package/dashboard/.next/standalone/node_modules/next/dist/lib/framework/boundary-components.js +62 -0
  454. package/dashboard/.next/standalone/node_modules/next/dist/lib/framework/boundary-constants.js +36 -0
  455. package/dashboard/.next/standalone/node_modules/next/dist/lib/fs/rename.js +87 -0
  456. package/dashboard/.next/standalone/node_modules/next/dist/lib/fs/write-atomic.js +28 -0
  457. package/dashboard/.next/standalone/node_modules/next/dist/lib/generate-interception-routes-rewrites.js +52 -0
  458. package/dashboard/.next/standalone/node_modules/next/dist/lib/get-files-in-dir.js +33 -0
  459. package/dashboard/.next/standalone/node_modules/next/dist/lib/get-network-host.js +44 -0
  460. package/dashboard/.next/standalone/node_modules/next/dist/lib/get-package-version.js +118 -0
  461. package/dashboard/.next/standalone/node_modules/next/dist/lib/get-project-dir.js +51 -0
  462. package/dashboard/.next/standalone/node_modules/next/dist/lib/git-worktree.js +74 -0
  463. package/dashboard/.next/standalone/node_modules/next/dist/lib/has-necessary-dependencies.js +49 -0
  464. package/dashboard/.next/standalone/node_modules/next/dist/lib/helpers/get-cache-directory.js +62 -0
  465. package/dashboard/.next/standalone/node_modules/next/dist/lib/helpers/get-npx-command.js +29 -0
  466. package/dashboard/.next/standalone/node_modules/next/dist/lib/helpers/get-online.js +50 -0
  467. package/dashboard/.next/standalone/node_modules/next/dist/lib/helpers/get-pkg-manager.js +65 -0
  468. package/dashboard/.next/standalone/node_modules/next/dist/lib/helpers/get-registry.js +41 -0
  469. package/dashboard/.next/standalone/node_modules/next/dist/lib/helpers/get-reserved-port.js +116 -0
  470. package/dashboard/.next/standalone/node_modules/next/dist/lib/helpers/git.js +104 -0
  471. package/dashboard/.next/standalone/node_modules/next/dist/lib/helpers/install.js +83 -0
  472. package/dashboard/.next/standalone/node_modules/next/dist/lib/import-next-warning.js +50 -0
  473. package/dashboard/.next/standalone/node_modules/next/dist/lib/inline-static-env.js +108 -0
  474. package/dashboard/.next/standalone/node_modules/next/dist/lib/install-dependencies.js +40 -0
  475. package/dashboard/.next/standalone/node_modules/next/dist/lib/interop-default.js +16 -0
  476. package/dashboard/.next/standalone/node_modules/next/dist/lib/is-api-route.js +15 -0
  477. package/dashboard/.next/standalone/node_modules/next/dist/lib/is-app-page-route.js +15 -0
  478. package/dashboard/.next/standalone/node_modules/next/dist/lib/is-app-route-route.js +15 -0
  479. package/dashboard/.next/standalone/node_modules/next/dist/lib/is-edge-runtime.js +16 -0
  480. package/dashboard/.next/standalone/node_modules/next/dist/lib/is-error.js +66 -0
  481. package/dashboard/.next/standalone/node_modules/next/dist/lib/is-interception-route-rewrite.js +18 -0
  482. package/dashboard/.next/standalone/node_modules/next/dist/lib/is-internal-component.js +36 -0
  483. package/dashboard/.next/standalone/node_modules/next/dist/lib/is-serializable-props.js +82 -0
  484. package/dashboard/.next/standalone/node_modules/next/dist/lib/known-edge-safe-packages.json +1 -0
  485. package/dashboard/.next/standalone/node_modules/next/dist/lib/load-custom-routes.js +594 -0
  486. package/dashboard/.next/standalone/node_modules/next/dist/lib/memory/gc-observer.js +53 -0
  487. package/dashboard/.next/standalone/node_modules/next/dist/lib/memory/shutdown.js +29 -0
  488. package/dashboard/.next/standalone/node_modules/next/dist/lib/memory/startup.js +47 -0
  489. package/dashboard/.next/standalone/node_modules/next/dist/lib/memory/trace.js +109 -0
  490. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/constants.js +40 -0
  491. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/default-metadata.js +82 -0
  492. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/generate/icon-mark.js +22 -0
  493. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/generate/utils.js +52 -0
  494. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/get-metadata-route.js +162 -0
  495. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/index.js +18 -0
  496. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/is-metadata-route.js +221 -0
  497. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/metadata-context.js +18 -0
  498. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/metadata-elements.js +1498 -0
  499. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/metadata-parallel.js +175 -0
  500. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/metadata-resolution-primitives.js +467 -0
  501. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/metadata.js +174 -0
  502. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/resolve-metadata-parallel.js +632 -0
  503. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/resolve-metadata.js +485 -0
  504. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/resolvers/resolve-basics.js +232 -0
  505. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/resolvers/resolve-icons.js +56 -0
  506. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/resolvers/resolve-opengraph.js +199 -0
  507. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/resolvers/resolve-title.js +40 -0
  508. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/resolvers/resolve-url.js +135 -0
  509. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/types/alternative-urls-types.js +7 -0
  510. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/types/extra-types.js +9 -0
  511. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/types/icons.js +6 -0
  512. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/types/manifest-types.js +6 -0
  513. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/types/metadata-interface.js +18 -0
  514. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/types/metadata-types.js +10 -0
  515. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/types/opengraph-types.js +6 -0
  516. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/types/resolvers.js +6 -0
  517. package/dashboard/.next/standalone/node_modules/next/dist/lib/metadata/types/twitter-types.js +7 -0
  518. package/dashboard/.next/standalone/node_modules/next/dist/lib/mime-type.js +20 -0
  519. package/dashboard/.next/standalone/node_modules/next/dist/lib/mkcert.js +188 -0
  520. package/dashboard/.next/standalone/node_modules/next/dist/lib/multi-file-writer.js +75 -0
  521. package/dashboard/.next/standalone/node_modules/next/dist/lib/needs-experimental-react.js +16 -0
  522. package/dashboard/.next/standalone/node_modules/next/dist/lib/non-nullable.js +15 -0
  523. package/dashboard/.next/standalone/node_modules/next/dist/lib/normalize-path.js +21 -0
  524. package/dashboard/.next/standalone/node_modules/next/dist/lib/oxford-comma-list.js +15 -0
  525. package/dashboard/.next/standalone/node_modules/next/dist/lib/page-types.js +18 -0
  526. package/dashboard/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +181 -0
  527. package/dashboard/.next/standalone/node_modules/next/dist/lib/pick.js +19 -0
  528. package/dashboard/.next/standalone/node_modules/next/dist/lib/picocolors.js +187 -0
  529. package/dashboard/.next/standalone/node_modules/next/dist/lib/pretty-bytes.js +70 -0
  530. package/dashboard/.next/standalone/node_modules/next/dist/lib/profiles-dir.js +45 -0
  531. package/dashboard/.next/standalone/node_modules/next/dist/lib/realpath.js +20 -0
  532. package/dashboard/.next/standalone/node_modules/next/dist/lib/recursive-copy.js +76 -0
  533. package/dashboard/.next/standalone/node_modules/next/dist/lib/recursive-delete.js +176 -0
  534. package/dashboard/.next/standalone/node_modules/next/dist/lib/recursive-readdir.js +124 -0
  535. package/dashboard/.next/standalone/node_modules/next/dist/lib/redirect-status.js +46 -0
  536. package/dashboard/.next/standalone/node_modules/next/dist/lib/require-instrumentation-client.js +32 -0
  537. package/dashboard/.next/standalone/node_modules/next/dist/lib/resolve-build-paths.js +178 -0
  538. package/dashboard/.next/standalone/node_modules/next/dist/lib/resolve-from.js +57 -0
  539. package/dashboard/.next/standalone/node_modules/next/dist/lib/route-pattern-normalizer.js +107 -0
  540. package/dashboard/.next/standalone/node_modules/next/dist/lib/scheduler.js +64 -0
  541. package/dashboard/.next/standalone/node_modules/next/dist/lib/semver-noop.js +18 -0
  542. package/dashboard/.next/standalone/node_modules/next/dist/lib/server-external-packages.jsonc +103 -0
  543. package/dashboard/.next/standalone/node_modules/next/dist/lib/setup-exception-listeners.js +11 -0
  544. package/dashboard/.next/standalone/node_modules/next/dist/lib/static-env.js +88 -0
  545. package/dashboard/.next/standalone/node_modules/next/dist/lib/try-to-parse-path.js +67 -0
  546. package/dashboard/.next/standalone/node_modules/next/dist/lib/turbopack-cache-seed.js +171 -0
  547. package/dashboard/.next/standalone/node_modules/next/dist/lib/turbopack-warning.js +185 -0
  548. package/dashboard/.next/standalone/node_modules/next/dist/lib/typescript/diagnosticFormatter.js +243 -0
  549. package/dashboard/.next/standalone/node_modules/next/dist/lib/typescript/getTypeScriptConfiguration.js +61 -0
  550. package/dashboard/.next/standalone/node_modules/next/dist/lib/typescript/getTypeScriptIntent.js +52 -0
  551. package/dashboard/.next/standalone/node_modules/next/dist/lib/typescript/loadTsConfig.js +181 -0
  552. package/dashboard/.next/standalone/node_modules/next/dist/lib/typescript/missingDependencyError.js +22 -0
  553. package/dashboard/.next/standalone/node_modules/next/dist/lib/typescript/runTypeCheck.js +141 -0
  554. package/dashboard/.next/standalone/node_modules/next/dist/lib/typescript/runTypeCheckCli.js +52 -0
  555. package/dashboard/.next/standalone/node_modules/next/dist/lib/typescript/runTypeScriptCli.js +244 -0
  556. package/dashboard/.next/standalone/node_modules/next/dist/lib/typescript/type-paths.js +51 -0
  557. package/dashboard/.next/standalone/node_modules/next/dist/lib/typescript/writeAppTypeDeclarations.js +77 -0
  558. package/dashboard/.next/standalone/node_modules/next/dist/lib/typescript/writeConfigurationDefaults.js +395 -0
  559. package/dashboard/.next/standalone/node_modules/next/dist/lib/url.js +75 -0
  560. package/dashboard/.next/standalone/node_modules/next/dist/lib/verify-partytown-setup.js +100 -0
  561. package/dashboard/.next/standalone/node_modules/next/dist/lib/verify-root-layout.js +165 -0
  562. package/dashboard/.next/standalone/node_modules/next/dist/lib/verify-typescript-setup.js +271 -0
  563. package/dashboard/.next/standalone/node_modules/next/dist/lib/wait.js +19 -0
  564. package/dashboard/.next/standalone/node_modules/next/dist/lib/warn-missing-react-dependencies.js +33 -0
  565. package/dashboard/.next/standalone/node_modules/next/dist/lib/with-promise-cache.js +24 -0
  566. package/dashboard/.next/standalone/node_modules/next/dist/lib/worker.js +230 -0
  567. package/dashboard/.next/standalone/node_modules/next/dist/server/ReactDOMServerPages.js +16 -0
  568. package/dashboard/.next/standalone/node_modules/next/dist/server/accept-header.js +120 -0
  569. package/dashboard/.next/standalone/node_modules/next/dist/server/after/after-context.js +158 -0
  570. package/dashboard/.next/standalone/node_modules/next/dist/server/after/after.js +24 -0
  571. package/dashboard/.next/standalone/node_modules/next/dist/server/after/awaiter.js +70 -0
  572. package/dashboard/.next/standalone/node_modules/next/dist/server/after/builtin-request-context.js +38 -0
  573. package/dashboard/.next/standalone/node_modules/next/dist/server/after/index.js +21 -0
  574. package/dashboard/.next/standalone/node_modules/next/dist/server/after/run-with-after.js +35 -0
  575. package/dashboard/.next/standalone/node_modules/next/dist/server/api-utils/get-cookie-parser.js +22 -0
  576. package/dashboard/.next/standalone/node_modules/next/dist/server/api-utils/index.js +208 -0
  577. package/dashboard/.next/standalone/node_modules/next/dist/server/api-utils/node/api-resolver.js +355 -0
  578. package/dashboard/.next/standalone/node_modules/next/dist/server/api-utils/node/parse-body.js +67 -0
  579. package/dashboard/.next/standalone/node_modules/next/dist/server/api-utils/node/try-get-preview-data.js +89 -0
  580. package/dashboard/.next/standalone/node_modules/next/dist/server/api-utils/web.js +17 -0
  581. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/action-async-storage-instance.js +14 -0
  582. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/action-async-storage.external.js +13 -0
  583. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/action-handler.js +1088 -0
  584. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js +14 -0
  585. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/after-task-async-storage.external.js +13 -0
  586. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/app-render-prerender-utils.js +308 -0
  587. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/app-render-render-utils.js +72 -0
  588. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/app-render-scheduling.js +176 -0
  589. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/app-render.js +6632 -0
  590. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/async-local-storage.js +81 -0
  591. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/blocking-route-messages.js +230 -0
  592. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/cache-signal.js +207 -0
  593. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/collect-segment-data.js +1003 -0
  594. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/console-async-storage-instance.js +14 -0
  595. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/console-async-storage.external.js +13 -0
  596. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/create-component-styles-and-scripts.js +39 -0
  597. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/create-component-tree.js +782 -0
  598. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/create-error-handler.js +196 -0
  599. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/create-transport-tree-from-loader-tree.js +190 -0
  600. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/csrf-protection.js +86 -0
  601. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/debug-channel-server.js +47 -0
  602. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/debug-channel-server.node.js +60 -0
  603. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/debug-channel-server.web.js +56 -0
  604. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/dev-validation-error-delivery.js +28 -0
  605. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/dev-validation-events.js +26 -0
  606. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/dev-validation-scheduler.js +86 -0
  607. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/dev-validation-worker-globals.js +41 -0
  608. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/dev-validation-worker-snapshot.js +81 -0
  609. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js +14 -0
  610. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js +36 -0
  611. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/dynamic-rendering-client.js +124 -0
  612. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/dynamic-rendering-validation.js +814 -0
  613. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/dynamic-rendering.js +334 -0
  614. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/encryption-utils-server.js +114 -0
  615. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/encryption-utils.js +89 -0
  616. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/encryption.js +248 -0
  617. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/entry-base.js +260 -0
  618. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/flight-render-result.js +28 -0
  619. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/get-asset-query-string.js +29 -0
  620. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/get-css-inlined-link-tags.js +45 -0
  621. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/get-layer-assets.js +69 -0
  622. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/get-preloadable-fonts.js +39 -0
  623. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/get-script-nonce-from-header.js +32 -0
  624. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/get-short-dynamic-param-type.js +25 -0
  625. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/has-loading-component-in-tree.js +19 -0
  626. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/instant-test-bootstrap.js +20 -0
  627. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js +31 -0
  628. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/boundary-impl.js +118 -0
  629. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js +38 -0
  630. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/instant-config.js +233 -0
  631. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js +383 -0
  632. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.js +33 -0
  633. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/instant-validation.js +873 -0
  634. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/stream-utils.js +88 -0
  635. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/interop-default.js +17 -0
  636. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/make-get-server-inserted-html.js +91 -0
  637. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/manifests-singleton.js +399 -0
  638. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/metadata-insertion/create-server-inserted-metadata.js +29 -0
  639. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/module-loading/instrument-module-getter.js +32 -0
  640. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/module-loading/track-dynamic-import.js +49 -0
  641. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js +32 -0
  642. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js +62 -0
  643. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/parse-and-validate-flight-router-state.js +37 -0
  644. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/postponed-state.js +266 -0
  645. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/prospective-render-utils.js +70 -0
  646. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/react-large-shell-error.js +17 -0
  647. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/react-server.node.js +39 -0
  648. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/render-css-resource.js +57 -0
  649. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/render-in-browser.js +27 -0
  650. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/required-scripts.js +72 -0
  651. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/rsc/preloads.js +74 -0
  652. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/rsc/taint.js +75 -0
  653. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/segment-config/ensure-static.js +206 -0
  654. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/segment-explorer-path.js +128 -0
  655. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/server-inserted-html.js +77 -0
  656. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/staged-rendering.js +316 -0
  657. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/stale-time.js +101 -0
  658. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/stream-ops.js +155 -0
  659. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/stream-ops.node.js +848 -0
  660. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/stream-ops.web.js +233 -0
  661. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/strip-flight-headers.js +18 -0
  662. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/sync-io-messages.js +59 -0
  663. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/types.js +66 -0
  664. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/use-flight-response.js +204 -0
  665. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/vary-params.js +262 -0
  666. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/wait-for-response.js +36 -0
  667. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/walk-tree-with-flight-router-state.js +235 -0
  668. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/work-async-storage-instance.js +14 -0
  669. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/work-async-storage.external.js +13 -0
  670. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js +14 -0
  671. package/dashboard/.next/standalone/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js +260 -0
  672. package/dashboard/.next/standalone/node_modules/next/dist/server/async-storage/draft-mode-provider.js +58 -0
  673. package/dashboard/.next/standalone/node_modules/next/dist/server/async-storage/request-store.js +202 -0
  674. package/dashboard/.next/standalone/node_modules/next/dist/server/async-storage/with-store.js +6 -0
  675. package/dashboard/.next/standalone/node_modules/next/dist/server/async-storage/work-store.js +96 -0
  676. package/dashboard/.next/standalone/node_modules/next/dist/server/base-http/helpers.js +36 -0
  677. package/dashboard/.next/standalone/node_modules/next/dist/server/base-http/index.js +54 -0
  678. package/dashboard/.next/standalone/node_modules/next/dist/server/base-http/node.js +143 -0
  679. package/dashboard/.next/standalone/node_modules/next/dist/server/base-http/web.js +116 -0
  680. package/dashboard/.next/standalone/node_modules/next/dist/server/base-server.js +2181 -0
  681. package/dashboard/.next/standalone/node_modules/next/dist/server/body-streams.js +122 -0
  682. package/dashboard/.next/standalone/node_modules/next/dist/server/cache-dir.js +26 -0
  683. package/dashboard/.next/standalone/node_modules/next/dist/server/capsize-font-metrics.json +181516 -0
  684. package/dashboard/.next/standalone/node_modules/next/dist/server/ci-info.js +41 -0
  685. package/dashboard/.next/standalone/node_modules/next/dist/server/client-component-renderer-logger.js +171 -0
  686. package/dashboard/.next/standalone/node_modules/next/dist/server/config-schema.js +852 -0
  687. package/dashboard/.next/standalone/node_modules/next/dist/server/config-shared.js +417 -0
  688. package/dashboard/.next/standalone/node_modules/next/dist/server/config-utils.js +185 -0
  689. package/dashboard/.next/standalone/node_modules/next/dist/server/config.js +1658 -0
  690. package/dashboard/.next/standalone/node_modules/next/dist/server/create-deduped-by-callsite-server-error-logger.js +96 -0
  691. package/dashboard/.next/standalone/node_modules/next/dist/server/crypto-utils.js +70 -0
  692. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/browser-logs/file-logger.js +186 -0
  693. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/browser-logs/receive-logs.js +610 -0
  694. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/browser-logs/source-map.js +222 -0
  695. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/debug-channel.js +108 -0
  696. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/dev-indicator-server-state.js +15 -0
  697. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/dev-validation-worker-pool.js +233 -0
  698. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/dev-validation-worker.js +308 -0
  699. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/get-source-map-from-file.js +80 -0
  700. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/hot-middleware.js +302 -0
  701. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-rspack.js +171 -0
  702. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-shared-utils.js +56 -0
  703. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +1894 -0
  704. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-types.js +63 -0
  705. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1386 -0
  706. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/log-requests.js +152 -0
  707. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/messages.js +66 -0
  708. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/middleware-turbopack.js +406 -0
  709. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/middleware-webpack.js +487 -0
  710. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/node-stack-frames.js +64 -0
  711. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/on-demand-entry-handler.js +773 -0
  712. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/parse-version-info.js +108 -0
  713. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/require-cache.js +109 -0
  714. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/runtime-error-state.js +220 -0
  715. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/serialized-errors.js +63 -0
  716. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/server-action-logger.js +37 -0
  717. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/static-paths-worker.js +107 -0
  718. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/turbopack-utils.js +711 -0
  719. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/use-cache-probe-pool.js +178 -0
  720. package/dashboard/.next/standalone/node_modules/next/dist/server/dev/use-cache-probe-worker.js +181 -0
  721. package/dashboard/.next/standalone/node_modules/next/dist/server/dynamic-rendering-utils.js +528 -0
  722. package/dashboard/.next/standalone/node_modules/next/dist/server/font-utils.js +43 -0
  723. package/dashboard/.next/standalone/node_modules/next/dist/server/get-app-route-from-entrypoint.js +30 -0
  724. package/dashboard/.next/standalone/node_modules/next/dist/server/get-page-files.js +40 -0
  725. package/dashboard/.next/standalone/node_modules/next/dist/server/get-route-from-entrypoint.js +35 -0
  726. package/dashboard/.next/standalone/node_modules/next/dist/server/image-optimizer/detect-content-type.js +229 -0
  727. package/dashboard/.next/standalone/node_modules/next/dist/server/image-optimizer/extract-etag.js +53 -0
  728. package/dashboard/.next/standalone/node_modules/next/dist/server/image-optimizer/get-image-size.js +25 -0
  729. package/dashboard/.next/standalone/node_modules/next/dist/server/image-optimizer/get-max-age.js +41 -0
  730. package/dashboard/.next/standalone/node_modules/next/dist/server/image-optimizer/get-previously-cached-image-or-null.js +22 -0
  731. package/dashboard/.next/standalone/node_modules/next/dist/server/image-optimizer/image-error.js +23 -0
  732. package/dashboard/.next/standalone/node_modules/next/dist/server/image-optimizer/image-type.js +86 -0
  733. package/dashboard/.next/standalone/node_modules/next/dist/server/image-optimizer/transform.js +227 -0
  734. package/dashboard/.next/standalone/node_modules/next/dist/server/image-optimizer.js +878 -0
  735. package/dashboard/.next/standalone/node_modules/next/dist/server/instrumentation/types.js +6 -0
  736. package/dashboard/.next/standalone/node_modules/next/dist/server/instrumentation/utils.js +21 -0
  737. package/dashboard/.next/standalone/node_modules/next/dist/server/internal-utils.js +39 -0
  738. package/dashboard/.next/standalone/node_modules/next/dist/server/is-private-ip.js +36 -0
  739. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/app-dir-module.js +59 -0
  740. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +145 -0
  741. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/async-callback-set.js +29 -0
  742. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/cache-control.js +22 -0
  743. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/cache-handlers/default.external.js +18 -0
  744. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/cache-handlers/default.js +192 -0
  745. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/cache-handlers/types.js +8 -0
  746. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/chrome-devtools-workspace.js +112 -0
  747. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/clone-response.js +77 -0
  748. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/cpu-profile.js +56 -0
  749. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/decode-query-path-parameter.js +26 -0
  750. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/dedupe-fetch.js +120 -0
  751. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/dev-bundler-service.js +110 -0
  752. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/disk-lru-cache.external.js +63 -0
  753. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/encode-header-safe.js +44 -0
  754. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/etag.js +56 -0
  755. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/experimental/create-env-definitions.js +48 -0
  756. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/find-page-file.js +147 -0
  757. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/fix-mojibake.js +25 -0
  758. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/format-hostname.js +16 -0
  759. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/generate-agent-files.js +303 -0
  760. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/i18n-provider.js +125 -0
  761. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/implicit-tags.js +87 -0
  762. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +500 -0
  763. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/index.js +556 -0
  764. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js +55 -0
  765. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js +81 -0
  766. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js +55 -0
  767. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/install-code-frame.js +22 -0
  768. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/is-ipv6.js +41 -0
  769. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/is-non-html-sec-fetch-dest.js +38 -0
  770. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/is-rsc-request.js +18 -0
  771. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/lazy-module.js +76 -0
  772. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/lazy-result.js +46 -0
  773. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/lru-cache.js +187 -0
  774. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/match-next-data-pathname.js +20 -0
  775. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/mock-request.js +345 -0
  776. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/module-loader/module-loader.js +8 -0
  777. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/module-loader/node-module-loader.js +21 -0
  778. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/module-loader/route-module-loader.js +22 -0
  779. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/node-fs-methods.js +42 -0
  780. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/params-utils.js +52 -0
  781. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/parse-stack.js +46 -0
  782. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/patch-fetch-symbol.js +13 -0
  783. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/patch-fetch.js +1029 -0
  784. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/patch-set-header.js +45 -0
  785. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/postponed-request-body.js +60 -0
  786. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/release-compression-stream.js +24 -0
  787. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/render-server.js +149 -0
  788. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/route-cache-key.js +77 -0
  789. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/router-server.js +826 -0
  790. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/router-utils/block-cross-site-dev.js +108 -0
  791. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/router-utils/build-data-route.js +71 -0
  792. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.js +50 -0
  793. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/router-utils/cache-life-type-utils.js +181 -0
  794. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/router-utils/decode-path-params.js +38 -0
  795. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/router-utils/filesystem.js +793 -0
  796. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js +214 -0
  797. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js +110 -0
  798. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/router-utils/normalize-catchall-routes.js +320 -0
  799. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/router-utils/proxy-request.js +128 -0
  800. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/router-utils/resolve-routes.js +652 -0
  801. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/router-utils/root-params-type-utils.js +61 -0
  802. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/router-utils/route-types-utils.js +326 -0
  803. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/router-utils/router-server-context.js +26 -0
  804. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/router-utils/strict-route-matching-config.js +28 -0
  805. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/router-utils/typegen.js +938 -0
  806. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/router-utils/types.js +6 -0
  807. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/server-action-request-meta.js +53 -0
  808. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/server-ipc/utils.js +83 -0
  809. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/source-maps.js +241 -0
  810. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/start-server.js +550 -0
  811. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/streaming-metadata.js +27 -0
  812. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/to-route.js +37 -0
  813. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/trace/constants.js +260 -0
  814. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/trace/local-span-recorder.js +385 -0
  815. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/trace/request-insights-identity.js +37 -0
  816. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/trace/request-insights.js +308 -0
  817. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/trace/span-store.js +69 -0
  818. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/trace/tracer.js +408 -0
  819. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/trace/utils.js +16 -0
  820. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/types.js +6 -0
  821. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/utils.js +343 -0
  822. package/dashboard/.next/standalone/node_modules/next/dist/server/lib/worker-utils.js +32 -0
  823. package/dashboard/.next/standalone/node_modules/next/dist/server/load-components.js +190 -0
  824. package/dashboard/.next/standalone/node_modules/next/dist/server/load-default-error-components.js +41 -0
  825. package/dashboard/.next/standalone/node_modules/next/dist/server/load-manifest.external.js +116 -0
  826. package/dashboard/.next/standalone/node_modules/next/dist/server/match-bundle.js +25 -0
  827. package/dashboard/.next/standalone/node_modules/next/dist/server/mcp/get-mcp-middleware.js +51 -0
  828. package/dashboard/.next/standalone/node_modules/next/dist/server/mcp/get-or-create-mcp-server.js +51 -0
  829. package/dashboard/.next/standalone/node_modules/next/dist/server/mcp/mcp-telemetry-tracker.js +82 -0
  830. package/dashboard/.next/standalone/node_modules/next/dist/server/mcp/tools/compile-route.js +86 -0
  831. package/dashboard/.next/standalone/node_modules/next/dist/server/mcp/tools/get-compilation-issues.js +68 -0
  832. package/dashboard/.next/standalone/node_modules/next/dist/server/mcp/tools/get-errors.js +114 -0
  833. package/dashboard/.next/standalone/node_modules/next/dist/server/mcp/tools/get-logs.js +67 -0
  834. package/dashboard/.next/standalone/node_modules/next/dist/server/mcp/tools/get-page-metadata.js +188 -0
  835. package/dashboard/.next/standalone/node_modules/next/dist/server/mcp/tools/get-project-metadata.js +59 -0
  836. package/dashboard/.next/standalone/node_modules/next/dist/server/mcp/tools/get-request-insights.js +57 -0
  837. package/dashboard/.next/standalone/node_modules/next/dist/server/mcp/tools/get-routes.js +136 -0
  838. package/dashboard/.next/standalone/node_modules/next/dist/server/mcp/tools/get-server-action-by-id.js +121 -0
  839. package/dashboard/.next/standalone/node_modules/next/dist/server/mcp/tools/next-instance-error-state.js +31 -0
  840. package/dashboard/.next/standalone/node_modules/next/dist/server/mcp/tools/utils/browser-communication.js +82 -0
  841. package/dashboard/.next/standalone/node_modules/next/dist/server/mcp/tools/utils/format-compilation-issues.js +72 -0
  842. package/dashboard/.next/standalone/node_modules/next/dist/server/mcp/tools/utils/format-errors.js +137 -0
  843. package/dashboard/.next/standalone/node_modules/next/dist/server/mcp/tools/utils/resolve-path-to-route.js +49 -0
  844. package/dashboard/.next/standalone/node_modules/next/dist/server/next-server.js +1452 -0
  845. package/dashboard/.next/standalone/node_modules/next/dist/server/next-typescript.js +13 -0
  846. package/dashboard/.next/standalone/node_modules/next/dist/server/next.js +473 -0
  847. package/dashboard/.next/standalone/node_modules/next/dist/server/node-environment-baseline.js +25 -0
  848. package/dashboard/.next/standalone/node_modules/next/dist/server/node-environment-extensions/console-dim.external.js +300 -0
  849. package/dashboard/.next/standalone/node_modules/next/dist/server/node-environment-extensions/console-exit.js +49 -0
  850. package/dashboard/.next/standalone/node_modules/next/dist/server/node-environment-extensions/console-file.js +56 -0
  851. package/dashboard/.next/standalone/node_modules/next/dist/server/node-environment-extensions/date.js +52 -0
  852. package/dashboard/.next/standalone/node_modules/next/dist/server/node-environment-extensions/error-inspect.js +8 -0
  853. package/dashboard/.next/standalone/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js +630 -0
  854. package/dashboard/.next/standalone/node_modules/next/dist/server/node-environment-extensions/global-behaviors.js +29 -0
  855. package/dashboard/.next/standalone/node_modules/next/dist/server/node-environment-extensions/io-utils.js +103 -0
  856. package/dashboard/.next/standalone/node_modules/next/dist/server/node-environment-extensions/node-crypto.js +103 -0
  857. package/dashboard/.next/standalone/node_modules/next/dist/server/node-environment-extensions/process-error-handlers.js +161 -0
  858. package/dashboard/.next/standalone/node_modules/next/dist/server/node-environment-extensions/random.js +28 -0
  859. package/dashboard/.next/standalone/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js +507 -0
  860. package/dashboard/.next/standalone/node_modules/next/dist/server/node-environment-extensions/web-crypto.js +45 -0
  861. package/dashboard/.next/standalone/node_modules/next/dist/server/node-environment.js +19 -0
  862. package/dashboard/.next/standalone/node_modules/next/dist/server/node-polyfill-crypto.js +21 -0
  863. package/dashboard/.next/standalone/node_modules/next/dist/server/normalizers/absolute-filename-normalizer.js +33 -0
  864. package/dashboard/.next/standalone/node_modules/next/dist/server/normalizers/built/app/app-bundle-path-normalizer.js +54 -0
  865. package/dashboard/.next/standalone/node_modules/next/dist/server/normalizers/built/app/app-filename-normalizer.js +22 -0
  866. package/dashboard/.next/standalone/node_modules/next/dist/server/normalizers/built/app/app-page-normalizer.js +40 -0
  867. package/dashboard/.next/standalone/node_modules/next/dist/server/normalizers/built/app/app-pathname-normalizer.js +55 -0
  868. package/dashboard/.next/standalone/node_modules/next/dist/server/normalizers/built/app/index.js +42 -0
  869. package/dashboard/.next/standalone/node_modules/next/dist/server/normalizers/built/pages/index.js +44 -0
  870. package/dashboard/.next/standalone/node_modules/next/dist/server/normalizers/built/pages/pages-bundle-path-normalizer.js +55 -0
  871. package/dashboard/.next/standalone/node_modules/next/dist/server/normalizers/built/pages/pages-filename-normalizer.js +22 -0
  872. package/dashboard/.next/standalone/node_modules/next/dist/server/normalizers/built/pages/pages-page-normalizer.js +19 -0
  873. package/dashboard/.next/standalone/node_modules/next/dist/server/normalizers/built/pages/pages-pathname-normalizer.js +19 -0
  874. package/dashboard/.next/standalone/node_modules/next/dist/server/normalizers/locale-route-normalizer.js +26 -0
  875. package/dashboard/.next/standalone/node_modules/next/dist/server/normalizers/normalizer.js +6 -0
  876. package/dashboard/.next/standalone/node_modules/next/dist/server/normalizers/normalizers.js +23 -0
  877. package/dashboard/.next/standalone/node_modules/next/dist/server/normalizers/prefixing-normalizer.js +26 -0
  878. package/dashboard/.next/standalone/node_modules/next/dist/server/normalizers/request/base-path.js +21 -0
  879. package/dashboard/.next/standalone/node_modules/next/dist/server/normalizers/request/next-data.js +34 -0
  880. package/dashboard/.next/standalone/node_modules/next/dist/server/normalizers/request/pathname-normalizer.js +6 -0
  881. package/dashboard/.next/standalone/node_modules/next/dist/server/normalizers/request/prefix.js +35 -0
  882. package/dashboard/.next/standalone/node_modules/next/dist/server/normalizers/request/rsc.js +19 -0
  883. package/dashboard/.next/standalone/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.js +33 -0
  884. package/dashboard/.next/standalone/node_modules/next/dist/server/normalizers/request/suffix.js +27 -0
  885. package/dashboard/.next/standalone/node_modules/next/dist/server/normalizers/underscore-normalizer.js +17 -0
  886. package/dashboard/.next/standalone/node_modules/next/dist/server/normalizers/wrap-normalizer-fn.js +17 -0
  887. package/dashboard/.next/standalone/node_modules/next/dist/server/og/cache-image-response.js +336 -0
  888. package/dashboard/.next/standalone/node_modules/next/dist/server/og/image-response.js +72 -0
  889. package/dashboard/.next/standalone/node_modules/next/dist/server/patch-error-inspect.js +515 -0
  890. package/dashboard/.next/standalone/node_modules/next/dist/server/pipe-readable.js +224 -0
  891. package/dashboard/.next/standalone/node_modules/next/dist/server/post-process.js +39 -0
  892. package/dashboard/.next/standalone/node_modules/next/dist/server/render-result.js +234 -0
  893. package/dashboard/.next/standalone/node_modules/next/dist/server/render.js +1004 -0
  894. package/dashboard/.next/standalone/node_modules/next/dist/server/request/cache-stages.js +250 -0
  895. package/dashboard/.next/standalone/node_modules/next/dist/server/request/connection.js +104 -0
  896. package/dashboard/.next/standalone/node_modules/next/dist/server/request/cookies.js +204 -0
  897. package/dashboard/.next/standalone/node_modules/next/dist/server/request/draft-mode.js +192 -0
  898. package/dashboard/.next/standalone/node_modules/next/dist/server/request/fallback-params.js +109 -0
  899. package/dashboard/.next/standalone/node_modules/next/dist/server/request/headers.js +201 -0
  900. package/dashboard/.next/standalone/node_modules/next/dist/server/request/io.js +87 -0
  901. package/dashboard/.next/standalone/node_modules/next/dist/server/request/params.js +500 -0
  902. package/dashboard/.next/standalone/node_modules/next/dist/server/request/pathname.js +89 -0
  903. package/dashboard/.next/standalone/node_modules/next/dist/server/request/root-params.js +146 -0
  904. package/dashboard/.next/standalone/node_modules/next/dist/server/request/search-params.js +505 -0
  905. package/dashboard/.next/standalone/node_modules/next/dist/server/request/utils.js +77 -0
  906. package/dashboard/.next/standalone/node_modules/next/dist/server/request-meta.js +55 -0
  907. package/dashboard/.next/standalone/node_modules/next/dist/server/require-hook.js +82 -0
  908. package/dashboard/.next/standalone/node_modules/next/dist/server/require.js +109 -0
  909. package/dashboard/.next/standalone/node_modules/next/dist/server/response-cache/index.js +361 -0
  910. package/dashboard/.next/standalone/node_modules/next/dist/server/response-cache/types.js +41 -0
  911. package/dashboard/.next/standalone/node_modules/next/dist/server/response-cache/utils.js +100 -0
  912. package/dashboard/.next/standalone/node_modules/next/dist/server/response-cache/web.js +104 -0
  913. package/dashboard/.next/standalone/node_modules/next/dist/server/resume-data-cache/cache-store.js +119 -0
  914. package/dashboard/.next/standalone/node_modules/next/dist/server/resume-data-cache/resume-data-cache.js +144 -0
  915. package/dashboard/.next/standalone/node_modules/next/dist/server/revalidation-utils.js +158 -0
  916. package/dashboard/.next/standalone/node_modules/next/dist/server/route-definitions/app-page-route-definition.js +16 -0
  917. package/dashboard/.next/standalone/node_modules/next/dist/server/route-definitions/app-route-route-definition.js +6 -0
  918. package/dashboard/.next/standalone/node_modules/next/dist/server/route-definitions/locale-route-definition.js +6 -0
  919. package/dashboard/.next/standalone/node_modules/next/dist/server/route-definitions/pages-api-route-definition.js +6 -0
  920. package/dashboard/.next/standalone/node_modules/next/dist/server/route-definitions/pages-route-definition.js +6 -0
  921. package/dashboard/.next/standalone/node_modules/next/dist/server/route-definitions/route-definition.js +6 -0
  922. package/dashboard/.next/standalone/node_modules/next/dist/server/route-kind.js +32 -0
  923. package/dashboard/.next/standalone/node_modules/next/dist/server/route-matches/app-page-route-match.js +6 -0
  924. package/dashboard/.next/standalone/node_modules/next/dist/server/route-matches/app-route-route-match.js +6 -0
  925. package/dashboard/.next/standalone/node_modules/next/dist/server/route-matches/locale-route-match.js +6 -0
  926. package/dashboard/.next/standalone/node_modules/next/dist/server/route-matches/pages-api-route-match.js +16 -0
  927. package/dashboard/.next/standalone/node_modules/next/dist/server/route-matches/pages-route-match.js +6 -0
  928. package/dashboard/.next/standalone/node_modules/next/dist/server/route-matches/route-match.js +6 -0
  929. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/dev-render-context.js +23 -0
  930. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.js +52 -0
  931. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/module.compiled.js +36 -0
  932. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/module.js +188 -0
  933. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/module.render.js +39 -0
  934. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/normalize-request-url.js +62 -0
  935. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/parse-request-headers.js +58 -0
  936. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/app-router-context.js +4 -0
  937. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.js +87 -0
  938. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/head-manager-context.js +4 -0
  939. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/hooks-client-context.js +4 -0
  940. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/image-config-context.js +4 -0
  941. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/router-context.js +4 -0
  942. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/server-inserted-html.js +4 -0
  943. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.js +136 -0
  944. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-compiler-runtime.js +4 -0
  945. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-dom.js +4 -0
  946. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js +4 -0
  947. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-runtime.js +4 -0
  948. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.js +4 -0
  949. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-static.js +4 -0
  950. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server.js +4 -0
  951. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-static.js +4 -0
  952. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react.js +4 -0
  953. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.js +121 -0
  954. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-compiler-runtime.js +4 -0
  955. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom-server.js +4 -0
  956. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom.js +4 -0
  957. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js +4 -0
  958. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js +4 -0
  959. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-turbopack-client.js +4 -0
  960. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client.js +4 -0
  961. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js +4 -0
  962. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-route/helpers/auto-implement-methods.js +81 -0
  963. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-route/helpers/clean-url.js +24 -0
  964. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-route/helpers/get-pathname-from-absolute-path.js +29 -0
  965. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-route/helpers/is-static-gen-enabled.js +15 -0
  966. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-route/helpers/parsed-url-query-to-params.js +20 -0
  967. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-route/module.compiled.js +36 -0
  968. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-route/module.js +915 -0
  969. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/app-route/shared-modules.js +56 -0
  970. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/checks.js +45 -0
  971. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/pages/builtin/_error.js +100 -0
  972. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/pages/module.compiled.js +20 -0
  973. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/pages/module.js +92 -0
  974. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/pages/module.render.js +20 -0
  975. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/pages/pages-handler.js +582 -0
  976. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/app-router-context.js +4 -0
  977. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.js +102 -0
  978. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/head-manager-context.js +4 -0
  979. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/hooks-client-context.js +4 -0
  980. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/html-context.js +4 -0
  981. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/image-config-context.js +4 -0
  982. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable-context.js +4 -0
  983. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable.js +4 -0
  984. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/router-context.js +4 -0
  985. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/server-inserted-html.js +4 -0
  986. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/pages-api/module.compiled.js +20 -0
  987. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/pages-api/module.js +54 -0
  988. package/dashboard/.next/standalone/node_modules/next/dist/server/route-modules/route-module.js +777 -0
  989. package/dashboard/.next/standalone/node_modules/next/dist/server/runtime-reacts.external.js +46 -0
  990. package/dashboard/.next/standalone/node_modules/next/dist/server/send-payload.js +88 -0
  991. package/dashboard/.next/standalone/node_modules/next/dist/server/send-response.js +70 -0
  992. package/dashboard/.next/standalone/node_modules/next/dist/server/serve-static.js +62 -0
  993. package/dashboard/.next/standalone/node_modules/next/dist/server/server-route-utils.js +30 -0
  994. package/dashboard/.next/standalone/node_modules/next/dist/server/server-utils.js +340 -0
  995. package/dashboard/.next/standalone/node_modules/next/dist/server/setup-http-agent-env.js +27 -0
  996. package/dashboard/.next/standalone/node_modules/next/dist/server/stream-utils/encoded-tags.js +122 -0
  997. package/dashboard/.next/standalone/node_modules/next/dist/server/stream-utils/node-buffered-transform-stream.js +51 -0
  998. package/dashboard/.next/standalone/node_modules/next/dist/server/stream-utils/node-web-streams-helper.js +935 -0
  999. package/dashboard/.next/standalone/node_modules/next/dist/server/stream-utils/uint8array-helpers.js +74 -0
  1000. package/dashboard/.next/standalone/node_modules/next/dist/server/typescript/constant.js +100 -0
  1001. package/dashboard/.next/standalone/node_modules/next/dist/server/typescript/index.js +199 -0
  1002. package/dashboard/.next/standalone/node_modules/next/dist/server/typescript/rules/client-boundary.js +100 -0
  1003. package/dashboard/.next/standalone/node_modules/next/dist/server/typescript/rules/config.js +561 -0
  1004. package/dashboard/.next/standalone/node_modules/next/dist/server/typescript/rules/entry.js +149 -0
  1005. package/dashboard/.next/standalone/node_modules/next/dist/server/typescript/rules/error.js +38 -0
  1006. package/dashboard/.next/standalone/node_modules/next/dist/server/typescript/rules/metadata.js +234 -0
  1007. package/dashboard/.next/standalone/node_modules/next/dist/server/typescript/rules/server-boundary.js +115 -0
  1008. package/dashboard/.next/standalone/node_modules/next/dist/server/typescript/rules/server.js +79 -0
  1009. package/dashboard/.next/standalone/node_modules/next/dist/server/typescript/utils.js +212 -0
  1010. package/dashboard/.next/standalone/node_modules/next/dist/server/use-cache/cache-life-profile.js +60 -0
  1011. package/dashboard/.next/standalone/node_modules/next/dist/server/use-cache/cache-life.js +79 -0
  1012. package/dashboard/.next/standalone/node_modules/next/dist/server/use-cache/cache-tag.js +46 -0
  1013. package/dashboard/.next/standalone/node_modules/next/dist/server/use-cache/clone-cache-entry.js +28 -0
  1014. package/dashboard/.next/standalone/node_modules/next/dist/server/use-cache/constants.js +40 -0
  1015. package/dashboard/.next/standalone/node_modules/next/dist/server/use-cache/handlers.js +265 -0
  1016. package/dashboard/.next/standalone/node_modules/next/dist/server/use-cache/tiered-cache-handler.js +147 -0
  1017. package/dashboard/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-errors.js +58 -0
  1018. package/dashboard/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-messages.js +190 -0
  1019. package/dashboard/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-probe-globals.js +39 -0
  1020. package/dashboard/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-probe-scheduler.js +117 -0
  1021. package/dashboard/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-wrapper.js +2689 -0
  1022. package/dashboard/.next/standalone/node_modules/next/dist/server/utils.js +73 -0
  1023. package/dashboard/.next/standalone/node_modules/next/dist/server/web/adapter.js +466 -0
  1024. package/dashboard/.next/standalone/node_modules/next/dist/server/web/edge-route-module-wrapper.js +135 -0
  1025. package/dashboard/.next/standalone/node_modules/next/dist/server/web/error.js +54 -0
  1026. package/dashboard/.next/standalone/node_modules/next/dist/server/web/exports/index.js +56 -0
  1027. package/dashboard/.next/standalone/node_modules/next/dist/server/web/forward-trace-context.js +102 -0
  1028. package/dashboard/.next/standalone/node_modules/next/dist/server/web/get-edge-preview-props.js +23 -0
  1029. package/dashboard/.next/standalone/node_modules/next/dist/server/web/globals.js +116 -0
  1030. package/dashboard/.next/standalone/node_modules/next/dist/server/web/http.js +39 -0
  1031. package/dashboard/.next/standalone/node_modules/next/dist/server/web/internal-edge-wait-until.js +64 -0
  1032. package/dashboard/.next/standalone/node_modules/next/dist/server/web/next-url.js +195 -0
  1033. package/dashboard/.next/standalone/node_modules/next/dist/server/web/sandbox/context.js +444 -0
  1034. package/dashboard/.next/standalone/node_modules/next/dist/server/web/sandbox/fetch-inline-assets.js +35 -0
  1035. package/dashboard/.next/standalone/node_modules/next/dist/server/web/sandbox/index.js +28 -0
  1036. package/dashboard/.next/standalone/node_modules/next/dist/server/web/sandbox/resource-managers.js +123 -0
  1037. package/dashboard/.next/standalone/node_modules/next/dist/server/web/sandbox/sandbox.js +133 -0
  1038. package/dashboard/.next/standalone/node_modules/next/dist/server/web/spec-extension/adapters/headers.js +288 -0
  1039. package/dashboard/.next/standalone/node_modules/next/dist/server/web/spec-extension/adapters/next-request.js +138 -0
  1040. package/dashboard/.next/standalone/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js +30 -0
  1041. package/dashboard/.next/standalone/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js +221 -0
  1042. package/dashboard/.next/standalone/node_modules/next/dist/server/web/spec-extension/cookies.js +29 -0
  1043. package/dashboard/.next/standalone/node_modules/next/dist/server/web/spec-extension/fetch-event.js +90 -0
  1044. package/dashboard/.next/standalone/node_modules/next/dist/server/web/spec-extension/image-response.js +18 -0
  1045. package/dashboard/.next/standalone/node_modules/next/dist/server/web/spec-extension/request.js +99 -0
  1046. package/dashboard/.next/standalone/node_modules/next/dist/server/web/spec-extension/response.js +128 -0
  1047. package/dashboard/.next/standalone/node_modules/next/dist/server/web/spec-extension/revalidate.js +188 -0
  1048. package/dashboard/.next/standalone/node_modules/next/dist/server/web/spec-extension/unstable-cache.js +299 -0
  1049. package/dashboard/.next/standalone/node_modules/next/dist/server/web/spec-extension/unstable-no-store.js +50 -0
  1050. package/dashboard/.next/standalone/node_modules/next/dist/server/web/spec-extension/url-pattern.js +13 -0
  1051. package/dashboard/.next/standalone/node_modules/next/dist/server/web/spec-extension/user-agent.js +46 -0
  1052. package/dashboard/.next/standalone/node_modules/next/dist/server/web/types.js +6 -0
  1053. package/dashboard/.next/standalone/node_modules/next/dist/server/web/utils.js +147 -0
  1054. package/dashboard/.next/standalone/node_modules/next/dist/server/web/web-on-close.js +79 -0
  1055. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/action-revalidation-kind.js +31 -0
  1056. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js +50 -0
  1057. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/app-router-types.js +169 -0
  1058. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/constants.js +458 -0
  1059. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/deep-freeze.js +30 -0
  1060. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/deployment-id.js +63 -0
  1061. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/dset.js +34 -0
  1062. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/encode-uri-path.js +15 -0
  1063. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/entry-constants.js +36 -0
  1064. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/error-source.js +36 -0
  1065. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/errors/code-frame.js +21 -0
  1066. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/errors/constants.js +19 -0
  1067. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/errors/empty-generate-static-params-error.js +27 -0
  1068. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/errors/ensure-static-gsp-errors.js +30 -0
  1069. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/errors/hard-deprecated-config-error.js +20 -0
  1070. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/escape-regexp.js +22 -0
  1071. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/get-hostname.js +23 -0
  1072. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/hash.js +42 -0
  1073. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js +18 -0
  1074. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/head.js +164 -0
  1075. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js +60 -0
  1076. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/html-context.shared-runtime.js +36 -0
  1077. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/htmlescape.js +52 -0
  1078. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js +25 -0
  1079. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/i18n/get-locale-redirect.js +59 -0
  1080. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js +54 -0
  1081. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/image-blur-svg.js +22 -0
  1082. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js +19 -0
  1083. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/image-config.js +128 -0
  1084. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/instant-messages.js +35 -0
  1085. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/invariant-error.js +18 -0
  1086. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/is-plain-object.js +42 -0
  1087. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/is-thenable.js +20 -0
  1088. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/isomorphic/path.js +14 -0
  1089. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js +37 -0
  1090. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/lazy-dynamic/react-browser-bailout.js +45 -0
  1091. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.js +19 -0
  1092. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/loadable.shared-runtime.js +246 -0
  1093. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/magic-identifier.js +198 -0
  1094. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/match-local-pattern.js +46 -0
  1095. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/match-remote-pattern.js +59 -0
  1096. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/modern-browserslist-target.js +15 -0
  1097. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/no-fallback-error.external.js +18 -0
  1098. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/normalized-asset-prefix.js +28 -0
  1099. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/page-path/absolute-path-to-page.js +26 -0
  1100. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js +18 -0
  1101. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js +18 -0
  1102. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/page-path/get-page-paths.js +40 -0
  1103. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/page-path/normalize-data-path.js +23 -0
  1104. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/page-path/normalize-page-path.js +26 -0
  1105. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js +19 -0
  1106. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/page-path/remove-page-path-tail.js +20 -0
  1107. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/promise-with-resolvers.js +26 -0
  1108. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/request-insights.js +30 -0
  1109. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/adapters.js +139 -0
  1110. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/routes/app.js +146 -0
  1111. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/add-locale.js +28 -0
  1112. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js +20 -0
  1113. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js +20 -0
  1114. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/app-paths.js +84 -0
  1115. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/as-path-to-search-params.js +17 -0
  1116. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/cache-busting-search-param.js +70 -0
  1117. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/escape-path-delimiters.js +16 -0
  1118. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js +27 -0
  1119. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/format-url.js +111 -0
  1120. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/get-dynamic-param.js +166 -0
  1121. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js +52 -0
  1122. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/get-route-from-asset-path.js +25 -0
  1123. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/get-segment-param.js +90 -0
  1124. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/html-bots.js +17 -0
  1125. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/index.js +30 -0
  1126. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/interception-prefix-from-param-type.js +33 -0
  1127. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/interception-routes.js +151 -0
  1128. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/is-bot.js +57 -0
  1129. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/is-dynamic.js +26 -0
  1130. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.js +31 -0
  1131. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js +30 -0
  1132. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/parse-path.js +33 -0
  1133. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js +39 -0
  1134. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/parse-url.js +38 -0
  1135. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js +20 -0
  1136. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/path-match.js +49 -0
  1137. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/prepare-destination.js +289 -0
  1138. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/querystring.js +110 -0
  1139. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/relativize-url.js +40 -0
  1140. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js +39 -0
  1141. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js +22 -0
  1142. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/resolve-param-value.js +112 -0
  1143. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/route-match-utils.js +113 -0
  1144. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/route-matcher.js +41 -0
  1145. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/route-regex.js +256 -0
  1146. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js +200 -0
  1147. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/router-context.shared-runtime.js +18 -0
  1148. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/rsc-transport.js +108 -0
  1149. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.js +86 -0
  1150. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.js +87 -0
  1151. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/segment.js +90 -0
  1152. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.js +35 -0
  1153. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/server-reference-info.js +68 -0
  1154. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/side-effect.js +63 -0
  1155. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/size-limit.js +40 -0
  1156. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/turbopack/internal-error.js +48 -0
  1157. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/utils/reflect-utils.js +69 -0
  1158. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/utils/warn-once.js +22 -0
  1159. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/utils.js +207 -0
  1160. package/dashboard/.next/standalone/node_modules/next/dist/shared/lib/zod.js +97 -0
  1161. package/dashboard/.next/standalone/node_modules/next/dist/telemetry/agent-name.js +20 -0
  1162. package/dashboard/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +91 -0
  1163. package/dashboard/.next/standalone/node_modules/next/dist/telemetry/detached-flush.js +49 -0
  1164. package/dashboard/.next/standalone/node_modules/next/dist/telemetry/events/build.js +186 -0
  1165. package/dashboard/.next/standalone/node_modules/next/dist/telemetry/events/index.js +41 -0
  1166. package/dashboard/.next/standalone/node_modules/next/dist/telemetry/events/plugins.js +51 -0
  1167. package/dashboard/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +55 -0
  1168. package/dashboard/.next/standalone/node_modules/next/dist/telemetry/events/version.js +68 -0
  1169. package/dashboard/.next/standalone/node_modules/next/dist/telemetry/flush-telemetry.js +19 -0
  1170. package/dashboard/.next/standalone/node_modules/next/dist/telemetry/post-telemetry-payload.js +44 -0
  1171. package/dashboard/.next/standalone/node_modules/next/dist/telemetry/project-id.js +48 -0
  1172. package/dashboard/.next/standalone/node_modules/next/dist/telemetry/storage.js +317 -0
  1173. package/dashboard/.next/standalone/node_modules/next/dist/trace/index.js +58 -0
  1174. package/dashboard/.next/standalone/node_modules/next/dist/trace/report/index.js +40 -0
  1175. package/dashboard/.next/standalone/node_modules/next/dist/trace/report/to-json-build.js +42 -0
  1176. package/dashboard/.next/standalone/node_modules/next/dist/trace/report/to-json.js +215 -0
  1177. package/dashboard/.next/standalone/node_modules/next/dist/trace/report/to-telemetry.js +36 -0
  1178. package/dashboard/.next/standalone/node_modules/next/dist/trace/shared.js +39 -0
  1179. package/dashboard/.next/standalone/node_modules/next/dist/trace/trace.js +216 -0
  1180. package/dashboard/.next/standalone/node_modules/next/package.json +140 -0
  1181. package/dashboard/.next/standalone/node_modules/react/cjs/react-compiler-runtime.production.js +16 -0
  1182. package/dashboard/.next/standalone/node_modules/react/cjs/react-jsx-dev-runtime.production.js +14 -0
  1183. package/dashboard/.next/standalone/node_modules/react/cjs/react-jsx-runtime.production.js +34 -0
  1184. package/dashboard/.next/standalone/node_modules/react/cjs/react.production.js +565 -0
  1185. package/dashboard/.next/standalone/node_modules/react/compiler-runtime.js +14 -0
  1186. package/dashboard/.next/standalone/node_modules/react/index.js +7 -0
  1187. package/dashboard/.next/standalone/node_modules/react/jsx-dev-runtime.js +7 -0
  1188. package/dashboard/.next/standalone/node_modules/react/jsx-runtime.js +7 -0
  1189. package/dashboard/.next/standalone/node_modules/react/package.json +51 -0
  1190. package/dashboard/.next/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +6978 -0
  1191. package/dashboard/.next/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +7072 -0
  1192. package/dashboard/.next/standalone/node_modules/react-dom/cjs/react-dom-server.browser.production.js +7846 -0
  1193. package/dashboard/.next/standalone/node_modules/react-dom/cjs/react-dom-server.edge.production.js +7955 -0
  1194. package/dashboard/.next/standalone/node_modules/react-dom/cjs/react-dom-server.node.production.js +8134 -0
  1195. package/dashboard/.next/standalone/node_modules/react-dom/cjs/react-dom.production.js +229 -0
  1196. package/dashboard/.next/standalone/node_modules/react-dom/index.js +38 -0
  1197. package/dashboard/.next/standalone/node_modules/react-dom/package.json +117 -0
  1198. package/dashboard/.next/standalone/node_modules/react-dom/server.browser.js +16 -0
  1199. package/dashboard/.next/standalone/node_modules/react-dom/server.edge.js +17 -0
  1200. package/dashboard/.next/standalone/node_modules/react-dom/server.node.js +18 -0
  1201. package/dashboard/.next/standalone/node_modules/react-dom/static.node.js +14 -0
  1202. package/dashboard/.next/standalone/node_modules/semver/classes/comparator.js +143 -0
  1203. package/dashboard/.next/standalone/node_modules/semver/classes/range.js +577 -0
  1204. package/dashboard/.next/standalone/node_modules/semver/classes/semver.js +350 -0
  1205. package/dashboard/.next/standalone/node_modules/semver/functions/clean.js +8 -0
  1206. package/dashboard/.next/standalone/node_modules/semver/functions/cmp.js +54 -0
  1207. package/dashboard/.next/standalone/node_modules/semver/functions/coerce.js +62 -0
  1208. package/dashboard/.next/standalone/node_modules/semver/functions/compare-build.js +9 -0
  1209. package/dashboard/.next/standalone/node_modules/semver/functions/compare-loose.js +5 -0
  1210. package/dashboard/.next/standalone/node_modules/semver/functions/compare.js +7 -0
  1211. package/dashboard/.next/standalone/node_modules/semver/functions/diff.js +60 -0
  1212. package/dashboard/.next/standalone/node_modules/semver/functions/eq.js +5 -0
  1213. package/dashboard/.next/standalone/node_modules/semver/functions/gt.js +5 -0
  1214. package/dashboard/.next/standalone/node_modules/semver/functions/gte.js +5 -0
  1215. package/dashboard/.next/standalone/node_modules/semver/functions/inc.js +21 -0
  1216. package/dashboard/.next/standalone/node_modules/semver/functions/lt.js +5 -0
  1217. package/dashboard/.next/standalone/node_modules/semver/functions/lte.js +5 -0
  1218. package/dashboard/.next/standalone/node_modules/semver/functions/major.js +5 -0
  1219. package/dashboard/.next/standalone/node_modules/semver/functions/minor.js +5 -0
  1220. package/dashboard/.next/standalone/node_modules/semver/functions/neq.js +5 -0
  1221. package/dashboard/.next/standalone/node_modules/semver/functions/parse.js +18 -0
  1222. package/dashboard/.next/standalone/node_modules/semver/functions/patch.js +5 -0
  1223. package/dashboard/.next/standalone/node_modules/semver/functions/prerelease.js +8 -0
  1224. package/dashboard/.next/standalone/node_modules/semver/functions/rcompare.js +5 -0
  1225. package/dashboard/.next/standalone/node_modules/semver/functions/rsort.js +5 -0
  1226. package/dashboard/.next/standalone/node_modules/semver/functions/satisfies.js +12 -0
  1227. package/dashboard/.next/standalone/node_modules/semver/functions/sort.js +5 -0
  1228. package/dashboard/.next/standalone/node_modules/semver/functions/truncate.js +48 -0
  1229. package/dashboard/.next/standalone/node_modules/semver/functions/valid.js +8 -0
  1230. package/dashboard/.next/standalone/node_modules/semver/index.js +93 -0
  1231. package/dashboard/.next/standalone/node_modules/semver/internal/constants.js +37 -0
  1232. package/dashboard/.next/standalone/node_modules/semver/internal/debug.js +11 -0
  1233. package/dashboard/.next/standalone/node_modules/semver/internal/identifiers.js +29 -0
  1234. package/dashboard/.next/standalone/node_modules/semver/internal/lrucache.js +42 -0
  1235. package/dashboard/.next/standalone/node_modules/semver/internal/parse-options.js +17 -0
  1236. package/dashboard/.next/standalone/node_modules/semver/internal/re.js +223 -0
  1237. package/dashboard/.next/standalone/node_modules/semver/package.json +78 -0
  1238. package/dashboard/.next/standalone/node_modules/semver/ranges/gtr.js +6 -0
  1239. package/dashboard/.next/standalone/node_modules/semver/ranges/intersects.js +9 -0
  1240. package/dashboard/.next/standalone/node_modules/semver/ranges/ltr.js +6 -0
  1241. package/dashboard/.next/standalone/node_modules/semver/ranges/max-satisfying.js +27 -0
  1242. package/dashboard/.next/standalone/node_modules/semver/ranges/min-satisfying.js +26 -0
  1243. package/dashboard/.next/standalone/node_modules/semver/ranges/min-version.js +63 -0
  1244. package/dashboard/.next/standalone/node_modules/semver/ranges/outside.js +82 -0
  1245. package/dashboard/.next/standalone/node_modules/semver/ranges/simplify.js +49 -0
  1246. package/dashboard/.next/standalone/node_modules/semver/ranges/subset.js +249 -0
  1247. package/dashboard/.next/standalone/node_modules/semver/ranges/to-comparators.js +10 -0
  1248. package/dashboard/.next/standalone/node_modules/semver/ranges/valid.js +13 -0
  1249. package/dashboard/.next/standalone/node_modules/styled-jsx/dist/index/index.js +499 -0
  1250. package/dashboard/.next/standalone/node_modules/styled-jsx/index.js +1 -0
  1251. package/dashboard/.next/standalone/node_modules/styled-jsx/package.json +132 -0
  1252. package/dashboard/.next/standalone/node_modules/styled-jsx/style.js +1 -0
  1253. package/dashboard/.next/standalone/package.json +1 -0
  1254. package/dist/adapters/claude-code.js +351 -0
  1255. package/dist/adapters/codex.js +565 -0
  1256. package/dist/adapters/eve.js +173 -0
  1257. package/dist/checks.js +142 -0
  1258. package/dist/cli.js +471 -0
  1259. package/dist/collector.js +180 -0
  1260. package/dist/db.js +171 -0
  1261. package/dist/fingerprint.js +57 -0
  1262. package/dist/pricing-snapshot.json +886 -0
  1263. package/dist/pricing.js +70 -0
  1264. package/dist/profiles.js +84 -0
  1265. package/dist/queries.js +352 -0
  1266. package/dist/setup.js +264 -0
  1267. package/dist/types.js +3 -0
  1268. package/dist/update.js +50 -0
  1269. package/dist/util.js +107 -0
  1270. package/package.json +53 -4
  1271. package/skills/summarize-run/SKILL.md +22 -0
  1272. package/skills/unharness/SKILL.md +18 -0
  1273. package/src/adapters/claude-code.ts +352 -0
  1274. package/src/adapters/codex.ts +488 -0
  1275. package/src/adapters/eve.ts +180 -0
  1276. package/src/checks.ts +134 -0
  1277. package/src/cli.ts +439 -0
  1278. package/src/collector.ts +178 -0
  1279. package/src/db.ts +182 -0
  1280. package/src/fingerprint.ts +60 -0
  1281. package/src/pricing-snapshot.json +886 -0
  1282. package/src/pricing.ts +83 -0
  1283. package/src/profiles.ts +92 -0
  1284. package/src/queries.ts +422 -0
  1285. package/src/setup.ts +255 -0
  1286. package/src/types.ts +153 -0
  1287. package/src/update.ts +44 -0
  1288. package/src/util.ts +105 -0
@@ -0,0 +1,1809 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ 0 && (module.exports = {
6
+ cancelPrefetchTask: null,
7
+ isPrefetchTaskDirty: null,
8
+ needsSpeculativePrefetch: null,
9
+ pingPrefetchScheduler: null,
10
+ pingPrefetchTask: null,
11
+ reschedulePrefetchTask: null,
12
+ schedulePrefetchTask: null,
13
+ startRevalidationCooldown: null
14
+ });
15
+ function _export(target, all) {
16
+ for(var name in all)Object.defineProperty(target, name, {
17
+ enumerable: true,
18
+ get: all[name]
19
+ });
20
+ }
21
+ _export(exports, {
22
+ cancelPrefetchTask: function() {
23
+ return cancelPrefetchTask;
24
+ },
25
+ isPrefetchTaskDirty: function() {
26
+ return isPrefetchTaskDirty;
27
+ },
28
+ needsSpeculativePrefetch: function() {
29
+ return needsSpeculativePrefetch;
30
+ },
31
+ pingPrefetchScheduler: function() {
32
+ return pingPrefetchScheduler;
33
+ },
34
+ pingPrefetchTask: function() {
35
+ return pingPrefetchTask;
36
+ },
37
+ reschedulePrefetchTask: function() {
38
+ return reschedulePrefetchTask;
39
+ },
40
+ schedulePrefetchTask: function() {
41
+ return schedulePrefetchTask;
42
+ },
43
+ startRevalidationCooldown: function() {
44
+ return startRevalidationCooldown;
45
+ }
46
+ });
47
+ const _varypath = require("./vary-path");
48
+ const _approutertypes = require("../../../shared/lib/app-router-types");
49
+ const _cache = require("./cache");
50
+ const _cachekey = require("./cache-key");
51
+ const _types = require("./types");
52
+ const _lru = require("./lru");
53
+ const scheduleMicrotask = typeof queueMicrotask === 'function' ? queueMicrotask : (fn)=>Promise.resolve().then(fn).catch((error)=>setTimeout(()=>{
54
+ throw error;
55
+ }));
56
+ const taskHeap = [];
57
+ let inProgressRequests = 0;
58
+ let sortIdCounter = 0;
59
+ let didScheduleMicrotask = false;
60
+ // The most recently hovered (or touched, etc) link, i.e. the most recent task
61
+ // scheduled at Intent priority. There's only ever a single task at Intent
62
+ // priority at a time. We reserve special network bandwidth for this task only.
63
+ let mostRecentlyHoveredLink = null;
64
+ // CDN cache propagation delay after revalidation (in milliseconds)
65
+ const REVALIDATION_COOLDOWN_MS = 300;
66
+ // Timeout handle for the revalidation cooldown. When non-null, prefetch
67
+ // requests are blocked to allow CDN cache propagation.
68
+ let revalidationCooldownTimeoutHandle = null;
69
+ function startRevalidationCooldown() {
70
+ // Clear any existing timeout in case multiple revalidations happen
71
+ // in quick succession.
72
+ if (revalidationCooldownTimeoutHandle !== null) {
73
+ clearTimeout(revalidationCooldownTimeoutHandle);
74
+ }
75
+ // Schedule the cooldown to expire after the delay.
76
+ revalidationCooldownTimeoutHandle = setTimeout(()=>{
77
+ revalidationCooldownTimeoutHandle = null;
78
+ // Retry the prefetch queue now that the cooldown has expired.
79
+ pingPrefetchScheduler();
80
+ }, REVALIDATION_COOLDOWN_MS);
81
+ }
82
+ function schedulePrefetchTask(key, renderTreeAtTimeOfPrefetch, fetchStrategy, priority, onInvalidate, navigationLockPrefetch) {
83
+ // Bind the task to the segment cache map that is active right now: the
84
+ // shared map, unless the Instant Navigation Testing lock is held, in which
85
+ // case the task gets the lock scope's private map. This is the single
86
+ // place work is bound to a map based on lock state — everything downstream
87
+ // receives the map explicitly. See `segmentCacheMap` in cache.ts.
88
+ let taskSegmentCacheMap = _cache.segmentCacheMap;
89
+ if (process.env.__NEXT_EXPOSE_TESTING_API) {
90
+ const { getNavigationLockSegmentCacheMap } = require('./navigation-testing-lock');
91
+ const lockMap = getNavigationLockSegmentCacheMap();
92
+ if (lockMap !== null) {
93
+ taskSegmentCacheMap = lockMap;
94
+ }
95
+ }
96
+ // Spawn a new prefetch task
97
+ const task = {
98
+ key,
99
+ renderTreeAtTimeOfPrefetch,
100
+ routeCacheVersion: (0, _cache.getCurrentRouteCacheVersion)(),
101
+ segmentCacheVersion: (0, _cache.getCurrentSegmentCacheVersion)(),
102
+ segmentCacheMap: taskSegmentCacheMap,
103
+ priority,
104
+ phase: 2,
105
+ hasBackgroundWork: false,
106
+ hasPendingResponses: false,
107
+ spawnedRuntimePrefetches: null,
108
+ fetchStrategy,
109
+ sortId: sortIdCounter++,
110
+ isCanceled: false,
111
+ fallbackRetryStatus: _cache.EntryStatus.Empty,
112
+ onInvalidate,
113
+ _heapIndex: -1
114
+ };
115
+ if (process.env.__NEXT_EXPOSE_TESTING_API) {
116
+ task._navigationLockPrefetch = navigationLockPrefetch;
117
+ }
118
+ trackMostRecentlyHoveredLink(task);
119
+ heapPush(taskHeap, task);
120
+ // Schedule an async task to process the queue.
121
+ //
122
+ // The main reason we process the queue in an async task is for batching.
123
+ // It's common for a single JS task/event to trigger multiple prefetches.
124
+ // By deferring to a microtask, we only process the queue once per JS task.
125
+ // If they have different priorities, it also ensures they are processed in
126
+ // the optimal order.
127
+ pingPrefetchScheduler();
128
+ return task;
129
+ }
130
+ function cancelPrefetchTask(task) {
131
+ // Remove the prefetch task from the queue. If the task already completed,
132
+ // then this is a no-op.
133
+ //
134
+ // We must also explicitly mark the task as canceled so that a blocked task
135
+ // does not get added back to the queue when it's pinged by the network.
136
+ task.isCanceled = true;
137
+ // A running fallback-retry loop notices `isCanceled` when it next wakes and
138
+ // bails (settling its status to Rejected), so there's nothing to clean up here.
139
+ heapDelete(taskHeap, task);
140
+ }
141
+ function reschedulePrefetchTask(task, renderTreeAtTimeOfPrefetch, fetchStrategy, priority) {
142
+ // Bump the prefetch task to the top of the queue, as if it were a fresh
143
+ // task. This is essentially the same as canceling the task and scheduling
144
+ // a new one, except it reuses the original object.
145
+ //
146
+ // The primary use case is to increase the priority of a Link-initated
147
+ // prefetch on hover.
148
+ // Un-cancel the task, in case it was previously canceled.
149
+ task.isCanceled = false;
150
+ task.phase = 2;
151
+ // Note: fallback-retry state is deliberately NOT reset here. A retry loop runs
152
+ // at most once per task, even across reschedules, so a re-hover never starts a
153
+ // second loop. A loop already running simply continues (it only stops on
154
+ // cancel); `fallbackRetryStatus` never returns to `Empty` once it leaves it.
155
+ // Assign a new sort ID to move it ahead of all other tasks at the same
156
+ // priority level. (Higher sort IDs are processed first.)
157
+ task.sortId = sortIdCounter++;
158
+ task.priority = // If this task is the most recently hovered link, maintain its
159
+ // Intent priority, even if the rescheduled priority is lower.
160
+ task === mostRecentlyHoveredLink ? _types.PrefetchPriority.Intent : priority;
161
+ task.renderTreeAtTimeOfPrefetch = renderTreeAtTimeOfPrefetch;
162
+ task.fetchStrategy = fetchStrategy;
163
+ trackMostRecentlyHoveredLink(task);
164
+ if (task._heapIndex !== -1) {
165
+ // The task is already in the queue.
166
+ heapResift(taskHeap, task);
167
+ } else {
168
+ heapPush(taskHeap, task);
169
+ }
170
+ pingPrefetchScheduler();
171
+ }
172
+ function isPrefetchTaskDirty(task, nextUrl, root) {
173
+ // This is used to quickly bail out of a prefetch task if the result is
174
+ // guaranteed to not have changed since the task was initiated. This is
175
+ // strictly an optimization — theoretically, if it always returned true, no
176
+ // behavior should change because a full prefetch task will effectively
177
+ // perform the same checks.
178
+ return task.routeCacheVersion !== (0, _cache.getCurrentRouteCacheVersion)() || task.segmentCacheVersion !== (0, _cache.getCurrentSegmentCacheVersion)() || task.renderTreeAtTimeOfPrefetch !== root || task.key.nextUrl !== nextUrl;
179
+ }
180
+ function trackMostRecentlyHoveredLink(task) {
181
+ // Track the mostly recently hovered link, i.e. the most recently scheduled
182
+ // task at Intent priority. There must only be one such task at a time.
183
+ if (task.priority === _types.PrefetchPriority.Intent && task !== mostRecentlyHoveredLink) {
184
+ if (mostRecentlyHoveredLink !== null) {
185
+ // Bump the previously hovered link's priority down to Default.
186
+ if (mostRecentlyHoveredLink.priority !== _types.PrefetchPriority.Background) {
187
+ mostRecentlyHoveredLink.priority = _types.PrefetchPriority.Default;
188
+ heapResift(taskHeap, mostRecentlyHoveredLink);
189
+ }
190
+ }
191
+ mostRecentlyHoveredLink = task;
192
+ }
193
+ }
194
+ function pingPrefetchScheduler() {
195
+ if (didScheduleMicrotask) {
196
+ // Already scheduled a task to process the queue
197
+ return;
198
+ }
199
+ didScheduleMicrotask = true;
200
+ scheduleMicrotask(processQueueInMicrotask);
201
+ }
202
+ /**
203
+ * Checks if we've exceeded the maximum number of concurrent prefetch requests,
204
+ * to avoid saturating the browser's internal network queue. This is a
205
+ * cooperative limit — prefetch tasks should check this before issuing
206
+ * new requests.
207
+ *
208
+ * Also checks if we're within the revalidation cooldown window, during which
209
+ * prefetch requests are delayed to allow CDN cache propagation.
210
+ */ function hasNetworkBandwidth(task) {
211
+ // When offline, don't issue any prefetch requests. The scheduler will be
212
+ // re-pinged when connectivity is restored.
213
+ if (process.env.__NEXT_USE_OFFLINE) {
214
+ const { getOffline } = require('../offline');
215
+ if (getOffline()) {
216
+ return false;
217
+ }
218
+ }
219
+ // Check if we're within the revalidation cooldown window
220
+ if (revalidationCooldownTimeoutHandle !== null) {
221
+ // We're within the cooldown window. Return false to prevent prefetching.
222
+ // When the cooldown expires, the timeout will call ensureWorkIsScheduled()
223
+ // to retry the queue.
224
+ return false;
225
+ }
226
+ // TODO: Also check if there's an in-progress navigation. We should never
227
+ // add prefetch requests to the network queue if an actual navigation is
228
+ // taking place, to ensure there's sufficient bandwidth for render-blocking
229
+ // data and resources.
230
+ // TODO: Consider reserving some amount of bandwidth for static prefetches.
231
+ if (task.priority === _types.PrefetchPriority.Intent) {
232
+ // The most recently hovered link is allowed to exceed the default limit.
233
+ //
234
+ // The goal is to always have enough bandwidth to start a new prefetch
235
+ // request when hovering over a link.
236
+ //
237
+ // However, because we don't abort in-progress requests, it's still possible
238
+ // we'll run out of bandwidth. When links are hovered in quick succession,
239
+ // there could be multiple hover requests running simultaneously.
240
+ return inProgressRequests < 12;
241
+ }
242
+ // The default limit is lower than the limit for a hovered link.
243
+ return inProgressRequests < 4;
244
+ }
245
+ function spawnPrefetchSubtask(prefetchSubtask) {
246
+ // When the scheduler spawns an async task, we don't await its result.
247
+ // Instead, the async task writes its result directly into the cache, then
248
+ // pings the scheduler to continue.
249
+ //
250
+ // We process server responses streamingly, so the prefetch subtask will
251
+ // likely resolve before we're finished receiving all the data. The subtask
252
+ // result includes a promise that resolves once the network connection is
253
+ // closed. The scheduler uses this to control network bandwidth by tracking
254
+ // and limiting the number of concurrent requests.
255
+ inProgressRequests++;
256
+ return prefetchSubtask.then((result)=>{
257
+ if (result === null) {
258
+ // The prefetch task errored before it could start processing the
259
+ // network stream. Assume the connection is closed.
260
+ onPrefetchConnectionClosed();
261
+ return null;
262
+ }
263
+ // Wait for the connection to close before freeing up more bandwidth.
264
+ result.closed.then(onPrefetchConnectionClosed);
265
+ return result.value;
266
+ });
267
+ }
268
+ function onPrefetchConnectionClosed() {
269
+ inProgressRequests--;
270
+ // Notify the scheduler that we have more bandwidth, and can continue
271
+ // processing tasks.
272
+ pingPrefetchScheduler();
273
+ }
274
+ function pingPrefetchTask(task) {
275
+ // "Ping" a prefetch that's already in progress to notify it of new data.
276
+ if (// Check if prefetch was canceled.
277
+ task.isCanceled || // Check if prefetch is already queued.
278
+ task._heapIndex !== -1) {
279
+ return;
280
+ }
281
+ // Add the task back to the queue.
282
+ heapPush(taskHeap, task);
283
+ pingPrefetchScheduler();
284
+ }
285
+ function processQueueInMicrotask() {
286
+ didScheduleMicrotask = false;
287
+ // We aim to minimize how often we read the current time. Since nearly all
288
+ // functions in the prefetch scheduler are synchronous, we can read the time
289
+ // once and pass it as an argument wherever it's needed.
290
+ const now = Date.now();
291
+ // Process the task queue until we run out of network bandwidth.
292
+ let task = heapPeek(taskHeap);
293
+ while(task !== null && hasNetworkBandwidth(task)){
294
+ task.routeCacheVersion = (0, _cache.getCurrentRouteCacheVersion)();
295
+ task.segmentCacheVersion = (0, _cache.getCurrentSegmentCacheVersion)();
296
+ const exitStatus = pingRoute(now, task);
297
+ // These fields are only valid for a single "pass" — one pingRoute
298
+ // invocation for a task, which is what the comments here also call an
299
+ // attempt or an iteration. Reset them after each iteration of the
300
+ // task queue.
301
+ const hasBackgroundWork = task.hasBackgroundWork;
302
+ task.hasBackgroundWork = false;
303
+ task.hasPendingResponses = false;
304
+ task.spawnedRuntimePrefetches = null;
305
+ switch(exitStatus){
306
+ case 0:
307
+ // The task yielded because there are too many requests in progress.
308
+ // Stop processing tasks until we have more bandwidth.
309
+ return;
310
+ case 1:
311
+ // The task is blocked. It needs more data before it can proceed.
312
+ // Keep the task out of the queue until the server responds.
313
+ heapPop(taskHeap);
314
+ // Continue to the next task
315
+ task = heapPeek(taskHeap);
316
+ continue;
317
+ case 2:
318
+ if (task.phase === 2) {
319
+ // Finished prefetching the route tree. The two-phase (Shell then
320
+ // Speculative) flow only applies to routes that have opted into
321
+ // Partial Prefetching — either globally via the `partialPrefetching`
322
+ // config or per segment (`prefetch: 'partial'`), both surfaced as the
323
+ // `SubtreeHasPartialPrefetching` hint on the route tree. Every other
324
+ // route skips the Shell phase and goes straight to Speculative.
325
+ //
326
+ // The route entry is fulfilled at this point (the RouteTree phase
327
+ // just completed), so its prefetch hints are available.
328
+ const route = (0, _cache.readRouteCacheEntry)(now, task.key);
329
+ const routeHasPartialPrefetching = route !== null && route.status === _cache.EntryStatus.Fulfilled && (route.root.tree.prefetchHints & _approutertypes.PrefetchHint.SubtreeHasPartialPrefetching) !== 0;
330
+ task.phase = routeHasPartialPrefetching ? 1 : 0;
331
+ heapResift(taskHeap, task);
332
+ } else if (task.phase === 1) {
333
+ // Shell phase complete — a Done exit means the pass observed every
334
+ // response it cares about (otherwise it would have exited Blocked;
335
+ // see hasPendingResponses). Always advance to Speculative regardless
336
+ // of whether Shell-phase work fired — Speculative is responsible
337
+ // for the per-link concrete work and runs even on routes whose
338
+ // shell phase was a no-op.
339
+ task.phase = 0;
340
+ heapResift(taskHeap, task);
341
+ } else if (hasBackgroundWork) {
342
+ // The task spawned additional background work. Reschedule the task
343
+ // at background priority.
344
+ task.priority = _types.PrefetchPriority.Background;
345
+ heapResift(taskHeap, task);
346
+ } else {
347
+ // The prefetch is complete. Continue to the next task.
348
+ //
349
+ // Completion is terminal in the normal flow: a task only completes
350
+ // after a full pass observed every response it cares about. In rare
351
+ // cases, though, a task can complete while still registered on an
352
+ // entry from an earlier pass whose subtree the final pass no longer
353
+ // reached; when that entry later settles, it re-pings the completed
354
+ // task. The re-run is a harmless idempotent no-op, but any
355
+ // per-completion side effect added here must be idempotent or
356
+ // once-guarded — in particular, the navigation-lock release below
357
+ // must not fire twice (hence the nulling).
358
+ if (process.env.__NEXT_EXPOSE_TESTING_API && task._navigationLockPrefetch != null) {
359
+ // This locked-navigation prefetch is complete: the final pass
360
+ // observed every segment response it cares about, so the data the
361
+ // navigation will read has settled. Resolve the prefetch's
362
+ // promise (awaited by `ensurePrefetchThenNavigate`) so the
363
+ // navigation proceeds against present data rather than a
364
+ // still-in-flight entry.
365
+ const { resolveNavigationLockPrefetch } = require('./navigation-testing-lock');
366
+ resolveNavigationLockPrefetch(task._navigationLockPrefetch);
367
+ // Release at most once per task: a stale registration from an
368
+ // earlier pass can re-ping a completed task (see above), so it can
369
+ // pass through here again.
370
+ task._navigationLockPrefetch = null;
371
+ }
372
+ heapPop(taskHeap);
373
+ }
374
+ task = heapPeek(taskHeap);
375
+ continue;
376
+ default:
377
+ exitStatus;
378
+ }
379
+ }
380
+ // Run LRU cleanup only when the scheduler is fully idle: no queued tasks and
381
+ // no in-progress requests. At that point, all active prefetch tasks have
382
+ // finished reading from the cache (moving recently used entries to the front
383
+ // of the list), so only genuinely stale data gets evicted.
384
+ if (task === null && inProgressRequests === 0) {
385
+ (0, _lru.cleanup)();
386
+ }
387
+ }
388
+ /**
389
+ * Check this during a prefetch task to determine if background work can be
390
+ * performed. If so, it evaluates to `true`. Otherwise, it returns `false`,
391
+ * while also scheduling a background task to run later. Usage:
392
+ *
393
+ * @example
394
+ * if (background(task)) {
395
+ * // Perform background-pri work
396
+ * }
397
+ *
398
+ * TODO: Model "background" as a phase (like Shell / Speculative) rather
399
+ * than as a priority. Conceptually it's the same pattern: defer work
400
+ * until a later pass over the task. The current priority-based encoding
401
+ * predates the phase model and could be unified.
402
+ */ function background(task) {
403
+ if (task.priority === _types.PrefetchPriority.Background) {
404
+ return true;
405
+ }
406
+ task.hasBackgroundWork = true;
407
+ return false;
408
+ }
409
+ function pingRoute(now, task) {
410
+ const key = task.key;
411
+ const route = (0, _cache.readOrCreateRouteCacheEntry)(now, task, key);
412
+ const exitStatus = pingRootRouteTree(now, task, route);
413
+ if (exitStatus !== 0 && key.search !== '') {
414
+ // If the URL has a non-empty search string, also prefetch the pathname
415
+ // without the search string. We use the searchless route tree as a base for
416
+ // optimistic routing; see requestOptimisticRouteCacheEntry for details.
417
+ //
418
+ // Note that we don't need to prefetch any of the segment data. Just the
419
+ // route tree.
420
+ //
421
+ // TODO: This is a temporary solution; the plan is to replace this by adding
422
+ // a wildcard lookup method to the TupleMap implementation. This is
423
+ // non-trivial to implement because it needs to account for things like
424
+ // fallback route entries, hence this temporary workaround.
425
+ const url = new URL(key.pathname, location.origin);
426
+ const keyWithoutSearch = (0, _cachekey.createCacheKey)(url.href, key.nextUrl);
427
+ const routeWithoutSearch = (0, _cache.readOrCreateRouteCacheEntry)(now, task, keyWithoutSearch);
428
+ switch(routeWithoutSearch.status){
429
+ case _cache.EntryStatus.Empty:
430
+ {
431
+ if (background(task)) {
432
+ routeWithoutSearch.status = _cache.EntryStatus.Pending;
433
+ spawnPrefetchSubtask((0, _cache.fetchRouteOnCacheMiss)(routeWithoutSearch, keyWithoutSearch));
434
+ }
435
+ break;
436
+ }
437
+ case _cache.EntryStatus.Pending:
438
+ case _cache.EntryStatus.Fulfilled:
439
+ case _cache.EntryStatus.Rejected:
440
+ {
441
+ break;
442
+ }
443
+ default:
444
+ routeWithoutSearch;
445
+ }
446
+ }
447
+ if (exitStatus === 2 && task.hasPendingResponses) {
448
+ // The pass traversed the whole tree, but some segment responses haven't
449
+ // arrived yet, so the current phase isn't actually complete. Block until
450
+ // they do (see blockTaskOnPendingResponse for the full rationale).
451
+ return 1;
452
+ }
453
+ return exitStatus;
454
+ }
455
+ function pingRootRouteTree(now, task, route) {
456
+ switch(route.status){
457
+ case _cache.EntryStatus.Empty:
458
+ {
459
+ // Route is not yet cached, and there's no request already in progress.
460
+ // Spawn a task to request the route, load it into the cache, and ping
461
+ // the task to continue.
462
+ // TODO: There are multiple strategies in the <Link> API for prefetching
463
+ // a route. Currently we've only implemented the main one: per-segment,
464
+ // static-data only.
465
+ //
466
+ // There's also `<Link prefetch={true}>`
467
+ // which prefetch both static *and* dynamic data.
468
+ // Similarly, we need to fallback to the old, per-page
469
+ // behavior if PPR is disabled for a route (via the incremental opt-in).
470
+ //
471
+ // Those cases will be handled here.
472
+ spawnPrefetchSubtask((0, _cache.fetchRouteOnCacheMiss)(route, task.key));
473
+ // If the request takes longer than a minute, a subsequent request should
474
+ // retry instead of waiting for this one. When the response is received,
475
+ // this value will be replaced by a new value based on the stale time sent
476
+ // from the server.
477
+ // TODO: We should probably also manually abort the fetch task, to reclaim
478
+ // server bandwidth.
479
+ route.staleAt = now + 60 * 1000;
480
+ // Upgrade to Pending so we know there's already a request in progress
481
+ route.status = _cache.EntryStatus.Pending;
482
+ // Intentional fallthrough to the Pending branch
483
+ }
484
+ case _cache.EntryStatus.Pending:
485
+ {
486
+ // Still pending. We can't start prefetching the segments until the route
487
+ // tree has loaded. Add the task to the set of blocked tasks so that it
488
+ // is notified when the route tree is ready.
489
+ const blockedTasks = route.blockedTasks;
490
+ if (blockedTasks === null) {
491
+ route.blockedTasks = new Set([
492
+ task
493
+ ]);
494
+ } else {
495
+ blockedTasks.add(task);
496
+ }
497
+ return 1;
498
+ }
499
+ case _cache.EntryStatus.Rejected:
500
+ {
501
+ // Route tree failed to load. Treat as a 404.
502
+ return 2;
503
+ }
504
+ case _cache.EntryStatus.Fulfilled:
505
+ {
506
+ if (task.phase === 2) {
507
+ // Do not prefetch segment data during the route tree phase.
508
+ return 2;
509
+ }
510
+ // Recursively fill in the segment tree.
511
+ if (!hasNetworkBandwidth(task)) {
512
+ // Stop prefetching segments until there's more bandwidth.
513
+ return 0;
514
+ }
515
+ const tree = route.root.tree;
516
+ // A task's fetch strategy gets set to `PPR` for any "auto" prefetch.
517
+ // If it turned out that the route isn't PPR-enabled, we need to use `LoadingBoundary` instead.
518
+ // We don't need to do this for runtime prefetches, because those are only available in
519
+ // `cacheComponents`, where every route is PPR.
520
+ let fetchStrategy;
521
+ if (tree.prefetchHints & _approutertypes.PrefetchHint.SubtreeHasPartialPrefetching) {
522
+ // If Partial Prefetching is enabled anywhere on the target route,
523
+ // ignore the fetch strategy and switch to unified strategy used by
524
+ // Cache Components (called `PPR` for now, will likely be renamed).
525
+ //
526
+ // In practice, this just means that a "full" prefetch (<Link
527
+ // prefetch={true}>) has no effect. You're meant to use Runtime
528
+ // Prefetching instead — that's the new pattern that replaces
529
+ // prefetch={true}.
530
+ //
531
+ // The reason we check for the Partial Prefetching opt-in rather than
532
+ // the `cacheComponents` flag is to support incremental adoption.
533
+ // `prefetch={true}` will continue to work until you opt into
534
+ // Partial Prefetching.
535
+ fetchStrategy = _types.FetchStrategy.PPR;
536
+ } else if (task.fetchStrategy === _types.FetchStrategy.PPR) {
537
+ fetchStrategy = route.supportsPerSegmentPrefetching ? _types.FetchStrategy.PPR : _types.FetchStrategy.LoadingBoundary;
538
+ } else {
539
+ fetchStrategy = task.fetchStrategy;
540
+ }
541
+ switch(fetchStrategy){
542
+ case _types.FetchStrategy.PPR:
543
+ {
544
+ // For Cache Components pages, each segment may be prefetched
545
+ // statically or using a runtime request, based on various
546
+ // configurations and heuristics. We'll do this in two passes: first
547
+ // traverse the tree and perform all the static prefetches.
548
+ //
549
+ // Then, if there are any segments that need a runtime request,
550
+ // do another pass to perform a runtime prefetch.
551
+ // Derive the static walk's parameters once per pass; the walk
552
+ // functions below receive them as arguments and are phase-agnostic.
553
+ // During the Shell phase the walk requests each segment's
554
+ // shell-stage variant (keyed at the shell vary paths); otherwise
555
+ // it's the ordinary per-segment static strategy. This is the only
556
+ // place the phase is consulted — everything below keys off
557
+ // the strategy.
558
+ const staticWalkStrategy = task.phase === 1 ? _types.FetchStrategy.StaticShell : _types.FetchStrategy.PPR;
559
+ // In PPF, links may skip speculative prefetching if they only need a shell.
560
+ if (staticWalkStrategy === _types.FetchStrategy.PPR && !needsSpeculativePrefetch(task.fetchStrategy, route.root.tree.prefetchHints)) {
561
+ return 2;
562
+ }
563
+ // The head is a one-node tree beside the route tree (see
564
+ // createMetadataRouteTree in cache.ts); it takes the same walk as
565
+ // a segment the current page doesn't have. If the head was inlined
566
+ // into a page's bundle (HeadOutlined is NOT set on the root), skip
567
+ // the standalone walk — the head data will arrive as part of that
568
+ // page's response, and its runtime-completeness signal is carried
569
+ // by that page's own entries.
570
+ const head = route.root.head;
571
+ if (!process.env.__NEXT_PREFETCH_INLINING || (route.root.tree.prefetchHints & _approutertypes.PrefetchHint.HeadOutlined) !== 0 || // An inlined head that can't attempt a static fetch still deopts
572
+ // to the runtime request (the first check of the decision point
573
+ // in pingSegmentInCacheComponentsTree); only the static fetch
574
+ // itself is skipped for an inlined head.
575
+ walkCanUseRuntimeRequests(staticWalkStrategy, route) && !shouldSegmentAttemptStaticRequest(staticWalkStrategy, head)) {
576
+ const headExitStatus = pingNewPartOfCacheComponentsTree(now, task, route, head, null, staticWalkStrategy);
577
+ if (headExitStatus === 0) {
578
+ return 0;
579
+ }
580
+ }
581
+ const exitStatus = pingSharedPartOfCacheComponentsTree(now, task, route, task.renderTreeAtTimeOfPrefetch.tree, tree, null, staticWalkStrategy);
582
+ if (exitStatus === 0) {
583
+ // Child yielded without finishing.
584
+ return 0;
585
+ }
586
+ // `pingSegmentInCacheComponentsTree` may have determined that
587
+ // we need to do a runtime prefetch for one or more segments.
588
+ // Bail out early if runtime prefetches are not permitted for this route.
589
+ if (walkCanUseRuntimeRequests(staticWalkStrategy, route)) {
590
+ const runtimeStrategy = staticWalkStrategy === _types.FetchStrategy.StaticShell ? _types.FetchStrategy.RuntimeShell : _types.FetchStrategy.PPRRuntime;
591
+ // spawnedRuntimePrefetches was populated during the traversal
592
+ // above: every subtree in the new part of the tree that needs a
593
+ // runtime prefetch, the head included — it registers under its
594
+ // own request key, like any segment, when its own static attempt
595
+ // was insufficient or never happened.
596
+ //
597
+ // If it's null, nothing in the new part of the tree is a candidate
598
+ // for runtime prefetching, and we don't fetch the head, either —
599
+ // the head is runtime prefetched only if something is.
600
+ const spawnedRuntimePrefetches = task.spawnedRuntimePrefetches;
601
+ if (spawnedRuntimePrefetches !== null) {
602
+ const spawnedEntries = new Map();
603
+ // The head has no position in the request tree — a runtime
604
+ // response carries it beside the segments (see
605
+ // writeServerResponseIntoCache in cache.ts) — so the head's
606
+ // own request tree is discarded.
607
+ pingRouteTreeAndIncludeDynamicData(now, task, route, head, false, spawnedEntries, runtimeStrategy);
608
+ const requestTree = pingRuntimePrefetches(now, task, route, tree, spawnedRuntimePrefetches, spawnedEntries, runtimeStrategy);
609
+ if (spawnedEntries.size > 0) {
610
+ spawnPrefetchSubtask((0, _cache.fetchSegmentPrefetchesUsingRuntimeRequest)(task, route, runtimeStrategy, requestTree, spawnedEntries));
611
+ }
612
+ }
613
+ }
614
+ return 2;
615
+ }
616
+ case _types.FetchStrategy.Full:
617
+ case _types.FetchStrategy.PPRRuntime:
618
+ case _types.FetchStrategy.LoadingBoundary:
619
+ {
620
+ if (task.phase === 1) {
621
+ // Shell phase only does work on routes that use the PPR strategy
622
+ // (Cache Components routes). Other strategies are Shell no-ops
623
+ // and fall through to Speculative.
624
+ return 2;
625
+ }
626
+ // Prefetch multiple segments using a single runtime request.
627
+ // TODO: We can consolidate this branch with previous one by modeling
628
+ // it as if the first segment in the new tree has runtime prefetching
629
+ // enabled. Will do this as a follow-up refactor. Might want to remove
630
+ // the special metatdata case below first. In the meantime, it's not
631
+ // really that much duplication, just would be nice to remove one of
632
+ // these codepaths.
633
+ const spawnedEntries = new Map();
634
+ // The head has no position in the request tree — a runtime response
635
+ // carries it beside the segments (see writeServerResponseIntoCache
636
+ // in cache.ts) — so the head's own request tree is discarded.
637
+ const head = route.root.head;
638
+ pingRouteTreeAndIncludeDynamicData(now, task, route, head, false, spawnedEntries, // When prefetching the head, there's no difference between Full
639
+ // and LoadingBoundary: the head has no loading boundary, so a
640
+ // LoadingBoundary request would skip it.
641
+ fetchStrategy === _types.FetchStrategy.LoadingBoundary ? _types.FetchStrategy.Full : fetchStrategy);
642
+ const dynamicRequestTree = diffRouteTreeAgainstCurrent(now, task, route, task.renderTreeAtTimeOfPrefetch.tree, tree, spawnedEntries, fetchStrategy);
643
+ let needsDynamicRequest = spawnedEntries.size > 0;
644
+ if (needsDynamicRequest) {
645
+ spawnPrefetchSubtask((0, _cache.fetchSegmentPrefetchesUsingRuntimeRequest)(task, route, fetchStrategy, dynamicRequestTree, spawnedEntries));
646
+ }
647
+ return 2;
648
+ }
649
+ default:
650
+ fetchStrategy;
651
+ }
652
+ break;
653
+ }
654
+ default:
655
+ {
656
+ route;
657
+ }
658
+ }
659
+ return 2;
660
+ }
661
+ /**
662
+ * Whether the task can use runtime requests to prefetch the content.
663
+ *
664
+ * This is true for every walk of a route that opts into Partial Prefetching
665
+ * (any segment with a partial-prefetching config, or the global `partialPrefetching`
666
+ * flag, indicated by `SubtreeHasPartialPrefetching` on the route root),
667
+ * in both the Shell and Speculative phases.
668
+ *
669
+ * Note that this does not mean that the route *will* use runtime requests --
670
+ * it might be optimized statically, either because it does not use runtime data
671
+ * in the shell/prefetch, or if it's forced to use static requests by
672
+ * `export const ensureStatic = "shell" | "prefetch" | "navigation"`.
673
+ *
674
+ * Routes without Partial Prefetching never use runtime requests for prefetches
675
+ * (excluding `Full` prefetches)
676
+ */ function walkCanUseRuntimeRequests(staticWalkStrategy, route) {
677
+ if (staticWalkStrategy === _types.FetchStrategy.StaticShell) {
678
+ // `FetchStrategy.StaticShell` is only used on PPF routes.
679
+ return true;
680
+ }
681
+ // `FetchStrategy.PPR` can only use runtime requests if PPF is enabled on the route.
682
+ return (route.root.tree.prefetchHints & _approutertypes.PrefetchHint.SubtreeHasPartialPrefetching) !== 0;
683
+ }
684
+ /**
685
+ * Whether a static request for this segment should be attempted.
686
+ * This may vary on the static walk's strategy, because we might e.g.
687
+ * have a shell that's static, but a prefetch that requires runtime requests.
688
+ *
689
+ * NOTE: Should only be used on Partial Prefetching routes, where
690
+ * `walkCanUseRuntimeRequests` is true.
691
+ * */ function shouldSegmentAttemptStaticRequest(staticWalkStrategy, tree) {
692
+ const { prefetchHints } = tree;
693
+ switch(staticWalkStrategy){
694
+ case _types.FetchStrategy.StaticShell:
695
+ return (prefetchHints & _approutertypes.PrefetchHint.ShouldAttemptStaticShell) !== 0;
696
+ case _types.FetchStrategy.PPR:
697
+ return (prefetchHints & _approutertypes.PrefetchHint.ShouldAttemptStaticPrefetch) !== 0;
698
+ default:
699
+ staticWalkStrategy;
700
+ return false;
701
+ }
702
+ }
703
+ /**
704
+ * The runtime counterpart of a pass's static walk strategy: the strategy the
705
+ * batched runtime request uses if this walk deopts. Each phase has exactly one
706
+ * — the Shell phase escalates to a shell-scoped runtime request
707
+ * (RuntimeShell), the Speculative phase to a per-link concrete
708
+ * runtime prefetch.
709
+ */ function getRuntimeStrategyForWalk(staticWalkStrategy) {
710
+ return staticWalkStrategy === _types.FetchStrategy.StaticShell ? _types.FetchStrategy.RuntimeShell : _types.FetchStrategy.PPRRuntime;
711
+ }
712
+ /**
713
+ * Whether this phase's runtime request would return more content for a
714
+ * fulfilled entry than the entry already holds.
715
+ *
716
+ * An entry records the tier its CONTENT achieved, not the one it was requested
717
+ * at, and that tier spans both axes — so a static response that needed no
718
+ * runtime data records the runtime counterpart of its own variant (see
719
+ * `recordedFetchStrategy` in cache.ts). That makes this a pure tier
720
+ * comparison: an entry at or above the phase's runtime tier has nothing to
721
+ * gain from it.
722
+ */ function wouldRuntimeRequestProvideMore(entry, staticWalkStrategy) {
723
+ return (0, _cache.canNewFetchStrategyProvideMoreContent)(entry.fetchStrategy, getRuntimeStrategyForWalk(staticWalkStrategy));
724
+ }
725
+ /**
726
+ * Whether a fulfilled shell-tier entry should take a static attempt (a
727
+ * spawned revalidation at the walk's static tier) before its position deopts
728
+ * to a runtime request. A shell-tier recorded entry (StaticShell or
729
+ * RuntimeShell) is not evidence that a static attempt would be pointless —
730
+ * unlike a concrete static (PPR) entry, where a static re-fetch would return
731
+ * the same bytes — so when the segment's hint says a static attempt is
732
+ * worthwhile (the build-time prerender accessed no runtime data), the
733
+ * attempt is taken and its response's own verdict decides whether to
734
+ * escalate afterward.
735
+ *
736
+ * Consults the revalidation slot so an attempt that already ran and settled
737
+ * without healing the entry (a rejected attempt: server miss or network
738
+ * error; a successful one upserts over the shell-tier entry, so the caller
739
+ * reads the healed entry instead) doesn't suppress the runtime deopt
740
+ * forever. The slot read creates an Empty placeholder on first evaluation —
741
+ * there is no read-only variant — which is harmless: when the entry is
742
+ * eligible, the spawn that follows claims the same slot.
743
+ */ function isShellEntryEligibleForStaticAttempt(now, map, entry, tree, fetchStrategy) {
744
+ if (!((entry.fetchStrategy === _types.FetchStrategy.StaticShell || entry.fetchStrategy === _types.FetchStrategy.RuntimeShell) && shouldSegmentAttemptStaticRequest(fetchStrategy, tree) && // if the `fetchStrategy` is `FetchStrategy.PPR`, it might provide more content
745
+ // (e.g. static params that this shell doesn't have)
746
+ (0, _cache.canNewFetchStrategyProvideMoreContent)(entry.fetchStrategy, fetchStrategy))) {
747
+ return false;
748
+ }
749
+ const revalidatingEntry = (0, _cache.readOrCreateRevalidatingSegmentEntry)(now, map, fetchStrategy, tree);
750
+ return revalidatingEntry.status === _cache.EntryStatus.Empty || revalidatingEntry.status === _cache.EntryStatus.Pending;
751
+ }
752
+ /**
753
+ * Register a subtree root (the head is one, under its own request key) for
754
+ * the batched runtime request issued by the gate at the end of
755
+ * pingRootRouteTree.
756
+ */ function addSpawnedRuntimePrefetch(task, requestKey) {
757
+ if (task.spawnedRuntimePrefetches === null) {
758
+ task.spawnedRuntimePrefetches = new Set([
759
+ requestKey
760
+ ]);
761
+ } else {
762
+ task.spawnedRuntimePrefetches.add(requestKey);
763
+ }
764
+ }
765
+ // TODO: Rename dynamic -> runtime throughout this module
766
+ /**
767
+ * The static walk over the part of the target route that also exists on the
768
+ * current page: the current page's node and the target route's node at the
769
+ * same position in the tree. It mirrors the navigation's traversal order (see
770
+ * updateRenderTreeOnNavigation in render-tree.ts): first whether the route
771
+ * position still matches — if not, this node begins the new part of the route
772
+ * (pingNewPartOfCacheComponentsTree) — and then whether any of the node's
773
+ * param values changed — if so, the node and everything below it begin the
774
+ * new part of the route too. The walk does not consult which params a
775
+ * segment read, so it prefetches more than the navigation replaces: the
776
+ * navigation keeps data whose read params did not change and decides each
777
+ * descendant on its own. A node the walk keeps is prefetched at the ordinary
778
+ * static tier.
779
+ * Its children continue here wherever the current page has a child in the
780
+ * same slot; a child in a slot the current page doesn't have enters the new
781
+ * part of the route directly.
782
+ *
783
+ * Bundle chains must not cross the strategy boundary: a kept node walks at
784
+ * PPR while a Shell-phase new part walks at StaticShell, and a chain spanning
785
+ * both would fulfill the kept node's concrete-path entry with shell-variant
786
+ * data. Nor may the chain be finished by fetching the new-part node at PPR
787
+ * — that would prefetch new-part segments at the concrete tier during the
788
+ * Shell phase, which only the Speculative phase is allowed to do. So the
789
+ * chain is dropped wherever the walk hands off to the new part during a
790
+ * StaticShell walk, exactly like the drop sites in
791
+ * pingSegmentInCacheComponentsTree: nothing in a dropped chain was upgraded
792
+ * to Pending, so no entry is stranded, and the inlined kept data is fetched
793
+ * by the Speculative pass whenever its walk of the new part permits the
794
+ * child fetch.
795
+ */ function pingSharedPartOfCacheComponentsTree(now, task, route, currentTree, newTree, parentBundle, // The per-pass static walk strategy; see pingRootRouteTree where
796
+ // it's derived.
797
+ fetchStrategy) {
798
+ if (!(0, _cache.doesRouteStructureMatch)(currentTree, newTree)) {
799
+ // We're entering the part of the target route that doesn't exist on the
800
+ // current page.
801
+ return pingNewPartOfCacheComponentsTree(now, task, route, newTree, fetchStrategy === _types.FetchStrategy.StaticShell ? null : parentBundle, fetchStrategy);
802
+ }
803
+ if ((0, _varypath.compareParams)(currentTree.varyPath, newTree.varyPath) !== _varypath.ParamsChange.None) {
804
+ // A param changed. The navigation replaces only the data that read it and
805
+ // decides each descendant on its own (see updateRenderTreeOnNavigation in
806
+ // render-tree.ts); this walk doesn't know what each segment read, so it
807
+ // prefetches the whole subtree.
808
+ return pingNewPartOfCacheComponentsTree(now, task, route, newTree, fetchStrategy === _types.FetchStrategy.StaticShell ? null : parentBundle, fetchStrategy);
809
+ }
810
+ // The navigation keeps this segment's current data. A kept segment always
811
+ // performs the ordinary static (PPR) prefetch, regardless of phase.
812
+ // Phase-specific strategies — the runtime shell request and the Shell
813
+ // phase's StaticShell walk — apply only to the new part of the tree, so the
814
+ // per-pass walk strategy is irrelevant here. (The needs-runtime signal is
815
+ // ignored: kept segments are already rendered on the current page, so a
816
+ // runtime prefetch has nothing to add.)
817
+ const bundleInProgress = accumulateSegmentBundle(now, task, route, newTree, parentBundle, _types.FetchStrategy.PPR, true).bundle;
818
+ // Recursively ping the children, continuing in lockstep with the current
819
+ // page wherever it has a child in the same slot.
820
+ const newTreeChildren = newTree.slots;
821
+ if (newTreeChildren !== null) {
822
+ const currentSlots = currentTree.slots;
823
+ for (const [parallelRouteKey, newTreeChild] of newTreeChildren){
824
+ if (!hasNetworkBandwidth(task)) {
825
+ // Stop prefetching segments until there's more bandwidth.
826
+ return 0;
827
+ }
828
+ // Only pass the bundle to the child that accepts it. A parent is
829
+ // only ever bundled into one child.
830
+ const bundleForChild = process.env.__NEXT_PREFETCH_INLINING && bundleInProgress !== null && newTreeChild.prefetchHints & _approutertypes.PrefetchHint.ParentInlinedIntoSelf ? bundleInProgress : null;
831
+ let currentTreeChild = undefined;
832
+ if (currentSlots !== null) {
833
+ currentTreeChild = currentSlots.get(parallelRouteKey);
834
+ }
835
+ let childExitStatus;
836
+ if (currentTreeChild !== undefined) {
837
+ childExitStatus = pingSharedPartOfCacheComponentsTree(now, task, route, currentTreeChild, newTreeChild, bundleForChild, fetchStrategy);
838
+ } else {
839
+ childExitStatus = pingNewPartOfCacheComponentsTree(now, task, route, newTreeChild, fetchStrategy === _types.FetchStrategy.StaticShell ? null : bundleForChild, fetchStrategy);
840
+ }
841
+ if (childExitStatus === 0) {
842
+ // Child yielded without finishing.
843
+ return 0;
844
+ }
845
+ }
846
+ }
847
+ // The static attempt was sufficient for this segment (each child is its
848
+ // own decision point) — or parts of it are still in flight, in which case
849
+ // the task is blocked and the decision re-runs against the received
850
+ // responses.
851
+ return 2;
852
+ }
853
+ /**
854
+ * The static walk over the part of the target route that doesn't exist on
855
+ * the current page. Nothing here is compared against the current tree: every
856
+ * segment goes through the per-segment decision point.
857
+ */ function pingNewPartOfCacheComponentsTree(now, task, route, tree, parentBundle, // The per-pass static walk strategy; see pingRootRouteTree where
858
+ // it's derived.
859
+ fetchStrategy) {
860
+ const accumulation = pingSegmentInCacheComponentsTree(now, task, route, tree, parentBundle, fetchStrategy);
861
+ if (accumulation === null) {
862
+ return 2;
863
+ }
864
+ const bundleInProgress = accumulation.bundle;
865
+ // Recursively ping the children.
866
+ const treeChildren = tree.slots;
867
+ if (treeChildren !== null) {
868
+ for (const treeChild of treeChildren.values()){
869
+ if (!hasNetworkBandwidth(task)) {
870
+ // Stop prefetching segments until there's more bandwidth.
871
+ return 0;
872
+ }
873
+ // Only pass the bundle to the child that accepts it. A parent is
874
+ // only ever bundled into one child.
875
+ const bundleForChild = process.env.__NEXT_PREFETCH_INLINING && bundleInProgress !== null && treeChild.prefetchHints & _approutertypes.PrefetchHint.ParentInlinedIntoSelf ? bundleInProgress : null;
876
+ const childExitStatus = pingNewPartOfCacheComponentsTree(now, task, route, treeChild, bundleForChild, fetchStrategy);
877
+ if (childExitStatus === 0) {
878
+ // Child yielded without finishing.
879
+ return 0;
880
+ }
881
+ }
882
+ }
883
+ // The static attempt was sufficient for this segment (each child is its
884
+ // own decision point) — or parts of it are still in flight, in which case
885
+ // the task is blocked and the decision re-runs against the received
886
+ // responses.
887
+ return 2;
888
+ }
889
+ /**
890
+ * The per-segment decision point of the static walk: the one place that
891
+ * decides how a segment in the new part of the route — one the navigation
892
+ * won't keep — is prefetched (pingNewPartOfCacheComponentsTree).
893
+ *
894
+ * When Cache Components is enabled (or PPR, or a fully static route when PPR
895
+ * is disabled; those cases are treated equivalently to Cache Components), we
896
+ * prefetch each segment individually, statically, at the per-pass strategy
897
+ * derived in pingRootRouteTree.
898
+ *
899
+ * This is where we decide whether we should use runtime requests, if the walk
900
+ * is allowed to do so (see `walkCanUseRuntimeRequests`).
901
+ *
902
+ * If runtime requests are allowed, but the segment's node has one of the
903
+ * `ShouldAttemptStatic{Shell,Prefetch}` hints set (either because the build-time
904
+ * prerender accessed no runtime data, or because of `ensureStatic`), then its
905
+ * subtree should be prefetched statically first.
906
+ * However, the hint may be stale after a revalidation, so we'll also check the
907
+ * `needsRuntimeRequest` promise on the static response, and will follow up with
908
+ * a runtime request if needed.
909
+ * Pending responses block the task, so the attempt is serial, never raced:
910
+ * static attempt → observe → runtime (if needed).
911
+ *
912
+ * The static hints and `needsRuntimeRequest` have no effect if runtime requests
913
+ * are not allowed (i.e. outside of Partial Prefetching).
914
+ *
915
+ * Returns the segment's bundle accumulation when the walk should continue
916
+ * into its children, and null when the walk stops at this segment: the link
917
+ * needs no speculative prefetch, or the segment deopted and the batched
918
+ * runtime request covers the whole subtree.
919
+ */ function pingSegmentInCacheComponentsTree(now, task, route, tree, parentBundle, // The per-pass static walk strategy; see pingRootRouteTree where
920
+ // it's derived.
921
+ fetchStrategy) {
922
+ // In PPF, links may skip speculative prefetching if they only need a shell.
923
+ if (fetchStrategy === _types.FetchStrategy.PPR && !needsSpeculativePrefetch(task.fetchStrategy, route.root.tree.prefetchHints)) {
924
+ return null;
925
+ }
926
+ // Constant for the whole pass; recomputed here only because the walk is
927
+ // recursive and the check is cheap.
928
+ const canUseRuntimeRequests = walkCanUseRuntimeRequests(fetchStrategy, route);
929
+ // A force-disabled segment deliberately does NOT deopt here: disabling
930
+ // prefetch is passive. It never initiates a request — its accumulation
931
+ // below contributes nothing — and must never be the reason a runtime
932
+ // prefetch spawns, though it may ride along in a runtime response issued
933
+ // on another segment's behalf.
934
+ if (canUseRuntimeRequests && !shouldSegmentAttemptStaticRequest(fetchStrategy, tree)) {
935
+ // Deopt directly to a runtime prefetch, without a static attempt.
936
+ addSpawnedRuntimePrefetch(task, tree.requestKey);
937
+ // If there's a pending static bundle from a parent, we need to finish
938
+ // prefetching it before bailing out to runtime prefetching.
939
+ if (parentBundle !== null) {
940
+ finishStaticBundleOnRuntimeBailout(now, task, route, tree, parentBundle, fetchStrategy);
941
+ }
942
+ return null;
943
+ }
944
+ // Prefetch this segment and its subtree statically, using the normal
945
+ // static bundling walk.
946
+ const accumulation = accumulateSegmentBundle(now, task, route, tree, parentBundle, fetchStrategy, true);
947
+ if (canUseRuntimeRequests && accumulation.needsRuntimeRequest) {
948
+ // The static attempt for this segment was insufficient. Stop the walk
949
+ // and deopt — the runtime prefetch covers the whole subtree. (Unlike the
950
+ // direct deopt above, any open bundle is dropped rather than finished: a
951
+ // fulfilled InlinedIntoChild node can report a true signal while its
952
+ // chain is still open. That's safe — nothing in an un-pinged chain was
953
+ // upgraded to Pending, so no entry is stranded blocking the task, and
954
+ // Empty entries in the dropped chain are re-fetched by a later pass.)
955
+ addSpawnedRuntimePrefetch(task, tree.requestKey);
956
+ return null;
957
+ }
958
+ return accumulation;
959
+ }
960
+ function diffRouteTreeAgainstCurrent(now, task, route, oldTree, newTree, spawnedEntries, fetchStrategy) {
961
+ // This is a single recursive traversal that does multiple things:
962
+ // - Finds the segments that differ from the current route, comparing each
963
+ // segment the same way the navigation will (see
964
+ // updateRenderTreeOnNavigation in render-tree.ts): its route position,
965
+ // then whether any of its param values changed.
966
+ // - Constructs a request tree (FlightRouterState) that describes which
967
+ // segments need to be prefetched and which ones are already cached.
968
+ // - Creates a set of pending cache entries for the segments that need to
969
+ // be prefetched, so that a subsequent prefetch task does not request the
970
+ // same segments again.
971
+ const oldSlots = oldTree.slots;
972
+ const newTreeChildren = newTree.slots;
973
+ let requestTreeChildren = {};
974
+ if (newTreeChildren !== null) {
975
+ for (const [parallelRouteKey, newTreeChild] of newTreeChildren){
976
+ const oldTreeChild = oldSlots?.get(parallelRouteKey);
977
+ requestTreeChildren[parallelRouteKey] = diffSegmentAgainstCurrent(now, task, route, oldTreeChild, newTreeChild, spawnedEntries, fetchStrategy);
978
+ }
979
+ }
980
+ const requestTree = [
981
+ newTree.segment,
982
+ requestTreeChildren,
983
+ null,
984
+ null
985
+ ];
986
+ if (newTree.prefetchHints !== 0) {
987
+ requestTree[4] = newTree.prefetchHints;
988
+ }
989
+ return requestTree;
990
+ }
991
+ /**
992
+ * The per-segment decision of a runtime request's tree walk
993
+ * (diffRouteTreeAgainstCurrent): the segment at this position of the target
994
+ * route, and the current page's segment at the same position, if it has one.
995
+ * A segment the navigation keeps — same route position, and none of its param
996
+ * values changed — is omitted from the request and the walk continues into
997
+ * its children. Otherwise this segment begins a part of the tree that needs
998
+ * to be prefetched (unless everything is already cached), requested according
999
+ * to the strategy.
1000
+ */ function diffSegmentAgainstCurrent(now, task, route, oldTree, newTree, spawnedEntries, fetchStrategy) {
1001
+ if (oldTree !== undefined && (0, _cache.doesRouteStructureMatch)(oldTree, newTree)) {
1002
+ // This segment is already part of the current route.
1003
+ if ((0, _varypath.compareParams)(oldTree.varyPath, newTree.varyPath) === _varypath.ParamsChange.None) {
1004
+ // The navigation keeps its data. Keep traversing.
1005
+ return diffRouteTreeAgainstCurrent(now, task, route, oldTree, newTree, spawnedEntries, fetchStrategy);
1006
+ }
1007
+ }
1008
+ // This segment is not part of the current route, or the navigation
1009
+ // replaces its data. We're entering a part of the tree that we need to
1010
+ // prefetch (unless everything is already cached).
1011
+ switch(fetchStrategy){
1012
+ case _types.FetchStrategy.LoadingBoundary:
1013
+ {
1014
+ // When PPR is disabled, we can't prefetch per segment. We must
1015
+ // fallback to the old prefetch behavior and send a runtime request.
1016
+ // Only routes that include a loading boundary can be prefetched in
1017
+ // this way.
1018
+ //
1019
+ // This is simlar to a "full" prefetch, but we're much more
1020
+ // conservative about which segments to include in the request.
1021
+ //
1022
+ // The server will only render up to the first loading boundary
1023
+ // inside new part of the tree. If there's no loading boundary
1024
+ // anywhere in the tree, the server will never return any data, so
1025
+ // we can skip the request.
1026
+ const subtreeHasLoadingBoundary = (newTree.prefetchHints & (_approutertypes.PrefetchHint.SegmentHasLoadingBoundary | _approutertypes.PrefetchHint.SubtreeHasLoadingBoundary)) !== 0;
1027
+ if (subtreeHasLoadingBoundary) {
1028
+ return pingPPRDisabledRouteTreeUpToLoadingBoundary(now, task, route, newTree, null, spawnedEntries);
1029
+ }
1030
+ // There's no loading boundary within this tree. Bail out.
1031
+ return (0, _cache.convertRouteTreeToFlightRouterState)(newTree);
1032
+ }
1033
+ case _types.FetchStrategy.PPRRuntime:
1034
+ {
1035
+ // This is a runtime prefetch. Fetch all cacheable data in the tree,
1036
+ // not just the static PPR shell.
1037
+ return pingRouteTreeAndIncludeDynamicData(now, task, route, newTree, false, spawnedEntries, fetchStrategy);
1038
+ }
1039
+ case _types.FetchStrategy.Full:
1040
+ {
1041
+ // This is a "full" prefetch. Fetch all the data in the tree, both
1042
+ // static and dynamic. We issue roughly the same request that we
1043
+ // would during a real navigation. The goal is that once the
1044
+ // navigation occurs, the router should not have to fetch any
1045
+ // additional data.
1046
+ //
1047
+ // Although the response will include dynamic data, opting into a
1048
+ // Full prefetch — via <Link prefetch={true}> — implicitly
1049
+ // instructs the cache to treat the response as "static", or non-
1050
+ // dynamic, since the whole point is to cache it for
1051
+ // future navigations.
1052
+ //
1053
+ // Construct a tree (currently a FlightRouterState) that represents
1054
+ // which segments need to be prefetched and which ones are already
1055
+ // cached. If the tree is empty, then we can exit. Otherwise, we'll
1056
+ // send the request tree to the server and use the response to
1057
+ // populate the segment cache.
1058
+ return pingRouteTreeAndIncludeDynamicData(now, task, route, newTree, false, spawnedEntries, fetchStrategy);
1059
+ }
1060
+ }
1061
+ }
1062
+ function pingPPRDisabledRouteTreeUpToLoadingBoundary(now, task, route, tree, refetchMarkerContext, spawnedEntries) {
1063
+ // This function is similar to pingRouteTreeAndIncludeDynamicData, except the
1064
+ // server is only going to return a minimal loading state — it will stop
1065
+ // rendering at the first loading boundary. Whereas a Full prefetch is
1066
+ // intentionally aggressive and tries to pretfetch all the data that will be
1067
+ // needed for a navigation, a LoadingBoundary prefetch is much more
1068
+ // conservative. For example, it will omit from the request tree any segment
1069
+ // that is already cached, regardles of whether it's partial or full. By
1070
+ // contrast, a Full prefetch will refetch partial segments.
1071
+ // "inside-shared-layout" tells the server where to start looking for a
1072
+ // loading boundary.
1073
+ let refetchMarker = refetchMarkerContext === null ? 'inside-shared-layout' : null;
1074
+ const segment = (0, _cache.readOrCreateSegmentCacheEntry)(now, task.segmentCacheMap, task.fetchStrategy, tree);
1075
+ switch(segment.status){
1076
+ case _cache.EntryStatus.Empty:
1077
+ {
1078
+ // This segment is not cached. Add a refetch marker so the server knows
1079
+ // to start rendering here.
1080
+ // TODO: Instead of a "refetch" marker, we could just omit this subtree's
1081
+ // FlightRouterState from the request tree. I think this would probably
1082
+ // already work even without any updates to the server. For consistency,
1083
+ // though, I'll send the full tree and we'll look into this later as part
1084
+ // of a larger redesign of the request protocol.
1085
+ // Add the pending cache entry to the result map.
1086
+ const pendingSegment = (0, _cache.upgradeToPendingSegment)(segment, // Set the fetch strategy to LoadingBoundary to indicate that the server
1087
+ // might not include it in the pending response. If another route is able
1088
+ // to issue a per-segment request, we'll do that in the background.
1089
+ _types.FetchStrategy.LoadingBoundary);
1090
+ spawnedEntries.set(tree.requestKey, pendingSegment);
1091
+ // The pass blocks on every request it spawns, not just requests it
1092
+ // finds already in flight.
1093
+ blockTaskOnPendingResponse(task, pendingSegment);
1094
+ if (refetchMarkerContext !== 'refetch') {
1095
+ refetchMarker = refetchMarkerContext = 'refetch';
1096
+ } else {
1097
+ // There's already a parent with a refetch marker, so we don't need
1098
+ // to add another one.
1099
+ }
1100
+ break;
1101
+ }
1102
+ case _cache.EntryStatus.Fulfilled:
1103
+ {
1104
+ // The segment is already cached.
1105
+ const segmentHasLoadingBoundary = (tree.prefetchHints & _approutertypes.PrefetchHint.SegmentHasLoadingBoundary) !== 0;
1106
+ if (segmentHasLoadingBoundary) {
1107
+ // This segment has a loading boundary, which means the server won't
1108
+ // render its children. So there's nothing left to prefetch along this
1109
+ // path. We can bail out.
1110
+ return (0, _cache.convertRouteTreeToFlightRouterState)(tree);
1111
+ }
1112
+ break;
1113
+ }
1114
+ case _cache.EntryStatus.Pending:
1115
+ {
1116
+ // There's another prefetch currently in progress. Don't add the refetch
1117
+ // marker yet, so the server knows it can skip rendering this segment.
1118
+ // The pass still depends on the in-flight response, so wait for it
1119
+ // before the phase can complete.
1120
+ blockTaskOnPendingResponse(task, segment);
1121
+ break;
1122
+ }
1123
+ case _cache.EntryStatus.Rejected:
1124
+ {
1125
+ break;
1126
+ }
1127
+ default:
1128
+ segment;
1129
+ }
1130
+ const requestTreeChildren = {};
1131
+ if (tree.slots !== null) {
1132
+ for (const [parallelRouteKey, childTree] of tree.slots){
1133
+ requestTreeChildren[parallelRouteKey] = pingPPRDisabledRouteTreeUpToLoadingBoundary(now, task, route, childTree, refetchMarkerContext, spawnedEntries);
1134
+ }
1135
+ }
1136
+ const requestTree = [
1137
+ tree.segment,
1138
+ requestTreeChildren,
1139
+ null,
1140
+ refetchMarker
1141
+ ];
1142
+ if (tree.prefetchHints !== 0) {
1143
+ requestTree[4] = tree.prefetchHints;
1144
+ }
1145
+ return requestTree;
1146
+ }
1147
+ /**
1148
+ * Called during a pass when a segment's response hasn't been received yet —
1149
+ * whether the request was just spawned by this pass or was already in flight.
1150
+ * Marks the task as blocked: a phase only completes once a full pass observes
1151
+ * every segment response it cares about, because later decisions (like
1152
+ * whether a segment needs a follow-up runtime request) are made against the
1153
+ * contents of those responses, and a phase may need to restart its work based
1154
+ * on what they contain. The task is re-pinged (via pingBlockedTasks in
1155
+ * cache.ts) when the entry resolves, re-running the pass against the
1156
+ * received data. Only a pass that observes every response may advance the
1157
+ * phase or complete the task.
1158
+ *
1159
+ * Never call this for an entry that's already Rejected — nothing ever pings
1160
+ * a Rejected entry, so registering on one would strand the task. A rejected
1161
+ * segment is simply skipped: the pass keeps prefetching the rest of the tree
1162
+ * without it.
1163
+ */ function blockTaskOnPendingResponse(task, segment) {
1164
+ // This state is reset after each iteration of the task queue. We use it to
1165
+ // inform the scheduler that the task is blocked.
1166
+ task.hasPendingResponses = true;
1167
+ // Add the task to this segment's blocked tasks, so it can be rescheduled
1168
+ // once the segment finishes loading.
1169
+ if (segment.blockedTasks === null) {
1170
+ segment.blockedTasks = new Set([
1171
+ task
1172
+ ]);
1173
+ } else {
1174
+ segment.blockedTasks.add(task);
1175
+ }
1176
+ }
1177
+ function pingRouteTreeAndIncludeDynamicData(now, task, route, tree, isInsideRefetchingParent, spawnedEntries, fetchStrategy) {
1178
+ // The tree we're constructing is the same shape as the tree we're navigating
1179
+ // to. But even though this is a "new" tree, some of the individual segments
1180
+ // may be cached as a result of other route prefetches.
1181
+ //
1182
+ // So we need to find the first uncached segment along each path add an
1183
+ // explicit "refetch" marker so the server knows where to start rendering.
1184
+ // Once the server starts rendering along a path, it keeps rendering the
1185
+ // entire subtree.
1186
+ const segment = (0, _cache.readOrCreateSegmentCacheEntry)(now, task.segmentCacheMap, // Note that `fetchStrategy` might be different from `task.fetchStrategy`,
1187
+ // and we have to use the former here.
1188
+ // We can have a task with `FetchStrategy.PPR` where some of its segments are configured to
1189
+ // always use runtime prefetching (via `export const prefetch`), and those should check for
1190
+ // entries that include search params.
1191
+ fetchStrategy, tree);
1192
+ let spawnedSegment = null;
1193
+ switch(segment.status){
1194
+ case _cache.EntryStatus.Empty:
1195
+ {
1196
+ // This segment is not cached.
1197
+ if (fetchStrategy === _types.FetchStrategy.Full) {
1198
+ // Check if there's a matching entry in the bfcache. If so, fulfill the
1199
+ // segment using the bfcache entry instead of issuing a new request.
1200
+ const fulfilled = (0, _cache.attemptToFulfillDynamicSegmentFromBFCache)(now, segment, tree);
1201
+ if (fulfilled !== null) {
1202
+ break;
1203
+ }
1204
+ }
1205
+ // Include it in the request.
1206
+ spawnedSegment = (0, _cache.upgradeToPendingSegment)(segment, fetchStrategy);
1207
+ break;
1208
+ }
1209
+ case _cache.EntryStatus.Fulfilled:
1210
+ {
1211
+ // The segment is already cached.
1212
+ if (segment.isPartial && (0, _cache.canNewFetchStrategyProvideMoreContent)(segment.fetchStrategy, fetchStrategy)) {
1213
+ // The cached segment contains dynamic holes, and was prefetched using a
1214
+ // less specific strategy than the current one. This means we're in one
1215
+ // of these cases:
1216
+ // - we have a static prefetch, and we're doing a runtime prefetch
1217
+ // - we have a static or runtime prefetch, and we're doing a Full
1218
+ // prefetch (or a navigation).
1219
+ // In either case, we need to include it in the request to get a more
1220
+ // specific (or full) version. However, if there's a non-stale bfcache
1221
+ // entry from a previous navigation, prefer that over making a new
1222
+ // request.
1223
+ if (fetchStrategy === _types.FetchStrategy.Full) {
1224
+ const fulfilled = (0, _cache.attemptToUpgradeSegmentFromBFCache)(now, task.segmentCacheMap, tree);
1225
+ if (fulfilled !== null) {
1226
+ break;
1227
+ }
1228
+ }
1229
+ spawnedSegment = pingFullSegmentRevalidation(now, task, tree, fetchStrategy);
1230
+ }
1231
+ break;
1232
+ }
1233
+ case _cache.EntryStatus.Pending:
1234
+ case _cache.EntryStatus.Rejected:
1235
+ {
1236
+ // There's either another prefetch currently in progress, or the previous
1237
+ // attempt failed. If the new strategy can provide more content, fetch it again.
1238
+ if ((0, _cache.canNewFetchStrategyProvideMoreContent)(segment.fetchStrategy, fetchStrategy)) {
1239
+ spawnedSegment = pingFullSegmentRevalidation(now, task, tree, fetchStrategy);
1240
+ }
1241
+ if (segment.status === _cache.EntryStatus.Pending) {
1242
+ // A response for this segment is still in flight. The pass must
1243
+ // observe it before the phase can complete.
1244
+ blockTaskOnPendingResponse(task, segment);
1245
+ } else {
1246
+ // The segment failed to load, or the server intentionally omitted it
1247
+ // from a response (both are encoded as Rejected). Skip it and keep
1248
+ // prefetching the rest of the tree; the entry's staleAt governs when
1249
+ // it may be retried. Don't register the task on the rejected entry —
1250
+ // nothing ever pings a Rejected entry.
1251
+ //
1252
+ // TODO: The cache encodes real failures and intentional server
1253
+ // omissions identically (both Rejected); with per-segment skipping
1254
+ // this has no task-lifecycle consequence, but distinguishing them
1255
+ // could still be useful someday.
1256
+ }
1257
+ break;
1258
+ }
1259
+ default:
1260
+ segment;
1261
+ }
1262
+ if (spawnedSegment !== null) {
1263
+ // A pass must observe the response for every request it spawns before
1264
+ // its phase can complete — not just requests it finds already in flight.
1265
+ // Block on the entry we just spawned; the task is re-pinged when it's
1266
+ // fulfilled or rejected.
1267
+ blockTaskOnPendingResponse(task, spawnedSegment);
1268
+ }
1269
+ const requestTreeChildren = {};
1270
+ if (tree.slots !== null) {
1271
+ for (const [parallelRouteKey, childTree] of tree.slots){
1272
+ requestTreeChildren[parallelRouteKey] = pingRouteTreeAndIncludeDynamicData(now, task, route, childTree, isInsideRefetchingParent || spawnedSegment !== null, spawnedEntries, fetchStrategy);
1273
+ }
1274
+ }
1275
+ if (spawnedSegment !== null) {
1276
+ // Add the pending entry to the result map.
1277
+ spawnedEntries.set(tree.requestKey, spawnedSegment);
1278
+ }
1279
+ // Don't bother to add a refetch marker if one is already present in a parent.
1280
+ const refetchMarker = !isInsideRefetchingParent && spawnedSegment !== null ? 'refetch' : null;
1281
+ const requestTree = [
1282
+ tree.segment,
1283
+ requestTreeChildren,
1284
+ null,
1285
+ refetchMarker
1286
+ ];
1287
+ if (tree.prefetchHints !== 0) {
1288
+ requestTree[4] = tree.prefetchHints;
1289
+ }
1290
+ return requestTree;
1291
+ }
1292
+ function pingRuntimePrefetches(now, task, route, tree, spawnedRuntimePrefetches, spawnedEntries, fetchStrategy) {
1293
+ // Construct a request tree (FlightRouterState) for a runtime prefetch. If
1294
+ // a segment is part of the runtime prefetch, the tree is constructed by
1295
+ // diffing against what's already in the prefetch cache. Otherwise, we send
1296
+ // a regular FlightRouterState with no special markers.
1297
+ //
1298
+ // See pingRouteTreeAndIncludeDynamicData for details.
1299
+ if (spawnedRuntimePrefetches.has(tree.requestKey)) {
1300
+ // This segment needs a runtime prefetch.
1301
+ return pingRouteTreeAndIncludeDynamicData(now, task, route, tree, false, spawnedEntries, fetchStrategy);
1302
+ }
1303
+ let requestTreeChildren = {};
1304
+ const slots = tree.slots;
1305
+ if (slots !== null) {
1306
+ for (const [parallelRouteKey, childTree] of slots){
1307
+ requestTreeChildren[parallelRouteKey] = pingRuntimePrefetches(now, task, route, childTree, spawnedRuntimePrefetches, spawnedEntries, fetchStrategy);
1308
+ }
1309
+ }
1310
+ // This segment is not part of the runtime prefetch. Clone the base tree.
1311
+ const requestTree = [
1312
+ tree.segment,
1313
+ requestTreeChildren,
1314
+ null,
1315
+ null
1316
+ ];
1317
+ if (tree.prefetchHints !== 0) {
1318
+ requestTree[4] = tree.prefetchHints;
1319
+ }
1320
+ return requestTree;
1321
+ }
1322
+ /**
1323
+ * Walk a SegmentBundle, apply status-based logic to each entry, and if any
1324
+ * entries need data, spawn a single fetch request for the whole bundle.
1325
+ *
1326
+ * Returns true if a fulfilled entry in the bundle reported that a runtime
1327
+ * request would return more content than the entry contains
1328
+ * (needsRuntimeRequest, derived at write time from the response that
1329
+ * produced the entry). The callers surface this signal to the per-segment
1330
+ * decision point in pingSegmentInCacheComponentsTree, which uses it during
1331
+ * a static attempt to decide whether to fall back to a runtime prefetch. One
1332
+ * exception withholds the signal: a shell-tier entry whose segment carries
1333
+ * the static-attempt hint spawns a concrete static attempt first — see the
1334
+ * Fulfilled case.
1335
+ */ function pingSegmentBundle(now, task, route, routeKey, tree, segments, // Per-pass static walk strategy; see pingRootRouteTree where it's derived.
1336
+ fetchStrategy, // False when finishing an open bundle chain on a runtime-prefetch bailout
1337
+ // (finishStaticBundleOnRuntimeBailout). The finish exists only to fetch
1338
+ // data the batched runtime request won't cover — Empty entries in the
1339
+ // chain — so it must not spawn revalidations over entries that are
1340
+ // already settled or in flight: the chain's terminal segments are inside
1341
+ // the deopted subtree, and re-fetching their static bundle would at best
1342
+ // duplicate the runtime request and at worst replace a runtime-complete
1343
+ // entry (e.g. a RuntimeShell-tier entry) with a less complete static
1344
+ // fallback response.
1345
+ spawnRevalidations) {
1346
+ let needsRuntimeRequest = false;
1347
+ // The pending entries this task owns — Empty entries upgraded here, plus
1348
+ // any revalidations spawned here — keyed by segment request key. If any
1349
+ // accumulate, a single fetch is spawned for the whole bundle, and the
1350
+ // response fulfills them.
1351
+ let spawnedEntries = null;
1352
+ let node = segments;
1353
+ while(node !== null){
1354
+ const nodeEntry = node.entry;
1355
+ const nodeTree = node.tree;
1356
+ if (nodeEntry === null || nodeTree === null) {
1357
+ node = node.parent;
1358
+ continue;
1359
+ }
1360
+ switch(nodeEntry.status){
1361
+ case _cache.EntryStatus.Empty:
1362
+ {
1363
+ const pendingEntry = (0, _cache.upgradeToPendingSegment)(nodeEntry, fetchStrategy);
1364
+ if (spawnedEntries === null) {
1365
+ spawnedEntries = new Map();
1366
+ }
1367
+ spawnedEntries.set(nodeTree.requestKey, pendingEntry);
1368
+ // The pass blocks on every request it spawns, not just requests it
1369
+ // finds already in flight.
1370
+ blockTaskOnPendingResponse(task, pendingEntry);
1371
+ break;
1372
+ }
1373
+ case _cache.EntryStatus.Pending:
1374
+ if (spawnRevalidations && // During a static shell attempt, never spawn revalidations — just
1375
+ // wait for the in-flight response (blocked below); its sufficiency
1376
+ // is checked on the re-run pass.
1377
+ fetchStrategy === _types.FetchStrategy.PPR && (0, _cache.canNewFetchStrategyProvideMoreContent)(nodeEntry.fetchStrategy, fetchStrategy)) {
1378
+ const revalidatingEntry = (0, _cache.readOrCreateRevalidatingSegmentEntry)(now, task.segmentCacheMap, fetchStrategy, nodeTree);
1379
+ if (revalidatingEntry.status === _cache.EntryStatus.Empty) {
1380
+ const pendingEntry = (0, _cache.upgradeToPendingSegment)(revalidatingEntry, fetchStrategy);
1381
+ if (spawnedEntries === null) {
1382
+ spawnedEntries = new Map();
1383
+ }
1384
+ spawnedEntries.set(nodeTree.requestKey, pendingEntry);
1385
+ // Block on the revalidation request we just spawned, in
1386
+ // addition to the original in-flight entry (blocked below).
1387
+ blockTaskOnPendingResponse(task, pendingEntry);
1388
+ }
1389
+ }
1390
+ blockTaskOnPendingResponse(task, nodeEntry);
1391
+ break;
1392
+ case _cache.EntryStatus.Rejected:
1393
+ if (spawnRevalidations && // During a static shell attempt, a rejected entry is skipped
1394
+ // outright: no retry revalidation, and — deliberately — no runtime
1395
+ // fallback either (per-segment rejection semantics; the entry's
1396
+ // staleAt governs when it may be retried). Note that the cache
1397
+ // path encodes "no shell exists" (a static response whose shell
1398
+ // byte offset is 0, i.e. the page wasn't produced by staged
1399
+ // rendering) as a rejection too, so such segments get no shell
1400
+ // prefetch at all — an edge that shouldn't occur for hint-set
1401
+ // Cache Components routes.
1402
+ fetchStrategy === _types.FetchStrategy.PPR && (0, _cache.canNewFetchStrategyProvideMoreContent)(nodeEntry.fetchStrategy, fetchStrategy)) {
1403
+ const revalidatingEntry = (0, _cache.readOrCreateRevalidatingSegmentEntry)(now, task.segmentCacheMap, fetchStrategy, nodeTree);
1404
+ if (revalidatingEntry.status === _cache.EntryStatus.Empty) {
1405
+ const pendingEntry = (0, _cache.upgradeToPendingSegment)(revalidatingEntry, fetchStrategy);
1406
+ if (spawnedEntries === null) {
1407
+ spawnedEntries = new Map();
1408
+ }
1409
+ spawnedEntries.set(nodeTree.requestKey, pendingEntry);
1410
+ // Block on the retry revalidation we just spawned, like any
1411
+ // other pending response. If the retry succeeds, its upsert
1412
+ // evicts the rejected entry (see evictShadowingSegmentEntries
1413
+ // in cache.ts) and the re-run pass reads the healed data. If it
1414
+ // rejects too, the re-run observes a settled revalidation and
1415
+ // moves on.
1416
+ blockTaskOnPendingResponse(task, pendingEntry);
1417
+ }
1418
+ }
1419
+ break;
1420
+ case _cache.EntryStatus.Fulfilled:
1421
+ {
1422
+ let willBeSupersededByRuntimeRequest = false;
1423
+ if (walkCanUseRuntimeRequests(fetchStrategy, route)) {
1424
+ const runtimeWouldProvideMore = wouldRuntimeRequestProvideMore(nodeEntry, fetchStrategy);
1425
+ // An eligible shell-tier entry takes the static attempt path below
1426
+ // (the revalidation) instead of deopting straight to a runtime
1427
+ // request; see isShellEntryEligibleForStaticAttempt. The attempt
1428
+ // can't recur: its response records at least the concrete static
1429
+ // tier, which fails the shell-tier check on the re-run pass — and an
1430
+ // attempt that already settled without healing the entry reads as
1431
+ // ineligible, so the deopt proceeds after all.
1432
+ const shellEntryEligibleForStaticAttempt = isShellEntryEligibleForStaticAttempt(now, task.segmentCacheMap, nodeEntry, nodeTree, fetchStrategy);
1433
+ if (runtimeWouldProvideMore && !shellEntryEligibleForStaticAttempt) {
1434
+ // A runtime request would return more content for this segment
1435
+ // than the entry contains. Surface it via the return value, so the
1436
+ // caller can deopt this subtree to a runtime prefetch. (An
1437
+ // eligible shell-tier entry withholds the signal for this pass:
1438
+ // the static attempt spawned below blocks the task, and the re-run
1439
+ // pass reads the attempt's result instead.)
1440
+ needsRuntimeRequest = true;
1441
+ // If a runtime request would return more content skip the static path
1442
+ // entirely — unless the entry is an eligible shell-tier entry (see above),
1443
+ // whose static attempt IS this upgrade.
1444
+ // Otherwise the runtime request covers this segment and supersedes
1445
+ // anything a static fetch could add, so a static upgrade would at best
1446
+ // duplicate it — delivering the same content twice — and at worst replace
1447
+ // runtime content with static content.
1448
+ willBeSupersededByRuntimeRequest = true;
1449
+ }
1450
+ }
1451
+ // If this is the speculative phase (not the shell phase), check if we
1452
+ // should attempt to upgrade a fallback ISR response to a concrete
1453
+ // version.
1454
+ //
1455
+ // For entries below this phase's tier, upgrade during the phase
1456
+ // itself — no background deferral, since the whole point of the
1457
+ // Speculative phase is to bring the cache up to the
1458
+ // per-link-concrete tier. `isPartial` ensures a complete entry isn't
1459
+ // re-fetched.
1460
+ //
1461
+ // If we can use runtime requests and a runtime request would provide more
1462
+ // data, we also skip the upgrade (see `willBeSupersededByRuntimeRequest`)
1463
+ const isUpgradeableISRFallbackRetry = fetchStrategy === _types.FetchStrategy.PPR && nodeEntry.isUpgradeableISRFallback && // If the status is empty, then we haven't yet attempted to upgrade
1464
+ // the fallback.
1465
+ //
1466
+ // If the status is fulfilled, then the fallback was
1467
+ // successfully upgraded to a concrete version.
1468
+ //
1469
+ // Do not attempt to upgrade if the status is Pending or Rejected.
1470
+ (task.fallbackRetryStatus === _cache.EntryStatus.Empty || task.fallbackRetryStatus === _cache.EntryStatus.Fulfilled);
1471
+ if (spawnRevalidations && !willBeSupersededByRuntimeRequest && (nodeEntry.isPartial && (0, _cache.canNewFetchStrategyProvideMoreContent)(nodeEntry.fetchStrategy, fetchStrategy) || isUpgradeableISRFallbackRetry)) {
1472
+ const revalidatingEntry = (0, _cache.readOrCreateRevalidatingSegmentEntry)(now, task.segmentCacheMap, fetchStrategy, nodeTree);
1473
+ if (revalidatingEntry.status === _cache.EntryStatus.Empty) {
1474
+ const pendingEntry = (0, _cache.upgradeToPendingSegment)(revalidatingEntry, fetchStrategy);
1475
+ if (spawnedEntries === null) {
1476
+ spawnedEntries = new Map();
1477
+ }
1478
+ spawnedEntries.set(nodeTree.requestKey, pendingEntry);
1479
+ // The pass blocks on every request it spawns, including
1480
+ // revalidations of an already-fulfilled entry.
1481
+ blockTaskOnPendingResponse(task, pendingEntry);
1482
+ } else {
1483
+ // A non-empty revalidating entry means a request is already in
1484
+ // flight (or recently settled), so we dedupe and don't issue a
1485
+ // competing one — including for ISR-fallback upgrades, which then
1486
+ // share the same revalidation across tasks.
1487
+ if (revalidatingEntry.status === _cache.EntryStatus.Pending) {
1488
+ // The deduped-against revalidation is still in flight, and this
1489
+ // pass depends on its response. Wait for it before the phase
1490
+ // can complete. (A settled revalidation we chose not to use
1491
+ // needs no waiting and is not a prefetch failure — the base
1492
+ // entry here is already Fulfilled. A settled revalidation
1493
+ // can't strand an eligible shell-tier entry either:
1494
+ // isShellEntryEligibleForStaticAttempt reads the slot, so a
1495
+ // settled attempt makes the entry ineligible and the runtime
1496
+ // deopt proceeds above.)
1497
+ blockTaskOnPendingResponse(task, revalidatingEntry);
1498
+ }
1499
+ }
1500
+ }
1501
+ break;
1502
+ }
1503
+ default:
1504
+ nodeEntry;
1505
+ }
1506
+ node = node.parent;
1507
+ }
1508
+ if (spawnedEntries !== null) {
1509
+ spawnPrefetchSubtask((0, _cache.fetchSegmentPrefetchesUsingStaticRequest)(task, route, routeKey, tree, spawnedEntries, fetchStrategy));
1510
+ }
1511
+ return needsRuntimeRequest;
1512
+ }
1513
+ /**
1514
+ * During the tree walk, decide whether this segment should be added to the
1515
+ * in-progress bundle (if it has InlinedIntoChild) or finalize the bundle
1516
+ * and ping it, triggering a fetch if any of its entries need data (if it
1517
+ * doesn't). Returns the updated bundle to pass to children (null if the
1518
+ * bundle was finalized here), along with the needs-runtime signal from the
1519
+ * bundle ping, if one happened (always false otherwise).
1520
+ */ function accumulateSegmentBundle(now, task, route, tree, parentBundle, // Per-pass static walk strategy; see pingRootRouteTree where it's derived.
1521
+ // PPR for the normal static bundling walk; StaticShell during the Shell
1522
+ // phase's static shell attempt, whose entries are keyed at the shell
1523
+ // vary paths.
1524
+ fetchStrategy, // False when finishing a chain on a runtime-prefetch bailout; see
1525
+ // pingSegmentBundle.
1526
+ spawnRevalidations) {
1527
+ // Prefetching is disabled for this segment (prefetch: 'force-disabled'):
1528
+ // the server emits identity only for its response node, and it
1529
+ // participates in the bundle chain with null tree/entry — no cache entry
1530
+ // is created for it.
1531
+ // (Partial Prefetching segments are NOT in this mask — the server emits
1532
+ // static data for them unconditionally.) Intentionally not gated by the
1533
+ // prefetch inlining flag: we never statically prefetch unprefetchable
1534
+ // segments.
1535
+ if (tree.prefetchHints & _approutertypes.StaticPrefetchDisabled) {
1536
+ return {
1537
+ bundle: {
1538
+ tree: null,
1539
+ entry: null,
1540
+ parent: parentBundle
1541
+ },
1542
+ needsRuntimeRequest: false
1543
+ };
1544
+ }
1545
+ const segment = (0, _cache.readOrCreateSegmentCacheEntry)(now, task.segmentCacheMap, fetchStrategy, tree);
1546
+ if (process.env.__NEXT_PREFETCH_INLINING && tree.prefetchHints & _approutertypes.PrefetchHint.InlinedIntoChild) {
1547
+ if (segment.status === _cache.EntryStatus.Pending) {
1548
+ // The chain this entry joins may be dropped before it's ever pinged
1549
+ // (see the drop sites in pingSegmentInCacheComponentsTree), and only
1550
+ // the ping blocks on Pending entries. Register on the in-flight
1551
+ // response at read time instead, so the pass observes it before the
1552
+ // phase can complete even if the chain is dropped. When the chain does
1553
+ // get pinged, the ping's own registration dedupes against this one.
1554
+ blockTaskOnPendingResponse(task, segment);
1555
+ }
1556
+ return {
1557
+ bundle: {
1558
+ tree,
1559
+ entry: segment,
1560
+ parent: parentBundle
1561
+ },
1562
+ // No bundle ping happens here, but the node's own entry may already be
1563
+ // fulfilled and insufficient. Report that signal directly: the chain
1564
+ // ping only reaches the terminal descendant, and if that descendant is
1565
+ // itself a decision point it consumes the signal for its own subtree,
1566
+ // leaving this ancestor's insufficiency invisible to the decision
1567
+ // point above it. An eligible shell-tier entry withholds the signal,
1568
+ // the same exception the bundle ping applies: deopting here would
1569
+ // pre-empt the static attempt the chain ping spawns for this node when
1570
+ // it reaches the terminal descendant (its Fulfilled case runs for
1571
+ // every node in the chain).
1572
+ needsRuntimeRequest: segment.status === _cache.EntryStatus.Fulfilled && wouldRuntimeRequestProvideMore(segment, fetchStrategy) && !isShellEntryEligibleForStaticAttempt(now, task.segmentCacheMap, segment, tree, fetchStrategy)
1573
+ };
1574
+ }
1575
+ // Not bundled. Build a single-node bundle and ping it. If this page
1576
+ // accepts the head (HeadInlinedIntoSelf), prepend the head's cache entry
1577
+ // to the bundle.
1578
+ let effectiveParent = parentBundle;
1579
+ if (process.env.__NEXT_PREFETCH_INLINING && tree.prefetchHints & _approutertypes.PrefetchHint.HeadInlinedIntoSelf) {
1580
+ effectiveParent = {
1581
+ tree: route.root.head,
1582
+ entry: (0, _cache.readOrCreateSegmentCacheEntry)(now, task.segmentCacheMap, fetchStrategy, route.root.head),
1583
+ parent: parentBundle
1584
+ };
1585
+ }
1586
+ const segments = {
1587
+ tree,
1588
+ entry: segment,
1589
+ parent: effectiveParent
1590
+ };
1591
+ const needsRuntimeRequest = pingSegmentBundle(now, task, route, task.key, tree, segments, fetchStrategy, spawnRevalidations);
1592
+ return {
1593
+ bundle: null,
1594
+ needsRuntimeRequest
1595
+ };
1596
+ }
1597
+ function finishStaticBundleOnRuntimeBailout(now, task, route, tree, parentBundle, // The same static walk strategy the parent bundle was accumulated with.
1598
+ // Any needs-runtime signal from finishing the bundle is dropped: the
1599
+ // caller is already deopting this subtree to a runtime prefetch.
1600
+ fetchStrategy) {
1601
+ const bundle = accumulateSegmentBundle(now, task, route, tree, parentBundle, fetchStrategy, // The batched runtime request covers the deopted subtree; only fetch
1602
+ // Empty entries the chain would otherwise strand — never spawn
1603
+ // revalidations over settled or in-flight ones. See pingSegmentBundle.
1604
+ false).bundle;
1605
+ if (bundle === null) {
1606
+ return;
1607
+ }
1608
+ if (tree.slots !== null) {
1609
+ for (const childTree of tree.slots.values()){
1610
+ if (childTree.prefetchHints & _approutertypes.PrefetchHint.ParentInlinedIntoSelf) {
1611
+ finishStaticBundleOnRuntimeBailout(now, task, route, childTree, bundle, fetchStrategy);
1612
+ return;
1613
+ }
1614
+ }
1615
+ }
1616
+ }
1617
+ function pingFullSegmentRevalidation(now, task, tree, fetchStrategy) {
1618
+ const revalidatingSegment = (0, _cache.readOrCreateRevalidatingSegmentEntry)(now, task.segmentCacheMap, fetchStrategy, tree);
1619
+ if (revalidatingSegment.status === _cache.EntryStatus.Empty) {
1620
+ // During a Full/PPRRuntime prefetch, a single runtime request is made for
1621
+ // all the segments that we need. So we don't initiate a request here
1622
+ // directly. By returning a pending entry from this function, it signals
1623
+ // to the caller that this segment should be included in the request
1624
+ // that's sent to the server.
1625
+ const pendingSegment = (0, _cache.upgradeToPendingSegment)(revalidatingSegment, fetchStrategy);
1626
+ // The upsert is handled by writeSegmentDataIntoCache
1627
+ // when the runtime request's response is written into the cache.
1628
+ return pendingSegment;
1629
+ } else {
1630
+ // There's already a revalidation in progress.
1631
+ const nonEmptyRevalidatingSegment = revalidatingSegment;
1632
+ if ((0, _cache.canNewFetchStrategyProvideMoreContent)(nonEmptyRevalidatingSegment.fetchStrategy, fetchStrategy)) {
1633
+ // The existing revalidation was fetched using a less specific strategy.
1634
+ // Reset it and start a new revalidation.
1635
+ const emptySegment = (0, _cache.overwriteRevalidatingSegmentCacheEntry)(now, task.segmentCacheMap, fetchStrategy, tree);
1636
+ const pendingSegment = (0, _cache.upgradeToPendingSegment)(emptySegment, fetchStrategy);
1637
+ // The upsert is handled by writeSegmentDataIntoCache
1638
+ // when the runtime request's response is written into the cache.
1639
+ return pendingSegment;
1640
+ }
1641
+ switch(nonEmptyRevalidatingSegment.status){
1642
+ case _cache.EntryStatus.Pending:
1643
+ // There's already an in-progress prefetch that includes this segment.
1644
+ // The pass needs the contents of that response, too. Wait for it
1645
+ // before the phase can complete.
1646
+ blockTaskOnPendingResponse(task, nonEmptyRevalidatingSegment);
1647
+ return null;
1648
+ case _cache.EntryStatus.Fulfilled:
1649
+ case _cache.EntryStatus.Rejected:
1650
+ // A previous revalidation attempt finished, but we chose not to replace
1651
+ // the existing entry in the cache. Don't try again until or unless the
1652
+ // revalidation entry expires.
1653
+ return null;
1654
+ default:
1655
+ nonEmptyRevalidatingSegment;
1656
+ return null;
1657
+ }
1658
+ }
1659
+ }
1660
+ function needsSpeculativePrefetch(taskfetchStrategy, rootPrefetchHints) {
1661
+ if ((rootPrefetchHints & _approutertypes.PrefetchHint.SubtreeHasPartialPrefetching) !== 0) {
1662
+ // PPF - only needs a speculative prefetch if this is a `<Link prefetch={true}>`.
1663
+ return taskfetchStrategy === _types.FetchStrategy.Full;
1664
+ } else {
1665
+ // non-PPF -- all prefetches are speculative.
1666
+ return true;
1667
+ }
1668
+ }
1669
+ // -----------------------------------------------------------------------------
1670
+ // The remainder of the module is a MinHeap implementation. Try not to put any
1671
+ // logic below here unless it's related to the heap algorithm. We can extract
1672
+ // this to a separate module if/when we need multiple kinds of heaps.
1673
+ // -----------------------------------------------------------------------------
1674
+ function compareQueuePriority(a, b) {
1675
+ // Since the queue is a MinHeap, this should return a positive number if b is
1676
+ // higher priority than a, and a negative number if a is higher priority
1677
+ // than b.
1678
+ // `priority` is an integer, where higher numbers are higher priority.
1679
+ const priorityDiff = b.priority - a.priority;
1680
+ if (priorityDiff !== 0) {
1681
+ return priorityDiff;
1682
+ }
1683
+ // If the priority is the same, check which phase the prefetch is in — is it
1684
+ // prefetching the route tree, or the segments? Route trees are prioritized.
1685
+ const phaseDiff = b.phase - a.phase;
1686
+ if (phaseDiff !== 0) {
1687
+ return phaseDiff;
1688
+ }
1689
+ // Finally, check the insertion order. `sortId` is an incrementing counter
1690
+ // assigned to prefetches. We want to process the newest prefetches first.
1691
+ return b.sortId - a.sortId;
1692
+ }
1693
+ function heapPush(heap, node) {
1694
+ const index = heap.length;
1695
+ heap.push(node);
1696
+ node._heapIndex = index;
1697
+ heapSiftUp(heap, node, index);
1698
+ }
1699
+ function heapPeek(heap) {
1700
+ return heap.length === 0 ? null : heap[0];
1701
+ }
1702
+ function heapPop(heap) {
1703
+ if (heap.length === 0) {
1704
+ return null;
1705
+ }
1706
+ const first = heap[0];
1707
+ first._heapIndex = -1;
1708
+ const last = heap.pop();
1709
+ if (last !== first) {
1710
+ heap[0] = last;
1711
+ last._heapIndex = 0;
1712
+ heapSiftDown(heap, last, 0);
1713
+ }
1714
+ return first;
1715
+ }
1716
+ function heapDelete(heap, node) {
1717
+ const index = node._heapIndex;
1718
+ if (index !== -1) {
1719
+ node._heapIndex = -1;
1720
+ if (heap.length !== 0) {
1721
+ const last = heap.pop();
1722
+ if (last !== node) {
1723
+ heap[index] = last;
1724
+ last._heapIndex = index;
1725
+ heapSiftDown(heap, last, index);
1726
+ }
1727
+ }
1728
+ }
1729
+ }
1730
+ function heapResift(heap, node) {
1731
+ const index = node._heapIndex;
1732
+ if (index !== -1) {
1733
+ if (index === 0) {
1734
+ heapSiftDown(heap, node, 0);
1735
+ } else {
1736
+ const parentIndex = index - 1 >>> 1;
1737
+ const parent = heap[parentIndex];
1738
+ if (compareQueuePriority(parent, node) > 0) {
1739
+ // The parent is larger. Sift up.
1740
+ heapSiftUp(heap, node, index);
1741
+ } else {
1742
+ // The parent is smaller (or equal). Sift down.
1743
+ heapSiftDown(heap, node, index);
1744
+ }
1745
+ }
1746
+ }
1747
+ }
1748
+ function heapSiftUp(heap, node, i) {
1749
+ let index = i;
1750
+ while(index > 0){
1751
+ const parentIndex = index - 1 >>> 1;
1752
+ const parent = heap[parentIndex];
1753
+ if (compareQueuePriority(parent, node) > 0) {
1754
+ // The parent is larger. Swap positions.
1755
+ heap[parentIndex] = node;
1756
+ node._heapIndex = parentIndex;
1757
+ heap[index] = parent;
1758
+ parent._heapIndex = index;
1759
+ index = parentIndex;
1760
+ } else {
1761
+ // The parent is smaller. Exit.
1762
+ return;
1763
+ }
1764
+ }
1765
+ }
1766
+ function heapSiftDown(heap, node, i) {
1767
+ let index = i;
1768
+ const length = heap.length;
1769
+ const halfLength = length >>> 1;
1770
+ while(index < halfLength){
1771
+ const leftIndex = (index + 1) * 2 - 1;
1772
+ const left = heap[leftIndex];
1773
+ const rightIndex = leftIndex + 1;
1774
+ const right = heap[rightIndex];
1775
+ // If the left or right node is smaller, swap with the smaller of those.
1776
+ if (compareQueuePriority(left, node) < 0) {
1777
+ if (rightIndex < length && compareQueuePriority(right, left) < 0) {
1778
+ heap[index] = right;
1779
+ right._heapIndex = index;
1780
+ heap[rightIndex] = node;
1781
+ node._heapIndex = rightIndex;
1782
+ index = rightIndex;
1783
+ } else {
1784
+ heap[index] = left;
1785
+ left._heapIndex = index;
1786
+ heap[leftIndex] = node;
1787
+ node._heapIndex = leftIndex;
1788
+ index = leftIndex;
1789
+ }
1790
+ } else if (rightIndex < length && compareQueuePriority(right, node) < 0) {
1791
+ heap[index] = right;
1792
+ right._heapIndex = index;
1793
+ heap[rightIndex] = node;
1794
+ node._heapIndex = rightIndex;
1795
+ index = rightIndex;
1796
+ } else {
1797
+ // Neither child is smaller. Exit.
1798
+ return;
1799
+ }
1800
+ }
1801
+ }
1802
+
1803
+ if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
1804
+ Object.defineProperty(exports.default, '__esModule', { value: true });
1805
+ Object.assign(exports.default, exports);
1806
+ module.exports = exports.default;
1807
+ }
1808
+
1809
+ //# sourceMappingURL=scheduler.js.map