prime-dev-cli 1.0.21 → 1.0.22

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 (95) hide show
  1. package/dist/server/.next/BUILD_ID +1 -1
  2. package/dist/server/.next/app-build-manifest.json +1 -1
  3. package/dist/server/.next/app-path-routes-manifest.json +3 -0
  4. package/dist/server/.next/build-manifest.json +6 -6
  5. package/dist/server/.next/cache/.tsbuildinfo +1 -1
  6. package/dist/server/.next/cache/eslint/.cache_1qa5vxt +1 -1
  7. package/dist/server/.next/fallback-build-manifest.json +6 -6
  8. package/dist/server/.next/next-minimal-server.js.nft.json +1 -1
  9. package/dist/server/.next/next-server.js.nft.json +1 -1
  10. package/dist/server/.next/prerender-manifest.json +12 -12
  11. package/dist/server/.next/server/app/_not-found.html +1 -1
  12. package/dist/server/.next/server/app/_not-found.rsc +1 -1
  13. package/dist/server/.next/server/app/api/admin-git-batch-delete-branch/route/app-build-manifest.json +10 -0
  14. package/dist/server/.next/server/app/api/admin-git-batch-delete-branch/route/app-paths-manifest.json +3 -0
  15. package/dist/server/.next/server/app/api/admin-git-batch-delete-branch/route/build-manifest.json +16 -0
  16. package/dist/server/.next/server/app/api/admin-git-batch-delete-branch/route/next-font-manifest.json +6 -0
  17. package/dist/server/.next/server/app/api/admin-git-batch-delete-branch/route/react-loadable-manifest.json +1 -0
  18. package/dist/server/.next/server/app/api/admin-git-batch-delete-branch/route/server-reference-manifest.json +4 -0
  19. package/dist/server/.next/server/app/api/admin-git-batch-delete-branch/route.js +8 -0
  20. package/dist/server/.next/server/app/api/admin-git-batch-delete-branch/route.js.map +5 -0
  21. package/dist/server/.next/server/app/api/admin-git-batch-delete-branch/route.js.nft.json +1 -0
  22. package/dist/server/.next/server/app/api/admin-git-batch-delete-branch/route_client-reference-manifest.js +2 -0
  23. package/dist/server/.next/server/app/api/gwh-git-flow/abort/route/app-build-manifest.json +10 -0
  24. package/dist/server/.next/server/app/api/gwh-git-flow/abort/route/app-paths-manifest.json +3 -0
  25. package/dist/server/.next/server/app/api/gwh-git-flow/abort/route/build-manifest.json +16 -0
  26. package/dist/server/.next/server/app/api/gwh-git-flow/abort/route/next-font-manifest.json +6 -0
  27. package/dist/server/.next/server/app/api/gwh-git-flow/abort/route/react-loadable-manifest.json +1 -0
  28. package/dist/server/.next/server/app/api/gwh-git-flow/abort/route/server-reference-manifest.json +4 -0
  29. package/dist/server/.next/server/app/api/gwh-git-flow/abort/route.js +8 -0
  30. package/dist/server/.next/server/app/api/gwh-git-flow/abort/route.js.map +5 -0
  31. package/dist/server/.next/server/app/api/gwh-git-flow/abort/route.js.nft.json +1 -0
  32. package/dist/server/.next/server/app/api/gwh-git-flow/abort/route_client-reference-manifest.js +2 -0
  33. package/dist/server/.next/server/app/api/gwh-git-flow/route/app-build-manifest.json +10 -0
  34. package/dist/server/.next/server/app/api/gwh-git-flow/route/app-paths-manifest.json +3 -0
  35. package/dist/server/.next/server/app/api/gwh-git-flow/route/build-manifest.json +16 -0
  36. package/dist/server/.next/server/app/api/gwh-git-flow/route/next-font-manifest.json +6 -0
  37. package/dist/server/.next/server/app/api/gwh-git-flow/route/react-loadable-manifest.json +1 -0
  38. package/dist/server/.next/server/app/api/gwh-git-flow/route/server-reference-manifest.json +4 -0
  39. package/dist/server/.next/server/app/api/gwh-git-flow/route.js +9 -0
  40. package/dist/server/.next/server/app/api/gwh-git-flow/route.js.map +5 -0
  41. package/dist/server/.next/server/app/api/gwh-git-flow/route.js.nft.json +1 -0
  42. package/dist/server/.next/server/app/api/gwh-git-flow/route_client-reference-manifest.js +2 -0
  43. package/dist/server/.next/server/app/api/uat-git-flow/route.js +2 -2
  44. package/dist/server/.next/server/app/api/uat-git-flow/route.js.nft.json +1 -1
  45. package/dist/server/.next/server/app/api/uat-git-flow/step/route.js +2 -2
  46. package/dist/server/.next/server/app/api/uat-git-flow/step/route.js.nft.json +1 -1
  47. package/dist/server/.next/server/app/configuration.html +1 -1
  48. package/dist/server/.next/server/app/configuration.rsc +1 -1
  49. package/dist/server/.next/server/app/index.html +1 -1
  50. package/dist/server/.next/server/app/index.rsc +1 -1
  51. package/dist/server/.next/server/app/initialization/page/app-build-manifest.json +1 -1
  52. package/dist/server/.next/server/app/initialization/page_client-reference-manifest.js +1 -1
  53. package/dist/server/.next/server/app/initialization.html +1 -1
  54. package/dist/server/.next/server/app/initialization.rsc +2 -2
  55. package/dist/server/.next/server/app-paths-manifest.json +3 -0
  56. package/dist/server/.next/server/chunks/[root-of-the-server]__0f9a35fc._.js +3 -0
  57. package/dist/server/.next/server/chunks/[root-of-the-server]__0f9a35fc._.js.map +1 -0
  58. package/dist/server/.next/server/chunks/[root-of-the-server]__37bfbf6b._.js +16 -0
  59. package/dist/server/.next/server/chunks/[root-of-the-server]__37bfbf6b._.js.map +1 -0
  60. package/dist/server/.next/server/chunks/[root-of-the-server]__66dc5e6b._.js +16 -0
  61. package/dist/server/.next/server/chunks/[root-of-the-server]__66dc5e6b._.js.map +1 -0
  62. package/dist/server/.next/server/chunks/[root-of-the-server]__98088bea._.js +1 -1
  63. package/dist/server/.next/server/chunks/[root-of-the-server]__98088bea._.js.map +1 -1
  64. package/dist/server/.next/server/chunks/{[root-of-the-server]__bc84f5d7._.js → [root-of-the-server]__9f7a6c58._.js} +2 -2
  65. package/dist/server/.next/server/chunks/{[root-of-the-server]__978c4dda._.js.map → [root-of-the-server]__9f7a6c58._.js.map} +1 -1
  66. package/dist/server/.next/server/chunks/{[root-of-the-server]__978c4dda._.js → [root-of-the-server]__ac6efee1._.js} +2 -2
  67. package/dist/server/.next/server/chunks/{[root-of-the-server]__bc84f5d7._.js.map → [root-of-the-server]__ac6efee1._.js.map} +1 -1
  68. package/dist/server/.next/server/chunks/_24087f66._.js +1 -1
  69. package/dist/server/.next/server/chunks/_24087f66._.js.map +1 -1
  70. package/dist/server/.next/server/chunks/_61c263b3._.js +1 -1
  71. package/dist/server/.next/server/chunks/_61c263b3._.js.map +1 -1
  72. package/dist/server/.next/server/chunks/_f35a5421._.js +3 -0
  73. package/dist/server/.next/server/chunks/_f35a5421._.js.map +1 -0
  74. package/dist/server/.next/server/chunks/ssr/packages_server_src_7cef6dbd._.js +1 -1
  75. package/dist/server/.next/server/chunks/ssr/packages_server_src_7cef6dbd._.js.map +1 -1
  76. package/dist/server/.next/server/middleware-build-manifest.js +4 -4
  77. package/dist/server/.next/server/pages/404.html +1 -1
  78. package/dist/server/.next/server/pages/500.html +1 -1
  79. package/dist/server/.next/server/pages/_app/build-manifest.json +2 -2
  80. package/dist/server/.next/server/pages/_error/build-manifest.json +2 -2
  81. package/dist/server/.next/static/chunks/{2693a47bbc4fc75c.js → 0a55e0a2ff3b09e0.js} +1 -1
  82. package/dist/server/.next/static/chunks/13acbe5989647429.js +3 -0
  83. package/dist/server/.next/static/chunks/{352f266165580042.js → 6803a56f8e33c487.js} +2 -2
  84. package/dist/server/.next/static/chunks/{ac48e758a0b74c2b.js → 8f80ca1e88635b12.js} +1 -1
  85. package/dist/server/.next/static/chunks/{263bfd9c535a6eda.js.map → acb330991f8ec5eb.js.map} +1 -1
  86. package/dist/server/.next/static/chunks/f5014a46b22ea191.js.map +1 -0
  87. package/dist/server/.next/static/chunks/pages/_app.js +2 -2
  88. package/dist/server/.next/static/chunks/pages/_error.js +2 -2
  89. package/dist/server/.next/trace +2 -1
  90. package/package.json +1 -1
  91. package/dist/server/.next/static/chunks/67cde2756fdf3a91.js +0 -3
  92. package/dist/server/.next/static/chunks/c198f02ea70fda25.js.map +0 -1
  93. /package/dist/server/.next/static/{TxLJ_6S5QAvwM1pkwjUrZ → -cMGDUj-YvI_2FwzuOQqe}/_buildManifest.js +0 -0
  94. /package/dist/server/.next/static/{TxLJ_6S5QAvwM1pkwjUrZ → -cMGDUj-YvI_2FwzuOQqe}/_clientMiddlewareManifest.json +0 -0
  95. /package/dist/server/.next/static/{TxLJ_6S5QAvwM1pkwjUrZ → -cMGDUj-YvI_2FwzuOQqe}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/861aac2fba8d4e28.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/1923d6510bea25be.js"/><script src="/_next/static/chunks/0e57f1354cda05d5.js" async=""></script><script src="/_next/static/chunks/e5e4fd3e83ab66f8.js" async=""></script><script src="/_next/static/chunks/c4c1da381d908575.js" async=""></script><script src="/_next/static/chunks/ecfccf4677b4777a.js" async=""></script><script src="/_next/static/chunks/2d2322acba49236a.js" async=""></script><script src="/_next/static/chunks/9148331cad3a934e.js" async=""></script><title>Prime Dev CLI - 项目管理工具</title><meta name="description" content="管理多个前端项目的开发环境和配置"/><link rel="icon" href="/favicon.ico?favicon.45db1c09.ico" sizes="256x256" type="image/x-icon"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/ec548c7ce307cf6d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><div class="min-h-screen bg-gray-50 flex items-center justify-center"><div class="text-center space-y-4"><div class="animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600 mx-auto"></div><p class="text-gray-600">正在加载配置页面...</p></div></div><!--/$--><!--$--><!--/$--><script src="/_next/static/chunks/1923d6510bea25be.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[55889,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"default\"]\n3:I[54799,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"default\"]\n4:I[4962,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"ClientPageRoot\"]\n5:I[66445,[\"/_next/static/chunks/2d2322acba49236a.js\",\"/_next/static/chunks/9148331cad3a934e.js\"],\"default\"]\n8:I[67903,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"OutletBoundary\"]\nb:I[73794,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"AsyncMetadataOutlet\"]\nd:I[67903,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"ViewportBoundary\"]\nf:I[67903,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"MetadataBoundary\"]\n11:I[71163,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"default\"]\n:HL[\"/_next/static/chunks/861aac2fba8d4e28.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"TxLJ_6S5QAvwM1pkwjUrZ\",\"p\":\"\",\"c\":[\"\",\"configuration\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"configuration\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/861aac2fba8d4e28.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[\"configuration\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L4\",null,{\"Component\":\"$5\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@6\",\"$@7\"]}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/2d2322acba49236a.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/9148331cad3a934e.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L8\",null,{\"children\":[\"$L9\",\"$La\",[\"$\",\"$Lb\",null,{\"promise\":\"$@c\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$1\",\"kxDoBeiUVPq5XvgBCfdRXv\",{\"children\":[[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],null]}],[\"$\",\"$Lf\",null,{\"children\":\"$L10\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$11\",\"$undefined\"],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"12:\"$Sreact.suspense\"\n13:I[73794,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"AsyncMetadata\"]\n6:{}\n7:{}\n10:[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$12\",null,{\"fallback\":null,\"children\":[\"$\",\"$L13\",null,{\"promise\":\"$@14\"}]}]}]\n"])</script><script>self.__next_f.push([1,"a:null\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n9:null\n"])</script><script>self.__next_f.push([1,"c:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Prime Dev CLI - 项目管理工具\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"管理多个前端项目的开发环境和配置\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.45db1c09.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}]],\"error\":null,\"digest\":\"$undefined\"}\n14:{\"metadata\":\"$c:metadata\",\"error\":null,\"digest\":\"$undefined\"}\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/861aac2fba8d4e28.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/1923d6510bea25be.js"/><script src="/_next/static/chunks/0e57f1354cda05d5.js" async=""></script><script src="/_next/static/chunks/e5e4fd3e83ab66f8.js" async=""></script><script src="/_next/static/chunks/c4c1da381d908575.js" async=""></script><script src="/_next/static/chunks/ecfccf4677b4777a.js" async=""></script><script src="/_next/static/chunks/2d2322acba49236a.js" async=""></script><script src="/_next/static/chunks/9148331cad3a934e.js" async=""></script><title>Prime Dev CLI - 项目管理工具</title><meta name="description" content="管理多个前端项目的开发环境和配置"/><link rel="icon" href="/favicon.ico?favicon.45db1c09.ico" sizes="256x256" type="image/x-icon"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/ec548c7ce307cf6d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><div class="min-h-screen bg-gray-50 flex items-center justify-center"><div class="text-center space-y-4"><div class="animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600 mx-auto"></div><p class="text-gray-600">正在加载配置页面...</p></div></div><!--/$--><!--$--><!--/$--><script src="/_next/static/chunks/1923d6510bea25be.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[55889,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"default\"]\n3:I[54799,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"default\"]\n4:I[4962,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"ClientPageRoot\"]\n5:I[66445,[\"/_next/static/chunks/2d2322acba49236a.js\",\"/_next/static/chunks/9148331cad3a934e.js\"],\"default\"]\n8:I[67903,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"OutletBoundary\"]\nb:I[73794,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"AsyncMetadataOutlet\"]\nd:I[67903,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"ViewportBoundary\"]\nf:I[67903,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"MetadataBoundary\"]\n11:I[71163,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"default\"]\n:HL[\"/_next/static/chunks/861aac2fba8d4e28.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"-cMGDUj-YvI_2FwzuOQqe\",\"p\":\"\",\"c\":[\"\",\"configuration\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"configuration\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/861aac2fba8d4e28.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[\"configuration\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L4\",null,{\"Component\":\"$5\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@6\",\"$@7\"]}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/2d2322acba49236a.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/9148331cad3a934e.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L8\",null,{\"children\":[\"$L9\",\"$La\",[\"$\",\"$Lb\",null,{\"promise\":\"$@c\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$1\",\"BOazeF-Jrs_S7bj6nb-DXv\",{\"children\":[[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],null]}],[\"$\",\"$Lf\",null,{\"children\":\"$L10\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$11\",\"$undefined\"],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"12:\"$Sreact.suspense\"\n13:I[73794,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"AsyncMetadata\"]\n6:{}\n7:{}\n10:[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$12\",null,{\"fallback\":null,\"children\":[\"$\",\"$L13\",null,{\"promise\":\"$@14\"}]}]}]\n"])</script><script>self.__next_f.push([1,"a:null\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n9:null\n"])</script><script>self.__next_f.push([1,"c:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Prime Dev CLI - 项目管理工具\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"管理多个前端项目的开发环境和配置\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.45db1c09.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}]],\"error\":null,\"digest\":\"$undefined\"}\n14:{\"metadata\":\"$c:metadata\",\"error\":null,\"digest\":\"$undefined\"}\n"])</script></body></html>
