prime-dev-cli 1.0.16 → 1.0.18

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 (148) hide show
  1. package/dist/server/.next/BUILD_ID +1 -1
  2. package/dist/server/.next/app-build-manifest.json +20 -24
  3. package/dist/server/.next/build-manifest.json +5 -6
  4. package/dist/server/.next/cache/.rscinfo +1 -1
  5. package/dist/server/.next/cache/.tsbuildinfo +1 -1
  6. package/dist/server/.next/cache/eslint/.cache_1qa5vxt +1 -1
  7. package/dist/server/.next/fallback-build-manifest.json +2 -2
  8. package/dist/server/.next/next-minimal-server.js.nft.json +1 -1
  9. package/dist/server/.next/next-server.js.nft.json +1 -1
  10. package/dist/server/.next/prerender-manifest.json +9 -9
  11. package/dist/server/.next/server/app/_not-found/page/app-build-manifest.json +4 -5
  12. package/dist/server/.next/server/app/_not-found/page/build-manifest.json +3 -4
  13. package/dist/server/.next/server/app/_not-found/page.js.nft.json +1 -1
  14. package/dist/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/dist/server/.next/server/app/_not-found.html +1 -1
  16. package/dist/server/.next/server/app/_not-found.rsc +2 -2
  17. package/dist/server/.next/server/app/api/all-projects-envs/route/app-build-manifest.json +3 -4
  18. package/dist/server/.next/server/app/api/all-projects-envs/route/build-manifest.json +3 -4
  19. package/dist/server/.next/server/app/api/check-mock-intercept/route/app-build-manifest.json +3 -4
  20. package/dist/server/.next/server/app/api/check-mock-intercept/route/build-manifest.json +3 -4
  21. package/dist/server/.next/server/app/api/check-workspace/route/app-build-manifest.json +3 -4
  22. package/dist/server/.next/server/app/api/check-workspace/route/build-manifest.json +3 -4
  23. package/dist/server/.next/server/app/api/cleanup-mock/route/app-build-manifest.json +3 -4
  24. package/dist/server/.next/server/app/api/cleanup-mock/route/build-manifest.json +3 -4
  25. package/dist/server/.next/server/app/api/cleanup-project/route/app-build-manifest.json +3 -4
  26. package/dist/server/.next/server/app/api/cleanup-project/route/build-manifest.json +3 -4
  27. package/dist/server/.next/server/app/api/current-branch/route/app-build-manifest.json +3 -4
  28. package/dist/server/.next/server/app/api/current-branch/route/build-manifest.json +3 -4
  29. package/dist/server/.next/server/app/api/delete-mock-api/route/app-build-manifest.json +3 -4
  30. package/dist/server/.next/server/app/api/delete-mock-api/route/build-manifest.json +3 -4
  31. package/dist/server/.next/server/app/api/get-mock-data/route/app-build-manifest.json +3 -4
  32. package/dist/server/.next/server/app/api/get-mock-data/route/build-manifest.json +3 -4
  33. package/dist/server/.next/server/app/api/initialize-workspace/route/app-build-manifest.json +3 -4
  34. package/dist/server/.next/server/app/api/initialize-workspace/route/build-manifest.json +3 -4
  35. package/dist/server/.next/server/app/api/memory-status/route/app-build-manifest.json +3 -4
  36. package/dist/server/.next/server/app/api/memory-status/route/build-manifest.json +3 -4
  37. package/dist/server/.next/server/app/api/microapp-proxy-change-stream/route/app-build-manifest.json +3 -4
  38. package/dist/server/.next/server/app/api/microapp-proxy-change-stream/route/build-manifest.json +3 -4
  39. package/dist/server/.next/server/app/api/microapp-proxy-config/route/app-build-manifest.json +3 -4
  40. package/dist/server/.next/server/app/api/microapp-proxy-config/route/build-manifest.json +3 -4
  41. package/dist/server/.next/server/app/api/mock-file/route/app-build-manifest.json +3 -4
  42. package/dist/server/.next/server/app/api/mock-file/route/build-manifest.json +3 -4
  43. package/dist/server/.next/server/app/api/mock-file-content/route/app-build-manifest.json +3 -4
  44. package/dist/server/.next/server/app/api/mock-file-content/route/build-manifest.json +3 -4
  45. package/dist/server/.next/server/app/api/mock-open-status/route/app-build-manifest.json +3 -4
  46. package/dist/server/.next/server/app/api/mock-open-status/route/build-manifest.json +3 -4
  47. package/dist/server/.next/server/app/api/mock-setting/route/app-build-manifest.json +3 -4
  48. package/dist/server/.next/server/app/api/mock-setting/route/build-manifest.json +3 -4
  49. package/dist/server/.next/server/app/api/open-all-mock/route/app-build-manifest.json +3 -4
  50. package/dist/server/.next/server/app/api/open-all-mock/route/build-manifest.json +3 -4
  51. package/dist/server/.next/server/app/api/open-project/route/app-build-manifest.json +3 -4
  52. package/dist/server/.next/server/app/api/open-project/route/build-manifest.json +3 -4
  53. package/dist/server/.next/server/app/api/open-project/route.js +1 -1
  54. package/dist/server/.next/server/app/api/open-project/route.js.nft.json +1 -1
  55. package/dist/server/.next/server/app/api/process/logs/route/app-build-manifest.json +3 -4
  56. package/dist/server/.next/server/app/api/process/logs/route/build-manifest.json +3 -4
  57. package/dist/server/.next/server/app/api/process/logs/stream/route/app-build-manifest.json +3 -4
  58. package/dist/server/.next/server/app/api/process/logs/stream/route/build-manifest.json +3 -4
  59. package/dist/server/.next/server/app/api/process/start/route/app-build-manifest.json +3 -4
  60. package/dist/server/.next/server/app/api/process/start/route/build-manifest.json +3 -4
  61. package/dist/server/.next/server/app/api/process/status/route/app-build-manifest.json +3 -4
  62. package/dist/server/.next/server/app/api/process/status/route/build-manifest.json +3 -4
  63. package/dist/server/.next/server/app/api/project-config/route/app-build-manifest.json +3 -4
  64. package/dist/server/.next/server/app/api/project-config/route/build-manifest.json +3 -4
  65. package/dist/server/.next/server/app/api/retry-project/route/app-build-manifest.json +3 -4
  66. package/dist/server/.next/server/app/api/retry-project/route/build-manifest.json +3 -4
  67. package/dist/server/.next/server/app/api/workspace/create/route/app-build-manifest.json +3 -4
  68. package/dist/server/.next/server/app/api/workspace/create/route/build-manifest.json +3 -4
  69. package/dist/server/.next/server/app/configuration/page/app-build-manifest.json +6 -7
  70. package/dist/server/.next/server/app/configuration/page/build-manifest.json +3 -4
  71. package/dist/server/.next/server/app/configuration/page.js.nft.json +1 -1
  72. package/dist/server/.next/server/app/configuration/page_client-reference-manifest.js +1 -1
  73. package/dist/server/.next/server/app/configuration.html +1 -1
  74. package/dist/server/.next/server/app/configuration.rsc +3 -3
  75. package/dist/server/.next/server/app/favicon.ico/route/app-build-manifest.json +3 -4
  76. package/dist/server/.next/server/app/favicon.ico/route/build-manifest.json +3 -4
  77. package/dist/server/.next/server/app/index.html +1 -1
  78. package/dist/server/.next/server/app/index.rsc +2 -2
  79. package/dist/server/.next/server/app/initialization/page/app-build-manifest.json +6 -7
  80. package/dist/server/.next/server/app/initialization/page/build-manifest.json +3 -4
  81. package/dist/server/.next/server/app/initialization/page.js.nft.json +1 -1
  82. package/dist/server/.next/server/app/initialization/page_client-reference-manifest.js +1 -1
  83. package/dist/server/.next/server/app/initialization.html +1 -1
  84. package/dist/server/.next/server/app/initialization.rsc +3 -3
  85. package/dist/server/.next/server/app/page/app-build-manifest.json +4 -5
  86. package/dist/server/.next/server/app/page/build-manifest.json +3 -4
  87. package/dist/server/.next/server/app/page.js.nft.json +1 -1
  88. package/dist/server/.next/server/app/page_client-reference-manifest.js +1 -1
  89. package/dist/server/.next/server/chunks/[root-of-the-server]__072f5c45._.js +7 -7
  90. package/dist/server/.next/server/chunks/[root-of-the-server]__072f5c45._.js.map +1 -1
  91. package/dist/server/.next/server/chunks/[root-of-the-server]__7fc974c9._.js +10 -10
  92. package/dist/server/.next/server/chunks/[root-of-the-server]__7fc974c9._.js.map +1 -1
  93. package/dist/server/.next/server/chunks/[root-of-the-server]__899d82eb._.js +6 -6
  94. package/dist/server/.next/server/chunks/[root-of-the-server]__899d82eb._.js.map +1 -1
  95. package/dist/server/.next/server/chunks/[root-of-the-server]__d0112f7b._.js +16 -0
  96. package/dist/server/.next/server/chunks/[root-of-the-server]__d0112f7b._.js.map +1 -0
  97. package/dist/server/.next/server/chunks/ssr/{[root-of-the-server]__f617a52d._.js → [root-of-the-server]__7b253128._.js} +2 -2
  98. package/dist/server/.next/server/chunks/ssr/{[root-of-the-server]__f617a52d._.js.map → [root-of-the-server]__7b253128._.js.map} +1 -1
  99. package/dist/server/.next/server/chunks/ssr/{[root-of-the-server]__c53d10ac._.js → [root-of-the-server]__a085452f._.js} +2 -2
  100. package/dist/server/.next/server/chunks/ssr/[root-of-the-server]__a085452f._.js.map +1 -0
  101. package/dist/server/.next/server/chunks/ssr/_a1cb0beb._.js +4 -0
  102. package/dist/server/.next/server/chunks/ssr/_a1cb0beb._.js.map +1 -0
  103. package/dist/server/.next/server/chunks/ssr/_bee8e6b2._.js +61 -0
  104. package/dist/server/.next/server/chunks/ssr/_bee8e6b2._.js.map +1 -0
  105. package/dist/server/.next/server/chunks/ssr/packages_server_src_7cef6dbd._.js +1 -1
  106. package/dist/server/.next/server/chunks/ssr/packages_server_src_7cef6dbd._.js.map +1 -1
  107. package/dist/server/.next/server/middleware-build-manifest.js +3 -4
  108. package/dist/server/.next/server/pages/404.html +1 -1
  109. package/dist/server/.next/server/pages/500.html +1 -1
  110. package/dist/server/.next/server/server-reference-manifest.js +1 -1
  111. package/dist/server/.next/server/server-reference-manifest.json +1 -1
  112. package/dist/server/.next/static/chunks/1e69de6d92e0d593.js.map +1 -0
  113. package/dist/server/.next/static/chunks/249ab5825a2160c6.js.map +1 -0
  114. package/dist/server/.next/static/chunks/37783149158d61fd.css +3 -0
  115. package/dist/server/.next/static/chunks/851593de9d497459.css.map +1 -0
  116. package/dist/server/.next/static/chunks/{84f5ecdc99cc0be6.js.map → 988047fb36ff8bd4.js.map} +1 -1
  117. package/dist/server/.next/static/chunks/a4de3104c17624f9.js.map +1 -0
  118. package/dist/server/.next/static/chunks/bb95e2f817926795.js +3 -0
  119. package/dist/server/.next/static/chunks/c4c1da381d908575.js +5 -0
  120. package/dist/server/.next/static/chunks/d8d9344b4a8007c0.js.map +1 -0
  121. package/dist/server/.next/static/chunks/dcfeeb80bf779e48.js +3 -0
  122. package/dist/server/.next/static/chunks/e5e4fd3e83ab66f8.js +4 -0
  123. package/dist/server/.next/static/chunks/f90a10be5908d5fa.js +61 -0
  124. package/dist/server/.next/trace +1 -1
  125. package/package.json +1 -1
  126. package/dist/server/.next/server/chunks/[root-of-the-server]__f6d4fb58._.js +0 -16
  127. package/dist/server/.next/server/chunks/[root-of-the-server]__f6d4fb58._.js.map +0 -1
  128. package/dist/server/.next/server/chunks/ssr/[root-of-the-server]__c53d10ac._.js.map +0 -1
  129. package/dist/server/.next/server/chunks/ssr/_5d353cf8._.js +0 -61
  130. package/dist/server/.next/server/chunks/ssr/_5d353cf8._.js.map +0 -1
  131. package/dist/server/.next/server/chunks/ssr/_e037a20f._.js +0 -4
  132. package/dist/server/.next/server/chunks/ssr/_e037a20f._.js.map +0 -1
  133. package/dist/server/.next/static/chunks/0dfafa95d29e5c79.js +0 -3
  134. package/dist/server/.next/static/chunks/1ad898191df92f90.css +0 -3
  135. package/dist/server/.next/static/chunks/2c0e57fbc9520adc.js +0 -61
  136. package/dist/server/.next/static/chunks/2c669537f498f2db.js.map +0 -1
  137. package/dist/server/.next/static/chunks/684226c5a0f22bc1.js +0 -3
  138. package/dist/server/.next/static/chunks/765c1fd313250591.js.map +0 -1
  139. package/dist/server/.next/static/chunks/a7b45611d4ad55fe.js +0 -4
  140. package/dist/server/.next/static/chunks/a9cba6096fe97a30.js +0 -5
  141. package/dist/server/.next/static/chunks/b0840b8d648f6401.css.map +0 -1
  142. package/dist/server/.next/static/chunks/c2cc02f47cf64419.js.map +0 -1
  143. package/dist/server/.next/static/chunks/cf3b2abf3523d13f.js +0 -3
  144. package/dist/server/.next/static/chunks/d0ab7593ca8c77ca.js.map +0 -1
  145. package/dist/server/.next/static/chunks/ffb74809cc596ae9.js.map +0 -1
  146. /package/dist/server/.next/static/{bC3bTGQyq6cbRR_M7T8N6 → rBe6tUwudOthfNpVSim6S}/_buildManifest.js +0 -0
  147. /package/dist/server/.next/static/{bC3bTGQyq6cbRR_M7T8N6 → rBe6tUwudOthfNpVSim6S}/_clientMiddlewareManifest.json +0 -0
  148. /package/dist/server/.next/static/{bC3bTGQyq6cbRR_M7T8N6 → rBe6tUwudOthfNpVSim6S}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ (globalThis.TURBOPACK=globalThis.TURBOPACK||[]).push(["object"==typeof document?document.currentScript:void 0,{86442:function(e){var t,{g:s,__dirname:r,m:a,e:o}=e;"undefined"!=typeof __nccwpck_require__&&(__nccwpck_require__.ab=r+"/"),(t={}).endianness=function(){return"LE"},t.hostname=function(){return"undefined"!=typeof location?location.hostname:""},t.loadavg=function(){return[]},t.uptime=function(){return 0},t.freemem=function(){return Number.MAX_VALUE},t.totalmem=function(){return Number.MAX_VALUE},t.cpus=function(){return[]},t.type=function(){return"Browser"},t.release=function(){return"undefined"!=typeof navigator?navigator.appVersion:""},t.networkInterfaces=t.getNetworkInterfaces=function(){return{}},t.arch=function(){return"javascript"},t.platform=function(){return"browser"},t.tmpdir=t.tmpDir=function(){return"/tmp"},t.EOL="\n",t.homedir=function(){return"/"},a.exports=t},87733:function(e){var{g:t,__dirname:s,m:r,e:a}=e;!function(){"use strict";var e={114:function(e){function t(e){if("string"!=typeof e)throw TypeError("Path must be a string. Received "+JSON.stringify(e))}function s(e,t){for(var s,r="",a=0,o=-1,n=0,c=0;c<=e.length;++c){if(c<e.length)s=e.charCodeAt(c);else if(47===s)break;else s=47;if(47===s){if(o===c-1||1===n);else if(o!==c-1&&2===n){if(r.length<2||2!==a||46!==r.charCodeAt(r.length-1)||46!==r.charCodeAt(r.length-2)){if(r.length>2){var i=r.lastIndexOf("/");if(i!==r.length-1){-1===i?(r="",a=0):a=(r=r.slice(0,i)).length-1-r.lastIndexOf("/"),o=c,n=0;continue}}else if(2===r.length||1===r.length){r="",a=0,o=c,n=0;continue}}t&&(r.length>0?r+="/..":r="..",a=2)}else r.length>0?r+="/"+e.slice(o+1,c):r=e.slice(o+1,c),a=c-o-1;o=c,n=0}else 46===s&&-1!==n?++n:n=-1}return r}var r={resolve:function(){for(var e,r,a="",o=!1,n=arguments.length-1;n>=-1&&!o;n--)n>=0?r=arguments[n]:(void 0===e&&(e=""),r=e),t(r),0!==r.length&&(a=r+"/"+a,o=47===r.charCodeAt(0));if(a=s(a,!o),o)if(a.length>0)return"/"+a;else return"/";return a.length>0?a:"."},normalize:function(e){if(t(e),0===e.length)return".";var r=47===e.charCodeAt(0),a=47===e.charCodeAt(e.length-1);return(0!==(e=s(e,!r)).length||r||(e="."),e.length>0&&a&&(e+="/"),r)?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0==arguments.length)return".";for(var e,s=0;s<arguments.length;++s){var a=arguments[s];t(a),a.length>0&&(void 0===e?e=a:e+="/"+a)}return void 0===e?".":r.normalize(e)},relative:function(e,s){if(t(e),t(s),e===s||(e=r.resolve(e))===(s=r.resolve(s)))return"";for(var a=1;a<e.length&&47===e.charCodeAt(a);++a);for(var o=e.length,n=o-a,c=1;c<s.length&&47===s.charCodeAt(c);++c);for(var i=s.length-c,l=n<i?n:i,u=-1,g=0;g<=l;++g){if(g===l){if(i>l){if(47===s.charCodeAt(c+g))return s.slice(c+g+1);else if(0===g)return s.slice(c+g)}else n>l&&(47===e.charCodeAt(a+g)?u=g:0===g&&(u=0));break}var p=e.charCodeAt(a+g);if(p!==s.charCodeAt(c+g))break;47===p&&(u=g)}var d="";for(g=a+u+1;g<=o;++g)(g===o||47===e.charCodeAt(g))&&(0===d.length?d+="..":d+="/..");return d.length>0?d+s.slice(c+u):(c+=u,47===s.charCodeAt(c)&&++c,s.slice(c))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var s=e.charCodeAt(0),r=47===s,a=-1,o=!0,n=e.length-1;n>=1;--n)if(47===(s=e.charCodeAt(n))){if(!o){a=n;break}}else o=!1;return -1===a?r?"/":".":r&&1===a?"//":e.slice(0,a)},basename:function(e,s){if(void 0!==s&&"string"!=typeof s)throw TypeError('"ext" argument must be a string');t(e);var r,a=0,o=-1,n=!0;if(void 0!==s&&s.length>0&&s.length<=e.length){if(s.length===e.length&&s===e)return"";var c=s.length-1,i=-1;for(r=e.length-1;r>=0;--r){var l=e.charCodeAt(r);if(47===l){if(!n){a=r+1;break}}else -1===i&&(n=!1,i=r+1),c>=0&&(l===s.charCodeAt(c)?-1==--c&&(o=r):(c=-1,o=i))}return a===o?o=i:-1===o&&(o=e.length),e.slice(a,o)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!n){a=r+1;break}}else -1===o&&(n=!1,o=r+1);return -1===o?"":e.slice(a,o)},extname:function(e){t(e);for(var s=-1,r=0,a=-1,o=!0,n=0,c=e.length-1;c>=0;--c){var i=e.charCodeAt(c);if(47===i){if(!o){r=c+1;break}continue}-1===a&&(o=!1,a=c+1),46===i?-1===s?s=c:1!==n&&(n=1):-1!==s&&(n=-1)}return -1===s||-1===a||0===n||1===n&&s===a-1&&s===r+1?"":e.slice(s,a)},format:function(e){var t,s;if(null===e||"object"!=typeof e)throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return t=e.dir||e.root,s=e.base||(e.name||"")+(e.ext||""),t?t===e.root?t+s:t+"/"+s:s},parse:function(e){t(e);var s,r={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return r;var a=e.charCodeAt(0),o=47===a;o?(r.root="/",s=1):s=0;for(var n=-1,c=0,i=-1,l=!0,u=e.length-1,g=0;u>=s;--u){if(47===(a=e.charCodeAt(u))){if(!l){c=u+1;break}continue}-1===i&&(l=!1,i=u+1),46===a?-1===n?n=u:1!==g&&(g=1):-1!==n&&(g=-1)}return -1===n||-1===i||0===g||1===g&&n===i-1&&n===c+1?-1!==i&&(0===c&&o?r.base=r.name=e.slice(1,i):r.base=r.name=e.slice(c,i)):(0===c&&o?(r.name=e.slice(1,n),r.base=e.slice(1,i)):(r.name=e.slice(c,n),r.base=e.slice(c,i)),r.ext=e.slice(n,i)),c>0?r.dir=e.slice(0,c-1):o&&(r.dir="/"),r},sep:"/",delimiter:":",win32:null,posix:null};r.posix=r,e.exports=r}},t={};function a(s){var r=t[s];if(void 0!==r)return r.exports;var o=t[s]={exports:{}},n=!0;try{e[s](o,o.exports,a),n=!1}finally{n&&delete t[s]}return o.exports}a.ab=s+"/",r.exports=a(114)}()},7647:e=>{"use strict";var{g:t,__dirname:s}=e;{e.s({PROJECT_CONFIG_PATH:()=>s,ProjectStatus:()=>o,WORKSPACE_CONFIG:()=>t});var r=e.i(86442),a=e.i(87733);let t={WORKSPACE_ROOT:(0,a.join)((0,r.homedir)(),"Documents","prime-workspace"),GIT_TIMEOUT:3e5,MAX_CONCURRENT_CLONES:Math.max(2,Math.min((0,r.cpus)().length,8)),MAX_RETRY_ATTEMPTS:3},s=(0,a.join)((0,r.homedir)(),".prime-projects.json");var o=function(e){return e.PENDING="pending",e.EXISTING="existing",e.CLONING="cloning",e.SUCCESS="success",e.FAILED="failed",e.RETRYING="retrying",e.INCOMPLETE="incomplete",e}({})}},9993:e=>{"use strict";var{g:t,__dirname:s}=e;{e.s({default:()=>t});var r=e.i(20393),a=e.i(19886),o=e.i(42152),n=e.i(86871),c=e.i(35102),i=e.i(7647);let t=()=>{let e=(0,o.useRouter)(),[t,s]=(0,a.useState)({isInitializing:!1,isCompleted:!1,isLoading:!0,hasCompleted:!1,globalProgress:0,globalMessage:"正在检查工作空间状态...",projects:{}}),[l,u]=(0,a.useState)({});(0,a.useEffect)(()=>{g()},[]);let g=async()=>{try{s(e=>({...e,isLoading:!0,globalMessage:"正在检查工作空间状态..."}));let e=await fetch("/api/check-workspace"),t=await e.json();if(t.success){let e={};t.projects.forEach(t=>{e[t.name]={name:t.name,status:t.status,progress:100*(t.status===i.ProjectStatus.EXISTING),message:t.message,canRetry:!1,needsCleanup:t.needsCleanup||!1}}),s(s=>({...s,isLoading:!1,projects:e,globalMessage:t.message||"检查完成"}))}else s(e=>({...e,isLoading:!1,globalMessage:t.error||"检查工作空间状态失败"}))}catch(e){s(e=>({...e,isLoading:!1,globalMessage:"无法连接到服务器,请刷新页面重试"})),console.error("检查工作空间状态失败:",e)}},p=e=>{switch(e.type){case"initialization":case"workspace_created":case"projects_loaded":if(s(t=>({...t,globalProgress:e.progress||0,globalMessage:e.message||""})),e.projects&&Array.isArray(e.projects)){let t={};e.projects.forEach(e=>{t[e]={name:e,status:i.ProjectStatus.PENDING,progress:0,message:"等待开始...",canRetry:!1}}),s(e=>({...e,projects:t}))}break;case"project_existing":if(e.projectName){let t=e.projectName;s(s=>({...s,globalProgress:e.progress??s.globalProgress,globalMessage:e.message??"",projects:{...s.projects,[t]:{...s.projects[t],status:i.ProjectStatus.EXISTING,message:"项目已存在",progress:100,canRetry:!1}}}))}break;case"project_start":if(e.projectName){let t=e.projectName;s(s=>({...s,globalProgress:e.progress??s.globalProgress,globalMessage:e.message??"",projects:{...s.projects,[t]:{...s.projects[t],status:i.ProjectStatus.CLONING,message:"开始克隆...",progress:0}}}))}break;case"project_progress":if(e.projectName){let t=e.projectName;s(s=>({...s,globalProgress:e.progress??s.globalProgress,projects:{...s.projects,[t]:{...s.projects[t],message:e.message??"",progress:Math.min(e.progress??0,100)}}}))}break;case"project_success":if(e.projectName){let t=e.projectName;s(s=>({...s,globalProgress:e.progress??s.globalProgress,projects:{...s.projects,[t]:{...s.projects[t],status:i.ProjectStatus.SUCCESS,message:"克隆成功",progress:100,canRetry:!1}}}))}break;case"project_failed":if(e.projectName){let t=e.projectName;s(s=>({...s,globalProgress:e.progress??s.globalProgress,projects:{...s.projects,[t]:{...s.projects[t],status:i.ProjectStatus.FAILED,message:"克隆失败",error:e.error,canRetry:!0}}}))}break;case"command_log":if(e.projectName&&e.logType&&void 0!==e.content&&e.timestamp){let t=e.projectName,r=e.logType,a=e.content,o=e.timestamp;s(e=>({...e,projects:{...e.projects,[t]:{...e.projects[t],logs:[...e.projects[t]?.logs||[],{type:r,content:a,timestamp:o}].slice(-1e3)}}}))}break;case"completion":s(t=>({...t,isInitializing:!1,isCompleted:!0,hasCompleted:!0,globalProgress:100,globalMessage:e.message??"初始化完成",completionSummary:e.result?{success:e.result.success,totalProjects:e.result.totalProjects,successCount:e.result.successCount,failedCount:e.result.failedCount,duration:e.result.duration}:void 0}));break;case"error":s(t=>({...t,isInitializing:!1,hasCompleted:!0,globalMessage:e.message??"发生错误",globalProgress:e.progress??t.globalProgress}))}},d=async(e,t="cursor")=>{s(t=>({...t,projects:{...t.projects,[e]:{...t.projects[e],isOpening:!0}}}));try{let r=await fetch("/api/open-project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:e,editor:t})}),a=await r.json();if(a.success&&a.editorUrl){let e=document.createElement("a");e.href=a.editorUrl,e.style.display="none",document.body.appendChild(e),e.click(),document.body.removeChild(e)}else console.error("打开项目失败:",a.error);s(t=>({...t,projects:{...t.projects,[e]:{...t.projects[e],isOpening:!1}}}))}catch(t){s(t=>({...t,projects:{...t.projects,[e]:{...t.projects[e],isOpening:!1}}})),console.error("打开项目失败:",t)}},m=async e=>{s(t=>({...t,projects:{...t.projects,[e]:{...t.projects[e],isCleaningUp:!0}}}));try{let t=await fetch("/api/cleanup-project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:e})}),r=await t.json();r.success?s(t=>({...t,projects:{...t.projects,[e]:{...t.projects[e],status:i.ProjectStatus.PENDING,message:"已清理,待克隆",isCleaningUp:!1,needsCleanup:!1}}})):s(t=>({...t,projects:{...t.projects,[e]:{...t.projects[e],isCleaningUp:!1,error:r.error}}}))}catch(t){s(s=>({...s,projects:{...s.projects,[e]:{...s.projects[e],isCleaningUp:!1,error:t instanceof Error?t.message:String(t)}}}))}},j=async e=>{s(t=>({...t,projects:{...t.projects,[e]:{...t.projects[e],status:i.ProjectStatus.RETRYING,message:"正在重试...",progress:0,canRetry:!1}}}));try{let t=await fetch("/api/retry-project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:e})}),r=await t.json();s(t=>({...t,projects:{...t.projects,[e]:{...t.projects[e],status:r.success?i.ProjectStatus.SUCCESS:i.ProjectStatus.FAILED,message:r.message,error:r.error,progress:r.success?100:t.projects[e].progress,canRetry:!r.success}}}))}catch(t){s(s=>({...s,projects:{...s.projects,[e]:{...s.projects[e],status:i.ProjectStatus.FAILED,message:"重试失败",error:t instanceof Error?t.message:String(t),canRetry:!0}}}))}},h=e=>{switch(e){case i.ProjectStatus.EXISTING:case i.ProjectStatus.SUCCESS:return"text-green-600 bg-green-50 border-green-200";case i.ProjectStatus.FAILED:return"text-red-600 bg-red-50 border-red-200";case i.ProjectStatus.INCOMPLETE:return"text-orange-600 bg-orange-50 border-orange-200";case i.ProjectStatus.CLONING:case i.ProjectStatus.RETRYING:return"text-blue-600 bg-blue-50 border-blue-200";case i.ProjectStatus.PENDING:default:return"text-gray-600 bg-gray-50 border-gray-200"}},f=e=>{switch(e){case i.ProjectStatus.PENDING:return"待克隆";case i.ProjectStatus.EXISTING:return"已存在";case i.ProjectStatus.CLONING:return"克隆中";case i.ProjectStatus.SUCCESS:return"成功";case i.ProjectStatus.FAILED:return"失败";case i.ProjectStatus.INCOMPLETE:return"不完整";case i.ProjectStatus.RETRYING:return"重试中";default:return"未知"}},b=()=>{let e=Object.values(t.projects);return e.length>0&&e.every(e=>e.status===i.ProjectStatus.EXISTING)},x=t=>{e.push(`/configuration?project=${encodeURIComponent(t)}`)};return(0,r.jsxs)("div",{className:"container mx-auto p-4 sm:p-6 md:p-8",children:[(0,r.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,r.jsx)("h1",{className:"text-2xl font-bold",children:"项目初始化"}),t.isLoading?(0,r.jsx)(n.Button,{disabled:!0,children:"检查中..."}):(0,r.jsx)(n.Button,{onClick:()=>{s(e=>({...e,isInitializing:!0,isCompleted:!1,hasCompleted:!1,globalProgress:0,globalMessage:"正在连接服务器...",projects:{},completionSummary:void 0}));let e=new EventSource("/api/initialize-workspace");e.onmessage=e=>{try{let t=JSON.parse(e.data);p(t)}catch(e){console.error("解析 SSE 消息失败:",e)}},e.onerror=()=>{s(e=>e.hasCompleted?e:{...e,isInitializing:!1,globalMessage:"连接服务器失败,请重试"}),e.close()},e.addEventListener("error",()=>{e.close()})},disabled:t.isInitializing,children:t.isInitializing?"初始化中...":"创建项目空间"})]}),(t.isInitializing||t.isCompleted)&&!b()&&(0,r.jsxs)("div",{className:"mb-6 p-4 bg-gray-50 rounded-lg",children:[(0,r.jsxs)("div",{className:"flex justify-between items-center mb-2",children:[(0,r.jsx)("span",{className:"text-sm font-medium",children:t.globalMessage}),(0,r.jsxs)("span",{className:"text-sm text-gray-600",children:[t.globalProgress,"%"]})]}),(0,r.jsx)("div",{className:"w-full bg-gray-200 rounded-full h-2",children:(0,r.jsx)("div",{className:"bg-blue-600 h-2 rounded-full transition-all duration-300",style:{width:`${t.globalProgress}%`}})})]}),t.completionSummary&&!b()&&(0,r.jsxs)("div",{className:`mb-6 p-4 rounded-lg border ${t.completionSummary.success?"bg-green-50 border-green-200":"bg-yellow-50 border-yellow-200"}`,children:[(0,r.jsx)("h3",{className:"font-semibold mb-2",children:"初始化完成"}),(0,r.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 text-sm",children:[(0,r.jsxs)("div",{children:["总项目数: ",t.completionSummary.totalProjects]}),(0,r.jsxs)("div",{className:"text-green-600",children:["成功: ",t.completionSummary.successCount]}),(0,r.jsxs)("div",{className:"text-red-600",children:["失败: ",t.completionSummary.failedCount]}),(0,r.jsxs)("div",{children:["耗时: ",Math.round(t.completionSummary.duration/1e3),"s"]})]})]}),(0,r.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4",children:Object.keys(t.projects).length>0?Object.values(t.projects).map(e=>(0,r.jsxs)("div",{className:`border rounded-lg p-4 ${h(e.status)}`,children:[(0,r.jsxs)("div",{className:"flex justify-between items-start mb-2",children:[(0,r.jsx)("h2",{className:"font-semibold cursor-pointer hover:text-blue-600 transition-colors",onClick:()=>x(e.name),title:"点击进入项目配置",children:e.name}),(0,r.jsx)("span",{className:"text-xs px-2 py-1 rounded-full bg-white",children:f(e.status)})]}),(0,r.jsx)("p",{className:"text-sm mb-2",children:e.message}),e.status===i.ProjectStatus.CLONING||e.status===i.ProjectStatus.RETRYING?(0,r.jsxs)("div",{className:"mb-2",children:[(0,r.jsx)("div",{className:"w-full bg-white rounded-full h-1",children:(0,r.jsx)("div",{className:"bg-current h-1 rounded-full transition-all duration-300",style:{width:`${e.progress}%`}})}),(0,r.jsxs)("span",{className:"text-xs",children:[e.progress,"%"]})]}):null,e.error&&(0,r.jsx)("p",{className:"text-xs text-red-600 mb-2",children:e.error}),(0,r.jsxs)("div",{className:"space-y-2",children:[e.canRetry&&(0,r.jsx)(n.Button,{size:"sm",variant:"outline",onClick:()=>j(e.name),className:"w-full",children:"重试"}),e.needsCleanup&&e.status===i.ProjectStatus.INCOMPLETE&&(0,r.jsx)(n.Button,{size:"sm",variant:"destructive",onClick:()=>m(e.name),disabled:e.isCleaningUp,className:"w-full",children:e.isCleaningUp?"清理中...":"清理项目"}),(e.status===i.ProjectStatus.EXISTING||e.status===i.ProjectStatus.SUCCESS)&&(0,r.jsx)(c.SplitButton,{mainLabel:e.isOpening?"打开中...":"在 Cursor 中打开",mainOnClick:()=>d(e.name,"cursor"),options:[{label:"在 WebStorm 中打开",onClick:()=>d(e.name,"webstorm")}],disabled:e.isOpening,size:"sm",variant:"default",className:"w-full"}),e.logs&&e.logs.length>0&&(0,r.jsx)(n.Button,{size:"sm",variant:"outline",onClick:()=>u(t=>({...t,[e.name]:!t[e.name]})),className:"w-full",children:l[e.name]?"隐藏日志":`查看日志 (${e.logs.length})`})]}),l[e.name]&&e.logs&&e.logs.length>0&&(0,r.jsx)("div",{className:"mt-3 border-t pt-3",children:(0,r.jsx)("div",{className:"bg-black text-white rounded text-xs font-mono p-2 max-h-48 overflow-y-auto",children:e.logs.map((e,t)=>(0,r.jsxs)("div",{className:`mb-1 ${"stderr"===e.type?"text-red-400":"progress"===e.type?"text-yellow-400":"text-green-400"}`,children:[(0,r.jsx)("span",{className:"text-gray-500 mr-2",children:new Date(e.timestamp).toLocaleTimeString()}),(0,r.jsxs)("span",{className:"text-blue-400 mr-2",children:["[",e.type,"]"]}),(0,r.jsx)("span",{className:"whitespace-pre-wrap",children:e.content})]},t))})})]},e.name)):(0,r.jsx)("div",{className:"col-span-full text-center text-gray-500 py-8",children:t.isLoading?"正在检查项目状态...":t.isInitializing?"正在加载项目...":'点击"创建项目空间"开始初始化'})})]})}}}}]);
2
+
3
+ //# sourceMappingURL=249ab5825a2160c6.js.map
@@ -0,0 +1,5 @@
1
+ (globalThis.TURBOPACK=globalThis.TURBOPACK||[]).push(["object"==typeof document?document.currentScript:void 0,{},{otherChunks:["static/chunks/1923d6510bea25be.js","static/chunks/0e57f1354cda05d5.js","static/chunks/e5e4fd3e83ab66f8.js"],runtimeModuleIds:[63208]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;let t="/_next/",r=Symbol("reexported objects"),n=Object.prototype.hasOwnProperty,o="undefined"!=typeof Symbol&&Symbol.toStringTag;function l(e,t,r){n.call(e,t)||Object.defineProperty(e,t,r)}function u(e,t){for(let r in l(e,"__esModule",{value:!0}),o&&l(e,o,{value:"Module"}),t){let n=t[r];Array.isArray(n)?l(e,r,{get:n[0],set:n[1],enumerable:!0}):l(e,r,{get:n,enumerable:!0})}Object.seal(e)}function i(e,t,r){e.namespaceObject=e.exports,u(t,r)}function s(e,t,o){let l;(l=e[r])||(l=e[r]=[],e.exports=e.namespaceObject=new Proxy(t,{get(e,t){if(n.call(e,t)||"default"===t||"__esModule"===t)return Reflect.get(e,t);for(let e of l){let r=Reflect.get(e,t);if(void 0!==r)return r}},ownKeys(e){let t=Reflect.ownKeys(e);for(let e of l)for(let r of Reflect.ownKeys(e))"default"===r||t.includes(r)||t.push(r);return t}})),"object"==typeof o&&null!==o&&e[r].push(o)}function a(e,t){e.exports=t}function c(e,t){e.exports=e.namespaceObject=t}let f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,p=[null,f({}),f([]),f(f)];function d(e,t,r){let n=Object.create(null);for(let t=e;("object"==typeof t||"function"==typeof t)&&!p.includes(t);t=f(t))for(let r of Object.getOwnPropertyNames(t))n[r]=function(e,t){return()=>e[t]}(e,r);return r&&"default"in n||(n.default=()=>e),u(t,n),t}function h(e,t){let r=X(t,e);if(r.error)throw r.error;if(r.namespaceObject)return r.namespaceObject;let n=r.exports;return r.namespaceObject=d(n,"function"==typeof n?function(...e){return n.apply(this,e)}:Object.create(null),n&&n.__esModule)}let b="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")};function m(e,t){let r=X(t,e);if(r.error)throw r.error;return r.exports}function y(e){function t(t){if(n.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(n.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t}function O(){let e,t;return{promise:new Promise((r,n)=>{t=n,e=r}),resolve:e,reject:t}}let g=Symbol("turbopack queues"),w=Symbol("turbopack exports"),R=Symbol("turbopack error");function j(e){e&&1!==e.status&&(e.status=1,e.forEach(e=>e.queueCount--),e.forEach(e=>e.queueCount--?e.queueCount++:e()))}function U(e,t,r){let n=r?Object.assign([],{status:-1}):void 0,o=new Set,{resolve:l,reject:u,promise:i}=O(),s=Object.assign(i,{[w]:e.exports,[g]:e=>{n&&e(n),o.forEach(e),s.catch(()=>{})}}),a={get:()=>s,set(e){e!==s&&(s[w]=e)}};Object.defineProperty(e,"exports",a),Object.defineProperty(e,"namespaceObject",a),t(function(e){let t=e.map(e=>{if(null!==e&&"object"==typeof e){if(g in e)return e;if(null!=e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then){let t=Object.assign([],{status:0}),r={[w]:{},[g]:e=>e(t)};return e.then(e=>{r[w]=e,j(t)},e=>{r[R]=e,j(t)}),r}}return{[w]:e,[g]:()=>{}}}),r=()=>t.map(e=>{if(e[R])throw e[R];return e[w]}),{promise:l,resolve:u}=O(),i=Object.assign(()=>u(r),{queueCount:0});function s(e){e!==n&&!o.has(e)&&(o.add(e),e&&0===e.status&&(i.queueCount++,e.push(i)))}return t.map(e=>e[g](s)),i.queueCount?l:r()},function(e){e?u(s[R]=e):l(s[w]),j(n)}),n&&-1===n.status&&(n.status=0)}let C=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function k(e,t){throw Error(`Invariant: ${t(e)}`)}C.prototype=URL.prototype;var P=function(e){return e[e.Runtime=0]="Runtime",e[e.Parent=1]="Parent",e[e.Update=2]="Update",e}(P||{});let _=Object.create(null),$=new Set,T=new Map,v=new Map,S=new Map,A=new Map;async function E(e,t){let r;if("string"==typeof t)return K(e,t);let n=t.included||[],o=n.map(e=>!!_[e]||S.get(e));if(o.length>0&&o.every(e=>e))return Promise.all(o);let l=t.moduleChunks||[],u=l.map(e=>A.get(e)).filter(e=>e);if(u.length>0){if(u.length===l.length)return Promise.all(u);let t=new Set;for(let e of l)A.has(e)||t.add(e);for(let r of t){let t=K(e,r);A.set(r,t),u.push(t)}r=Promise.all(u)}else for(let n of(r=K(e,t.path),l))A.has(n)||A.set(n,r);for(let e of n)S.has(e)||S.set(e,r);return r}async function x(t,r){try{await e.loadChunk(r,t)}catch(n){let e;switch(t.type){case 0:e=`as a runtime dependency of chunk ${t.chunkPath}`;break;case 1:e=`from module ${t.parentId}`;break;case 2:e="from an HMR update";break;default:k(t,e=>`Unknown source type: ${e?.type}`)}throw Error(`Failed to load chunk ${r} ${e}${n?`: ${n}`:""}`,n?{cause:n}:void 0)}}async function K(e,t){return x(e,L(t))}function N(e){return`/ROOT/${e??""}`}function M(e){let t=new Blob([`self.TURBOPACK_WORKER_LOCATION = ${JSON.stringify(location.origin)};
2
+ self.TURBOPACK_NEXT_CHUNK_URLS = ${JSON.stringify(e.reverse().map(L),null,2)};
3
+ importScripts(...self.TURBOPACK_NEXT_CHUNK_URLS.map(c => self.TURBOPACK_WORKER_LOCATION + c).reverse());`],{type:"text/javascript"});return URL.createObjectURL(t)}function L(e){return`${t}${e.split("/").map(e=>encodeURIComponent(e)).join("/")}`}function I([r,n,o]){let l=function(e){if("string"==typeof e)return e;let r=decodeURIComponent(("undefined"!=typeof TURBOPACK_NEXT_CHUNK_URLS?TURBOPACK_NEXT_CHUNK_URLS.pop():e.getAttribute("src")).replace(/[?#].*$/,""));return r.startsWith(t)?r.slice(t.length):r}(r);for(let[e,t]of Object.entries(n))_[e]||(_[e]=t),function(e,t){let r=T.get(e);r?r.add(t):(r=new Set([t]),T.set(e,r));let n=v.get(t);n?n.add(e):(n=new Set([e]),v.set(t,n))}(e,l);return e.registerChunk(l,o)}let B=/\.js(?:\?[^#]*)?(?:#.*)?$/,q=/\.css(?:\?[^#]*)?(?:#.*)?$/;function H(e){return q.test(e)}let W={},X=(e,t)=>{let r=W[e];return r||D(e,{type:P.Parent,parentId:t.id})};function D(e,t){let r=_[e];if("function"!=typeof r){let r;switch(t.type){case P.Runtime:r=`as a runtime entry of chunk ${t.chunkPath}`;break;case P.Parent:r=`because it was required from module ${t.parentId}`;break;case P.Update:r="because of an HMR update";break;default:k(t,e=>`Unknown source type: ${e?.type}`)}throw Error(`Module ${e} was instantiated ${r}, but the module factory is not available. It might have been deleted in an HMR update.`)}switch(t.type){case P.Runtime:$.add(e);break;case P.Parent:break;case P.Update:throw Error("Unexpected");default:k(t,e=>`Unknown source type: ${e?.type}`)}let n={exports:{},error:void 0,loaded:!1,id:e,namespaceObject:void 0};W[e]=n;try{let t={type:P.Parent,parentId:e},o=m.bind(null,n);r.call(n.exports,{a:U.bind(null,n),e:n.exports,r:m.bind(null,n),t:b,f:y,i:h.bind(null,n),s:i.bind(null,n,n.exports),j:s.bind(null,n,n.exports),v:a.bind(null,n),n:c.bind(null,n),m:n,c:W,M:_,l:E.bind(null,t),L:x.bind(null,t),w:F.bind(null,t),u:J.bind(null,t),g:globalThis,P:N,U:C,R:function(e){let t=o(e);return t?.default??t},b:M,d:"string"==typeof n.id?n.id.replace(/(^|\/)\/+$/,""):n.id})}catch(e){throw n.error=e,e}return n.loaded=!0,n.namespaceObject&&n.exports!==n.namespaceObject&&d(n.exports,n.namespaceObject),n}async function F(e,t,r){let n=fetch(L(t)),{instance:o}=await WebAssembly.instantiateStreaming(n,r);return o.exports}async function J(e,t){let r=fetch(L(t));return await WebAssembly.compileStreaming(r)}let z=new Map;(()=>{function t(e){let t=z.get(e);if(!t){let r,n;t={resolved:!1,promise:new Promise((e,t)=>{r=e,n=t}),resolve:()=>{t.resolved=!0,r()},reject:n},z.set(e,t)}return t}e={async registerChunk(e,r){if(t(L(e)).resolve(),null!=r){for(let e of r.otherChunks)t(L("string"==typeof e?e:e.path));if(await Promise.all(r.otherChunks.map(t=>E({type:P.Runtime,chunkPath:e},t))),r.runtimeModuleIds.length>0)for(let t of r.runtimeModuleIds)!function(e,t){let r=W[e];if(r){if(r.error)throw r.error;return}D(e,{type:P.Runtime,chunkPath:t})}(t,e)}},loadChunk:(e,r)=>(function(e,r){let n=t(e);if(n.resolved)return n.promise;if(r.type===P.Runtime)return H(e)&&n.resolve(),n.promise;if("function"==typeof importScripts)if(H(e));else if(B.test(e))self.TURBOPACK_NEXT_CHUNK_URLS.push(e),importScripts(TURBOPACK_WORKER_LOCATION+e);else throw Error(`can't infer type of chunk from URL ${e} in worker`);else{let t=decodeURI(e);if(H(e))if(document.querySelectorAll(`link[rel=stylesheet][href="${e}"],link[rel=stylesheet][href^="${e}?"],link[rel=stylesheet][href="${t}"],link[rel=stylesheet][href^="${t}?"]`).length>0)n.resolve();else{let t=document.createElement("link");t.rel="stylesheet",t.href=e,t.onerror=()=>{n.reject()},t.onload=()=>{n.resolve()},document.body.appendChild(t)}else if(B.test(e)){let r=document.querySelectorAll(`script[src="${e}"],script[src^="${e}?"],script[src="${t}"],script[src^="${t}?"]`);if(r.length>0)for(let e of Array.from(r))e.addEventListener("error",()=>{n.reject()});else{let t=document.createElement("script");t.src=e,t.onerror=()=>{n.reject()},document.body.appendChild(t)}}else throw Error(`can't infer type of chunk from URL ${e}`)}return n.promise})(e,r)}})();let G=globalThis.TURBOPACK;globalThis.TURBOPACK={push:I},G.forEach(I)})();
4
+
5
+ //# sourceMappingURL=988047fb36ff8bd4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/compiled/process/browser.js","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/build/polyfills/process.ts","turbopack:///[project]/node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_default.cjs","turbopack:///[project]/node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/compiled/react/cjs/react-jsx-runtime.production.js","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/compiled/react/jsx-runtime.js","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/client/components/http-access-fallback/http-access-fallback.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/client/components/redirect-status-code.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/client/components/redirect-error.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/client/components/is-next-router-error.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/compiled/react/cjs/react.production.js","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/compiled/react/index.js","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/compiled/react-dom/cjs/react-dom.production.js","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/dist/compiled/react-dom/index.js","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/shared/lib/lazy-dynamic/bailout-to-csr.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/shared/lib/hooks-client-context.shared-runtime.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/server/app-render/async-local-storage.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/server/app-render/work-async-storage-instance.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/server/app-render/work-async-storage.external.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/client/components/app-router-headers.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/shared/lib/segment.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/shared/lib/app-router-context.shared-runtime.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/client/components/router-reducer/reducers/get-segment-value.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/server/app-render/action-async-storage-instance.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/server/app-render/action-async-storage.external.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/client/components/redirect.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/client/components/not-found.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/client/components/forbidden.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/client/components/unauthorized.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/client/components/unstable-rethrow.browser.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/server/dynamic-rendering-utils.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/server/lib/router-utils/is-postpone.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/client/components/hooks-server-context.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/client/components/static-generation-bailout.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/server/app-render/work-unit-async-storage-instance.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/server/app-render/work-unit-async-storage.external.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/lib/metadata/metadata-constants.tsx","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/lib/scheduler.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/server/app-render/dynamic-rendering.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/client/components/unstable-rethrow.server.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/client/components/unstable-rethrow.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/client/components/navigation.react-server.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/shared/lib/server-inserted-html.shared-runtime.tsx","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/client/components/bailout-to-client-rendering.ts","turbopack:///[project]/node_modules/.pnpm/next@15.3.4_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/client/components/navigation.ts"],"sourcesContent":["(function(){var e={229:function(e){var t=e.exports={};var r;var n;function defaultSetTimout(){throw new Error(\"setTimeout has not been defined\")}function defaultClearTimeout(){throw new Error(\"clearTimeout has not been defined\")}(function(){try{if(typeof setTimeout===\"function\"){r=setTimeout}else{r=defaultSetTimout}}catch(e){r=defaultSetTimout}try{if(typeof clearTimeout===\"function\"){n=clearTimeout}else{n=defaultClearTimeout}}catch(e){n=defaultClearTimeout}})();function runTimeout(e){if(r===setTimeout){return setTimeout(e,0)}if((r===defaultSetTimout||!r)&&setTimeout){r=setTimeout;return setTimeout(e,0)}try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}function runClearTimeout(e){if(n===clearTimeout){return clearTimeout(e)}if((n===defaultClearTimeout||!n)&&clearTimeout){n=clearTimeout;return clearTimeout(e)}try{return n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}var i=[];var o=false;var u;var a=-1;function cleanUpNextTick(){if(!o||!u){return}o=false;if(u.length){i=u.concat(i)}else{a=-1}if(i.length){drainQueue()}}function drainQueue(){if(o){return}var e=runTimeout(cleanUpNextTick);o=true;var t=i.length;while(t){u=i;i=[];while(++a<t){if(u){u[a].run()}}a=-1;t=i.length}u=null;o=false;runClearTimeout(e)}t.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1){for(var r=1;r<arguments.length;r++){t[r-1]=arguments[r]}}i.push(new Item(e,t));if(i.length===1&&!o){runTimeout(drainQueue)}};function Item(e,t){this.fun=e;this.array=t}Item.prototype.run=function(){this.fun.apply(null,this.array)};t.title=\"browser\";t.browser=true;t.env={};t.argv=[];t.version=\"\";t.versions={};function noop(){}t.on=noop;t.addListener=noop;t.once=noop;t.off=noop;t.removeListener=noop;t.removeAllListeners=noop;t.emit=noop;t.prependListener=noop;t.prependOnceListener=noop;t.listeners=function(e){return[]};t.binding=function(e){throw new Error(\"process.binding is not supported\")};t.cwd=function(){return\"/\"};t.chdir=function(e){throw new Error(\"process.chdir is not supported\")};t.umask=function(){return 0}}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var i=t[r]={exports:{}};var o=true;try{e[r](i,i.exports,__nccwpck_require__);o=false}finally{if(o)delete t[r]}return i.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var r=__nccwpck_require__(229);module.exports=r})();","module.exports =\n global.process?.env && typeof global.process?.env === 'object'\n ? global.process\n : require('next/dist/compiled/process')\n","\"use strict\";\n\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nexports._ = _interop_require_default;\n","\"use strict\";\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) return obj;\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") return { default: obj };\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) return cache.get(obj);\n\n var newObj = { __proto__: null };\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);\n else newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n\n if (cache) cache.set(obj, newObj);\n\n return newObj;\n}\nexports._ = _interop_require_wildcard;\n","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","export const HTTPAccessErrorStatus = {\n NOT_FOUND: 404,\n FORBIDDEN: 403,\n UNAUTHORIZED: 401,\n}\n\nconst ALLOWED_CODES = new Set(Object.values(HTTPAccessErrorStatus))\n\nexport const HTTP_ERROR_FALLBACK_ERROR_CODE = 'NEXT_HTTP_ERROR_FALLBACK'\n\nexport type HTTPAccessFallbackError = Error & {\n digest: `${typeof HTTP_ERROR_FALLBACK_ERROR_CODE};${string}`\n}\n\n/**\n * Checks an error to determine if it's an error generated by\n * the HTTP navigation APIs `notFound()`, `forbidden()` or `unauthorized()`.\n *\n * @param error the error that may reference a HTTP access error\n * @returns true if the error is a HTTP access error\n */\nexport function isHTTPAccessFallbackError(\n error: unknown\n): error is HTTPAccessFallbackError {\n if (\n typeof error !== 'object' ||\n error === null ||\n !('digest' in error) ||\n typeof error.digest !== 'string'\n ) {\n return false\n }\n const [prefix, httpStatus] = error.digest.split(';')\n\n return (\n prefix === HTTP_ERROR_FALLBACK_ERROR_CODE &&\n ALLOWED_CODES.has(Number(httpStatus))\n )\n}\n\nexport function getAccessFallbackHTTPStatus(\n error: HTTPAccessFallbackError\n): number {\n const httpStatus = error.digest.split(';')[1]\n return Number(httpStatus)\n}\n\nexport function getAccessFallbackErrorTypeByStatus(\n status: number\n): 'not-found' | 'forbidden' | 'unauthorized' | undefined {\n switch (status) {\n case 401:\n return 'unauthorized'\n case 403:\n return 'forbidden'\n case 404:\n return 'not-found'\n default:\n return\n }\n}\n","export enum RedirectStatusCode {\n SeeOther = 303,\n TemporaryRedirect = 307,\n PermanentRedirect = 308,\n}\n","import { RedirectStatusCode } from './redirect-status-code'\n\nexport const REDIRECT_ERROR_CODE = 'NEXT_REDIRECT'\n\nexport enum RedirectType {\n push = 'push',\n replace = 'replace',\n}\n\nexport type RedirectError = Error & {\n digest: `${typeof REDIRECT_ERROR_CODE};${RedirectType};${string};${RedirectStatusCode};`\n}\n\n/**\n * Checks an error to determine if it's an error generated by the\n * `redirect(url)` helper.\n *\n * @param error the error that may reference a redirect error\n * @returns true if the error is a redirect error\n */\nexport function isRedirectError(error: unknown): error is RedirectError {\n if (\n typeof error !== 'object' ||\n error === null ||\n !('digest' in error) ||\n typeof error.digest !== 'string'\n ) {\n return false\n }\n\n const digest = error.digest.split(';')\n const [errorCode, type] = digest\n const destination = digest.slice(2, -2).join(';')\n const status = digest.at(-2)\n\n const statusCode = Number(status)\n\n return (\n errorCode === REDIRECT_ERROR_CODE &&\n (type === 'replace' || type === 'push') &&\n typeof destination === 'string' &&\n !isNaN(statusCode) &&\n statusCode in RedirectStatusCode\n )\n}\n","import {\n isHTTPAccessFallbackError,\n type HTTPAccessFallbackError,\n} from './http-access-fallback/http-access-fallback'\nimport { isRedirectError, type RedirectError } from './redirect-error'\n\n/**\n * Returns true if the error is a navigation signal error. These errors are\n * thrown by user code to perform navigation operations and interrupt the React\n * render.\n */\nexport function isNextRouterError(\n error: unknown\n): error is RedirectError | HTTPAccessFallbackError {\n return isRedirectError(error) || isHTTPAccessFallbackError(error)\n}\n","/**\n * @license React\n * react.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function () {},\n enqueueReplaceState: function () {},\n enqueueSetState: function () {}\n },\n assign = Object.assign,\n emptyObject = {};\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nComponent.prototype.isReactComponent = {};\nComponent.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n};\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n};\nfunction ComponentDummy() {}\nComponentDummy.prototype = Component.prototype;\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nvar pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());\npureComponentPrototype.constructor = PureComponent;\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = !0;\nvar isArrayImpl = Array.isArray,\n ReactSharedInternals = { H: null, A: null, T: null, S: null },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction ReactElement(type, key, self, source, owner, props) {\n self = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== self ? self : null,\n props: props\n };\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(\n oldElement.type,\n newKey,\n void 0,\n void 0,\n void 0,\n oldElement.props\n );\n}\nfunction isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n}\nfunction escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n}\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key\n ? escape(\"\" + element.key)\n : index.toString(36);\n}\nfunction noop$1() {}\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop$1, noop$1)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n}\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback)\n return (\n (callback = callback(children)),\n (invokeCallback =\n \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar),\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != invokeCallback &&\n (escapedPrefix =\n invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (children && children.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n invokeCallback\n )),\n array.push(callback)),\n 1\n );\n invokeCallback = 0;\n var nextNamePrefix = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = nextNamePrefix + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n children = i.call(children), i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = nextNamePrefix + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n}\nfunction mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\nfunction lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status && ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status) return payload._result.default;\n throw payload._result;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n };\nfunction noop() {}\nexports.Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n};\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\nexports.__COMPILER_RUNTIME = {\n __proto__: null,\n c: function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n }\n};\nexports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n};\nexports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" + element + \".\"\n );\n var props = assign({}, element.props),\n key = element.key,\n owner = void 0;\n if (null != config)\n for (propName in (void 0 !== config.ref && (owner = void 0),\n void 0 !== config.key && (key = \"\" + config.key),\n config))\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n for (var childArray = Array(propName), i = 0; i < propName; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n return ReactElement(element.type, key, void 0, void 0, owner, props);\n};\nexports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n return defaultValue;\n};\nexports.createElement = function (type, config, children) {\n var propName,\n props = {},\n key = null;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (props[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) props.children = children;\n else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === props[propName] &&\n (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, void 0, void 0, null, props);\n};\nexports.createRef = function () {\n return { current: null };\n};\nexports.forwardRef = function (render) {\n return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };\n};\nexports.isValidElement = isValidElement;\nexports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n};\nexports.memo = function (type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n};\nexports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n};\nexports.unstable_useCacheRefresh = function () {\n return ReactSharedInternals.H.useCacheRefresh();\n};\nexports.use = function (usable) {\n return ReactSharedInternals.H.use(usable);\n};\nexports.useActionState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState, permalink);\n};\nexports.useCallback = function (callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n};\nexports.useContext = function (Context) {\n return ReactSharedInternals.H.useContext(Context);\n};\nexports.useDebugValue = function () {};\nexports.useDeferredValue = function (value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n};\nexports.useEffect = function (create, deps) {\n return ReactSharedInternals.H.useEffect(create, deps);\n};\nexports.useId = function () {\n return ReactSharedInternals.H.useId();\n};\nexports.useImperativeHandle = function (ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n};\nexports.useInsertionEffect = function (create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n};\nexports.useLayoutEffect = function (create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n};\nexports.useMemo = function (create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n};\nexports.useOptimistic = function (passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n};\nexports.useReducer = function (reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n};\nexports.useRef = function (initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n};\nexports.useState = function (initialState) {\n return ReactSharedInternals.H.useState(initialState);\n};\nexports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n};\nexports.useTransition = function () {\n return ReactSharedInternals.H.useTransition();\n};\nexports.version = \"19.2.0-canary-3fbfb9ba-20250409\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * react-dom.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"next/dist/compiled/react\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction noop() {}\nvar Internals = {\n d: {\n f: noop,\n r: function () {\n throw Error(formatProdErrorMessage(522));\n },\n D: noop,\n C: noop,\n L: noop,\n m: noop,\n X: noop,\n S: noop,\n M: noop\n },\n p: 0,\n findDOMNode: null\n },\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\");\nfunction createPortal$1(children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key: null == key ? null : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\nvar ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\nfunction getCrossOriginStringAs(as, input) {\n if (\"font\" === as) return \"\";\n if (\"string\" === typeof input)\n return \"use-credentials\" === input ? input : \"\";\n}\nexports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n Internals;\nexports.createPortal = function (children, container) {\n var key =\n 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;\n if (\n !container ||\n (1 !== container.nodeType &&\n 9 !== container.nodeType &&\n 11 !== container.nodeType)\n )\n throw Error(formatProdErrorMessage(299));\n return createPortal$1(children, container, null, key);\n};\nexports.flushSync = function (fn) {\n var previousTransition = ReactSharedInternals.T,\n previousUpdatePriority = Internals.p;\n try {\n if (((ReactSharedInternals.T = null), (Internals.p = 2), fn)) return fn();\n } finally {\n (ReactSharedInternals.T = previousTransition),\n (Internals.p = previousUpdatePriority),\n Internals.d.f();\n }\n};\nexports.preconnect = function (href, options) {\n \"string\" === typeof href &&\n (options\n ? ((options = options.crossOrigin),\n (options =\n \"string\" === typeof options\n ? \"use-credentials\" === options\n ? options\n : \"\"\n : void 0))\n : (options = null),\n Internals.d.C(href, options));\n};\nexports.prefetchDNS = function (href) {\n \"string\" === typeof href && Internals.d.D(href);\n};\nexports.preinit = function (href, options) {\n if (\"string\" === typeof href && options && \"string\" === typeof options.as) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin),\n integrity =\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n fetchPriority =\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0;\n \"style\" === as\n ? Internals.d.S(\n href,\n \"string\" === typeof options.precedence ? options.precedence : void 0,\n {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority\n }\n )\n : \"script\" === as &&\n Internals.d.X(href, {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n};\nexports.preinitModule = function (href, options) {\n if (\"string\" === typeof href)\n if (\"object\" === typeof options && null !== options) {\n if (null == options.as || \"script\" === options.as) {\n var crossOrigin = getCrossOriginStringAs(\n options.as,\n options.crossOrigin\n );\n Internals.d.M(href, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n } else null == options && Internals.d.M(href);\n};\nexports.preload = function (href, options) {\n if (\n \"string\" === typeof href &&\n \"object\" === typeof options &&\n null !== options &&\n \"string\" === typeof options.as\n ) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin);\n Internals.d.L(href, as, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0,\n type: \"string\" === typeof options.type ? options.type : void 0,\n fetchPriority:\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0,\n referrerPolicy:\n \"string\" === typeof options.referrerPolicy\n ? options.referrerPolicy\n : void 0,\n imageSrcSet:\n \"string\" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,\n imageSizes:\n \"string\" === typeof options.imageSizes ? options.imageSizes : void 0,\n media: \"string\" === typeof options.media ? options.media : void 0\n });\n }\n};\nexports.preloadModule = function (href, options) {\n if (\"string\" === typeof href)\n if (options) {\n var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin);\n Internals.d.m(href, {\n as:\n \"string\" === typeof options.as && \"script\" !== options.as\n ? options.as\n : void 0,\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0\n });\n } else Internals.d.m(href);\n};\nexports.requestFormReset = function (form) {\n Internals.d.r(form);\n};\nexports.unstable_batchedUpdates = function (fn, a) {\n return fn(a);\n};\nexports.useFormState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useFormState(action, initialState, permalink);\n};\nexports.useFormStatus = function () {\n return ReactSharedInternals.H.useHostTransitionStatus();\n};\nexports.version = \"19.2.0-canary-3fbfb9ba-20250409\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","// This has to be a shared module which is shared between client component error boundary and dynamic component\nconst BAILOUT_TO_CSR = 'BAILOUT_TO_CLIENT_SIDE_RENDERING'\n\n/** An error that should be thrown when we want to bail out to client-side rendering. */\nexport class BailoutToCSRError extends Error {\n public readonly digest = BAILOUT_TO_CSR\n\n constructor(public readonly reason: string) {\n super(`Bail out to client-side rendering: ${reason}`)\n }\n}\n\n/** Checks if a passed argument is an error that is thrown if we want to bail out to client-side rendering. */\nexport function isBailoutToCSRError(err: unknown): err is BailoutToCSRError {\n if (typeof err !== 'object' || err === null || !('digest' in err)) {\n return false\n }\n\n return err.digest === BAILOUT_TO_CSR\n}\n","'use client'\n\nimport { createContext } from 'react'\nimport type { Params } from '../../server/request/params'\n\nexport const SearchParamsContext = createContext<URLSearchParams | null>(null)\nexport const PathnameContext = createContext<string | null>(null)\nexport const PathParamsContext = createContext<Params | null>(null)\n\nif (process.env.NODE_ENV !== 'production') {\n SearchParamsContext.displayName = 'SearchParamsContext'\n PathnameContext.displayName = 'PathnameContext'\n PathParamsContext.displayName = 'PathParamsContext'\n}\n","import type { AsyncLocalStorage } from 'async_hooks'\n\nconst sharedAsyncLocalStorageNotAvailableError = new Error(\n 'Invariant: AsyncLocalStorage accessed in runtime where it is not available'\n)\n\nclass FakeAsyncLocalStorage<Store extends {}>\n implements AsyncLocalStorage<Store>\n{\n disable(): void {\n throw sharedAsyncLocalStorageNotAvailableError\n }\n\n getStore(): Store | undefined {\n // This fake implementation of AsyncLocalStorage always returns `undefined`.\n return undefined\n }\n\n run<R>(): R {\n throw sharedAsyncLocalStorageNotAvailableError\n }\n\n exit<R>(): R {\n throw sharedAsyncLocalStorageNotAvailableError\n }\n\n enterWith(): void {\n throw sharedAsyncLocalStorageNotAvailableError\n }\n\n static bind<T>(fn: T): T {\n return fn\n }\n}\n\nconst maybeGlobalAsyncLocalStorage =\n typeof globalThis !== 'undefined' && (globalThis as any).AsyncLocalStorage\n\nexport function createAsyncLocalStorage<\n Store extends {},\n>(): AsyncLocalStorage<Store> {\n if (maybeGlobalAsyncLocalStorage) {\n return new maybeGlobalAsyncLocalStorage()\n }\n return new FakeAsyncLocalStorage()\n}\n\nexport function bindSnapshot<T>(fn: T): T {\n if (maybeGlobalAsyncLocalStorage) {\n return maybeGlobalAsyncLocalStorage.bind(fn)\n }\n return FakeAsyncLocalStorage.bind(fn)\n}\n\nexport function createSnapshot(): <R, TArgs extends any[]>(\n fn: (...args: TArgs) => R,\n ...args: TArgs\n) => R {\n if (maybeGlobalAsyncLocalStorage) {\n return maybeGlobalAsyncLocalStorage.snapshot()\n }\n return function (fn: any, ...args: any[]) {\n return fn(...args)\n }\n}\n","import type { WorkAsyncStorage } from './work-async-storage.external'\nimport { createAsyncLocalStorage } from './async-local-storage'\n\nexport const workAsyncStorageInstance: WorkAsyncStorage =\n createAsyncLocalStorage()\n","import type { AsyncLocalStorage } from 'async_hooks'\nimport type { IncrementalCache } from '../lib/incremental-cache'\nimport type { FetchMetrics } from '../base-http'\nimport type { FallbackRouteParams } from '../request/fallback-params'\nimport type { DeepReadonly } from '../../shared/lib/deep-readonly'\nimport type { AppSegmentConfig } from '../../build/segment-config/app/app-segment-config'\nimport type { AfterContext } from '../after/after-context'\nimport type { CacheLife } from '../use-cache/cache-life'\n\n// Share the instance module in the next-shared layer\nimport { workAsyncStorageInstance } from './work-async-storage-instance' with { 'turbopack-transition': 'next-shared' }\nimport type { LazyResult } from '../lib/lazy-result'\n\nexport interface WorkStore {\n readonly isStaticGeneration: boolean\n\n /**\n * The page that is being rendered. This relates to the path to the page file.\n */\n readonly page: string\n\n /**\n * The route that is being rendered. This is the page property without the\n * trailing `/page` or `/route` suffix.\n */\n readonly route: string\n\n /**\n * The set of unknown route parameters. Accessing these will be tracked as\n * a dynamic access.\n */\n readonly fallbackRouteParams: FallbackRouteParams | null\n\n readonly incrementalCache?: IncrementalCache\n readonly cacheLifeProfiles?: { [profile: string]: CacheLife }\n\n readonly isOnDemandRevalidate?: boolean\n readonly isPrerendering?: boolean\n readonly isRevalidate?: boolean\n\n forceDynamic?: boolean\n fetchCache?: AppSegmentConfig['fetchCache']\n\n forceStatic?: boolean\n dynamicShouldError?: boolean\n pendingRevalidates?: Record<string, Promise<any>>\n pendingRevalidateWrites?: Array<Promise<void>> // This is like pendingRevalidates but isn't used for deduping.\n readonly afterContext: AfterContext\n\n dynamicUsageDescription?: string\n dynamicUsageStack?: string\n\n /**\n * Invalid usage errors might be caught in userland. We attach them to the\n * work store to ensure we can still fail the build or dev render.\n */\n // TODO: Collect an array of errors, and throw as AggregateError when\n // `serializeError` and the Dev Overlay support it.\n invalidUsageError?: Error\n\n nextFetchId?: number\n pathWasRevalidated?: boolean\n\n /**\n * Tags that were revalidated during the current request. They need to be sent\n * to cache handlers to propagate their revalidation.\n */\n pendingRevalidatedTags?: string[]\n\n /**\n * Tags that were previously revalidated (e.g. by a redirecting server action)\n * and have already been sent to cache handlers. Retrieved cache entries that\n * include any of these tags must be discarded.\n */\n readonly previouslyRevalidatedTags: readonly string[]\n\n /**\n * This map contains lazy results so that we can evaluate them when the first\n * cache entry is read. It allows us to skip refreshing tags if no caches are\n * read at all.\n */\n readonly refreshTagsByCacheKind: Map<string, LazyResult<void>>\n\n fetchMetrics?: FetchMetrics\n\n isDraftMode?: boolean\n isUnstableNoStore?: boolean\n isPrefetchRequest?: boolean\n\n requestEndedState?: { ended?: boolean }\n\n buildId: string\n\n readonly reactLoadableManifest?: DeepReadonly<\n Record<string, { files: string[] }>\n >\n readonly assetPrefix?: string\n\n dynamicIOEnabled: boolean\n dev: boolean\n}\n\nexport type WorkAsyncStorage = AsyncLocalStorage<WorkStore>\n\nexport { workAsyncStorageInstance as workAsyncStorage }\n","export const RSC_HEADER = 'RSC' as const\nexport const ACTION_HEADER = 'Next-Action' as const\n// TODO: Instead of sending the full router state, we only need to send the\n// segment path. Saves bytes. Then we could also use this field for segment\n// prefetches, which also need to specify a particular segment.\nexport const NEXT_ROUTER_STATE_TREE_HEADER = 'Next-Router-State-Tree' as const\nexport const NEXT_ROUTER_PREFETCH_HEADER = 'Next-Router-Prefetch' as const\n// This contains the path to the segment being prefetched.\n// TODO: If we change Next-Router-State-Tree to be a segment path, we can use\n// that instead. Then Next-Router-Prefetch and Next-Router-Segment-Prefetch can\n// be merged into a single enum.\nexport const NEXT_ROUTER_SEGMENT_PREFETCH_HEADER =\n 'Next-Router-Segment-Prefetch' as const\nexport const NEXT_HMR_REFRESH_HEADER = 'Next-HMR-Refresh' as const\nexport const NEXT_HMR_REFRESH_HASH_COOKIE = '__next_hmr_refresh_hash__' as const\nexport const NEXT_URL = 'Next-Url' as const\nexport const RSC_CONTENT_TYPE_HEADER = 'text/x-component' as const\n\nexport const FLIGHT_HEADERS = [\n RSC_HEADER,\n NEXT_ROUTER_STATE_TREE_HEADER,\n NEXT_ROUTER_PREFETCH_HEADER,\n NEXT_HMR_REFRESH_HEADER,\n NEXT_ROUTER_SEGMENT_PREFETCH_HEADER,\n] as const\n\nexport const NEXT_RSC_UNION_QUERY = '_rsc' as const\n\nexport const NEXT_ROUTER_STALE_TIME_HEADER = 'x-nextjs-stale-time' as const\nexport const NEXT_DID_POSTPONE_HEADER = 'x-nextjs-postponed' as const\nexport const NEXT_REWRITTEN_PATH_HEADER = 'x-nextjs-rewritten-path' as const\nexport const NEXT_REWRITTEN_QUERY_HEADER = 'x-nextjs-rewritten-query' as const\nexport const NEXT_IS_PRERENDER_HEADER = 'x-nextjs-prerender' as const\n","import type { Segment } from '../../server/app-render/types'\n\nexport function isGroupSegment(segment: string) {\n // Use array[0] for performant purpose\n return segment[0] === '(' && segment.endsWith(')')\n}\n\nexport function isParallelRouteSegment(segment: string) {\n return segment.startsWith('@') && segment !== '@children'\n}\n\nexport function addSearchParamsIfPageSegment(\n segment: Segment,\n searchParams: Record<string, string | string[] | undefined>\n) {\n const isPageSegment = segment.includes(PAGE_SEGMENT_KEY)\n\n if (isPageSegment) {\n const stringifiedQuery = JSON.stringify(searchParams)\n return stringifiedQuery !== '{}'\n ? PAGE_SEGMENT_KEY + '?' + stringifiedQuery\n : PAGE_SEGMENT_KEY\n }\n\n return segment\n}\n\nexport const PAGE_SEGMENT_KEY = '__PAGE__'\nexport const DEFAULT_SEGMENT_KEY = '__DEFAULT__'\n","'use client'\n\nimport type { FetchServerResponseResult } from '../../client/components/router-reducer/fetch-server-response'\nimport type {\n FocusAndScrollRef,\n PrefetchKind,\n} from '../../client/components/router-reducer/router-reducer-types'\nimport type {\n FlightRouterState,\n FlightSegmentPath,\n} from '../../server/app-render/types'\nimport React from 'react'\n\nexport type ChildSegmentMap = Map<string, CacheNode>\n\n/**\n * Cache node used in app-router / layout-router.\n */\nexport type CacheNode = ReadyCacheNode | LazyCacheNode\n\nexport type LoadingModuleData =\n | [React.JSX.Element, React.ReactNode, React.ReactNode]\n | null\n\n/** viewport metadata node */\nexport type HeadData = React.ReactNode\n\nexport type LazyCacheNode = {\n /**\n * When rsc is null, this is a lazily-initialized cache node.\n *\n * If the app attempts to render it, it triggers a lazy data fetch,\n * postpones the render, and schedules an update to a new tree.\n *\n * TODO: This mechanism should not be used when PPR is enabled, though it\n * currently is in some cases until we've implemented partial\n * segment fetching.\n */\n rsc: null\n\n /**\n * A prefetched version of the segment data. See explanation in corresponding\n * field of ReadyCacheNode (below).\n *\n * Since LazyCacheNode mostly only exists in the non-PPR implementation, this\n * will usually be null, but it could have been cloned from a previous\n * CacheNode that was created by the PPR implementation. Eventually we want\n * to migrate everything away from LazyCacheNode entirely.\n */\n prefetchRsc: React.ReactNode\n\n /**\n * A pending response for the lazy data fetch. If this is not present\n * during render, it is lazily created.\n */\n lazyData: Promise<FetchServerResponseResult> | null\n\n prefetchHead: HeadData | null\n\n head: HeadData\n\n loading: LoadingModuleData | Promise<LoadingModuleData>\n\n /**\n * Child parallel routes.\n */\n parallelRoutes: Map<string, ChildSegmentMap>\n\n /**\n * The timestamp of the navigation that last updated the CacheNode's data. If\n * a CacheNode is reused from a previous navigation, this value is not\n * updated. Used to track the staleness of the data.\n */\n navigatedAt: number\n}\n\nexport type ReadyCacheNode = {\n /**\n * When rsc is not null, it represents the RSC data for the\n * corresponding segment.\n *\n * `null` is a valid React Node but because segment data is always a\n * <LayoutRouter> component, we can use `null` to represent empty.\n *\n * TODO: For additional type safety, update this type to\n * Exclude<React.ReactNode, null>. Need to update createEmptyCacheNode to\n * accept rsc as an argument, or just inline the callers.\n */\n rsc: React.ReactNode\n\n /**\n * Represents a static version of the segment that can be shown immediately,\n * and may or may not contain dynamic holes. It's prefetched before a\n * navigation occurs.\n *\n * During rendering, we will choose whether to render `rsc` or `prefetchRsc`\n * with `useDeferredValue`. As with the `rsc` field, a value of `null` means\n * no value was provided. In this case, the LayoutRouter will go straight to\n * rendering the `rsc` value; if that one is also missing, it will suspend and\n * trigger a lazy fetch.\n */\n prefetchRsc: React.ReactNode\n\n /**\n * There should never be a lazy data request in this case.\n */\n lazyData: null\n prefetchHead: HeadData | null\n\n head: HeadData\n\n loading: LoadingModuleData | Promise<LoadingModuleData>\n\n parallelRoutes: Map<string, ChildSegmentMap>\n\n navigatedAt: number\n}\n\nexport interface NavigateOptions {\n scroll?: boolean\n}\n\nexport interface PrefetchOptions {\n kind: PrefetchKind\n}\n\nexport interface AppRouterInstance {\n /**\n * Navigate to the previous history entry.\n */\n back(): void\n /**\n * Navigate to the next history entry.\n */\n forward(): void\n /**\n * Refresh the current page.\n */\n refresh(): void\n /**\n * Refresh the current page. Use in development only.\n * @internal\n */\n hmrRefresh(): void\n /**\n * Navigate to the provided href.\n * Pushes a new history entry.\n */\n push(href: string, options?: NavigateOptions): void\n /**\n * Navigate to the provided href.\n * Replaces the current history entry.\n */\n replace(href: string, options?: NavigateOptions): void\n /**\n * Prefetch the provided href.\n */\n prefetch(href: string, options?: PrefetchOptions): void\n}\n\nexport const AppRouterContext = React.createContext<AppRouterInstance | null>(\n null\n)\nexport const LayoutRouterContext = React.createContext<{\n parentTree: FlightRouterState\n parentCacheNode: CacheNode\n parentSegmentPath: FlightSegmentPath | null\n url: string\n} | null>(null)\n\nexport const GlobalLayoutRouterContext = React.createContext<{\n tree: FlightRouterState\n focusAndScrollRef: FocusAndScrollRef\n nextUrl: string | null\n}>(null as any)\n\nexport const TemplateContext = React.createContext<React.ReactNode>(null as any)\n\nif (process.env.NODE_ENV !== 'production') {\n AppRouterContext.displayName = 'AppRouterContext'\n LayoutRouterContext.displayName = 'LayoutRouterContext'\n GlobalLayoutRouterContext.displayName = 'GlobalLayoutRouterContext'\n TemplateContext.displayName = 'TemplateContext'\n}\n\nexport const MissingSlotContext = React.createContext<Set<string>>(new Set())\n","import type { Segment } from '../../../../server/app-render/types'\n\nexport function getSegmentValue(segment: Segment) {\n return Array.isArray(segment) ? segment[1] : segment\n}\n","import type { ActionAsyncStorage } from './action-async-storage.external'\nimport { createAsyncLocalStorage } from './async-local-storage'\n\nexport const actionAsyncStorageInstance: ActionAsyncStorage =\n createAsyncLocalStorage()\n","import type { AsyncLocalStorage } from 'async_hooks'\n\n// Share the instance module in the next-shared layer\nimport { actionAsyncStorageInstance } from './action-async-storage-instance' with { 'turbopack-transition': 'next-shared' }\nexport interface ActionStore {\n readonly isAction?: boolean\n readonly isAppRoute?: boolean\n}\n\nexport type ActionAsyncStorage = AsyncLocalStorage<ActionStore>\n\nexport { actionAsyncStorageInstance as actionAsyncStorage }\n","import { RedirectStatusCode } from './redirect-status-code'\nimport {\n RedirectType,\n type RedirectError,\n isRedirectError,\n REDIRECT_ERROR_CODE,\n} from './redirect-error'\n\nconst actionAsyncStorage =\n typeof window === 'undefined'\n ? (\n require('../../server/app-render/action-async-storage.external') as typeof import('../../server/app-render/action-async-storage.external')\n ).actionAsyncStorage\n : undefined\n\nexport function getRedirectError(\n url: string,\n type: RedirectType,\n statusCode: RedirectStatusCode = RedirectStatusCode.TemporaryRedirect\n): RedirectError {\n const error = new Error(REDIRECT_ERROR_CODE) as RedirectError\n error.digest = `${REDIRECT_ERROR_CODE};${type};${url};${statusCode};`\n return error\n}\n\n/**\n * This function allows you to redirect the user to another URL. It can be used in\n * [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),\n * [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and\n * [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations).\n *\n * - In a Server Component, this will insert a meta tag to redirect the user to the target page.\n * - In a Route Handler or Server Action, it will serve a 307/303 to the caller.\n * - In a Server Action, type defaults to 'push' and 'replace' elsewhere.\n *\n * Read more: [Next.js Docs: `redirect`](https://nextjs.org/docs/app/api-reference/functions/redirect)\n */\nexport function redirect(\n /** The URL to redirect to */\n url: string,\n type?: RedirectType\n): never {\n type ??= actionAsyncStorage?.getStore()?.isAction\n ? RedirectType.push\n : RedirectType.replace\n\n throw getRedirectError(url, type, RedirectStatusCode.TemporaryRedirect)\n}\n\n/**\n * This function allows you to redirect the user to another URL. It can be used in\n * [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),\n * [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and\n * [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations).\n *\n * - In a Server Component, this will insert a meta tag to redirect the user to the target page.\n * - In a Route Handler or Server Action, it will serve a 308/303 to the caller.\n *\n * Read more: [Next.js Docs: `redirect`](https://nextjs.org/docs/app/api-reference/functions/redirect)\n */\nexport function permanentRedirect(\n /** The URL to redirect to */\n url: string,\n type: RedirectType = RedirectType.replace\n): never {\n throw getRedirectError(url, type, RedirectStatusCode.PermanentRedirect)\n}\n\n/**\n * Returns the encoded URL from the error if it's a RedirectError, null\n * otherwise. Note that this does not validate the URL returned.\n *\n * @param error the error that may be a redirect error\n * @return the url if the error was a redirect error\n */\nexport function getURLFromRedirectError(error: RedirectError): string\nexport function getURLFromRedirectError(error: unknown): string | null {\n if (!isRedirectError(error)) return null\n\n // Slices off the beginning of the digest that contains the code and the\n // separating ';'.\n return error.digest.split(';').slice(2, -2).join(';')\n}\n\nexport function getRedirectTypeFromError(error: RedirectError): RedirectType {\n if (!isRedirectError(error)) {\n throw new Error('Not a redirect error')\n }\n\n return error.digest.split(';', 2)[1] as RedirectType\n}\n\nexport function getRedirectStatusCodeFromError(error: RedirectError): number {\n if (!isRedirectError(error)) {\n throw new Error('Not a redirect error')\n }\n\n return Number(error.digest.split(';').at(-2))\n}\n","import {\n HTTP_ERROR_FALLBACK_ERROR_CODE,\n type HTTPAccessFallbackError,\n} from './http-access-fallback/http-access-fallback'\n\n/**\n * This function allows you to render the [not-found.js file](https://nextjs.org/docs/app/api-reference/file-conventions/not-found)\n * within a route segment as well as inject a tag.\n *\n * `notFound()` can be used in\n * [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),\n * [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and\n * [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations).\n *\n * - In a Server Component, this will insert a `<meta name=\"robots\" content=\"noindex\" />` meta tag and set the status code to 404.\n * - In a Route Handler or Server Action, it will serve a 404 to the caller.\n *\n * Read more: [Next.js Docs: `notFound`](https://nextjs.org/docs/app/api-reference/functions/not-found)\n */\n\nconst DIGEST = `${HTTP_ERROR_FALLBACK_ERROR_CODE};404`\n\nexport function notFound(): never {\n // eslint-disable-next-line no-throw-literal\n const error = new Error(DIGEST) as HTTPAccessFallbackError\n ;(error as HTTPAccessFallbackError).digest = DIGEST\n\n throw error\n}\n","import {\n HTTP_ERROR_FALLBACK_ERROR_CODE,\n type HTTPAccessFallbackError,\n} from './http-access-fallback/http-access-fallback'\n\n// TODO: Add `forbidden` docs\n/**\n * @experimental\n * This function allows you to render the [forbidden.js file](https://nextjs.org/docs/app/api-reference/file-conventions/forbidden)\n * within a route segment as well as inject a tag.\n *\n * `forbidden()` can be used in\n * [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),\n * [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and\n * [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations).\n *\n * Read more: [Next.js Docs: `forbidden`](https://nextjs.org/docs/app/api-reference/functions/forbidden)\n */\n\nconst DIGEST = `${HTTP_ERROR_FALLBACK_ERROR_CODE};403`\n\nexport function forbidden(): never {\n if (!process.env.__NEXT_EXPERIMENTAL_AUTH_INTERRUPTS) {\n throw new Error(\n `\\`forbidden()\\` is experimental and only allowed to be enabled when \\`experimental.authInterrupts\\` is enabled.`\n )\n }\n\n // eslint-disable-next-line no-throw-literal\n const error = new Error(DIGEST) as HTTPAccessFallbackError\n ;(error as HTTPAccessFallbackError).digest = DIGEST\n throw error\n}\n","import {\n HTTP_ERROR_FALLBACK_ERROR_CODE,\n type HTTPAccessFallbackError,\n} from './http-access-fallback/http-access-fallback'\n\n// TODO: Add `unauthorized` docs\n/**\n * @experimental\n * This function allows you to render the [unauthorized.js file](https://nextjs.org/docs/app/api-reference/file-conventions/unauthorized)\n * within a route segment as well as inject a tag.\n *\n * `unauthorized()` can be used in\n * [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),\n * [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and\n * [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations).\n *\n *\n * Read more: [Next.js Docs: `unauthorized`](https://nextjs.org/docs/app/api-reference/functions/unauthorized)\n */\n\nconst DIGEST = `${HTTP_ERROR_FALLBACK_ERROR_CODE};401`\n\nexport function unauthorized(): never {\n if (!process.env.__NEXT_EXPERIMENTAL_AUTH_INTERRUPTS) {\n throw new Error(\n `\\`unauthorized()\\` is experimental and only allowed to be used when \\`experimental.authInterrupts\\` is enabled.`\n )\n }\n\n // eslint-disable-next-line no-throw-literal\n const error = new Error(DIGEST) as HTTPAccessFallbackError\n ;(error as HTTPAccessFallbackError).digest = DIGEST\n throw error\n}\n","import { isBailoutToCSRError } from '../../shared/lib/lazy-dynamic/bailout-to-csr'\nimport { isNextRouterError } from './is-next-router-error'\n\nexport function unstable_rethrow(error: unknown): void {\n if (isNextRouterError(error) || isBailoutToCSRError(error)) {\n throw error\n }\n\n if (error instanceof Error && 'cause' in error) {\n unstable_rethrow(error.cause)\n }\n}\n","export function isHangingPromiseRejectionError(\n err: unknown\n): err is HangingPromiseRejectionError {\n if (typeof err !== 'object' || err === null || !('digest' in err)) {\n return false\n }\n\n return err.digest === HANGING_PROMISE_REJECTION\n}\n\nconst HANGING_PROMISE_REJECTION = 'HANGING_PROMISE_REJECTION'\n\nclass HangingPromiseRejectionError extends Error {\n public readonly digest = HANGING_PROMISE_REJECTION\n\n constructor(public readonly expression: string) {\n super(\n `During prerendering, ${expression} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${expression} to a different context by using \\`setTimeout\\`, \\`after\\`, or similar functions you may observe this error and you should handle it in that context.`\n )\n }\n}\n\ntype AbortListeners = Array<(err: unknown) => void>\nconst abortListenersBySignal = new WeakMap<AbortSignal, AbortListeners>()\n\n/**\n * This function constructs a promise that will never resolve. This is primarily\n * useful for dynamicIO where we use promise resolution timing to determine which\n * parts of a render can be included in a prerender.\n *\n * @internal\n */\nexport function makeHangingPromise<T>(\n signal: AbortSignal,\n expression: string\n): Promise<T> {\n if (signal.aborted) {\n return Promise.reject(new HangingPromiseRejectionError(expression))\n } else {\n const hangingPromise = new Promise<T>((_, reject) => {\n const boundRejection = reject.bind(\n null,\n new HangingPromiseRejectionError(expression)\n )\n let currentListeners = abortListenersBySignal.get(signal)\n if (currentListeners) {\n currentListeners.push(boundRejection)\n } else {\n const listeners = [boundRejection]\n abortListenersBySignal.set(signal, listeners)\n signal.addEventListener(\n 'abort',\n () => {\n for (let i = 0; i < listeners.length; i++) {\n listeners[i]()\n }\n },\n { once: true }\n )\n }\n })\n // We are fine if no one actually awaits this promise. We shouldn't consider this an unhandled rejection so\n // we attach a noop catch handler here to suppress this warning. If you actually await somewhere or construct\n // your own promise out of it you'll need to ensure you handle the error when it rejects.\n hangingPromise.catch(ignoreReject)\n return hangingPromise\n }\n}\n\nfunction ignoreReject() {}\n","const REACT_POSTPONE_TYPE: symbol = Symbol.for('react.postpone')\n\nexport function isPostpone(error: any): boolean {\n return (\n typeof error === 'object' &&\n error !== null &&\n error.$$typeof === REACT_POSTPONE_TYPE\n )\n}\n","const DYNAMIC_ERROR_CODE = 'DYNAMIC_SERVER_USAGE'\n\nexport class DynamicServerError extends Error {\n digest: typeof DYNAMIC_ERROR_CODE = DYNAMIC_ERROR_CODE\n\n constructor(public readonly description: string) {\n super(`Dynamic server usage: ${description}`)\n }\n}\n\nexport function isDynamicServerError(err: unknown): err is DynamicServerError {\n if (\n typeof err !== 'object' ||\n err === null ||\n !('digest' in err) ||\n typeof err.digest !== 'string'\n ) {\n return false\n }\n\n return err.digest === DYNAMIC_ERROR_CODE\n}\n","const NEXT_STATIC_GEN_BAILOUT = 'NEXT_STATIC_GEN_BAILOUT'\n\nexport class StaticGenBailoutError extends Error {\n public readonly code = NEXT_STATIC_GEN_BAILOUT\n}\n\nexport function isStaticGenBailoutError(\n error: unknown\n): error is StaticGenBailoutError {\n if (typeof error !== 'object' || error === null || !('code' in error)) {\n return false\n }\n\n return error.code === NEXT_STATIC_GEN_BAILOUT\n}\n","import { createAsyncLocalStorage } from './async-local-storage'\nimport type { WorkUnitAsyncStorage } from './work-unit-async-storage.external'\n\nexport const workUnitAsyncStorageInstance: WorkUnitAsyncStorage =\n createAsyncLocalStorage()\n","import type { AsyncLocalStorage } from 'async_hooks'\nimport type { DraftModeProvider } from '../async-storage/draft-mode-provider'\nimport type { ResponseCookies } from '../web/spec-extension/cookies'\nimport type { ReadonlyHeaders } from '../web/spec-extension/adapters/headers'\nimport type { ReadonlyRequestCookies } from '../web/spec-extension/adapters/request-cookies'\nimport type { CacheSignal } from './cache-signal'\nimport type { DynamicTrackingState } from './dynamic-rendering'\n\n// Share the instance module in the next-shared layer\nimport { workUnitAsyncStorageInstance } from './work-unit-async-storage-instance' with { 'turbopack-transition': 'next-shared' }\nimport type { ServerComponentsHmrCache } from '../response-cache'\nimport type {\n RenderResumeDataCache,\n PrerenderResumeDataCache,\n} from '../resume-data-cache/resume-data-cache'\nimport type { Params } from '../request/params'\nimport type { ImplicitTags } from '../lib/implicit-tags'\nimport type { WorkStore } from './work-async-storage.external'\nimport { NEXT_HMR_REFRESH_HASH_COOKIE } from '../../client/components/app-router-headers'\n\nexport type WorkUnitPhase = 'action' | 'render' | 'after'\n\nexport interface CommonWorkUnitStore {\n /** NOTE: Will be mutated as phases change */\n phase: WorkUnitPhase\n readonly implicitTags: ImplicitTags\n}\n\nexport interface RequestStore extends CommonWorkUnitStore {\n type: 'request'\n\n /**\n * The URL of the request. This only specifies the pathname and the search\n * part of the URL.\n */\n readonly url: {\n /**\n * The pathname of the requested URL.\n */\n readonly pathname: string\n\n /**\n * The search part of the requested URL. If the request did not provide a\n * search part, this will be an empty string.\n */\n readonly search: string\n }\n\n readonly headers: ReadonlyHeaders\n // This is mutable because we need to reassign it when transitioning from the action phase to the render phase.\n // The cookie object itself is deliberately read only and thus can't be updated.\n cookies: ReadonlyRequestCookies\n readonly mutableCookies: ResponseCookies\n readonly userspaceMutableCookies: ResponseCookies\n readonly draftMode: DraftModeProvider\n readonly isHmrRefresh?: boolean\n readonly serverComponentsHmrCache?: ServerComponentsHmrCache\n\n readonly rootParams: Params\n\n /**\n * The resume data cache for this request. This will be a immutable cache.\n */\n renderResumeDataCache: RenderResumeDataCache | null\n\n // DEV-only\n usedDynamic?: boolean\n prerenderPhase?: boolean\n}\n\n/**\n * The Prerender store is for tracking information related to prerenders.\n *\n * It can be used for both RSC and SSR prerendering and should be scoped as close\n * to the individual `renderTo...` API call as possible. To keep the type simple\n * we don't distinguish between RSC and SSR prerendering explicitly but instead\n * use conditional object properties to infer which mode we are in. For instance cache tracking\n * only needs to happen during the RSC prerender when we are prospectively prerendering\n * to fill all caches.\n */\nexport interface PrerenderStoreModern extends CommonWorkUnitStore {\n type: 'prerender'\n\n /**\n * This signal is aborted when the React render is complete. (i.e. it is the same signal passed to react)\n */\n readonly renderSignal: AbortSignal\n /**\n * This is the AbortController which represents the boundary between Prerender and dynamic. In some renders it is\n * the same as the controller for the renderSignal but in others it is a separate controller. It should be aborted\n * whenever the we are no longer in the prerender phase of rendering. Typically this is after one task or when you call\n * a sync API which requires the prerender to end immediately\n */\n readonly controller: AbortController\n\n /**\n * when not null this signal is used to track cache reads during prerendering and\n * to await all cache reads completing before aborting the prerender.\n */\n readonly cacheSignal: null | CacheSignal\n\n /**\n * During some prerenders we want to track dynamic access.\n */\n readonly dynamicTracking: null | DynamicTrackingState\n\n readonly rootParams: Params\n\n // Collected revalidate times and tags for this document during the prerender.\n revalidate: number // in seconds. 0 means dynamic. INFINITE_CACHE and higher means never revalidate.\n expire: number // server expiration time\n stale: number // client expiration time\n tags: null | string[]\n\n /**\n * The resume data cache for this prerender.\n */\n prerenderResumeDataCache: PrerenderResumeDataCache | null\n\n // DEV ONLY\n // When used this flag informs certain APIs to skip logging because we're\n // not part of the primary render path and are just prerendering to produce\n // validation results\n validating?: boolean\n\n /**\n * The HMR refresh hash is only provided in dev mode. It is needed for the dev\n * warmup render to ensure that the cache keys will be identical for the\n * subsequent dynamic render.\n */\n readonly hmrRefreshHash: string | undefined\n}\n\nexport interface PrerenderStorePPR extends CommonWorkUnitStore {\n type: 'prerender-ppr'\n readonly rootParams: Params\n readonly dynamicTracking: null | DynamicTrackingState\n // Collected revalidate times and tags for this document during the prerender.\n revalidate: number // in seconds. 0 means dynamic. INFINITE_CACHE and higher means never revalidate.\n expire: number // server expiration time\n stale: number // client expiration time\n tags: null | string[]\n\n /**\n * The resume data cache for this prerender.\n */\n prerenderResumeDataCache: PrerenderResumeDataCache\n}\n\nexport interface PrerenderStoreLegacy extends CommonWorkUnitStore {\n type: 'prerender-legacy'\n readonly rootParams: Params\n // Collected revalidate times and tags for this document during the prerender.\n revalidate: number // in seconds. 0 means dynamic. INFINITE_CACHE and higher means never revalidate.\n expire: number // server expiration time\n stale: number // client expiration time\n tags: null | string[]\n}\n\nexport type PrerenderStore =\n | PrerenderStoreLegacy\n | PrerenderStorePPR\n | PrerenderStoreModern\n\nexport interface CommonCacheStore\n extends Omit<CommonWorkUnitStore, 'implicitTags'> {\n /**\n * A cache work unit store might not always have an outer work unit store,\n * from which implicit tags could be inherited.\n */\n readonly implicitTags: ImplicitTags | undefined\n}\n\nexport interface UseCacheStore extends CommonCacheStore {\n type: 'cache'\n // Collected revalidate times and tags for this cache entry during the cache render.\n revalidate: number // implicit revalidate time from inner caches / fetches\n expire: number // server expiration time\n stale: number // client expiration time\n explicitRevalidate: undefined | number // explicit revalidate time from cacheLife() calls\n explicitExpire: undefined | number // server expiration time\n explicitStale: undefined | number // client expiration time\n tags: null | string[]\n readonly hmrRefreshHash: string | undefined\n readonly isHmrRefresh: boolean\n readonly serverComponentsHmrCache: ServerComponentsHmrCache | undefined\n readonly forceRevalidate: boolean\n // Draft mode is only available if the outer work unit store is a request\n // store and draft mode is enabled.\n readonly draftMode: DraftModeProvider | undefined\n}\n\nexport interface UnstableCacheStore extends CommonCacheStore {\n type: 'unstable-cache'\n // Draft mode is only available if the outer work unit store is a request\n // store and draft mode is enabled.\n readonly draftMode: DraftModeProvider | undefined\n}\n\n/**\n * The Cache store is for tracking information inside a \"use cache\" or unstable_cache context.\n * Inside this context we should never expose any request or page specific information.\n */\nexport type CacheStore = UseCacheStore | UnstableCacheStore\n\nexport type WorkUnitStore = RequestStore | CacheStore | PrerenderStore\n\nexport type WorkUnitAsyncStorage = AsyncLocalStorage<WorkUnitStore>\n\nexport { workUnitAsyncStorageInstance as workUnitAsyncStorage }\n\nexport function getExpectedRequestStore(\n callingExpression: string\n): RequestStore {\n const workUnitStore = workUnitAsyncStorageInstance.getStore()\n\n if (!workUnitStore) {\n throwForMissingRequestStore(callingExpression)\n }\n\n switch (workUnitStore.type) {\n case 'request':\n return workUnitStore\n\n case 'prerender':\n case 'prerender-ppr':\n case 'prerender-legacy':\n // This should not happen because we should have checked it already.\n throw new Error(\n `\\`${callingExpression}\\` cannot be called inside a prerender. This is a bug in Next.js.`\n )\n\n case 'cache':\n throw new Error(\n `\\`${callingExpression}\\` cannot be called inside \"use cache\". Call it outside and pass an argument instead. Read more: https://nextjs.org/docs/messages/next-request-in-use-cache`\n )\n\n case 'unstable-cache':\n throw new Error(\n `\\`${callingExpression}\\` cannot be called inside unstable_cache. Call it outside and pass an argument instead. Read more: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`\n )\n\n default:\n const _exhaustiveCheck: never = workUnitStore\n return _exhaustiveCheck\n }\n}\n\nexport function throwForMissingRequestStore(callingExpression: string): never {\n throw new Error(\n `\\`${callingExpression}\\` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`\n )\n}\n\nexport function getPrerenderResumeDataCache(\n workUnitStore: WorkUnitStore\n): PrerenderResumeDataCache | null {\n if (\n workUnitStore.type === 'prerender' ||\n workUnitStore.type === 'prerender-ppr'\n ) {\n return workUnitStore.prerenderResumeDataCache\n }\n\n return null\n}\n\nexport function getRenderResumeDataCache(\n workUnitStore: WorkUnitStore\n): RenderResumeDataCache | null {\n if (\n workUnitStore.type !== 'prerender-legacy' &&\n workUnitStore.type !== 'cache' &&\n workUnitStore.type !== 'unstable-cache'\n ) {\n if (workUnitStore.type === 'request') {\n return workUnitStore.renderResumeDataCache\n }\n\n // We return the mutable resume data cache here as an immutable version of\n // the cache as it can also be used for reading.\n return workUnitStore.prerenderResumeDataCache\n }\n\n return null\n}\n\nexport function getHmrRefreshHash(\n workStore: WorkStore,\n workUnitStore: WorkUnitStore\n): string | undefined {\n if (!workStore.dev) {\n return undefined\n }\n\n return workUnitStore.type === 'cache' || workUnitStore.type === 'prerender'\n ? workUnitStore.hmrRefreshHash\n : workUnitStore.type === 'request'\n ? workUnitStore.cookies.get(NEXT_HMR_REFRESH_HASH_COOKIE)?.value\n : undefined\n}\n\n/**\n * Returns a draft mode provider only if draft mode is enabled.\n */\nexport function getDraftModeProviderForCacheScope(\n workStore: WorkStore,\n workUnitStore: WorkUnitStore\n): DraftModeProvider | undefined {\n if (workStore.isDraftMode) {\n switch (workUnitStore.type) {\n case 'cache':\n case 'unstable-cache':\n case 'request':\n return workUnitStore.draftMode\n default:\n return undefined\n }\n }\n\n return undefined\n}\n","export const METADATA_BOUNDARY_NAME = '__next_metadata_boundary__'\nexport const VIEWPORT_BOUNDARY_NAME = '__next_viewport_boundary__'\nexport const OUTLET_BOUNDARY_NAME = '__next_outlet_boundary__'\n","export type ScheduledFn<T = void> = () => T | PromiseLike<T>\nexport type SchedulerFn<T = void> = (cb: ScheduledFn<T>) => void\n\n/**\n * Schedules a function to be called on the next tick after the other promises\n * have been resolved.\n *\n * @param cb the function to schedule\n */\nexport const scheduleOnNextTick = <T = void>(cb: ScheduledFn<T>): void => {\n // We use Promise.resolve().then() here so that the operation is scheduled at\n // the end of the promise job queue, we then add it to the next process tick\n // to ensure it's evaluated afterwards.\n //\n // This was inspired by the implementation of the DataLoader interface: https://github.com/graphql/dataloader/blob/d336bd15282664e0be4b4a657cb796f09bafbc6b/src/index.js#L213-L255\n //\n Promise.resolve().then(() => {\n if (process.env.NEXT_RUNTIME === 'edge') {\n setTimeout(cb, 0)\n } else {\n process.nextTick(cb)\n }\n })\n}\n\n/**\n * Schedules a function to be called using `setImmediate` or `setTimeout` if\n * `setImmediate` is not available (like in the Edge runtime).\n *\n * @param cb the function to schedule\n */\nexport const scheduleImmediate = <T = void>(cb: ScheduledFn<T>): void => {\n if (process.env.NEXT_RUNTIME === 'edge') {\n setTimeout(cb, 0)\n } else {\n setImmediate(cb)\n }\n}\n\n/**\n * returns a promise than resolves in a future task. There is no guarantee that the task it resolves in\n * will be the next task but if you await it you can at least be sure that the current task is over and\n * most usefully that the entire microtask queue of the current task has been emptied.\n */\nexport function atLeastOneTask() {\n return new Promise<void>((resolve) => scheduleImmediate(resolve))\n}\n\n/**\n * This utility function is extracted to make it easier to find places where we are doing\n * specific timing tricks to try to schedule work after React has rendered. This is especially\n * important at the moment because Next.js uses the edge builds of React which use setTimeout to\n * schedule work when you might expect that something like setImmediate would do the trick.\n *\n * Long term we should switch to the node versions of React rendering when possible and then\n * update this to use setImmediate rather than setTimeout\n */\nexport function waitAtLeastOneReactRenderTask(): Promise<void> {\n if (process.env.NEXT_RUNTIME === 'edge') {\n return new Promise((r) => setTimeout(r, 0))\n } else {\n return new Promise((r) => setImmediate(r))\n }\n}\n","/**\n * The functions provided by this module are used to communicate certain properties\n * about the currently running code so that Next.js can make decisions on how to handle\n * the current execution in different rendering modes such as pre-rendering, resuming, and SSR.\n *\n * Today Next.js treats all code as potentially static. Certain APIs may only make sense when dynamically rendering.\n * Traditionally this meant deopting the entire render to dynamic however with PPR we can now deopt parts\n * of a React tree as dynamic while still keeping other parts static. There are really two different kinds of\n * Dynamic indications.\n *\n * The first is simply an intention to be dynamic. unstable_noStore is an example of this where\n * the currently executing code simply declares that the current scope is dynamic but if you use it\n * inside unstable_cache it can still be cached. This type of indication can be removed if we ever\n * make the default dynamic to begin with because the only way you would ever be static is inside\n * a cache scope which this indication does not affect.\n *\n * The second is an indication that a dynamic data source was read. This is a stronger form of dynamic\n * because it means that it is inappropriate to cache this at all. using a dynamic data source inside\n * unstable_cache should error. If you want to use some dynamic data inside unstable_cache you should\n * read that data outside the cache and pass it in as an argument to the cached function.\n */\n\nimport type { WorkStore } from '../app-render/work-async-storage.external'\nimport type {\n WorkUnitStore,\n RequestStore,\n PrerenderStoreLegacy,\n PrerenderStoreModern,\n} from '../app-render/work-unit-async-storage.external'\n\n// Once postpone is in stable we should switch to importing the postpone export directly\nimport React from 'react'\n\nimport { DynamicServerError } from '../../client/components/hooks-server-context'\nimport { StaticGenBailoutError } from '../../client/components/static-generation-bailout'\nimport { workUnitAsyncStorage } from './work-unit-async-storage.external'\nimport { workAsyncStorage } from '../app-render/work-async-storage.external'\nimport { makeHangingPromise } from '../dynamic-rendering-utils'\nimport {\n METADATA_BOUNDARY_NAME,\n VIEWPORT_BOUNDARY_NAME,\n OUTLET_BOUNDARY_NAME,\n} from '../../lib/metadata/metadata-constants'\nimport { scheduleOnNextTick } from '../../lib/scheduler'\n\nconst hasPostpone = typeof React.unstable_postpone === 'function'\n\nexport type DynamicAccess = {\n /**\n * If debugging, this will contain the stack trace of where the dynamic access\n * occurred. This is used to provide more information to the user about why\n * their page is being rendered dynamically.\n */\n stack?: string\n\n /**\n * The expression that was accessed dynamically.\n */\n expression: string\n}\n\n// Stores dynamic reasons used during an RSC render.\nexport type DynamicTrackingState = {\n /**\n * When true, stack information will also be tracked during dynamic access.\n */\n readonly isDebugDynamicAccesses: boolean | undefined\n\n /**\n * The dynamic accesses that occurred during the render.\n */\n readonly dynamicAccesses: Array<DynamicAccess>\n\n syncDynamicExpression: undefined | string\n syncDynamicErrorWithStack: null | Error\n // Dev only\n syncDynamicLogged?: boolean\n}\n\n// Stores dynamic reasons used during an SSR render.\nexport type DynamicValidationState = {\n hasSuspendedDynamic: boolean\n hasDynamicMetadata: boolean\n hasDynamicViewport: boolean\n hasSyncDynamicErrors: boolean\n dynamicErrors: Array<Error>\n}\n\nexport function createDynamicTrackingState(\n isDebugDynamicAccesses: boolean | undefined\n): DynamicTrackingState {\n return {\n isDebugDynamicAccesses,\n dynamicAccesses: [],\n syncDynamicExpression: undefined,\n syncDynamicErrorWithStack: null,\n }\n}\n\nexport function createDynamicValidationState(): DynamicValidationState {\n return {\n hasSuspendedDynamic: false,\n hasDynamicMetadata: false,\n hasDynamicViewport: false,\n hasSyncDynamicErrors: false,\n dynamicErrors: [],\n }\n}\n\nexport function getFirstDynamicReason(\n trackingState: DynamicTrackingState\n): undefined | string {\n return trackingState.dynamicAccesses[0]?.expression\n}\n\n/**\n * This function communicates that the current scope should be treated as dynamic.\n *\n * In most cases this function is a no-op but if called during\n * a PPR prerender it will postpone the current sub-tree and calling\n * it during a normal prerender will cause the entire prerender to abort\n */\nexport function markCurrentScopeAsDynamic(\n store: WorkStore,\n workUnitStore: undefined | Exclude<WorkUnitStore, PrerenderStoreModern>,\n expression: string\n): void {\n if (workUnitStore) {\n if (\n workUnitStore.type === 'cache' ||\n workUnitStore.type === 'unstable-cache'\n ) {\n // inside cache scopes marking a scope as dynamic has no effect because the outer cache scope\n // creates a cache boundary. This is subtly different from reading a dynamic data source which is\n // forbidden inside a cache scope.\n return\n }\n }\n\n // If we're forcing dynamic rendering or we're forcing static rendering, we\n // don't need to do anything here because the entire page is already dynamic\n // or it's static and it should not throw or postpone here.\n if (store.forceDynamic || store.forceStatic) return\n\n if (store.dynamicShouldError) {\n throw new StaticGenBailoutError(\n `Route ${store.route} with \\`dynamic = \"error\"\\` couldn't be rendered statically because it used \\`${expression}\\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`\n )\n }\n\n if (workUnitStore) {\n if (workUnitStore.type === 'prerender-ppr') {\n postponeWithTracking(\n store.route,\n expression,\n workUnitStore.dynamicTracking\n )\n } else if (workUnitStore.type === 'prerender-legacy') {\n workUnitStore.revalidate = 0\n\n // We aren't prerendering but we are generating a static page. We need to bail out of static generation\n const err = new DynamicServerError(\n `Route ${store.route} couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`\n )\n store.dynamicUsageDescription = expression\n store.dynamicUsageStack = err.stack\n\n throw err\n } else if (\n process.env.NODE_ENV === 'development' &&\n workUnitStore &&\n workUnitStore.type === 'request'\n ) {\n workUnitStore.usedDynamic = true\n }\n }\n}\n\n/**\n * This function communicates that some dynamic path parameter was read. This\n * differs from the more general `trackDynamicDataAccessed` in that it is will\n * not error when `dynamic = \"error\"` is set.\n *\n * @param store The static generation store\n * @param expression The expression that was accessed dynamically\n */\nexport function trackFallbackParamAccessed(\n store: WorkStore,\n expression: string\n): void {\n const prerenderStore = workUnitAsyncStorage.getStore()\n if (!prerenderStore || prerenderStore.type !== 'prerender-ppr') return\n\n postponeWithTracking(store.route, expression, prerenderStore.dynamicTracking)\n}\n\n/**\n * This function is meant to be used when prerendering without dynamicIO or PPR.\n * When called during a build it will cause Next.js to consider the route as dynamic.\n *\n * @internal\n */\nexport function throwToInterruptStaticGeneration(\n expression: string,\n store: WorkStore,\n prerenderStore: PrerenderStoreLegacy\n): never {\n // We aren't prerendering but we are generating a static page. We need to bail out of static generation\n const err = new DynamicServerError(\n `Route ${store.route} couldn't be rendered statically because it used \\`${expression}\\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`\n )\n\n prerenderStore.revalidate = 0\n\n store.dynamicUsageDescription = expression\n store.dynamicUsageStack = err.stack\n\n throw err\n}\n\n/**\n * This function should be used to track whether something dynamic happened even when\n * we are in a dynamic render. This is useful for Dev where all renders are dynamic but\n * we still track whether dynamic APIs were accessed for helpful messaging\n *\n * @internal\n */\nexport function trackDynamicDataInDynamicRender(\n _store: WorkStore,\n workUnitStore: void | WorkUnitStore\n) {\n if (workUnitStore) {\n if (\n workUnitStore.type === 'cache' ||\n workUnitStore.type === 'unstable-cache'\n ) {\n // inside cache scopes marking a scope as dynamic has no effect because the outer cache scope\n // creates a cache boundary. This is subtly different from reading a dynamic data source which is\n // forbidden inside a cache scope.\n return\n }\n if (\n workUnitStore.type === 'prerender' ||\n workUnitStore.type === 'prerender-legacy'\n ) {\n workUnitStore.revalidate = 0\n }\n if (\n process.env.NODE_ENV === 'development' &&\n workUnitStore.type === 'request'\n ) {\n workUnitStore.usedDynamic = true\n }\n }\n}\n\n// Despite it's name we don't actually abort unless we have a controller to call abort on\n// There are times when we let a prerender run long to discover caches where we want the semantics\n// of tracking dynamic access without terminating the prerender early\nfunction abortOnSynchronousDynamicDataAccess(\n route: string,\n expression: string,\n prerenderStore: PrerenderStoreModern\n): void {\n const reason = `Route ${route} needs to bail out of prerendering at this point because it used ${expression}.`\n\n const error = createPrerenderInterruptedError(reason)\n\n prerenderStore.controller.abort(error)\n\n const dynamicTracking = prerenderStore.dynamicTracking\n if (dynamicTracking) {\n dynamicTracking.dynamicAccesses.push({\n // When we aren't debugging, we don't need to create another error for the\n // stack trace.\n stack: dynamicTracking.isDebugDynamicAccesses\n ? new Error().stack\n : undefined,\n expression,\n })\n }\n}\n\nexport function abortOnSynchronousPlatformIOAccess(\n route: string,\n expression: string,\n errorWithStack: Error,\n prerenderStore: PrerenderStoreModern\n): void {\n const dynamicTracking = prerenderStore.dynamicTracking\n if (dynamicTracking) {\n if (dynamicTracking.syncDynamicErrorWithStack === null) {\n dynamicTracking.syncDynamicExpression = expression\n dynamicTracking.syncDynamicErrorWithStack = errorWithStack\n }\n }\n abortOnSynchronousDynamicDataAccess(route, expression, prerenderStore)\n}\n\nexport function trackSynchronousPlatformIOAccessInDev(\n requestStore: RequestStore\n): void {\n // We don't actually have a controller to abort but we do the semantic equivalent by\n // advancing the request store out of prerender mode\n requestStore.prerenderPhase = false\n}\n\n/**\n * use this function when prerendering with dynamicIO. If we are doing a\n * prospective prerender we don't actually abort because we want to discover\n * all caches for the shell. If this is the actual prerender we do abort.\n *\n * This function accepts a prerenderStore but the caller should ensure we're\n * actually running in dynamicIO mode.\n *\n * @internal\n */\nexport function abortAndThrowOnSynchronousRequestDataAccess(\n route: string,\n expression: string,\n errorWithStack: Error,\n prerenderStore: PrerenderStoreModern\n): never {\n const prerenderSignal = prerenderStore.controller.signal\n if (prerenderSignal.aborted === false) {\n // TODO it would be better to move this aborted check into the callsite so we can avoid making\n // the error object when it isn't relevant to the aborting of the prerender however\n // since we need the throw semantics regardless of whether we abort it is easier to land\n // this way. See how this was handled with `abortOnSynchronousPlatformIOAccess` for a closer\n // to ideal implementation\n const dynamicTracking = prerenderStore.dynamicTracking\n if (dynamicTracking) {\n if (dynamicTracking.syncDynamicErrorWithStack === null) {\n dynamicTracking.syncDynamicExpression = expression\n dynamicTracking.syncDynamicErrorWithStack = errorWithStack\n if (prerenderStore.validating === true) {\n // We always log Request Access in dev at the point of calling the function\n // So we mark the dynamic validation as not requiring it to be printed\n dynamicTracking.syncDynamicLogged = true\n }\n }\n }\n abortOnSynchronousDynamicDataAccess(route, expression, prerenderStore)\n }\n throw createPrerenderInterruptedError(\n `Route ${route} needs to bail out of prerendering at this point because it used ${expression}.`\n )\n}\n\n// For now these implementations are the same so we just reexport\nexport const trackSynchronousRequestDataAccessInDev =\n trackSynchronousPlatformIOAccessInDev\n\n/**\n * This component will call `React.postpone` that throws the postponed error.\n */\ntype PostponeProps = {\n reason: string\n route: string\n}\nexport function Postpone({ reason, route }: PostponeProps): never {\n const prerenderStore = workUnitAsyncStorage.getStore()\n const dynamicTracking =\n prerenderStore && prerenderStore.type === 'prerender-ppr'\n ? prerenderStore.dynamicTracking\n : null\n postponeWithTracking(route, reason, dynamicTracking)\n}\n\nexport function postponeWithTracking(\n route: string,\n expression: string,\n dynamicTracking: null | DynamicTrackingState\n): never {\n assertPostpone()\n if (dynamicTracking) {\n dynamicTracking.dynamicAccesses.push({\n // When we aren't debugging, we don't need to create another error for the\n // stack trace.\n stack: dynamicTracking.isDebugDynamicAccesses\n ? new Error().stack\n : undefined,\n expression,\n })\n }\n\n React.unstable_postpone(createPostponeReason(route, expression))\n}\n\nfunction createPostponeReason(route: string, expression: string) {\n return (\n `Route ${route} needs to bail out of prerendering at this point because it used ${expression}. ` +\n `React throws this special object to indicate where. It should not be caught by ` +\n `your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`\n )\n}\n\nexport function isDynamicPostpone(err: unknown) {\n if (\n typeof err === 'object' &&\n err !== null &&\n typeof (err as any).message === 'string'\n ) {\n return isDynamicPostponeReason((err as any).message)\n }\n return false\n}\n\nfunction isDynamicPostponeReason(reason: string) {\n return (\n reason.includes(\n 'needs to bail out of prerendering at this point because it used'\n ) &&\n reason.includes(\n 'Learn more: https://nextjs.org/docs/messages/ppr-caught-error'\n )\n )\n}\n\nif (isDynamicPostponeReason(createPostponeReason('%%%', '^^^')) === false) {\n throw new Error(\n 'Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js'\n )\n}\n\nconst NEXT_PRERENDER_INTERRUPTED = 'NEXT_PRERENDER_INTERRUPTED'\n\nfunction createPrerenderInterruptedError(message: string): Error {\n const error = new Error(message)\n ;(error as any).digest = NEXT_PRERENDER_INTERRUPTED\n return error\n}\n\ntype DigestError = Error & {\n digest: string\n}\n\nexport function isPrerenderInterruptedError(\n error: unknown\n): error is DigestError {\n return (\n typeof error === 'object' &&\n error !== null &&\n (error as any).digest === NEXT_PRERENDER_INTERRUPTED &&\n 'name' in error &&\n 'message' in error &&\n error instanceof Error\n )\n}\n\nexport function accessedDynamicData(\n dynamicAccesses: Array<DynamicAccess>\n): boolean {\n return dynamicAccesses.length > 0\n}\n\nexport function consumeDynamicAccess(\n serverDynamic: DynamicTrackingState,\n clientDynamic: DynamicTrackingState\n): DynamicTrackingState['dynamicAccesses'] {\n // We mutate because we only call this once we are no longer writing\n // to the dynamicTrackingState and it's more efficient than creating a new\n // array.\n serverDynamic.dynamicAccesses.push(...clientDynamic.dynamicAccesses)\n return serverDynamic.dynamicAccesses\n}\n\nexport function formatDynamicAPIAccesses(\n dynamicAccesses: Array<DynamicAccess>\n): string[] {\n return dynamicAccesses\n .filter(\n (access): access is Required<DynamicAccess> =>\n typeof access.stack === 'string' && access.stack.length > 0\n )\n .map(({ expression, stack }) => {\n stack = stack\n .split('\\n')\n // Remove the \"Error: \" prefix from the first line of the stack trace as\n // well as the first 4 lines of the stack trace which is the distance\n // from the user code and the `new Error().stack` call.\n .slice(4)\n .filter((line) => {\n // Exclude Next.js internals from the stack trace.\n if (line.includes('node_modules/next/')) {\n return false\n }\n\n // Exclude anonymous functions from the stack trace.\n if (line.includes(' (<anonymous>)')) {\n return false\n }\n\n // Exclude Node.js internals from the stack trace.\n if (line.includes(' (node:')) {\n return false\n }\n\n return true\n })\n .join('\\n')\n return `Dynamic API Usage Debug - ${expression}:\\n${stack}`\n })\n}\n\nfunction assertPostpone() {\n if (!hasPostpone) {\n throw new Error(\n `Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js`\n )\n }\n}\n\n/**\n * This is a bit of a hack to allow us to abort a render using a Postpone instance instead of an Error which changes React's\n * abort semantics slightly.\n */\nexport function createPostponedAbortSignal(reason: string): AbortSignal {\n assertPostpone()\n const controller = new AbortController()\n // We get our hands on a postpone instance by calling postpone and catching the throw\n try {\n React.unstable_postpone(reason)\n } catch (x: unknown) {\n controller.abort(x)\n }\n return controller.signal\n}\n\n/**\n * In a prerender, we may end up with hanging Promises as inputs due them\n * stalling on connection() or because they're loading dynamic data. In that\n * case we need to abort the encoding of arguments since they'll never complete.\n */\nexport function createHangingInputAbortSignal(\n workUnitStore: PrerenderStoreModern\n): AbortSignal {\n const controller = new AbortController()\n\n if (workUnitStore.cacheSignal) {\n // If we have a cacheSignal it means we're in a prospective render. If the input\n // we're waiting on is coming from another cache, we do want to wait for it so that\n // we can resolve this cache entry too.\n workUnitStore.cacheSignal.inputReady().then(() => {\n controller.abort()\n })\n } else {\n // Otherwise we're in the final render and we should already have all our caches\n // filled. We might still be waiting on some microtasks so we wait one tick before\n // giving up. When we give up, we still want to render the content of this cache\n // as deeply as we can so that we can suspend as deeply as possible in the tree\n // or not at all if we don't end up waiting for the input.\n scheduleOnNextTick(() => controller.abort())\n }\n\n return controller.signal\n}\n\nexport function annotateDynamicAccess(\n expression: string,\n prerenderStore: PrerenderStoreModern\n) {\n const dynamicTracking = prerenderStore.dynamicTracking\n if (dynamicTracking) {\n dynamicTracking.dynamicAccesses.push({\n stack: dynamicTracking.isDebugDynamicAccesses\n ? new Error().stack\n : undefined,\n expression,\n })\n }\n}\n\nexport function useDynamicRouteParams(expression: string) {\n const workStore = workAsyncStorage.getStore()\n\n if (\n workStore &&\n workStore.isStaticGeneration &&\n workStore.fallbackRouteParams &&\n workStore.fallbackRouteParams.size > 0\n ) {\n // There are fallback route params, we should track these as dynamic\n // accesses.\n const workUnitStore = workUnitAsyncStorage.getStore()\n if (workUnitStore) {\n // We're prerendering with dynamicIO or PPR or both\n if (workUnitStore.type === 'prerender') {\n // We are in a prerender with dynamicIO semantics\n // We are going to hang here and never resolve. This will cause the currently\n // rendering component to effectively be a dynamic hole\n React.use(makeHangingPromise(workUnitStore.renderSignal, expression))\n } else if (workUnitStore.type === 'prerender-ppr') {\n // We're prerendering with PPR\n postponeWithTracking(\n workStore.route,\n expression,\n workUnitStore.dynamicTracking\n )\n } else if (workUnitStore.type === 'prerender-legacy') {\n throwToInterruptStaticGeneration(expression, workStore, workUnitStore)\n }\n }\n }\n}\n\nconst hasSuspenseRegex = /\\n\\s+at Suspense \\(<anonymous>\\)/\nconst hasMetadataRegex = new RegExp(\n `\\\\n\\\\s+at ${METADATA_BOUNDARY_NAME}[\\\\n\\\\s]`\n)\nconst hasViewportRegex = new RegExp(\n `\\\\n\\\\s+at ${VIEWPORT_BOUNDARY_NAME}[\\\\n\\\\s]`\n)\nconst hasOutletRegex = new RegExp(`\\\\n\\\\s+at ${OUTLET_BOUNDARY_NAME}[\\\\n\\\\s]`)\n\nexport function trackAllowedDynamicAccess(\n route: string,\n componentStack: string,\n dynamicValidation: DynamicValidationState,\n serverDynamic: DynamicTrackingState,\n clientDynamic: DynamicTrackingState\n) {\n if (hasOutletRegex.test(componentStack)) {\n // We don't need to track that this is dynamic. It is only so when something else is also dynamic.\n return\n } else if (hasMetadataRegex.test(componentStack)) {\n dynamicValidation.hasDynamicMetadata = true\n return\n } else if (hasViewportRegex.test(componentStack)) {\n dynamicValidation.hasDynamicViewport = true\n return\n } else if (hasSuspenseRegex.test(componentStack)) {\n dynamicValidation.hasSuspendedDynamic = true\n return\n } else if (\n serverDynamic.syncDynamicErrorWithStack ||\n clientDynamic.syncDynamicErrorWithStack\n ) {\n dynamicValidation.hasSyncDynamicErrors = true\n return\n } else {\n const message = `Route \"${route}\": A component accessed data, headers, params, searchParams, or a short-lived cache without a Suspense boundary nor a \"use cache\" above it. We don't have the exact line number added to error messages yet but you can see which component in the stack below. See more info: https://nextjs.org/docs/messages/next-prerender-missing-suspense`\n const error = createErrorWithComponentStack(message, componentStack)\n dynamicValidation.dynamicErrors.push(error)\n return\n }\n}\n\nfunction createErrorWithComponentStack(\n message: string,\n componentStack: string\n) {\n const error = new Error(message)\n error.stack = 'Error: ' + message + componentStack\n return error\n}\n\nexport function throwIfDisallowedDynamic(\n route: string,\n dynamicValidation: DynamicValidationState,\n serverDynamic: DynamicTrackingState,\n clientDynamic: DynamicTrackingState\n): void {\n let syncError: null | Error\n let syncExpression: undefined | string\n let syncLogged: boolean\n if (serverDynamic.syncDynamicErrorWithStack) {\n syncError = serverDynamic.syncDynamicErrorWithStack\n syncExpression = serverDynamic.syncDynamicExpression!\n syncLogged = serverDynamic.syncDynamicLogged === true\n } else if (clientDynamic.syncDynamicErrorWithStack) {\n syncError = clientDynamic.syncDynamicErrorWithStack\n syncExpression = clientDynamic.syncDynamicExpression!\n syncLogged = clientDynamic.syncDynamicLogged === true\n } else {\n syncError = null\n syncExpression = undefined\n syncLogged = false\n }\n\n if (dynamicValidation.hasSyncDynamicErrors && syncError) {\n if (!syncLogged) {\n // In dev we already log errors about sync dynamic access. But during builds we need to ensure\n // the offending sync error is logged before we exit the build\n console.error(syncError)\n }\n // The actual error should have been logged when the sync access ocurred\n throw new StaticGenBailoutError()\n }\n\n const dynamicErrors = dynamicValidation.dynamicErrors\n if (dynamicErrors.length) {\n for (let i = 0; i < dynamicErrors.length; i++) {\n console.error(dynamicErrors[i])\n }\n\n throw new StaticGenBailoutError()\n }\n\n if (!dynamicValidation.hasSuspendedDynamic) {\n if (dynamicValidation.hasDynamicMetadata) {\n if (syncError) {\n console.error(syncError)\n throw new StaticGenBailoutError(\n `Route \"${route}\" has a \\`generateMetadata\\` that could not finish rendering before ${syncExpression} was used. Follow the instructions in the error for this expression to resolve.`\n )\n }\n throw new StaticGenBailoutError(\n `Route \"${route}\" has a \\`generateMetadata\\` that depends on Request data (\\`cookies()\\`, etc...) or external data (\\`fetch(...)\\`, etc...) but the rest of the route was static or only used cached data (\\`\"use cache\"\\`). If you expected this route to be prerenderable update your \\`generateMetadata\\` to not use Request data and only use cached external data. Otherwise, add \\`await connection()\\` somewhere within this route to indicate explicitly it should not be prerendered.`\n )\n } else if (dynamicValidation.hasDynamicViewport) {\n if (syncError) {\n console.error(syncError)\n throw new StaticGenBailoutError(\n `Route \"${route}\" has a \\`generateViewport\\` that could not finish rendering before ${syncExpression} was used. Follow the instructions in the error for this expression to resolve.`\n )\n }\n throw new StaticGenBailoutError(\n `Route \"${route}\" has a \\`generateViewport\\` that depends on Request data (\\`cookies()\\`, etc...) or external data (\\`fetch(...)\\`, etc...) but the rest of the route was static or only used cached data (\\`\"use cache\"\\`). If you expected this route to be prerenderable update your \\`generateViewport\\` to not use Request data and only use cached external data. Otherwise, add \\`await connection()\\` somewhere within this route to indicate explicitly it should not be prerendered.`\n )\n }\n }\n}\n","import { isHangingPromiseRejectionError } from '../../server/dynamic-rendering-utils'\nimport { isPostpone } from '../../server/lib/router-utils/is-postpone'\nimport { isBailoutToCSRError } from '../../shared/lib/lazy-dynamic/bailout-to-csr'\nimport { isNextRouterError } from './is-next-router-error'\nimport { isDynamicPostpone } from '../../server/app-render/dynamic-rendering'\nimport { isDynamicServerError } from './hooks-server-context'\n\nexport function unstable_rethrow(error: unknown): void {\n if (\n isNextRouterError(error) ||\n isBailoutToCSRError(error) ||\n isDynamicServerError(error) ||\n isDynamicPostpone(error) ||\n isPostpone(error) ||\n isHangingPromiseRejectionError(error)\n ) {\n throw error\n }\n\n if (error instanceof Error && 'cause' in error) {\n unstable_rethrow(error.cause)\n }\n}\n","/**\n * This function should be used to rethrow internal Next.js errors so that they can be handled by the framework.\n * When wrapping an API that uses errors to interrupt control flow, you should use this function before you do any error handling.\n * This function will rethrow the error if it is a Next.js error so it can be handled, otherwise it will do nothing.\n *\n * Read more: [Next.js Docs: `unstable_rethrow`](https://nextjs.org/docs/app/api-reference/functions/unstable_rethrow)\n */\nexport const unstable_rethrow =\n typeof window === 'undefined'\n ? (\n require('./unstable-rethrow.server') as typeof import('./unstable-rethrow.server')\n ).unstable_rethrow\n : (\n require('./unstable-rethrow.browser') as typeof import('./unstable-rethrow.browser')\n ).unstable_rethrow\n","/** @internal */\nclass ReadonlyURLSearchParamsError extends Error {\n constructor() {\n super(\n 'Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams'\n )\n }\n}\n\nclass ReadonlyURLSearchParams extends URLSearchParams {\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */\n append() {\n throw new ReadonlyURLSearchParamsError()\n }\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */\n delete() {\n throw new ReadonlyURLSearchParamsError()\n }\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */\n set() {\n throw new ReadonlyURLSearchParamsError()\n }\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */\n sort() {\n throw new ReadonlyURLSearchParamsError()\n }\n}\n\nexport { redirect, permanentRedirect } from './redirect'\nexport { RedirectType } from './redirect-error'\nexport { notFound } from './not-found'\nexport { forbidden } from './forbidden'\nexport { unauthorized } from './unauthorized'\nexport { unstable_rethrow } from './unstable-rethrow'\nexport { ReadonlyURLSearchParams }\n","'use client'\n\nimport React, { useContext } from 'react'\n\nexport type ServerInsertedHTMLHook = (callbacks: () => React.ReactNode) => void\n\n// Use `React.createContext` to avoid errors from the RSC checks because\n// it can't be imported directly in Server Components:\n//\n// import { createContext } from 'react'\n//\n// More info: https://github.com/vercel/next.js/pull/40686\nexport const ServerInsertedHTMLContext =\n React.createContext<ServerInsertedHTMLHook | null>(null as any)\n\nexport function useServerInsertedHTML(callback: () => React.ReactNode): void {\n const addInsertedServerHTMLCallback = useContext(ServerInsertedHTMLContext)\n // Should have no effects on client where there's no flush effects provider\n if (addInsertedServerHTMLCallback) {\n addInsertedServerHTMLCallback(callback)\n }\n}\n","import { BailoutToCSRError } from '../../shared/lib/lazy-dynamic/bailout-to-csr'\nimport { workAsyncStorage } from '../../server/app-render/work-async-storage.external'\n\nexport function bailoutToClientRendering(reason: string): void | never {\n const workStore = workAsyncStorage.getStore()\n\n if (workStore?.forceStatic) return\n\n if (workStore?.isStaticGeneration) throw new BailoutToCSRError(reason)\n}\n","import type { FlightRouterState } from '../../server/app-render/types'\nimport type { Params } from '../../server/request/params'\n\nimport { useContext, useMemo } from 'react'\nimport {\n AppRouterContext,\n LayoutRouterContext,\n type AppRouterInstance,\n} from '../../shared/lib/app-router-context.shared-runtime'\nimport {\n SearchParamsContext,\n PathnameContext,\n PathParamsContext,\n} from '../../shared/lib/hooks-client-context.shared-runtime'\nimport { getSegmentValue } from './router-reducer/reducers/get-segment-value'\nimport { PAGE_SEGMENT_KEY, DEFAULT_SEGMENT_KEY } from '../../shared/lib/segment'\nimport { ReadonlyURLSearchParams } from './navigation.react-server'\n\nconst useDynamicRouteParams =\n typeof window === 'undefined'\n ? (\n require('../../server/app-render/dynamic-rendering') as typeof import('../../server/app-render/dynamic-rendering')\n ).useDynamicRouteParams\n : undefined\n\n/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you *read* the current URL's search parameters.\n *\n * Learn more about [`URLSearchParams` on MDN](https://developer.mozilla.org/docs/Web/API/URLSearchParams)\n *\n * @example\n * ```ts\n * \"use client\"\n * import { useSearchParams } from 'next/navigation'\n *\n * export default function Page() {\n * const searchParams = useSearchParams()\n * searchParams.get('foo') // returns 'bar' when ?foo=bar\n * // ...\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useSearchParams`](https://nextjs.org/docs/app/api-reference/functions/use-search-params)\n */\n// Client components API\nexport function useSearchParams(): ReadonlyURLSearchParams {\n const searchParams = useContext(SearchParamsContext)\n\n // In the case where this is `null`, the compat types added in\n // `next-env.d.ts` will add a new overload that changes the return type to\n // include `null`.\n const readonlySearchParams = useMemo(() => {\n if (!searchParams) {\n // When the router is not ready in pages, we won't have the search params\n // available.\n return null\n }\n\n return new ReadonlyURLSearchParams(searchParams)\n }, [searchParams]) as ReadonlyURLSearchParams\n\n if (typeof window === 'undefined') {\n // AsyncLocalStorage should not be included in the client bundle.\n const { bailoutToClientRendering } =\n require('./bailout-to-client-rendering') as typeof import('./bailout-to-client-rendering')\n // TODO-APP: handle dynamic = 'force-static' here and on the client\n bailoutToClientRendering('useSearchParams()')\n }\n\n return readonlySearchParams\n}\n\n/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you read the current URL's pathname.\n *\n * @example\n * ```ts\n * \"use client\"\n * import { usePathname } from 'next/navigation'\n *\n * export default function Page() {\n * const pathname = usePathname() // returns \"/dashboard\" on /dashboard?foo=bar\n * // ...\n * }\n * ```\n *\n * Read more: [Next.js Docs: `usePathname`](https://nextjs.org/docs/app/api-reference/functions/use-pathname)\n */\n// Client components API\nexport function usePathname(): string {\n useDynamicRouteParams?.('usePathname()')\n\n // In the case where this is `null`, the compat types added in `next-env.d.ts`\n // will add a new overload that changes the return type to include `null`.\n return useContext(PathnameContext) as string\n}\n\n// Client components API\nexport {\n ServerInsertedHTMLContext,\n useServerInsertedHTML,\n} from '../../shared/lib/server-inserted-html.shared-runtime'\n\n/**\n *\n * This hook allows you to programmatically change routes inside [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components).\n *\n * @example\n * ```ts\n * \"use client\"\n * import { useRouter } from 'next/navigation'\n *\n * export default function Page() {\n * const router = useRouter()\n * // ...\n * router.push('/dashboard') // Navigate to /dashboard\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useRouter`](https://nextjs.org/docs/app/api-reference/functions/use-router)\n */\n// Client components API\nexport function useRouter(): AppRouterInstance {\n const router = useContext(AppRouterContext)\n if (router === null) {\n throw new Error('invariant expected app router to be mounted')\n }\n\n return router\n}\n\n/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you read a route's dynamic params filled in by the current URL.\n *\n * @example\n * ```ts\n * \"use client\"\n * import { useParams } from 'next/navigation'\n *\n * export default function Page() {\n * // on /dashboard/[team] where pathname is /dashboard/nextjs\n * const { team } = useParams() // team === \"nextjs\"\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useParams`](https://nextjs.org/docs/app/api-reference/functions/use-params)\n */\n// Client components API\nexport function useParams<T extends Params = Params>(): T {\n useDynamicRouteParams?.('useParams()')\n\n return useContext(PathParamsContext) as T\n}\n\n/** Get the canonical parameters from the current level to the leaf node. */\n// Client components API\nfunction getSelectedLayoutSegmentPath(\n tree: FlightRouterState,\n parallelRouteKey: string,\n first = true,\n segmentPath: string[] = []\n): string[] {\n let node: FlightRouterState\n if (first) {\n // Use the provided parallel route key on the first parallel route\n node = tree[1][parallelRouteKey]\n } else {\n // After first parallel route prefer children, if there's no children pick the first parallel route.\n const parallelRoutes = tree[1]\n node = parallelRoutes.children ?? Object.values(parallelRoutes)[0]\n }\n\n if (!node) return segmentPath\n const segment = node[0]\n\n let segmentValue = getSegmentValue(segment)\n\n if (!segmentValue || segmentValue.startsWith(PAGE_SEGMENT_KEY)) {\n return segmentPath\n }\n\n segmentPath.push(segmentValue)\n\n return getSelectedLayoutSegmentPath(\n node,\n parallelRouteKey,\n false,\n segmentPath\n )\n}\n\n/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you read the active route segments **below** the Layout it is called from.\n *\n * @example\n * ```ts\n * 'use client'\n *\n * import { useSelectedLayoutSegments } from 'next/navigation'\n *\n * export default function ExampleClientComponent() {\n * const segments = useSelectedLayoutSegments()\n *\n * return (\n * <ul>\n * {segments.map((segment, index) => (\n * <li key={index}>{segment}</li>\n * ))}\n * </ul>\n * )\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useSelectedLayoutSegments`](https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segments)\n */\n// Client components API\nexport function useSelectedLayoutSegments(\n parallelRouteKey: string = 'children'\n): string[] {\n useDynamicRouteParams?.('useSelectedLayoutSegments()')\n\n const context = useContext(LayoutRouterContext)\n // @ts-expect-error This only happens in `pages`. Type is overwritten in navigation.d.ts\n if (!context) return null\n\n return getSelectedLayoutSegmentPath(context.parentTree, parallelRouteKey)\n}\n\n/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you read the active route segment **one level below** the Layout it is called from.\n *\n * @example\n * ```ts\n * 'use client'\n * import { useSelectedLayoutSegment } from 'next/navigation'\n *\n * export default function ExampleClientComponent() {\n * const segment = useSelectedLayoutSegment()\n *\n * return <p>Active segment: {segment}</p>\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useSelectedLayoutSegment`](https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segment)\n */\n// Client components API\nexport function useSelectedLayoutSegment(\n parallelRouteKey: string = 'children'\n): string | null {\n useDynamicRouteParams?.('useSelectedLayoutSegment()')\n\n const selectedLayoutSegments = useSelectedLayoutSegments(parallelRouteKey)\n\n if (!selectedLayoutSegments || selectedLayoutSegments.length === 0) {\n return null\n }\n\n const selectedLayoutSegment =\n parallelRouteKey === 'children'\n ? selectedLayoutSegments[0]\n : selectedLayoutSegments[selectedLayoutSegments.length - 1]\n\n // if the default slot is showing, we return null since it's not technically \"selected\" (it's a fallback)\n // and returning an internal value like `__DEFAULT__` would be confusing.\n return selectedLayoutSegment === DEFAULT_SEGMENT_KEY\n ? null\n : selectedLayoutSegment\n}\n\n// Shared components APIs\nexport {\n notFound,\n forbidden,\n unauthorized,\n redirect,\n permanentRedirect,\n RedirectType,\n ReadonlyURLSearchParams,\n unstable_rethrow,\n} from './navigation.react-server'\n"],"names":["global","module","exports","process","env","require","HTTPAccessErrorStatus","HTTP_ERROR_FALLBACK_ERROR_CODE","getAccessFallbackErrorTypeByStatus","getAccessFallbackHTTPStatus","isHTTPAccessFallbackError","NOT_FOUND","FORBIDDEN","UNAUTHORIZED","ALLOWED_CODES","Set","Object","values","error","digest","prefix","httpStatus","split","has","Number","status","RedirectStatusCode","REDIRECT_ERROR_CODE","RedirectType","isRedirectError","errorCode","type","destination","slice","join","at","statusCode","isNaN","isNextRouterError","BailoutToCSRError","isBailoutToCSRError","BAILOUT_TO_CSR","Error","constructor","reason","err","NODE_ENV","PathParamsContext","PathnameContext","SearchParamsContext","createContext","bindSnapshot","createAsyncLocalStorage","createSnapshot","sharedAsyncLocalStorageNotAvailableError","FakeAsyncLocalStorage","disable","getStore","undefined","run","exit","enterWith","bind","fn","maybeGlobalAsyncLocalStorage","globalThis","AsyncLocalStorage","snapshot","args","workAsyncStorageInstance","workAsyncStorage","ACTION_HEADER","FLIGHT_HEADERS","NEXT_DID_POSTPONE_HEADER","NEXT_HMR_REFRESH_HASH_COOKIE","NEXT_HMR_REFRESH_HEADER","NEXT_IS_PRERENDER_HEADER","NEXT_REWRITTEN_PATH_HEADER","NEXT_REWRITTEN_QUERY_HEADER","NEXT_ROUTER_PREFETCH_HEADER","NEXT_ROUTER_SEGMENT_PREFETCH_HEADER","NEXT_ROUTER_STALE_TIME_HEADER","NEXT_ROUTER_STATE_TREE_HEADER","NEXT_RSC_UNION_QUERY","NEXT_URL","RSC_CONTENT_TYPE_HEADER","RSC_HEADER","DEFAULT_SEGMENT_KEY","PAGE_SEGMENT_KEY","addSearchParamsIfPageSegment","isGroupSegment","isParallelRouteSegment","segment","endsWith","startsWith","searchParams","isPageSegment","includes","stringifiedQuery","JSON","stringify","AppRouterContext","GlobalLayoutRouterContext","LayoutRouterContext","MissingSlotContext","TemplateContext","React","getSegmentValue","Array","isArray","actionAsyncStorageInstance","actionAsyncStorage","getRedirectError","getRedirectStatusCodeFromError","getRedirectTypeFromError","getURLFromRedirectError","permanentRedirect","redirect","window","url","TemporaryRedirect","isAction","push","replace","PermanentRedirect","notFound","DIGEST","__NEXT_EXPERIMENTAL_AUTH_INTERRUPTS","forbidden","unauthorized","unstable_rethrow","cause","isHangingPromiseRejectionError","makeHangingPromise","HANGING_PROMISE_REJECTION","HangingPromiseRejectionError","expression","abortListenersBySignal","WeakMap","signal","aborted","Promise","reject","hangingPromise","_","boundRejection","currentListeners","get","listeners","set","addEventListener","i","length","once","catch","ignoreReject","isPostpone","REACT_POSTPONE_TYPE","Symbol","for","$$typeof","DynamicServerError","isDynamicServerError","DYNAMIC_ERROR_CODE","description","StaticGenBailoutError","isStaticGenBailoutError","NEXT_STATIC_GEN_BAILOUT","code","workUnitAsyncStorageInstance","getDraftModeProviderForCacheScope","getExpectedRequestStore","getHmrRefreshHash","getPrerenderResumeDataCache","getRenderResumeDataCache","throwForMissingRequestStore","workUnitAsyncStorage","callingExpression","workUnitStore","_exhaustiveCheck","prerenderResumeDataCache","renderResumeDataCache","workStore","dev","hmrRefreshHash","cookies","value","isDraftMode","draftMode","METADATA_BOUNDARY_NAME","OUTLET_BOUNDARY_NAME","VIEWPORT_BOUNDARY_NAME","NEXT_RUNTIME","atLeastOneTask","scheduleImmediate","scheduleOnNextTick","waitAtLeastOneReactRenderTask","cb","resolve","then","nextTick","setImmediate","r","Postpone","abortAndThrowOnSynchronousRequestDataAccess","abortOnSynchronousPlatformIOAccess","accessedDynamicData","annotateDynamicAccess","consumeDynamicAccess","createDynamicTrackingState","createDynamicValidationState","createHangingInputAbortSignal","createPostponedAbortSignal","formatDynamicAPIAccesses","getFirstDynamicReason","isDynamicPostpone","isPrerenderInterruptedError","markCurrentScopeAsDynamic","postponeWithTracking","throwIfDisallowedDynamic","throwToInterruptStaticGeneration","trackAllowedDynamicAccess","trackDynamicDataInDynamicRender","trackFallbackParamAccessed","trackSynchronousPlatformIOAccessInDev","trackSynchronousRequestDataAccessInDev","useDynamicRouteParams","hasPostpone","unstable_postpone","isDebugDynamicAccesses","dynamicAccesses","syncDynamicExpression","syncDynamicErrorWithStack","hasSuspendedDynamic","hasDynamicMetadata","hasDynamicViewport","hasSyncDynamicErrors","dynamicErrors","trackingState","store","forceDynamic","forceStatic","dynamicShouldError","route","dynamicTracking","revalidate","dynamicUsageDescription","dynamicUsageStack","stack","prerenderStore","_store","abortOnSynchronousDynamicDataAccess","createPrerenderInterruptedError","controller","abort","errorWithStack","requestStore","prerenderPhase","prerenderSignal","validating","syncDynamicLogged","assertPostpone","createPostponeReason","message","isDynamicPostponeReason","NEXT_PRERENDER_INTERRUPTED","serverDynamic","clientDynamic","filter","access","map","line","AbortController","x","cacheSignal","inputReady","isStaticGeneration","fallbackRouteParams","size","use","renderSignal","hasSuspenseRegex","hasMetadataRegex","RegExp","hasViewportRegex","hasOutletRegex","componentStack","dynamicValidation","test","createErrorWithComponentStack","syncError","syncExpression","syncLogged","console","ReadonlyURLSearchParams","ReadonlyURLSearchParamsError","URLSearchParams","append","delete","sort","ServerInsertedHTMLContext","useServerInsertedHTML","callback","addInsertedServerHTMLCallback","useContext","bailoutToClientRendering","useParams","usePathname","useRouter","useSearchParams","useSelectedLayoutSegment","useSelectedLayoutSegments","readonlySearchParams","useMemo","router","getSelectedLayoutSegmentPath","tree","parallelRouteKey","first","segmentPath","node","parallelRoutes","children","segmentValue","context","parentTree","selectedLayoutSegments","selectedLayoutSegment"],"mappings":"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","ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44]}