prime-dev-cli 1.0.17 → 1.0.19

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 (321) hide show
  1. package/bin/cli.mjs +6 -1
  2. package/dist/server/.next/BUILD_ID +1 -1
  3. package/dist/server/.next/app-build-manifest.json +20 -24
  4. package/dist/server/.next/app-path-routes-manifest.json +4 -0
  5. package/dist/server/.next/build-manifest.json +9 -10
  6. package/dist/server/.next/cache/.rscinfo +1 -1
  7. package/dist/server/.next/cache/.tsbuildinfo +1 -1
  8. package/dist/server/.next/cache/eslint/.cache_1qa5vxt +1 -1
  9. package/dist/server/.next/fallback-build-manifest.json +6 -6
  10. package/dist/server/.next/next-minimal-server.js.nft.json +1 -1
  11. package/dist/server/.next/next-server.js.nft.json +1 -1
  12. package/dist/server/.next/prerender-manifest.json +9 -9
  13. package/dist/server/.next/required-server-files.json +1 -0
  14. package/dist/server/.next/server/app/_not-found/page/app-build-manifest.json +4 -5
  15. package/dist/server/.next/server/app/_not-found/page/build-manifest.json +3 -4
  16. package/dist/server/.next/server/app/_not-found/page.js +1 -1
  17. package/dist/server/.next/server/app/_not-found/page.js.nft.json +1 -1
  18. package/dist/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/dist/server/.next/server/app/_not-found.html +1 -1
  20. package/dist/server/.next/server/app/_not-found.rsc +2 -2
  21. package/dist/server/.next/server/app/api/admin-status/route/app-build-manifest.json +10 -0
  22. package/dist/server/.next/server/app/api/admin-status/route/app-paths-manifest.json +3 -0
  23. package/dist/server/.next/server/app/api/admin-status/route/build-manifest.json +16 -0
  24. package/dist/server/.next/server/app/api/admin-status/route/next-font-manifest.json +6 -0
  25. package/dist/server/.next/server/app/api/admin-status/route/react-loadable-manifest.json +1 -0
  26. package/dist/server/.next/server/app/api/admin-status/route/server-reference-manifest.json +4 -0
  27. package/dist/server/.next/server/app/api/admin-status/route.js +8 -0
  28. package/dist/server/.next/server/app/api/admin-status/route.js.map +5 -0
  29. package/dist/server/.next/server/app/api/admin-status/route.js.nft.json +1 -0
  30. package/dist/server/.next/server/app/api/admin-status/route_client-reference-manifest.js +2 -0
  31. package/dist/server/.next/server/app/api/all-projects-envs/route/app-build-manifest.json +3 -4
  32. package/dist/server/.next/server/app/api/all-projects-envs/route/build-manifest.json +3 -4
  33. package/dist/server/.next/server/app/api/all-projects-envs/route.js +1 -1
  34. package/dist/server/.next/server/app/api/all-projects-envs/route.js.nft.json +1 -1
  35. package/dist/server/.next/server/app/api/check-mock-intercept/route/app-build-manifest.json +3 -4
  36. package/dist/server/.next/server/app/api/check-mock-intercept/route/build-manifest.json +3 -4
  37. package/dist/server/.next/server/app/api/check-mock-intercept/route.js +1 -1
  38. package/dist/server/.next/server/app/api/check-mock-intercept/route.js.nft.json +1 -1
  39. package/dist/server/.next/server/app/api/check-workspace/route/app-build-manifest.json +3 -4
  40. package/dist/server/.next/server/app/api/check-workspace/route/build-manifest.json +3 -4
  41. package/dist/server/.next/server/app/api/check-workspace/route.js +1 -1
  42. package/dist/server/.next/server/app/api/check-workspace/route.js.nft.json +1 -1
  43. package/dist/server/.next/server/app/api/cleanup-mock/route/app-build-manifest.json +3 -4
  44. package/dist/server/.next/server/app/api/cleanup-mock/route/build-manifest.json +3 -4
  45. package/dist/server/.next/server/app/api/cleanup-mock/route.js +1 -1
  46. package/dist/server/.next/server/app/api/cleanup-mock/route.js.nft.json +1 -1
  47. package/dist/server/.next/server/app/api/cleanup-project/route/app-build-manifest.json +3 -4
  48. package/dist/server/.next/server/app/api/cleanup-project/route/build-manifest.json +3 -4
  49. package/dist/server/.next/server/app/api/cleanup-project/route.js +1 -1
  50. package/dist/server/.next/server/app/api/cleanup-project/route.js.nft.json +1 -1
  51. package/dist/server/.next/server/app/api/current-branch/route/app-build-manifest.json +3 -4
  52. package/dist/server/.next/server/app/api/current-branch/route/build-manifest.json +3 -4
  53. package/dist/server/.next/server/app/api/current-branch/route.js +1 -1
  54. package/dist/server/.next/server/app/api/current-branch/route.js.nft.json +1 -1
  55. package/dist/server/.next/server/app/api/delete-mock-api/route/app-build-manifest.json +3 -4
  56. package/dist/server/.next/server/app/api/delete-mock-api/route/build-manifest.json +3 -4
  57. package/dist/server/.next/server/app/api/delete-mock-api/route.js +1 -1
  58. package/dist/server/.next/server/app/api/delete-mock-api/route.js.nft.json +1 -1
  59. package/dist/server/.next/server/app/api/get-mock-data/route/app-build-manifest.json +3 -4
  60. package/dist/server/.next/server/app/api/get-mock-data/route/build-manifest.json +3 -4
  61. package/dist/server/.next/server/app/api/get-mock-data/route.js +1 -1
  62. package/dist/server/.next/server/app/api/get-mock-data/route.js.nft.json +1 -1
  63. package/dist/server/.next/server/app/api/initialize-workspace/route/app-build-manifest.json +3 -4
  64. package/dist/server/.next/server/app/api/initialize-workspace/route/build-manifest.json +3 -4
  65. package/dist/server/.next/server/app/api/initialize-workspace/route.js +1 -1
  66. package/dist/server/.next/server/app/api/initialize-workspace/route.js.nft.json +1 -1
  67. package/dist/server/.next/server/app/api/memory-status/route/app-build-manifest.json +3 -4
  68. package/dist/server/.next/server/app/api/memory-status/route/build-manifest.json +3 -4
  69. package/dist/server/.next/server/app/api/memory-status/route.js +1 -1
  70. package/dist/server/.next/server/app/api/memory-status/route.js.nft.json +1 -1
  71. package/dist/server/.next/server/app/api/microapp-proxy-change-stream/route/app-build-manifest.json +3 -4
  72. package/dist/server/.next/server/app/api/microapp-proxy-change-stream/route/build-manifest.json +3 -4
  73. package/dist/server/.next/server/app/api/microapp-proxy-change-stream/route.js +1 -1
  74. package/dist/server/.next/server/app/api/microapp-proxy-change-stream/route.js.nft.json +1 -1
  75. package/dist/server/.next/server/app/api/microapp-proxy-config/route/app-build-manifest.json +3 -4
  76. package/dist/server/.next/server/app/api/microapp-proxy-config/route/build-manifest.json +3 -4
  77. package/dist/server/.next/server/app/api/microapp-proxy-config/route.js +1 -1
  78. package/dist/server/.next/server/app/api/microapp-proxy-config/route.js.nft.json +1 -1
  79. package/dist/server/.next/server/app/api/mock-file/route/app-build-manifest.json +3 -4
  80. package/dist/server/.next/server/app/api/mock-file/route/build-manifest.json +3 -4
  81. package/dist/server/.next/server/app/api/mock-file/route.js +1 -1
  82. package/dist/server/.next/server/app/api/mock-file/route.js.nft.json +1 -1
  83. package/dist/server/.next/server/app/api/mock-file-content/route/app-build-manifest.json +3 -4
  84. package/dist/server/.next/server/app/api/mock-file-content/route/build-manifest.json +3 -4
  85. package/dist/server/.next/server/app/api/mock-file-content/route.js +1 -1
  86. package/dist/server/.next/server/app/api/mock-file-content/route.js.nft.json +1 -1
  87. package/dist/server/.next/server/app/api/mock-open-status/route/app-build-manifest.json +3 -4
  88. package/dist/server/.next/server/app/api/mock-open-status/route/build-manifest.json +3 -4
  89. package/dist/server/.next/server/app/api/mock-open-status/route.js +1 -1
  90. package/dist/server/.next/server/app/api/mock-open-status/route.js.nft.json +1 -1
  91. package/dist/server/.next/server/app/api/mock-setting/route/app-build-manifest.json +3 -4
  92. package/dist/server/.next/server/app/api/mock-setting/route/build-manifest.json +3 -4
  93. package/dist/server/.next/server/app/api/mock-setting/route.js +1 -1
  94. package/dist/server/.next/server/app/api/mock-setting/route.js.nft.json +1 -1
  95. package/dist/server/.next/server/app/api/open-all-mock/route/app-build-manifest.json +3 -4
  96. package/dist/server/.next/server/app/api/open-all-mock/route/build-manifest.json +3 -4
  97. package/dist/server/.next/server/app/api/open-all-mock/route.js +1 -1
  98. package/dist/server/.next/server/app/api/open-all-mock/route.js.nft.json +1 -1
  99. package/dist/server/.next/server/app/api/open-project/route/app-build-manifest.json +3 -4
  100. package/dist/server/.next/server/app/api/open-project/route/build-manifest.json +3 -4
  101. package/dist/server/.next/server/app/api/open-project/route.js +1 -1
  102. package/dist/server/.next/server/app/api/open-project/route.js.nft.json +1 -1
  103. package/dist/server/.next/server/app/api/process/logs/route/app-build-manifest.json +3 -4
  104. package/dist/server/.next/server/app/api/process/logs/route/build-manifest.json +3 -4
  105. package/dist/server/.next/server/app/api/process/logs/route.js +1 -1
  106. package/dist/server/.next/server/app/api/process/logs/route.js.nft.json +1 -1
  107. package/dist/server/.next/server/app/api/process/logs/stream/route/app-build-manifest.json +3 -4
  108. package/dist/server/.next/server/app/api/process/logs/stream/route/build-manifest.json +3 -4
  109. package/dist/server/.next/server/app/api/process/logs/stream/route.js +1 -1
  110. package/dist/server/.next/server/app/api/process/logs/stream/route.js.nft.json +1 -1
  111. package/dist/server/.next/server/app/api/process/start/route/app-build-manifest.json +3 -4
  112. package/dist/server/.next/server/app/api/process/start/route/build-manifest.json +3 -4
  113. package/dist/server/.next/server/app/api/process/start/route.js +1 -1
  114. package/dist/server/.next/server/app/api/process/start/route.js.nft.json +1 -1
  115. package/dist/server/.next/server/app/api/process/status/route/app-build-manifest.json +3 -4
  116. package/dist/server/.next/server/app/api/process/status/route/build-manifest.json +3 -4
  117. package/dist/server/.next/server/app/api/process/status/route.js +1 -1
  118. package/dist/server/.next/server/app/api/process/status/route.js.nft.json +1 -1
  119. package/dist/server/.next/server/app/api/project-config/route/app-build-manifest.json +3 -4
  120. package/dist/server/.next/server/app/api/project-config/route/build-manifest.json +3 -4
  121. package/dist/server/.next/server/app/api/project-config/route.js +1 -1
  122. package/dist/server/.next/server/app/api/project-config/route.js.nft.json +1 -1
  123. package/dist/server/.next/server/app/api/retry-project/route/app-build-manifest.json +3 -4
  124. package/dist/server/.next/server/app/api/retry-project/route/build-manifest.json +3 -4
  125. package/dist/server/.next/server/app/api/retry-project/route.js +1 -1
  126. package/dist/server/.next/server/app/api/retry-project/route.js.nft.json +1 -1
  127. package/dist/server/.next/server/app/api/uat-git-flow/abort/route/app-build-manifest.json +10 -0
  128. package/dist/server/.next/server/app/api/uat-git-flow/abort/route/app-paths-manifest.json +3 -0
  129. package/dist/server/.next/server/app/api/uat-git-flow/abort/route/build-manifest.json +16 -0
  130. package/dist/server/.next/server/app/api/uat-git-flow/abort/route/next-font-manifest.json +6 -0
  131. package/dist/server/.next/server/app/api/uat-git-flow/abort/route/react-loadable-manifest.json +1 -0
  132. package/dist/server/.next/server/app/api/uat-git-flow/abort/route/server-reference-manifest.json +4 -0
  133. package/dist/server/.next/server/app/api/uat-git-flow/abort/route.js +8 -0
  134. package/dist/server/.next/server/app/api/uat-git-flow/abort/route.js.map +5 -0
  135. package/dist/server/.next/server/app/api/uat-git-flow/abort/route.js.nft.json +1 -0
  136. package/dist/server/.next/server/app/api/uat-git-flow/abort/route_client-reference-manifest.js +2 -0
  137. package/dist/server/.next/server/app/api/uat-git-flow/route/app-build-manifest.json +10 -0
  138. package/dist/server/.next/server/app/api/uat-git-flow/route/app-paths-manifest.json +3 -0
  139. package/dist/server/.next/server/app/api/uat-git-flow/route/build-manifest.json +16 -0
  140. package/dist/server/.next/server/app/api/uat-git-flow/route/next-font-manifest.json +6 -0
  141. package/dist/server/.next/server/app/api/uat-git-flow/route/react-loadable-manifest.json +1 -0
  142. package/dist/server/.next/server/app/api/uat-git-flow/route/server-reference-manifest.json +4 -0
  143. package/dist/server/.next/server/app/api/uat-git-flow/route.js +9 -0
  144. package/dist/server/.next/server/app/api/uat-git-flow/route.js.map +5 -0
  145. package/dist/server/.next/server/app/api/uat-git-flow/route.js.nft.json +1 -0
  146. package/dist/server/.next/server/app/api/uat-git-flow/route_client-reference-manifest.js +2 -0
  147. package/dist/server/.next/server/app/api/uat-git-flow/step/route/app-build-manifest.json +10 -0
  148. package/dist/server/.next/server/app/api/uat-git-flow/step/route/app-paths-manifest.json +3 -0
  149. package/dist/server/.next/server/app/api/uat-git-flow/step/route/build-manifest.json +16 -0
  150. package/dist/server/.next/server/app/api/uat-git-flow/step/route/next-font-manifest.json +6 -0
  151. package/dist/server/.next/server/app/api/uat-git-flow/step/route/react-loadable-manifest.json +1 -0
  152. package/dist/server/.next/server/app/api/uat-git-flow/step/route/server-reference-manifest.json +4 -0
  153. package/dist/server/.next/server/app/api/uat-git-flow/step/route.js +9 -0
  154. package/dist/server/.next/server/app/api/uat-git-flow/step/route.js.map +5 -0
  155. package/dist/server/.next/server/app/api/uat-git-flow/step/route.js.nft.json +1 -0
  156. package/dist/server/.next/server/app/api/uat-git-flow/step/route_client-reference-manifest.js +2 -0
  157. package/dist/server/.next/server/app/api/workspace/create/route/app-build-manifest.json +3 -4
  158. package/dist/server/.next/server/app/api/workspace/create/route/build-manifest.json +3 -4
  159. package/dist/server/.next/server/app/api/workspace/create/route.js +1 -1
  160. package/dist/server/.next/server/app/api/workspace/create/route.js.nft.json +1 -1
  161. package/dist/server/.next/server/app/configuration/page/app-build-manifest.json +6 -7
  162. package/dist/server/.next/server/app/configuration/page/build-manifest.json +3 -4
  163. package/dist/server/.next/server/app/configuration/page.js +1 -1
  164. package/dist/server/.next/server/app/configuration/page.js.nft.json +1 -1
  165. package/dist/server/.next/server/app/configuration/page_client-reference-manifest.js +1 -1
  166. package/dist/server/.next/server/app/configuration.html +1 -1
  167. package/dist/server/.next/server/app/configuration.rsc +3 -3
  168. package/dist/server/.next/server/app/favicon.ico/route/app-build-manifest.json +3 -4
  169. package/dist/server/.next/server/app/favicon.ico/route/build-manifest.json +3 -4
  170. package/dist/server/.next/server/app/index.html +1 -1
  171. package/dist/server/.next/server/app/index.rsc +2 -2
  172. package/dist/server/.next/server/app/initialization/page/app-build-manifest.json +6 -7
  173. package/dist/server/.next/server/app/initialization/page/build-manifest.json +3 -4
  174. package/dist/server/.next/server/app/initialization/page.js +1 -1
  175. package/dist/server/.next/server/app/initialization/page.js.nft.json +1 -1
  176. package/dist/server/.next/server/app/initialization/page_client-reference-manifest.js +1 -1
  177. package/dist/server/.next/server/app/initialization.html +1 -1
  178. package/dist/server/.next/server/app/initialization.rsc +3 -3
  179. package/dist/server/.next/server/app/page/app-build-manifest.json +4 -5
  180. package/dist/server/.next/server/app/page/build-manifest.json +3 -4
  181. package/dist/server/.next/server/app/page.js +1 -1
  182. package/dist/server/.next/server/app/page.js.nft.json +1 -1
  183. package/dist/server/.next/server/app/page_client-reference-manifest.js +1 -1
  184. package/dist/server/.next/server/app-paths-manifest.json +4 -0
  185. package/dist/server/.next/server/chunks/{[root-of-the-server]__8fcbb2f0._.js → [root-of-the-server]__0879b2d6._.js} +2 -2
  186. package/dist/server/.next/server/chunks/[root-of-the-server]__0d56f35b._.js +3 -0
  187. package/dist/server/.next/server/chunks/[root-of-the-server]__0d56f35b._.js.map +1 -0
  188. package/dist/server/.next/server/chunks/{[root-of-the-server]__771e8133._.js → [root-of-the-server]__0e8a08fc._.js} +2 -2
  189. package/dist/server/.next/server/chunks/{[root-of-the-server]__21616bf9._.js → [root-of-the-server]__1e792460._.js} +2 -2
  190. package/dist/server/.next/server/chunks/{[root-of-the-server]__03c2b225._.js → [root-of-the-server]__2a29597f._.js} +2 -2
  191. package/dist/server/.next/server/chunks/{[root-of-the-server]__5348b4aa._.js → [root-of-the-server]__2a78acef._.js} +2 -2
  192. package/dist/server/.next/server/chunks/{[root-of-the-server]__5100a0c5._.js → [root-of-the-server]__2f8b52da._.js} +2 -2
  193. package/dist/server/.next/server/chunks/{[root-of-the-server]__3dfc0dc4._.js → [root-of-the-server]__2ffbf0d3._.js} +2 -2
  194. package/dist/server/.next/server/chunks/{[root-of-the-server]__899d82eb._.js → [root-of-the-server]__452b5f9c._.js} +2 -2
  195. package/dist/server/.next/server/chunks/[root-of-the-server]__4ab3dd83._.js +16 -0
  196. package/dist/server/.next/server/chunks/[root-of-the-server]__4ab3dd83._.js.map +1 -0
  197. package/dist/server/.next/server/chunks/{[root-of-the-server]__2fcc7175._.js → [root-of-the-server]__4b595942._.js} +2 -2
  198. package/dist/server/.next/server/chunks/{[root-of-the-server]__973c48a6._.js → [root-of-the-server]__4ec3205b._.js} +2 -2
  199. package/dist/server/.next/server/chunks/{[root-of-the-server]__072f5c45._.js → [root-of-the-server]__4fd52ac1._.js} +2 -2
  200. package/dist/server/.next/server/chunks/{[root-of-the-server]__6e5dc117._.js → [root-of-the-server]__5c9f62f9._.js} +2 -2
  201. package/dist/server/.next/server/chunks/[root-of-the-server]__6cbd50e9._.js +16 -0
  202. package/dist/server/.next/server/chunks/[root-of-the-server]__6cbd50e9._.js.map +1 -0
  203. package/dist/server/.next/server/chunks/[root-of-the-server]__703c317f._.js +3 -0
  204. package/dist/server/.next/server/chunks/[root-of-the-server]__703c317f._.js.map +1 -0
  205. package/dist/server/.next/server/chunks/{[root-of-the-server]__7500acb0._.js → [root-of-the-server]__8637b7f1._.js} +2 -2
  206. package/dist/server/.next/server/chunks/[root-of-the-server]__98088bea._.js +3 -0
  207. package/dist/server/.next/server/chunks/[root-of-the-server]__98088bea._.js.map +1 -0
  208. package/dist/server/.next/server/chunks/{[root-of-the-server]__94e10604._.js → [root-of-the-server]__a6fbefc6._.js} +2 -2
  209. package/dist/server/.next/server/chunks/{[root-of-the-server]__31a13318._.js → [root-of-the-server]__a74239fc._.js} +2 -2
  210. package/dist/server/.next/server/chunks/{[root-of-the-server]__388e6150._.js → [root-of-the-server]__aaa3fe74._.js} +2 -2
  211. package/dist/server/.next/server/chunks/{[root-of-the-server]__7fc974c9._.js → [root-of-the-server]__b176e8df._.js} +2 -2
  212. package/dist/server/.next/server/chunks/{[root-of-the-server]__a292866b._.js → [root-of-the-server]__be14bdb6._.js} +2 -2
  213. package/dist/server/.next/server/chunks/{[root-of-the-server]__f815ea40._.js → [root-of-the-server]__c18498ef._.js} +2 -2
  214. package/dist/server/.next/server/chunks/{[root-of-the-server]__c8b26634._.js → [root-of-the-server]__c9627539._.js} +2 -2
  215. package/dist/server/.next/server/chunks/{[root-of-the-server]__5355b75a._.js → [root-of-the-server]__dda45cac._.js} +2 -2
  216. package/dist/server/.next/server/chunks/[root-of-the-server]__de18efbd._.js +16 -0
  217. package/dist/server/.next/server/chunks/[root-of-the-server]__de18efbd._.js.map +1 -0
  218. package/dist/server/.next/server/chunks/{[root-of-the-server]__2ba93285._.js → [root-of-the-server]__e0b7050d._.js} +2 -2
  219. package/dist/server/.next/server/chunks/{[root-of-the-server]__419d3b16._.js → [root-of-the-server]__ec681197._.js} +2 -2
  220. package/dist/server/.next/server/chunks/_24087f66._.js +3 -0
  221. package/dist/server/.next/server/chunks/_24087f66._.js.map +1 -0
  222. package/dist/server/.next/server/chunks/_61c263b3._.js +3 -0
  223. package/dist/server/.next/server/chunks/_61c263b3._.js.map +1 -0
  224. package/dist/server/.next/server/chunks/ssr/[root-of-the-server]__2e9964e3._.js +3 -0
  225. package/dist/server/.next/server/chunks/ssr/{[root-of-the-server]__f617a52d._.js → [root-of-the-server]__7b253128._.js} +2 -2
  226. package/dist/server/.next/server/chunks/ssr/{[root-of-the-server]__f617a52d._.js.map → [root-of-the-server]__7b253128._.js.map} +1 -1
  227. package/dist/server/.next/server/chunks/ssr/{[root-of-the-server]__c53d10ac._.js → [root-of-the-server]__a085452f._.js} +2 -2
  228. package/dist/server/.next/server/chunks/ssr/[root-of-the-server]__a085452f._.js.map +1 -0
  229. package/dist/server/.next/server/chunks/ssr/{[root-of-the-server]__63c188bd._.js → [root-of-the-server]__b8a5c1ab._.js} +2 -2
  230. package/dist/server/.next/server/chunks/ssr/_5579d68f._.js +57 -0
  231. package/dist/server/.next/server/chunks/ssr/_5579d68f._.js.map +1 -0
  232. package/dist/server/.next/server/chunks/ssr/_a1ab1c09._.js +8 -0
  233. package/dist/server/.next/server/chunks/ssr/_a1ab1c09._.js.map +1 -0
  234. package/dist/server/.next/server/chunks/ssr/_ee0c9da0._.js +8 -0
  235. package/dist/server/.next/server/chunks/ssr/_ee0c9da0._.js.map +1 -0
  236. package/dist/server/.next/server/chunks/ssr/packages_server_src_7cef6dbd._.js +1 -1
  237. package/dist/server/.next/server/chunks/ssr/packages_server_src_7cef6dbd._.js.map +1 -1
  238. package/dist/server/.next/server/middleware-build-manifest.js +7 -8
  239. package/dist/server/.next/server/pages/404.html +1 -1
  240. package/dist/server/.next/server/pages/500.html +1 -1
  241. package/dist/server/.next/server/pages/_app/build-manifest.json +2 -2
  242. package/dist/server/.next/server/pages/_document.js +1 -1
  243. package/dist/server/.next/server/pages/_document.js.nft.json +1 -1
  244. package/dist/server/.next/server/pages/_error/build-manifest.json +2 -2
  245. package/dist/server/.next/server/pages/_error.js +1 -1
  246. package/dist/server/.next/server/pages/_error.js.nft.json +1 -1
  247. package/dist/server/.next/server/server-reference-manifest.js +1 -1
  248. package/dist/server/.next/server/server-reference-manifest.json +1 -1
  249. package/dist/server/.next/static/chunks/{d65b8ba84ba3d819.js → 1091ba2f3c451a47.js} +1 -1
  250. package/dist/server/.next/static/chunks/{294d677a4838a994.js → 1154a499e8e3867b.js} +1 -1
  251. package/dist/server/.next/static/chunks/{f9ef1d12f3c1646a.js → 1aa036ed62a506c8.js} +2 -2
  252. package/dist/server/.next/static/chunks/205cbae70a6c50e1.js.map +1 -0
  253. package/dist/server/.next/static/chunks/{479d60165927b286.js.map → 2602bf706e977560.js.map} +1 -1
  254. package/dist/server/.next/static/chunks/2d2322acba49236a.js +57 -0
  255. package/dist/server/.next/static/chunks/43c514797c454939.js +7 -0
  256. package/dist/server/.next/static/chunks/511924c894f8e3de.css.map +1 -0
  257. package/dist/server/.next/static/chunks/861aac2fba8d4e28.css +3 -0
  258. package/dist/server/.next/static/chunks/888146b3e75fe817.js.map +1 -0
  259. package/dist/server/.next/static/chunks/9148331cad3a934e.js +7 -0
  260. package/dist/server/.next/static/chunks/{84f5ecdc99cc0be6.js.map → 988047fb36ff8bd4.js.map} +1 -1
  261. package/dist/server/.next/static/chunks/99154153690ad580.js.map +1 -0
  262. package/dist/server/.next/static/chunks/9bc1bbb3fe6e5eb3.js +3 -0
  263. package/dist/server/.next/static/chunks/c4c1da381d908575.js +5 -0
  264. package/dist/server/.next/static/chunks/d8d9344b4a8007c0.js.map +1 -0
  265. package/dist/server/.next/static/chunks/e5e4fd3e83ab66f8.js +4 -0
  266. package/dist/server/.next/static/chunks/e70508cc9f59709d.js.map +1 -0
  267. package/dist/server/.next/static/chunks/pages/_app.js +2 -2
  268. package/dist/server/.next/static/chunks/pages/_error.js +2 -2
  269. package/dist/server/.next/trace +1 -1
  270. package/package.json +1 -1
  271. package/dist/server/.next/server/chunks/[root-of-the-server]__629e6d6a._.js +0 -3
  272. package/dist/server/.next/server/chunks/[root-of-the-server]__629e6d6a._.js.map +0 -1
  273. package/dist/server/.next/server/chunks/[root-of-the-server]__f6d4fb58._.js +0 -16
  274. package/dist/server/.next/server/chunks/[root-of-the-server]__f6d4fb58._.js.map +0 -1
  275. package/dist/server/.next/server/chunks/ssr/[root-of-the-server]__c53d10ac._.js.map +0 -1
  276. package/dist/server/.next/server/chunks/ssr/[root-of-the-server]__e3a2aebd._.js +0 -3
  277. package/dist/server/.next/server/chunks/ssr/_5d353cf8._.js +0 -61
  278. package/dist/server/.next/server/chunks/ssr/_5d353cf8._.js.map +0 -1
  279. package/dist/server/.next/server/chunks/ssr/_e037a20f._.js +0 -4
  280. package/dist/server/.next/server/chunks/ssr/_e037a20f._.js.map +0 -1
  281. package/dist/server/.next/static/chunks/0dfafa95d29e5c79.js +0 -3
  282. package/dist/server/.next/static/chunks/1ad898191df92f90.css +0 -3
  283. package/dist/server/.next/static/chunks/5f8beee58a024d75.js +0 -3
  284. package/dist/server/.next/static/chunks/7e0a49ac2b139df9.js.map +0 -1
  285. package/dist/server/.next/static/chunks/9650e7136a9bfc30.js +0 -61
  286. package/dist/server/.next/static/chunks/a7b45611d4ad55fe.js +0 -4
  287. package/dist/server/.next/static/chunks/a9cba6096fe97a30.js +0 -5
  288. package/dist/server/.next/static/chunks/b0840b8d648f6401.css.map +0 -1
  289. package/dist/server/.next/static/chunks/c2cc02f47cf64419.js.map +0 -1
  290. package/dist/server/.next/static/chunks/cf3b2abf3523d13f.js +0 -3
  291. package/dist/server/.next/static/chunks/d0ab7593ca8c77ca.js.map +0 -1
  292. package/dist/server/.next/static/chunks/f31695470ae3a484.js.map +0 -1
  293. package/dist/server/.next/static/chunks/ffb74809cc596ae9.js.map +0 -1
  294. /package/dist/server/.next/server/chunks/{[root-of-the-server]__8fcbb2f0._.js.map → [root-of-the-server]__0879b2d6._.js.map} +0 -0
  295. /package/dist/server/.next/server/chunks/{[root-of-the-server]__771e8133._.js.map → [root-of-the-server]__0e8a08fc._.js.map} +0 -0
  296. /package/dist/server/.next/server/chunks/{[root-of-the-server]__21616bf9._.js.map → [root-of-the-server]__1e792460._.js.map} +0 -0
  297. /package/dist/server/.next/server/chunks/{[root-of-the-server]__03c2b225._.js.map → [root-of-the-server]__2a29597f._.js.map} +0 -0
  298. /package/dist/server/.next/server/chunks/{[root-of-the-server]__5348b4aa._.js.map → [root-of-the-server]__2a78acef._.js.map} +0 -0
  299. /package/dist/server/.next/server/chunks/{[root-of-the-server]__5100a0c5._.js.map → [root-of-the-server]__2f8b52da._.js.map} +0 -0
  300. /package/dist/server/.next/server/chunks/{[root-of-the-server]__3dfc0dc4._.js.map → [root-of-the-server]__2ffbf0d3._.js.map} +0 -0
  301. /package/dist/server/.next/server/chunks/{[root-of-the-server]__899d82eb._.js.map → [root-of-the-server]__452b5f9c._.js.map} +0 -0
  302. /package/dist/server/.next/server/chunks/{[root-of-the-server]__2fcc7175._.js.map → [root-of-the-server]__4b595942._.js.map} +0 -0
  303. /package/dist/server/.next/server/chunks/{[root-of-the-server]__973c48a6._.js.map → [root-of-the-server]__4ec3205b._.js.map} +0 -0
  304. /package/dist/server/.next/server/chunks/{[root-of-the-server]__072f5c45._.js.map → [root-of-the-server]__4fd52ac1._.js.map} +0 -0
  305. /package/dist/server/.next/server/chunks/{[root-of-the-server]__6e5dc117._.js.map → [root-of-the-server]__5c9f62f9._.js.map} +0 -0
  306. /package/dist/server/.next/server/chunks/{[root-of-the-server]__7500acb0._.js.map → [root-of-the-server]__8637b7f1._.js.map} +0 -0
  307. /package/dist/server/.next/server/chunks/{[root-of-the-server]__94e10604._.js.map → [root-of-the-server]__a6fbefc6._.js.map} +0 -0
  308. /package/dist/server/.next/server/chunks/{[root-of-the-server]__31a13318._.js.map → [root-of-the-server]__a74239fc._.js.map} +0 -0
  309. /package/dist/server/.next/server/chunks/{[root-of-the-server]__388e6150._.js.map → [root-of-the-server]__aaa3fe74._.js.map} +0 -0
  310. /package/dist/server/.next/server/chunks/{[root-of-the-server]__7fc974c9._.js.map → [root-of-the-server]__b176e8df._.js.map} +0 -0
  311. /package/dist/server/.next/server/chunks/{[root-of-the-server]__a292866b._.js.map → [root-of-the-server]__be14bdb6._.js.map} +0 -0
  312. /package/dist/server/.next/server/chunks/{[root-of-the-server]__f815ea40._.js.map → [root-of-the-server]__c18498ef._.js.map} +0 -0
  313. /package/dist/server/.next/server/chunks/{[root-of-the-server]__c8b26634._.js.map → [root-of-the-server]__c9627539._.js.map} +0 -0
  314. /package/dist/server/.next/server/chunks/{[root-of-the-server]__5355b75a._.js.map → [root-of-the-server]__dda45cac._.js.map} +0 -0
  315. /package/dist/server/.next/server/chunks/{[root-of-the-server]__2ba93285._.js.map → [root-of-the-server]__e0b7050d._.js.map} +0 -0
  316. /package/dist/server/.next/server/chunks/{[root-of-the-server]__419d3b16._.js.map → [root-of-the-server]__ec681197._.js.map} +0 -0
  317. /package/dist/server/.next/server/chunks/ssr/{[root-of-the-server]__e3a2aebd._.js.map → [root-of-the-server]__2e9964e3._.js.map} +0 -0
  318. /package/dist/server/.next/server/chunks/ssr/{[root-of-the-server]__63c188bd._.js.map → [root-of-the-server]__b8a5c1ab._.js.map} +0 -0
  319. /package/dist/server/.next/static/{Xoig0sIWc0oIgbMH6U6Ew → tz_bf3MbzRijrx8XdXPWA}/_buildManifest.js +0 -0
  320. /package/dist/server/.next/static/{Xoig0sIWc0oIgbMH6U6Ew → tz_bf3MbzRijrx8XdXPWA}/_clientMiddlewareManifest.json +0 -0
  321. /package/dist/server/.next/static/{Xoig0sIWc0oIgbMH6U6Ew → tz_bf3MbzRijrx8XdXPWA}/_ssgManifest.js +0 -0
