@evoscientist/webui 0.3.0 → 0.3.2

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 (288) hide show
  1. package/dist/.next/BUILD_ID +1 -1
  2. package/dist/.next/build-manifest.json +6 -6
  3. package/dist/.next/prerender-manifest.json +6 -6
  4. package/dist/.next/required-server-files.json +7 -1
  5. package/dist/.next/server/app/_global-error/page/build-manifest.json +3 -3
  6. package/dist/.next/server/app/_global-error/page.js +3 -3
  7. package/dist/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/dist/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/dist/.next/server/app/_global-error.html +1 -1
  10. package/dist/.next/server/app/_global-error.meta +8 -0
  11. package/dist/.next/server/app/_global-error.rsc +1 -1
  12. package/dist/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  13. package/dist/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/dist/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/dist/.next/server/app/_not-found/page/build-manifest.json +3 -3
  16. package/dist/.next/server/app/_not-found/page.js +3 -3
  17. package/dist/.next/server/app/_not-found/page.js.nft.json +1 -1
  18. package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/dist/.next/server/app/_not-found.html +1 -1
  20. package/dist/.next/server/app/_not-found.meta +8 -0
  21. package/dist/.next/server/app/_not-found.rsc +2 -2
  22. package/dist/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  23. package/dist/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  24. package/dist/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  25. package/dist/.next/server/app/api/evosci-config/route.js +1 -1
  26. package/dist/.next/server/app/api/evosci-config/route.js.nft.json +1 -1
  27. package/dist/.next/server/app/api/evosci-config/route_client-reference-manifest.js +1 -1
  28. package/dist/.next/server/app/api/memory/executions/route.js +1 -1
  29. package/dist/.next/server/app/api/memory/executions/route.js.nft.json +1 -1
  30. package/dist/.next/server/app/api/memory/executions/route_client-reference-manifest.js +1 -1
  31. package/dist/.next/server/app/api/memory/observations/route.js +1 -1
  32. package/dist/.next/server/app/api/memory/observations/route.js.nft.json +1 -1
  33. package/dist/.next/server/app/api/memory/observations/route_client-reference-manifest.js +1 -1
  34. package/dist/.next/server/app/api/memory/route.js +1 -1
  35. package/dist/.next/server/app/api/memory/route.js.nft.json +1 -1
  36. package/dist/.next/server/app/api/memory/route_client-reference-manifest.js +1 -1
  37. package/dist/.next/server/app/api/skills/catalog/route.js +1 -1
  38. package/dist/.next/server/app/api/skills/catalog/route.js.nft.json +1 -1
  39. package/dist/.next/server/app/api/skills/catalog/route_client-reference-manifest.js +1 -1
  40. package/dist/.next/server/app/api/skills/detail/route.js +1 -1
  41. package/dist/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
  42. package/dist/.next/server/app/api/skills/detail/route_client-reference-manifest.js +1 -1
  43. package/dist/.next/server/app/api/skills/install/route.js +1 -1
  44. package/dist/.next/server/app/api/skills/install/route.js.nft.json +1 -1
  45. package/dist/.next/server/app/api/skills/install/route_client-reference-manifest.js +1 -1
  46. package/dist/.next/server/app/api/skills/route.js +1 -1
  47. package/dist/.next/server/app/api/skills/route.js.nft.json +1 -1
  48. package/dist/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  49. package/dist/.next/server/app/api/workspace/download/route.js +1 -1
  50. package/dist/.next/server/app/api/workspace/download/route.js.nft.json +1 -1
  51. package/dist/.next/server/app/api/workspace/download/route_client-reference-manifest.js +1 -1
  52. package/dist/.next/server/app/api/workspace/file/route.js +1 -1
  53. package/dist/.next/server/app/api/workspace/file/route.js.nft.json +1 -1
  54. package/dist/.next/server/app/api/workspace/file/route_client-reference-manifest.js +1 -1
  55. package/dist/.next/server/app/api/workspace/route.js +1 -1
  56. package/dist/.next/server/app/api/workspace/route.js.nft.json +1 -1
  57. package/dist/.next/server/app/api/workspace/route_client-reference-manifest.js +1 -1
  58. package/dist/.next/server/app/api/workspace/upload/route.js +1 -1
  59. package/dist/.next/server/app/api/workspace/upload/route.js.nft.json +1 -1
  60. package/dist/.next/server/app/api/workspace/upload/route_client-reference-manifest.js +1 -1
  61. package/dist/.next/server/app/icon.png/route.js +1 -1
  62. package/dist/.next/server/app/icon.png/route.js.nft.json +1 -1
  63. package/dist/.next/server/app/icon.png.meta +1 -1
  64. package/dist/.next/server/app/index.html +1 -1
  65. package/dist/.next/server/app/index.meta +8 -0
  66. package/dist/.next/server/app/index.rsc +3 -3
  67. package/dist/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  68. package/dist/.next/server/app/index.segments/_full.segment.rsc +3 -3
  69. package/dist/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  70. package/dist/.next/server/app/page/build-manifest.json +3 -3
  71. package/dist/.next/server/app/page.js +3 -3
  72. package/dist/.next/server/app/page.js.nft.json +1 -1
  73. package/dist/.next/server/app/page_client-reference-manifest.js +1 -1
  74. package/dist/.next/server/chunks/{[externals]__0l8ei7u._.js → [externals]__12s2uxr._.js} +2 -2
  75. package/dist/.next/server/chunks/[root-of-the-server]__0239a1s._.js +1 -1
  76. package/dist/.next/server/chunks/[root-of-the-server]__0l3yhx4._.js +2 -2
  77. package/dist/.next/server/chunks/{[root-of-the-server]__0c_9zoh._.js → [root-of-the-server]__0lmbd-x._.js} +1 -1
  78. package/dist/.next/server/chunks/{[root-of-the-server]__08gtyud._.js → [root-of-the-server]__0o8rrlw._.js} +1 -1
  79. package/dist/.next/server/chunks/{[root-of-the-server]__0dsauq5._.js → [root-of-the-server]__0tsmn4o._.js} +1 -1
  80. package/dist/.next/server/chunks/{[root-of-the-server]__1nb3ezt._.js → [root-of-the-server]__1301wm3._.js} +1 -1
  81. package/dist/.next/server/chunks/[root-of-the-server]__13z7yld._.js +3 -0
  82. package/dist/.next/server/chunks/[root-of-the-server]__1csj9d7._.js +6 -0
  83. package/dist/.next/server/chunks/[root-of-the-server]__1lhglnn._.js +6 -0
  84. package/dist/.next/server/chunks/[root-of-the-server]__21ai51o._.js +6 -0
  85. package/dist/.next/server/chunks/_00r_7g_._.js +1 -1
  86. package/dist/.next/server/chunks/_042sj8j._.js +1 -1
  87. package/dist/.next/server/chunks/_0lp3ten._.js +1 -1
  88. package/dist/.next/server/chunks/_0m7b81h._.js +1 -1
  89. package/dist/.next/server/chunks/_13lro7d._.js +1 -1
  90. package/dist/.next/server/chunks/_154zcbx._.js +1 -1
  91. package/dist/.next/server/chunks/_1_oz68h._.js +1 -1
  92. package/dist/.next/server/chunks/_1lqtgjk._.js +1 -1
  93. package/dist/.next/server/chunks/ssr/{[root-of-the-server]__0xpcv9w._.js → [root-of-the-server]__0gz0l81._.js} +4 -4
  94. package/dist/.next/server/chunks/ssr/{[root-of-the-server]__0o0ct70._.js → [root-of-the-server]__0ofckpb._.js} +2 -2
  95. package/dist/.next/server/chunks/ssr/[root-of-the-server]__1q-wcrf._.js +5 -5
  96. package/dist/.next/server/chunks/ssr/{node_modules_09pkkps._.js → node_modules_05olfud._.js} +2 -2
  97. package/dist/.next/server/chunks/ssr/{node_modules_0sfdscp._.js → node_modules_0707c4h._.js} +2 -2
  98. package/dist/.next/server/chunks/ssr/{node_modules_13418z5._.js → node_modules_0784dh-._.js} +1 -1
  99. package/dist/.next/server/chunks/ssr/{node_modules_1ic3g8m._.js → node_modules_09zrx7f._.js} +1 -1
  100. package/dist/.next/server/chunks/ssr/{node_modules_1di__7s._.js → node_modules_0afp9zt._.js} +1 -1
  101. package/dist/.next/server/chunks/ssr/{node_modules_0265-rz._.js → node_modules_0bhc62w._.js} +1 -1
  102. package/dist/.next/server/chunks/ssr/{node_modules_0mshgc0._.js → node_modules_0d3782d._.js} +1 -1
  103. package/dist/.next/server/chunks/ssr/{node_modules_0y4c6ao._.js → node_modules_0gczflt._.js} +1 -1
  104. package/dist/.next/server/chunks/ssr/{node_modules_0lb0yml._.js → node_modules_0i24s-o._.js} +2 -2
  105. package/dist/.next/server/chunks/ssr/{node_modules_1frmxq2._.js → node_modules_0jt-p_3._.js} +2 -2
  106. package/dist/.next/server/chunks/ssr/{node_modules_1yw7dd6._.js → node_modules_0jwjxy_._.js} +2 -2
  107. package/dist/.next/server/chunks/ssr/{node_modules_16r2-d4._.js → node_modules_0l773dp._.js} +1 -1
  108. package/dist/.next/server/chunks/ssr/{node_modules_10xlaeo._.js → node_modules_0m8u9v1._.js} +1 -1
  109. package/dist/.next/server/chunks/ssr/{node_modules_0zinurw._.js → node_modules_0ml23_q._.js} +2 -2
  110. package/dist/.next/server/chunks/ssr/{node_modules_0r6hp0p._.js → node_modules_0rlst0z._.js} +1 -1
  111. package/dist/.next/server/chunks/ssr/{node_modules_0f1vz2j._.js → node_modules_0tivl4k._.js} +2 -2
  112. package/dist/.next/server/chunks/ssr/{node_modules_0653v7w._.js → node_modules_13v6kpn._.js} +2 -2
  113. package/dist/.next/server/chunks/ssr/{node_modules_0snw7z_._.js → node_modules_168xluw._.js} +1 -1
  114. package/dist/.next/server/chunks/ssr/{node_modules_0gq6n6w._.js → node_modules_16ad5zu._.js} +2 -2
  115. package/dist/.next/server/chunks/ssr/{node_modules_0tbm7m-._.js → node_modules_18bc60h._.js} +1 -1
  116. package/dist/.next/server/chunks/ssr/{node_modules_0e21i6_._.js → node_modules_1aavgsp._.js} +1 -1
  117. package/dist/.next/server/chunks/ssr/{node_modules_0tfd3hd._.js → node_modules_1bo2k7k._.js} +1 -1
  118. package/dist/.next/server/chunks/ssr/{node_modules_0zz_c7x._.js → node_modules_1ch0k2m._.js} +1 -1
  119. package/dist/.next/server/chunks/ssr/{node_modules_1e3xu34._.js → node_modules_1dc_thh._.js} +1 -1
  120. package/dist/.next/server/chunks/ssr/{node_modules_0fpr7k8._.js → node_modules_1mqkp65._.js} +1 -1
  121. package/dist/.next/server/chunks/ssr/{node_modules_0d4t5t-._.js → node_modules_1t21v31._.js} +1 -1
  122. package/dist/.next/server/chunks/ssr/{node_modules_0revk50._.js → node_modules_1u__5g0._.js} +1 -1
  123. package/dist/.next/server/chunks/ssr/{node_modules_11xf286._.js → node_modules_1vsvm0k._.js} +2 -2
  124. package/dist/.next/server/chunks/ssr/{node_modules_1_uze58._.js → node_modules_1z3x6_m._.js} +1 -1
  125. package/dist/.next/server/chunks/ssr/{node_modules_1nia3l1._.js → node_modules_1zm22k3._.js} +1 -1
  126. package/dist/.next/server/chunks/ssr/{node_modules_katex_dist_katex_mjs_0rmimx0._.js → node_modules_katex_dist_katex_mjs_02vnq48._.js} +1 -1
  127. package/dist/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-DU6HZSFF_mjs_20hsuk9._.js +2 -2
  128. package/dist/.next/server/chunks/ssr/node_modules_next_dist_0nkkbfv._.js +6 -0
  129. package/dist/.next/server/middleware-build-manifest.js +6 -6
  130. package/dist/.next/server/pages/404.html +1 -1
  131. package/dist/.next/server/pages/500.html +1 -1
  132. package/dist/.next/server/server-reference-manifest.js +1 -1
  133. package/dist/.next/server/server-reference-manifest.json +1 -1
  134. package/dist/.next/static/chunks/09nrlxui_thd6.css +3 -0
  135. package/dist/.next/static/chunks/13ss71zqoc3if.js +122 -0
  136. package/dist/.next/static/chunks/{02g89o135esk3.js → 36z02g61bmnkq.js} +1 -1
  137. package/dist/.next/static/chunks/3ckjr-0dkyr_7.js +13 -0
  138. package/dist/.next/static/chunks/{2zf625u-tcwdn.js → 3gwb465dhjxo9.js} +1 -1
  139. package/dist/.next/static/chunks/{3fg_vuz1xt14w.js → 45asonyfr0kfy.js} +1 -1
  140. package/dist/.next/static/chunks/{turbopack-3cm-eevva8ksw.js → turbopack-3it-vrv5uq3no.js} +1 -1
  141. package/dist/node_modules/@next/env/package.json +1 -1
  142. package/dist/node_modules/next/dist/build/swc/index.js +1 -1
  143. package/dist/node_modules/next/dist/compiled/hash.js/sha256/256.js +1 -0
  144. package/dist/node_modules/next/dist/compiled/hash.js/sha256/package.json +1 -0
  145. package/dist/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +17 -17
  146. package/dist/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +18 -18
  147. package/dist/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +3 -3
  148. package/dist/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +13 -13
  149. package/dist/node_modules/next/dist/experimental/testmode/fetch.js +10 -2
  150. package/dist/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
  151. package/dist/node_modules/next/dist/lib/typescript/runTypeScriptCli.js +2 -2
  152. package/dist/node_modules/next/dist/lib/verify-typescript-setup.js +3 -1
  153. package/dist/node_modules/next/dist/server/app-render/create-component-styles-and-scripts.js +2 -1
  154. package/dist/node_modules/next/dist/server/base-server.js +1 -2
  155. package/dist/node_modules/next/dist/server/config.js +1 -1
  156. package/dist/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
  157. package/dist/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  158. package/dist/node_modules/next/dist/server/image-optimizer.js +281 -55
  159. package/dist/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  160. package/dist/node_modules/next/dist/server/lib/disk-lru-cache.external.js +7 -1
  161. package/dist/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +177 -19
  162. package/dist/node_modules/next/dist/server/lib/incremental-cache/index.js +36 -17
  163. package/dist/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js +14 -6
  164. package/dist/node_modules/next/dist/server/lib/match-next-data-pathname.js +3 -1
  165. package/dist/node_modules/next/dist/server/lib/node-fs-methods.js +14 -0
  166. package/dist/node_modules/next/dist/server/lib/route-cache-key.js +77 -0
  167. package/dist/node_modules/next/dist/server/lib/router-utils/block-cross-site-dev.js +9 -11
  168. package/dist/node_modules/next/dist/server/lib/start-server.js +1 -1
  169. package/dist/node_modules/next/dist/server/mcp/get-mcp-middleware.js +4 -2
  170. package/dist/node_modules/next/dist/server/next-server.js +7 -3
  171. package/dist/node_modules/next/dist/server/response-cache/index.js +32 -16
  172. package/dist/node_modules/next/dist/server/route-matcher-providers/app-page-route-matcher-provider.js +2 -2
  173. package/dist/node_modules/next/dist/server/route-modules/pages/pages-handler.js +6 -1
  174. package/dist/node_modules/next/dist/server/route-modules/route-module.js +9 -2
  175. package/dist/node_modules/next/dist/server/use-cache/use-cache-wrapper.js +36 -30
  176. package/dist/node_modules/next/dist/shared/lib/router/utils/app-paths.js +18 -1
  177. package/dist/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  178. package/dist/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  179. package/dist/node_modules/next/dist/telemetry/events/version.js +2 -2
  180. package/dist/node_modules/next/package.json +11 -11
  181. package/dist/package.json +3 -3
  182. package/dist/server.js +1 -1
  183. package/package.json +3 -3
  184. package/dist/.next/server/chunks/[root-of-the-server]__01e0ekn._.js +0 -6
  185. package/dist/.next/server/chunks/[root-of-the-server]__0d2jr7j._.js +0 -3
  186. package/dist/.next/server/chunks/[root-of-the-server]__0om1fsa._.js +0 -6
  187. package/dist/.next/server/chunks/[root-of-the-server]__19l67fj._.js +0 -6
  188. package/dist/.next/server/chunks/ssr/node_modules_next_dist_1n3w9lb._.js +0 -6
  189. package/dist/.next/static/chunks/357uypdcfkasu.js +0 -13
  190. package/dist/.next/static/chunks/3cmvtz1y1tcd1.css +0 -3
  191. package/dist/.next/static/chunks/3zgnmu3cnahk0.js +0 -122
  192. package/dist/node_modules/@img/colour/color.cjs +0 -1596
  193. package/dist/node_modules/@img/colour/index.cjs +0 -1
  194. package/dist/node_modules/@img/colour/package.json +0 -58
  195. package/dist/node_modules/@img/sharp-darwin-arm64/index.cjs +0 -2
  196. package/dist/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64-0.35.4.node +0 -0
  197. package/dist/node_modules/@img/sharp-darwin-arm64/package.json +0 -41
  198. package/dist/node_modules/@img/sharp-libvips-darwin-arm64/README.md +0 -46
  199. package/dist/node_modules/@img/sharp-libvips-darwin-arm64/lib/glib-2.0/include/glibconfig.h +0 -218
  200. package/dist/node_modules/@img/sharp-libvips-darwin-arm64/lib/index.js +0 -1
  201. package/dist/node_modules/@img/sharp-libvips-darwin-arm64/lib/libvips-cpp.8.18.6.dylib +0 -0
  202. package/dist/node_modules/@img/sharp-libvips-darwin-arm64/package.json +0 -37
  203. package/dist/node_modules/@img/sharp-libvips-darwin-arm64/versions.json +0 -30
  204. package/dist/node_modules/detect-libc/lib/detect-libc.js +0 -313
  205. package/dist/node_modules/detect-libc/lib/elf.js +0 -39
  206. package/dist/node_modules/detect-libc/lib/filesystem.js +0 -51
  207. package/dist/node_modules/detect-libc/lib/process.js +0 -24
  208. package/dist/node_modules/detect-libc/package.json +0 -44
  209. package/dist/node_modules/semver/package.json +0 -38
  210. package/dist/node_modules/sharp/dist/channel.cjs +0 -177
  211. package/dist/node_modules/sharp/dist/channel.mjs +0 -177
  212. package/dist/node_modules/sharp/dist/colour.cjs +0 -199
  213. package/dist/node_modules/sharp/dist/colour.mjs +0 -199
  214. package/dist/node_modules/sharp/dist/composite.cjs +0 -213
  215. package/dist/node_modules/sharp/dist/composite.mjs +0 -213
  216. package/dist/node_modules/sharp/dist/constructor.cjs +0 -511
  217. package/dist/node_modules/sharp/dist/constructor.mjs +0 -511
  218. package/dist/node_modules/sharp/dist/index.cjs +0 -25
  219. package/dist/node_modules/sharp/dist/index.d.cts +0 -1999
  220. package/dist/node_modules/sharp/dist/index.d.mts +0 -2046
  221. package/dist/node_modules/sharp/dist/index.mjs +0 -25
  222. package/dist/node_modules/sharp/dist/input.cjs +0 -819
  223. package/dist/node_modules/sharp/dist/input.mjs +0 -819
  224. package/dist/node_modules/sharp/dist/is.cjs +0 -143
  225. package/dist/node_modules/sharp/dist/is.mjs +0 -143
  226. package/dist/node_modules/sharp/dist/libvips.cjs +0 -212
  227. package/dist/node_modules/sharp/dist/libvips.mjs +0 -212
  228. package/dist/node_modules/sharp/dist/operation.cjs +0 -1002
  229. package/dist/node_modules/sharp/dist/operation.mjs +0 -1002
  230. package/dist/node_modules/sharp/dist/output.cjs +0 -1785
  231. package/dist/node_modules/sharp/dist/output.mjs +0 -1785
  232. package/dist/node_modules/sharp/dist/resize.cjs +0 -617
  233. package/dist/node_modules/sharp/dist/resize.mjs +0 -617
  234. package/dist/node_modules/sharp/dist/sharp.cjs +0 -174
  235. package/dist/node_modules/sharp/dist/sharp.mjs +0 -174
  236. package/dist/node_modules/sharp/dist/utility.cjs +0 -301
  237. package/dist/node_modules/sharp/dist/utility.mjs +0 -301
  238. package/dist/node_modules/sharp/node_modules/semver/classes/comparator.js +0 -143
  239. package/dist/node_modules/sharp/node_modules/semver/classes/range.js +0 -577
  240. package/dist/node_modules/sharp/node_modules/semver/classes/semver.js +0 -350
  241. package/dist/node_modules/sharp/node_modules/semver/functions/clean.js +0 -8
  242. package/dist/node_modules/sharp/node_modules/semver/functions/cmp.js +0 -54
  243. package/dist/node_modules/sharp/node_modules/semver/functions/coerce.js +0 -62
  244. package/dist/node_modules/sharp/node_modules/semver/functions/compare-build.js +0 -9
  245. package/dist/node_modules/sharp/node_modules/semver/functions/compare-loose.js +0 -5
  246. package/dist/node_modules/sharp/node_modules/semver/functions/compare.js +0 -7
  247. package/dist/node_modules/sharp/node_modules/semver/functions/diff.js +0 -60
  248. package/dist/node_modules/sharp/node_modules/semver/functions/eq.js +0 -5
  249. package/dist/node_modules/sharp/node_modules/semver/functions/gt.js +0 -5
  250. package/dist/node_modules/sharp/node_modules/semver/functions/gte.js +0 -5
  251. package/dist/node_modules/sharp/node_modules/semver/functions/inc.js +0 -21
  252. package/dist/node_modules/sharp/node_modules/semver/functions/lt.js +0 -5
  253. package/dist/node_modules/sharp/node_modules/semver/functions/lte.js +0 -5
  254. package/dist/node_modules/sharp/node_modules/semver/functions/major.js +0 -5
  255. package/dist/node_modules/sharp/node_modules/semver/functions/minor.js +0 -5
  256. package/dist/node_modules/sharp/node_modules/semver/functions/neq.js +0 -5
  257. package/dist/node_modules/sharp/node_modules/semver/functions/parse.js +0 -18
  258. package/dist/node_modules/sharp/node_modules/semver/functions/patch.js +0 -5
  259. package/dist/node_modules/sharp/node_modules/semver/functions/prerelease.js +0 -8
  260. package/dist/node_modules/sharp/node_modules/semver/functions/rcompare.js +0 -5
  261. package/dist/node_modules/sharp/node_modules/semver/functions/rsort.js +0 -5
  262. package/dist/node_modules/sharp/node_modules/semver/functions/satisfies.js +0 -12
  263. package/dist/node_modules/sharp/node_modules/semver/functions/sort.js +0 -5
  264. package/dist/node_modules/sharp/node_modules/semver/functions/truncate.js +0 -48
  265. package/dist/node_modules/sharp/node_modules/semver/functions/valid.js +0 -8
  266. package/dist/node_modules/sharp/node_modules/semver/index.js +0 -93
  267. package/dist/node_modules/sharp/node_modules/semver/internal/constants.js +0 -37
  268. package/dist/node_modules/sharp/node_modules/semver/internal/debug.js +0 -11
  269. package/dist/node_modules/sharp/node_modules/semver/internal/identifiers.js +0 -29
  270. package/dist/node_modules/sharp/node_modules/semver/internal/lrucache.js +0 -42
  271. package/dist/node_modules/sharp/node_modules/semver/internal/parse-options.js +0 -17
  272. package/dist/node_modules/sharp/node_modules/semver/internal/re.js +0 -223
  273. package/dist/node_modules/sharp/node_modules/semver/package.json +0 -78
  274. package/dist/node_modules/sharp/node_modules/semver/ranges/gtr.js +0 -6
  275. package/dist/node_modules/sharp/node_modules/semver/ranges/intersects.js +0 -9
  276. package/dist/node_modules/sharp/node_modules/semver/ranges/ltr.js +0 -6
  277. package/dist/node_modules/sharp/node_modules/semver/ranges/max-satisfying.js +0 -27
  278. package/dist/node_modules/sharp/node_modules/semver/ranges/min-satisfying.js +0 -26
  279. package/dist/node_modules/sharp/node_modules/semver/ranges/min-version.js +0 -63
  280. package/dist/node_modules/sharp/node_modules/semver/ranges/outside.js +0 -82
  281. package/dist/node_modules/sharp/node_modules/semver/ranges/simplify.js +0 -49
  282. package/dist/node_modules/sharp/node_modules/semver/ranges/subset.js +0 -249
  283. package/dist/node_modules/sharp/node_modules/semver/ranges/to-comparators.js +0 -10
  284. package/dist/node_modules/sharp/node_modules/semver/ranges/valid.js +0 -13
  285. package/dist/node_modules/sharp/package.json +0 -227
  286. /package/dist/.next/static/{GuE943tuTCMHEfFMDvjrJ → 6-cCzudznf5YJPljIySXU}/_buildManifest.js +0 -0
  287. /package/dist/.next/static/{GuE943tuTCMHEfFMDvjrJ → 6-cCzudznf5YJPljIySXU}/_clientMiddlewareManifest.js +0 -0
  288. /package/dist/.next/static/{GuE943tuTCMHEfFMDvjrJ → 6-cCzudznf5YJPljIySXU}/_ssgManifest.js +0 -0
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "blockCrossSiteDEV", {
11
11
  const _url = require("../../../lib/url");
12
12
  const _log = require("../../../build/output/log");
13
13
  const _csrfprotection = require("../../app-render/csrf-protection");
14
+ const _parsepath = require("../../../shared/lib/router/utils/parse-path");
14
15
  const allowedDevOriginsDocs = 'https://nextjs.org/docs/app/api-reference/config/next-config-js/allowedDevOrigins';
15
16
  function getBlockedResourcePath(req) {
16
17
  var _parseUrl;
@@ -62,17 +63,14 @@ function parseHostnameFromHeader(header) {
62
63
  }
63
64
  function isInternalEndpoint(req) {
64
65
  if (!req.url) return false;
65
- try {
66
- // TODO: We should standardize on a single prefix for this
67
- const isMiddlewareRequest = req.url.includes('/__nextjs');
68
- const isInternalAsset = req.url.includes('/_next');
69
- // Static media requests are excluded, as they might be loaded via CSS and would fail
70
- // CORS checks.
71
- const isIgnoredRequest = req.url.includes('/_next/image') || req.url.includes('/_next/static/media') || req.url.includes('/_next/static/immutable/media');
72
- return !isIgnoredRequest && (isInternalAsset || isMiddlewareRequest);
73
- } catch (err) {
74
- return false;
75
- }
66
+ const { pathname } = (0, _parsepath.parsePath)(req.url);
67
+ // TODO: We should standardize on a single prefix for this
68
+ const isMiddlewareRequest = pathname.includes('/__nextjs');
69
+ const isInternalAsset = pathname.includes('/_next');
70
+ // Static media requests are excluded, as they might be loaded via CSS and would fail
71
+ // CORS checks.
72
+ const isIgnoredRequest = pathname.includes('/_next/image') || pathname.includes('/_next/static/media') || pathname.includes('/_next/static/immutable/media');
73
+ return !isIgnoredRequest && (isInternalAsset || isMiddlewareRequest);
76
74
  }
77
75
  const blockCrossSiteDEV = (req, res, allowedDevOrigins, hostname)=>{
78
76
  const allowedOrigins = [
@@ -177,7 +177,7 @@ async function getRequestHandlers({ dir, port, isDev, onDevServerCleanup, server
177
177
  async function startServer(serverOptions) {
178
178
  const { dir, isDev, hostname, minimalMode, allowRetry, keepAliveTimeout, selfSignedCertificate, serverFastRefresh } = serverOptions;
179
179
  let { port } = serverOptions;
180
- process.title = `next-server (v${"16.3.3"})`;
180
+ process.title = `next-server (v${"16.3.8"})`;
181
181
  let handlersReady = ()=>{};
182
182
  let handlersError = ()=>{};
183
183
  let handlersPromise = new Promise((resolve, reject)=>{
@@ -10,11 +10,13 @@ Object.defineProperty(exports, "getMcpMiddleware", {
10
10
  });
11
11
  const _getorcreatemcpserver = require("./get-or-create-mcp-server");
12
12
  const _parsebody = require("../api-utils/node/parse-body");
13
+ const _parsepath = require("../../shared/lib/router/utils/parse-path");
14
+ const _removetrailingslash = require("../../shared/lib/router/utils/remove-trailing-slash");
13
15
  const _streamableHttp = require("next/dist/compiled/@modelcontextprotocol/sdk/server/streamableHttp");
14
16
  function getMcpMiddleware(options) {
15
17
  return async function(req, res, next) {
16
- const { pathname } = new URL(req.url || '', 'http://n');
17
- if (!pathname.startsWith('/_next/mcp')) {
18
+ const { pathname } = (0, _parsepath.parsePath)(req.url || '');
19
+ if ((0, _removetrailingslash.removeTrailingSlash)(pathname) !== '/_next/mcp') {
18
20
  return next();
19
21
  }
20
22
  const mcpServer = (0, _getorcreatemcpserver.getOrCreateMcpServer)(options);
@@ -462,7 +462,10 @@ class NextNodeServer extends _baseserver.default {
462
462
  delete process.env.__NEXT_REQUEST_INSIGHTS;
463
463
  }
464
464
  if (!this.minimalMode) {
465
- this.imageResponseCache = new _responsecache.default(this.minimalMode);
465
+ this.imageResponseCache = new _responsecache.default({
466
+ minimalMode: this.minimalMode,
467
+ route: 'image'
468
+ });
466
469
  }
467
470
  if (!options.dev && !this.minimalMode && this.nextConfig.experimental.preloadEntriesOnStart) {
468
471
  this.unstable_preloadEntries();
@@ -594,6 +597,7 @@ class NextNodeServer extends _baseserver.default {
594
597
  }
595
598
  }
596
599
  async getIncrementalCache({ requestHeaders }) {
600
+ var _this_nextConfig_i18n;
597
601
  const dev = !!this.dev;
598
602
  let CacheHandler;
599
603
  const { cacheHandler } = this.nextConfig;
@@ -615,6 +619,7 @@ class NextNodeServer extends _baseserver.default {
615
619
  maxMemoryCacheSize: this.nextConfig.cacheMaxMemorySize,
616
620
  flushToDisk: !this.minimalMode && this.nextConfig.experimental.isrFlushToDisk,
617
621
  getPrerenderManifest: ()=>this.getPrerenderManifest(),
622
+ locales: (_this_nextConfig_i18n = this.nextConfig.i18n) == null ? void 0 : _this_nextConfig_i18n.locales,
618
623
  CurCacheHandler: CacheHandler
619
624
  });
620
625
  }
@@ -801,8 +806,7 @@ class NextNodeServer extends _baseserver.default {
801
806
  const isAppPath = Array.isArray(appPaths);
802
807
  let page = ctx.pathname;
803
808
  if (isAppPath) {
804
- // When it's an array, we need to pass all parallel routes to the loader.
805
- page = appPaths[0];
809
+ page = (0, _apppaths.selectAppPageEntry)(ctx.pathname, appPaths);
806
810
  }
807
811
  for (const edgeFunctionsPage of edgeFunctionsPages){
808
812
  if (edgeFunctionsPage === page) {
@@ -9,12 +9,13 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  0 && __export(require("./types"));
12
+ const _types = _export_star(require("./types"), exports);
13
+ const _invarianterror = require("../../shared/lib/invariant-error");
12
14
  const _batcher = require("../../lib/batcher");
13
15
  const _lrucache = require("../lib/lru-cache");
14
16
  const _log = require("../../build/output/log");
15
17
  const _scheduler = require("../../lib/scheduler");
16
18
  const _utils = require("./utils");
17
- _export_star(require("./types"), exports);
18
19
  function _export_star(from, to) {
19
20
  Object.keys(from).forEach(function(k) {
20
21
  if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
@@ -74,7 +75,7 @@ function _export_star(from, to) {
74
75
  return invocationID === TTL_SENTINEL ? undefined : invocationID;
75
76
  }
76
77
  class ResponseCache {
77
- constructor(minimal_mode, maxSize = DEFAULT_MAX_SIZE, ttl = DEFAULT_TTL_MS){
78
+ constructor({ minimalMode, route, maxSize = DEFAULT_MAX_SIZE, ttl = DEFAULT_TTL_MS }){
78
79
  this.getBatcher = _batcher.Batcher.create({
79
80
  // Ensure on-demand revalidate doesn't block normal requests, it should be
80
81
  // safe to run an on-demand revalidate for the same key as a normal request.
@@ -95,7 +96,11 @@ class ResponseCache {
95
96
  * Used to detect when the cache size may be too small.
96
97
  * Bounded to prevent memory growth.
97
98
  */ this.evictedInvocationIDs = new Set();
98
- this.minimal_mode = minimal_mode;
99
+ if (!route) {
100
+ throw new _invarianterror.InvariantError('Response cache requires a source route');
101
+ }
102
+ this.route = route;
103
+ this.minimal_mode = minimalMode;
99
104
  this.maxSize = maxSize;
100
105
  this.ttl = ttl;
101
106
  // Create the LRU cache with eviction tracking
@@ -157,7 +162,7 @@ class ResponseCache {
157
162
  (0, _log.warnOnce)(`Response cache entry was evicted for invocation ${context.invocationID}. ` + `Consider increasing NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE (current: ${this.maxSize}).`);
158
163
  }
159
164
  }
160
- const { incrementalCache, isOnDemandRevalidate = false, isFallback = false, isRoutePPREnabled = false, isPrefetch = false, waitUntil, routeKind, invocationID } = context;
165
+ const { incrementalCache, isOnDemandRevalidate = false, isFallback = false, isRoutePPREnabled = false, isPrefetch = false, waitUntil, invocationID } = context;
161
166
  const response = await this.getBatcher.batch({
162
167
  key,
163
168
  isOnDemandRevalidate
@@ -168,7 +173,6 @@ class ResponseCache {
168
173
  isFallback,
169
174
  isRoutePPREnabled,
170
175
  isPrefetch,
171
- routeKind,
172
176
  invocationID
173
177
  }, resolve);
174
178
  // We need to ensure background revalidates are passed to waitUntil.
@@ -197,11 +201,7 @@ class ResponseCache {
197
201
  let resolved = false;
198
202
  try {
199
203
  // Get the previous cache entry if not in minimal mode
200
- previousIncrementalCacheEntry = !this.minimal_mode ? await context.incrementalCache.get(key, {
201
- kind: (0, _utils.routeKindToIncrementalCacheKind)(context.routeKind),
202
- isRoutePPREnabled: context.isRoutePPREnabled,
203
- isFallback: context.isFallback
204
- }) : null;
204
+ previousIncrementalCacheEntry = !this.minimal_mode ? await context.incrementalCache.get(key, this.getCacheContext(context.isRoutePPREnabled, context.isFallback)) : null;
205
205
  // `isStale === -1` signals that the entry is past its `expire` (either
206
206
  // via an expired tag or, with `cacheLife({ expire })`, past the route's
207
207
  // expire time in the prerender manifest). In that case we must NOT
@@ -293,9 +293,8 @@ class ResponseCache {
293
293
  // every caller — including batched invocations — populates the cache.
294
294
  if (incrementalResponseCacheEntry.cacheControl && !this.minimal_mode) {
295
295
  await incrementalCache.set(key, incrementalResponseCacheEntry.value, {
296
- cacheControl: incrementalResponseCacheEntry.cacheControl,
297
- isRoutePPREnabled,
298
- isFallback
296
+ ...this.getCacheContext(isRoutePPREnabled, isFallback),
297
+ cacheControl: incrementalResponseCacheEntry.cacheControl
299
298
  });
300
299
  }
301
300
  return incrementalResponseCacheEntry;
@@ -306,18 +305,35 @@ class ResponseCache {
306
305
  const revalidate = Math.min(Math.max(previousIncrementalCacheEntry.cacheControl.revalidate || 3, 3), 30);
307
306
  const expire = previousIncrementalCacheEntry.cacheControl.expire === undefined ? undefined : Math.max(revalidate + 3, previousIncrementalCacheEntry.cacheControl.expire);
308
307
  await incrementalCache.set(key, previousIncrementalCacheEntry.value, {
308
+ ...this.getCacheContext(isRoutePPREnabled, isFallback),
309
309
  cacheControl: {
310
310
  revalidate: revalidate,
311
311
  expire: expire
312
- },
313
- isRoutePPREnabled,
314
- isFallback
312
+ }
315
313
  });
316
314
  }
317
315
  // We haven't resolved yet, so let's throw to indicate an error.
318
316
  throw err;
319
317
  }
320
318
  }
319
+ getCacheContext(isRoutePPREnabled, isFallback) {
320
+ if (this.route === 'image') {
321
+ return {
322
+ kind: _types.IncrementalCacheKind.IMAGE,
323
+ isFallback: false
324
+ };
325
+ }
326
+ const kind = (0, _utils.routeKindToIncrementalCacheKind)(this.route.kind);
327
+ if (kind === _types.IncrementalCacheKind.IMAGE) {
328
+ throw new _invarianterror.InvariantError('Images must use the image response cache');
329
+ }
330
+ return {
331
+ route: this.route,
332
+ kind,
333
+ isRoutePPREnabled,
334
+ isFallback
335
+ };
336
+ }
321
337
  }
322
338
 
323
339
  //# sourceMappingURL=index.js.map
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "AppPageRouteMatcherProvider", {
8
8
  return AppPageRouteMatcherProvider;
9
9
  }
10
10
  });
11
+ const _apppaths = require("../../shared/lib/router/utils/app-paths");
11
12
  const _isapppageroute = require("../../lib/is-app-page-route");
12
13
  const _constants = require("../../shared/lib/constants");
13
14
  const _app = require("../normalizers/built/app");
@@ -35,8 +36,7 @@ class AppPageRouteMatcherProvider extends _manifestroutematcherprovider.Manifest
35
36
  // Format the routes.
36
37
  const matchers = [];
37
38
  for (const [pathname, appPaths] of Object.entries(allAppPaths)){
38
- // TODO-APP: (wyattjoh) this is a hack right now, should be more deterministic
39
- const page = appPaths[0];
39
+ const page = (0, _apppaths.selectAppPageEntry)(pathname, appPaths, (appPath)=>this.normalizers.pathname.normalize(appPath));
40
40
  const filename = this.normalizers.filename.normalize(manifest[page]);
41
41
  const bundlePath = this.normalizers.bundlePath.normalize(page);
42
42
  matchers.push(new _apppageroutematcher.AppPageRouteMatcher({
@@ -30,6 +30,7 @@ const _redirectstatuscode = require("../../../client/components/redirect-status-
30
30
  const _isbot = require("../../../shared/lib/router/utils/is-bot");
31
31
  const _addpathprefix = require("../../../shared/lib/router/utils/add-path-prefix");
32
32
  const _removetrailingslash = require("../../../shared/lib/router/utils/remove-trailing-slash");
33
+ const _routecachekey = require("../../lib/route-cache-key");
33
34
  function _interop_require_default(obj) {
34
35
  return obj && obj.__esModule ? obj : {
35
36
  default: obj
@@ -106,8 +107,12 @@ const getHandler = ({ srcPage: originalSrcPage, config, userland, routeModule, i
106
107
  cacheKey = cacheKey === '/index' ? '/' : cacheKey;
107
108
  }
108
109
  if (hasStaticPaths && !isDraftMode) {
110
+ var _nextConfig_i18n;
109
111
  const decodedPathname = (0, _removetrailingslash.removeTrailingSlash)(locale ? (0, _addpathprefix.addPathPrefix)(resolvedPathname, `/${locale}`) : resolvedPathname);
110
- const isPrerendered = Boolean(prerenderManifest.routes[decodedPathname]) || prerenderManifest.notFoundRoutes.includes(decodedPathname);
112
+ const isPrerendered = (Boolean(prerenderManifest.routes[decodedPathname]) || prerenderManifest.notFoundRoutes.includes(decodedPathname)) && // A sibling's positive or negative prerender cannot admit parameters
113
+ // that this route excluded. Development computes static paths on demand
114
+ // instead of reading build-time prerender metadata.
115
+ (routeModule.isDev || (0, _routecachekey.isRouteCacheOwner)(decodedPathname, routeModule.cacheOwner, prerenderManifest.routes[decodedPathname], (_nextConfig_i18n = nextConfig.i18n) == null ? void 0 : _nextConfig_i18n.locales));
111
116
  const prerenderInfo = prerenderManifest.dynamicRoutes[srcPage];
112
117
  if (prerenderInfo) {
113
118
  if (prerenderInfo.fallback === false && !isPrerendered) {
@@ -28,6 +28,7 @@ const _incrementalcache = require("../lib/incremental-cache");
28
28
  const _handlers = require("../use-cache/handlers");
29
29
  const _interopdefault = require("../app-render/interop-default");
30
30
  const _routekind = require("../route-kind");
31
+ const _routecachekey = require("../lib/route-cache-key");
31
32
  const _responsecache = /*#__PURE__*/ _interop_require_default(require("../response-cache"));
32
33
  const _apppaths = require("../../shared/lib/router/utils/app-paths");
33
34
  const _routerservercontext = require("../lib/router-utils/router-server-context");
@@ -47,6 +48,7 @@ class RouteModule {
47
48
  constructor({ userland, definition, distDir, relativeProjectDir }){
48
49
  this._userland = userland;
49
50
  this.definition = definition;
51
+ this.cacheOwner = (0, _routecachekey.getResponseCacheOwner)(definition);
50
52
  this.isDev = !!process.env.__NEXT_DEV_SERVER;
51
53
  this.distDir = distDir;
52
54
  this.relativeProjectDir = relativeProjectDir;
@@ -270,6 +272,7 @@ class RouteModule {
270
272
  if (process.env.NEXT_RUNTIME === 'edge') {
271
273
  return globalThis.__incrementalCache;
272
274
  } else {
275
+ var _nextConfig_i18n;
273
276
  let CacheHandler;
274
277
  const { cacheHandler } = nextConfig;
275
278
  if (cacheHandler) {
@@ -293,7 +296,8 @@ class RouteModule {
293
296
  maxMemoryCacheSize: nextConfig.cacheMaxMemorySize,
294
297
  flushToDisk: !isMinimalMode && nextConfig.experimental.isrFlushToDisk,
295
298
  getPrerenderManifest: ()=>prerenderManifest,
296
- CurCacheHandler: CacheHandler
299
+ CurCacheHandler: CacheHandler,
300
+ locales: (_nextConfig_i18n = nextConfig.i18n) == null ? void 0 : _nextConfig_i18n.locales
297
301
  });
298
302
  globalThis.__incrementalCache = incrementalCache;
299
303
  return incrementalCache;
@@ -651,7 +655,10 @@ class RouteModule {
651
655
  getResponseCache(req) {
652
656
  if (!this.responseCache) {
653
657
  const minimalMode = (0, _requestmeta.getRequestMeta)(req, 'minimalMode') ?? false;
654
- this.responseCache = new _responsecache.default(minimalMode);
658
+ this.responseCache = new _responsecache.default({
659
+ minimalMode,
660
+ route: this.cacheOwner
661
+ });
655
662
  }
656
663
  return this.responseCache;
657
664
  }
@@ -87,9 +87,10 @@ function _interop_require_wildcard(obj, nodeInterop) {
87
87
  * tee-ing (via fork()) and metadata access for both intra-request and
88
88
  * cross-request joiners.
89
89
  */ class SharedCacheEntry {
90
- constructor(stream, pendingMetadata){
90
+ constructor(stream, pendingMetadata, pendingWrite){
91
91
  this.stream = stream;
92
92
  this.pendingMetadata = pendingMetadata;
93
+ this.pendingCompletion = pendingWrite === undefined ? pendingMetadata : pendingWrite.then(()=>pendingMetadata, ()=>pendingMetadata);
93
94
  }
94
95
  /**
95
96
  * Tee the stream: returns a copy for the caller, replaces the internal stream
@@ -106,10 +107,9 @@ function ignoreReject() {}
106
107
  * Manages the deferred promise for a shared cache result, tracks which maps
107
108
  * it's registered in, and drives cleanup from resolve/reject.
108
109
  *
109
- * For 'cached' results, cleanup is lazy: entries stay in the maps until
110
- * metadata/collection resolves, giving late-arriving invocations a chance to
111
- * join while the leader streams. For 'prerender-dynamic' and errors, cleanup
112
- * is immediate.
110
+ * Cached results stay in the maps until collection finishes and handler writes
111
+ * settle. Later invocations can join while either remains pending. For
112
+ * 'prerender-dynamic' and errors, cleanup is immediate.
113
113
  */ class ResolvableSharedCacheResult {
114
114
  registerIn(map, key, retentionMap) {
115
115
  map.set(key, this.deferred.promise);
@@ -125,7 +125,7 @@ function ignoreReject() {}
125
125
  // Retain only an entry that collected successfully. A failed collection
126
126
  // leaves metadata a later invocation cannot read, so it is dropped like
127
127
  // any other failure and the next invocation regenerates.
128
- result.entry.pendingMetadata.then(()=>this.cleanupAndRetain(), ()=>this.cleanup());
128
+ result.entry.pendingCompletion.then(()=>this.cleanupAndRetain(), ()=>this.cleanup());
129
129
  } else {
130
130
  this.cleanup();
131
131
  }
@@ -337,17 +337,16 @@ function saveToResumeDataCache(resumeDataCache, serializedCacheKey, pendingCache
337
337
  // which case it must save here; otherwise the RDC lookup during the final
338
338
  // prerender will miss.
339
339
  saveSharedCacheEntryToResumeDataCache(serializedCacheKey, sharedCacheEntry, resumeDataCache);
340
- // End the cache signal read when the result is fully collected, not when the
341
- // stream is available. A failed collection has no metadata to propagate but
342
- // must still balance the read, so both settlements end it; leaving it open
343
- // would stall a prerender waiting for its cache reads. The trailing .catch()
344
- // covers propagation itself throwing after the rendering stream resolved.
340
+ // End the cache read after collection and metadata propagation, not when the
341
+ // value stream becomes available. This does not wait for handler persistence.
342
+ // A failed collection or propagation must still end the read so it cannot
343
+ // stall prerendering. The catch prevents an unhandled rejection after the
344
+ // stream has been returned.
345
345
  sharedCacheEntry.pendingMetadata.then((metadata)=>{
346
- cacheSignal == null ? void 0 : cacheSignal.endRead();
347
346
  maybePropagateCacheEntryMetadata(cacheContext, metadata);
348
- }, ()=>{
347
+ }).finally(()=>{
349
348
  cacheSignal == null ? void 0 : cacheSignal.endRead();
350
- }).catch(()=>{});
349
+ }).catch(ignoreReject);
351
350
  return stream;
352
351
  }
353
352
  function saveToCacheHandler(cacheHandler, workStore, id, cacheHandlerKeyBase, savedCacheResult, rootParams) {
@@ -860,7 +859,12 @@ async function generateCacheEntryImpl(workStore, cacheContext, innerCacheStore,
860
859
  }
861
860
  });
862
861
  clearTimeout(timer);
863
- if (timeoutAbortController.signal.aborted) {
862
+ const didTimeout = timeoutAbortController.signal.aborted;
863
+ if (dynamicAccessAbortSignal) {
864
+ // Release React's listener from the composite signal.
865
+ timeoutAbortController.abort();
866
+ }
867
+ if (didTimeout) {
864
868
  // When the timeout is reached we always error the stream. Even for
865
869
  // fallback shell prerenders we don't want to return a hanging promise,
866
870
  // which would allow the function to become a dynamic hole. Because that
@@ -2042,7 +2046,13 @@ async function cache(kind, id, boundArgsLength, originalFn, args) {
2042
2046
  // headers, so concurrent requests with identical request data should share
2043
2047
  // a fill too; that request-scoped `cacheHandlerKey` keeps requests with
2044
2048
  // different cookies or headers in separate entries.
2045
- const skipCrossRequestDedupe = isPrivate && !process.env.__NEXT_DEV_SERVER;
2049
+ //
2050
+ // Draft mode requests are skipped as well, in both directions. A fill that
2051
+ // runs with draft mode enabled can contain unpublished content, so it must
2052
+ // not be registered for other requests to join. And a draft mode request
2053
+ // must not join a pending public fill, because it would be served the
2054
+ // published content instead of the draft.
2055
+ const skipCrossRequestDedupe = isPrivate && !process.env.__NEXT_DEV_SERVER || workStore.isDraftMode;
2046
2056
  try {
2047
2057
  // The loop handles cross-request root param mismatches: when a
2048
2058
  // cross-request joiner discovers that the leader's root params differ
@@ -2057,10 +2067,11 @@ async function cache(kind, id, boundArgsLength, originalFn, args) {
2057
2067
  debug == null ? void 0 : debug('joining pending cross-request invocation', cacheHandlerKey);
2058
2068
  const sharedCacheResult = await crossRequestPendingCacheInvocation;
2059
2069
  if (sharedCacheResult.type === 'cached') {
2060
- // Root param verification: wait for metadata, then check key. MUST
2061
- // happen before fork() — if key mismatches, we retry without having
2062
- // used the stream.
2063
- const metadata = await sharedCacheResult.entry.pendingMetadata;
2070
+ // Verify root params before forking the stream. The shared
2071
+ // invocation must complete first, including collection and write
2072
+ // settlement. A changed key retries the handler lookup, which must
2073
+ // not run before the write settles.
2074
+ const metadata = await sharedCacheResult.entry.pendingCompletion;
2064
2075
  // Ensure known root param names are up-to-date before verifying the
2065
2076
  // key, since the leader's save path may not have updated them yet
2066
2077
  // at this point.
@@ -2324,21 +2335,16 @@ async function cache(kind, id, boundArgsLength, originalFn, args) {
2324
2335
  return result.hangingPromise;
2325
2336
  }
2326
2337
  const { stream: newStream, pendingCacheResult } = result;
2327
- // Cross-request joiners derive their metadata from this promise. By
2328
- // default it's the collected result, but when we write to a cache
2329
- // handler we swap in a promise that resolves only after the write has
2330
- // landed, so a joiner that re-reads its recomputed key finds the
2331
- // entry.
2332
- let metadataSource = pendingCacheResult;
2338
+ let pendingWrite;
2333
2339
  // When draft mode is enabled, we must not save the cache entry.
2334
2340
  if (!workStore.isDraftMode) {
2335
2341
  const savedCacheResult = saveToResumeDataCache(resumeDataCache, serializedCacheKey, pendingCacheResult);
2336
2342
  if (cacheHandler) {
2337
- metadataSource = saveToCacheHandler(cacheHandler, workStore, id, cacheHandlerKeyBase, savedCacheResult, rootParams);
2343
+ pendingWrite = saveToCacheHandler(cacheHandler, workStore, id, cacheHandlerKeyBase, savedCacheResult, rootParams);
2338
2344
  }
2339
2345
  }
2340
2346
  debug == null ? void 0 : debug('leader resolved with generated entry', cacheHandlerKey);
2341
- const pendingMetadata = metadataSource.then((collected)=>({
2347
+ const pendingMetadata = pendingCacheResult.then((collected)=>({
2342
2348
  tags: collected.entry.tags,
2343
2349
  revalidate: collected.entry.revalidate,
2344
2350
  expire: collected.entry.expire,
@@ -2349,7 +2355,7 @@ async function cache(kind, id, boundArgsLength, originalFn, args) {
2349
2355
  readRootParamNames: collected.readRootParamNames,
2350
2356
  dynamicNestedCacheError: collected.dynamicNestedCacheError
2351
2357
  }));
2352
- const sharedCacheEntry = new SharedCacheEntry(newStream, pendingMetadata);
2358
+ const sharedCacheEntry = new SharedCacheEntry(newStream, pendingMetadata, pendingWrite);
2353
2359
  stream = sharedCacheEntry.fork();
2354
2360
  resolvableSharedCacheResult.resolve({
2355
2361
  type: 'cached',
@@ -2405,7 +2411,7 @@ async function cache(kind, id, boundArgsLength, originalFn, args) {
2405
2411
  cacheSignal == null ? void 0 : cacheSignal.endRead();
2406
2412
  }
2407
2413
  debug == null ? void 0 : debug('leader resolved with cache handler hit', cacheHandlerKey);
2408
- const sharedCacheEntry = new SharedCacheEntry(stream, Promise.resolve(entryMetadata));
2414
+ const sharedCacheEntry = new SharedCacheEntry(stream, Promise.resolve(entryMetadata), undefined);
2409
2415
  stream = sharedCacheEntry.fork();
2410
2416
  resolvableSharedCacheResult.resolve({
2411
2417
  type: 'cached',
@@ -5,7 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  0 && (module.exports = {
6
6
  compareAppPaths: null,
7
7
  normalizeAppPath: null,
8
- normalizeRscURL: null
8
+ normalizeRscURL: null,
9
+ selectAppPageEntry: null
9
10
  });
10
11
  function _export(target, all) {
11
12
  for(var name in all)Object.defineProperty(target, name, {
@@ -22,6 +23,9 @@ _export(exports, {
22
23
  },
23
24
  normalizeRscURL: function() {
24
25
  return normalizeRscURL;
26
+ },
27
+ selectAppPageEntry: function() {
28
+ return selectAppPageEntry;
25
29
  }
26
30
  });
27
31
  const _ensureleadingslash = require("../../page-path/ensure-leading-slash");
@@ -54,6 +58,19 @@ function compareAppPaths(a, b) {
54
58
  if (!aHasSlot && bHasSlot) return 1;
55
59
  return a.localeCompare(b);
56
60
  }
61
+ function selectAppPageEntry(pathname, appPaths, normalizePathname = (appPath)=>normalizeAppPath(appPath).replace(/%5F/g, '_')) {
62
+ let entry;
63
+ for (const appPath of appPaths){
64
+ if (normalizePathname(appPath) !== pathname) continue;
65
+ if (entry === undefined || compareAppPaths(entry, appPath) < 0) {
66
+ entry = appPath;
67
+ }
68
+ }
69
+ if (entry === undefined) {
70
+ throw new Error(`Invariant: no direct app page entry found for ${pathname}`);
71
+ }
72
+ return entry;
73
+ }
57
74
  function normalizeRscURL(url) {
58
75
  return url.replace(/\.rsc($|\?)/, // $1 ensures `?` is preserved
59
76
  '$1');
@@ -82,7 +82,7 @@ async function getAnonymousMeta() {
82
82
  isWsl: _iswsl.default,
83
83
  isCI: _ciinfo.isCI,
84
84
  ciName: _ciinfo.isCI && _ciinfo.name || null,
85
- nextVersion: "16.3.3",
85
+ nextVersion: "16.3.8",
86
86
  agentName: await (0, _agentname.getAgentName)()
87
87
  };
88
88
  return traits;
@@ -38,7 +38,7 @@ async function eventSwcLoadFailure(event) {
38
38
  telemetry.record({
39
39
  eventName: EVENT_PLUGIN_PRESENT,
40
40
  payload: {
41
- nextVersion: "16.3.3",
41
+ nextVersion: "16.3.8",
42
42
  glibcVersion,
43
43
  installedSwcPackages,
44
44
  arch: process.arch,
@@ -12,12 +12,12 @@ const EVENT_VERSION = 'NEXT_CLI_SESSION_STARTED';
12
12
  function eventCliSession(nextConfig, event) {
13
13
  var _nextConfig_experimental, _nextConfig_experimental_staleTimes, _nextConfig_experimental_staleTimes1, _nextConfig_reactCompiler, _nextConfig_reactCompiler1;
14
14
  // This should be an invariant, if it fails our build tooling is broken.
15
- if (typeof "16.3.3" !== 'string') {
15
+ if (typeof "16.3.8" !== 'string') {
16
16
  return [];
17
17
  }
18
18
  const { images, i18n } = nextConfig || {};
19
19
  const payload = {
20
- nextVersion: "16.3.3",
20
+ nextVersion: "16.3.8",
21
21
  nodeVersion: process.version,
22
22
  cliCommand: event.cliCommand,
23
23
  isSrcDir: event.isSrcDir,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "next",
3
- "version": "16.3.3",
3
+ "version": "16.3.8",
4
4
  "description": "The React Framework",
5
5
  "main": "./dist/server/next.js",
6
6
  "license": "MIT",
@@ -81,7 +81,7 @@
81
81
  "next": "./dist/bin/next"
82
82
  },
83
83
  "dependencies": {
84
- "@next/env": "16.3.3",
84
+ "@next/env": "16.3.8",
85
85
  "@swc/helpers": "0.5.23",
86
86
  "baseline-browser-mapping": "^2.9.19",
87
87
  "caniuse-lite": "^1.0.30001579",
@@ -111,15 +111,15 @@
111
111
  }
112
112
  },
113
113
  "optionalDependencies": {
114
- "sharp": "^0.35.3",
115
- "@next/swc-darwin-arm64": "16.3.3",
116
- "@next/swc-darwin-x64": "16.3.3",
117
- "@next/swc-linux-arm64-gnu": "16.3.3",
118
- "@next/swc-linux-arm64-musl": "16.3.3",
119
- "@next/swc-linux-x64-gnu": "16.3.3",
120
- "@next/swc-linux-x64-musl": "16.3.3",
121
- "@next/swc-win32-arm64-msvc": "16.3.3",
122
- "@next/swc-win32-x64-msvc": "16.3.3"
114
+ "sharp": "^0.35.4",
115
+ "@next/swc-darwin-arm64": "16.3.8",
116
+ "@next/swc-darwin-x64": "16.3.8",
117
+ "@next/swc-linux-arm64-gnu": "16.3.8",
118
+ "@next/swc-linux-arm64-musl": "16.3.8",
119
+ "@next/swc-linux-x64-gnu": "16.3.8",
120
+ "@next/swc-linux-x64-musl": "16.3.8",
121
+ "@next/swc-win32-arm64-msvc": "16.3.8",
122
+ "@next/swc-win32-x64-msvc": "16.3.8"
123
123
  },
124
124
  "keywords": [
125
125
  "react",
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evoscientist/webui",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "Web UI for EvoScientist — a self-evolving AI scientist built on DeepAgents/LangGraph.",
5
5
  "author": "Xi Zhang <zacharyzhang2022@gmail.com>",
6
6
  "type": "module",
@@ -30,7 +30,7 @@
30
30
  "dist/"
31
31
  ],
32
32
  "engines": {
33
- "node": ">=20"
33
+ "node": ">=20.9.0"
34
34
  },
35
35
  "packageManager": "npm@11.16.0",
36
36
  "publishConfig": {
@@ -66,7 +66,7 @@
66
66
  "katex": "^0.16.47",
67
67
  "lucide-react": "^0.539.0",
68
68
  "mermaid": "^11.15.0",
69
- "next": "^16.3.3",
69
+ "next": "^16.3.8",
70
70
  "nuqs": "^2.8.8",
71
71
  "react": "19.1.0",
72
72
  "react-dom": "19.1.0",