@@ -9,7 +9,7 @@ d:I[67903,["/_next/static/chunks/ecfccf4677b4777a.js"],"ViewportBoundary"]
9
9
  f:I[67903,["/_next/static/chunks/ecfccf4677b4777a.js"],"MetadataBoundary"]
10
10
  11:I[71163,["/_next/static/chunks/ecfccf4677b4777a.js"],"default"]
11
11
  :HL["/_next/static/chunks/861aac2fba8d4e28.css","style"]
12
- 0:{"P":null,"b":"TxLJ_6S5QAvwM1pkwjUrZ","p":"","c":["","configuration"],"i":false,"f":[[["",{"children":["configuration",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/861aac2fba8d4e28.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":["configuration",["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L4",null,{"Component":"$5","searchParams":{},"params":{},"promises":["$@6","$@7"]}],[["$","script","script-0",{"src":"/_next/static/chunks/2d2322acba49236a.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/9148331cad3a934e.js","async":true,"nonce":"$undefined"}]],["$","$L8",null,{"children":["$L9","$La",["$","$Lb",null,{"promise":"$@c"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","kxDoBeiUVPq5XvgBCfdRXv",{"children":[["$","$Ld",null,{"children":"$Le"}],null]}],["$","$Lf",null,{"children":"$L10"}]]}],false]],"m":"$undefined","G":["$11","$undefined"],"s":false,"S":true}
12
+ 0:{"P":null,"b":"-cMGDUj-YvI_2FwzuOQqe","p":"","c":["","configuration"],"i":false,"f":[[["",{"children":["configuration",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/861aac2fba8d4e28.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":["configuration",["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L4",null,{"Component":"$5","searchParams":{},"params":{},"promises":["$@6","$@7"]}],[["$","script","script-0",{"src":"/_next/static/chunks/2d2322acba49236a.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/9148331cad3a934e.js","async":true,"nonce":"$undefined"}]],["$","$L8",null,{"children":["$L9","$La",["$","$Lb",null,{"promise":"$@c"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","BOazeF-Jrs_S7bj6nb-DXv",{"children":[["$","$Ld",null,{"children":"$Le"}],null]}],["$","$Lf",null,{"children":"$L10"}]]}],false]],"m":"$undefined","G":["$11","$undefined"],"s":false,"S":true}
13
13
  12:"$Sreact.suspense"
14
14
  13:I[73794,["/_next/static/chunks/ecfccf4677b4777a.js"],"AsyncMetadata"]
15
15
  6:{}
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/1923d6510bea25be.js"/><script src="/_next/static/chunks/0e57f1354cda05d5.js" async=""></script><script src="/_next/static/chunks/e5e4fd3e83ab66f8.js" async=""></script><script src="/_next/static/chunks/c4c1da381d908575.js" async=""></script><script src="/_next/static/chunks/ecfccf4677b4777a.js" async=""></script><div hidden=""></div><title>Prime Dev CLI - 项目管理工具</title><meta name="description" content="管理多个前端项目的开发环境和配置"/><link rel="icon" href="/favicon.ico?favicon.45db1c09.ico" sizes="256x256" type="image/x-icon"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/ec548c7ce307cf6d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><script src="/_next/static/chunks/1923d6510bea25be.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[55889,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"default\"]\n3:I[54799,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"default\"]\n5:I[67903,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"OutletBoundary\"]\n8:I[73794,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"AsyncMetadataOutlet\"]\na:I[67903,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"ViewportBoundary\"]\nc:I[67903,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"MetadataBoundary\"]\ne:I[71163,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"default\"]\n:HL[\"/_next/static/chunks/861aac2fba8d4e28.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"TxLJ_6S5QAvwM1pkwjUrZ\",\"p\":\"\",\"c\":[\"\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/861aac2fba8d4e28.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[\"$L4\",null,[\"$\",\"$L5\",null,{\"children\":[\"$L6\",\"$L7\",[\"$\",\"$L8\",null,{\"promise\":\"$@9\"}]]}]]}],{},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$1\",\"OOYzEfPO2E1narDrJ5aMWv\",{\"children\":[[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],null]}],[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",\"$undefined\"],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"4:E{\"digest\":\"NEXT_REDIRECT;replace;/initialization;307;\"}\n"])</script><script>self.__next_f.push([1,"f:\"$Sreact.suspense\"\n10:I[73794,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"AsyncMetadata\"]\nd:[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$f\",null,{\"fallback\":null,\"children\":[\"$\",\"$L10\",null,{\"promise\":\"$@11\"}]}]}]\n7:null\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n6:null\n"])</script><script>self.__next_f.push([1,"9:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Prime Dev CLI - 项目管理工具\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"管理多个前端项目的开发环境和配置\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.45db1c09.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}]],\"error\":null,\"digest\":\"$undefined\"}\n11:{\"metadata\":\"$9:metadata\",\"error\":null,\"digest\":\"$undefined\"}\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/1923d6510bea25be.js"/><script src="/_next/static/chunks/0e57f1354cda05d5.js" async=""></script><script src="/_next/static/chunks/e5e4fd3e83ab66f8.js" async=""></script><script src="/_next/static/chunks/c4c1da381d908575.js" async=""></script><script src="/_next/static/chunks/ecfccf4677b4777a.js" async=""></script><div hidden=""></div><title>Prime Dev CLI - 项目管理工具</title><meta name="description" content="管理多个前端项目的开发环境和配置"/><link rel="icon" href="/favicon.ico?favicon.45db1c09.ico" sizes="256x256" type="image/x-icon"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/ec548c7ce307cf6d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><script src="/_next/static/chunks/1923d6510bea25be.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[55889,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"default\"]\n3:I[54799,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"default\"]\n5:I[67903,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"OutletBoundary\"]\n8:I[73794,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"AsyncMetadataOutlet\"]\na:I[67903,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"ViewportBoundary\"]\nc:I[67903,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"MetadataBoundary\"]\ne:I[71163,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"default\"]\n:HL[\"/_next/static/chunks/861aac2fba8d4e28.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"-cMGDUj-YvI_2FwzuOQqe\",\"p\":\"\",\"c\":[\"\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/861aac2fba8d4e28.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[\"$L4\",null,[\"$\",\"$L5\",null,{\"children\":[\"$L6\",\"$L7\",[\"$\",\"$L8\",null,{\"promise\":\"$@9\"}]]}]]}],{},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$1\",\"46YRruYcqtMZhV2_XxWrLv\",{\"children\":[[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],null]}],[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",\"$undefined\"],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"4:E{\"digest\":\"NEXT_REDIRECT;replace;/initialization;307;\"}\n"])</script><script>self.__next_f.push([1,"f:\"$Sreact.suspense\"\n10:I[73794,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"AsyncMetadata\"]\nd:[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$f\",null,{\"fallback\":null,\"children\":[\"$\",\"$L10\",null,{\"promise\":\"$@11\"}]}]}]\n7:null\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n6:null\n"])</script><script>self.__next_f.push([1,"9:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Prime Dev CLI - 项目管理工具\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"管理多个前端项目的开发环境和配置\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.45db1c09.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}]],\"error\":null,\"digest\":\"$undefined\"}\n11:{\"metadata\":\"$9:metadata\",\"error\":null,\"digest\":\"$undefined\"}\n"])</script></body></html>
@@ -7,7 +7,7 @@ a:I[67903,["/_next/static/chunks/ecfccf4677b4777a.js"],"ViewportBoundary"]
7
7
  c:I[67903,["/_next/static/chunks/ecfccf4677b4777a.js"],"MetadataBoundary"]
8
8
  e:I[71163,["/_next/static/chunks/ecfccf4677b4777a.js"],"default"]
9
9
  :HL["/_next/static/chunks/861aac2fba8d4e28.css","style"]