@@ -1,8 +1,8 @@
1
- module.exports={83886:function(e){var{g:r,__dirname:t,m:s,e:n}=e;s.exports=e.x("fs",()=>require("fs"))},45935:function(e){var{g:r,__dirname:t,m:s,e:n}=e;s.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},88941:e=>{"use strict";var{g:r,__dirname:t}=e;{e.s({PROJECT_CONFIG_PATH:()=>t,ProjectStatus:()=>o,WORKSPACE_CONFIG:()=>r});var s=e.i(13442),n=e.i(30331);let r={WORKSPACE_ROOT:(0,n.join)((0,s.homedir)(),"Documents","prime-workspace"),GIT_TIMEOUT:3e5,MAX_CONCURRENT_CLONES:Math.max(2,Math.min((0,s.cpus)().length,8)),MAX_RETRY_ATTEMPTS:3},t=(0,n.join)((0,s.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}({})}},29549:function(e){var{g:r,__dirname:t,m:s,e:n}=e;s.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},83943:function(e){var{g:r,__dirname:t,m:s,e:n}=e;s.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},86103:function(e){var{g:r,__dirname:t,m:s,e:n}=e;s.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},30331:function(e){var{g:r,__dirname:t,m:s,e:n}=e;s.exports=e.x("path",()=>require("path"))},23430:function(e){var{g:r,__dirname:t,m:s,e:n}=e;s.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},13442:function(e){var{g:r,__dirname:t,m:s,e:n}=e;s.exports=e.x("os",()=>require("os"))},52670:function(e){var{g:r,__dirname:t,m:s,e:n}=e;s.exports=e.x("next/dist/compiled/next-server/app-route-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-route-turbo.runtime.prod.js"))},9892:function(e){var{g:r,__dirname:t,m:s,e:n}=e;s.exports=e.x("fs/promises",()=>require("fs/promises"))},35692:e=>{"use strict";var{g:r,__dirname:t}=e;e.s({ProjectStatus:()=>i,getProjectsConfig:()=>o,saveProjectsConfig:()=>a});var s=e.i(9892),n=e.i(88941);async function o(){try{await (0,s.access)(n.PROJECT_CONFIG_PATH,s.constants.F_OK)}catch{return await a({}),{}}try{let e=await (0,s.readFile)(n.PROJECT_CONFIG_PATH,"utf-8");if(!e)return{};return JSON.parse(e)}catch(e){throw console.error("读取或解析项目配置文件失败:",e),Error("无法加载项目配置")}}async function a(e){let r=n.PROJECT_CONFIG_PATH+".tmp";try{await (0,s.writeFile)(r,JSON.stringify(e,null,2),"utf-8"),await (0,s.rename)(r,n.PROJECT_CONFIG_PATH)}catch(e){throw console.error("保存项目配置文件失败:",e),Error("无法保存项目配置")}}var i=function(e){return e.PENDING="pending",e.EXISTING="existing",e.CLONING="cloning",e.SUCCESS="success",e.FAILED="failed",e.RETRYING="retrying",e}({})},15650:function(e){var{g:r,__dirname:t,m:s,e:n}=e;s.exports=e.x("module",()=>require("module"))},80298:function(e){var{g:r,__dirname:t,m:s,e:n}=e},17717:e=>{"use strict";var{g:r,__dirname:t}=e;{e.s({POST:()=>c});var s=e.i(15494),n=e.i(83886),o=e.i(30331),a=e.i(35692),i=e.i(88941);let r=(0,e.i(15650).createRequire)({get url(){return`file://${e.P("packages/server/src/app/api/cleanup-mock/route.ts")}`}}.url);async function c(e){try{let{projectName:t}=await e.json();if(!t)return s.NextResponse.json({success:!1,error:"项目名称参数缺失"},{status:400});if(!(await (0,a.getProjectsConfig)())[t])return s.NextResponse.json({success:!1,error:`项目 ${t} 不存在`},{status:404});let c=(0,o.join)(i.WORKSPACE_CONFIG.WORKSPACE_ROOT,t),u=(0,o.join)(c,".mock");try{await n.promises.access(u)}catch{return s.NextResponse.json({success:!0,message:"Mock目录不存在,无需清理",data:{projectName:t,timestamp:new Date().toISOString()}})}let p=async e=>{for(let t of(await n.promises.readdir(e,{withFileTypes:!0}))){let s=(0,o.join)(e,t.name);if(t.isDirectory())await p(s);else if("setting.cjs"===t.name)try{let e=(0,o.resolve)(s);delete r.cache[e];let t=r(e),a=`module.exports = {
1
+ module.exports={83886:function(e){var{g:r,__dirname:t,m:s,e:n}=e;s.exports=e.x("fs",()=>require("fs"))},45935:function(e){var{g:r,__dirname:t,m:s,e:n}=e;s.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},88941:e=>{"use strict";var{g:r,__dirname:t}=e;{e.s({PROJECT_CONFIG_PATH:()=>t,ProjectStatus:()=>o,WORKSPACE_CONFIG:()=>r});var s=e.i(13442),n=e.i(30331);let r={WORKSPACE_ROOT:(0,n.join)((0,s.homedir)(),"Documents","prime-workspace"),GIT_TIMEOUT:3e5,MAX_CONCURRENT_CLONES:Math.max(2,Math.min((0,s.cpus)().length,8)),MAX_RETRY_ATTEMPTS:3},t=(0,n.join)((0,s.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}({})}},30331:function(e){var{g:r,__dirname:t,m:s,e:n}=e;s.exports=e.x("path",()=>require("path"))},29549:function(e){var{g:r,__dirname:t,m:s,e:n}=e;s.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},83943:function(e){var{g:r,__dirname:t,m:s,e:n}=e;s.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},86103:function(e){var{g:r,__dirname:t,m:s,e:n}=e;s.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},23430:function(e){var{g:r,__dirname:t,m:s,e:n}=e;s.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},52670:function(e){var{g:r,__dirname:t,m:s,e:n}=e;s.exports=e.x("next/dist/compiled/next-server/app-route-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-route-turbo.runtime.prod.js"))},13442:function(e){var{g:r,__dirname:t,m:s,e:n}=e;s.exports=e.x("os",()=>require("os"))},9892:function(e){var{g:r,__dirname:t,m:s,e:n}=e;s.exports=e.x("fs/promises",()=>require("fs/promises"))},35692:e=>{"use strict";var{g:r,__dirname:t}=e;e.s({ProjectStatus:()=>i,getProjectsConfig:()=>o,saveProjectsConfig:()=>a});var s=e.i(9892),n=e.i(88941);async function o(){try{await (0,s.access)(n.PROJECT_CONFIG_PATH,s.constants.F_OK)}catch{return await a({}),{}}try{let e=await (0,s.readFile)(n.PROJECT_CONFIG_PATH,"utf-8");if(!e)return{};return JSON.parse(e)}catch(e){throw console.error("读取或解析项目配置文件失败:",e),Error("无法加载项目配置")}}async function a(e){let r=n.PROJECT_CONFIG_PATH+".tmp";try{await (0,s.writeFile)(r,JSON.stringify(e,null,2),"utf-8"),await (0,s.rename)(r,n.PROJECT_CONFIG_PATH)}catch(e){throw console.error("保存项目配置文件失败:",e),Error("无法保存项目配置")}}var i=function(e){return e.PENDING="pending",e.EXISTING="existing",e.CLONING="cloning",e.SUCCESS="success",e.FAILED="failed",e.RETRYING="retrying",e}({})},15650:function(e){var{g:r,__dirname:t,m:s,e:n}=e;s.exports=e.x("module",()=>require("module"))},80298:function(e){var{g:r,__dirname:t,m:s,e:n}=e},17717:e=>{"use strict";var{g:r,__dirname:t}=e;{e.s({POST:()=>c});var s=e.i(15494),n=e.i(83886),o=e.i(30331),a=e.i(35692),i=e.i(88941);let r=(0,e.i(15650).createRequire)({get url(){return`file://${e.P("packages/server/src/app/api/cleanup-mock/route.ts")}`}}.url);async function c(e){try{let{projectName:t}=await e.json();if(!t)return s.NextResponse.json({success:!1,error:"项目名称参数缺失"},{status:400});if(!(await (0,a.getProjectsConfig)())[t])return s.NextResponse.json({success:!1,error:`项目 ${t} 不存在`},{status:404});let c=(0,o.join)(i.WORKSPACE_CONFIG.WORKSPACE_ROOT,t),u=(0,o.join)(c,".mock");try{await n.promises.access(u)}catch{return s.NextResponse.json({success:!0,message:"Mock目录不存在,无需清理",data:{projectName:t,timestamp:new Date().toISOString()}})}let p=async e=>{for(let t of(await n.promises.readdir(e,{withFileTypes:!0}))){let s=(0,o.join)(e,t.name);if(t.isDirectory())await p(s);else if("setting.cjs"===t.name)try{let e=(0,o.resolve)(s);delete r.cache[e];let t=r(e),a=`module.exports = {
2
2
  // 当前场景名称
3
3
  currentSite: '${t.currentSite||""}',
4
4
  // 开启Mock的场景列表(已清空)
5
5
  open: []
6
6
  };`;await n.promises.writeFile(s,a,"utf-8")}catch(e){console.warn(`解析setting.cjs失败: ${s}`,e)}}};return await p(u),s.NextResponse.json({success:!0,message:"所有Mock场景已清空",data:{projectName:t,timestamp:new Date().toISOString()}})}catch(r){let e=r instanceof Error?r.message:"清空Mock场景失败";return console.error("清空Mock场景失败:",r),s.NextResponse.json({success:!1,error:e},{status:500})}}}},30706:e=>{"use strict";var{g:r,__dirname:t}=e;{e.s({patchFetch:()=>i,routeModule:()=>r,serverHooks:()=>u,workAsyncStorage:()=>t,workUnitAsyncStorage:()=>c});var s=e.i(45746),n=e.i(93828),o=e.i(18250),a=e.i(17717);let r=new s.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/cleanup-mock/route",pathname:"/api/cleanup-mock",filename:"route",bundlePath:""},resolvedPagePath:"[project]/packages/server/src/app/api/cleanup-mock/route.ts",nextConfigOutput:"",userland:a}),{workAsyncStorage:t,workUnitAsyncStorage:c,serverHooks:u}=r;function i(){return(0,o.patchFetch)({workAsyncStorage:t,workUnitAsyncStorage:c})}}}};
7
7
 
8
- //# sourceMappingURL=%5Broot-of-the-server%5D__419d3b16._.js.map
8
+ //# sourceMappingURL=%5Broot-of-the-server%5D__ec681197._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports={75405:e=>{"use strict";var{g:t,__dirname:a}=e;{e.s({clearStepRun:()=>o,createStepRun:()=>s,getStepRun:()=>r,updateStepRun:()=>c});let t=new Map;function n(){let e=Date.now();for(let[a,n]of t.entries())e-n.updatedAt>36e5&&t.delete(a)}function s(e){n(),t.set(e.runId,{...e,updatedAt:Date.now()})}function r(e){n();let a=t.get(e);return a||null}function c(e){t.set(e.runId,{...e,updatedAt:Date.now()})}function o(e){t.delete(e)}}},9967:e=>{"use strict";var{g:t,__dirname:a}=e;{e.s({POST:()=>b});var n=e.i(15494),s=e.i(87485),r=e.i(83886),c=e.i(30331),o=e.i(88941),i=e.i(35692),d=e.i(77159),u=e.i(79810),p=e.i(75405);let t=/\\s/;function m(e){return!(!e||t.test(e)||e.startsWith("-"))}function h(e,t){return new Promise((a,n)=>{let r=(0,s.spawn)("git",t,{cwd:e,stdio:["ignore","pipe","pipe"]}),c="",o="";r.stdout?.on("data",e=>{c+=e.toString()}),r.stderr?.on("data",e=>{o+=e.toString()}),r.on("close",e=>{a({code:e,stdout:c,stderr:o})}),r.on("error",e=>{n(e)})})}function g(e){return`git ${e.join(" ")}`}function l(e,t,a,n){0===n.code?e.push(`[${t}] 完成: ${a}`):e.push(`[${t}] 失败: ${a} ${n.stderr||n.stdout}`)}function f(e){for(let t=e.currentIndex;t<e.projects.length;t+=1){let a=e.projects[t];if("pending"!==a.status){e.currentIndex=t+1;continue}let n=function(e,t){if("pending"!==t.status)return null;let{createBranch:a,baseBranch:n,mergeBranch:s}=e;switch(t.phase){case"need-current-branch":return{id:`${t.name}-current-branch-${Date.now()}`,projectName:t.name,description:"检查当前分支",args:["branch","--show-current"],kind:"need-current-branch"};case"need-fetch":return{id:`${t.name}-fetch-${Date.now()}`,projectName:t.name,description:"拉取远端",args:["fetch","origin"],kind:"need-fetch"};case"need-base-check":return{id:`${t.name}-base-check-${Date.now()}`,projectName:t.name,description:`检查 origin/${n}`,args:["ls-remote","--heads","origin",n],kind:"need-base-check"};case"need-remote-create-check":return{id:`${t.name}-remote-create-check-${Date.now()}`,projectName:t.name,description:`检查远端分支 ${a}`,args:["ls-remote","--heads","origin",a],kind:"need-remote-create-check"};case"need-local-create-check":return{id:`${t.name}-local-create-check-${Date.now()}`,projectName:t.name,description:`检查本地分支 ${a}`,args:["show-ref","--verify",`refs/heads/${a}`],kind:"need-local-create-check"};case"need-checkout-remote-create":return{id:`${t.name}-checkout-remote-${Date.now()}`,projectName:t.name,description:`切换到远端分支 ${a}`,args:["checkout","-B",a,`origin/${a}`],kind:"need-checkout-remote-create"};case"need-create-branch":return{id:`${t.name}-create-branch-${Date.now()}`,projectName:t.name,description:`创建分支 ${a}`,args:["checkout","-B",a,`origin/${n}`],kind:"need-create-branch"};case"need-push-branch":return{id:`${t.name}-push-branch-${Date.now()}`,projectName:t.name,description:`推送分支 ${a}`,args:["push","-u","origin",a],kind:"need-push-branch"};case"need-merge-check":return{id:`${t.name}-merge-check-${Date.now()}`,projectName:t.name,description:`检查 origin/${s}`,args:["ls-remote","--heads","origin",s],kind:"need-merge-check"};case"need-status":return{id:`${t.name}-status-${Date.now()}`,projectName:t.name,description:"检查工作区",args:["status","--porcelain"],kind:"need-status"};case"need-checkout-create":return{id:`${t.name}-checkout-create-${Date.now()}`,projectName:t.name,description:`切换到分支 ${a}`,args:["checkout",a],kind:"need-checkout-create"};case"need-fetch-after-checkout":return{id:`${t.name}-fetch-after-checkout-${Date.now()}`,projectName:t.name,description:"拉取远端",args:["fetch","origin"],kind:"need-fetch-after-checkout"};case"need-merge":return{id:`${t.name}-merge-${Date.now()}`,projectName:t.name,description:`合并 origin/${s}`,args:["merge","--no-ff","--no-edit",`origin/${s}`],kind:"need-merge"};case"need-merge-abort":return{id:`${t.name}-merge-abort-${Date.now()}`,projectName:t.name,description:"终止合并",args:["merge","--abort"],kind:"need-merge-abort"};case"need-push-merge":return{id:`${t.name}-push-merge-${Date.now()}`,projectName:t.name,description:`推送合并结果 ${a}`,args:["push","origin",a],kind:"need-push-merge"};case"need-main-fetch":return{id:`${t.name}-main-fetch-${Date.now()}`,projectName:t.name,description:"拉取远端",args:["fetch","origin"],kind:"need-main-fetch"};case"need-main-check":return{id:`${t.name}-main-check-${Date.now()}`,projectName:t.name,description:"检查 origin/main",args:["ls-remote","--heads","origin","main"],kind:"need-main-check"};case"need-status-main":return{id:`${t.name}-status-main-${Date.now()}`,projectName:t.name,description:"检查工作区",args:["status","--porcelain"],kind:"need-status-main"};case"need-checkout-main":return{id:`${t.name}-checkout-main-${Date.now()}`,projectName:t.name,description:"切换到 main",args:["checkout","main"],kind:"need-checkout-main"};case"need-merge-into-main":return{id:`${t.name}-merge-into-main-${Date.now()}`,projectName:t.name,description:`合并 origin/${a} 到 main`,args:["merge","--no-ff","--no-edit",`origin/${a}`],kind:"need-merge-into-main"};case"need-merge-into-main-abort":return{id:`${t.name}-merge-into-main-abort-${Date.now()}`,projectName:t.name,description:"终止合并到 main",args:["merge","--abort"],kind:"need-merge-into-main-abort"};case"need-push-main":return{id:`${t.name}-push-main-${Date.now()}`,projectName:t.name,description:"推送 main",args:["push","origin","main"],kind:"need-push-main"};default:return null}}(e,a);if(n)return e.currentIndex=t,e.currentStep=n,n;e.currentIndex=t+1}return e.currentStep=null,null}async function k(e){let{createBranch:t}=e;for(let a of[...e.projects].reverse()){if(!a.originalBranch)continue;e.operationLogs.push(`[${a.name}] 回滚: ${g(["checkout",a.originalBranch])}`);let n=await h(a.path,["checkout",a.originalBranch]);if(l(e.operationLogs,a.name,`回滚切换分支 ${a.originalBranch}`,n),a.createdLocalBranch&&!a.hadLocalBranch){e.operationLogs.push(`[${a.name}] 回滚: ${g(["branch","-D",t])}`);let n=await h(a.path,["branch","-D",t]);l(e.operationLogs,a.name,`回滚删除本地分支 ${t}`,n)}}}async function $(e,t){let a=e.projects.find(e=>e.name===t.projectName);if(!a)return void e.feedbacks.push(`[${t.projectName}] 项目不存在,跳过。`);e.operationLogs.push(`[${a.name}] ${g(t.args)}`);let n=await h(a.path,t.args);switch(l(e.operationLogs,a.name,t.description,n),t.kind){case"need-current-branch":a.originalBranch=n.stdout.replace(/\s+/g," ").trim()||"HEAD",0===n.code?a.phase="need-fetch":(a.status="failed",e.feedbacks.push(`[${a.name}] 获取当前分支失败。`));break;case"need-fetch":0===n.code?a.phase="need-base-check":(a.status="failed",e.feedbacks.push(`[${a.name}] 拉取远端失败: ${n.stderr||n.stdout}`));break;case"need-base-check":a.baseExists=!!n.stdout.trim(),a.baseExists?a.phase="need-remote-create-check":(a.status="failed",e.feedbacks.push(`[${a.name}] origin/${e.baseBranch} 不存在,无法创建分支。`));break;case"need-remote-create-check":a.remoteCreateExists=!!n.stdout.trim(),a.phase="need-local-create-check";break;case"need-local-create-check":a.localCreateExists=0===n.code,a.localCreateExists?a.phase="need-checkout-create":a.remoteCreateExists?(a.hadLocalBranch=!1,a.phase="need-checkout-remote-create"):(a.hadLocalBranch=!1,a.phase="need-create-branch");break;case"need-checkout-remote-create":0===n.code?a.phase="need-merge-check":(a.status="failed",e.feedbacks.push(`[${a.name}] 切换到远端分支失败: ${n.stderr||n.stdout}`));break;case"need-create-branch":0===n.code?(a.createdLocalBranch=!0,a.phase="need-push-branch"):(a.status="failed",e.feedbacks.push(`[${a.name}] 创建分支失败: ${n.stderr||n.stdout}`));break;case"need-push-branch":0===n.code?a.phase="need-merge-check":(a.status="failed",e.feedbacks.push(`[${a.name}] 推送新分支失败: ${n.stderr||n.stdout}`));break;case"need-merge-check":a.mergeExists=!!n.stdout.trim(),a.mergeExists?a.phase="need-status":(a.status="failed",e.feedbacks.push(`[${a.name}] origin/${e.mergeBranch} 不存在,无法合并。`));break;case"need-status":a.statusClean=0===n.stdout.trim().length,a.statusClean?a.phase="need-checkout-create":(a.status="failed",e.feedbacks.push(`[${a.name}] 工作区有未提交改动,请先处理后再执行合并。`));break;case"need-checkout-create":0===n.code?a.phase="need-fetch-after-checkout":(a.status="failed",e.feedbacks.push(`[${a.name}] 切换到分支失败: ${n.stderr||n.stdout}`));break;case"need-fetch-after-checkout":0===n.code?a.phase="need-merge":(a.status="failed",e.feedbacks.push(`[${a.name}] 拉取远端失败: ${n.stderr||n.stdout}`));break;case"need-merge":0===n.code?a.phase="need-push-merge":(a.phase="need-merge-abort",e.feedbacks.push(`[${a.name}] 合并冲突,准备终止合并。`));break;case"need-merge-abort":0!==n.code&&e.feedbacks.push(`[${a.name}] 终止合并失败: ${n.stderr||n.stdout}`),a.status="failed",e.feedbacks.push(`[${a.name}] 合并冲突,已终止合并,请手动处理。`);break;case"need-push-merge":0===n.code?a.phase="need-main-fetch":(a.status="failed",e.feedbacks.push(`[${a.name}] 推送合并结果失败: ${n.stderr||n.stdout}`));break;case"need-main-fetch":0===n.code?a.phase="need-main-check":(a.status="failed",e.feedbacks.push(`[${a.name}] 拉取远端失败: ${n.stderr||n.stdout}`));break;case"need-main-check":n.stdout.trim()?a.phase="need-status-main":(a.status="failed",e.feedbacks.push(`[${a.name}] origin/main 不存在,无法合并。`));break;case"need-status-main":0===n.stdout.trim().length?a.phase="need-checkout-main":(a.status="failed",e.feedbacks.push(`[${a.name}] 工作区有未提交改动,请先处理后再合并 main。`));break;case"need-checkout-main":0===n.code?a.phase="need-merge-into-main":(a.status="failed",e.feedbacks.push(`[${a.name}] 切换到 main 失败: ${n.stderr||n.stdout}`));break;case"need-merge-into-main":0===n.code?a.phase="need-push-main":(a.phase="need-merge-into-main-abort",e.feedbacks.push(`[${a.name}] 合并到 main 冲突,准备终止合并。`));break;case"need-merge-into-main-abort":0!==n.code&&e.feedbacks.push(`[${a.name}] 终止合并到 main 失败: ${n.stderr||n.stdout}`),a.status="failed",e.feedbacks.push(`[${a.name}] 合并到 main 冲突,已终止合并,请手动处理。`);break;case"need-push-main":0===n.code?(a.status="done",a.phase="done"):(a.status="failed",e.feedbacks.push(`[${a.name}] 推送 main 失败: ${n.stderr||n.stdout}`))}}async function b(e){try{let t=await e.json(),a="string"==typeof t.action?t.action:"";if("start"===a){let e=Array.isArray(t.projects)?t.projects:[],a="string"==typeof t.createBranch?t.createBranch.trim():"",s="string"==typeof t.baseBranch?t.baseBranch.trim():"",h="string"==typeof t.mergeBranch?t.mergeBranch.trim():"",l="string"==typeof t.runId?t.runId:"",k=[],$=[];if(0===e.length||!a||!s||!h)return n.NextResponse.json({success:!1,operationLogs:k,feedbacks:["缺少必要参数,请填写完整后重试。"]},{status:400});if(!m(a)||!m(s)||!m(h))return n.NextResponse.json({success:!1,operationLogs:k,feedbacks:["分支名称不合法,请避免空格或以 - 开头。"]},{status:400});if(!l)return n.NextResponse.json({success:!1,operationLogs:k,feedbacks:["缺少 runId,请刷新页面后重试。"]},{status:400});(0,u.createUatGitFlowState)(l);let b=await (0,i.getProjectsConfig)(),j=o.WORKSPACE_CONFIG.WORKSPACE_ROOT,w=[];for(let t of e){let e=String(t),a=(0,d.sanitizeProjectName)(e);if(!a||a!==e){k.push(`[${e}] 失败: 项目名称包含无效字符`),$.push(`[${e}] 项目名称包含无效字符,已跳过。`);continue}if(!b[a]){k.push(`[${a}] 失败: 未在项目配置中找到`),$.push(`[${a}] 未在项目配置中找到,已跳过。`);continue}let n=(0,c.join)(j,a);if(!(0,r.existsSync)(n)){k.push(`[${a}] 失败: 项目目录不存在`),$.push(`[${a}] 项目目录不存在,已跳过。`);continue}if(!(0,r.existsSync)((0,c.join)(n,".git"))){k.push(`[${a}] 失败: 非 Git 仓库`),$.push(`[${a}] 不是有效的 Git 仓库,已跳过。`);continue}w.push({name:a,path:n,phase:"need-current-branch",status:"pending",originalBranch:"",createdLocalBranch:!1,hadLocalBranch:!0,baseExists:null,remoteCreateExists:null,localCreateExists:null,mergeExists:null,statusClean:null})}let N={runId:l,createBranch:a,baseBranch:s,mergeBranch:h,projects:w,currentIndex:0,operationLogs:k,feedbacks:$,currentStep:null,updatedAt:Date.now()},x=f(N);return(0,p.createStepRun)(N),n.NextResponse.json({success:!0,runId:l,nextStep:x?{stepId:x.id,projectName:x.projectName,description:x.description,command:g(x.args)}:null,operationLogs:N.operationLogs,feedbacks:N.feedbacks,isComplete:null===x})}if("execute"===a){let e="string"==typeof t.runId?t.runId:"",a="string"==typeof t.stepId?t.stepId:"",s=(0,p.getStepRun)(e);if(!s)return n.NextResponse.json({success:!1,operationLogs:[],feedbacks:["未找到执行上下文,请重新开始。"]},{status:404});if((0,u.isUatGitFlowAborted)(e))return s.operationLogs.push("已收到中断请求,开始回滚已执行的本地操作。"),await k(s),(0,p.clearStepRun)(e),(0,u.clearUatGitFlowState)(e),n.NextResponse.json({success:!0,runId:e,nextStep:null,operationLogs:s.operationLogs,feedbacks:s.feedbacks,isComplete:!0,aborted:!0});if(!s.currentStep||s.currentStep.id!==a)return n.NextResponse.json({success:!1,operationLogs:s.operationLogs,feedbacks:["步骤已更新,请重新确认。"]},{status:409});await $(s,s.currentStep);let r=f(s);return(0,p.updateStepRun)(s),r||((0,p.clearStepRun)(e),(0,u.clearUatGitFlowState)(e)),n.NextResponse.json({success:!0,runId:e,nextStep:r?{stepId:r.id,projectName:r.projectName,description:r.description,command:g(r.args)}:null,operationLogs:s.operationLogs,feedbacks:s.feedbacks,isComplete:null===r})}if("abort"===a){let e="string"==typeof t.runId?t.runId:"",a=(0,p.getStepRun)(e);if(!a)return n.NextResponse.json({success:!1,operationLogs:[],feedbacks:["未找到执行上下文,请重新开始。"]},{status:404});return a.operationLogs.push("已收到中断请求,开始回滚已执行的本地操作。"),await k(a),(0,p.clearStepRun)(e),(0,u.clearUatGitFlowState)(e),n.NextResponse.json({success:!0,runId:e,nextStep:null,operationLogs:a.operationLogs,feedbacks:a.feedbacks,isComplete:!0,aborted:!0})}return n.NextResponse.json({success:!1,operationLogs:[],feedbacks:["未知操作类型。"]},{status:400})}catch(e){return console.error("UAT git 分步执行失败:",e),n.NextResponse.json({success:!1,operationLogs:[],feedbacks:[e instanceof Error?e.message:"执行失败"]},{status:500})}}}},3301:e=>{"use strict";var{g:t,__dirname:a}=e;{e.s({patchFetch:()=>o,routeModule:()=>t,serverHooks:()=>d,workAsyncStorage:()=>a,workUnitAsyncStorage:()=>i});var n=e.i(45746),s=e.i(93828),r=e.i(18250),c=e.i(9967);let t=new n.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/uat-git-flow/step/route",pathname:"/api/uat-git-flow/step",filename:"route",bundlePath:""},resolvedPagePath:"[project]/packages/server/src/app/api/uat-git-flow/step/route.ts",nextConfigOutput:"",userland:c}),{workAsyncStorage:a,workUnitAsyncStorage:i,serverHooks:d}=t;function o(){return(0,r.patchFetch)({workAsyncStorage:a,workUnitAsyncStorage:i})}}}};
2
+
3
+ //# sourceMappingURL=_24087f66._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["turbopack:///[project]/packages/server/src/app/api/uat-git-flow/step-state.ts","turbopack:///[project]/packages/server/src/app/api/uat-git-flow/step/route.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/src/build/templates/app-route.ts"],"sourcesContent":["type ProjectPhase =\n | 'need-current-branch'\n | 'need-fetch'\n | 'need-base-check'\n | 'need-remote-create-check'\n | 'need-local-create-check'\n | 'need-checkout-remote-create'\n | 'need-create-branch'\n | 'need-push-branch'\n | 'need-merge-check'\n | 'need-status'\n | 'need-checkout-create'\n | 'need-fetch-after-checkout'\n | 'need-merge'\n | 'need-merge-abort'\n | 'need-push-merge'\n | 'need-checkout-main'\n | 'need-merge-into-main'\n | 'need-merge-into-main-abort'\n | 'need-main-check'\n | 'need-status-main'\n | 'need-main-fetch'\n | 'need-push-main'\n | 'done'\n | 'failed';\n\nexport type StepDescriptor = {\n id: string;\n projectName: string;\n description: string;\n args: string[];\n kind: ProjectPhase;\n};\n\nexport type ProjectRunState = {\n name: string;\n path: string;\n phase: ProjectPhase;\n status: 'pending' | 'done' | 'failed';\n originalBranch: string;\n createdLocalBranch: boolean;\n hadLocalBranch: boolean;\n baseExists: boolean | null;\n remoteCreateExists: boolean | null;\n localCreateExists: boolean | null;\n mergeExists: boolean | null;\n statusClean: boolean | null;\n};\n\nexport type RunState = {\n runId: string;\n createBranch: string;\n baseBranch: string;\n mergeBranch: string;\n projects: ProjectRunState[];\n currentIndex: number;\n operationLogs: string[];\n feedbacks: string[];\n currentStep: StepDescriptor | null;\n updatedAt: number;\n};\n\nconst runStates = new Map<string, RunState>();\nconst RUN_STATE_TTL = 1000 * 60 * 60;\n\nfunction cleanupRunStates() {\n const now = Date.now();\n for (const [runId, state] of runStates.entries()) {\n if (now - state.updatedAt > RUN_STATE_TTL) {\n runStates.delete(runId);\n }\n }\n}\n\nexport function createStepRun(state: RunState) {\n cleanupRunStates();\n runStates.set(state.runId, { ...state, updatedAt: Date.now() });\n}\n\nexport function getStepRun(runId: string) {\n cleanupRunStates();\n const state = runStates.get(runId);\n if (!state) return null;\n return state;\n}\n\nexport function updateStepRun(state: RunState) {\n runStates.set(state.runId, { ...state, updatedAt: Date.now() });\n}\n\nexport function clearStepRun(runId: string) {\n runStates.delete(runId);\n}\n","import { NextRequest, NextResponse } from 'next/server';\nimport { spawn } from 'child_process';\nimport { existsSync } from 'fs';\nimport { join } from 'path';\nimport { WORKSPACE_CONFIG } from '@/lib/workspace-types';\nimport { getProjectsConfig } from '@/lib/workspace-config';\nimport { sanitizeProjectName } from '@/lib/git-operations';\nimport { createUatGitFlowState, isUatGitFlowAborted, clearUatGitFlowState } from '../state';\nimport {\n clearStepRun,\n createStepRun,\n getStepRun,\n updateStepRun,\n type ProjectRunState,\n type RunState,\n type StepDescriptor,\n} from '../step-state';\n\ntype GitResult = {\n code: number | null;\n stdout: string;\n stderr: string;\n};\n\nconst invalidBranchChars = /\\\\s/;\n\nfunction isValidBranchName(name: string) {\n if (!name) return false;\n if (invalidBranchChars.test(name)) return false;\n if (name.startsWith('-')) return false;\n return true;\n}\n\nfunction runGitCommand(cwd: string, args: string[]): Promise<GitResult> {\n return new Promise((resolve, reject) => {\n const child = spawn('git', args, {\n cwd,\n stdio: ['ignore', 'pipe', 'pipe']\n });\n\n let stdout = '';\n let stderr = '';\n\n child.stdout?.on('data', (data: Buffer) => {\n stdout += data.toString();\n });\n\n child.stderr?.on('data', (data: Buffer) => {\n stderr += data.toString();\n });\n\n child.on('close', (code) => {\n resolve({ code, stdout, stderr });\n });\n\n child.on('error', (error) => {\n reject(error);\n });\n });\n}\n\nfunction formatCommand(args: string[]) {\n return `git ${args.join(' ')}`;\n}\n\nfunction sanitizeLogValue(value: string) {\n return value.replace(/\\s+/g, ' ').trim();\n}\n\nfunction logCommandResult(operationLogs: string[], projectName: string, step: string, result: GitResult) {\n if (result.code === 0) {\n operationLogs.push(`[${projectName}] 完成: ${step}`);\n } else {\n operationLogs.push(`[${projectName}] 失败: ${step} ${result.stderr || result.stdout}`);\n }\n}\n\nfunction initProjectRunState(projectName: string, projectPath: string): ProjectRunState {\n return {\n name: projectName,\n path: projectPath,\n phase: 'need-current-branch',\n status: 'pending',\n originalBranch: '',\n createdLocalBranch: false,\n hadLocalBranch: true,\n baseExists: null,\n remoteCreateExists: null,\n localCreateExists: null,\n mergeExists: null,\n statusClean: null,\n };\n}\n\nfunction buildStep(run: RunState, project: ProjectRunState): StepDescriptor | null {\n if (project.status !== 'pending') return null;\n const { createBranch, baseBranch, mergeBranch } = run;\n\n switch (project.phase) {\n case 'need-current-branch':\n return {\n id: `${project.name}-current-branch-${Date.now()}`,\n projectName: project.name,\n description: '检查当前分支',\n args: ['branch', '--show-current'],\n kind: 'need-current-branch',\n };\n case 'need-fetch':\n return {\n id: `${project.name}-fetch-${Date.now()}`,\n projectName: project.name,\n description: '拉取远端',\n args: ['fetch', 'origin'],\n kind: 'need-fetch',\n };\n case 'need-base-check':\n return {\n id: `${project.name}-base-check-${Date.now()}`,\n projectName: project.name,\n description: `检查 origin/${baseBranch}`,\n args: ['ls-remote', '--heads', 'origin', baseBranch],\n kind: 'need-base-check',\n };\n case 'need-remote-create-check':\n return {\n id: `${project.name}-remote-create-check-${Date.now()}`,\n projectName: project.name,\n description: `检查远端分支 ${createBranch}`,\n args: ['ls-remote', '--heads', 'origin', createBranch],\n kind: 'need-remote-create-check',\n };\n case 'need-local-create-check':\n return {\n id: `${project.name}-local-create-check-${Date.now()}`,\n projectName: project.name,\n description: `检查本地分支 ${createBranch}`,\n args: ['show-ref', '--verify', `refs/heads/${createBranch}`],\n kind: 'need-local-create-check',\n };\n case 'need-checkout-remote-create':\n return {\n id: `${project.name}-checkout-remote-${Date.now()}`,\n projectName: project.name,\n description: `切换到远端分支 ${createBranch}`,\n args: ['checkout', '-B', createBranch, `origin/${createBranch}`],\n kind: 'need-checkout-remote-create',\n };\n case 'need-create-branch':\n return {\n id: `${project.name}-create-branch-${Date.now()}`,\n projectName: project.name,\n description: `创建分支 ${createBranch}`,\n args: ['checkout', '-B', createBranch, `origin/${baseBranch}`],\n kind: 'need-create-branch',\n };\n case 'need-push-branch':\n return {\n id: `${project.name}-push-branch-${Date.now()}`,\n projectName: project.name,\n description: `推送分支 ${createBranch}`,\n args: ['push', '-u', 'origin', createBranch],\n kind: 'need-push-branch',\n };\n case 'need-merge-check':\n return {\n id: `${project.name}-merge-check-${Date.now()}`,\n projectName: project.name,\n description: `检查 origin/${mergeBranch}`,\n args: ['ls-remote', '--heads', 'origin', mergeBranch],\n kind: 'need-merge-check',\n };\n case 'need-status':\n return {\n id: `${project.name}-status-${Date.now()}`,\n projectName: project.name,\n description: '检查工作区',\n args: ['status', '--porcelain'],\n kind: 'need-status',\n };\n case 'need-checkout-create':\n return {\n id: `${project.name}-checkout-create-${Date.now()}`,\n projectName: project.name,\n description: `切换到分支 ${createBranch}`,\n args: ['checkout', createBranch],\n kind: 'need-checkout-create',\n };\n case 'need-fetch-after-checkout':\n return {\n id: `${project.name}-fetch-after-checkout-${Date.now()}`,\n projectName: project.name,\n description: '拉取远端',\n args: ['fetch', 'origin'],\n kind: 'need-fetch-after-checkout',\n };\n case 'need-merge':\n return {\n id: `${project.name}-merge-${Date.now()}`,\n projectName: project.name,\n description: `合并 origin/${mergeBranch}`,\n args: ['merge', '--no-ff', '--no-edit', `origin/${mergeBranch}`],\n kind: 'need-merge',\n };\n case 'need-merge-abort':\n return {\n id: `${project.name}-merge-abort-${Date.now()}`,\n projectName: project.name,\n description: '终止合并',\n args: ['merge', '--abort'],\n kind: 'need-merge-abort',\n };\n case 'need-push-merge':\n return {\n id: `${project.name}-push-merge-${Date.now()}`,\n projectName: project.name,\n description: `推送合并结果 ${createBranch}`,\n args: ['push', 'origin', createBranch],\n kind: 'need-push-merge',\n };\n case 'need-main-fetch':\n return {\n id: `${project.name}-main-fetch-${Date.now()}`,\n projectName: project.name,\n description: '拉取远端',\n args: ['fetch', 'origin'],\n kind: 'need-main-fetch',\n };\n case 'need-main-check':\n return {\n id: `${project.name}-main-check-${Date.now()}`,\n projectName: project.name,\n description: '检查 origin/main',\n args: ['ls-remote', '--heads', 'origin', 'main'],\n kind: 'need-main-check',\n };\n case 'need-status-main':\n return {\n id: `${project.name}-status-main-${Date.now()}`,\n projectName: project.name,\n description: '检查工作区',\n args: ['status', '--porcelain'],\n kind: 'need-status-main',\n };\n case 'need-checkout-main':\n return {\n id: `${project.name}-checkout-main-${Date.now()}`,\n projectName: project.name,\n description: '切换到 main',\n args: ['checkout', 'main'],\n kind: 'need-checkout-main',\n };\n case 'need-merge-into-main':\n return {\n id: `${project.name}-merge-into-main-${Date.now()}`,\n projectName: project.name,\n description: `合并 origin/${createBranch} 到 main`,\n args: ['merge', '--no-ff', '--no-edit', `origin/${createBranch}`],\n kind: 'need-merge-into-main',\n };\n case 'need-merge-into-main-abort':\n return {\n id: `${project.name}-merge-into-main-abort-${Date.now()}`,\n projectName: project.name,\n description: '终止合并到 main',\n args: ['merge', '--abort'],\n kind: 'need-merge-into-main-abort',\n };\n case 'need-push-main':\n return {\n id: `${project.name}-push-main-${Date.now()}`,\n projectName: project.name,\n description: '推送 main',\n args: ['push', 'origin', 'main'],\n kind: 'need-push-main',\n };\n default:\n return null;\n }\n}\n\nfunction advanceToNextStep(run: RunState) {\n for (let i = run.currentIndex; i < run.projects.length; i += 1) {\n const project = run.projects[i];\n if (project.status !== 'pending') {\n run.currentIndex = i + 1;\n continue;\n }\n const step = buildStep(run, project);\n if (step) {\n run.currentIndex = i;\n run.currentStep = step;\n return step;\n }\n run.currentIndex = i + 1;\n }\n run.currentStep = null;\n return null;\n}\n\nasync function rollbackRun(run: RunState) {\n const { createBranch } = run;\n for (const project of [...run.projects].reverse()) {\n if (!project.originalBranch) continue;\n run.operationLogs.push(`[${project.name}] 回滚: ${formatCommand(['checkout', project.originalBranch])}`);\n const rollbackCheckout = await runGitCommand(project.path, ['checkout', project.originalBranch]);\n logCommandResult(run.operationLogs, project.name, `回滚切换分支 ${project.originalBranch}`, rollbackCheckout);\n\n if (project.createdLocalBranch && !project.hadLocalBranch) {\n run.operationLogs.push(`[${project.name}] 回滚: ${formatCommand(['branch', '-D', createBranch])}`);\n const rollbackDelete = await runGitCommand(project.path, ['branch', '-D', createBranch]);\n logCommandResult(run.operationLogs, project.name, `回滚删除本地分支 ${createBranch}`, rollbackDelete);\n }\n }\n}\n\nasync function executeStep(run: RunState, step: StepDescriptor) {\n const project = run.projects.find(item => item.name === step.projectName);\n if (!project) {\n run.feedbacks.push(`[${step.projectName}] 项目不存在,跳过。`);\n return;\n }\n\n run.operationLogs.push(`[${project.name}] ${formatCommand(step.args)}`);\n const result = await runGitCommand(project.path, step.args);\n logCommandResult(run.operationLogs, project.name, step.description, result);\n\n switch (step.kind) {\n case 'need-current-branch': {\n project.originalBranch = sanitizeLogValue(result.stdout) || 'HEAD';\n if (result.code === 0) {\n project.phase = 'need-fetch';\n } else {\n project.status = 'failed';\n run.feedbacks.push(`[${project.name}] 获取当前分支失败。`);\n }\n break;\n }\n case 'need-fetch': {\n if (result.code === 0) {\n project.phase = 'need-base-check';\n } else {\n project.status = 'failed';\n run.feedbacks.push(`[${project.name}] 拉取远端失败: ${result.stderr || result.stdout}`);\n }\n break;\n }\n case 'need-base-check': {\n project.baseExists = Boolean(result.stdout.trim());\n if (!project.baseExists) {\n project.status = 'failed';\n run.feedbacks.push(`[${project.name}] origin/${run.baseBranch} 不存在,无法创建分支。`);\n } else {\n project.phase = 'need-remote-create-check';\n }\n break;\n }\n case 'need-remote-create-check': {\n project.remoteCreateExists = Boolean(result.stdout.trim());\n project.phase = 'need-local-create-check';\n break;\n }\n case 'need-local-create-check': {\n project.localCreateExists = result.code === 0;\n if (project.localCreateExists) {\n project.phase = 'need-checkout-create';\n } else if (project.remoteCreateExists) {\n project.hadLocalBranch = false;\n project.phase = 'need-checkout-remote-create';\n } else {\n project.hadLocalBranch = false;\n project.phase = 'need-create-branch';\n }\n break;\n }\n case 'need-checkout-remote-create': {\n if (result.code === 0) {\n project.phase = 'need-merge-check';\n } else {\n project.status = 'failed';\n run.feedbacks.push(`[${project.name}] 切换到远端分支失败: ${result.stderr || result.stdout}`);\n }\n break;\n }\n case 'need-create-branch': {\n if (result.code === 0) {\n project.createdLocalBranch = true;\n project.phase = 'need-push-branch';\n } else {\n project.status = 'failed';\n run.feedbacks.push(`[${project.name}] 创建分支失败: ${result.stderr || result.stdout}`);\n }\n break;\n }\n case 'need-push-branch': {\n if (result.code === 0) {\n project.phase = 'need-merge-check';\n } else {\n project.status = 'failed';\n run.feedbacks.push(`[${project.name}] 推送新分支失败: ${result.stderr || result.stdout}`);\n }\n break;\n }\n case 'need-merge-check': {\n project.mergeExists = Boolean(result.stdout.trim());\n if (!project.mergeExists) {\n project.status = 'failed';\n run.feedbacks.push(`[${project.name}] origin/${run.mergeBranch} 不存在,无法合并。`);\n } else {\n project.phase = 'need-status';\n }\n break;\n }\n case 'need-status': {\n project.statusClean = result.stdout.trim().length === 0;\n if (!project.statusClean) {\n project.status = 'failed';\n run.feedbacks.push(`[${project.name}] 工作区有未提交改动,请先处理后再执行合并。`);\n } else {\n project.phase = 'need-checkout-create';\n }\n break;\n }\n case 'need-checkout-create': {\n if (result.code === 0) {\n project.phase = 'need-fetch-after-checkout';\n } else {\n project.status = 'failed';\n run.feedbacks.push(`[${project.name}] 切换到分支失败: ${result.stderr || result.stdout}`);\n }\n break;\n }\n case 'need-fetch-after-checkout': {\n if (result.code === 0) {\n project.phase = 'need-merge';\n } else {\n project.status = 'failed';\n run.feedbacks.push(`[${project.name}] 拉取远端失败: ${result.stderr || result.stdout}`);\n }\n break;\n }\n case 'need-merge': {\n if (result.code === 0) {\n project.phase = 'need-push-merge';\n } else {\n project.phase = 'need-merge-abort';\n run.feedbacks.push(`[${project.name}] 合并冲突,准备终止合并。`);\n }\n break;\n }\n case 'need-merge-abort': {\n if (result.code !== 0) {\n run.feedbacks.push(`[${project.name}] 终止合并失败: ${result.stderr || result.stdout}`);\n }\n project.status = 'failed';\n run.feedbacks.push(`[${project.name}] 合并冲突,已终止合并,请手动处理。`);\n break;\n }\n case 'need-push-merge': {\n if (result.code === 0) {\n project.phase = 'need-main-fetch';\n } else {\n project.status = 'failed';\n run.feedbacks.push(`[${project.name}] 推送合并结果失败: ${result.stderr || result.stdout}`);\n }\n break;\n }\n case 'need-main-fetch': {\n if (result.code === 0) {\n project.phase = 'need-main-check';\n } else {\n project.status = 'failed';\n run.feedbacks.push(`[${project.name}] 拉取远端失败: ${result.stderr || result.stdout}`);\n }\n break;\n }\n case 'need-main-check': {\n const mainExists = Boolean(result.stdout.trim());\n if (!mainExists) {\n project.status = 'failed';\n run.feedbacks.push(`[${project.name}] origin/main 不存在,无法合并。`);\n } else {\n project.phase = 'need-status-main';\n }\n break;\n }\n case 'need-status-main': {\n const statusClean = result.stdout.trim().length === 0;\n if (!statusClean) {\n project.status = 'failed';\n run.feedbacks.push(`[${project.name}] 工作区有未提交改动,请先处理后再合并 main。`);\n } else {\n project.phase = 'need-checkout-main';\n }\n break;\n }\n case 'need-checkout-main': {\n if (result.code === 0) {\n project.phase = 'need-merge-into-main';\n } else {\n project.status = 'failed';\n run.feedbacks.push(`[${project.name}] 切换到 main 失败: ${result.stderr || result.stdout}`);\n }\n break;\n }\n case 'need-merge-into-main': {\n if (result.code === 0) {\n project.phase = 'need-push-main';\n } else {\n project.phase = 'need-merge-into-main-abort';\n run.feedbacks.push(`[${project.name}] 合并到 main 冲突,准备终止合并。`);\n }\n break;\n }\n case 'need-merge-into-main-abort': {\n if (result.code !== 0) {\n run.feedbacks.push(`[${project.name}] 终止合并到 main 失败: ${result.stderr || result.stdout}`);\n }\n project.status = 'failed';\n run.feedbacks.push(`[${project.name}] 合并到 main 冲突,已终止合并,请手动处理。`);\n break;\n }\n case 'need-push-main': {\n if (result.code === 0) {\n project.status = 'done';\n project.phase = 'done';\n } else {\n project.status = 'failed';\n run.feedbacks.push(`[${project.name}] 推送 main 失败: ${result.stderr || result.stdout}`);\n }\n break;\n }\n default:\n break;\n }\n}\n\nexport async function POST(request: NextRequest) {\n try {\n const body = await request.json();\n const action = typeof body.action === 'string' ? body.action : '';\n\n if (action === 'start') {\n const projects = Array.isArray(body.projects) ? body.projects : [];\n const createBranch = typeof body.createBranch === 'string' ? body.createBranch.trim() : '';\n const baseBranch = typeof body.baseBranch === 'string' ? body.baseBranch.trim() : '';\n const mergeBranch = typeof body.mergeBranch === 'string' ? body.mergeBranch.trim() : '';\n const runId = typeof body.runId === 'string' ? body.runId : '';\n\n const operationLogs: string[] = [];\n const feedbacks: string[] = [];\n\n if (projects.length === 0 || !createBranch || !baseBranch || !mergeBranch) {\n return NextResponse.json({\n success: false,\n operationLogs,\n feedbacks: ['缺少必要参数,请填写完整后重试。'],\n }, { status: 400 });\n }\n\n if (!isValidBranchName(createBranch) || !isValidBranchName(baseBranch) || !isValidBranchName(mergeBranch)) {\n return NextResponse.json({\n success: false,\n operationLogs,\n feedbacks: ['分支名称不合法,请避免空格或以 - 开头。'],\n }, { status: 400 });\n }\n\n if (!runId) {\n return NextResponse.json({\n success: false,\n operationLogs,\n feedbacks: ['缺少 runId,请刷新页面后重试。'],\n }, { status: 400 });\n }\n\n createUatGitFlowState(runId);\n const projectsConfig = await getProjectsConfig();\n const workspacePath = WORKSPACE_CONFIG.WORKSPACE_ROOT;\n const runProjects: ProjectRunState[] = [];\n\n for (const rawProjectName of projects) {\n const originalName = String(rawProjectName);\n const projectName = sanitizeProjectName(originalName);\n\n if (!projectName || projectName !== originalName) {\n operationLogs.push(`[${originalName}] 失败: 项目名称包含无效字符`);\n feedbacks.push(`[${originalName}] 项目名称包含无效字符,已跳过。`);\n continue;\n }\n\n if (!projectsConfig[projectName]) {\n operationLogs.push(`[${projectName}] 失败: 未在项目配置中找到`);\n feedbacks.push(`[${projectName}] 未在项目配置中找到,已跳过。`);\n continue;\n }\n\n const projectPath = join(workspacePath, projectName);\n if (!existsSync(projectPath)) {\n operationLogs.push(`[${projectName}] 失败: 项目目录不存在`);\n feedbacks.push(`[${projectName}] 项目目录不存在,已跳过。`);\n continue;\n }\n\n if (!existsSync(join(projectPath, '.git'))) {\n operationLogs.push(`[${projectName}] 失败: 非 Git 仓库`);\n feedbacks.push(`[${projectName}] 不是有效的 Git 仓库,已跳过。`);\n continue;\n }\n\n runProjects.push(initProjectRunState(projectName, projectPath));\n }\n\n const runState: RunState = {\n runId,\n createBranch,\n baseBranch,\n mergeBranch,\n projects: runProjects,\n currentIndex: 0,\n operationLogs,\n feedbacks,\n currentStep: null,\n updatedAt: Date.now(),\n };\n\n const nextStep = advanceToNextStep(runState);\n createStepRun(runState);\n\n return NextResponse.json({\n success: true,\n runId,\n nextStep: nextStep ? {\n stepId: nextStep.id,\n projectName: nextStep.projectName,\n description: nextStep.description,\n command: formatCommand(nextStep.args),\n } : null,\n operationLogs: runState.operationLogs,\n feedbacks: runState.feedbacks,\n isComplete: nextStep === null,\n });\n }\n\n if (action === 'execute') {\n const runId = typeof body.runId === 'string' ? body.runId : '';\n const stepId = typeof body.stepId === 'string' ? body.stepId : '';\n\n const runState = getStepRun(runId);\n if (!runState) {\n return NextResponse.json({\n success: false,\n operationLogs: [],\n feedbacks: ['未找到执行上下文,请重新开始。'],\n }, { status: 404 });\n }\n\n if (isUatGitFlowAborted(runId)) {\n runState.operationLogs.push('已收到中断请求,开始回滚已执行的本地操作。');\n await rollbackRun(runState);\n clearStepRun(runId);\n clearUatGitFlowState(runId);\n return NextResponse.json({\n success: true,\n runId,\n nextStep: null,\n operationLogs: runState.operationLogs,\n feedbacks: runState.feedbacks,\n isComplete: true,\n aborted: true,\n });\n }\n\n if (!runState.currentStep || runState.currentStep.id !== stepId) {\n return NextResponse.json({\n success: false,\n operationLogs: runState.operationLogs,\n feedbacks: ['步骤已更新,请重新确认。'],\n }, { status: 409 });\n }\n\n await executeStep(runState, runState.currentStep);\n\n const nextStep = advanceToNextStep(runState);\n updateStepRun(runState);\n\n if (!nextStep) {\n clearStepRun(runId);\n clearUatGitFlowState(runId);\n }\n\n return NextResponse.json({\n success: true,\n runId,\n nextStep: nextStep ? {\n stepId: nextStep.id,\n projectName: nextStep.projectName,\n description: nextStep.description,\n command: formatCommand(nextStep.args),\n } : null,\n operationLogs: runState.operationLogs,\n feedbacks: runState.feedbacks,\n isComplete: nextStep === null,\n });\n }\n\n if (action === 'abort') {\n const runId = typeof body.runId === 'string' ? body.runId : '';\n const runState = getStepRun(runId);\n if (!runState) {\n return NextResponse.json({\n success: false,\n operationLogs: [],\n feedbacks: ['未找到执行上下文,请重新开始。'],\n }, { status: 404 });\n }\n\n runState.operationLogs.push('已收到中断请求,开始回滚已执行的本地操作。');\n await rollbackRun(runState);\n clearStepRun(runId);\n clearUatGitFlowState(runId);\n\n return NextResponse.json({\n success: true,\n runId,\n nextStep: null,\n operationLogs: runState.operationLogs,\n feedbacks: runState.feedbacks,\n isComplete: true,\n aborted: true,\n });\n }\n\n return NextResponse.json({\n success: false,\n operationLogs: [],\n feedbacks: ['未知操作类型。'],\n }, { status: 400 });\n } catch (error) {\n console.error('UAT git 分步执行失败:', error);\n return NextResponse.json({\n success: false,\n operationLogs: [],\n feedbacks: [error instanceof Error ? error.message : '执行失败'],\n }, { status: 500 });\n }\n}\n","import {\n AppRouteRouteModule,\n type AppRouteRouteModuleOptions,\n} from '../../server/route-modules/app-route/module.compiled'\nimport { RouteKind } from '../../server/route-kind'\nimport { patchFetch as _patchFetch } from '../../server/lib/patch-fetch'\n\nimport * as userland from 'VAR_USERLAND'\n\n// These are injected by the loader afterwards. This is injected as a variable\n// instead of a replacement because this could also be `undefined` instead of\n// an empty string.\ndeclare const nextConfigOutput: AppRouteRouteModuleOptions['nextConfigOutput']\n\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\n// INJECT:nextConfigOutput\n\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: 'VAR_DEFINITION_PAGE',\n pathname: 'VAR_DEFINITION_PATHNAME',\n filename: 'VAR_DEFINITION_FILENAME',\n bundlePath: 'VAR_DEFINITION_BUNDLE_PATH',\n },\n resolvedPagePath: 'VAR_RESOLVED_PAGE_PATH',\n nextConfigOutput,\n userland,\n})\n\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule\n\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage,\n })\n}\n\nexport {\n routeModule,\n workAsyncStorage,\n workUnitAsyncStorage,\n serverHooks,\n patchFetch,\n}\n"],"names":["AppRouteRouteModule","RouteKind","patchFetch","_patchFetch","userland","routeModule","definition","kind","APP_ROUTE","page","pathname","filename","bundlePath","resolvedPagePath","nextConfigOutput","workAsyncStorage","workUnitAsyncStorage","serverHooks"],"mappings":"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","ignoreList":[2]}
@@ -0,0 +1,3 @@
1
+ module.exports={32970:t=>{"use strict";var{g:e,__dirname:i}=t;{t.s({POST:()=>d});var a=t.i(15494),o=t.i(87485),r=t.i(83886),n=t.i(30331),s=t.i(88941),u=t.i(35692),c=t.i(77159),h=t.i(79810);let e=/\\s/;function $(t){return!(!t||e.test(t)||t.startsWith("-"))}function p(t,e){return new Promise((i,a)=>{let r=(0,o.spawn)("git",e,{cwd:t,stdio:["ignore","pipe","pipe"]}),n="",s="";r.stdout?.on("data",t=>{n+=t.toString()}),r.stderr?.on("data",t=>{s+=t.toString()}),r.on("close",t=>{i({code:t,stdout:n,stderr:s})}),r.on("error",t=>{a(t)})})}function l(t){return`git ${t.join(" ")}`}function g(t,e,i,a){0===a.code?t.push(`[${e}] 完成: ${i}`):t.push(`[${e}] 失败: ${i} ${a.stderr||a.stdout}`)}async function d(t){let e="";try{let i=await t.json(),o=Array.isArray(i.projects)?i.projects:[],d="string"==typeof i.createBranch?i.createBranch.trim():"",f="string"==typeof i.baseBranch?i.baseBranch.trim():"",m="string"==typeof i.mergeBranch?i.mergeBranch.trim():"",w=!!i.dryRun,B="string"==typeof i.runId?i.runId:"",k=[],b=[],y=[],j=new Map,A=(t,e,i,a)=>{j.has(t)||(j.set(t,{success:e,reason:i,rollbackActions:a}),y.push({projectName:t,success:e,reason:i,rollbackActions:a}))},R=async(t,e,i)=>{let a=[];if(i.originalBranch&&"HEAD"!==i.originalBranch){let o=l(["checkout",i.originalBranch]);k.push(`[${t}] 回滚: ${o}`);let r=await p(e,["checkout",i.originalBranch]);g(k,t,`回滚切换分支 ${i.originalBranch}`,r),a.push(o)}if(i.createdLocalBranch&&!i.hadLocalBranch){let i=l(["branch","-D",d]);k.push(`[${t}] 回滚: ${i}`);let o=await p(e,["branch","-D",d]);g(k,t,`回滚删除本地分支 ${d}`,o),a.push(i)}return a};if(0===o.length||!d||!f||!m)return a.NextResponse.json({success:!1,operationLogs:k,feedbacks:["缺少必要参数,请填写完整后重试。"]},{status:400});if(!$(d)||!$(f)||!$(m))return a.NextResponse.json({success:!1,operationLogs:k,feedbacks:["分支名称不合法,请避免空格或以 - 开头。"]},{status:400});if(!B)return a.NextResponse.json({success:!1,operationLogs:k,feedbacks:["缺少 runId,请刷新页面后重试。"]},{status:400});(0,h.createUatGitFlowState)(B),e=B;let S=await (0,u.getProjectsConfig)(),v=s.WORKSPACE_CONFIG.WORKSPACE_ROOT,P=[],x=()=>(0,h.isUatGitFlowAborted)(B);for(let t of o){if(x()){b.push("已收到中断请求,开始回滚已执行的本地操作。");break}let e=String(t),i=(0,c.sanitizeProjectName)(e);if(!i||i!==e){k.push(`[${e}] 失败: 项目名称包含无效字符`),b.push(`[${e}] 项目名称包含无效字符,已跳过。`),A(e,!1,"项目名称包含无效字符");continue}if(!S[i]){k.push(`[${i}] 失败: 未在项目配置中找到`),b.push(`[${i}] 未在项目配置中找到,已跳过。`),A(i,!1,"未在项目配置中找到");continue}let a=(0,n.join)(v,i);if(!(0,r.existsSync)(a)){k.push(`[${i}] 失败: 项目目录不存在`),b.push(`[${i}] 项目目录不存在,已跳过。`),A(i,!1,"项目目录不存在");continue}if(!(0,r.existsSync)((0,n.join)(a,".git"))){k.push(`[${i}] 失败: 非 Git 仓库`),b.push(`[${i}] 不是有效的 Git 仓库,已跳过。`),A(i,!1,"不是有效的 Git 仓库");continue}if(w){k.push(`[${i}] ${l(["fetch","origin"])}`),k.push(`[${i}] ${l(["ls-remote","--heads","origin",f])}`),k.push(`[${i}] ${l(["ls-remote","--heads","origin",d])}`),k.push(`[${i}] ${l(["show-ref","--verify",`refs/heads/${d}`])}`),k.push(`[${i}] ${l(["checkout","-B",d,`origin/${f}`])}`),k.push(`[${i}] ${l(["push","-u","origin",d])}`),k.push(`[${i}] ${l(["ls-remote","--heads","origin",m])}`),k.push(`[${i}] ${l(["status","--porcelain"])}`),k.push(`[${i}] ${l(["checkout",d])}`),k.push(`[${i}] ${l(["merge","--no-ff","--no-edit",`origin/${m}`])}`),k.push(`[${i}] ${l(["push","origin",d])}`),k.push(`[${i}] ${l(["checkout","main"])}`),k.push(`[${i}] ${l(["fetch","origin"])}`),k.push(`[${i}] ${l(["ls-remote","--heads","origin","main"])}`),k.push(`[${i}] ${l(["status","--porcelain"])}`),k.push(`[${i}] ${l(["merge","--no-ff","--no-edit",`origin/${d}`])}`),k.push(`[${i}] ${l(["push","origin","main"])}`);continue}k.push(`[${i}] 检查当前分支`);let o=await p(a,["branch","--show-current"]);g(k,i,"当前分支检查",o);let s={originalBranch:o.stdout.replace(/\s+/g," ").trim()||"HEAD",createdLocalBranch:!1,hadLocalBranch:!0};k.push(`[${i}] ${l(["fetch","origin"])}`);let u=await p(a,["fetch","origin"]);if(g(k,i,"拉取远端",u),0!==u.code){b.push(`[${i}] 拉取远端失败: ${u.stderr||u.stdout}`);let t=await R(i,a,s);A(i,!1,"拉取远端失败",t);continue}k.push(`[${i}] ${l(["ls-remote","--heads","origin",f])}`);let h=await p(a,["ls-remote","--heads","origin",f]);if(g(k,i,`检查 origin/${f}`,h),!h.stdout.trim()){b.push(`[${i}] origin/${f} 不存在,无法创建分支。`);let t=await R(i,a,s);A(i,!1,`origin/${f} 不存在`,t);continue}k.push(`[${i}] ${l(["ls-remote","--heads","origin",d])}`);let $=await p(a,["ls-remote","--heads","origin",d]);g(k,i,`检查远端分支 ${d}`,$),k.push(`[${i}] ${l(["show-ref","--verify",`refs/heads/${d}`])}`);let B=await p(a,["show-ref","--verify",`refs/heads/${d}`]);if(g(k,i,`检查本地分支 ${d}`,B),0===B.code){k.push(`[${i}] ${l(["checkout",d])}`);let t=await p(a,["checkout",d]);if(g(k,i,`切换到本地分支 ${d}`,t),0!==t.code){b.push(`[${i}] 切换到本地分支失败: ${t.stderr||t.stdout}`);let e=await R(i,a,s);A(i,!1,"切换到本地分支失败",e);continue}k.push(`[${i}] ${l(["fetch","origin"])}`);let e=await p(a,["fetch","origin"]);if(g(k,i,"拉取远端",e),0!==e.code){b.push(`[${i}] 拉取远端失败: ${e.stderr||e.stdout}`);let t=await R(i,a,s);A(i,!1,"拉取远端失败",t);continue}}else if(s.hadLocalBranch=!1,$.stdout.trim()){k.push(`[${i}] ${l(["checkout","-B",d,`origin/${d}`])}`);let t=await p(a,["checkout","-B",d,`origin/${d}`]);if(g(k,i,`切换到远端分支 ${d}`,t),0!==t.code){b.push(`[${i}] 切换到已有远端分支失败: ${t.stderr||t.stdout}`);let e=await R(i,a,s);A(i,!1,"切换到已有远端分支失败",e);continue}}else{k.push(`[${i}] ${l(["checkout","-B",d,`origin/${f}`])}`);let t=await p(a,["checkout","-B",d,`origin/${f}`]);if(g(k,i,`创建分支 ${d}`,t),0!==t.code){b.push(`[${i}] 创建分支失败: ${t.stderr||t.stdout}`);let e=await R(i,a,s);A(i,!1,"创建分支失败",e);continue}s.createdLocalBranch=!0,k.push(`[${i}] ${l(["push","-u","origin",d])}`);let e=await p(a,["push","-u","origin",d]);if(g(k,i,`推送分支 ${d}`,e),0!==e.code){b.push(`[${i}] 推送新分支失败: ${e.stderr||e.stdout}`);let t=await R(i,a,s);A(i,!1,"推送新分支失败",t);continue}}k.push(`[${i}] ${l(["ls-remote","--heads","origin",m])}`);let y=await p(a,["ls-remote","--heads","origin",m]);if(g(k,i,`检查 origin/${m}`,y),!y.stdout.trim()){b.push(`[${i}] origin/${m} 不存在,无法合并。`);let t=await R(i,a,s);A(i,!1,`origin/${m} 不存在`,t);continue}if(P.push({name:i,info:s}),x()){b.push("已收到中断请求,开始回滚已执行的本地操作。");break}k.push(`[${i}] ${l(["status","--porcelain"])}`);let j=await p(a,["status","--porcelain"]);if(g(k,i,"检查工作区",j),j.stdout.trim()){b.push(`[${i}] 工作区有未提交改动,请先处理后再执行合并。`);let t=await R(i,a,s);A(i,!1,"工作区有未提交改动",t);continue}k.push(`[${i}] ${l(["checkout",d])}`);let L=await p(a,["checkout",d]);if(g(k,i,`切换到分支 ${d}`,L),0!==L.code){b.push(`[${i}] 切换到分支失败: ${L.stderr||L.stdout}`);let t=await R(i,a,s);A(i,!1,"切换到分支失败",t);continue}k.push(`[${i}] ${l(["merge","--no-ff","--no-edit",`origin/${m}`])}`);let G=await p(a,["merge","--no-ff","--no-edit",`origin/${m}`]);if(g(k,i,`合并 origin/${m}`,G),0!==G.code){k.push(`[${i}] ${l(["merge","--abort"])}`);let t=await p(a,["merge","--abort"]);g(k,i,"终止合并",t),b.push(`[${i}] 合并冲突,已终止合并,请手动处理。`);let e=await R(i,a,s);A(i,!1,"合并冲突",e);continue}k.push(`[${i}] ${l(["push","origin",d])}`);let O=await p(a,["push","origin",d]);if(g(k,i,`推送合并结果 ${d}`,O),0!==O.code){b.push(`[${i}] 推送合并结果失败: ${O.stderr||O.stdout}`);let t=await R(i,a,s);A(i,!1,"推送合并结果失败",t);continue}k.push(`[${i}] ${l(["fetch","origin"])}`);let D=await p(a,["fetch","origin"]);if(g(k,i,"拉取远端",D),0!==D.code){b.push(`[${i}] 拉取远端失败: ${D.stderr||D.stdout}`);let t=await R(i,a,s);A(i,!1,"拉取远端失败",t);continue}k.push(`[${i}] ${l(["ls-remote","--heads","origin","main"])}`);let E=await p(a,["ls-remote","--heads","origin","main"]);if(g(k,i,"检查 origin/main",E),!E.stdout.trim()){b.push(`[${i}] origin/main 不存在,无法合并。`);let t=await R(i,a,s);A(i,!1,"origin/main 不存在",t);continue}k.push(`[${i}] ${l(["status","--porcelain"])}`);let F=await p(a,["status","--porcelain"]);if(g(k,i,"检查工作区",F),F.stdout.trim()){b.push(`[${i}] 工作区有未提交改动,请先处理后再合并 main。`);let t=await R(i,a,s);A(i,!1,"工作区有未提交改动",t);continue}k.push(`[${i}] ${l(["checkout","main"])}`);let N=await p(a,["checkout","main"]);if(g(k,i,"切换到 main",N),0!==N.code){b.push(`[${i}] 切换到 main 失败: ${N.stderr||N.stdout}`);let t=await R(i,a,s);A(i,!1,"切换到 main 失败",t);continue}k.push(`[${i}] ${l(["merge","--no-ff","--no-edit",`origin/${d}`])}`);let U=await p(a,["merge","--no-ff","--no-edit",`origin/${d}`]);if(g(k,i,`合并 origin/${d} 到 main`,U),0!==U.code){k.push(`[${i}] ${l(["merge","--abort"])}`);let t=await p(a,["merge","--abort"]);g(k,i,"终止合并到 main",t),b.push(`[${i}] 合并到 main 冲突,已终止合并,请手动处理。`);let e=await R(i,a,s);A(i,!1,"合并到 main 冲突",e);continue}k.push(`[${i}] ${l(["push","origin","main"])}`);let C=await p(a,["push","origin","main"]);if(g(k,i,"推送 main",C),0!==C.code){b.push(`[${i}] 推送 main 失败: ${C.stderr||C.stdout}`);let t=await R(i,a,s);A(i,!1,"推送 main 失败",t);continue}A(i,!0)}if((0,h.isUatGitFlowAborted)(B))for(let t of P.reverse()){let{name:e,info:i}=t,a=(0,n.join)(v,e);if(i.originalBranch&&"HEAD"!==i.originalBranch){k.push(`[${e}] 回滚: ${l(["checkout",i.originalBranch])}`);let t=await p(a,["checkout",i.originalBranch]);g(k,e,`回滚切换分支 ${i.originalBranch}`,t)}if(i.createdLocalBranch&&!i.hadLocalBranch){k.push(`[${e}] 回滚: ${l(["branch","-D",d])}`);let t=await p(a,["branch","-D",d]);g(k,e,`回滚删除本地分支 ${d}`,t)}}return a.NextResponse.json({success:0===b.length,operationLogs:k,feedbacks:b,projectResults:y})}catch(t){return console.error("UAT git 操作流执行失败:",t),a.NextResponse.json({success:!1,operationLogs:[],feedbacks:[t instanceof Error?t.message:"执行失败"]},{status:500})}finally{e&&(0,h.clearUatGitFlowState)(e)}}}},7044:t=>{"use strict";var{g:e,__dirname:i}=t;{t.s({patchFetch:()=>s,routeModule:()=>e,serverHooks:()=>c,workAsyncStorage:()=>i,workUnitAsyncStorage:()=>u});var a=t.i(45746),o=t.i(93828),r=t.i(18250),n=t.i(32970);let e=new a.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/uat-git-flow/route",pathname:"/api/uat-git-flow",filename:"route",bundlePath:""},resolvedPagePath:"[project]/packages/server/src/app/api/uat-git-flow/route.ts",nextConfigOutput:"",userland:n}),{workAsyncStorage:i,workUnitAsyncStorage:u,serverHooks:c}=e;function s(){return(0,r.patchFetch)({workAsyncStorage:i,workUnitAsyncStorage:u})}}}};
2
+
3
+ //# sourceMappingURL=_61c263b3._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["turbopack:///[project]/packages/server/src/app/api/uat-git-flow/route.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/src/build/templates/app-route.ts"],"sourcesContent":["import { NextRequest, NextResponse } from 'next/server';\nimport { spawn } from 'child_process';\nimport { existsSync } from 'fs';\nimport { join } from 'path';\nimport { WORKSPACE_CONFIG } from '@/lib/workspace-types';\nimport { getProjectsConfig } from '@/lib/workspace-config';\nimport { sanitizeProjectName } from '@/lib/git-operations';\nimport { createUatGitFlowState, clearUatGitFlowState, isUatGitFlowAborted } from './state';\n\ntype GitResult = {\n code: number | null;\n stdout: string;\n stderr: string;\n};\n\nconst invalidBranchChars = /\\\\s/;\n\nfunction isValidBranchName(name: string) {\n if (!name) return false;\n if (invalidBranchChars.test(name)) return false;\n if (name.startsWith('-')) return false;\n return true;\n}\n\nfunction runGitCommand(cwd: string, args: string[]): Promise<GitResult> {\n return new Promise((resolve, reject) => {\n const child = spawn('git', args, {\n cwd,\n stdio: ['ignore', 'pipe', 'pipe']\n });\n\n let stdout = '';\n let stderr = '';\n\n child.stdout?.on('data', (data: Buffer) => {\n stdout += data.toString();\n });\n\n child.stderr?.on('data', (data: Buffer) => {\n stderr += data.toString();\n });\n\n child.on('close', (code) => {\n resolve({ code, stdout, stderr });\n });\n\n child.on('error', (error) => {\n reject(error);\n });\n });\n}\n\nfunction formatCommand(args: string[]) {\n return `git ${args.join(' ')}`;\n}\n\ntype GitProjectInfo = {\n originalBranch: string;\n createdLocalBranch: boolean;\n hadLocalBranch: boolean;\n};\n\nfunction sanitizeLogValue(value: string) {\n return value.replace(/\\s+/g, ' ').trim();\n}\n\nfunction logCommandResult(operationLogs: string[], projectName: string, step: string, result: GitResult) {\n if (result.code === 0) {\n operationLogs.push(`[${projectName}] 完成: ${step}`);\n } else {\n operationLogs.push(`[${projectName}] 失败: ${step} ${result.stderr || result.stdout}`);\n }\n}\n\nexport async function POST(request: NextRequest) {\n let activeRunId = '';\n try {\n const body = await request.json();\n const projects = Array.isArray(body.projects) ? body.projects : [];\n const createBranch = typeof body.createBranch === 'string' ? body.createBranch.trim() : '';\n const baseBranch = typeof body.baseBranch === 'string' ? body.baseBranch.trim() : '';\n const mergeBranch = typeof body.mergeBranch === 'string' ? body.mergeBranch.trim() : '';\n const dryRun = Boolean(body.dryRun);\n const runId = typeof body.runId === 'string' ? body.runId : '';\n\n const operationLogs: string[] = [];\n const feedbacks: string[] = [];\n const projectResults: Array<{\n projectName: string;\n success: boolean;\n reason?: string;\n rollbackActions?: string[];\n }> = [];\n const resultMap = new Map<string, { success: boolean; reason?: string; rollbackActions?: string[] }>();\n const setProjectResult = (\n projectName: string,\n success: boolean,\n reason?: string,\n rollbackActions?: string[]\n ) => {\n if (resultMap.has(projectName)) {\n return;\n }\n resultMap.set(projectName, { success, reason, rollbackActions });\n projectResults.push({ projectName, success, reason, rollbackActions });\n };\n const rollbackProject = async (projectName: string, projectPath: string, info: GitProjectInfo) => {\n const actions: string[] = [];\n if (info.originalBranch && info.originalBranch !== 'HEAD') {\n const command = formatCommand(['checkout', info.originalBranch]);\n operationLogs.push(`[${projectName}] 回滚: ${command}`);\n const rollbackCheckout = await runGitCommand(projectPath, ['checkout', info.originalBranch]);\n logCommandResult(operationLogs, projectName, `回滚切换分支 ${info.originalBranch}`, rollbackCheckout);\n actions.push(command);\n }\n\n if (info.createdLocalBranch && !info.hadLocalBranch) {\n const command = formatCommand(['branch', '-D', createBranch]);\n operationLogs.push(`[${projectName}] 回滚: ${command}`);\n const rollbackDelete = await runGitCommand(projectPath, ['branch', '-D', createBranch]);\n logCommandResult(operationLogs, projectName, `回滚删除本地分支 ${createBranch}`, rollbackDelete);\n actions.push(command);\n }\n\n return actions;\n };\n\n if (projects.length === 0 || !createBranch || !baseBranch || !mergeBranch) {\n return NextResponse.json({\n success: false,\n operationLogs,\n feedbacks: ['缺少必要参数,请填写完整后重试。'],\n }, { status: 400 });\n }\n\n if (!isValidBranchName(createBranch) || !isValidBranchName(baseBranch) || !isValidBranchName(mergeBranch)) {\n return NextResponse.json({\n success: false,\n operationLogs,\n feedbacks: ['分支名称不合法,请避免空格或以 - 开头。'],\n }, { status: 400 });\n }\n\n if (!runId) {\n return NextResponse.json({\n success: false,\n operationLogs,\n feedbacks: ['缺少 runId,请刷新页面后重试。'],\n }, { status: 400 });\n }\n\n createUatGitFlowState(runId);\n activeRunId = runId;\n\n const projectsConfig = await getProjectsConfig();\n const workspacePath = WORKSPACE_CONFIG.WORKSPACE_ROOT;\n const touchedProjects: Array<{ name: string; info: GitProjectInfo }> = [];\n\n const checkAbort = () => isUatGitFlowAborted(runId);\n\n for (const rawProjectName of projects) {\n if (checkAbort()) {\n feedbacks.push('已收到中断请求,开始回滚已执行的本地操作。');\n break;\n }\n\n const originalName = String(rawProjectName);\n const projectName = sanitizeProjectName(originalName);\n\n if (!projectName || projectName !== originalName) {\n operationLogs.push(`[${originalName}] 失败: 项目名称包含无效字符`);\n feedbacks.push(`[${originalName}] 项目名称包含无效字符,已跳过。`);\n setProjectResult(originalName, false, '项目名称包含无效字符');\n continue;\n }\n\n if (!projectsConfig[projectName]) {\n operationLogs.push(`[${projectName}] 失败: 未在项目配置中找到`);\n feedbacks.push(`[${projectName}] 未在项目配置中找到,已跳过。`);\n setProjectResult(projectName, false, '未在项目配置中找到');\n continue;\n }\n\n const projectPath = join(workspacePath, projectName);\n if (!existsSync(projectPath)) {\n operationLogs.push(`[${projectName}] 失败: 项目目录不存在`);\n feedbacks.push(`[${projectName}] 项目目录不存在,已跳过。`);\n setProjectResult(projectName, false, '项目目录不存在');\n continue;\n }\n\n if (!existsSync(join(projectPath, '.git'))) {\n operationLogs.push(`[${projectName}] 失败: 非 Git 仓库`);\n feedbacks.push(`[${projectName}] 不是有效的 Git 仓库,已跳过。`);\n setProjectResult(projectName, false, '不是有效的 Git 仓库');\n continue;\n }\n\n if (dryRun) {\n operationLogs.push(`[${projectName}] ${formatCommand(['fetch', 'origin'])}`);\n operationLogs.push(`[${projectName}] ${formatCommand(['ls-remote', '--heads', 'origin', baseBranch])}`);\n operationLogs.push(`[${projectName}] ${formatCommand(['ls-remote', '--heads', 'origin', createBranch])}`);\n operationLogs.push(`[${projectName}] ${formatCommand(['show-ref', '--verify', `refs/heads/${createBranch}`])}`);\n operationLogs.push(`[${projectName}] ${formatCommand(['checkout', '-B', createBranch, `origin/${baseBranch}`])}`);\n operationLogs.push(`[${projectName}] ${formatCommand(['push', '-u', 'origin', createBranch])}`);\n operationLogs.push(`[${projectName}] ${formatCommand(['ls-remote', '--heads', 'origin', mergeBranch])}`);\n operationLogs.push(`[${projectName}] ${formatCommand(['status', '--porcelain'])}`);\n operationLogs.push(`[${projectName}] ${formatCommand(['checkout', createBranch])}`);\n operationLogs.push(`[${projectName}] ${formatCommand(['merge', '--no-ff', '--no-edit', `origin/${mergeBranch}`])}`);\n operationLogs.push(`[${projectName}] ${formatCommand(['push', 'origin', createBranch])}`);\n operationLogs.push(`[${projectName}] ${formatCommand(['checkout', 'main'])}`);\n operationLogs.push(`[${projectName}] ${formatCommand(['fetch', 'origin'])}`);\n operationLogs.push(`[${projectName}] ${formatCommand(['ls-remote', '--heads', 'origin', 'main'])}`);\n operationLogs.push(`[${projectName}] ${formatCommand(['status', '--porcelain'])}`);\n operationLogs.push(`[${projectName}] ${formatCommand(['merge', '--no-ff', '--no-edit', `origin/${createBranch}`])}`);\n operationLogs.push(`[${projectName}] ${formatCommand(['push', 'origin', 'main'])}`);\n continue;\n }\n\n operationLogs.push(`[${projectName}] 检查当前分支`);\n const currentBranchResult = await runGitCommand(projectPath, ['branch', '--show-current']);\n logCommandResult(operationLogs, projectName, '当前分支检查', currentBranchResult);\n const originalBranch = sanitizeLogValue(currentBranchResult.stdout) || 'HEAD';\n const projectInfo: GitProjectInfo = {\n originalBranch,\n createdLocalBranch: false,\n hadLocalBranch: true,\n };\n\n operationLogs.push(`[${projectName}] ${formatCommand(['fetch', 'origin'])}`);\n const fetchResult = await runGitCommand(projectPath, ['fetch', 'origin']);\n logCommandResult(operationLogs, projectName, '拉取远端', fetchResult);\n if (fetchResult.code !== 0) {\n feedbacks.push(`[${projectName}] 拉取远端失败: ${fetchResult.stderr || fetchResult.stdout}`);\n const rollbackActions = await rollbackProject(projectName, projectPath, projectInfo);\n setProjectResult(projectName, false, '拉取远端失败', rollbackActions);\n continue;\n }\n\n operationLogs.push(`[${projectName}] ${formatCommand(['ls-remote', '--heads', 'origin', baseBranch])}`);\n const baseExists = await runGitCommand(projectPath, ['ls-remote', '--heads', 'origin', baseBranch]);\n logCommandResult(operationLogs, projectName, `检查 origin/${baseBranch}`, baseExists);\n if (!baseExists.stdout.trim()) {\n feedbacks.push(`[${projectName}] origin/${baseBranch} 不存在,无法创建分支。`);\n const rollbackActions = await rollbackProject(projectName, projectPath, projectInfo);\n setProjectResult(projectName, false, `origin/${baseBranch} 不存在`, rollbackActions);\n continue;\n }\n\n operationLogs.push(`[${projectName}] ${formatCommand(['ls-remote', '--heads', 'origin', createBranch])}`);\n const remoteCreateExists = await runGitCommand(projectPath, ['ls-remote', '--heads', 'origin', createBranch]);\n logCommandResult(operationLogs, projectName, `检查远端分支 ${createBranch}`, remoteCreateExists);\n operationLogs.push(`[${projectName}] ${formatCommand(['show-ref', '--verify', `refs/heads/${createBranch}`])}`);\n const localCreateExists = await runGitCommand(projectPath, ['show-ref', '--verify', `refs/heads/${createBranch}`]);\n logCommandResult(operationLogs, projectName, `检查本地分支 ${createBranch}`, localCreateExists);\n\n if (localCreateExists.code === 0) {\n operationLogs.push(`[${projectName}] ${formatCommand(['checkout', createBranch])}`);\n const checkoutLocal = await runGitCommand(projectPath, ['checkout', createBranch]);\n logCommandResult(operationLogs, projectName, `切换到本地分支 ${createBranch}`, checkoutLocal);\n if (checkoutLocal.code !== 0) {\n feedbacks.push(`[${projectName}] 切换到本地分支失败: ${checkoutLocal.stderr || checkoutLocal.stdout}`);\n const rollbackActions = await rollbackProject(projectName, projectPath, projectInfo);\n setProjectResult(projectName, false, '切换到本地分支失败', rollbackActions);\n continue;\n }\n\n operationLogs.push(`[${projectName}] ${formatCommand(['fetch', 'origin'])}`);\n const fetchLocalBranch = await runGitCommand(projectPath, ['fetch', 'origin']);\n logCommandResult(operationLogs, projectName, '拉取远端', fetchLocalBranch);\n if (fetchLocalBranch.code !== 0) {\n feedbacks.push(`[${projectName}] 拉取远端失败: ${fetchLocalBranch.stderr || fetchLocalBranch.stdout}`);\n const rollbackActions = await rollbackProject(projectName, projectPath, projectInfo);\n setProjectResult(projectName, false, '拉取远端失败', rollbackActions);\n continue;\n }\n } else {\n projectInfo.hadLocalBranch = false;\n if (remoteCreateExists.stdout.trim()) {\n operationLogs.push(`[${projectName}] ${formatCommand(['checkout', '-B', createBranch, `origin/${createBranch}`])}`);\n const checkoutRemote = await runGitCommand(projectPath, ['checkout', '-B', createBranch, `origin/${createBranch}`]);\n logCommandResult(operationLogs, projectName, `切换到远端分支 ${createBranch}`, checkoutRemote);\n if (checkoutRemote.code !== 0) {\n feedbacks.push(`[${projectName}] 切换到已有远端分支失败: ${checkoutRemote.stderr || checkoutRemote.stdout}`);\n const rollbackActions = await rollbackProject(projectName, projectPath, projectInfo);\n setProjectResult(projectName, false, '切换到已有远端分支失败', rollbackActions);\n continue;\n }\n } else {\n operationLogs.push(`[${projectName}] ${formatCommand(['checkout', '-B', createBranch, `origin/${baseBranch}`])}`);\n const createResult = await runGitCommand(projectPath, ['checkout', '-B', createBranch, `origin/${baseBranch}`]);\n logCommandResult(operationLogs, projectName, `创建分支 ${createBranch}`, createResult);\n if (createResult.code !== 0) {\n feedbacks.push(`[${projectName}] 创建分支失败: ${createResult.stderr || createResult.stdout}`);\n const rollbackActions = await rollbackProject(projectName, projectPath, projectInfo);\n setProjectResult(projectName, false, '创建分支失败', rollbackActions);\n continue;\n }\n projectInfo.createdLocalBranch = true;\n\n operationLogs.push(`[${projectName}] ${formatCommand(['push', '-u', 'origin', createBranch])}`);\n const pushResult = await runGitCommand(projectPath, ['push', '-u', 'origin', createBranch]);\n logCommandResult(operationLogs, projectName, `推送分支 ${createBranch}`, pushResult);\n if (pushResult.code !== 0) {\n feedbacks.push(`[${projectName}] 推送新分支失败: ${pushResult.stderr || pushResult.stdout}`);\n const rollbackActions = await rollbackProject(projectName, projectPath, projectInfo);\n setProjectResult(projectName, false, '推送新分支失败', rollbackActions);\n continue;\n }\n }\n }\n\n operationLogs.push(`[${projectName}] ${formatCommand(['ls-remote', '--heads', 'origin', mergeBranch])}`);\n const mergeExists = await runGitCommand(projectPath, ['ls-remote', '--heads', 'origin', mergeBranch]);\n logCommandResult(operationLogs, projectName, `检查 origin/${mergeBranch}`, mergeExists);\n if (!mergeExists.stdout.trim()) {\n feedbacks.push(`[${projectName}] origin/${mergeBranch} 不存在,无法合并。`);\n const rollbackActions = await rollbackProject(projectName, projectPath, projectInfo);\n setProjectResult(projectName, false, `origin/${mergeBranch} 不存在`, rollbackActions);\n continue;\n }\n\n touchedProjects.push({ name: projectName, info: projectInfo });\n\n if (checkAbort()) {\n feedbacks.push('已收到中断请求,开始回滚已执行的本地操作。');\n break;\n }\n\n operationLogs.push(`[${projectName}] ${formatCommand(['status', '--porcelain'])}`);\n const statusResult = await runGitCommand(projectPath, ['status', '--porcelain']);\n logCommandResult(operationLogs, projectName, '检查工作区', statusResult);\n if (statusResult.stdout.trim()) {\n feedbacks.push(`[${projectName}] 工作区有未提交改动,请先处理后再执行合并。`);\n const rollbackActions = await rollbackProject(projectName, projectPath, projectInfo);\n setProjectResult(projectName, false, '工作区有未提交改动', rollbackActions);\n continue;\n }\n\n operationLogs.push(`[${projectName}] ${formatCommand(['checkout', createBranch])}`);\n const ensureBranch = await runGitCommand(projectPath, ['checkout', createBranch]);\n logCommandResult(operationLogs, projectName, `切换到分支 ${createBranch}`, ensureBranch);\n if (ensureBranch.code !== 0) {\n feedbacks.push(`[${projectName}] 切换到分支失败: ${ensureBranch.stderr || ensureBranch.stdout}`);\n const rollbackActions = await rollbackProject(projectName, projectPath, projectInfo);\n setProjectResult(projectName, false, '切换到分支失败', rollbackActions);\n continue;\n }\n\n operationLogs.push(`[${projectName}] ${formatCommand(['merge', '--no-ff', '--no-edit', `origin/${mergeBranch}`])}`);\n const mergeResult = await runGitCommand(projectPath, ['merge', '--no-ff', '--no-edit', `origin/${mergeBranch}`]);\n logCommandResult(operationLogs, projectName, `合并 origin/${mergeBranch}`, mergeResult);\n if (mergeResult.code !== 0) {\n operationLogs.push(`[${projectName}] ${formatCommand(['merge', '--abort'])}`);\n const abortResult = await runGitCommand(projectPath, ['merge', '--abort']);\n logCommandResult(operationLogs, projectName, '终止合并', abortResult);\n feedbacks.push(`[${projectName}] 合并冲突,已终止合并,请手动处理。`);\n const rollbackActions = await rollbackProject(projectName, projectPath, projectInfo);\n setProjectResult(projectName, false, '合并冲突', rollbackActions);\n continue;\n }\n\n operationLogs.push(`[${projectName}] ${formatCommand(['push', 'origin', createBranch])}`);\n const pushMerge = await runGitCommand(projectPath, ['push', 'origin', createBranch]);\n logCommandResult(operationLogs, projectName, `推送合并结果 ${createBranch}`, pushMerge);\n if (pushMerge.code !== 0) {\n feedbacks.push(`[${projectName}] 推送合并结果失败: ${pushMerge.stderr || pushMerge.stdout}`);\n const rollbackActions = await rollbackProject(projectName, projectPath, projectInfo);\n setProjectResult(projectName, false, '推送合并结果失败', rollbackActions);\n continue;\n }\n\n operationLogs.push(`[${projectName}] ${formatCommand(['fetch', 'origin'])}`);\n const fetchMain = await runGitCommand(projectPath, ['fetch', 'origin']);\n logCommandResult(operationLogs, projectName, '拉取远端', fetchMain);\n if (fetchMain.code !== 0) {\n feedbacks.push(`[${projectName}] 拉取远端失败: ${fetchMain.stderr || fetchMain.stdout}`);\n const rollbackActions = await rollbackProject(projectName, projectPath, projectInfo);\n setProjectResult(projectName, false, '拉取远端失败', rollbackActions);\n continue;\n }\n\n operationLogs.push(`[${projectName}] ${formatCommand(['ls-remote', '--heads', 'origin', 'main'])}`);\n const mainExists = await runGitCommand(projectPath, ['ls-remote', '--heads', 'origin', 'main']);\n logCommandResult(operationLogs, projectName, '检查 origin/main', mainExists);\n if (!mainExists.stdout.trim()) {\n feedbacks.push(`[${projectName}] origin/main 不存在,无法合并。`);\n const rollbackActions = await rollbackProject(projectName, projectPath, projectInfo);\n setProjectResult(projectName, false, 'origin/main 不存在', rollbackActions);\n continue;\n }\n\n operationLogs.push(`[${projectName}] ${formatCommand(['status', '--porcelain'])}`);\n const statusMain = await runGitCommand(projectPath, ['status', '--porcelain']);\n logCommandResult(operationLogs, projectName, '检查工作区', statusMain);\n if (statusMain.stdout.trim()) {\n feedbacks.push(`[${projectName}] 工作区有未提交改动,请先处理后再合并 main。`);\n const rollbackActions = await rollbackProject(projectName, projectPath, projectInfo);\n setProjectResult(projectName, false, '工作区有未提交改动', rollbackActions);\n continue;\n }\n\n operationLogs.push(`[${projectName}] ${formatCommand(['checkout', 'main'])}`);\n const checkoutMain = await runGitCommand(projectPath, ['checkout', 'main']);\n logCommandResult(operationLogs, projectName, '切换到 main', checkoutMain);\n if (checkoutMain.code !== 0) {\n feedbacks.push(`[${projectName}] 切换到 main 失败: ${checkoutMain.stderr || checkoutMain.stdout}`);\n const rollbackActions = await rollbackProject(projectName, projectPath, projectInfo);\n setProjectResult(projectName, false, '切换到 main 失败', rollbackActions);\n continue;\n }\n\n operationLogs.push(`[${projectName}] ${formatCommand(['merge', '--no-ff', '--no-edit', `origin/${createBranch}`])}`);\n const mergeIntoMain = await runGitCommand(projectPath, ['merge', '--no-ff', '--no-edit', `origin/${createBranch}`]);\n logCommandResult(operationLogs, projectName, `合并 origin/${createBranch} 到 main`, mergeIntoMain);\n if (mergeIntoMain.code !== 0) {\n operationLogs.push(`[${projectName}] ${formatCommand(['merge', '--abort'])}`);\n const abortMain = await runGitCommand(projectPath, ['merge', '--abort']);\n logCommandResult(operationLogs, projectName, '终止合并到 main', abortMain);\n feedbacks.push(`[${projectName}] 合并到 main 冲突,已终止合并,请手动处理。`);\n const rollbackActions = await rollbackProject(projectName, projectPath, projectInfo);\n setProjectResult(projectName, false, '合并到 main 冲突', rollbackActions);\n continue;\n }\n\n operationLogs.push(`[${projectName}] ${formatCommand(['push', 'origin', 'main'])}`);\n const pushMain = await runGitCommand(projectPath, ['push', 'origin', 'main']);\n logCommandResult(operationLogs, projectName, '推送 main', pushMain);\n if (pushMain.code !== 0) {\n feedbacks.push(`[${projectName}] 推送 main 失败: ${pushMain.stderr || pushMain.stdout}`);\n const rollbackActions = await rollbackProject(projectName, projectPath, projectInfo);\n setProjectResult(projectName, false, '推送 main 失败', rollbackActions);\n continue;\n }\n\n setProjectResult(projectName, true);\n }\n\n if (isUatGitFlowAborted(runId)) {\n for (const touched of touchedProjects.reverse()) {\n const { name, info } = touched;\n const projectPath = join(workspacePath, name);\n\n if (info.originalBranch && info.originalBranch !== 'HEAD') {\n operationLogs.push(`[${name}] 回滚: ${formatCommand(['checkout', info.originalBranch])}`);\n const rollbackCheckout = await runGitCommand(projectPath, ['checkout', info.originalBranch]);\n logCommandResult(operationLogs, name, `回滚切换分支 ${info.originalBranch}`, rollbackCheckout);\n }\n\n if (info.createdLocalBranch && !info.hadLocalBranch) {\n operationLogs.push(`[${name}] 回滚: ${formatCommand(['branch', '-D', createBranch])}`);\n const rollbackDelete = await runGitCommand(projectPath, ['branch', '-D', createBranch]);\n logCommandResult(operationLogs, name, `回滚删除本地分支 ${createBranch}`, rollbackDelete);\n }\n }\n }\n\n return NextResponse.json({\n success: feedbacks.length === 0,\n operationLogs,\n feedbacks,\n projectResults,\n });\n } catch (error) {\n console.error('UAT git 操作流执行失败:', error);\n return NextResponse.json({\n success: false,\n operationLogs: [],\n feedbacks: [error instanceof Error ? error.message : '执行失败'],\n }, { status: 500 });\n } finally {\n if (activeRunId) {\n clearUatGitFlowState(activeRunId);\n }\n }\n}\n","import {\n AppRouteRouteModule,\n type AppRouteRouteModuleOptions,\n} from '../../server/route-modules/app-route/module.compiled'\nimport { RouteKind } from '../../server/route-kind'\nimport { patchFetch as _patchFetch } from '../../server/lib/patch-fetch'\n\nimport * as userland from 'VAR_USERLAND'\n\n// These are injected by the loader afterwards. This is injected as a variable\n// instead of a replacement because this could also be `undefined` instead of\n// an empty string.\ndeclare const nextConfigOutput: AppRouteRouteModuleOptions['nextConfigOutput']\n\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\n// INJECT:nextConfigOutput\n\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: 'VAR_DEFINITION_PAGE',\n pathname: 'VAR_DEFINITION_PATHNAME',\n filename: 'VAR_DEFINITION_FILENAME',\n bundlePath: 'VAR_DEFINITION_BUNDLE_PATH',\n },\n resolvedPagePath: 'VAR_RESOLVED_PAGE_PATH',\n nextConfigOutput,\n userland,\n})\n\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule\n\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage,\n })\n}\n\nexport {\n routeModule,\n workAsyncStorage,\n workUnitAsyncStorage,\n serverHooks,\n patchFetch,\n}\n"],"names":["AppRouteRouteModule","RouteKind","patchFetch","_patchFetch","userland","routeModule","definition","kind","APP_ROUTE","page","pathname","filename","bundlePath","resolvedPagePath","nextConfigOutput","workAsyncStorage","workUnitAsyncStorage","serverHooks"],"mappings":"iFAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAQA,IAAM,EAAqB,MAE3B,SAAS,EAAkB,CAAY,UACjC,CAAC,GACD,EAAmB,CADZ,GACgB,CAAC,GADV,CAEd,EAAK,CAD0B,OAAO,EACvB,CAAC,KAEtB,CAEA,AAJ4B,OAAO,EAI1B,EAAc,CAAW,CAAE,CAAc,EAChD,OAAO,IAAI,QAAQ,CAAC,EAAS,KAC3B,IAAM,EAAQ,CAAA,EAAA,EAAA,KAAA,AAAI,EAAE,MAAO,EAAM,KAC/B,EACA,MAAO,CAAC,OAFI,EAEM,OAAQ,OAAO,AACnC,GAEI,EAAS,GACT,EAAS,GAEb,EAAM,MAAM,EAAE,GAAG,OAAQ,AAAC,IACxB,GAAU,EAAK,QAAQ,EACzB,GAEA,EAAM,MAAM,EAAE,GAAG,OAAQ,AAAC,IACxB,GAAU,EAAK,QAAQ,EACzB,GAEA,EAAM,EAAE,CAAC,QAAS,AAAC,IACjB,EAAQ,MAAE,SAAM,SAAQ,CAAO,EACjC,GAEA,EAAM,EAAE,CAAC,QAAS,AAAC,IACjB,EAAO,EACT,EACF,EACF,CAEA,SAAS,EAAc,CAAc,EACnC,MAAO,CAAC,IAAI,EAAE,EAAK,IAAI,CAAC,KAAA,CAAM,AAChC,CAYA,SAAS,EAAiB,CAAuB,CAAE,CAAmB,CAAE,CAAY,CAAE,CAAiB,EACjF,GAAG,CAAnB,EAAO,IAAI,CACb,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,MAAM,EAAE,EAAA,CAAM,EAEjD,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,MAAM,EAAE,EAAK,CAAC,EAAE,EAAO,MAAM,EAAI,EAAO,MAAM,CAAA,CAAE,CAEvF,CAEO,eAAe,EAAK,CAAoB,EAC7C,IAAI,EAAc,GAClB,GAAI,CACF,IAAM,EAAO,MAAM,EAAQ,IAAI,GACzB,EAAW,MAAM,OAAO,CAAC,EAAK,QAAQ,EAAI,EAAK,QAAQ,CAAG,EAAE,CAC5D,EAA4C,UAA7B,OAAO,EAAK,YAAY,CAAgB,EAAK,YAAY,CAAC,IAAI,GAAK,GAClF,EAAwC,UAA3B,OAAO,EAAK,UAAU,CAAgB,EAAK,UAAU,CAAC,IAAI,GAAK,GAC5E,EAAc,AAA4B,iBAArB,EAAK,WAAW,CAAgB,EAAK,WAAW,CAAC,IAAI,GAAK,GAC/E,GAAS,CAAQ,EAAK,MAAM,CAC5B,EAA8B,UAAtB,OAAO,EAAK,KAAK,CAAgB,EAAK,KAAK,CAAG,GAEtD,EAA0B,EAAE,CAC5B,EAAsB,EAAE,CACxB,EAKD,EAAE,CACD,EAAY,IAAI,IAChB,EAAmB,CACvB,EACA,EACA,EACA,KAEI,EAAU,GAAG,CAAC,KAGlB,EAAU,GAAG,CAAC,EAAa,CAHK,QAGH,EAAS,SAAQ,iBAAgB,GAC9D,EAAe,IAAI,CAAC,aAAE,UAAa,SAAS,kBAAQ,CAAgB,GACtE,EACM,EAAkB,MAAO,EAAqB,EAAqB,KACvE,IAAM,EAAoB,EAAE,CAC5B,GAAI,EAAK,cAAc,EAA4B,SAAxB,EAAK,cAAc,CAAa,CACzD,IAAM,EAAU,EAAc,CAAC,WAAY,EAAK,cAAc,CAAC,EAC/D,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,MAAM,EAAE,EAAA,CAAS,EACpD,IAAM,EAAmB,MAAM,EAAc,EAAa,CAAC,WAAY,EAAK,cAAc,CAAC,EAC3F,EAAiB,EAAe,EAAa,CAAC,OAAO,EAAE,EAAK,cAAc,CAAA,CAAE,CAAE,GAC9E,EAAQ,IAAI,CAAC,EACf,CAEA,GAAI,EAAK,kBAAkB,EAAI,CAAC,EAAK,cAAc,CAAE,CACnD,IAAM,EAAU,EAAc,CAAC,SAAU,KAAM,EAAa,EAC5D,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,MAAM,EAAE,EAAA,CAAS,EACpD,IAAM,EAAiB,MAAM,EAAc,EAAa,CAAC,SAAU,KAAM,EAAa,EACtF,EAAiB,EAAe,EAAa,CAAC,SAAS,EAAE,EAAA,CAAc,CAAE,GACzE,EAAQ,IAAI,CAAC,EACf,CAEA,OAAO,CACT,EAEA,GAAwB,IAApB,EAAS,MAAM,EAAU,CAAC,GAAgB,CAAC,GAAc,CAAC,EAC5D,OAAO,EAAA,EADkE,UACtD,CAAC,IAAI,CAAC,CACvB,SAAS,QADJ,QAEL,EACA,UAAW,CAAC,mBACd,AADiC,EAC9B,CAAE,OAAQ,GAAI,GAGnB,GAAI,CAAC,EAAkB,IAAiB,CAAC,EAAkB,IAAe,CAAC,EAAkB,GAC3F,OAAO,EAAA,EADkG,UACtF,CAAC,IAAI,CAAC,CACvB,SAAS,QADJ,QAEL,EACA,UAAW,CAAC,wBAAwB,AACtC,EAAG,CAAE,OAAQ,GAAI,GAGnB,GAAI,CAAC,EACH,KADU,EACH,EAAA,YAAY,CAAC,IAAI,CAAC,CACvB,QAAS,GACT,MAFK,UAGL,UAAW,CAAC,qBAAqB,AACnC,EAAG,CAAE,OAAQ,GAAI,GAGnB,CAAA,EAAA,EAAA,qBAAA,AAAoB,EAAE,GACtB,EAAc,EAEd,IAAM,EAHN,AAGuB,MAAM,CAAA,EAAA,EAAA,iBAAA,AAAgB,IACvC,EAAgB,EAAA,WADO,KACS,CAAC,cAAc,CAC/C,EAAiE,EAAE,AADnD,CAGhB,EAAa,IAAM,CAAA,EAAA,EAAA,mBAAA,AAAkB,EAAE,GAE7C,IAAK,IAAM,IAFc,CAEI,EAAU,CACrC,GAAI,IAAc,CAChB,EAAU,IAAI,CAAC,yBACf,KACF,CAEA,IAAM,EAAe,OAAO,GACtB,EAAc,CAAA,EAAA,EAAA,mBAAA,AAAkB,EAAE,GAExC,GAAI,CAAC,GAAe,IAAgB,CAFhB,CAE8B,CAChD,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAa,gBAAgB,CAAC,EACrD,EAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAa,iBAAiB,CAAC,EAClD,EAAiB,GAAc,EAAO,cACtC,QACF,CAEA,GAAI,CAAC,CAAc,CAAC,EAAY,CAAE,CAChC,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,eAAe,CAAC,EACnD,EAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,gBAAgB,CAAC,EAChD,EAAiB,GAAa,EAAO,aACrC,QACF,CAEA,IAAM,EAAc,CAAA,EAAA,EAAA,IAAA,AAAG,EAAE,EAAe,GACxC,GAAI,CAAC,CAAA,EAAA,EAAA,UAAA,AAAS,EAAE,GAAc,CAC5B,AAFkB,EAEJ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,OADhC,MAC6C,CAAC,EACjD,EAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,cAAc,CAAC,EAC9C,EAAiB,GAAa,EAAO,WACrC,QACF,CAEA,GAAI,CAAC,CAAA,EAAA,EAAA,UAAA,AAAS,EAAE,CAAA,EAAA,EAAA,IAAA,AAAG,EAAE,EAAa,SAAU,CAC1C,CADG,CACW,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,KADrB,SACmC,CAAC,EAClD,EAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,mBAAmB,CAAC,EACnD,EAAiB,GAAa,EAAO,gBACrC,QACF,CAEA,GAAI,EAAQ,CACV,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,QAAS,SAAS,EAAA,CAAG,EAC3E,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,YAAa,UAAW,SAAU,EAAW,EAAA,CAAG,EACtG,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,YAAa,UAAW,SAAU,EAAa,EAAA,CAAG,EACxG,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,WAAY,WAAY,CAAC,WAAW,EAAE,EAAA,CAAc,CAAC,EAAA,CAAG,EAC9G,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,WAAY,KAAM,EAAc,CAAC,OAAO,EAAE,EAAA,CAAY,CAAC,EAAA,CAAG,EAChH,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,OAAQ,KAAM,SAAU,EAAa,EAAA,CAAG,EAC9F,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,YAAa,UAAW,SAAU,EAAY,EAAA,CAAG,EACvG,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,SAAU,cAAc,EAAA,CAAG,EACjF,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,WAAY,EAAa,EAAA,CAAG,EAClF,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,QAAS,UAAW,YAAa,CAAC,OAAO,EAAE,EAAA,CAAa,CAAC,EAAA,CAAG,EAClH,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,OAAQ,SAAU,EAAa,EAAA,CAAG,EACxF,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,WAAY,OAAO,EAAA,CAAG,EAC5E,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,QAAS,SAAS,EAAA,CAAG,EAC3E,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,YAAa,UAAW,SAAU,OAAO,EAAA,CAAG,EAClG,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,SAAU,cAAc,EAAA,CAAG,EACjF,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,QAAS,UAAW,YAAa,CAAC,OAAO,EAAE,EAAA,CAAc,CAAC,EAAA,CAAG,EACnH,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,OAAQ,SAAU,OAAO,EAAA,CAAG,EAClF,QACF,CAEA,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,QAAQ,CAAC,EAC5C,IAAM,EAAsB,MAAM,EAAc,EAAa,CAAC,SAAU,iBAAiB,EACzF,EAAiB,EAAe,EAAa,SAAU,GAEvD,IAAM,EAA8B,CAClC,eAFqB,AA/JpB,AA+JqC,EAAoB,MAAM,CA/JzD,OAAO,CAAC,OAAQ,KAAK,IAAI,IA+JqC,OAGrE,oBAAoB,EACpB,gBAAgB,CAClB,EAEA,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,QAAS,SAAS,EAAA,CAAG,EAC3E,IAAM,EAAc,MAAM,EAAc,EAAa,CAAC,QAAS,SAAS,EAExE,GADA,EAAiB,EAAe,EAAa,OAAQ,GAC5B,IAArB,EAAY,IAAI,CAAQ,CAC1B,EAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,UAAU,EAAE,EAAY,MAAM,EAAI,EAAY,MAAM,CAAA,CAAE,EACrF,IAAM,EAAkB,MAAM,EAAgB,EAAa,EAAa,GACxE,EAAiB,GAAa,EAAO,SAAU,GAC/C,QACF,CAEA,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,YAAa,UAAW,SAAU,EAAW,EAAA,CAAG,EACtG,IAAM,EAAa,MAAM,EAAc,EAAa,CAAC,YAAa,UAAW,SAAU,EAAW,EAElG,GADA,EAAiB,EAAe,EAAa,CAAC,UAAU,EAAE,EAAA,CAAY,CAAE,GACpE,CAAC,EAAW,MAAM,CAAC,IAAI,GAAI,CAC7B,EAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,SAAS,EAAE,EAAW,YAAY,CAAC,EAClE,IAAM,EAAkB,MAAM,EAAgB,EAAa,EAAa,GACxE,EAAiB,GAAa,EAAO,CAAC,OAAO,EAAE,EAAW,IAAI,CAAC,CAAE,GACjE,QACF,CAEA,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,YAAa,UAAW,SAAU,EAAa,EAAA,CAAG,EACxG,IAAM,EAAqB,MAAM,EAAc,EAAa,CAAC,YAAa,UAAW,SAAU,EAAa,EAC5G,EAAiB,EAAe,EAAa,CAAC,OAAO,EAAE,EAAA,CAAc,CAAE,GACvE,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,WAAY,WAAY,CAAC,WAAW,EAAE,EAAA,CAAc,CAAC,EAAA,CAAG,EAC9G,IAAM,EAAoB,MAAM,EAAc,EAAa,CAAC,WAAY,WAAY,CAAC,WAAW,EAAE,EAAA,CAAc,CAAC,EAGjH,GAFA,EAAiB,EAAe,EAAa,CAAC,OAAO,EAAE,EAAA,CAAc,CAAE,GAExC,IAA3B,EAAkB,IAAI,CAAQ,CAChC,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,WAAY,EAAa,EAAA,CAAG,EAClF,IAAM,EAAgB,MAAM,EAAc,EAAa,CAAC,WAAY,EAAa,EAEjF,GADA,EAAiB,EAAe,EAAa,CAAC,QAAQ,EAAE,EAAA,CAAc,CAAE,GAC7C,IAAvB,EAAc,IAAI,CAAQ,CAC5B,EAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,aAAa,EAAE,EAAc,MAAM,EAAI,EAAc,MAAM,CAAA,CAAE,EAC5F,IAAM,EAAkB,MAAM,EAAgB,EAAa,EAAa,GACxE,EAAiB,EAAa,GAAO,YAAa,GAClD,QACF,CAEA,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,QAAS,SAAS,EAAA,CAAG,EAC3E,IAAM,EAAmB,MAAM,EAAc,EAAa,CAAC,QAAS,SAAS,EAE7E,GADA,EAAiB,EAAe,EAAa,OAAQ,GACvB,IAA1B,EAAiB,IAAI,CAAQ,CAC/B,EAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,UAAU,EAAE,EAAiB,MAAM,EAAI,EAAiB,MAAM,CAAA,CAAE,EAC/F,IAAM,EAAkB,MAAM,EAAgB,EAAa,EAAa,GACxE,EAAiB,GAAa,EAAO,SAAU,GAC/C,QACF,CACF,MAEE,CAFK,EACL,EAAY,cAAc,EAAG,EACzB,EAAmB,MAAM,CAAC,IAAI,GAAI,CACpC,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,WAAY,KAAM,EAAc,CAAC,OAAO,EAAE,EAAA,CAAc,CAAC,EAAA,CAAG,EAClH,IAAM,EAAiB,MAAM,EAAc,EAAa,CAAC,WAAY,KAAM,EAAc,CAAC,OAAO,EAAE,EAAA,CAAc,CAAC,EAElH,GADA,EAAiB,EAAe,EAAa,CAAC,QAAQ,EAAE,EAAA,CAAc,CAAE,GAC5C,IAAxB,EAAe,IAAI,CAAQ,CAC7B,EAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,eAAe,EAAE,EAAe,MAAM,EAAI,EAAe,MAAM,CAAA,CAAE,EAChG,IAAM,EAAkB,MAAM,EAAgB,EAAa,EAAa,GACxE,EAAiB,GAAa,EAAO,cAAe,GACpD,QACF,CACF,KAAO,CACL,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,WAAY,KAAM,EAAc,CAAC,OAAO,EAAE,EAAA,CAAY,CAAC,EAAA,CAAG,EAChH,IAAM,EAAe,MAAM,EAAc,EAAa,CAAC,WAAY,KAAM,EAAc,CAAC,OAAO,EAAE,EAAA,CAAY,CAAC,EAE9G,GADA,EAAiB,EAAe,EAAa,CAAC,KAAK,EAAE,EAAA,CAAc,CAAE,GAC3C,IAAtB,EAAa,IAAI,CAAQ,CAC3B,EAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,UAAU,EAAE,EAAa,MAAM,EAAI,EAAa,MAAM,CAAA,CAAE,EACvF,IAAM,EAAkB,MAAM,EAAgB,EAAa,EAAa,GACxE,EAAiB,GAAa,EAAO,SAAU,GAC/C,QACF,CACA,EAAY,kBAAkB,EAAG,EAEjC,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,OAAQ,KAAM,SAAU,EAAa,EAAA,CAAG,EAC9F,IAAM,EAAa,MAAM,EAAc,EAAa,CAAC,OAAQ,KAAM,SAAU,EAAa,EAE1F,GADA,EAAiB,EAAe,EAAa,CAAC,KAAK,EAAE,EAAA,CAAc,CAAE,GAC7C,IAApB,EAAW,IAAI,CAAQ,CACzB,EAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,WAAW,EAAE,EAAW,MAAM,EAAI,EAAW,MAAM,CAAA,CAAE,EACpF,IAAM,EAAkB,MAAM,EAAgB,EAAa,EAAa,GACxE,EAAiB,GAAa,EAAO,UAAW,GAChD,QACF,CACF,CAGF,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,YAAa,UAAW,SAAU,EAAY,EAAA,CAAG,EACvG,IAAM,EAAc,MAAM,EAAc,EAAa,CAAC,YAAa,UAAW,SAAU,EAAY,EAEpG,GADA,EAAiB,EAAe,EAAa,CAAC,UAAU,EAAE,EAAA,CAAa,CAAE,GACrE,CAAC,EAAY,MAAM,CAAC,IAAI,GAAI,CAC9B,EAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,SAAS,EAAE,EAAY,UAAU,CAAC,EACjE,IAAM,EAAkB,MAAM,EAAgB,EAAa,EAAa,GACxE,EAAiB,GAAa,EAAO,CAAC,OAAO,EAAE,EAAY,IAAI,CAAC,CAAE,GAClE,QACF,CAIA,GAFA,EAAgB,IAAI,CAAC,CAAE,KAAM,EAAa,KAAM,CAAY,GAExD,IAAc,CAChB,EAAU,IAAI,CAAC,yBACf,KACF,CAEA,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,SAAU,cAAc,EAAA,CAAG,EACjF,IAAM,EAAe,MAAM,EAAc,EAAa,CAAC,SAAU,cAAc,EAE/E,GADA,EAAiB,EAAe,EAAa,QAAS,GAClD,EAAa,MAAM,CAAC,IAAI,GAAI,CAC9B,EAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,uBAAuB,CAAC,EACvD,IAAM,EAAkB,MAAM,EAAgB,EAAa,EAAa,GACxE,EAAiB,GAAa,EAAO,YAAa,GAClD,QACF,CAEA,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,WAAY,EAAa,EAAA,CAAG,EAClF,IAAM,EAAe,MAAM,EAAc,EAAa,CAAC,WAAY,EAAa,EAEhF,GADA,EAAiB,EAAe,EAAa,CAAC,MAAM,EAAE,EAAA,CAAc,CAAE,GAC5C,IAAtB,EAAa,IAAI,CAAQ,CAC3B,EAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,WAAW,EAAE,EAAa,MAAM,EAAI,EAAa,MAAM,CAAA,CAAE,EACxF,IAAM,EAAkB,MAAM,EAAgB,EAAa,EAAa,GACxE,EAAiB,EAAa,GAAO,UAAW,GAChD,QACF,CAEA,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,QAAS,UAAW,YAAa,CAAC,OAAO,EAAE,EAAA,CAAa,CAAC,EAAA,CAAG,EAClH,IAAM,EAAc,MAAM,EAAc,EAAa,CAAC,QAAS,UAAW,YAAa,CAAC,OAAO,EAAE,EAAA,CAAa,CAAC,EAE/G,GADA,EAAiB,EAAe,EAAa,CAAC,UAAU,EAAE,EAAA,CAAa,CAAE,GAChD,IAArB,EAAY,IAAI,CAAQ,CAC1B,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,QAAS,UAAU,EAAA,CAAG,EAC5E,IAAM,EAAc,MAAM,EAAc,EAAa,CAAC,QAAS,UAAU,EACzE,EAAiB,EAAe,EAAa,OAAQ,GACrD,EAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,mBAAmB,CAAC,EACnD,IAAM,EAAkB,MAAM,EAAgB,EAAa,EAAa,GACxE,EAAiB,EAAa,GAAO,OAAQ,GAC7C,QACF,CAEA,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,OAAQ,SAAU,EAAa,EAAA,CAAG,EACxF,IAAM,EAAY,MAAM,EAAc,EAAa,CAAC,OAAQ,SAAU,EAAa,EAEnF,GADA,EAAiB,EAAe,EAAa,CAAC,OAAO,EAAE,EAAA,CAAc,CAAE,GAChD,IAAnB,EAAU,IAAI,CAAQ,CACxB,EAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,YAAY,EAAE,EAAU,MAAM,EAAI,EAAU,MAAM,CAAA,CAAE,EACnF,IAAM,EAAkB,MAAM,EAAgB,EAAa,EAAa,GACxE,EAAiB,GAAa,EAAO,WAAY,GACjD,QACF,CAEA,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,QAAS,SAAS,EAAA,CAAG,EAC3E,IAAM,EAAY,MAAM,EAAc,EAAa,CAAC,QAAS,SAAS,EAEtE,GADA,EAAiB,EAAe,EAAa,OAAQ,GAC9B,IAAnB,EAAU,IAAI,CAAQ,CACxB,EAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,UAAU,EAAE,EAAU,MAAM,EAAI,EAAU,MAAM,CAAA,CAAE,EACjF,IAAM,EAAkB,MAAM,EAAgB,EAAa,EAAa,GACxE,EAAiB,GAAa,EAAO,SAAU,GAC/C,QACF,CAEA,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,YAAa,UAAW,SAAU,OAAO,EAAA,CAAG,EAClG,IAAM,EAAa,MAAM,EAAc,EAAa,CAAC,YAAa,UAAW,SAAU,OAAO,EAE9F,GADA,EAAiB,EAAe,EAAa,iBAAkB,GAC3D,CAAC,EAAW,MAAM,CAAC,IAAI,GAAI,CAC7B,EAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,uBAAuB,CAAC,EACvD,IAAM,EAAkB,MAAM,EAAgB,EAAa,EAAa,GACxE,EAAiB,GAAa,EAAO,kBAAmB,GACxD,QACF,CAEA,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,SAAU,cAAc,EAAA,CAAG,EACjF,IAAM,EAAa,MAAM,EAAc,EAAa,CAAC,SAAU,cAAc,EAE7E,GADA,EAAiB,EAAe,EAAa,QAAS,GAClD,EAAW,MAAM,CAAC,IAAI,GAAI,CAC5B,EAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,0BAA0B,CAAC,EAC1D,IAAM,EAAkB,MAAM,EAAgB,EAAa,EAAa,GACxE,EAAiB,GAAa,EAAO,YAAa,GAClD,QACF,CAEA,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,WAAY,OAAO,EAAA,CAAG,EAC5E,IAAM,EAAe,MAAM,EAAc,EAAa,CAAC,WAAY,OAAO,EAE1E,GADA,EAAiB,EAAe,EAAa,WAAY,GAC/B,IAAtB,EAAa,IAAI,CAAQ,CAC3B,EAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,eAAe,EAAE,EAAa,MAAM,EAAI,EAAa,MAAM,CAAA,CAAE,EAC5F,IAAM,EAAkB,MAAM,EAAgB,EAAa,EAAa,GACxE,EAAiB,GAAa,EAAO,cAAe,GACpD,QACF,CAEA,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,QAAS,UAAW,YAAa,CAAC,OAAO,EAAE,EAAA,CAAc,CAAC,EAAA,CAAG,EACnH,IAAM,EAAgB,MAAM,EAAc,EAAa,CAAC,QAAS,UAAW,YAAa,CAAC,OAAO,EAAE,EAAA,CAAc,CAAC,EAElH,GADA,EAAiB,EAAe,EAAa,CAAC,UAAU,EAAE,EAAa,OAAO,CAAC,CAAE,GACtD,IAAvB,EAAc,IAAI,CAAQ,CAC5B,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,QAAS,UAAU,EAAA,CAAG,EAC5E,IAAM,EAAY,MAAM,EAAc,EAAa,CAAC,QAAS,UAAU,EACvE,EAAiB,EAAe,EAAa,aAAc,GAC3D,EAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,0BAA0B,CAAC,EAC1D,IAAM,EAAkB,MAAM,EAAgB,EAAa,EAAa,GACxE,EAAiB,GAAa,EAAO,cAAe,GACpD,QACF,CAEA,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,EAAE,EAAE,EAAc,CAAC,OAAQ,SAAU,OAAO,EAAA,CAAG,EAClF,IAAM,EAAW,MAAM,EAAc,EAAa,CAAC,OAAQ,SAAU,OAAO,EAE5E,GADA,EAAiB,EAAe,EAAa,UAAW,GAClC,AAAlB,MAAS,IAAI,CAAQ,CACvB,EAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAY,cAAc,EAAE,EAAS,MAAM,EAAI,EAAS,MAAM,CAAA,CAAE,EACnF,IAAM,EAAkB,MAAM,EAAgB,EAAa,EAAa,GACxE,EAAiB,GAAa,EAAO,aAAc,GACnD,QACF,CAEA,EAAiB,GAAa,EAChC,CAEA,GAAI,CAAA,EAAA,EAAA,mBAAA,AAAkB,EAAE,GACtB,IAAK,CADyB,GACnB,IADT,CACoB,EAAgB,OAAO,GAAI,CAC/C,GAAM,MAAE,CAAI,MAAE,CAAI,CAAE,CAAG,EACjB,EAAc,GAAA,EAAA,IAAA,AAAG,EAAE,EAAe,GAExC,GAAI,EAAK,cAAc,EAA4B,IAF/B,KAEO,EAAK,cAAc,CAAa,CACzD,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAK,MAAM,EAAE,EAAc,CAAC,WAAY,EAAK,cAAc,CAAC,EAAA,CAAG,EACtF,IAAM,EAAmB,MAAM,EAAc,EAAa,CAAC,WAAY,EAAK,cAAc,CAAC,EAC3F,EAAiB,EAAe,EAAM,CAAC,OAAO,EAAE,EAAK,cAAc,CAAA,CAAE,CAAE,EACzE,CAEA,GAAI,EAAK,kBAAkB,EAAI,CAAC,EAAK,cAAc,CAAE,CACnD,EAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAK,MAAM,EAAE,EAAc,CAAC,SAAU,KAAM,EAAa,EAAA,CAAG,EACnF,IAAM,EAAiB,MAAM,EAAc,EAAa,CAAC,SAAU,KAAM,EAAa,EACtF,EAAiB,EAAe,EAAM,CAAC,SAAS,EAAE,EAAA,CAAc,CAAE,EACpE,CACF,CAGF,OAAO,EAAA,YAAY,CAAC,IAAI,CAAC,CACvB,QAA8B,IAArB,EAAU,GADd,GACoB,eACzB,YACA,iBACA,CACF,EACF,CAAE,MAAO,EAAO,CAEd,OADA,QAAQ,KAAK,CAAC,mBAAoB,GAC3B,EAAA,YAAY,CAAC,IAAI,CAAC,CACvB,SAAS,EACT,MAFK,QAEU,EAAE,CACjB,UAAW,CAAC,aAAiB,MAAQ,EAAM,OAAO,CAAG,OAAO,AAC9D,EAAG,CAAE,OAAQ,GAAI,EACnB,QAAU,CACJ,GACF,CAAA,EAAA,EAAA,KADe,eACf,AAAmB,EAAE,EAEzB,CACF,WAHM,qJCxdN,IAAA,EAGO,EAAA,CAFLA,AAEK,CAAA,OACP,EAA0B,EAAyB,CAA1CC,AAA0C,CAAA,GAAA,EAH9B,EAIrB,CADkB,CAD2C,AAEnB,EAAA,CAAjCC,AAAiC,CAFnC,AAEmC,GADhB,CAC8C,GAExE,EAAwC,EAAA,CAAA,CAFjBC,AAEiB,EAA5BC,KAWZ,IAAMC,AAb4B,EAad,GAXM,CAWN,EAbsB,AAalBL,YAXgB,OAWhBA,CAAoB,CAC1CM,WAAY,CACVC,KAAMN,EAAAA,SAAAA,CAAUO,SAAS,CACzBC,KAAM,0BACNC,SAAU,oBACVC,SAAU,QACVC,WAAY,EACd,EACAC,iBAAkB,8DAClBC,iBAXF,CAA0B,WAYxBV,CACF,GAKM,kBAAEW,CAAgB,CAAEC,sBAAoB,aAAEC,CAAW,CAAE,CAAGZ,EAEhE,SAASH,IACP,MAAA,CAAA,EAAA,EAAOC,UAAAA,EAAY,kBACjBY,uBACAC,CACF,EACF","ignoreList":[1]}
@@ -0,0 +1,3 @@
1
+ module.exports={45935:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},30331:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("path",()=>require("path"))},29549:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},86103:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},83943:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},23430:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},74538:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},93200:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(61978).vendored["react-rsc"].ReactJsxRuntime},61978:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(29549)},94507:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(61978).vendored["react-rsc"].React},17203:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(61978).vendored["react-rsc"].ReactServerDOMTurbopackServerEdge}};
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__2e9964e3._.js.map
@@ -1,3 +1,3 @@
1
- module.exports={29549:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},86103:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},83943:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},45935:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},74538:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},16380:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(29549)},99559:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(16380).vendored["react-ssr"].ReactJsxRuntime},57560:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(16380).vendored["react-ssr"].React},17291:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(16380).vendored.contexts.HooksClientContext},813:function(a){var{g:b,__dirname:c,m:d,e:e}=a;{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var f={HTTPAccessErrorStatus:function(){return a},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return c},getAccessFallbackErrorTypeByStatus:function(){return j},getAccessFallbackHTTPStatus:function(){return i},isHTTPAccessFallbackError:function(){return h}};for(var g in f)Object.defineProperty(e,g,{enumerable:!0,get:f[g]});let a={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},b=new Set(Object.values(a)),c="NEXT_HTTP_ERROR_FALLBACK";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[d,e]=a.digest.split(";");return d===c&&b.has(Number(e))}function i(a){return Number(a.digest.split(";")[1])}function j(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof e.default||"object"==typeof e.default&&null!==e.default)&&void 0===e.default.__esModule&&(Object.defineProperty(e.default,"__esModule",{value:!0}),Object.assign(e.default,e),d.exports=e.default)}},47037:function(a){var b,{g:c,__dirname:d,m:e,e:f}=a;"use strict";Object.defineProperty(f,"__esModule",{value:!0}),Object.defineProperty(f,"RedirectStatusCode",{enumerable:!0,get:function(){return g}});var g=((b={})[b.SeeOther=303]="SeeOther",b[b.TemporaryRedirect=307]="TemporaryRedirect",b[b.PermanentRedirect=308]="PermanentRedirect",b);("function"==typeof f.default||"object"==typeof f.default&&null!==f.default)&&void 0===f.default.__esModule&&(Object.defineProperty(f.default,"__esModule",{value:!0}),Object.assign(f.default,f),e.exports=f.default)},61813:function(a){var{g:b,__dirname:c,m:d,e:e}=a;{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var f,g={REDIRECT_ERROR_CODE:function(){return c},RedirectType:function(){return i},isRedirectError:function(){return j}};for(var h in g)Object.defineProperty(e,h,{enumerable:!0,get:g[h]});let b=a.r(47037),c="NEXT_REDIRECT";var i=((f={}).push="push",f.replace="replace",f);function j(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let d=a.digest.split(";"),[e,f]=d,g=d.slice(2,-2).join(";"),h=Number(d.at(-2));return e===c&&("replace"===f||"push"===f)&&"string"==typeof g&&!isNaN(h)&&h in b.RedirectStatusCode}("function"==typeof e.default||"object"==typeof e.default&&null!==e.default)&&void 0===e.default.__esModule&&(Object.defineProperty(e.default,"__esModule",{value:!0}),Object.assign(e.default,e),d.exports=e.default)}},96083:function(a){var{g:b,__dirname:c,m:d,e:e}=a;{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"isNextRouterError",{enumerable:!0,get:function(){return f}});let b=a.r(813),c=a.r(61813);function f(a){return(0,c.isRedirectError)(a)||(0,b.isHTTPAccessFallbackError)(a)}("function"==typeof e.default||"object"==typeof e.default&&null!==e.default)&&void 0===e.default.__esModule&&(Object.defineProperty(e.default,"__esModule",{value:!0}),Object.assign(e.default,e),d.exports=e.default)}},53230:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(16380).vendored.contexts.AppRouterContext},41108:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(16380).vendored.contexts.ServerInsertedHtml},16280:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(16380).vendored["react-ssr"].ReactDOM}};
1
+ module.exports={29549:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},86103:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},83943:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},45935:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},74538:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},16380:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(29549)},99559:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(16380).vendored["react-ssr"].ReactJsxRuntime},57560:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(16380).vendored["react-ssr"].React},17291:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(16380).vendored.contexts.HooksClientContext},813:function(a){var{g:b,__dirname:c,m:d,e:e}=a;{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var f={HTTPAccessErrorStatus:function(){return a},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return c},getAccessFallbackErrorTypeByStatus:function(){return j},getAccessFallbackHTTPStatus:function(){return i},isHTTPAccessFallbackError:function(){return h}};for(var g in f)Object.defineProperty(e,g,{enumerable:!0,get:f[g]});let a={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},b=new Set(Object.values(a)),c="NEXT_HTTP_ERROR_FALLBACK";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[d,e]=a.digest.split(";");return d===c&&b.has(Number(e))}function i(a){return Number(a.digest.split(";")[1])}function j(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof e.default||"object"==typeof e.default&&null!==e.default)&&void 0===e.default.__esModule&&(Object.defineProperty(e.default,"__esModule",{value:!0}),Object.assign(e.default,e),d.exports=e.default)}},47037:function(a){var b,{g:c,__dirname:d,m:e,e:f}=a;"use strict";Object.defineProperty(f,"__esModule",{value:!0}),Object.defineProperty(f,"RedirectStatusCode",{enumerable:!0,get:function(){return g}});var g=((b={})[b.SeeOther=303]="SeeOther",b[b.TemporaryRedirect=307]="TemporaryRedirect",b[b.PermanentRedirect=308]="PermanentRedirect",b);("function"==typeof f.default||"object"==typeof f.default&&null!==f.default)&&void 0===f.default.__esModule&&(Object.defineProperty(f.default,"__esModule",{value:!0}),Object.assign(f.default,f),e.exports=f.default)},61813:function(a){var{g:b,__dirname:c,m:d,e:e}=a;{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var f,g={REDIRECT_ERROR_CODE:function(){return c},RedirectType:function(){return i},isRedirectError:function(){return j}};for(var h in g)Object.defineProperty(e,h,{enumerable:!0,get:g[h]});let b=a.r(47037),c="NEXT_REDIRECT";var i=((f={}).push="push",f.replace="replace",f);function j(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let d=a.digest.split(";"),[e,f]=d,g=d.slice(2,-2).join(";"),h=Number(d.at(-2));return e===c&&("replace"===f||"push"===f)&&"string"==typeof g&&!isNaN(h)&&h in b.RedirectStatusCode}("function"==typeof e.default||"object"==typeof e.default&&null!==e.default)&&void 0===e.default.__esModule&&(Object.defineProperty(e.default,"__esModule",{value:!0}),Object.assign(e.default,e),d.exports=e.default)}},96083:function(a){var{g:b,__dirname:c,m:d,e:e}=a;{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"isNextRouterError",{enumerable:!0,get:function(){return f}});let b=a.r(813),c=a.r(61813);function f(a){return(0,c.isRedirectError)(a)||(0,b.isHTTPAccessFallbackError)(a)}("function"==typeof e.default||"object"==typeof e.default&&null!==e.default)&&void 0===e.default.__esModule&&(Object.defineProperty(e.default,"__esModule",{value:!0}),Object.assign(e.default,e),d.exports=e.default)}},16280:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(16380).vendored["react-ssr"].ReactDOM},53230:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(16380).vendored.contexts.AppRouterContext},41108:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(16380).vendored.contexts.ServerInsertedHtml}};
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__f617a52d._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__7b253128._.js.map
@@ -1 +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/src/server/route-modules/app-page/module.compiled.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/server/route-modules/app-page/vendored/ssr/react-jsx-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/route-modules/app-page/vendored/ssr/react.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/route-modules/app-page/vendored/contexts/hooks-client-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/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/src/server/route-modules/app-page/vendored/contexts/app-router-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/server/route-modules/app-page/vendored/contexts/server-inserted-html.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/route-modules/app-page/vendored/ssr/react-dom.ts"],"sourcesContent":["if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = require('../../module.compiled').vendored[\n 'react-ssr'\n].ReactJsxRuntime\n","module.exports = require('../../module.compiled').vendored['react-ssr'].React\n","module.exports = require('../../module.compiled').vendored[\n 'contexts'\n].HooksClientContext\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","module.exports = require('../../module.compiled').vendored[\n 'contexts'\n].AppRouterContext\n","module.exports = require('../../module.compiled').vendored[\n 'contexts'\n].ServerInsertedHtml\n","module.exports = require('../../module.compiled').vendored['react-ssr'].ReactDOM\n"],"names":["process","env","NEXT_RUNTIME","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","module","exports","require","vendored","ReactJsxRuntime","React","HooksClientContext","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","AppRouterContext","ServerInsertedHtml","ReactDOM"],"mappings":"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","ignoreList":[0,1,2,3,4,5,6,7,8,9,10]}
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/src/server/route-modules/app-page/module.compiled.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/server/route-modules/app-page/vendored/ssr/react-jsx-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/route-modules/app-page/vendored/ssr/react.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/route-modules/app-page/vendored/contexts/hooks-client-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/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/src/server/route-modules/app-page/vendored/ssr/react-dom.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/route-modules/app-page/vendored/contexts/app-router-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/server/route-modules/app-page/vendored/contexts/server-inserted-html.ts"],"sourcesContent":["if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = require('../../module.compiled').vendored[\n 'react-ssr'\n].ReactJsxRuntime\n","module.exports = require('../../module.compiled').vendored['react-ssr'].React\n","module.exports = require('../../module.compiled').vendored[\n 'contexts'\n].HooksClientContext\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","module.exports = require('../../module.compiled').vendored['react-ssr'].ReactDOM\n","module.exports = require('../../module.compiled').vendored[\n 'contexts'\n].AppRouterContext\n","module.exports = require('../../module.compiled').vendored[\n 'contexts'\n].ServerInsertedHtml\n"],"names":["process","env","NEXT_RUNTIME","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","module","exports","require","vendored","ReactJsxRuntime","React","HooksClientContext","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","ReactDOM","AppRouterContext","ServerInsertedHtml"],"mappings":"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","ignoreList":[0,1,2,3,4,5,6,7,8,9,10]}
@@ -1,3 +1,3 @@
1
- module.exports={29549:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},83943:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},86103:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},30331:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("path",()=>require("path"))},13442:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("os",()=>require("os"))},74538:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},16380:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(29549)},99559:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(16380).vendored["react-ssr"].ReactJsxRuntime},57560:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(16380).vendored["react-ssr"].React},53230:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(16380).vendored.contexts.AppRouterContext},17291:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(16380).vendored.contexts.HooksClientContext},47037:function(a){var b,{g:c,__dirname:d,m:e,e:f}=a;"use strict";Object.defineProperty(f,"__esModule",{value:!0}),Object.defineProperty(f,"RedirectStatusCode",{enumerable:!0,get:function(){return g}});var g=((b={})[b.SeeOther=303]="SeeOther",b[b.TemporaryRedirect=307]="TemporaryRedirect",b[b.PermanentRedirect=308]="PermanentRedirect",b);("function"==typeof f.default||"object"==typeof f.default&&null!==f.default)&&void 0===f.default.__esModule&&(Object.defineProperty(f.default,"__esModule",{value:!0}),Object.assign(f.default,f),e.exports=f.default)},61813:function(a){var{g:b,__dirname:c,m:d,e:e}=a;{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var f,g={REDIRECT_ERROR_CODE:function(){return c},RedirectType:function(){return i},isRedirectError:function(){return j}};for(var h in g)Object.defineProperty(e,h,{enumerable:!0,get:g[h]});let b=a.r(47037),c="NEXT_REDIRECT";var i=((f={}).push="push",f.replace="replace",f);function j(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let d=a.digest.split(";"),[e,f]=d,g=d.slice(2,-2).join(";"),h=Number(d.at(-2));return e===c&&("replace"===f||"push"===f)&&"string"==typeof g&&!isNaN(h)&&h in b.RedirectStatusCode}("function"==typeof e.default||"object"==typeof e.default&&null!==e.default)&&void 0===e.default.__esModule&&(Object.defineProperty(e.default,"__esModule",{value:!0}),Object.assign(e.default,e),d.exports=e.default)}},813:function(a){var{g:b,__dirname:c,m:d,e:e}=a;{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var f={HTTPAccessErrorStatus:function(){return a},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return c},getAccessFallbackErrorTypeByStatus:function(){return j},getAccessFallbackHTTPStatus:function(){return i},isHTTPAccessFallbackError:function(){return h}};for(var g in f)Object.defineProperty(e,g,{enumerable:!0,get:f[g]});let a={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},b=new Set(Object.values(a)),c="NEXT_HTTP_ERROR_FALLBACK";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[d,e]=a.digest.split(";");return d===c&&b.has(Number(e))}function i(a){return Number(a.digest.split(";")[1])}function j(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof e.default||"object"==typeof e.default&&null!==e.default)&&void 0===e.default.__esModule&&(Object.defineProperty(e.default,"__esModule",{value:!0}),Object.assign(e.default,e),d.exports=e.default)}},96083:function(a){var{g:b,__dirname:c,m:d,e:e}=a;{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"isNextRouterError",{enumerable:!0,get:function(){return f}});let b=a.r(813),c=a.r(61813);function f(a){return(0,c.isRedirectError)(a)||(0,b.isHTTPAccessFallbackError)(a)}("function"==typeof e.default||"object"==typeof e.default&&null!==e.default)&&void 0===e.default.__esModule&&(Object.defineProperty(e.default,"__esModule",{value:!0}),Object.assign(e.default,e),d.exports=e.default)}},41108:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(16380).vendored.contexts.ServerInsertedHtml}};
1
+ module.exports={29549:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},83943:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},86103:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},30331:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("path",()=>require("path"))},13442:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("os",()=>require("os"))},74538:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},16380:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(29549)},99559:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(16380).vendored["react-ssr"].ReactJsxRuntime},57560:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(16380).vendored["react-ssr"].React},53230:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(16380).vendored.contexts.AppRouterContext},17291:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(16380).vendored.contexts.HooksClientContext},47037:function(a){var b,{g:c,__dirname:d,m:e,e:f}=a;"use strict";Object.defineProperty(f,"__esModule",{value:!0}),Object.defineProperty(f,"RedirectStatusCode",{enumerable:!0,get:function(){return g}});var g=((b={})[b.SeeOther=303]="SeeOther",b[b.TemporaryRedirect=307]="TemporaryRedirect",b[b.PermanentRedirect=308]="PermanentRedirect",b);("function"==typeof f.default||"object"==typeof f.default&&null!==f.default)&&void 0===f.default.__esModule&&(Object.defineProperty(f.default,"__esModule",{value:!0}),Object.assign(f.default,f),e.exports=f.default)},61813:function(a){var{g:b,__dirname:c,m:d,e:e}=a;{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var f,g={REDIRECT_ERROR_CODE:function(){return c},RedirectType:function(){return i},isRedirectError:function(){return j}};for(var h in g)Object.defineProperty(e,h,{enumerable:!0,get:g[h]});let b=a.r(47037),c="NEXT_REDIRECT";var i=((f={}).push="push",f.replace="replace",f);function j(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let d=a.digest.split(";"),[e,f]=d,g=d.slice(2,-2).join(";"),h=Number(d.at(-2));return e===c&&("replace"===f||"push"===f)&&"string"==typeof g&&!isNaN(h)&&h in b.RedirectStatusCode}("function"==typeof e.default||"object"==typeof e.default&&null!==e.default)&&void 0===e.default.__esModule&&(Object.defineProperty(e.default,"__esModule",{value:!0}),Object.assign(e.default,e),d.exports=e.default)}},813:function(a){var{g:b,__dirname:c,m:d,e:e}=a;{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var f={HTTPAccessErrorStatus:function(){return a},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return c},getAccessFallbackErrorTypeByStatus:function(){return j},getAccessFallbackHTTPStatus:function(){return i},isHTTPAccessFallbackError:function(){return h}};for(var g in f)Object.defineProperty(e,g,{enumerable:!0,get:f[g]});let a={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},b=new Set(Object.values(a)),c="NEXT_HTTP_ERROR_FALLBACK";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[d,e]=a.digest.split(";");return d===c&&b.has(Number(e))}function i(a){return Number(a.digest.split(";")[1])}function j(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof e.default||"object"==typeof e.default&&null!==e.default)&&void 0===e.default.__esModule&&(Object.defineProperty(e.default,"__esModule",{value:!0}),Object.assign(e.default,e),d.exports=e.default)}},96083:function(a){var{g:b,__dirname:c,m:d,e:e}=a;{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"isNextRouterError",{enumerable:!0,get:function(){return f}});let b=a.r(813),c=a.r(61813);function f(a){return(0,c.isRedirectError)(a)||(0,b.isHTTPAccessFallbackError)(a)}("function"==typeof e.default||"object"==typeof e.default&&null!==e.default)&&void 0===e.default.__esModule&&(Object.defineProperty(e.default,"__esModule",{value:!0}),Object.assign(e.default,e),d.exports=e.default)}},41108:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(16380).vendored.contexts.ServerInsertedHtml},16280:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";d.exports=a.r(16380).vendored["react-ssr"].ReactDOM}};
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__c53d10ac._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__a085452f._.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/src/server/route-modules/app-page/module.compiled.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/server/route-modules/app-page/vendored/ssr/react-jsx-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/route-modules/app-page/vendored/ssr/react.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/route-modules/app-page/vendored/contexts/app-router-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/server/route-modules/app-page/vendored/contexts/hooks-client-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/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/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/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/src/server/route-modules/app-page/vendored/contexts/server-inserted-html.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/route-modules/app-page/vendored/ssr/react-dom.ts"],"sourcesContent":["if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = require('../../module.compiled').vendored[\n 'react-ssr'\n].ReactJsxRuntime\n","module.exports = require('../../module.compiled').vendored['react-ssr'].React\n","module.exports = require('../../module.compiled').vendored[\n 'contexts'\n].AppRouterContext\n","module.exports = require('../../module.compiled').vendored[\n 'contexts'\n].HooksClientContext\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","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","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","module.exports = require('../../module.compiled').vendored[\n 'contexts'\n].ServerInsertedHtml\n","module.exports = require('../../module.compiled').vendored['react-ssr'].ReactDOM\n"],"names":["process","env","NEXT_RUNTIME","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","module","exports","require","vendored","ReactJsxRuntime","React","AppRouterContext","HooksClientContext","RedirectStatusCode","REDIRECT_ERROR_CODE","RedirectType","isRedirectError","error","digest","split","errorCode","type","destination","slice","join","status","at","statusCode","Number","isNaN","HTTPAccessErrorStatus","HTTP_ERROR_FALLBACK_ERROR_CODE","getAccessFallbackErrorTypeByStatus","getAccessFallbackHTTPStatus","isHTTPAccessFallbackError","NOT_FOUND","FORBIDDEN","UNAUTHORIZED","ALLOWED_CODES","Set","Object","values","prefix","httpStatus","has","isNextRouterError","ServerInsertedHtml","ReactDOM"],"mappings":"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","ignoreList":[0,1,2,3,4,5,6,7,8,9,10]}
@@ -1,3 +1,3 @@
1
- module.exports={30331:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("path",()=>require("path"))},23430:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},57739:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("react/jsx-runtime",()=>require("react/jsx-runtime"))},38005:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("react",()=>require("react"))},41305:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";e._=function(a){return a&&a.__esModule?a:{default:a}}},65758:function(a){var{g:b,__dirname:c,m:d,e:e}=a;{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var f={DecodeError:function(){return q},MiddlewareNotFoundError:function(){return u},MissingStaticPage:function(){return t},NormalizeError:function(){return r},PageNotFoundError:function(){return s},SP:function(){return d},ST:function(){return p},WEB_VITALS:function(){return a},execOnce:function(){return h},getDisplayName:function(){return k},getLocationOrigin:function(){return i},getURL:function(){return j},isAbsoluteUrl:function(){return c},isResSent:function(){return l},loadGetInitialProps:function(){return n},normalizeRepeatedSlashes:function(){return m},stringifyError:function(){return o}};for(var g in f)Object.defineProperty(e,g,{enumerable:!0,get:f[g]});let a=["CLS","FCP","FID","INP","LCP","TTFB"];function h(a){let b,c=!1;return function(){for(var d=arguments.length,e=Array(d),f=0;f<d;f++)e[f]=arguments[f];return c||(c=!0,b=a(...e)),b}}let b=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,c=a=>b.test(a);function i(){let{protocol:a,hostname:b,port:c}=window.location;return a+"//"+b+(c?":"+c:"")}function j(){let{href:a}=window.location,b=i();return a.substring(b.length)}function k(a){return"string"==typeof a?a:a.displayName||a.name||"Unknown"}function l(a){return a.finished||a.headersSent}function m(a){let b=a.split("?");return b[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(b[1]?"?"+b.slice(1).join("?"):"")}async function n(a,b){let c=b.res||b.ctx&&b.ctx.res;if(!a.getInitialProps)return b.ctx&&b.Component?{pageProps:await n(b.Component,b.ctx)}:{};let d=await a.getInitialProps(b);if(c&&l(c))return d;if(!d)throw Object.defineProperty(Error('"'+k(a)+'.getInitialProps()" should resolve to an object. But found "'+d+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return d}let d="undefined"!=typeof performance,p=d&&["mark","measure","getEntriesByName"].every(a=>"function"==typeof performance[a]);class q extends Error{}class r extends Error{}class s extends Error{constructor(a){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+a}}class t extends Error{constructor(a,b){super(),this.message="Failed to load static file for page: "+a+" "+b}}class u extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function o(a){return JSON.stringify({message:a.message,stack:a.stack})}}}};
1
+ module.exports={23430:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},30331:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("path",()=>require("path"))},57739:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("react/jsx-runtime",()=>require("react/jsx-runtime"))},38005:function(a){var{g:b,__dirname:c,m:d,e:e}=a;d.exports=a.x("react",()=>require("react"))},41305:function(a){var{g:b,__dirname:c,m:d,e:e}=a;"use strict";e._=function(a){return a&&a.__esModule?a:{default:a}}},65758:function(a){var{g:b,__dirname:c,m:d,e:e}=a;{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var f={DecodeError:function(){return q},MiddlewareNotFoundError:function(){return u},MissingStaticPage:function(){return t},NormalizeError:function(){return r},PageNotFoundError:function(){return s},SP:function(){return d},ST:function(){return p},WEB_VITALS:function(){return a},execOnce:function(){return h},getDisplayName:function(){return k},getLocationOrigin:function(){return i},getURL:function(){return j},isAbsoluteUrl:function(){return c},isResSent:function(){return l},loadGetInitialProps:function(){return n},normalizeRepeatedSlashes:function(){return m},stringifyError:function(){return o}};for(var g in f)Object.defineProperty(e,g,{enumerable:!0,get:f[g]});let a=["CLS","FCP","FID","INP","LCP","TTFB"];function h(a){let b,c=!1;return function(){for(var d=arguments.length,e=Array(d),f=0;f<d;f++)e[f]=arguments[f];return c||(c=!0,b=a(...e)),b}}let b=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,c=a=>b.test(a);function i(){let{protocol:a,hostname:b,port:c}=window.location;return a+"//"+b+(c?":"+c:"")}function j(){let{href:a}=window.location,b=i();return a.substring(b.length)}function k(a){return"string"==typeof a?a:a.displayName||a.name||"Unknown"}function l(a){return a.finished||a.headersSent}function m(a){let b=a.split("?");return b[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(b[1]?"?"+b.slice(1).join("?"):"")}async function n(a,b){let c=b.res||b.ctx&&b.ctx.res;if(!a.getInitialProps)return b.ctx&&b.Component?{pageProps:await n(b.Component,b.ctx)}:{};let d=await a.getInitialProps(b);if(c&&l(c))return d;if(!d)throw Object.defineProperty(Error('"'+k(a)+'.getInitialProps()" should resolve to an object. But found "'+d+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return d}let d="undefined"!=typeof performance,p=d&&["mark","measure","getEntriesByName"].every(a=>"function"==typeof performance[a]);class q extends Error{}class r extends Error{}class s extends Error{constructor(a){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+a}}class t extends Error{constructor(a,b){super(),this.message="Failed to load static file for page: "+a+" "+b}}class u extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function o(a){return JSON.stringify({message:a.message,stack:a.stack})}}}};
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__63c188bd._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__b8a5c1ab._.js.map