10
- 0:{"P":null,"b":"TxLJ_6S5QAvwM1pkwjUrZ","p":"","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/861aac2fba8d4e28.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L4",null,["$","$L5",null,{"children":["$L6","$L7",["$","$L8",null,{"promise":"$@9"}]]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","OOYzEfPO2E1narDrJ5aMWv",{"children":[["$","$La",null,{"children":"$Lb"}],null]}],["$","$Lc",null,{"children":"$Ld"}]]}],false]],"m":"$undefined","G":["$e","$undefined"],"s":false,"S":true}
10
+ 0:{"P":null,"b":"-cMGDUj-YvI_2FwzuOQqe","p":"","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/861aac2fba8d4e28.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L4",null,["$","$L5",null,{"children":["$L6","$L7",["$","$L8",null,{"promise":"$@9"}]]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","46YRruYcqtMZhV2_XxWrLv",{"children":[["$","$La",null,{"children":"$Lb"}],null]}],["$","$Lc",null,{"children":"$Ld"}]]}],false]],"m":"$undefined","G":["$e","$undefined"],"s":false,"S":true}
11
11
  4:E{"digest":"NEXT_REDIRECT;replace;/initialization;307;"}
12
12
  f:"$Sreact.suspense"
13
13
  10:I[73794,["/_next/static/chunks/ecfccf4677b4777a.js"],"AsyncMetadata"]
@@ -3,7 +3,7 @@
3
3
  "/initialization/page": [
4
4
  "static/chunks/ecfccf4677b4777a.js",
5
5
  "static/chunks/861aac2fba8d4e28.css",
6
- "static/chunks/67cde2756fdf3a91.js",
6
+ "static/chunks/13acbe5989647429.js",
7
7
  "static/chunks/43c514797c454939.js",
8
8
  "static/chunks/1923d6510bea25be.js",
9
9
  "static/chunks/0e57f1354cda05d5.js",
@@ -1,2 +1,2 @@
1
1
  globalThis.__RSC_MANIFEST = globalThis.__RSC_MANIFEST || {};
2
- globalThis.__RSC_MANIFEST["/initialization/page"] = {"moduleLoading":{"prefix":"","crossOrigin":null},"clientModules":{"[project]/packages/server/src/components/project-initializer.tsx <module evaluation>":{"id":9993,"name":"*","chunks":["/_next/static/chunks/67cde2756fdf3a91.js","/_next/static/chunks/43c514797c454939.js"],"async":false},"[project]/packages/server/src/components/project-initializer.tsx":{"id":9993,"name":"*","chunks":["/_next/static/chunks/67cde2756fdf3a91.js","/_next/static/chunks/43c514797c454939.js"],"async":false},"[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/client/components/error-boundary.js <module evaluation>":{"id":71163,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/client/components/error-boundary.js":{"id":71163,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/layout-router.js <module evaluation>":{"id":55889,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/layout-router.js":{"id":55889,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/render-from-template-context.js <module evaluation>":{"id":54799,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/render-from-template-context.js":{"id":54799,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/client-page.js <module evaluation>":{"id":4962,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/client-page.js":{"id":4962,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/client-segment.js <module evaluation>":{"id":60374,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/client-segment.js":{"id":60374,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/http-access-fallback/error-boundary.js <module evaluation>":{"id":94238,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/http-access-fallback/error-boundary.js":{"id":94238,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/metadata/async-metadata.js <module evaluation>":{"id":73794,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/metadata/async-metadata.js":{"id":73794,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/error-boundary.js <module evaluation>":{"id":71163,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/error-boundary.js":{"id":71163,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/metadata/metadata-boundary.js <module evaluation>":{"id":67903,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/metadata/metadata-boundary.js":{"id":67903,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false}},"ssrModuleMapping":{"9993":{"*":{"id":90250,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__a085452f._.js","server/chunks/ssr/_ee0c9da0._.js","server/chunks/ssr/packages_server_src_7cef6dbd._.js"],"async":false}},"71163":{"*":{"id":77342,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__7b253128._.js","server/chunks/ssr/node_modules__pnpm_da0d20e8._.js"],"async":false}},"55889":{"*":{"id":60752,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__7b253128._.js","server/chunks/ssr/node_modules__pnpm_da0d20e8._.js"],"async":false}},"54799":{"*":{"id":98696,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__7b253128._.js","server/chunks/ssr/node_modules__pnpm_da0d20e8._.js"],"async":false}},"4962":{"*":{"id":18263,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__7b253128._.js","server/chunks/ssr/node_modules__pnpm_da0d20e8._.js"],"async":false}},"60374":{"*":{"id":29996,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__7b253128._.js","server/chunks/ssr/node_modules__pnpm_da0d20e8._.js"],"async":false}},"94238":{"*":{"id":16477,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__7b253128._.js","server/chunks/ssr/node_modules__pnpm_da0d20e8._.js"],"async":false}},"73794":{"*":{"id":15890,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__7b253128._.js","server/chunks/ssr/node_modules__pnpm_da0d20e8._.js"],"async":false}},"67903":{"*":{"id":17423,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__7b253128._.js","server/chunks/ssr/node_modules__pnpm_da0d20e8._.js"],"async":false}}},"edgeSSRModuleMapping":{},"rscModuleMapping":{"9993":{"*":{"id":23352,"name":"*","chunks":["server/app/initialization/page.js"],"async":false}},"71163":{"*":{"id":61928,"name":"*","chunks":["server/app/initialization/page.js"],"async":false}},"55889":{"*":{"id":47058,"name":"*","chunks":["server/app/initialization/page.js"],"async":false}},"54799":{"*":{"id":10287,"name":"*","chunks":["server/app/initialization/page.js"],"async":false}},"4962":{"*":{"id":23309,"name":"*","chunks":["server/app/initialization/page.js"],"async":false}},"60374":{"*":{"id":21696,"name":"*","chunks":["server/app/initialization/page.js"],"async":false}},"94238":{"*":{"id":46950,"name":"*","chunks":["server/app/initialization/page.js"],"async":false}},"73794":{"*":{"id":35824,"name":"*","chunks":["server/app/initialization/page.js"],"async":false}},"67903":{"*":{"id":79641,"name":"*","chunks":["server/app/initialization/page.js"],"async":false}}},"edgeRscModuleMapping":{},"entryCSSFiles":{"[project]/packages/server/src/app/favicon.ico":[],"[project]/packages/server/src/app/layout":[{"path":"static/chunks/861aac2fba8d4e28.css","inlined":false}],"[project]/packages/server/src/app/initialization/page":[{"path":"static/chunks/861aac2fba8d4e28.css","inlined":false}]},"entryJSFiles":{"[project]/packages/server/src/app/favicon.ico":["static/chunks/ecfccf4677b4777a.js"],"[project]/packages/server/src/app/layout":[],"[project]/packages/server/src/app/initialization/page":["static/chunks/67cde2756fdf3a91.js","static/chunks/43c514797c454939.js"]}}
2
+ globalThis.__RSC_MANIFEST["/initialization/page"] = {"moduleLoading":{"prefix":"","crossOrigin":null},"clientModules":{"[project]/packages/server/src/components/project-initializer.tsx <module evaluation>":{"id":9993,"name":"*","chunks":["/_next/static/chunks/13acbe5989647429.js","/_next/static/chunks/43c514797c454939.js"],"async":false},"[project]/packages/server/src/components/project-initializer.tsx":{"id":9993,"name":"*","chunks":["/_next/static/chunks/13acbe5989647429.js","/_next/static/chunks/43c514797c454939.js"],"async":false},"[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/client/components/error-boundary.js <module evaluation>":{"id":71163,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/client/components/error-boundary.js":{"id":71163,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/layout-router.js <module evaluation>":{"id":55889,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/layout-router.js":{"id":55889,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/render-from-template-context.js <module evaluation>":{"id":54799,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/render-from-template-context.js":{"id":54799,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/client-page.js <module evaluation>":{"id":4962,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/client-page.js":{"id":4962,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/client-segment.js <module evaluation>":{"id":60374,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/client-segment.js":{"id":60374,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/http-access-fallback/error-boundary.js <module evaluation>":{"id":94238,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/http-access-fallback/error-boundary.js":{"id":94238,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/metadata/async-metadata.js <module evaluation>":{"id":73794,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/metadata/async-metadata.js":{"id":73794,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/error-boundary.js <module evaluation>":{"id":71163,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/error-boundary.js":{"id":71163,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/metadata/metadata-boundary.js <module evaluation>":{"id":67903,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false},"[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/esm/client/components/metadata/metadata-boundary.js":{"id":67903,"name":"*","chunks":["/_next/static/chunks/ecfccf4677b4777a.js"],"async":false}},"ssrModuleMapping":{"9993":{"*":{"id":90250,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__a085452f._.js","server/chunks/ssr/_ee0c9da0._.js","server/chunks/ssr/packages_server_src_7cef6dbd._.js"],"async":false}},"71163":{"*":{"id":77342,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__7b253128._.js","server/chunks/ssr/node_modules__pnpm_da0d20e8._.js"],"async":false}},"55889":{"*":{"id":60752,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__7b253128._.js","server/chunks/ssr/node_modules__pnpm_da0d20e8._.js"],"async":false}},"54799":{"*":{"id":98696,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__7b253128._.js","server/chunks/ssr/node_modules__pnpm_da0d20e8._.js"],"async":false}},"4962":{"*":{"id":18263,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__7b253128._.js","server/chunks/ssr/node_modules__pnpm_da0d20e8._.js"],"async":false}},"60374":{"*":{"id":29996,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__7b253128._.js","server/chunks/ssr/node_modules__pnpm_da0d20e8._.js"],"async":false}},"94238":{"*":{"id":16477,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__7b253128._.js","server/chunks/ssr/node_modules__pnpm_da0d20e8._.js"],"async":false}},"73794":{"*":{"id":15890,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__7b253128._.js","server/chunks/ssr/node_modules__pnpm_da0d20e8._.js"],"async":false}},"67903":{"*":{"id":17423,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__7b253128._.js","server/chunks/ssr/node_modules__pnpm_da0d20e8._.js"],"async":false}}},"edgeSSRModuleMapping":{},"rscModuleMapping":{"9993":{"*":{"id":23352,"name":"*","chunks":["server/app/initialization/page.js"],"async":false}},"71163":{"*":{"id":61928,"name":"*","chunks":["server/app/initialization/page.js"],"async":false}},"55889":{"*":{"id":47058,"name":"*","chunks":["server/app/initialization/page.js"],"async":false}},"54799":{"*":{"id":10287,"name":"*","chunks":["server/app/initialization/page.js"],"async":false}},"4962":{"*":{"id":23309,"name":"*","chunks":["server/app/initialization/page.js"],"async":false}},"60374":{"*":{"id":21696,"name":"*","chunks":["server/app/initialization/page.js"],"async":false}},"94238":{"*":{"id":46950,"name":"*","chunks":["server/app/initialization/page.js"],"async":false}},"73794":{"*":{"id":35824,"name":"*","chunks":["server/app/initialization/page.js"],"async":false}},"67903":{"*":{"id":79641,"name":"*","chunks":["server/app/initialization/page.js"],"async":false}}},"edgeRscModuleMapping":{},"entryCSSFiles":{"[project]/packages/server/src/app/favicon.ico":[],"[project]/packages/server/src/app/layout":[{"path":"static/chunks/861aac2fba8d4e28.css","inlined":false}],"[project]/packages/server/src/app/initialization/page":[{"path":"static/chunks/861aac2fba8d4e28.css","inlined":false}]},"entryJSFiles":{"[project]/packages/server/src/app/favicon.ico":["static/chunks/ecfccf4677b4777a.js"],"[project]/packages/server/src/app/layout":[],"[project]/packages/server/src/app/initialization/page":["static/chunks/13acbe5989647429.js","static/chunks/43c514797c454939.js"]}}
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/861aac2fba8d4e28.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/1923d6510bea25be.js"/><script src="/_next/static/chunks/0e57f1354cda05d5.js" async=""></script><script src="/_next/static/chunks/e5e4fd3e83ab66f8.js" async=""></script><script src="/_next/static/chunks/c4c1da381d908575.js" async=""></script><script src="/_next/static/chunks/ecfccf4677b4777a.js" async=""></script><script src="/_next/static/chunks/67cde2756fdf3a91.js" async=""></script><script src="/_next/static/chunks/43c514797c454939.js" async=""></script><title>Prime Dev CLI - 项目管理工具</title><meta name="description" content="管理多个前端项目的开发环境和配置"/><link rel="icon" href="/favicon.ico?favicon.45db1c09.ico" sizes="256x256" type="image/x-icon"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/ec548c7ce307cf6d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div class="container mx-auto p-4 sm:p-6 md:p-8"><div class="flex justify-between items-center mb-6"><h1 class="text-2xl font-bold">项目初始化</h1><button data-slot="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive bg-primary text-primary-foreground shadow-xs hover:bg-primary/90 h-9 px-4 py-2 has-[&gt;svg]:px-3" disabled="">检查中...</button></div><div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4"><div class="col-span-full text-center text-gray-500 py-8">正在检查项目状态...</div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/1923d6510bea25be.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[55889,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"default\"]\n3:I[54799,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"default\"]\n4:I[9993,[\"/_next/static/chunks/67cde2756fdf3a91.js\",\"/_next/static/chunks/43c514797c454939.js\"],\"default\"]\n5:I[67903,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"OutletBoundary\"]\n8:I[73794,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"AsyncMetadataOutlet\"]\na:I[67903,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"ViewportBoundary\"]\nc:I[67903,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"MetadataBoundary\"]\ne:I[71163,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"default\"]\n:HL[\"/_next/static/chunks/861aac2fba8d4e28.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"TxLJ_6S5QAvwM1pkwjUrZ\",\"p\":\"\",\"c\":[\"\",\"initialization\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"initialization\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/861aac2fba8d4e28.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[\"initialization\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L4\",null,{}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/67cde2756fdf3a91.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/43c514797c454939.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L5\",null,{\"children\":[\"$L6\",\"$L7\",[\"$\",\"$L8\",null,{\"promise\":\"$@9\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$1\",\"Bdtb3noY3W2Yfe_fKwXEmv\",{\"children\":[[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],null]}],[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",\"$undefined\"],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"f:\"$Sreact.suspense\"\n10:I[73794,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"AsyncMetadata\"]\nd:[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$f\",null,{\"fallback\":null,\"children\":[\"$\",\"$L10\",null,{\"promise\":\"$@11\"}]}]}]\n7:null\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n6:null\n"])</script><script>self.__next_f.push([1,"9:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Prime Dev CLI - 项目管理工具\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"管理多个前端项目的开发环境和配置\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.45db1c09.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}]],\"error\":null,\"digest\":\"$undefined\"}\n11:{\"metadata\":\"$9:metadata\",\"error\":null,\"digest\":\"$undefined\"}\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/861aac2fba8d4e28.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/1923d6510bea25be.js"/><script src="/_next/static/chunks/0e57f1354cda05d5.js" async=""></script><script src="/_next/static/chunks/e5e4fd3e83ab66f8.js" async=""></script><script src="/_next/static/chunks/c4c1da381d908575.js" async=""></script><script src="/_next/static/chunks/ecfccf4677b4777a.js" async=""></script><script src="/_next/static/chunks/13acbe5989647429.js" async=""></script><script src="/_next/static/chunks/43c514797c454939.js" async=""></script><title>Prime Dev CLI - 项目管理工具</title><meta name="description" content="管理多个前端项目的开发环境和配置"/><link rel="icon" href="/favicon.ico?favicon.45db1c09.ico" sizes="256x256" type="image/x-icon"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/ec548c7ce307cf6d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div class="container mx-auto p-4 sm:p-6 md:p-8"><div class="flex justify-between items-center mb-6"><h1 class="text-2xl font-bold">项目初始化</h1><button data-slot="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive bg-primary text-primary-foreground shadow-xs hover:bg-primary/90 h-9 px-4 py-2 has-[&gt;svg]:px-3" disabled="">检查中...</button></div><div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4"><div class="col-span-full text-center text-gray-500 py-8">正在检查项目状态...</div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/1923d6510bea25be.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[55889,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"default\"]\n3:I[54799,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"default\"]\n4:I[9993,[\"/_next/static/chunks/13acbe5989647429.js\",\"/_next/static/chunks/43c514797c454939.js\"],\"default\"]\n5:I[67903,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"OutletBoundary\"]\n8:I[73794,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"AsyncMetadataOutlet\"]\na:I[67903,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"ViewportBoundary\"]\nc:I[67903,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"MetadataBoundary\"]\ne:I[71163,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"default\"]\n:HL[\"/_next/static/chunks/861aac2fba8d4e28.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"-cMGDUj-YvI_2FwzuOQqe\",\"p\":\"\",\"c\":[\"\",\"initialization\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"initialization\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/861aac2fba8d4e28.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[\"initialization\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L4\",null,{}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/13acbe5989647429.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/43c514797c454939.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L5\",null,{\"children\":[\"$L6\",\"$L7\",[\"$\",\"$L8\",null,{\"promise\":\"$@9\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$1\",\"O8i8gjVhmay6zoUbNWEofv\",{\"children\":[[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],null]}],[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",\"$undefined\"],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"f:\"$Sreact.suspense\"\n10:I[73794,[\"/_next/static/chunks/ecfccf4677b4777a.js\"],\"AsyncMetadata\"]\nd:[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$f\",null,{\"fallback\":null,\"children\":[\"$\",\"$L10\",null,{\"promise\":\"$@11\"}]}]}]\n7:null\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n6:null\n"])</script><script>self.__next_f.push([1,"9:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Prime Dev CLI - 项目管理工具\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"管理多个前端项目的开发环境和配置\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.45db1c09.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}]],\"error\":null,\"digest\":\"$undefined\"}\n11:{\"metadata\":\"$9:metadata\",\"error\":null,\"digest\":\"$undefined\"}\n"])</script></body></html>
@@ -1,14 +1,14 @@
1
1
  1:"$Sreact.fragment"
2
2
  2:I[55889,["/_next/static/chunks/ecfccf4677b4777a.js"],"default"]
3
3
  3:I[54799,["/_next/static/chunks/ecfccf4677b4777a.js"],"default"]
4
- 4:I[9993,["/_next/static/chunks/67cde2756fdf3a91.js","/_next/static/chunks/43c514797c454939.js"],"default"]
4
+ 4:I[9993,["/_next/static/chunks/13acbe5989647429.js","/_next/static/chunks/43c514797c454939.js"],"default"]
5
5
  5:I[67903,["/_next/static/chunks/ecfccf4677b4777a.js"],"OutletBoundary"]
6
6
  8:I[73794,["/_next/static/chunks/ecfccf4677b4777a.js"],"AsyncMetadataOutlet"]
7
7
  a:I[67903,["/_next/static/chunks/ecfccf4677b4777a.js"],"ViewportBoundary"]
8
8
  c:I[67903,["/_next/static/chunks/ecfccf4677b4777a.js"],"MetadataBoundary"]
9
9
  e:I[71163,["/_next/static/chunks/ecfccf4677b4777a.js"],"default"]
10
10
  :HL["/_next/static/chunks/861aac2fba8d4e28.css","style"]
11
- 0:{"P":null,"b":"TxLJ_6S5QAvwM1pkwjUrZ","p":"","c":["","initialization"],"i":false,"f":[[["",{"children":["initialization",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/861aac2fba8d4e28.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":["initialization",["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L4",null,{}],[["$","script","script-0",{"src":"/_next/static/chunks/67cde2756fdf3a91.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/43c514797c454939.js","async":true,"nonce":"$undefined"}]],["$","$L5",null,{"children":["$L6","$L7",["$","$L8",null,{"promise":"$@9"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","Bdtb3noY3W2Yfe_fKwXEmv",{"children":[["$","$La",null,{"children":"$Lb"}],null]}],["$","$Lc",null,{"children":"$Ld"}]]}],false]],"m":"$undefined","G":["$e","$undefined"],"s":false,"S":true}
11
+ 0:{"P":null,"b":"-cMGDUj-YvI_2FwzuOQqe","p":"","c":["","initialization"],"i":false,"f":[[["",{"children":["initialization",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/861aac2fba8d4e28.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":["initialization",["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L4",null,{}],[["$","script","script-0",{"src":"/_next/static/chunks/13acbe5989647429.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/43c514797c454939.js","async":true,"nonce":"$undefined"}]],["$","$L5",null,{"children":["$L6","$L7",["$","$L8",null,{"promise":"$@9"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","O8i8gjVhmay6zoUbNWEofv",{"children":[["$","$La",null,{"children":"$Lb"}],null]}],["$","$Lc",null,{"children":"$Ld"}]]}],false]],"m":"$undefined","G":["$e","$undefined"],"s":false,"S":true}
12
12
  f:"$Sreact.suspense"
13
13
  10:I[73794,["/_next/static/chunks/ecfccf4677b4777a.js"],"AsyncMetadata"]
14
14
  d:["$","div",null,{"hidden":true,"children":["$","$f",null,{"fallback":null,"children":["$","$L10",null,{"promise":"$@11"}]}]}]
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "/_not-found/page": "app/_not-found/page.js",
3
3
  "/api/admin-git-batch-create-branch/route": "app/api/admin-git-batch-create-branch/route.js",
4
+ "/api/admin-git-batch-delete-branch/route": "app/api/admin-git-batch-delete-branch/route.js",
4
5
  "/api/admin-git-batch-merge/route": "app/api/admin-git-batch-merge/route.js",
5
6
  "/api/admin-status/route": "app/api/admin-status/route.js",
6
7
  "/api/all-projects-envs/route": "app/api/all-projects-envs/route.js",
@@ -11,6 +12,8 @@
11
12
  "/api/current-branch/route": "app/api/current-branch/route.js",
12
13
  "/api/delete-mock-api/route": "app/api/delete-mock-api/route.js",
13
14
  "/api/get-mock-data/route": "app/api/get-mock-data/route.js",
15
+ "/api/gwh-git-flow/abort/route": "app/api/gwh-git-flow/abort/route.js",
16
+ "/api/gwh-git-flow/route": "app/api/gwh-git-flow/route.js",
14
17
  "/api/initialize-workspace/route": "app/api/initialize-workspace/route.js",
15
18
  "/api/memory-status/route": "app/api/memory-status/route.js",
16
19
  "/api/microapp-proxy-change-stream/route": "app/api/microapp-proxy-change-stream/route.js",
@@ -0,0 +1,3 @@
1
+ module.exports={45935:function(e){var{g:t,__dirname:r,m:n,e:s}=e;n.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"))},29549:function(e){var{g:t,__dirname:r,m:n,e:s}=e;n.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:t,__dirname:r,m:n,e:s}=e;n.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:t,__dirname:r,m:n,e:s}=e;n.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:t,__dirname:r,m:n,e:s}=e;n.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},52670:function(e){var{g:t,__dirname:r,m:n,e:s}=e;n.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"))},16829:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({clearGwhGitFlowState:()=>i,createGwhGitFlowState:()=>s,isGwhGitFlowAborted:()=>a,markGwhGitFlowAbort:()=>o});let t=new Map;function n(){let e=Date.now();for(let[r,n]of t.entries())e-n.updatedAt>18e5&&t.delete(r)}function s(e){n(),t.set(e,{aborted:!1,updatedAt:Date.now()})}function o(e){let r=t.get(e);t.set(e,{aborted:!0,updatedAt:Date.now()}),r||n()}function a(e){return n(),t.get(e)?.aborted??!1}function i(e){t.delete(e)}}},94788:function(e){var{g:t,__dirname:r,m:n,e:s}=e},82169:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({POST:()=>o});var n=e.i(15494),s=e.i(16829);async function o(e){try{let t=await e.json(),r="string"==typeof t.runId?t.runId:"";if(!r)return n.NextResponse.json({success:!1,error:"缺少 runId"},{status:400});return(0,s.markGwhGitFlowAbort)(r),n.NextResponse.json({success:!0,message:"已发送中断请求"})}catch(e){return n.NextResponse.json({success:!1,error:e instanceof Error?e.message:"中断失败"},{status:500})}}},23206:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({patchFetch:()=>i,routeModule:()=>t,serverHooks:()=>u,workAsyncStorage:()=>r,workUnitAsyncStorage:()=>p});var n=e.i(45746),s=e.i(93828),o=e.i(18250),a=e.i(82169);let t=new n.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/gwh-git-flow/abort/route",pathname:"/api/gwh-git-flow/abort",filename:"route",bundlePath:""},resolvedPagePath:"[project]/packages/server/src/app/api/gwh-git-flow/abort/route.ts",nextConfigOutput:"",userland:a}),{workAsyncStorage:r,workUnitAsyncStorage:p,serverHooks:u}=t;function i(){return(0,o.patchFetch)({workAsyncStorage:r,workUnitAsyncStorage:p})}}}};
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0f9a35fc._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["turbopack:///[project]/packages/server/src/app/api/gwh-git-flow/state.ts","turbopack:///[project]/packages/server/src/app/api/gwh-git-flow/abort/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 AbortState = {\n aborted: boolean;\n updatedAt: number;\n};\n\nconst abortStates = new Map<string, AbortState>();\nconst ABORT_STATE_TTL = 1000 * 60 * 30;\n\nfunction cleanupAbortStates() {\n const now = Date.now();\n for (const [runId, state] of abortStates.entries()) {\n if (now - state.updatedAt > ABORT_STATE_TTL) {\n abortStates.delete(runId);\n }\n }\n}\n\nexport function createGwhGitFlowState(runId: string) {\n cleanupAbortStates();\n abortStates.set(runId, { aborted: false, updatedAt: Date.now() });\n}\n\nexport function markGwhGitFlowAbort(runId: string) {\n const existing = abortStates.get(runId);\n abortStates.set(runId, {\n aborted: true,\n updatedAt: Date.now(),\n });\n if (!existing) {\n cleanupAbortStates();\n }\n}\n\nexport function isGwhGitFlowAborted(runId: string) {\n cleanupAbortStates();\n return abortStates.get(runId)?.aborted ?? false;\n}\n\nexport function clearGwhGitFlowState(runId: string) {\n abortStates.delete(runId);\n}\n","import { NextRequest, NextResponse } from 'next/server';\nimport { markGwhGitFlowAbort } from '../state';\n\nexport async function POST(request: NextRequest) {\n try {\n const body = await request.json();\n const runId = typeof body.runId === 'string' ? body.runId : '';\n\n if (!runId) {\n return NextResponse.json({\n success: false,\n error: '缺少 runId'\n }, { status: 400 });\n }\n\n markGwhGitFlowAbort(runId);\n\n return NextResponse.json({\n success: true,\n message: '已发送中断请求'\n });\n } catch (error) {\n return NextResponse.json({\n success: false,\n error: 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":"21CAKA,IAAM,EAAc,IAAI,IAGxB,SAAS,IACP,IAAM,EAAM,KAAK,GAAG,GACpB,IAAK,GAAM,CAAC,EAAO,EAAM,GAAI,EAAY,OAAO,GAAI,AAC9C,EAAM,EAAM,SAAS,CALL,EAKQ,IAC1B,CANyB,CAMb,IANkB,EAMZ,CAAC,EAGzB,CAEO,CAN0C,QAMjC,EAAsB,CAAa,EACjD,IACA,EAAY,GAAG,CAAC,EAAO,CAAE,QAAS,GAAO,UAAW,KAAK,GAAG,EAAG,EACjE,CAEO,SAAS,EAAoB,CAAa,EAC/C,IAAM,EAAW,EAAY,GAAG,CAAC,GACjC,EAAY,GAAG,CAAC,EAAO,CACrB,SAAS,EACT,UAAW,KAAK,GAAG,EACrB,GACI,AAAC,GACH,GAEJ,CAEO,GALU,MAKD,EAAoB,CAAa,EAE/C,OADA,IACO,EAAY,GAAG,CAAC,IAAQ,UAAW,CAC5C,CAEO,SAAS,EAAqB,CAAa,EAChD,EAAY,MAAM,CAAC,EACrB,sHCxCA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAEO,eAAe,EAAK,CAAoB,EAC7C,GAAI,CACF,IAAM,EAAO,MAAM,EAAQ,IAAI,GACzB,EAA8B,UAAtB,OAAO,EAAK,KAAK,CAAgB,EAAK,KAAK,CAAG,GAE5D,GAAI,CAAC,EACH,KADU,EACH,EAAA,YAAY,CAAC,IAAI,CAAC,CACvB,QAAS,GACT,MAAO,AAFF,UAGP,EAAG,CAAE,OAAQ,GAAI,GAKnB,MAFA,CAAA,EAAA,EAAA,mBAAA,AAAkB,EAAE,GAEb,EAAA,UAFP,EAEmB,CAAC,IAAI,CAAC,CACvB,SAAS,EACT,MAFK,EAEI,SACX,EACF,CAAE,MAAO,EAAO,CACd,OAAO,EAAA,YAAY,CAAC,IAAI,CAAC,CACvB,SAAS,EACT,MAFK,AAEE,aAAiB,MAAQ,EAAM,OAAO,CAAG,MAClD,EAAG,CAAE,OAAQ,GAAI,EACnB,CACF,gKC3BA,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,CAAA,AAFjBC,EAEXC,KAWZ,IAbkC,AAa5BC,EAAc,GAXM,CAWN,EAAIL,AAbkB,YAEF,OAWhBA,CAAoB,CAC1CM,WAAY,CACVC,KAAMN,EAAAA,SAAAA,CAAUO,SAAS,CACzBC,KAAM,gCACNC,SAAU,0BACVC,SAAU,QACVC,WAAY,EACd,EACAC,iBAAkB,oEAClBC,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":[2]}
@@ -0,0 +1,16 @@
1
+ module.exports={83886:function(e){var{g:t,__dirname:r,m:s,e:n}=e;s.exports=e.x("fs",()=>require("fs"))},45935:function(e){var{g:t,__dirname:r,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:t,__dirname:r}=e;{e.s({PROJECT_CONFIG_PATH:()=>r,ProjectStatus:()=>i,WORKSPACE_CONFIG:()=>t});var s=e.i(13442),n=e.i(30331);let t={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},r=(0,n.join)((0,s.homedir)(),".prime-projects.json");var i=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:t,__dirname:r,m:s,e:n}=e;s.exports=e.x("path",()=>require("path"))},29549:function(e){var{g:t,__dirname:r,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:t,__dirname:r,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:t,__dirname:r,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:t,__dirname:r,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:t,__dirname:r,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:t,__dirname:r,m:s,e:n}=e;s.exports=e.x("os",()=>require("os"))},9892:function(e){var{g:t,__dirname:r,m:s,e:n}=e;s.exports=e.x("fs/promises",()=>require("fs/promises"))},35692:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({ProjectStatus:()=>a,getProjectsConfig:()=>i,saveProjectsConfig:()=>o});var s=e.i(9892),n=e.i(88941);async function i(){try{await (0,s.access)(n.PROJECT_CONFIG_PATH,s.constants.F_OK)}catch{return await o({}),{}}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 o(e){let t=n.PROJECT_CONFIG_PATH+".tmp";try{await (0,s.writeFile)(t,JSON.stringify(e,null,2),"utf-8"),await (0,s.rename)(t,n.PROJECT_CONFIG_PATH)}catch(e){throw console.error("保存项目配置文件失败:",e),Error("无法保存项目配置")}}var a=function(e){return e.PENDING="pending",e.EXISTING="existing",e.CLONING="cloning",e.SUCCESS="success",e.FAILED="failed",e.RETRYING="retrying",e}({})},87485:function(e){var{g:t,__dirname:r,m:s,e:n}=e;s.exports=e.x("child_process",()=>require("child_process"))},77159:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({checkMultipleProjectsExist:()=>f,checkProjectExists:()=>d,checkProjectStatus:()=>l,cleanupIncompleteProject:()=>m,cloneRepository:()=>c,createWorkspaceDirectory:()=>a,isValidGitUrl:()=>u,sanitizeProjectName:()=>p});var s=e.i(87485),n=e.i(83886),i=e.i(30331),o=e.i(88941);async function a(e){try{return(0,n.existsSync)(e)||(0,n.mkdirSync)(e,{recursive:!0}),{success:!0}}catch(e){return{success:!1,error:`创建工作空间目录失败: ${e instanceof Error?e.message:String(e)}`}}}async function c(e){let{repoUrl:t,projectName:r,targetDir:n,timeout:a,onProgress:c,onError:u,onLog:p}=e,l=r?.trim()||(0,i.basename)(t,".git");return new Promise(e=>{let r=Date.now(),d={projectName:l,status:o.ProjectStatus.CLONING,progress:0,message:"开始克隆项目...",startTime:r};c?.(0,"开始克隆项目...");let g=(0,i.join)(n,l),m=["clone","--progress","--verbose",t,g];p?.(l,"stdout",`[开始克隆] 执行命令: git ${m.join(" ")}
2
+ `),p?.(l,"stdout",`[目标目录] ${g}
3
+ `),p?.(l,"stdout",`[仓库地址] ${t}
4
+ `);let f=(0,s.spawn)("git",m,{cwd:n,stdio:["pipe","pipe","pipe"]}),h="",x=0;p?.(l,"stdout",`[进程启动] Git 进程 PID: ${f.pid}
5
+ `);let $=setTimeout(()=>{p?.(l,"stderr",`[超时警告] Git 进程运行超过 ${a/1e3}s,即将终止
6
+ `),f.kill("SIGTERM");let t={...d,status:o.ProjectStatus.FAILED,progress:x,message:"克隆操作超时",error:`克隆操作超时 (${a/1e3}s)`,endTime:Date.now()};p?.(l,"stderr",`[进程终止] 克隆操作超时
7
+ `),u?.(`${l}: 克隆操作超时`),e(t)},a);f.stdout?.on("data",e=>{let t=e.toString();p?.(l,"stdout",t),x=Math.min(x+10,80),c?.(x,"正在克隆代码...")}),f.stderr?.on("data",e=>{let t=e.toString();h+=t,t.includes("remote:")||t.includes("Receiving objects")||t.includes("Resolving deltas")||t.includes("Counting objects")||t.includes("Enumerating objects")||t.includes("Compressing objects")||t.includes("upload-pack")||t.includes("POST git-")||t.includes("正克隆到")||t.includes("Cloning into")?p?.(l,"progress",t):p?.(l,"stderr",t),t.includes("Receiving objects")||t.includes("Resolving deltas")?(x=Math.min(x+5,90),c?.(x,"正在接收对象...")):t.includes("Counting objects")?(x=Math.min(x+2,70),c?.(x,"正在计算对象...")):t.includes("Enumerating objects")&&(x=Math.min(x+2,50),c?.(x,"正在枚举对象..."))}),f.on("close",t=>{clearTimeout($);let s=Date.now(),n=s-r;if(p?.(l,"stdout",`[进程结束] Git 进程退出,代码: ${t},耗时: ${Math.round(n/1e3)}s
8
+ `),0===t){p?.(l,"stdout",`[克隆成功] 项目已成功克隆到: ${g}
9
+ `);let t={...d,status:o.ProjectStatus.SUCCESS,progress:100,message:"克隆完成",endTime:s};c?.(100,"克隆完成"),e(t)}else{let r=function(e){let t=e.toLowerCase();return t.includes("authentication failed")||t.includes("access denied")?"身份验证失败,请检查仓库访问权限":t.includes("repository not found")||t.includes("not found")?"仓库不存在或无法访问":t.includes("network")||t.includes("connection")?"网络连接问题,请检查网络设置":t.includes("timeout")?"网络超时,请重试":t.includes("permission denied")?"权限被拒绝,请检查文件系统权限":t.includes("already exists")?"目标目录已存在":e.slice(0,200)+(e.length>200?"...":"")}(h);p?.(l,"stderr",`[克隆失败] 错误信息: ${r}
10
+ `),p?.(l,"stderr",`[完整错误输出]
11
+ ${h}
12
+ `);let n={...d,status:o.ProjectStatus.FAILED,progress:x,message:"克隆失败",error:r||`Git 进程退出,代码: ${t}`,endTime:s};u?.(`${l}: ${n.error}`),e(n)}}),f.on("error",t=>{clearTimeout($),p?.(l,"stderr",`[进程错误] Git 进程启动失败: ${t.message}
13
+ `),p?.(l,"stderr",`[错误详情] ${t.stack||"No stack trace"}
14
+ `);let r={...d,status:o.ProjectStatus.FAILED,progress:x,message:"进程启动失败",error:`进程启动失败: ${t.message}`,endTime:Date.now()};u?.(`${l}: ${t.message}`),e(r)})})}function u(e){return/^(https?:\/\/|git@)[^\s]+\.git$/i.test(e)}function p(e){return e.replace(/[^a-zA-Z0-9\-_]/g,"")}async function l(e,t){try{let r=(0,i.join)(e,t);if(!(0,n.existsSync)(r))return{exists:!1,status:"not_exists",needsCleanup:!1};let s=(0,i.join)(r,".git");if(!(0,n.existsSync)(s))return{exists:!0,status:"incomplete",needsCleanup:!0};if(!await g(r))return console.log(`检测到不完整的Git仓库: ${r}`),{exists:!0,status:"incomplete",needsCleanup:!0};return{exists:!0,status:"complete",needsCleanup:!1}}catch(e){return console.error(`检查项目 ${t} 状态时出错:`,e),{exists:!1,status:"not_exists",needsCleanup:!1}}}async function d(e,t){return"complete"===(await l(e,t)).status}async function g(e){try{let t=(0,i.join)(e,".git");for(let e of["HEAD","config","refs"]){let r=(0,i.join)(t,e);if(!(0,n.existsSync)(r))return!1}let r=(await n.promises.readdir(e)).filter(e=>".git"!==e);if(0===r.length)return!1;let s=(0,i.join)(t,"HEAD"),o=await n.promises.readFile(s,"utf-8");if(!o.trim()||o.includes("unborn"))return!1;return!0}catch(e){return console.error("检查Git仓库完整性时出错:",e),!1}}async function m(e){try{console.log(`正在清理不完整的项目: ${e}`),await n.promises.rm(e,{recursive:!0,force:!0}),console.log(`清理完成: ${e}`)}catch(t){console.error(`清理项目失败 ${e}:`,t)}}async function f(e,t){let r={},s=t.map(async t=>{let s=await d(e,t);r[t]=s});return await Promise.all(s),r}},33808:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({cleanupTempExecutionRepo:()=>u,createTempExecutionRepo:()=>c});var s=e.i(87485),n=e.i(9892),i=e.i(13442),o=e.i(30331);async function a(e,t){return new Promise((r,n)=>{let i=(0,s.spawn)("git",t,{cwd:e,stdio:["ignore","pipe","pipe"]}),o="",a="";i.stdout?.on("data",e=>{o+=e.toString()}),i.stderr?.on("data",e=>{a+=e.toString()}),i.on("close",e=>{r({code:e,stdout:o,stderr:a})}),i.on("error",e=>{n(e)})})}async function c(e,t){let r=await a(e,["remote","get-url","origin"]);if(0!==r.code)return{success:!1,error:r.stderr||r.stdout||"读取 origin 地址失败"};let s=r.stdout.trim();if(!s)return{success:!1,error:"origin 远端地址为空"};let c=`prime-uat-${t.replace(/[^a-zA-Z0-9\-_]/g,"-")}-`,u=await (0,n.mkdtemp)((0,o.join)((0,i.tmpdir)(),c)),p=(0,o.join)(u,t),l=await a(u,["clone","--no-tags",s,p]);return 0!==l.code?(await (0,n.rm)(u,{recursive:!0,force:!0}),{success:!1,error:l.stderr||l.stdout||"克隆临时仓库失败"}):{success:!0,value:{tempRootPath:u,projectPath:p}}}async function u(e){await (0,n.rm)(e,{recursive:!0,force:!0})}},34750:function(e){var{g:t,__dirname:r,m:s,e:n}=e},16634:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({POST:()=>m});var s=e.i(15494),n=e.i(87485),i=e.i(83886),o=e.i(30331),a=e.i(35692),c=e.i(77159),u=e.i(88941),p=e.i(33808);let t=/\s/;function l(e,t){return new Promise((r,s)=>{let i=(0,n.spawn)("git",t,{cwd:e,stdio:["ignore","pipe","pipe"]}),o="",a="";i.stdout?.on("data",e=>{o+=e.toString()}),i.stderr?.on("data",e=>{a+=e.toString()}),i.on("close",e=>{r({code:e,stdout:o,stderr:a})}),i.on("error",e=>{s(e)})})}function d(e){return`git ${e.join(" ")}`}function g(e,t,r,s){0===s.code?e.push(`[${t}] 完成: ${r}`):e.push(`[${t}] 失败: ${r} ${s.stderr||s.stdout}`)}async function m(e){let r=new Set;try{let n=await e.json(),m=Array.isArray(n.projects)?n.projects:[],f="string"==typeof n.branchName?n.branchName.trim():"",h=!!n.dryRun,x=[],$=[],j=[],v=new Map,y=(e,t,r,s)=>{v.has(e)||(v.set(e,{success:t,reason:r,rollbackActions:s}),j.push({projectName:e,success:t,reason:r,rollbackActions:s}))};if(0===m.length||!f)return s.NextResponse.json({success:!1,operationLogs:x,feedbacks:["缺少必要参数,请填写完整后重试。"]},{status:400});if(!(!(!f||t.test(f)||f.startsWith("-"))&&1))return s.NextResponse.json({success:!1,operationLogs:x,feedbacks:["分支名称不合法,请避免空格或以 - 开头。"]},{status:400});let w=await (0,a.getProjectsConfig)(),P=u.WORKSPACE_CONFIG.WORKSPACE_ROOT;for(let e of m){let t=String(e),s=(0,c.sanitizeProjectName)(t);if(!s||s!==t){x.push(`[${t}] 失败: 项目名称包含无效字符`),$.push(`[${t}] 项目名称包含无效字符,已跳过。`),y(t,!1,"项目名称包含无效字符");continue}if(!w[s]){x.push(`[${s}] 失败: 未在项目配置中找到`),$.push(`[${s}] 未在项目配置中找到,已跳过。`),y(s,!1,"未在项目配置中找到");continue}let n=(0,o.join)(P,s);if(!(0,i.existsSync)(n)){x.push(`[${s}] 失败: 项目目录不存在`),$.push(`[${s}] 项目目录不存在,已跳过。`),y(s,!1,"项目目录不存在");continue}if(!(0,i.existsSync)((0,o.join)(n,".git"))){x.push(`[${s}] 失败: 非 Git 仓库`),$.push(`[${s}] 不是有效的 Git 仓库,已跳过。`),y(s,!1,"不是有效的 Git 仓库");continue}if(h){x.push(`[${s}] ${d(["fetch","origin"])}`),x.push(`[${s}] ${d(["ls-remote","--heads","origin",f])}`),x.push(`[${s}] ${d(["push","origin","--delete",f])}`),y(s,!0);continue}let a=await (0,p.createTempExecutionRepo)(n,s);if(!a.success){x.push(`[${s}] 失败: 创建临时执行仓库失败 ${a.error}`),$.push(`[${s}] 创建临时执行仓库失败: ${a.error}`),y(s,!1,"创建临时执行仓库失败");continue}let u=a.value.projectPath;r.add(a.value.tempRootPath),x.push(`[${s}] 使用临时目录执行: ${u}`),x.push(`[${s}] ${d(["fetch","origin"])}`);let m=await l(u,["fetch","origin"]);if(g(x,s,"拉取远端",m),0!==m.code){$.push(`[${s}] 拉取远端失败: ${m.stderr||m.stdout}`),y(s,!1,"拉取远端失败");continue}x.push(`[${s}] ${d(["ls-remote","--heads","origin",f])}`);let j=await l(u,["ls-remote","--heads","origin",f]);if(g(x,s,`检查 origin/${f}`,j),!j.stdout.trim()){$.push(`[${s}] origin/${f} 不存在,无需删除。`),y(s,!1,`origin/${f} 不存在`);continue}x.push(`[${s}] ${d(["push","origin","--delete",f])}`);let v=await l(u,["push","origin","--delete",f]);if(g(x,s,`删除远端分支 ${f}`,v),0!==v.code){$.push(`[${s}] 删除远端分支失败: ${v.stderr||v.stdout}`),y(s,!1,"删除远端分支失败");continue}y(s,!0)}return s.NextResponse.json({success:0===$.length,operationLogs:x,feedbacks:$,projectResults:j})}catch(e){return console.error("批量删除远端分支执行失败:",e),s.NextResponse.json({success:!1,operationLogs:[],feedbacks:[e instanceof Error?e.message:"执行失败"]},{status:500})}finally{for(let e of r)try{await (0,p.cleanupTempExecutionRepo)(e)}catch(t){console.error(`清理临时目录失败: ${e}`,t)}}}}},10433:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({patchFetch:()=>a,routeModule:()=>t,serverHooks:()=>u,workAsyncStorage:()=>r,workUnitAsyncStorage:()=>c});var s=e.i(45746),n=e.i(93828),i=e.i(18250),o=e.i(16634);let t=new s.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/admin-git-batch-delete-branch/route",pathname:"/api/admin-git-batch-delete-branch",filename:"route",bundlePath:""},resolvedPagePath:"[project]/packages/server/src/app/api/admin-git-batch-delete-branch/route.ts",nextConfigOutput:"",userland:o}),{workAsyncStorage:r,workUnitAsyncStorage:c,serverHooks:u}=t;function a(){return(0,i.patchFetch)({workAsyncStorage:r,workUnitAsyncStorage:c})}}}};
15
+
16
+ //# sourceMappingURL=%5Broot-of-the-server%5D__37bfbf6b._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["turbopack:///[project]/packages/server/src/lib/workspace-types.ts","turbopack:///[project]/packages/server/src/lib/workspace-config.ts","turbopack:///[project]/packages/server/src/lib/git-operations.ts","turbopack:///[project]/packages/server/src/app/api/uat-git-flow/temp-repo.ts","turbopack:///[project]/packages/server/src/app/api/admin-git-batch-delete-branch/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 { homedir, cpus } from 'os';\nimport { join } from 'path';\n\n/**\n * 工作空间配置常量\n */\nexport const WORKSPACE_CONFIG = {\n // 工作空间根目录路径\n WORKSPACE_ROOT: join(homedir(), 'Documents', 'prime-workspace'),\n\n // Git 操作超时时间 (毫秒)\n GIT_TIMEOUT: 300000, // 5分钟\n\n // 最大并发克隆数量(基于CPU核心数,最小2个,最大8个)\n MAX_CONCURRENT_CLONES: Math.max(2, Math.min(cpus().length, 8)),\n\n // 重试次数限制\n MAX_RETRY_ATTEMPTS: 3,\n} as const;\n\nexport const PROJECT_CONFIG_PATH = join(homedir(), '.prime-projects.json');\n\nexport interface ProjectConfig {\n repo: string;\n mockingIntercept?: boolean;\n mockOpen?: boolean;\n envs: {\n [envName: string]: {\n host: string;\n currentProxy: string;\n proxyEnv: {\n [key: string]: string;\n };\n envFileName: string;\n proxyKey: string;\n subApps?: string[];\n };\n };\n}\n\nexport interface ProjectsConfig {\n [projectName: string]: ProjectConfig;\n}\n\n/**\n * 项目状态枚举\n */\nexport enum ProjectStatus {\n PENDING = 'pending',\n EXISTING = 'existing',\n CLONING = 'cloning',\n SUCCESS = 'success',\n FAILED = 'failed',\n RETRYING = 'retrying',\n INCOMPLETE = 'incomplete', // 不完整的项目,需要清理\n}\n\n/**\n * 项目进度信息接口\n */\nexport interface ProjectProgress {\n projectName: string;\n status: ProjectStatus;\n progress: number; // 0-100\n message: string;\n error?: string;\n startTime?: number;\n endTime?: number;\n}\n\n/**\n * 初始化结果接口\n */\nexport interface InitializationResult {\n success: boolean;\n totalProjects: number;\n successCount: number;\n failedCount: number;\n failedProjects: string[];\n workspacePath: string;\n duration: number;\n}\n\n/**\n * Git 操作配置接口\n */\nexport interface GitOperationConfig {\n repoUrl: string;\n projectName?: string;\n targetDir: string;\n timeout: number;\n onProgress?: (progress: number, message: string) => void;\n onError?: (error: string) => void;\n onLog?: (projectName: string, logType: 'stdout' | 'stderr' | 'progress', content: string) => void;\n}\n","import { readFile, writeFile, access, constants, rename } from 'fs/promises';\nimport type { ProjectsConfig } from './workspace-types';\nimport { PROJECT_CONFIG_PATH } from './workspace-types';\n\n/**\n * 读取并解析项目配置文件\n * @returns {Promise<ProjectsConfig>} 项目配置对象\n */\nexport async function getProjectsConfig(): Promise<ProjectsConfig> {\n try {\n await access(PROJECT_CONFIG_PATH, constants.F_OK);\n } catch {\n // 文件不存在,创建并写入空对象\n await saveProjectsConfig({});\n return {};\n }\n\n try {\n const configContent = await readFile(PROJECT_CONFIG_PATH, 'utf-8');\n // 如果文件为空,返回空对象\n if (!configContent) {\n return {};\n }\n return JSON.parse(configContent);\n } catch (error) {\n console.error('读取或解析项目配置文件失败:', error);\n // 在出错时返回空对象或抛出错误,这里选择抛出以通知调用者\n throw new Error('无法加载项目配置');\n }\n}\n\n/**\n * 将项目配置写入文件(原子操作)\n * @param {ProjectsConfig} config - 要保存的配置对象\n */\nexport async function saveProjectsConfig(config: ProjectsConfig): Promise<void> {\n const tempConfigPath = PROJECT_CONFIG_PATH + '.tmp';\n try {\n await writeFile(tempConfigPath, JSON.stringify(config, null, 2), 'utf-8');\n await rename(tempConfigPath, PROJECT_CONFIG_PATH);\n } catch (error) {\n console.error('保存项目配置文件失败:', error);\n throw new Error('无法保存项目配置');\n }\n}\n\n/**\n * 项目状态枚举\n */\nexport enum ProjectStatus {\n PENDING = 'pending',\n EXISTING = 'existing',\n CLONING = 'cloning',\n SUCCESS = 'success',\n FAILED = 'failed',\n RETRYING = 'retrying',\n}\n\n/**\n * 项目进度信息接口\n */\nexport interface ProjectProgress {\n projectName: string;\n status: ProjectStatus;\n progress: number; // 0-100\n message: string;\n error?: string;\n startTime?: number;\n endTime?: number;\n}\n\n/**\n * 初始化结果接口\n */\nexport interface InitializationResult {\n success: boolean;\n totalProjects: number;\n successCount: number;\n failedCount: number;\n failedProjects: string[];\n workspacePath: string;\n duration: number;\n}\n\n/**\n * Git 操作配置接口\n */\nexport interface GitOperationConfig {\n repoUrl: string;\n projectName?: string;\n targetDir: string;\n timeout: number;\n onProgress?: (progress: number, message: string) => void;\n onError?: (error: string) => void;\n}\n","import { spawn, ChildProcess } from 'child_process';\nimport { existsSync, mkdirSync } from 'fs';\nimport { promises as fs } from 'fs';\nimport { join, basename } from 'path';\nimport {\n ProjectStatus,\n type GitOperationConfig,\n type ProjectProgress,\n} from './workspace-types';\n\n/**\n * 创建工作空间目录\n * @param workspacePath 工作空间路径\n * @returns 创建结果\n */\nexport async function createWorkspaceDirectory(workspacePath: string): Promise<{ success: boolean; error?: string }> {\n try {\n if (!existsSync(workspacePath)) {\n mkdirSync(workspacePath, { recursive: true });\n }\n return { success: true };\n } catch (error) {\n return { \n success: false, \n error: `创建工作空间目录失败: ${error instanceof Error ? error.message : String(error)}` \n };\n }\n}\n\n/**\n * 执行 Git 克隆操作\n * @param config Git 操作配置\n * @returns Promise<ProjectProgress>\n */\nexport async function cloneRepository(config: GitOperationConfig): Promise<ProjectProgress> {\n const { repoUrl, projectName: configuredProjectName, targetDir, timeout, onProgress, onError, onLog } = config;\n const projectName = configuredProjectName?.trim() || basename(repoUrl, '.git');\n \n return new Promise<ProjectProgress>((resolve) => {\n const startTime = Date.now();\n \n // 更新开始状态\n const initialProgress: ProjectProgress = {\n projectName,\n status: ProjectStatus.CLONING,\n progress: 0,\n message: '开始克隆项目...',\n startTime,\n };\n onProgress?.(0, '开始克隆项目...');\n\n // 执行 git clone 命令\n const targetPath = join(targetDir, projectName);\n // 添加 --progress 参数来强制显示进度,--verbose 显示详细信息\n const gitArgs = ['clone', '--progress', '--verbose', repoUrl, targetPath];\n \n // 记录命令启动信息\n onLog?.(projectName, 'stdout', `[开始克隆] 执行命令: git ${gitArgs.join(' ')}\\n`);\n onLog?.(projectName, 'stdout', `[目标目录] ${targetPath}\\n`);\n onLog?.(projectName, 'stdout', `[仓库地址] ${repoUrl}\\n`);\n \n const gitProcess: ChildProcess = spawn('git', gitArgs, {\n cwd: targetDir,\n stdio: ['pipe', 'pipe', 'pipe'],\n });\n\n let errorOutput = '';\n let progressValue = 0;\n \n // 记录进程启动成功\n onLog?.(projectName, 'stdout', `[进程启动] Git 进程 PID: ${gitProcess.pid}\\n`);\n\n // 设置超时\n const timeoutId = setTimeout(() => {\n onLog?.(projectName, 'stderr', `[超时警告] Git 进程运行超过 ${timeout / 1000}s,即将终止\\n`);\n gitProcess.kill('SIGTERM');\n \n const errorResult: ProjectProgress = {\n ...initialProgress,\n status: ProjectStatus.FAILED,\n progress: progressValue,\n message: '克隆操作超时',\n error: `克隆操作超时 (${timeout / 1000}s)`,\n endTime: Date.now(),\n };\n onLog?.(projectName, 'stderr', `[进程终止] 克隆操作超时\\n`);\n onError?.(`${projectName}: 克隆操作超时`);\n resolve(errorResult);\n }, timeout);\n\n // 处理标准输出\n gitProcess.stdout?.on('data', (data: Buffer) => {\n const stdoutText = data.toString();\n \n // 实时发送日志\n onLog?.(projectName, 'stdout', stdoutText);\n \n // 模拟进度更新(Git 克隆没有内置进度,这里基于时间估算)\n progressValue = Math.min(progressValue + 10, 80);\n onProgress?.(progressValue, '正在克隆代码...');\n });\n\n // 处理错误输出\n gitProcess.stderr?.on('data', (data: Buffer) => {\n const stderrText = data.toString();\n errorOutput += stderrText;\n \n // 判断是进度信息还是错误信息\n const isProgressInfo = stderrText.includes('remote:') || \n stderrText.includes('Receiving objects') || \n stderrText.includes('Resolving deltas') ||\n stderrText.includes('Counting objects') ||\n stderrText.includes('Enumerating objects') ||\n stderrText.includes('Compressing objects') ||\n stderrText.includes('upload-pack') ||\n stderrText.includes('POST git-') ||\n stderrText.includes('正克隆到') ||\n stderrText.includes('Cloning into');\n \n // 根据内容类型发送不同的日志\n if (isProgressInfo) {\n onLog?.(projectName, 'progress', stderrText);\n } else {\n onLog?.(projectName, 'stderr', stderrText);\n }\n \n // Git 的进度信息通常在 stderr 中\n if (stderrText.includes('Receiving objects') || stderrText.includes('Resolving deltas')) {\n progressValue = Math.min(progressValue + 5, 90);\n onProgress?.(progressValue, '正在接收对象...');\n } else if (stderrText.includes('Counting objects')) {\n progressValue = Math.min(progressValue + 2, 70);\n onProgress?.(progressValue, '正在计算对象...');\n } else if (stderrText.includes('Enumerating objects')) {\n progressValue = Math.min(progressValue + 2, 50);\n onProgress?.(progressValue, '正在枚举对象...');\n }\n });\n\n // 处理进程结束\n gitProcess.on('close', (code: number | null) => {\n clearTimeout(timeoutId);\n const endTime = Date.now();\n const duration = endTime - startTime;\n \n onLog?.(projectName, 'stdout', `[进程结束] Git 进程退出,代码: ${code},耗时: ${Math.round(duration / 1000)}s\\n`);\n \n if (code === 0) {\n // 克隆成功\n onLog?.(projectName, 'stdout', `[克隆成功] 项目已成功克隆到: ${targetPath}\\n`);\n const successResult: ProjectProgress = {\n ...initialProgress,\n status: ProjectStatus.SUCCESS,\n progress: 100,\n message: '克隆完成',\n endTime,\n };\n onProgress?.(100, '克隆完成');\n resolve(successResult);\n } else {\n // 克隆失败\n const parsedError = parseGitError(errorOutput);\n onLog?.(projectName, 'stderr', `[克隆失败] 错误信息: ${parsedError}\\n`);\n onLog?.(projectName, 'stderr', `[完整错误输出]\\n${errorOutput}\\n`);\n \n const failureResult: ProjectProgress = {\n ...initialProgress,\n status: ProjectStatus.FAILED,\n progress: progressValue,\n message: '克隆失败',\n error: parsedError || `Git 进程退出,代码: ${code}`,\n endTime,\n };\n onError?.(`${projectName}: ${failureResult.error}`);\n resolve(failureResult);\n }\n });\n\n // 处理进程错误\n gitProcess.on('error', (error: Error) => {\n clearTimeout(timeoutId);\n onLog?.(projectName, 'stderr', `[进程错误] Git 进程启动失败: ${error.message}\\n`);\n onLog?.(projectName, 'stderr', `[错误详情] ${error.stack || 'No stack trace'}\\n`);\n \n const errorResult: ProjectProgress = {\n ...initialProgress,\n status: ProjectStatus.FAILED,\n progress: progressValue,\n message: '进程启动失败',\n error: `进程启动失败: ${error.message}`,\n endTime: Date.now(),\n };\n onError?.(`${projectName}: ${error.message}`);\n resolve(errorResult);\n });\n });\n}\n\n/**\n * 解析 Git 错误信息,提供用户友好的错误描述\n * @param errorOutput Git stderr 输出\n * @returns 用户友好的错误描述\n */\nfunction parseGitError(errorOutput: string): string {\n const lowerOutput = errorOutput.toLowerCase();\n \n if (lowerOutput.includes('authentication failed') || lowerOutput.includes('access denied')) {\n return '身份验证失败,请检查仓库访问权限';\n }\n \n if (lowerOutput.includes('repository not found') || lowerOutput.includes('not found')) {\n return '仓库不存在或无法访问';\n }\n \n if (lowerOutput.includes('network') || lowerOutput.includes('connection')) {\n return '网络连接问题,请检查网络设置';\n }\n \n if (lowerOutput.includes('timeout')) {\n return '网络超时,请重试';\n }\n \n if (lowerOutput.includes('permission denied')) {\n return '权限被拒绝,请检查文件系统权限';\n }\n \n if (lowerOutput.includes('already exists')) {\n return '目标目录已存在';\n }\n \n // 返回原始错误的前200个字符\n return errorOutput.slice(0, 200) + (errorOutput.length > 200 ? '...' : '');\n}\n\n/**\n * 验证 Git 仓库 URL 格式\n * @param url Git 仓库 URL\n * @returns 是否有效\n */\nexport function isValidGitUrl(url: string): boolean {\n const gitUrlPattern = /^(https?:\\/\\/|git@)[^\\s]+\\.git$/i;\n return gitUrlPattern.test(url);\n}\n\n/**\n * 清理项目名称,移除不安全字符\n * @param projectName 项目名称\n * @returns 清理后的项目名称\n */\nexport function sanitizeProjectName(projectName: string): string {\n return projectName.replace(/[^a-zA-Z0-9\\-_]/g, '');\n}\n\n/**\n * 项目检查结果类型\n */\nexport type ProjectCheckResult = {\n exists: boolean;\n status: 'not_exists' | 'complete' | 'incomplete';\n needsCleanup: boolean;\n};\n\n/**\n * 检查项目状态(详细版本)\n * @param workspacePath 工作空间路径\n * @param projectName 项目名称\n * @returns Promise<ProjectCheckResult> 详细的项目状态\n */\nexport async function checkProjectStatus(workspacePath: string, projectName: string): Promise<ProjectCheckResult> {\n try {\n const projectPath = join(workspacePath, projectName);\n \n // 检查项目目录是否存在\n if (!existsSync(projectPath)) {\n return {\n exists: false,\n status: 'not_exists',\n needsCleanup: false\n };\n }\n \n // 检查是否为 Git 仓库(存在 .git 目录)\n const gitPath = join(projectPath, '.git');\n if (!existsSync(gitPath)) {\n return {\n exists: true,\n status: 'incomplete',\n needsCleanup: true\n };\n }\n \n // 更严格的完整性检查\n const isComplete = await isGitRepositoryComplete(projectPath);\n if (!isComplete) {\n console.log(`检测到不完整的Git仓库: ${projectPath}`);\n return {\n exists: true,\n status: 'incomplete',\n needsCleanup: true\n };\n }\n \n return {\n exists: true,\n status: 'complete',\n needsCleanup: false\n };\n } catch (error) {\n console.error(`检查项目 ${projectName} 状态时出错:`, error);\n return {\n exists: false,\n status: 'not_exists',\n needsCleanup: false\n };\n }\n}\n\n/**\n * 检查项目是否已存在于工作空间中(兼容版本)\n * @param workspacePath 工作空间路径\n * @param projectName 项目名称\n * @returns Promise<boolean> 项目是否存在且为有效的 Git 仓库\n */\nexport async function checkProjectExists(workspacePath: string, projectName: string): Promise<boolean> {\n const result = await checkProjectStatus(workspacePath, projectName);\n return result.status === 'complete';\n}\n\n/**\n * 检查Git仓库是否完整\n * @param projectPath 项目路径\n * @returns Promise<boolean> 仓库是否完整\n */\nasync function isGitRepositoryComplete(projectPath: string): Promise<boolean> {\n try {\n const gitPath = join(projectPath, '.git');\n \n // 检查关键的Git文件是否存在\n const requiredFiles = ['HEAD', 'config', 'refs'];\n for (const file of requiredFiles) {\n const filePath = join(gitPath, file);\n if (!existsSync(filePath)) {\n return false;\n }\n }\n \n // 检查是否有实际的项目文件(不只是.git目录)\n const entries = await fs.readdir(projectPath);\n const nonGitFiles = entries.filter((entry: string) => entry !== '.git');\n \n // 如果只有.git目录,说明克隆未完成\n if (nonGitFiles.length === 0) {\n return false;\n }\n \n // 检查HEAD文件是否有效\n const headPath = join(gitPath, 'HEAD');\n const headContent = await fs.readFile(headPath, 'utf-8');\n if (!headContent.trim() || headContent.includes('unborn')) {\n return false;\n }\n \n return true;\n } catch (error) {\n console.error('检查Git仓库完整性时出错:', error);\n return false;\n }\n}\n\n/**\n * 清理不完整的项目目录\n * @param projectPath 项目路径\n */\nexport async function cleanupIncompleteProject(projectPath: string): Promise<void> {\n try {\n console.log(`正在清理不完整的项目: ${projectPath}`);\n await fs.rm(projectPath, { recursive: true, force: true });\n console.log(`清理完成: ${projectPath}`);\n } catch (error) {\n console.error(`清理项目失败 ${projectPath}:`, error);\n // 清理失败不抛出错误,避免阻塞后续流程\n }\n}\n\n/**\n * 批量检查多个项目的存在状态\n * @param workspacePath 工作空间路径\n * @param projectNames 项目名称列表\n * @returns Promise<Record<string, boolean>> 项目名称到存在状态的映射\n */\nexport async function checkMultipleProjectsExist(\n workspacePath: string, \n projectNames: string[]\n): Promise<Record<string, boolean>> {\n const results: Record<string, boolean> = {};\n \n // 并行检查所有项目\n const checks = projectNames.map(async (projectName) => {\n const exists = await checkProjectExists(workspacePath, projectName);\n results[projectName] = exists;\n });\n \n await Promise.all(checks);\n return results;\n} \n","import { spawn } from 'child_process';\nimport { mkdtemp, rm } from 'fs/promises';\nimport { tmpdir } from 'os';\nimport { join } from 'path';\n\ntype GitResult = {\n code: number | null;\n stdout: string;\n stderr: string;\n};\n\nasync function 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 sanitizeProjectNameForTemp(projectName: string) {\n return projectName.replace(/[^a-zA-Z0-9\\-_]/g, '-');\n}\n\nexport type TempExecutionRepo = {\n tempRootPath: string;\n projectPath: string;\n};\n\nexport async function createTempExecutionRepo(sourceProjectPath: string, projectName: string): Promise<{\n success: true;\n value: TempExecutionRepo;\n} | {\n success: false;\n error: string;\n}> {\n const remoteResult = await runGitCommand(sourceProjectPath, ['remote', 'get-url', 'origin']);\n if (remoteResult.code !== 0) {\n return {\n success: false,\n error: remoteResult.stderr || remoteResult.stdout || '读取 origin 地址失败',\n };\n }\n\n const remoteUrl = remoteResult.stdout.trim();\n if (!remoteUrl) {\n return {\n success: false,\n error: 'origin 远端地址为空',\n };\n }\n\n const prefix = `prime-uat-${sanitizeProjectNameForTemp(projectName)}-`;\n const tempRootPath = await mkdtemp(join(tmpdir(), prefix));\n const tempProjectPath = join(tempRootPath, projectName);\n\n const cloneResult = await runGitCommand(tempRootPath, ['clone', '--no-tags', remoteUrl, tempProjectPath]);\n if (cloneResult.code !== 0) {\n await rm(tempRootPath, { recursive: true, force: true });\n return {\n success: false,\n error: cloneResult.stderr || cloneResult.stdout || '克隆临时仓库失败',\n };\n }\n\n return {\n success: true,\n value: {\n tempRootPath,\n projectPath: tempProjectPath,\n },\n };\n}\n\nexport async function cleanupTempExecutionRepo(tempRootPath: string) {\n await rm(tempRootPath, { recursive: true, force: true });\n}\n","import { NextRequest, NextResponse } from 'next/server';\nimport { spawn } from 'child_process';\nimport { existsSync } from 'fs';\nimport { join } from 'path';\nimport { getProjectsConfig } from '@/lib/workspace-config';\nimport { sanitizeProjectName } from '@/lib/git-operations';\nimport { WORKSPACE_CONFIG } from '@/lib/workspace-types';\nimport { cleanupTempExecutionRepo, createTempExecutionRepo } from '@/app/api/uat-git-flow/temp-repo';\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 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 const tempRootPaths = new Set<string>();\n try {\n const body = await request.json();\n const projects = Array.isArray(body.projects) ? body.projects : [];\n const branchName = typeof body.branchName === 'string' ? body.branchName.trim() : '';\n const dryRun = Boolean(body.dryRun);\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\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)) return;\n resultMap.set(projectName, { success, reason, rollbackActions });\n projectResults.push({ projectName, success, reason, rollbackActions });\n };\n\n if (projects.length === 0 || !branchName) {\n return NextResponse.json({\n success: false,\n operationLogs,\n feedbacks: ['缺少必要参数,请填写完整后重试。'],\n }, { status: 400 });\n }\n\n if (!isValidBranchName(branchName)) {\n return NextResponse.json({\n success: false,\n operationLogs,\n feedbacks: ['分支名称不合法,请避免空格或以 - 开头。'],\n }, { status: 400 });\n }\n\n const projectsConfig = await getProjectsConfig();\n const workspacePath = WORKSPACE_CONFIG.WORKSPACE_ROOT;\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 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', branchName])}`);\n operationLogs.push(`[${projectName}] ${formatCommand(['push', 'origin', '--delete', branchName])}`);\n setProjectResult(projectName, true);\n continue;\n }\n\n const tempRepoResult = await createTempExecutionRepo(projectPath, projectName);\n if (!tempRepoResult.success) {\n operationLogs.push(`[${projectName}] 失败: 创建临时执行仓库失败 ${tempRepoResult.error}`);\n feedbacks.push(`[${projectName}] 创建临时执行仓库失败: ${tempRepoResult.error}`);\n setProjectResult(projectName, false, '创建临时执行仓库失败');\n continue;\n }\n\n const executionPath = tempRepoResult.value.projectPath;\n tempRootPaths.add(tempRepoResult.value.tempRootPath);\n operationLogs.push(`[${projectName}] 使用临时目录执行: ${executionPath}`);\n\n operationLogs.push(`[${projectName}] ${formatCommand(['fetch', 'origin'])}`);\n const fetchResult = await runGitCommand(executionPath, ['fetch', 'origin']);\n logCommandResult(operationLogs, projectName, '拉取远端', fetchResult);\n if (fetchResult.code !== 0) {\n feedbacks.push(`[${projectName}] 拉取远端失败: ${fetchResult.stderr || fetchResult.stdout}`);\n setProjectResult(projectName, false, '拉取远端失败');\n continue;\n }\n\n operationLogs.push(`[${projectName}] ${formatCommand(['ls-remote', '--heads', 'origin', branchName])}`);\n const remoteBranchExists = await runGitCommand(executionPath, ['ls-remote', '--heads', 'origin', branchName]);\n logCommandResult(operationLogs, projectName, `检查 origin/${branchName}`, remoteBranchExists);\n if (!remoteBranchExists.stdout.trim()) {\n feedbacks.push(`[${projectName}] origin/${branchName} 不存在,无需删除。`);\n setProjectResult(projectName, false, `origin/${branchName} 不存在`);\n continue;\n }\n\n operationLogs.push(`[${projectName}] ${formatCommand(['push', 'origin', '--delete', branchName])}`);\n const deleteResult = await runGitCommand(executionPath, ['push', 'origin', '--delete', branchName]);\n logCommandResult(operationLogs, projectName, `删除远端分支 ${branchName}`, deleteResult);\n if (deleteResult.code !== 0) {\n feedbacks.push(`[${projectName}] 删除远端分支失败: ${deleteResult.stderr || deleteResult.stdout}`);\n setProjectResult(projectName, false, '删除远端分支失败');\n continue;\n }\n\n setProjectResult(projectName, true);\n }\n\n return NextResponse.json({\n success: feedbacks.length === 0,\n operationLogs,\n feedbacks,\n projectResults,\n });\n } catch (error) {\n console.error('批量删除远端分支执行失败:', error);\n return NextResponse.json({\n success: false,\n operationLogs: [],\n feedbacks: [error instanceof Error ? error.message : '执行失败'],\n }, { status: 500 });\n } finally {\n for (const tempRootPath of tempRootPaths) {\n try {\n await cleanupTempExecutionRepo(tempRootPath);\n } catch (cleanupError) {\n console.error(`清理临时目录失败: ${tempRootPath}`, cleanupError);\n }\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":"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","ignoreList":[5]}