prime-dev-cli 1.0.10 → 1.0.11-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. package/bin/cli.mjs +26 -5
  2. package/dist/server/.next/BUILD_ID +1 -1
  3. package/dist/server/.next/app-build-manifest.json +1 -1
  4. package/dist/server/.next/build-manifest.json +2 -2
  5. package/dist/server/.next/cache/.rscinfo +1 -1
  6. package/dist/server/.next/cache/.tsbuildinfo +1 -1
  7. package/dist/server/.next/cache/eslint/.cache_1qa5vxt +1 -1
  8. package/dist/server/.next/fallback-build-manifest.json +2 -2
  9. package/dist/server/.next/next-minimal-server.js.nft.json +1 -1
  10. package/dist/server/.next/next-server.js.nft.json +1 -1
  11. package/dist/server/.next/prerender-manifest.json +9 -9
  12. package/dist/server/.next/server/app/_not-found.html +1 -1
  13. package/dist/server/.next/server/app/_not-found.rsc +1 -1
  14. package/dist/server/.next/server/app/api/check-workspace/route.js.nft.json +1 -1
  15. package/dist/server/.next/server/app/api/initialize-workspace/route.js.nft.json +1 -1
  16. package/dist/server/.next/server/app/api/microapp-proxy-config/route.js.nft.json +1 -1
  17. package/dist/server/.next/server/app/api/open-project/route.js.nft.json +1 -1
  18. package/dist/server/.next/server/app/api/project-config/route.js.nft.json +1 -1
  19. package/dist/server/.next/server/app/api/retry-project/route.js.nft.json +1 -1
  20. package/dist/server/.next/server/app/configuration/page/app-build-manifest.json +1 -1
  21. package/dist/server/.next/server/app/configuration/page_client-reference-manifest.js +1 -1
  22. package/dist/server/.next/server/app/configuration.html +1 -1
  23. package/dist/server/.next/server/app/configuration.rsc +2 -2
  24. package/dist/server/.next/server/app/index.html +1 -1
  25. package/dist/server/.next/server/app/index.rsc +1 -1
  26. package/dist/server/.next/server/app/initialization.html +1 -1
  27. package/dist/server/.next/server/app/initialization.rsc +1 -1
  28. package/dist/server/.next/server/chunks/[root-of-the-server]__0111ac14._.js +3 -3
  29. package/dist/server/.next/server/chunks/[root-of-the-server]__0111ac14._.js.map +1 -1
  30. package/dist/server/.next/server/chunks/[root-of-the-server]__1efea51d._.js +2 -2
  31. package/dist/server/.next/server/chunks/[root-of-the-server]__1efea51d._.js.map +1 -1
  32. package/dist/server/.next/server/chunks/[root-of-the-server]__27f3b464._.js +1 -1
  33. package/dist/server/.next/server/chunks/[root-of-the-server]__27f3b464._.js.map +1 -1
  34. package/dist/server/.next/server/chunks/[root-of-the-server]__3da8edfd._.js +1 -1
  35. package/dist/server/.next/server/chunks/[root-of-the-server]__3da8edfd._.js.map +1 -1
  36. package/dist/server/.next/server/chunks/[root-of-the-server]__84542811._.js +2 -2
  37. package/dist/server/.next/server/chunks/[root-of-the-server]__84542811._.js.map +1 -1
  38. package/dist/server/.next/server/chunks/[root-of-the-server]__c513ec4a._.js +2 -2
  39. package/dist/server/.next/server/chunks/[root-of-the-server]__c513ec4a._.js.map +1 -1
  40. package/dist/server/.next/server/chunks/[root-of-the-server]__ec0f2f72._.js +1 -1
  41. package/dist/server/.next/server/chunks/[root-of-the-server]__ec0f2f72._.js.map +1 -1
  42. package/dist/server/.next/server/chunks/ssr/_2488faea._.js +1 -1
  43. package/dist/server/.next/server/chunks/ssr/_2488faea._.js.map +1 -1
  44. package/dist/server/.next/server/pages/404.html +1 -1
  45. package/dist/server/.next/server/pages/500.html +1 -1
  46. package/dist/server/.next/server/server-reference-manifest.js +1 -1
  47. package/dist/server/.next/server/server-reference-manifest.json +1 -1
  48. package/dist/server/.next/static/chunks/{6c6c1dcf9e7e2204.js.map → 4791e420776e4b33.js.map} +1 -1
  49. package/dist/server/.next/static/chunks/{512b4b5323114f56.js → f99d8b48dbb26003.js} +2 -2
  50. package/dist/server/.next/trace +1 -1
  51. package/lib/mock-file-utils.mjs +103 -0
  52. package/package.json +4 -3
  53. package/dist/server/.next/cache/eslint/.cache_13k185s +0 -1
  54. package/dist/server/.next/cache/webpack/client-production/0.pack +0 -0
  55. package/dist/server/.next/cache/webpack/client-production/1.pack +0 -0
  56. package/dist/server/.next/cache/webpack/client-production/10.pack +0 -0
  57. package/dist/server/.next/cache/webpack/client-production/11.pack +0 -0
  58. package/dist/server/.next/cache/webpack/client-production/12.pack +0 -0
  59. package/dist/server/.next/cache/webpack/client-production/13.pack +0 -0
  60. package/dist/server/.next/cache/webpack/client-production/14.pack +0 -0
  61. package/dist/server/.next/cache/webpack/client-production/15.pack +0 -0
  62. package/dist/server/.next/cache/webpack/client-production/16.pack +0 -0
  63. package/dist/server/.next/cache/webpack/client-production/17.pack +0 -0
  64. package/dist/server/.next/cache/webpack/client-production/18.pack +0 -0
  65. package/dist/server/.next/cache/webpack/client-production/2.pack +0 -0
  66. package/dist/server/.next/cache/webpack/client-production/3.pack +0 -0
  67. package/dist/server/.next/cache/webpack/client-production/4.pack +0 -0
  68. package/dist/server/.next/cache/webpack/client-production/5.pack +0 -0
  69. package/dist/server/.next/cache/webpack/client-production/6.pack +0 -0
  70. package/dist/server/.next/cache/webpack/client-production/7.pack +0 -0
  71. package/dist/server/.next/cache/webpack/client-production/8.pack +0 -0
  72. package/dist/server/.next/cache/webpack/client-production/9.pack +0 -0
  73. package/dist/server/.next/cache/webpack/client-production/index.pack +0 -0
  74. package/dist/server/.next/cache/webpack/client-production/index.pack.old +0 -0
  75. package/dist/server/.next/cache/webpack/edge-server-production/0.pack +0 -0
  76. package/dist/server/.next/cache/webpack/edge-server-production/index.pack +0 -0
  77. package/dist/server/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
  78. package/dist/server/.next/cache/webpack/server-production/0.pack +0 -0
  79. package/dist/server/.next/cache/webpack/server-production/1.pack +0 -0
  80. package/dist/server/.next/cache/webpack/server-production/2.pack +0 -0
  81. package/dist/server/.next/cache/webpack/server-production/3.pack +0 -0
  82. package/dist/server/.next/cache/webpack/server-production/4.pack +0 -0
  83. package/dist/server/.next/cache/webpack/server-production/5.pack +0 -0
  84. package/dist/server/.next/cache/webpack/server-production/6.pack +0 -0
  85. package/dist/server/.next/cache/webpack/server-production/7.pack +0 -0
  86. package/dist/server/.next/cache/webpack/server-production/8.pack +0 -0
  87. package/dist/server/.next/cache/webpack/server-production/9.pack +0 -0
  88. package/dist/server/.next/cache/webpack/server-production/index.pack +0 -0
  89. package/dist/server/.next/cache/webpack/server-production/index.pack.old +0 -0
  90. package/dist/server/.next/react-loadable-manifest.json +0 -1
  91. package/dist/server/.next/server/chunks/131.js +0 -20
  92. package/dist/server/.next/server/chunks/135.js +0 -20
  93. package/dist/server/.next/server/chunks/426.js +0 -1
  94. package/dist/server/.next/server/chunks/542.js +0 -1
  95. package/dist/server/.next/server/chunks/821.js +0 -5
  96. package/dist/server/.next/server/chunks/901.js +0 -1
  97. package/dist/server/.next/server/chunks/967.js +0 -5
  98. package/dist/server/.next/server/chunks/972.js +0 -6
  99. package/dist/server/.next/server/middleware-react-loadable-manifest.js +0 -1
  100. package/dist/server/.next/server/webpack-runtime.js +0 -1
  101. package/dist/server/.next/static/0L93NbbowsMpjl-fJPWIj/_buildManifest.js +0 -1
  102. package/dist/server/.next/static/0YG3L7wZtbtQp2XameODj/_buildManifest.js +0 -1
  103. package/dist/server/.next/static/0YG3L7wZtbtQp2XameODj/_ssgManifest.js +0 -1
  104. package/dist/server/.next/static/4EggIRp7gmu3C68Fsraff/_buildManifest.js +0 -1
  105. package/dist/server/.next/static/4EggIRp7gmu3C68Fsraff/_ssgManifest.js +0 -1
  106. package/dist/server/.next/static/4F2ksJZLv3Xaz5X--KGOp/_buildManifest.js +0 -1
  107. package/dist/server/.next/static/4F2ksJZLv3Xaz5X--KGOp/_ssgManifest.js +0 -1
  108. package/dist/server/.next/static/AfTlXXTccBCUMhfVrzBuA/_ssgManifest.js +0 -1
  109. package/dist/server/.next/static/CcPdKvbUmZBYZz_Z0RQOI/_buildManifest.js +0 -1
  110. package/dist/server/.next/static/CcPdKvbUmZBYZz_Z0RQOI/_clientMiddlewareManifest.json +0 -1
  111. package/dist/server/.next/static/CcPdKvbUmZBYZz_Z0RQOI/_ssgManifest.js +0 -1
  112. package/dist/server/.next/static/G7Z-m_yayOJWJic2pMxim/_buildManifest.js +0 -1
  113. package/dist/server/.next/static/G7Z-m_yayOJWJic2pMxim/_clientMiddlewareManifest.json +0 -1
  114. package/dist/server/.next/static/G7Z-m_yayOJWJic2pMxim/_ssgManifest.js +0 -1
  115. package/dist/server/.next/static/Mmn2KHpe4Btd9UFvAkzbC/_buildManifest.js +0 -1
  116. package/dist/server/.next/static/Mmn2KHpe4Btd9UFvAkzbC/_ssgManifest.js +0 -1
  117. package/dist/server/.next/static/MwYZh9prxBMJtf26zAtTY/_buildManifest.js +0 -1
  118. package/dist/server/.next/static/MwYZh9prxBMJtf26zAtTY/_ssgManifest.js +0 -1
  119. package/dist/server/.next/static/OrhaeyZZfCZRWwhHqa6d_/_buildManifest.js +0 -1
  120. package/dist/server/.next/static/OrhaeyZZfCZRWwhHqa6d_/_ssgManifest.js +0 -1
  121. package/dist/server/.next/static/S8uHKVezmbN9FqrOMghlT/_buildManifest.js +0 -1
  122. package/dist/server/.next/static/S8uHKVezmbN9FqrOMghlT/_ssgManifest.js +0 -1
  123. package/dist/server/.next/static/Vj8TOfdXSkRSgi8JoSCLF/_buildManifest.js +0 -1
  124. package/dist/server/.next/static/Vj8TOfdXSkRSgi8JoSCLF/_ssgManifest.js +0 -1
  125. package/dist/server/.next/static/W9gpINx4oQDxDFLMkCJQL/_buildManifest.js +0 -1
  126. package/dist/server/.next/static/W9gpINx4oQDxDFLMkCJQL/_ssgManifest.js +0 -1
  127. package/dist/server/.next/static/Ws4syXZ5lu2blUfguY1K3/_buildManifest.js +0 -1
  128. package/dist/server/.next/static/Ws4syXZ5lu2blUfguY1K3/_ssgManifest.js +0 -1
  129. package/dist/server/.next/static/chunks/09f18d884b3a25a2.js.map +0 -1
  130. package/dist/server/.next/static/chunks/167-e44cb396108f68cd.js +0 -1
  131. package/dist/server/.next/static/chunks/180-8dacaec05f53f53f.js +0 -1
  132. package/dist/server/.next/static/chunks/180-aabf82e25d34cbe3.js +0 -1
  133. package/dist/server/.next/static/chunks/28309924e4c23ccc.js +0 -5
  134. package/dist/server/.next/static/chunks/2b6075b99689b028.css.map +0 -1
  135. package/dist/server/.next/static/chunks/355-0aabfb42ab072146.js +0 -1
  136. package/dist/server/.next/static/chunks/371387b426d53320.js +0 -3
  137. package/dist/server/.next/static/chunks/4695aadfc21f48b8.js +0 -5
  138. package/dist/server/.next/static/chunks/495-1a64c3075b5b8ac4.js +0 -1
  139. package/dist/server/.next/static/chunks/770-17268e5a9d004dae.js +0 -1
  140. package/dist/server/.next/static/chunks/847-ec9c92b94ad678e0.js +0 -1
  141. package/dist/server/.next/static/chunks/86b5e8830b67bd88.js.map +0 -1
  142. package/dist/server/.next/static/chunks/app/_not-found/page-95616ed7a70b84d7.js +0 -1
  143. package/dist/server/.next/static/chunks/app/_not-found/page-ba0969dacdea05f3.js +0 -1
  144. package/dist/server/.next/static/chunks/app/api/all-projects-envs/route-312524aaaaffe75e.js +0 -1
  145. package/dist/server/.next/static/chunks/app/api/all-projects-envs/route-4a1691275c5ae416.js +0 -1
  146. package/dist/server/.next/static/chunks/app/api/all-projects-envs/route-59998dcbe9d03177.js +0 -1
  147. package/dist/server/.next/static/chunks/app/api/all-projects-envs/route-70d14c8af28994db.js +0 -1
  148. package/dist/server/.next/static/chunks/app/api/all-projects-envs/route-cfa7e75a9cc44674.js +0 -1
  149. package/dist/server/.next/static/chunks/app/api/check-mock-intercept/route-207d5b6627adc282.js +0 -1
  150. package/dist/server/.next/static/chunks/app/api/check-mock-intercept/route-21db47c08229689f.js +0 -1
  151. package/dist/server/.next/static/chunks/app/api/check-mock-intercept/route-445157e82ef8e75b.js +0 -1
  152. package/dist/server/.next/static/chunks/app/api/check-mock-intercept/route-a14cdbb0879f7da6.js +0 -1
  153. package/dist/server/.next/static/chunks/app/api/check-mock-intercept/route-f2e048a9d229f7e7.js +0 -1
  154. package/dist/server/.next/static/chunks/app/api/check-workspace/route-29f5d718929ea780.js +0 -1
  155. package/dist/server/.next/static/chunks/app/api/check-workspace/route-3292111d9978949a.js +0 -1
  156. package/dist/server/.next/static/chunks/app/api/check-workspace/route-3569564cd2b09683.js +0 -1
  157. package/dist/server/.next/static/chunks/app/api/check-workspace/route-db1a504fc730c8dc.js +0 -1
  158. package/dist/server/.next/static/chunks/app/api/check-workspace/route-ea618578d55f6d3e.js +0 -1
  159. package/dist/server/.next/static/chunks/app/api/cleanup-mock/route-bbcac882e4f160cb.js +0 -1
  160. package/dist/server/.next/static/chunks/app/api/cleanup-project/route-16fdad40de98b440.js +0 -1
  161. package/dist/server/.next/static/chunks/app/api/cleanup-project/route-3bf856128b701bac.js +0 -1
  162. package/dist/server/.next/static/chunks/app/api/cleanup-project/route-a6c005b8a485a192.js +0 -1
  163. package/dist/server/.next/static/chunks/app/api/get-mock-data/route-0ff137f28b0bbfd4.js +0 -1
  164. package/dist/server/.next/static/chunks/app/api/get-mock-data/route-39e7fa4c6fa2da8f.js +0 -1
  165. package/dist/server/.next/static/chunks/app/api/get-mock-data/route-dc1cc7e42c23cc90.js +0 -1
  166. package/dist/server/.next/static/chunks/app/api/get-mock-data/route-e8c5eb5bfef356e4.js +0 -1
  167. package/dist/server/.next/static/chunks/app/api/get-mock-data/route-f674eb4d564fe302.js +0 -1
  168. package/dist/server/.next/static/chunks/app/api/initialize-workspace/route-202c20e85127f869.js +0 -1
  169. package/dist/server/.next/static/chunks/app/api/initialize-workspace/route-736e54e6ee59e3ce.js +0 -1
  170. package/dist/server/.next/static/chunks/app/api/initialize-workspace/route-7faec0a7a2e6383d.js +0 -1
  171. package/dist/server/.next/static/chunks/app/api/initialize-workspace/route-9cb53efb3778be70.js +0 -1
  172. package/dist/server/.next/static/chunks/app/api/initialize-workspace/route-a546e3abb74bc427.js +0 -1
  173. package/dist/server/.next/static/chunks/app/api/microapp-proxy-change-stream/route-219fff48736f39a4.js +0 -1
  174. package/dist/server/.next/static/chunks/app/api/microapp-proxy-change-stream/route-39d78899804e9b55.js +0 -1
  175. package/dist/server/.next/static/chunks/app/api/microapp-proxy-change-stream/route-81a2d573a6a5b3d9.js +0 -1
  176. package/dist/server/.next/static/chunks/app/api/microapp-proxy-change-stream/route-92fea0302ce9e17c.js +0 -1
  177. package/dist/server/.next/static/chunks/app/api/microapp-proxy-config/route-05c8c2aae5088b98.js +0 -1
  178. package/dist/server/.next/static/chunks/app/api/microapp-proxy-config/route-ad103dba19eb36c2.js +0 -1
  179. package/dist/server/.next/static/chunks/app/api/microapp-proxy-config/route-bda82800578d31a4.js +0 -1
  180. package/dist/server/.next/static/chunks/app/api/microapp-proxy-config/route-c98223a508d30485.js +0 -1
  181. package/dist/server/.next/static/chunks/app/api/microapp-proxy-config/route-e535c24ff110bccf.js +0 -1
  182. package/dist/server/.next/static/chunks/app/api/mock-file/route-457801bb0f6a76f5.js +0 -1
  183. package/dist/server/.next/static/chunks/app/api/mock-file/route-51694377ff9d7e5b.js +0 -1
  184. package/dist/server/.next/static/chunks/app/api/mock-file/route-606d825407e0fd4c.js +0 -1
  185. package/dist/server/.next/static/chunks/app/api/mock-file/route-a7322a0267bf30b2.js +0 -1
  186. package/dist/server/.next/static/chunks/app/api/mock-file/route-d8676439ef29db7c.js +0 -1
  187. package/dist/server/.next/static/chunks/app/api/mock-file-content/route-3b736acba2fc51fb.js +0 -1
  188. package/dist/server/.next/static/chunks/app/api/mock-file-content/route-4abdd46a628dfa45.js +0 -1
  189. package/dist/server/.next/static/chunks/app/api/mock-file-content/route-4bc78ec0cbed800a.js +0 -1
  190. package/dist/server/.next/static/chunks/app/api/mock-file-content/route-508f2755a233b154.js +0 -1
  191. package/dist/server/.next/static/chunks/app/api/mock-file-content/route-ed711cf05050ae4b.js +0 -1
  192. package/dist/server/.next/static/chunks/app/api/mock-open-status/route-2397a28b4e49887e.js +0 -1
  193. package/dist/server/.next/static/chunks/app/api/mock-open-status/route-7e4d9c8f09b286c3.js +0 -1
  194. package/dist/server/.next/static/chunks/app/api/mock-open-status/route-81148f608ccbb94c.js +0 -1
  195. package/dist/server/.next/static/chunks/app/api/mock-open-status/route-8c87291c773d3e77.js +0 -1
  196. package/dist/server/.next/static/chunks/app/api/mock-open-status/route-a9410ab77572cb9e.js +0 -1
  197. package/dist/server/.next/static/chunks/app/api/mock-setting/route-2f57558f61602b8d.js +0 -1
  198. package/dist/server/.next/static/chunks/app/api/mock-setting/route-34a6b89ca2fa264f.js +0 -1
  199. package/dist/server/.next/static/chunks/app/api/mock-setting/route-48cfb30a284d746d.js +0 -1
  200. package/dist/server/.next/static/chunks/app/api/mock-setting/route-93afc6add1edf9f2.js +0 -1
  201. package/dist/server/.next/static/chunks/app/api/mock-setting/route-fc5ad9735304a090.js +0 -1
  202. package/dist/server/.next/static/chunks/app/api/open-all-mock/route-57687ce93101e033.js +0 -1
  203. package/dist/server/.next/static/chunks/app/api/open-project/route-0f748b5bb9f5f133.js +0 -1
  204. package/dist/server/.next/static/chunks/app/api/open-project/route-28f8ff642f5256ac.js +0 -1
  205. package/dist/server/.next/static/chunks/app/api/open-project/route-33e8ebae3ec34cf6.js +0 -1
  206. package/dist/server/.next/static/chunks/app/api/open-project/route-b6e6fca6c827640d.js +0 -1
  207. package/dist/server/.next/static/chunks/app/api/open-project/route-dbd2412a4a395d57.js +0 -1
  208. package/dist/server/.next/static/chunks/app/api/process/logs/route-2dda16be53467324.js +0 -1
  209. package/dist/server/.next/static/chunks/app/api/process/logs/route-3d9ee52d7c8aacef.js +0 -1
  210. package/dist/server/.next/static/chunks/app/api/process/logs/stream/route-e3aa80178b56d92e.js +0 -1
  211. package/dist/server/.next/static/chunks/app/api/process/logs/stream/route-e9633e0e72dfb31b.js +0 -1
  212. package/dist/server/.next/static/chunks/app/api/process/start/route-4fe85c59a6cf5d14.js +0 -1
  213. package/dist/server/.next/static/chunks/app/api/process/start/route-54c553f9e551d14b.js +0 -1
  214. package/dist/server/.next/static/chunks/app/api/process/status/route-06151b6ca21ffd52.js +0 -1
  215. package/dist/server/.next/static/chunks/app/api/process/status/route-9dadfb92dd227115.js +0 -1
  216. package/dist/server/.next/static/chunks/app/api/project-config/route-0317b7b8279f882c.js +0 -1
  217. package/dist/server/.next/static/chunks/app/api/project-config/route-0d5799a7d2a92f24.js +0 -1
  218. package/dist/server/.next/static/chunks/app/api/project-config/route-52a76cdb81639dcd.js +0 -1
  219. package/dist/server/.next/static/chunks/app/api/project-config/route-870fae74c20ad5cc.js +0 -1
  220. package/dist/server/.next/static/chunks/app/api/project-config/route-ebe1c2ee41dedc74.js +0 -1
  221. package/dist/server/.next/static/chunks/app/api/retry-project/route-1672c3841762e7a2.js +0 -1
  222. package/dist/server/.next/static/chunks/app/api/retry-project/route-57227158a21c503e.js +0 -1
  223. package/dist/server/.next/static/chunks/app/api/retry-project/route-887b04ae65e577ee.js +0 -1
  224. package/dist/server/.next/static/chunks/app/api/retry-project/route-c25d253b5eacedef.js +0 -1
  225. package/dist/server/.next/static/chunks/app/api/retry-project/route-ed8eb5f938cd3503.js +0 -1
  226. package/dist/server/.next/static/chunks/app/configuration/page-40c4eaee20608a71.js +0 -1
  227. package/dist/server/.next/static/chunks/app/configuration/page-68644ad1d0dbda4f.js +0 -1
  228. package/dist/server/.next/static/chunks/app/configuration/page-978351fa7fe07983.js +0 -1
  229. package/dist/server/.next/static/chunks/app/configuration/page-c873f4a20842fe9f.js +0 -1
  230. package/dist/server/.next/static/chunks/app/configuration/page-de2896125aeef266.js +0 -1
  231. package/dist/server/.next/static/chunks/app/initialization/page-2937c3ff149f25f9.js +0 -1
  232. package/dist/server/.next/static/chunks/app/initialization/page-9c8eb31c4b362777.js +0 -1
  233. package/dist/server/.next/static/chunks/app/initialization/page-d107335a70a6aa9a.js +0 -1
  234. package/dist/server/.next/static/chunks/app/layout-2c381be4c1bb73ed.js +0 -1
  235. package/dist/server/.next/static/chunks/app/layout-84c22b799284e008.js +0 -1
  236. package/dist/server/.next/static/chunks/app/layout-882f4e368aeaff73.js +0 -1
  237. package/dist/server/.next/static/chunks/app/page-46b160ccc2d2f6fd.js +0 -1
  238. package/dist/server/.next/static/chunks/app/page-7a16585bfada96fc.js +0 -1
  239. package/dist/server/.next/static/chunks/app/page-7ad3377c8cadf31e.js +0 -1
  240. package/dist/server/.next/static/chunks/app/page-912f1af8f4bd1f6c.js +0 -1
  241. package/dist/server/.next/static/chunks/app/page-9ce2b4651df441b0.js +0 -1
  242. package/dist/server/.next/static/chunks/app/page-9e7caf746eefeed4.js +0 -1
  243. package/dist/server/.next/static/chunks/b8f30182-57e8efeaf5f155f2.js +0 -1
  244. package/dist/server/.next/static/chunks/b8f30182-a6d2a523c696fa81.js +0 -1
  245. package/dist/server/.next/static/chunks/da35f4984aadc7ee.css +0 -3
  246. package/dist/server/.next/static/chunks/fc31ec097889736e.js +0 -61
  247. package/dist/server/.next/static/chunks/framework-4f3c796c070f0605.js +0 -1
  248. package/dist/server/.next/static/chunks/main-5057d359c86395ff.js +0 -1
  249. package/dist/server/.next/static/chunks/main-app-0672b5550b5e5a29.js +0 -1
  250. package/dist/server/.next/static/chunks/main-app-204ad1b9f48b1359.js +0 -1
  251. package/dist/server/.next/static/chunks/pages/_app-3679013cc4e97ce6.js +0 -1
  252. package/dist/server/.next/static/chunks/pages/_error-0822a2d0b86fca98.js +0 -1
  253. package/dist/server/.next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
  254. package/dist/server/.next/static/chunks/webpack-c15acc5db8adea14.js +0 -1
  255. package/dist/server/.next/static/chunks/webpack-d5f30c51b0af95c2.js +0 -1
  256. package/dist/server/.next/static/chunks/webpack-e34e044e63e0dcd2.js +0 -1
  257. package/dist/server/.next/static/css/1c3633790ce12b77.css +0 -3
  258. package/dist/server/.next/static/css/6393282fdcf30b00.css +0 -3
  259. package/dist/server/.next/static/css/99c159237be93dc6.css +0 -1
  260. package/dist/server/.next/static/css/b10a602544a179de.css +0 -3
  261. package/dist/server/.next/static/css/deb8e469bf5e7676.css +0 -3
  262. package/dist/server/.next/static/ctEn8UHYZESgGhsRFLpGu/_buildManifest.js +0 -1
  263. package/dist/server/.next/static/ctEn8UHYZESgGhsRFLpGu/_ssgManifest.js +0 -1
  264. package/dist/server/.next/static/jdnaR1jA-uiriPQs5tK55/_buildManifest.js +0 -1
  265. package/dist/server/.next/static/jdnaR1jA-uiriPQs5tK55/_ssgManifest.js +0 -1
  266. package/dist/server/.next/static/media/569ce4b8f30dc480-s.p.woff2 +0 -0
  267. package/dist/server/.next/static/media/747892c23ea88013-s.woff2 +0 -0
  268. package/dist/server/.next/static/media/8d697b304b401681-s.woff2 +0 -0
  269. package/dist/server/.next/static/media/93f479601ee12b01-s.p.woff2 +0 -0
  270. package/dist/server/.next/static/media/9610d9e46709d722-s.woff2 +0 -0
  271. package/dist/server/.next/static/media/ba015fad6dcf6784-s.woff2 +0 -0
  272. package/dist/server/.next/static/qPRyAah5ijpk6JBI-hD27/_buildManifest.js +0 -1
  273. package/dist/server/.next/static/qPRyAah5ijpk6JBI-hD27/_clientMiddlewareManifest.json +0 -1
  274. package/dist/server/.next/static/qPRyAah5ijpk6JBI-hD27/_ssgManifest.js +0 -1
  275. package/dist/server/.next/static/stSAKws68akBgeDAAHOBI/_buildManifest.js +0 -1
  276. package/dist/server/.next/static/stSAKws68akBgeDAAHOBI/_ssgManifest.js +0 -1
  277. package/dist/server/.next/static/tATlS048MJsMzIVQDTgrk/_buildManifest.js +0 -1
  278. package/dist/server/.next/static/tATlS048MJsMzIVQDTgrk/_ssgManifest.js +0 -1
  279. package/dist/server/.next/types/app/api/all-projects-envs/route.ts +0 -347
  280. package/dist/server/.next/types/app/api/check-mock-intercept/route.ts +0 -347
  281. package/dist/server/.next/types/app/api/check-workspace/route.ts +0 -347
  282. package/dist/server/.next/types/app/api/cleanup-mock/route.ts +0 -347
  283. package/dist/server/.next/types/app/api/cleanup-project/route.ts +0 -347
  284. package/dist/server/.next/types/app/api/get-mock-data/route.ts +0 -347
  285. package/dist/server/.next/types/app/api/initialize-workspace/route.ts +0 -347
  286. package/dist/server/.next/types/app/api/microapp-proxy-change-stream/route.ts +0 -347
  287. package/dist/server/.next/types/app/api/microapp-proxy-config/route.ts +0 -347
  288. package/dist/server/.next/types/app/api/mock-file/route.ts +0 -347
  289. package/dist/server/.next/types/app/api/mock-file-content/route.ts +0 -347
  290. package/dist/server/.next/types/app/api/mock-open-status/route.ts +0 -347
  291. package/dist/server/.next/types/app/api/mock-setting/route.ts +0 -347
  292. package/dist/server/.next/types/app/api/open-all-mock/route.ts +0 -347
  293. package/dist/server/.next/types/app/api/open-project/route.ts +0 -347
  294. package/dist/server/.next/types/app/api/process/logs/route.ts +0 -347
  295. package/dist/server/.next/types/app/api/process/logs/stream/route.ts +0 -347
  296. package/dist/server/.next/types/app/api/process/start/route.ts +0 -347
  297. package/dist/server/.next/types/app/api/process/status/route.ts +0 -347
  298. package/dist/server/.next/types/app/api/project-config/route.ts +0 -347
  299. package/dist/server/.next/types/app/api/retry-project/route.ts +0 -347
  300. package/dist/server/.next/types/app/configuration/page.ts +0 -84
  301. package/dist/server/.next/types/app/initialization/page.ts +0 -84
  302. package/dist/server/.next/types/app/layout.ts +0 -84
  303. package/dist/server/.next/types/app/page.ts +0 -84
  304. package/dist/server/.next/types/cache-life.d.ts +0 -141
  305. package/dist/server/.next/types/package.json +0 -1
  306. /package/dist/server/.next/static/{AfTlXXTccBCUMhfVrzBuA → DiL7txnLfsR2XvLBEz06H}/_buildManifest.js +0 -0
  307. /package/dist/server/.next/static/{AfTlXXTccBCUMhfVrzBuA → DiL7txnLfsR2XvLBEz06H}/_clientMiddlewareManifest.json +0 -0
  308. /package/dist/server/.next/static/{0L93NbbowsMpjl-fJPWIj → DiL7txnLfsR2XvLBEz06H}/_ssgManifest.js +0 -0
@@ -56,6 +56,6 @@ module.exports = Mock.mock({
56
56
  "id|1-100": 1,
57
57
  "timestamp": "@now('yyyy-MM-dd HH:mm:ss')"
58
58
  }
59
- });`}},e1=(e,t,r)=>{if(!T)return!1;let n=e.replace(/\//g,"_").replace(/^_/,""),o=T.mockFiles.find(e=>e.apiName===n);if(!o)return!1;let i=o.methods.find(e=>e.method.toLowerCase()===t.toLowerCase());return!!i&&!!i.files.find(e=>e.siteName===r)},e2=async()=>{if(!eo.apiPath.trim())return void e3("error","请输入接口地址");if(e1(eo.apiPath,eo.method,eo.siteName))return void e3("error",`接口 ${eo.apiPath} [${eo.method.toUpperCase()}] 的场景 "${eo.siteName}" 已存在,不能重复创建`);ec(!0);try{let e=eo.apiPath.replace(/\//g,"_").replace(/^_/,""),t=F?.content??e0(eo.method,eo.apiPath),n=await fetch("/api/mock-file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r,apiName:e,method:eo.method.toLowerCase(),siteName:eo.siteName,content:t})}),o=await n.json();if(o.success)eo.mockOpen&&await e6(e,eo.method.toLowerCase(),eo.siteName,!0),ei({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0}),et(!1),await eq(),e3("success","Mock文件创建成功");else throw Error(o.error||"创建失败")}catch(e){console.error("创建Mock文件失败:",e),e3("error",`创建Mock文件失败: ${e instanceof Error?e.message:"未知错误"}`)}finally{ec(!1)}},e8=(e,t,n)=>{console.log("新增场景点击:",{apiName:e,method:t,apiPath:n}),es({apiName:e,method:t,apiPath:n});let o={apiPath:n,method:t.toUpperCase(),siteName:"",mockOpen:!0};console.log("设置表单数据:",o),ei(o),en(!0);let i=e0(o.method,o.apiPath);z({projectName:r||"",apiName:e,method:t.toLowerCase(),siteName:"",content:i||""})},e9=(e,t,r)=>{if(!T)return!1;let n=T.mockFiles.find(t=>t.apiName===e);if(!n)return!1;let o=n.methods.find(e=>e.method.toLowerCase()===t.toLowerCase());return!!o&&!!o.files.find(e=>e.siteName===r)},e4=async()=>{if(!ea||!eo.siteName.trim())return void e3("error","请输入场景名称");if(e9(ea.apiName,ea.method,eo.siteName))return void e3("error",`接口 ${ea.apiPath} [${ea.method.toUpperCase()}] 的场景 "${eo.siteName}" 已存在`);ec(!0);try{let e=F?.content??e0(ea.method,ea.apiPath);console.log("defaultContent",e,F);let t=await fetch("/api/mock-file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r,apiName:ea.apiName,method:ea.method.toLowerCase(),siteName:eo.siteName,content:e})}),n=await t.json();if(n.success){if(eo.mockOpen&&await e6(ea.apiName,ea.method,eo.siteName,!0),ei({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0}),v)try{let e=await fetch("/api/mock-setting",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:v.projectName,apiName:ea.apiName,method:ea.method,currentSite:eo.siteName})}),t=await e.json();t.success||console.warn("切换到新场景失败:",t.error)}catch(e){console.warn("切换到新场景失败:",e)}try{await e6(ea.apiName,ea.method,eo.siteName,!0)}catch(e){console.warn("自动开启新场景失败:",e)}en(!1),es(null),await eq(),e3("success","场景创建成功")}else throw Error(n.error||"创建失败")}catch(e){console.error("创建场景失败:",e),e3("error",`创建场景失败: ${e instanceof Error?e.message:"未知错误"}`)}finally{ec(!1)}},e6=async(e,t,r,n)=>{if(v)try{let o=await fetch("/api/mock-open-status",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:v.projectName,apiName:e,method:t,siteName:r,isOpen:n})}),i=await o.json();i.success?await eq():console.error("更新Mock开启状态失败:",i.error)}catch(e){console.error("更新Mock开启状态失败:",e)}},e3=(e,t)=>{eh({open:!0,type:e,message:t}),setTimeout(()=>{eh({open:!1,type:"success",message:""})},3e3)},e5=(e,t,r)=>{ed({open:!0,apiName:e,method:t,siteName:r})},e7=async()=>{if(!v)return;let{apiName:e,method:t,siteName:r}=eu;try{let n=await fetch(`/api/mock-file?project=${encodeURIComponent(v.projectName)}&apiName=${encodeURIComponent(e)}&method=${encodeURIComponent(t)}&siteName=${encodeURIComponent(r)}`,{method:"DELETE"}),o=await n.json();if(o.success){let e=window.scrollY;await eq(),window.scrollTo(0,e),e3("success","场景删除成功")}else console.error("删除场景失败:",o.error),e3("error",`删除场景失败: ${o.error}`)}catch(e){console.error("删除场景失败:",e),e3("error","删除场景失败: 网络错误")}finally{ed({open:!1,apiName:"",method:"",siteName:""})}},te=(e,t)=>{ep({open:!0,apiName:e,apiPath:t})},tt=async()=>{if(!v)return;let{apiName:e}=ef;try{let t=await fetch(`/api/delete-mock-api?project=${encodeURIComponent(v.projectName)}&apiName=${encodeURIComponent(e)}`,{method:"DELETE"}),r=await t.json();if(r.success){let e=window.scrollY;await eq(),window.scrollTo(0,e),e3("success","接口删除成功")}else console.error("删除接口失败:",r.error),e3("error",`删除接口失败: ${r.error}`)}catch(e){console.error("删除接口失败:",e),e3("error","删除接口失败: 网络错误")}finally{ep({open:!1,apiName:"",apiPath:""})}},tr=e=>{ev(e),A(1)};if(x)return(0,n.jsx)("main",{className:"container mx-auto p-4 sm:p-6 md:p-8",children:(0,n.jsx)("div",{className:"text-center py-8",children:(0,n.jsx)("p",{children:"加载中..."})})});if(w||!v)return(0,n.jsxs)("main",{className:"container mx-auto p-4 sm:p-6 md:p-8",children:[(0,n.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,n.jsx)("h1",{className:"text-2xl font-bold",children:"项目配置"}),(0,n.jsxs)("div",{className:"flex gap-2",children:[r&&(0,n.jsx)(a.Button,{variant:"default",onClick:eO,disabled:k,children:k?"打开中...":"在 Cursor 中打开"}),(0,n.jsx)(a.Button,{variant:"outline",onClick:eT,children:"返回初始化页面"})]})]}),(0,n.jsx)("div",{className:"text-center text-red-500 py-8",children:(0,n.jsx)("p",{children:w||"未找到项目配置"})})]});let tn=Object.keys(v.envs);return(0,n.jsxs)("main",{className:"container mx-auto p-4 sm:p-6 md:p-8",children:[(0,n.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,n.jsxs)("div",{className:"flex items-center gap-4",children:[(0,n.jsxs)("h1",{className:"text-2xl font-bold",children:[v.projectName," - 项目配置"]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(u.Label,{className:"text-sm font-medium text-gray-600",children:"切换项目:"}),(0,n.jsxs)(l.Select,{value:r||"",onValueChange:n=>{if(n===r)return;let o=e.get("tab"),i=`/configuration?project=${encodeURIComponent(n)}${o?`&tab=${o}`:""}`;t.push(i)},disabled:Z,children:[(0,n.jsx)(l.SelectTrigger,{className:"w-40",children:(0,n.jsx)(l.SelectValue,{placeholder:Z?"加载中...":"选择项目"})}),(0,n.jsx)(l.SelectContent,{children:X.map(e=>(0,n.jsx)(l.SelectItem,{value:e.name,children:(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:`w-2 h-2 rounded-full ${"existing"===e.status?"bg-green-500":"failed"===e.status?"bg-red-500":"bg-yellow-500"}`}),(0,n.jsx)("span",{children:e.name})]})},e.name))})]})]})]}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(a.Button,{variant:"default",onClick:eO,disabled:k,children:k?"打开中...":"在 Cursor 中打开"}),(0,n.jsx)(a.Button,{variant:"outline",onClick:eT,children:"返回初始化页面"})]})]}),tn.length>0?(0,n.jsxs)(s.Tabs,{value:I||tn[0],onValueChange:e=>{D(e),"mock"===e&&eq()},className:"w-full",children:[(0,n.jsxs)(s.TabsList,{className:"grid w-full",style:{gridTemplateColumns:`repeat(${tn.length+1}, 1fr)`},children:[tn.map(e=>(0,n.jsx)(s.TabsTrigger,{value:e,className:"capitalize relative",children:(0,n.jsxs)("span",{className:"flex items-center gap-2",children:[e,ey[e]?.running&&(0,n.jsx)("span",{className:"w-2 h-2 bg-green-500 rounded-full animate-pulse",title:"运行中"})]})},e)),(0,n.jsx)(s.TabsTrigger,{value:"mock",className:"capitalize",children:"Mock配置"})]}),tn.map(e=>{let t=v.envs[e],r=Object.entries(t.proxyEnv),o=S[e]?.selectedProxy||"",i=S[e]?.selectedOption||"",d=t.currentProxy,f=t.proxyEnv[d]||d,p=t.proxyEnv[d]?d:"custom";return(0,n.jsxs)(s.TabsContent,{value:e,className:"space-y-6",children:[(0,n.jsxs)("div",{className:"p-6 bg-gray-50 rounded-lg",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,n.jsx)("h3",{className:"text-lg font-semibold",children:"开发服务器控制"}),(0,n.jsx)("div",{className:"flex items-center gap-4",children:ey[e]?.running?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("span",{className:"flex items-center gap-2 text-sm text-green-600",children:[(0,n.jsx)("span",{className:"w-2 h-2 bg-green-500 rounded-full animate-pulse"}),"运行中 (PID: ",ey[e]?.pid,")"]}),(0,n.jsx)(a.Button,{variant:"outline",size:"sm",onClick:()=>ez(e),children:"查看日志"}),(0,n.jsx)(a.Button,{variant:"destructive",size:"sm",onClick:()=>eA(e),disabled:ey[e]?.loading,children:ey[e]?.loading?"处理中...":"停止"})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("span",{className:"flex items-center gap-2 text-sm text-gray-500",children:[(0,n.jsx)("span",{className:"w-2 h-2 bg-gray-400 rounded-full"}),"未运行"]}),(0,n.jsx)(a.Button,{variant:"outline",size:"sm",onClick:()=>ez(e),children:"查看日志"}),(0,n.jsx)(a.Button,{variant:"default",size:"sm",onClick:()=>eM(e),disabled:ey[e]?.loading||!t.startCommand,children:ey[e]?.loading?"处理中...":"启动"})]})})]}),t.startCommand?(0,n.jsxs)("div",{className:"text-sm text-gray-600",children:[(0,n.jsx)("span",{className:"font-medium",children:"启动命令:"})," ",(0,n.jsx)("code",{className:"px-2 py-1 bg-gray-200 rounded",children:t.startCommand})]}):(0,n.jsx)("div",{className:"text-sm text-yellow-600",children:"⚠️ 该环境未配置启动命令"}),t.host&&(0,n.jsxs)("div",{className:"text-sm text-gray-600 mt-2",children:[(0,n.jsx)("span",{className:"font-medium",children:"访问地址:"}),ey[e]?.running?(0,n.jsx)("a",{href:t.host,target:"_blank",rel:"noopener noreferrer",className:"ml-2 text-blue-600 hover:underline",children:t.host}):(0,n.jsx)("span",{className:"ml-2",children:t.host})]})]}),(0,n.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[(0,n.jsxs)("div",{className:"p-6 bg-gray-50 rounded-lg",children:[(0,n.jsxs)("h3",{className:"text-lg font-semibold mb-4",children:[e," 环境配置"]}),(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(u.Label,{className:"block text-sm font-medium mb-2",children:"接口代理环境切换"}),(0,n.jsxs)(l.Select,{value:i,onValueChange:t=>eB(e,t),children:[(0,n.jsx)(l.SelectTrigger,{className:"w-full",children:(0,n.jsx)(l.SelectValue,{placeholder:"选择代理环境"})}),(0,n.jsx)(l.SelectContent,{children:r.map(([e,t])=>(0,n.jsxs)(l.SelectItem,{value:e,children:[e,"(",t,")"]},e))})]})]}),f&&(0,n.jsxs)("div",{className:"p-3 bg-blue-50 rounded-md",children:[(0,n.jsxs)("p",{className:"text-sm text-blue-700",children:["当前项目接口已代理至:",p," 环境"]}),(0,n.jsxs)("p",{className:"text-sm text-blue-600",children:["代理地址为:",f]})]}),"custom"===i&&(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(u.Label,{className:"block text-sm font-medium",children:"自定义代理地址"}),(0,n.jsx)(c.Input,{type:"url",placeholder:"请输入自定义代理地址 (如: http://localhost:52741)",value:o,onChange:t=>e$(e,t.target.value),className:"w-full"}),(0,n.jsx)("p",{className:"text-xs text-gray-500",children:"请输入完整的代理地址,包括协议 (http:// 或 https://)"})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)(a.Button,{onClick:()=>eV(e),disabled:S[e]?.saving,className:"w-full sm:w-auto",children:S[e]?.saving?"保存中...":"保存配置"}),S[e]?.saveMessage&&(0,n.jsx)("span",{className:`text-sm ml-3 ${S[e]?.saveMessage==="保存成功"?"text-green-600":"text-red-600"}`,children:S[e]?.saveMessage})]})]})]}),(0,n.jsx)(h.default,{currentProjectName:v.projectName,currentEnvName:e})]})]},e)}),(0,n.jsx)(s.TabsContent,{value:"mock",className:"space-y-6",children:(0,n.jsxs)("div",{className:"p-6 bg-gray-50 rounded-lg",children:[(0,n.jsx)("h3",{className:"text-lg font-semibold mb-4",children:"Mock配置"}),(0,n.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 mb-6",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)(u.Label,{className:"text-sm font-medium",children:"Mock拦截"}),(0,n.jsx)("p",{className:"text-xs text-gray-500",children:"启用或禁用Mock拦截功能"})]}),(0,n.jsx)(d.Switch,{checked:C.mockingIntercept,onCheckedChange:eU})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)(u.Label,{className:"text-sm font-medium",children:"Mock开启"}),(0,n.jsx)("p",{className:"text-xs text-gray-500",children:"启用或禁用Mock功能"})]}),(0,n.jsx)(d.Switch,{checked:C.mockOpen,onCheckedChange:eW})]})]}),C.saveMessage&&(0,n.jsx)("div",{className:"mb-6",children:(0,n.jsx)("span",{className:`text-sm ${C.saveMessage.includes("已保存")?"text-green-600":"text-red-600"}`,children:C.saveMessage})}),(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("h4",{className:"text-md font-medium",children:"Mock接口列表"}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(a.Button,{onClick:()=>{et(!0);let e=e0(eo.method,eo.apiPath);z({projectName:r||"",apiName:eo.apiPath,method:eo.method.toLowerCase(),siteName:"",content:e||""})},variant:"default",size:"sm",children:"新建"}),(0,n.jsx)(a.Button,{onClick:eq,disabled:O,variant:"outline",size:"sm",children:O?"加载中...":"刷新"}),(0,n.jsx)(a.Button,{onClick:eK,variant:"outline",size:"sm",children:"一键关闭"}),(0,n.jsx)(a.Button,{onClick:eG,variant:"outline",size:"sm",children:"一键开启"})]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsxs)("div",{className:"relative flex-1 max-w-md",children:[(0,n.jsx)(c.Input,{placeholder:"搜索接口地址...",value:eg,onChange:e=>tr(e.target.value),className:"pr-8"}),eg&&(0,n.jsx)(a.Button,{variant:"ghost",size:"sm",onClick:()=>{ev(""),A(1)},className:"absolute right-1 top-1/2 transform -translate-y-1/2 h-6 w-6 p-0 hover:bg-gray-100",children:"×"})]}),eg&&(0,n.jsxs)("span",{className:"text-sm text-gray-500",children:['搜索关键词: "',eg,'"']})]}),O?(0,n.jsx)("div",{className:"text-center py-8",children:(0,n.jsx)("p",{className:"text-gray-500",children:"加载Mock数据中..."})}):T&&T.mockFiles.length>0?(()=>{let e=[];T.mockFiles.forEach(t=>{t.methods.forEach(r=>{let n=t.apiName.replace(/_/g,"/"),o=r.files.map(e=>e.siteName),i=r.setting?.currentSite||o[0]||"",a=r.setting?.open||[],s=a.includes(i);e.push({apiPath:n,method:r.method.toUpperCase(),currentSite:i,availableSites:o,apiName:t.apiName,isOpen:s,openSites:a})})});let t=eg.trim()?e.filter(e=>e.apiPath.toLowerCase().includes(eg.toLowerCase())):e,r=t.length,o=Math.ceil(r/L),i=(M-1)*L,s=i+L,c=t.slice(i,s);return(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)(f.Table,{children:[(0,n.jsx)(f.TableHeader,{children:(0,n.jsxs)(f.TableRow,{children:[(0,n.jsx)(f.TableHead,{children:"接口地址"}),(0,n.jsx)(f.TableHead,{children:"请求方法"}),(0,n.jsx)(f.TableHead,{children:"当前场景"}),(0,n.jsx)(f.TableHead,{children:"开启mock"}),(0,n.jsx)(f.TableHead,{children:"操作"})]})}),(0,n.jsx)(f.TableBody,{children:c.map((e,t)=>(0,n.jsxs)(f.TableRow,{children:[(0,n.jsx)(f.TableCell,{className:"font-medium",children:e.apiPath}),(0,n.jsx)(f.TableCell,{children:(0,n.jsx)("span",{className:`px-2 py-1 rounded text-xs font-medium ${"GET"===e.method?"bg-green-100 text-green-800":"POST"===e.method?"bg-blue-100 text-blue-800":"PUT"===e.method?"bg-yellow-100 text-yellow-800":"DELETE"===e.method?"bg-red-100 text-red-800":"bg-gray-100 text-gray-800"}`,children:e.method})}),(0,n.jsx)(f.TableCell,{children:(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsxs)(l.Select,{value:e.currentSite,onValueChange:t=>eY(e.apiName,e.method.toLowerCase(),t),children:[(0,n.jsx)(l.SelectTrigger,{className:"w-32",children:(0,n.jsx)(l.SelectValue,{})}),(0,n.jsx)(l.SelectContent,{children:e.availableSites.map(e=>(0,n.jsx)(l.SelectItem,{value:e,children:e},e))})]}),e.availableSites.length>1&&(0,n.jsx)(a.Button,{variant:"ghost",size:"sm",onClick:()=>e5(e.apiName,e.method.toLowerCase(),e.currentSite),className:"h-8 w-8 p-0 text-red-500 hover:text-red-700 hover:bg-red-50",title:"删除当前场景",children:(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M3 6h18"}),(0,n.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,n.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c0 1 1 2 2 2v2"})]})})]})}),(0,n.jsx)(f.TableCell,{children:(0,n.jsx)(d.Switch,{checked:e.isOpen,onCheckedChange:t=>e6(e.apiName,e.method.toLowerCase(),e.currentSite,t)})}),(0,n.jsx)(f.TableCell,{children:(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(a.Button,{variant:"outline",size:"sm",onClick:()=>eX(e.apiName,e.method.toLowerCase(),e.currentSite),disabled:$,children:$?"加载中...":"编辑"}),(0,n.jsx)(a.Button,{variant:"outline",size:"sm",onClick:()=>e8(e.apiName,e.method.toLowerCase(),e.apiPath),disabled:el,children:"新增场景"}),(0,n.jsx)(a.Button,{variant:"outline",size:"sm",onClick:()=>te(e.apiName,e.apiPath),className:"text-red-500 hover:text-red-700 hover:border-red-300",children:"删除接口"})]})})]},`${e.apiName}-${e.method}-${t}`))})]}),o>1&&(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"text-sm text-gray-500",children:["显示 ",i+1,"-",Math.min(s,r)," 条,共 ",r," 条"]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(a.Button,{variant:"outline",size:"sm",onClick:()=>A(e=>Math.max(1,e-1)),disabled:1===M,children:"上一页"}),(0,n.jsxs)("span",{className:"text-sm",children:[M," / ",o]}),(0,n.jsx)(a.Button,{variant:"outline",size:"sm",onClick:()=>A(e=>Math.min(o,e+1)),disabled:M===o,children:"下一页"})]})]})]})})():(0,n.jsxs)("div",{className:"text-center py-8",children:[(0,n.jsx)("p",{className:"text-gray-500",children:"暂无Mock接口数据"}),(0,n.jsx)("p",{className:"text-xs text-gray-400 mt-1",children:"请先创建Mock文件"})]})]})]})})]}):(0,n.jsx)("div",{className:"text-center text-gray-500 py-8",children:(0,n.jsx)("p",{children:"该项目没有配置环境信息"})}),(0,n.jsx)(p.Dialog,{open:H||ee||er,onOpenChange:e=>{e||(B(!1),et(!1),en(!1),es(null))},children:(0,n.jsxs)(p.DialogContent,{className:"w-screen h-screen max-w-none max-h-none m-0 rounded-none overflow-hidden flex flex-col",children:[(0,n.jsxs)(p.DialogHeader,{className:"flex-shrink-0 border-b pb-4",children:[(0,n.jsx)(p.DialogTitle,{children:ee?"新建Mock文件":er?"新增场景":"编辑Mock文件"}),(0,n.jsx)(p.DialogDescription,{children:ee?"创建一个新的Mock接口文件":er&&ea?(0,n.jsxs)(n.Fragment,{children:["为接口 ",ea.apiPath," [",ea.method.toUpperCase(),"] 新增场景"]}):F?(0,n.jsxs)(n.Fragment,{children:["编辑 ",F.apiName.replace(/_/g,"/")," - ",F.method.toUpperCase()," - ",F.siteName,".js"]}):null})]}),(ee||er)&&(0,n.jsxs)("div",{className:"flex-shrink-0 border-b pb-4",children:[(0,n.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(u.Label,{htmlFor:"apiPath",className:"text-sm font-medium",children:"接口地址"}),er?(0,n.jsx)("div",{className:"px-3 py-2 bg-gray-50 border border-gray-200 rounded-md text-sm text-gray-600",children:eo.apiPath}):(0,n.jsx)(c.Input,{id:"apiPath",placeholder:"/api/user/info",value:eo.apiPath,onChange:e=>eQ("apiPath",e.target.value)})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(u.Label,{htmlFor:"method",className:"text-sm font-medium",children:"请求方法"}),er?(0,n.jsx)("div",{className:"px-3 py-2 bg-gray-50 border border-gray-200 rounded-md text-sm text-gray-600",children:eo.method}):(0,n.jsxs)(l.Select,{value:eo.method,onValueChange:e=>eQ("method",e),children:[(0,n.jsx)(l.SelectTrigger,{children:(0,n.jsx)(l.SelectValue,{})}),(0,n.jsxs)(l.SelectContent,{children:[(0,n.jsx)(l.SelectItem,{value:"GET",children:"GET"}),(0,n.jsx)(l.SelectItem,{value:"POST",children:"POST"}),(0,n.jsx)(l.SelectItem,{value:"PUT",children:"PUT"}),(0,n.jsx)(l.SelectItem,{value:"DELETE",children:"DELETE"}),(0,n.jsx)(l.SelectItem,{value:"PATCH",children:"PATCH"})]})]})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(u.Label,{htmlFor:"siteName",className:"text-sm font-medium",children:"场景名称"}),ee?(0,n.jsx)("div",{className:"px-3 py-2 bg-gray-50 border border-gray-200 rounded-md text-sm text-gray-600",children:"默认场景"}):(0,n.jsx)(c.Input,{id:"siteName",placeholder:"请输入场景名称",value:eo.siteName,onChange:e=>eQ("siteName",e.target.value)})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(u.Label,{htmlFor:"mockOpen",className:"text-sm font-medium",children:"开启Mock"}),(0,n.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,n.jsx)(d.Switch,{id:"mockOpen",checked:eo.mockOpen,onCheckedChange:e=>eQ("mockOpen",e)}),(0,n.jsx)("span",{className:"text-sm text-gray-600",children:eo.mockOpen?"开启":"关闭"})]})]})]}),ee&&eo.apiPath.trim()&&eo.siteName.trim()&&e1(eo.apiPath,eo.method,eo.siteName)&&(0,n.jsx)("div",{className:"mt-4 p-3 bg-red-50 border border-red-200 rounded-md",children:(0,n.jsx)("div",{className:"flex items-center",children:(0,n.jsxs)("span",{className:"text-red-600 text-sm",children:["⚠️ 接口 ",eo.apiPath," [",eo.method.toUpperCase(),'] 的场景 "',eo.siteName,'" 已存在']})})}),er&&ea&&eo.siteName.trim()&&e9(ea.apiName,ea.method,eo.siteName)&&(0,n.jsx)("div",{className:"mt-4 p-3 bg-red-50 border border-red-200 rounded-md",children:(0,n.jsx)("div",{className:"flex items-center",children:(0,n.jsxs)("span",{className:"text-red-600 text-sm",children:['⚠️ 场景 "',eo.siteName,'" 已存在']})})})]}),(0,n.jsx)("div",{className:"flex-1 flex flex-col space-y-4 py-4",children:(0,n.jsxs)("div",{className:"flex-1 flex flex-col",children:[(0,n.jsx)(u.Label,{className:"text-sm font-medium mb-2",children:"文件内容"}),(0,n.jsxs)("div",{className:"flex-1 border rounded-md overflow-hidden relative",children:[K&&(0,n.jsx)("div",{className:"absolute inset-0 bg-gray-50 flex items-center justify-center z-10",children:(0,n.jsx)("p",{className:"text-gray-500",children:"编辑器加载中..."})}),(0,n.jsx)(m.default,{height:"100%",defaultLanguage:"javascript",value:F?.content||"",onChange:e=>{z(t=>t?{...t,content:e||""}:null)},onMount:async e=>{console.log("编辑器挂载,模式:",{isCreateMode:ee,isAddSceneMode:er,createFormData:eo}),Y(e),G(!1),setTimeout(()=>eR(e),500)},loading:(0,n.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,n.jsx)("p",{className:"text-gray-500",children:"编辑器加载中..."})}),options:{minimap:{enabled:!1},fontSize:14,lineNumbers:"on",roundedSelection:!1,scrollBeyondLastLine:!1,automaticLayout:!0,tabSize:2,insertSpaces:!0,wordWrap:"on",theme:"vs-dark",bracketPairColorization:{enabled:!0},quickSuggestions:{other:!0,comments:!0,strings:!0},formatOnPaste:!0,formatOnType:!0,readOnly:!1}},ee?"create":er?"addscene":"edit")]})]})}),(0,n.jsxs)(p.DialogFooter,{className:"flex justify-between flex-shrink-0 border-t pt-4",children:[(0,n.jsx)(a.Button,{variant:"secondary",onClick:eE,disabled:!q||K,children:"格式化代码"}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(a.Button,{variant:"outline",onClick:()=>{ee?(et(!1),ei({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0})):er?(en(!1),es(null),ei({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0})):eZ()},children:"取消"}),ee?(0,n.jsx)(a.Button,{onClick:e2,disabled:el||!eo.apiPath.trim()||!eo.siteName.trim()||e1(eo.apiPath,eo.method,eo.siteName),children:el?"创建中...":"创建"}):er?(0,n.jsx)(a.Button,{onClick:e4,disabled:el||!eo.siteName.trim()||!!ea&&e9(ea.apiName,ea.method,eo.siteName),children:el?"创建中...":"创建"}):(0,n.jsx)(a.Button,{onClick:eJ,disabled:W,children:W?"保存中...":"保存"})]})]})]})}),(0,n.jsx)(p.Dialog,{open:eb,onOpenChange:e=>{e||eH()},children:(0,n.jsxs)(p.DialogContent,{className:"max-w-5xl h-[85vh] max-h-[85vh] flex flex-col p-0",children:[(0,n.jsxs)(p.DialogHeader,{className:"px-6 pt-6 pb-4",children:[(0,n.jsxs)(p.DialogTitle,{className:"flex items-center justify-between",children:[(0,n.jsxs)("span",{children:["进程日志 - ",r," - ",ej]}),(0,n.jsx)("span",{className:"flex items-center gap-2 text-sm font-normal",children:eL&&(0,n.jsxs)("span",{className:"flex items-center gap-1 text-green-600",children:[(0,n.jsx)("span",{className:"w-2 h-2 bg-green-500 rounded-full animate-pulse"}),"实时连接"]})})]}),(0,n.jsx)(p.DialogDescription,{children:"实时显示进程输出日志"})]}),(0,n.jsx)("div",{className:"flex-1 min-h-0 bg-gray-900 mx-6 rounded-md overflow-hidden",children:(0,n.jsx)(g.default,{logs:eN})}),(0,n.jsxs)(p.DialogFooter,{className:"flex items-center justify-between px-6 pb-6 pt-4",children:[(0,n.jsxs)("div",{className:"text-sm text-gray-500",children:["共 ",eN.length," 条日志"]}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(a.Button,{variant:"outline",onClick:()=>{ej&&(eF(),eD(ej))},disabled:!!eL,children:"重新连接"}),(0,n.jsx)(a.Button,{variant:"default",onClick:eH,children:"关闭"})]})]})]})}),(0,n.jsx)(p.Dialog,{open:eu.open,onOpenChange:e=>{e||ed({open:!1,apiName:"",method:"",siteName:""})},children:(0,n.jsxs)(p.DialogContent,{className:"max-w-md",children:[(0,n.jsxs)(p.DialogHeader,{children:[(0,n.jsxs)(p.DialogTitle,{className:"flex items-center gap-2 text-red-600",children:[(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M3 6h18"}),(0,n.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,n.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c0 1 1 2 2 2v2"})]}),"确认删除场景"]}),(0,n.jsxs)(p.DialogDescription,{children:["确定要删除场景 ",(0,n.jsxs)("span",{className:"font-medium text-gray-900",children:['"',eu.siteName,'"']})," 吗?",(0,n.jsx)("br",{}),(0,n.jsx)("span",{className:"text-red-500 text-sm mt-2 block",children:"此操作不可撤销"})]})]}),(0,n.jsxs)(p.DialogFooter,{className:"flex gap-2 justify-end",children:[(0,n.jsx)(a.Button,{variant:"outline",onClick:()=>ed({open:!1,apiName:"",method:"",siteName:""}),children:"取消"}),(0,n.jsx)(a.Button,{variant:"destructive",onClick:e7,children:"删除"})]})]})}),(0,n.jsx)(p.Dialog,{open:ef.open,onOpenChange:e=>{e||ep({open:!1,apiName:"",apiPath:""})},children:(0,n.jsxs)(p.DialogContent,{className:"max-w-md",children:[(0,n.jsxs)(p.DialogHeader,{children:[(0,n.jsxs)(p.DialogTitle,{className:"flex items-center gap-2 text-red-600",children:[(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M3 6h18"}),(0,n.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,n.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c0 1 1 2 2 2v2"})]}),"确认删除接口"]}),(0,n.jsxs)(p.DialogDescription,{children:["确定要删除整个接口 ",(0,n.jsxs)("span",{className:"font-medium text-gray-900",children:['"',ef.apiPath,'"']})," 吗?",(0,n.jsx)("br",{}),(0,n.jsx)("span",{className:"text-red-500 text-sm mt-2 block font-medium",children:"⚠️ 这将删除该接口的所有场景和相关文件,此操作不可撤销"})]})]}),(0,n.jsxs)(p.DialogFooter,{className:"flex gap-2 justify-end",children:[(0,n.jsx)(a.Button,{variant:"outline",onClick:()=>ep({open:!1,apiName:"",apiPath:""}),children:"取消"}),(0,n.jsx)(a.Button,{variant:"destructive",onClick:tt,children:"删除整个接口"})]})]})}),em.open&&(0,n.jsx)("div",{className:"fixed top-4 right-4 z-50 animate-in slide-in-from-top-2 duration-300",children:(0,n.jsxs)("div",{className:`flex items-center gap-3 px-4 py-3 rounded-lg shadow-lg border max-w-sm ${"success"===em.type?"bg-green-50 border-green-200 text-green-800":"bg-red-50 border-red-200 text-red-800"}`,children:[(0,n.jsx)("div",{className:"flex-shrink-0",children:"success"===em.type?(0,n.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-green-600",children:(0,n.jsx)("path",{d:"M20 6L9 17l-5-5"})}):(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-red-600",children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,n.jsx)("line",{x1:"15",y1:"9",x2:"9",y2:"15"}),(0,n.jsx)("line",{x1:"9",y1:"9",x2:"15",y2:"15"})]})}),(0,n.jsx)("p",{className:"text-sm font-medium",children:em.message}),(0,n.jsx)("button",{onClick:()=>eh({open:!1,type:"success",message:""}),className:"flex-shrink-0 ml-auto",children:(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"opacity-60 hover:opacity-100",children:[(0,n.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,n.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]})})]})}function x(){return(0,n.jsx)(o.Suspense,{fallback:(0,n.jsx)("div",{className:"min-h-screen bg-gray-50 flex items-center justify-center",children:(0,n.jsxs)("div",{className:"text-center space-y-4",children:[(0,n.jsx)("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600 mx-auto"}),(0,n.jsx)("p",{className:"text-gray-600",children:"正在加载配置页面..."})]})}),children:(0,n.jsx)(y,{})})}}}]);
59
+ });`}},e1=(e,t,r)=>{if(!T)return!1;let n=e.replace(/\//g,"_").replace(/^_/,""),o=T.mockFiles.find(e=>e.apiName===n);if(!o)return!1;let i=o.methods.find(e=>e.method.toLowerCase()===t.toLowerCase());return!!i&&!!i.files.find(e=>e.siteName===r)},e2=async()=>{if(!eo.apiPath.trim())return void e3("error","请输入接口地址");if(e1(eo.apiPath,eo.method,eo.siteName))return void e3("error",`接口 ${eo.apiPath} [${eo.method.toUpperCase()}] 的场景 "${eo.siteName}" 已存在,不能重复创建`);ec(!0);try{let e=eo.apiPath.replace(/\//g,"_").replace(/^_/,""),t=F?.content??e0(eo.method,eo.apiPath),n=await fetch("/api/mock-file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r,apiName:e,method:eo.method.toLowerCase(),siteName:eo.siteName,content:t})}),o=await n.json();if(o.success)eo.mockOpen&&await e6(e,eo.method.toLowerCase(),eo.siteName,!0),ei({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0}),et(!1),await eq(),e3("success","Mock文件创建成功");else throw Error(o.error||"创建失败")}catch(e){console.error("创建Mock文件失败:",e),e3("error",`创建Mock文件失败: ${e instanceof Error?e.message:"未知错误"}`)}finally{ec(!1)}},e8=(e,t,n)=>{console.log("新增场景点击:",{apiName:e,method:t,apiPath:n}),es({apiName:e,method:t,apiPath:n});let o={apiPath:n,method:t.toUpperCase(),siteName:"",mockOpen:!0};console.log("设置表单数据:",o),ei(o),en(!0);let i=e0(o.method,o.apiPath);z({projectName:r||"",apiName:e,method:t.toLowerCase(),siteName:"",content:i||""})},e9=(e,t,r)=>{if(!T)return!1;let n=T.mockFiles.find(t=>t.apiName===e);if(!n)return!1;let o=n.methods.find(e=>e.method.toLowerCase()===t.toLowerCase());return!!o&&!!o.files.find(e=>e.siteName===r)},e4=async()=>{if(!ea||!eo.siteName.trim())return void e3("error","请输入场景名称");if(e9(ea.apiName,ea.method,eo.siteName))return void e3("error",`接口 ${ea.apiPath} [${ea.method.toUpperCase()}] 的场景 "${eo.siteName}" 已存在`);ec(!0);try{let e=F?.content??e0(ea.method,ea.apiPath);console.log("defaultContent",e,F);let t=await fetch("/api/mock-file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r,apiName:ea.apiName,method:ea.method.toLowerCase(),siteName:eo.siteName,content:e})}),n=await t.json();if(n.success){if(eo.mockOpen&&await e6(ea.apiName,ea.method,eo.siteName,!0),ei({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0}),v)try{let e=await fetch("/api/mock-setting",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:v.projectName,apiName:ea.apiName,method:ea.method,currentSite:eo.siteName})}),t=await e.json();t.success||console.warn("切换到新场景失败:",t.error)}catch(e){console.warn("切换到新场景失败:",e)}try{await e6(ea.apiName,ea.method,eo.siteName,!0)}catch(e){console.warn("自动开启新场景失败:",e)}en(!1),es(null),await eq(),e3("success","场景创建成功")}else throw Error(n.error||"创建失败")}catch(e){console.error("创建场景失败:",e),e3("error",`创建场景失败: ${e instanceof Error?e.message:"未知错误"}`)}finally{ec(!1)}},e6=async(e,t,r,n)=>{if(v)try{let o=await fetch("/api/mock-open-status",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:v.projectName,apiName:e,method:t,siteName:r,isOpen:n})}),i=await o.json();i.success?await eq():console.error("更新Mock开启状态失败:",i.error)}catch(e){console.error("更新Mock开启状态失败:",e)}},e3=(e,t)=>{eh({open:!0,type:e,message:t}),setTimeout(()=>{eh({open:!1,type:"success",message:""})},3e3)},e5=(e,t,r)=>{ed({open:!0,apiName:e,method:t,siteName:r})},e7=async()=>{if(!v)return;let{apiName:e,method:t,siteName:r}=eu;try{let n=await fetch(`/api/mock-file?project=${encodeURIComponent(v.projectName)}&apiName=${encodeURIComponent(e)}&method=${encodeURIComponent(t)}&siteName=${encodeURIComponent(r)}`,{method:"DELETE"}),o=await n.json();if(o.success){let e=window.scrollY;await eq(),window.scrollTo(0,e),e3("success","场景删除成功")}else console.error("删除场景失败:",o.error),e3("error",`删除场景失败: ${o.error}`)}catch(e){console.error("删除场景失败:",e),e3("error","删除场景失败: 网络错误")}finally{ed({open:!1,apiName:"",method:"",siteName:""})}},te=(e,t)=>{ep({open:!0,apiName:e,apiPath:t})},tt=async()=>{if(!v)return;let{apiName:e}=ef;try{let t=await fetch(`/api/delete-mock-api?project=${encodeURIComponent(v.projectName)}&apiName=${encodeURIComponent(e)}`,{method:"DELETE"}),r=await t.json();if(r.success){let e=window.scrollY;await eq(),window.scrollTo(0,e),e3("success","接口删除成功")}else console.error("删除接口失败:",r.error),e3("error",`删除接口失败: ${r.error}`)}catch(e){console.error("删除接口失败:",e),e3("error","删除接口失败: 网络错误")}finally{ep({open:!1,apiName:"",apiPath:""})}},tr=e=>{ev(e),A(1)};if(x)return(0,n.jsx)("main",{className:"container mx-auto p-4 sm:p-6 md:p-8",children:(0,n.jsx)("div",{className:"text-center py-8",children:(0,n.jsx)("p",{children:"加载中..."})})});if(w||!v)return(0,n.jsxs)("main",{className:"container mx-auto p-4 sm:p-6 md:p-8",children:[(0,n.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,n.jsx)("h1",{className:"text-2xl font-bold",children:"项目配置"}),(0,n.jsxs)("div",{className:"flex gap-2",children:[r&&(0,n.jsx)(a.Button,{variant:"default",onClick:eO,disabled:k,children:k?"打开中...":"在 Cursor 中打开"}),(0,n.jsx)(a.Button,{variant:"outline",onClick:eT,children:"返回初始化页面"})]})]}),(0,n.jsx)("div",{className:"text-center text-red-500 py-8",children:(0,n.jsx)("p",{children:w||"未找到项目配置"})})]});let tn=Object.keys(v.envs);return(0,n.jsxs)("main",{className:"container mx-auto p-4 sm:p-6 md:p-8",children:[(0,n.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,n.jsxs)("div",{className:"flex items-center gap-4",children:[(0,n.jsxs)("h1",{className:"text-2xl font-bold",children:[v.projectName," - 项目配置"]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(u.Label,{className:"text-sm font-medium text-gray-600",children:"切换项目:"}),(0,n.jsxs)(l.Select,{value:r||"",onValueChange:n=>{if(n===r)return;let o=e.get("tab"),i=`/configuration?project=${encodeURIComponent(n)}${o?`&tab=${o}`:""}`;t.push(i)},disabled:Z,children:[(0,n.jsx)(l.SelectTrigger,{className:"w-40",children:(0,n.jsx)(l.SelectValue,{placeholder:Z?"加载中...":"选择项目"})}),(0,n.jsx)(l.SelectContent,{children:X.map(e=>(0,n.jsx)(l.SelectItem,{value:e.name,children:(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:`w-2 h-2 rounded-full ${"existing"===e.status?"bg-green-500":"failed"===e.status?"bg-red-500":"bg-yellow-500"}`}),(0,n.jsx)("span",{children:e.name})]})},e.name))})]})]})]}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(a.Button,{variant:"default",onClick:eO,disabled:k,children:k?"打开中...":"在 Cursor 中打开"}),(0,n.jsx)(a.Button,{variant:"outline",onClick:eT,children:"返回初始化页面"})]})]}),tn.length>0?(0,n.jsxs)(s.Tabs,{value:I||tn[0],onValueChange:e=>{D(e),"mock"===e&&eq()},className:"w-full",children:[(0,n.jsxs)(s.TabsList,{className:"grid w-full",style:{gridTemplateColumns:`repeat(${tn.length+1}, 1fr)`},children:[tn.map(e=>(0,n.jsx)(s.TabsTrigger,{value:e,className:"capitalize relative",children:(0,n.jsxs)("span",{className:"flex items-center gap-2",children:[e,ey[e]?.running&&(0,n.jsx)("span",{className:"w-2 h-2 bg-green-500 rounded-full animate-pulse",title:"运行中"})]})},e)),(0,n.jsx)(s.TabsTrigger,{value:"mock",className:"capitalize",children:"Mock配置"})]}),tn.map(e=>{let t=v.envs[e],r=Object.entries(t.proxyEnv),o=S[e]?.selectedProxy||"",i=S[e]?.selectedOption||"",d=t.currentProxy,f=t.proxyEnv[d]||d,p=t.proxyEnv[d]?d:"custom";return(0,n.jsxs)(s.TabsContent,{value:e,className:"space-y-6",children:[(0,n.jsxs)("div",{className:"p-6 bg-gray-50 rounded-lg",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,n.jsx)("h3",{className:"text-lg font-semibold",children:"开发服务器控制"}),(0,n.jsx)("div",{className:"flex items-center gap-4",children:ey[e]?.running?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("span",{className:"flex items-center gap-2 text-sm text-green-600",children:[(0,n.jsx)("span",{className:"w-2 h-2 bg-green-500 rounded-full animate-pulse"}),"运行中 (PID: ",ey[e]?.pid,")"]}),(0,n.jsx)(a.Button,{variant:"outline",size:"sm",onClick:()=>ez(e),children:"查看日志"}),(0,n.jsx)(a.Button,{variant:"destructive",size:"sm",onClick:()=>eA(e),disabled:ey[e]?.loading,children:ey[e]?.loading?"处理中...":"停止"})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("span",{className:"flex items-center gap-2 text-sm text-gray-500",children:[(0,n.jsx)("span",{className:"w-2 h-2 bg-gray-400 rounded-full"}),"未运行"]}),(0,n.jsx)(a.Button,{variant:"outline",size:"sm",onClick:()=>ez(e),children:"查看日志"}),(0,n.jsx)(a.Button,{variant:"default",size:"sm",onClick:()=>eM(e),disabled:ey[e]?.loading||!t.startCommand,children:ey[e]?.loading?"处理中...":"启动"})]})})]}),t.startCommand?(0,n.jsxs)("div",{className:"text-sm text-gray-600",children:[(0,n.jsx)("span",{className:"font-medium",children:"启动命令:"})," ",(0,n.jsx)("code",{className:"px-2 py-1 bg-gray-200 rounded",children:t.startCommand})]}):(0,n.jsx)("div",{className:"text-sm text-yellow-600",children:"⚠️ 该环境未配置启动命令"}),t.host&&(0,n.jsxs)("div",{className:"text-sm text-gray-600 mt-2",children:[(0,n.jsx)("span",{className:"font-medium",children:"访问地址:"}),ey[e]?.running?(0,n.jsx)("a",{href:t.host,target:"_blank",rel:"noopener noreferrer",className:"ml-2 text-blue-600 hover:underline",children:t.host}):(0,n.jsx)("span",{className:"ml-2",children:t.host})]})]}),(0,n.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[(0,n.jsxs)("div",{className:"p-6 bg-gray-50 rounded-lg",children:[(0,n.jsxs)("h3",{className:"text-lg font-semibold mb-4",children:[e," 环境配置"]}),(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(u.Label,{className:"block text-sm font-medium mb-2",children:"接口代理环境切换"}),(0,n.jsxs)(l.Select,{value:i,onValueChange:t=>eB(e,t),children:[(0,n.jsx)(l.SelectTrigger,{className:"w-full",children:(0,n.jsx)(l.SelectValue,{placeholder:"选择代理环境"})}),(0,n.jsx)(l.SelectContent,{children:r.map(([e,t])=>(0,n.jsxs)(l.SelectItem,{value:e,children:[e,"(",t,")"]},e))})]})]}),f&&(0,n.jsxs)("div",{className:"p-3 bg-blue-50 rounded-md",children:[(0,n.jsxs)("p",{className:"text-sm text-blue-700",children:["当前项目接口已代理至:",p," 环境"]}),(0,n.jsxs)("p",{className:"text-sm text-blue-600",children:["代理地址为:",f]})]}),"custom"===i&&(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(u.Label,{className:"block text-sm font-medium",children:"自定义代理地址"}),(0,n.jsx)(c.Input,{type:"url",placeholder:"请输入自定义代理地址 (如: http://localhost:52741)",value:o,onChange:t=>e$(e,t.target.value),className:"w-full"}),(0,n.jsx)("p",{className:"text-xs text-gray-500",children:"请输入完整的代理地址,包括协议 (http:// 或 https://)"})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)(a.Button,{onClick:()=>eV(e),disabled:S[e]?.saving,className:"w-full sm:w-auto",children:S[e]?.saving?"保存中...":"保存配置"}),S[e]?.saveMessage&&(0,n.jsx)("span",{className:`text-sm ml-3 ${S[e]?.saveMessage==="保存成功"?"text-green-600":"text-red-600"}`,children:S[e]?.saveMessage})]})]})]}),(0,n.jsx)(h.default,{currentProjectName:v.projectName,currentEnvName:e})]})]},e)}),(0,n.jsx)(s.TabsContent,{value:"mock",className:"space-y-6",children:(0,n.jsxs)("div",{className:"p-6 bg-gray-50 rounded-lg",children:[(0,n.jsx)("h3",{className:"text-lg font-semibold mb-4",children:"Mock配置"}),(0,n.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 mb-6",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)(u.Label,{className:"text-sm font-medium",children:"Mock拦截"}),(0,n.jsx)("p",{className:"text-xs text-gray-500",children:"启用或禁用Mock拦截功能"})]}),(0,n.jsx)(d.Switch,{checked:C.mockingIntercept,onCheckedChange:eU})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)(u.Label,{className:"text-sm font-medium",children:"Mock开启"}),(0,n.jsx)("p",{className:"text-xs text-gray-500",children:"启用或禁用Mock功能"})]}),(0,n.jsx)(d.Switch,{checked:C.mockOpen,onCheckedChange:eW})]})]}),C.saveMessage&&(0,n.jsx)("div",{className:"mb-6",children:(0,n.jsx)("span",{className:`text-sm ${C.saveMessage.includes("已保存")?"text-green-600":"text-red-600"}`,children:C.saveMessage})}),(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("h4",{className:"text-md font-medium",children:"Mock接口列表"}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(a.Button,{onClick:()=>{et(!0);let e=e0(eo.method,eo.apiPath);z({projectName:r||"",apiName:eo.apiPath,method:eo.method.toLowerCase(),siteName:"",content:e||""})},variant:"default",size:"sm",children:"新建"}),(0,n.jsx)(a.Button,{onClick:eq,disabled:O,variant:"outline",size:"sm",children:O?"加载中...":"刷新"}),(0,n.jsx)(a.Button,{onClick:eK,variant:"outline",size:"sm",children:"一键关闭"}),(0,n.jsx)(a.Button,{onClick:eG,variant:"outline",size:"sm",children:"一键开启"})]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsxs)("div",{className:"relative flex-1 max-w-md",children:[(0,n.jsx)(c.Input,{placeholder:"搜索接口地址...",value:eg,onChange:e=>tr(e.target.value),className:"pr-8"}),eg&&(0,n.jsx)(a.Button,{variant:"ghost",size:"sm",onClick:()=>{ev(""),A(1)},className:"absolute right-1 top-1/2 transform -translate-y-1/2 h-6 w-6 p-0 hover:bg-gray-100",children:"×"})]}),eg&&(0,n.jsxs)("span",{className:"text-sm text-gray-500",children:['搜索关键词: "',eg,'"']})]}),O?(0,n.jsx)("div",{className:"text-center py-8",children:(0,n.jsx)("p",{className:"text-gray-500",children:"加载Mock数据中..."})}):T&&T.mockFiles.length>0?(()=>{let e=[];T.mockFiles.forEach(t=>{t.methods.forEach(r=>{let n=t.apiName.replace(/_/g,"/"),o=r.files.map(e=>e.siteName),i=r.setting?.currentSite||o[0]||"",a=r.setting?.open||[],s=a.includes(i);e.push({apiPath:n,method:r.method.toUpperCase(),currentSite:i,availableSites:o,apiName:t.apiName,isOpen:s,openSites:a})})});let t=eg.trim()?e.filter(e=>e.apiPath.toLowerCase().includes(eg.toLowerCase())):e,r=t.length,o=Math.ceil(r/L),i=(M-1)*L,s=i+L,c=t.slice(i,s);return(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)(f.Table,{children:[(0,n.jsx)(f.TableHeader,{children:(0,n.jsxs)(f.TableRow,{children:[(0,n.jsx)(f.TableHead,{children:"接口地址"}),(0,n.jsx)(f.TableHead,{children:"请求方法"}),(0,n.jsx)(f.TableHead,{children:"当前场景"}),(0,n.jsx)(f.TableHead,{children:"开启mock"}),(0,n.jsx)(f.TableHead,{children:"操作"})]})}),(0,n.jsx)(f.TableBody,{children:c.map((e,t)=>(0,n.jsxs)(f.TableRow,{children:[(0,n.jsx)(f.TableCell,{className:"font-medium",children:e.apiPath}),(0,n.jsx)(f.TableCell,{children:(0,n.jsx)("span",{className:`px-2 py-1 rounded text-xs font-medium ${"GET"===e.method?"bg-green-100 text-green-800":"POST"===e.method?"bg-blue-100 text-blue-800":"PUT"===e.method?"bg-yellow-100 text-yellow-800":"DELETE"===e.method?"bg-red-100 text-red-800":"bg-gray-100 text-gray-800"}`,children:e.method})}),(0,n.jsx)(f.TableCell,{children:(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsxs)(l.Select,{value:e.currentSite,onValueChange:t=>eY(e.apiName,e.method.toLowerCase(),t),children:[(0,n.jsx)(l.SelectTrigger,{className:"w-32",children:(0,n.jsx)(l.SelectValue,{})}),(0,n.jsx)(l.SelectContent,{children:e.availableSites.map(e=>(0,n.jsx)(l.SelectItem,{value:e,children:e},e))})]}),e.availableSites.length>1&&(0,n.jsx)(a.Button,{variant:"ghost",size:"sm",onClick:()=>e5(e.apiName,e.method.toLowerCase(),e.currentSite),className:"h-8 w-8 p-0 text-red-500 hover:text-red-700 hover:bg-red-50",title:"删除当前场景",children:(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M3 6h18"}),(0,n.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,n.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c0 1 1 2 2 2v2"})]})})]})}),(0,n.jsx)(f.TableCell,{children:(0,n.jsx)(d.Switch,{checked:e.isOpen,onCheckedChange:t=>e6(e.apiName,e.method.toLowerCase(),e.currentSite,t)})}),(0,n.jsx)(f.TableCell,{children:(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(a.Button,{variant:"outline",size:"sm",onClick:()=>eX(e.apiName,e.method.toLowerCase(),e.currentSite),disabled:$,children:$?"加载中...":"编辑"}),(0,n.jsx)(a.Button,{variant:"outline",size:"sm",onClick:()=>e8(e.apiName,e.method.toLowerCase(),e.apiPath),disabled:el,children:"新增场景"}),(0,n.jsx)(a.Button,{variant:"outline",size:"sm",onClick:()=>te(e.apiName,e.apiPath),className:"text-red-500 hover:text-red-700 hover:border-red-300",children:"删除接口"})]})})]},`${e.apiName}-${e.method}-${t}`))})]}),o>1&&(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"text-sm text-gray-500",children:["显示 ",i+1,"-",Math.min(s,r)," 条,共 ",r," 条"]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(a.Button,{variant:"outline",size:"sm",onClick:()=>A(e=>Math.max(1,e-1)),disabled:1===M,children:"上一页"}),(0,n.jsxs)("span",{className:"text-sm",children:[M," / ",o]}),(0,n.jsx)(a.Button,{variant:"outline",size:"sm",onClick:()=>A(e=>Math.min(o,e+1)),disabled:M===o,children:"下一页"})]})]})]})})():(0,n.jsxs)("div",{className:"text-center py-8",children:[(0,n.jsx)("p",{className:"text-gray-500",children:"暂无Mock接口数据"}),(0,n.jsx)("p",{className:"text-xs text-gray-400 mt-1",children:"请先创建Mock文件"})]})]})]})})]}):(0,n.jsx)("div",{className:"text-center text-gray-500 py-8",children:(0,n.jsx)("p",{children:"该项目没有配置环境信息"})}),(0,n.jsx)(p.Dialog,{open:H||ee||er,onOpenChange:e=>{e||(B(!1),et(!1),en(!1),es(null))},children:(0,n.jsxs)(p.DialogContent,{className:"w-screen h-screen max-w-none max-h-none m-0 rounded-none overflow-hidden flex flex-col",children:[(0,n.jsxs)(p.DialogHeader,{className:"flex-shrink-0 border-b pb-4",children:[(0,n.jsx)(p.DialogTitle,{children:ee?"新建Mock文件":er?"新增场景":"编辑Mock文件"}),(0,n.jsx)(p.DialogDescription,{children:ee?"创建一个新的Mock接口文件":er&&ea?(0,n.jsxs)(n.Fragment,{children:["为接口 ",ea.apiPath," [",ea.method.toUpperCase(),"] 新增场景"]}):F?(0,n.jsxs)(n.Fragment,{children:["编辑 ",F.apiName.replace(/_/g,"/")," - ",F.method.toUpperCase()," - ",F.siteName,".cjs"]}):null})]}),(ee||er)&&(0,n.jsxs)("div",{className:"flex-shrink-0 border-b pb-4",children:[(0,n.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(u.Label,{htmlFor:"apiPath",className:"text-sm font-medium",children:"接口地址"}),er?(0,n.jsx)("div",{className:"px-3 py-2 bg-gray-50 border border-gray-200 rounded-md text-sm text-gray-600",children:eo.apiPath}):(0,n.jsx)(c.Input,{id:"apiPath",placeholder:"/api/user/info",value:eo.apiPath,onChange:e=>eQ("apiPath",e.target.value)})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(u.Label,{htmlFor:"method",className:"text-sm font-medium",children:"请求方法"}),er?(0,n.jsx)("div",{className:"px-3 py-2 bg-gray-50 border border-gray-200 rounded-md text-sm text-gray-600",children:eo.method}):(0,n.jsxs)(l.Select,{value:eo.method,onValueChange:e=>eQ("method",e),children:[(0,n.jsx)(l.SelectTrigger,{children:(0,n.jsx)(l.SelectValue,{})}),(0,n.jsxs)(l.SelectContent,{children:[(0,n.jsx)(l.SelectItem,{value:"GET",children:"GET"}),(0,n.jsx)(l.SelectItem,{value:"POST",children:"POST"}),(0,n.jsx)(l.SelectItem,{value:"PUT",children:"PUT"}),(0,n.jsx)(l.SelectItem,{value:"DELETE",children:"DELETE"}),(0,n.jsx)(l.SelectItem,{value:"PATCH",children:"PATCH"})]})]})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(u.Label,{htmlFor:"siteName",className:"text-sm font-medium",children:"场景名称"}),ee?(0,n.jsx)("div",{className:"px-3 py-2 bg-gray-50 border border-gray-200 rounded-md text-sm text-gray-600",children:"默认场景"}):(0,n.jsx)(c.Input,{id:"siteName",placeholder:"请输入场景名称",value:eo.siteName,onChange:e=>eQ("siteName",e.target.value)})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(u.Label,{htmlFor:"mockOpen",className:"text-sm font-medium",children:"开启Mock"}),(0,n.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,n.jsx)(d.Switch,{id:"mockOpen",checked:eo.mockOpen,onCheckedChange:e=>eQ("mockOpen",e)}),(0,n.jsx)("span",{className:"text-sm text-gray-600",children:eo.mockOpen?"开启":"关闭"})]})]})]}),ee&&eo.apiPath.trim()&&eo.siteName.trim()&&e1(eo.apiPath,eo.method,eo.siteName)&&(0,n.jsx)("div",{className:"mt-4 p-3 bg-red-50 border border-red-200 rounded-md",children:(0,n.jsx)("div",{className:"flex items-center",children:(0,n.jsxs)("span",{className:"text-red-600 text-sm",children:["⚠️ 接口 ",eo.apiPath," [",eo.method.toUpperCase(),'] 的场景 "',eo.siteName,'" 已存在']})})}),er&&ea&&eo.siteName.trim()&&e9(ea.apiName,ea.method,eo.siteName)&&(0,n.jsx)("div",{className:"mt-4 p-3 bg-red-50 border border-red-200 rounded-md",children:(0,n.jsx)("div",{className:"flex items-center",children:(0,n.jsxs)("span",{className:"text-red-600 text-sm",children:['⚠️ 场景 "',eo.siteName,'" 已存在']})})})]}),(0,n.jsx)("div",{className:"flex-1 flex flex-col space-y-4 py-4",children:(0,n.jsxs)("div",{className:"flex-1 flex flex-col",children:[(0,n.jsx)(u.Label,{className:"text-sm font-medium mb-2",children:"文件内容"}),(0,n.jsxs)("div",{className:"flex-1 border rounded-md overflow-hidden relative",children:[K&&(0,n.jsx)("div",{className:"absolute inset-0 bg-gray-50 flex items-center justify-center z-10",children:(0,n.jsx)("p",{className:"text-gray-500",children:"编辑器加载中..."})}),(0,n.jsx)(m.default,{height:"100%",defaultLanguage:"javascript",value:F?.content||"",onChange:e=>{z(t=>t?{...t,content:e||""}:null)},onMount:async e=>{console.log("编辑器挂载,模式:",{isCreateMode:ee,isAddSceneMode:er,createFormData:eo}),Y(e),G(!1),setTimeout(()=>eR(e),500)},loading:(0,n.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,n.jsx)("p",{className:"text-gray-500",children:"编辑器加载中..."})}),options:{minimap:{enabled:!1},fontSize:14,lineNumbers:"on",roundedSelection:!1,scrollBeyondLastLine:!1,automaticLayout:!0,tabSize:2,insertSpaces:!0,wordWrap:"on",theme:"vs-dark",bracketPairColorization:{enabled:!0},quickSuggestions:{other:!0,comments:!0,strings:!0},formatOnPaste:!0,formatOnType:!0,readOnly:!1}},ee?"create":er?"addscene":"edit")]})]})}),(0,n.jsxs)(p.DialogFooter,{className:"flex justify-between flex-shrink-0 border-t pt-4",children:[(0,n.jsx)(a.Button,{variant:"secondary",onClick:eE,disabled:!q||K,children:"格式化代码"}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(a.Button,{variant:"outline",onClick:()=>{ee?(et(!1),ei({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0})):er?(en(!1),es(null),ei({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0})):eZ()},children:"取消"}),ee?(0,n.jsx)(a.Button,{onClick:e2,disabled:el||!eo.apiPath.trim()||!eo.siteName.trim()||e1(eo.apiPath,eo.method,eo.siteName),children:el?"创建中...":"创建"}):er?(0,n.jsx)(a.Button,{onClick:e4,disabled:el||!eo.siteName.trim()||!!ea&&e9(ea.apiName,ea.method,eo.siteName),children:el?"创建中...":"创建"}):(0,n.jsx)(a.Button,{onClick:eJ,disabled:W,children:W?"保存中...":"保存"})]})]})]})}),(0,n.jsx)(p.Dialog,{open:eb,onOpenChange:e=>{e||eH()},children:(0,n.jsxs)(p.DialogContent,{className:"max-w-5xl h-[85vh] max-h-[85vh] flex flex-col p-0",children:[(0,n.jsxs)(p.DialogHeader,{className:"px-6 pt-6 pb-4",children:[(0,n.jsxs)(p.DialogTitle,{className:"flex items-center justify-between",children:[(0,n.jsxs)("span",{children:["进程日志 - ",r," - ",ej]}),(0,n.jsx)("span",{className:"flex items-center gap-2 text-sm font-normal",children:eL&&(0,n.jsxs)("span",{className:"flex items-center gap-1 text-green-600",children:[(0,n.jsx)("span",{className:"w-2 h-2 bg-green-500 rounded-full animate-pulse"}),"实时连接"]})})]}),(0,n.jsx)(p.DialogDescription,{children:"实时显示进程输出日志"})]}),(0,n.jsx)("div",{className:"flex-1 min-h-0 bg-gray-900 mx-6 rounded-md overflow-hidden",children:(0,n.jsx)(g.default,{logs:eN})}),(0,n.jsxs)(p.DialogFooter,{className:"flex items-center justify-between px-6 pb-6 pt-4",children:[(0,n.jsxs)("div",{className:"text-sm text-gray-500",children:["共 ",eN.length," 条日志"]}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(a.Button,{variant:"outline",onClick:()=>{ej&&(eF(),eD(ej))},disabled:!!eL,children:"重新连接"}),(0,n.jsx)(a.Button,{variant:"default",onClick:eH,children:"关闭"})]})]})]})}),(0,n.jsx)(p.Dialog,{open:eu.open,onOpenChange:e=>{e||ed({open:!1,apiName:"",method:"",siteName:""})},children:(0,n.jsxs)(p.DialogContent,{className:"max-w-md",children:[(0,n.jsxs)(p.DialogHeader,{children:[(0,n.jsxs)(p.DialogTitle,{className:"flex items-center gap-2 text-red-600",children:[(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M3 6h18"}),(0,n.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,n.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c0 1 1 2 2 2v2"})]}),"确认删除场景"]}),(0,n.jsxs)(p.DialogDescription,{children:["确定要删除场景 ",(0,n.jsxs)("span",{className:"font-medium text-gray-900",children:['"',eu.siteName,'"']})," 吗?",(0,n.jsx)("br",{}),(0,n.jsx)("span",{className:"text-red-500 text-sm mt-2 block",children:"此操作不可撤销"})]})]}),(0,n.jsxs)(p.DialogFooter,{className:"flex gap-2 justify-end",children:[(0,n.jsx)(a.Button,{variant:"outline",onClick:()=>ed({open:!1,apiName:"",method:"",siteName:""}),children:"取消"}),(0,n.jsx)(a.Button,{variant:"destructive",onClick:e7,children:"删除"})]})]})}),(0,n.jsx)(p.Dialog,{open:ef.open,onOpenChange:e=>{e||ep({open:!1,apiName:"",apiPath:""})},children:(0,n.jsxs)(p.DialogContent,{className:"max-w-md",children:[(0,n.jsxs)(p.DialogHeader,{children:[(0,n.jsxs)(p.DialogTitle,{className:"flex items-center gap-2 text-red-600",children:[(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M3 6h18"}),(0,n.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,n.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c0 1 1 2 2 2v2"})]}),"确认删除接口"]}),(0,n.jsxs)(p.DialogDescription,{children:["确定要删除整个接口 ",(0,n.jsxs)("span",{className:"font-medium text-gray-900",children:['"',ef.apiPath,'"']})," 吗?",(0,n.jsx)("br",{}),(0,n.jsx)("span",{className:"text-red-500 text-sm mt-2 block font-medium",children:"⚠️ 这将删除该接口的所有场景和相关文件,此操作不可撤销"})]})]}),(0,n.jsxs)(p.DialogFooter,{className:"flex gap-2 justify-end",children:[(0,n.jsx)(a.Button,{variant:"outline",onClick:()=>ep({open:!1,apiName:"",apiPath:""}),children:"取消"}),(0,n.jsx)(a.Button,{variant:"destructive",onClick:tt,children:"删除整个接口"})]})]})}),em.open&&(0,n.jsx)("div",{className:"fixed top-4 right-4 z-50 animate-in slide-in-from-top-2 duration-300",children:(0,n.jsxs)("div",{className:`flex items-center gap-3 px-4 py-3 rounded-lg shadow-lg border max-w-sm ${"success"===em.type?"bg-green-50 border-green-200 text-green-800":"bg-red-50 border-red-200 text-red-800"}`,children:[(0,n.jsx)("div",{className:"flex-shrink-0",children:"success"===em.type?(0,n.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-green-600",children:(0,n.jsx)("path",{d:"M20 6L9 17l-5-5"})}):(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-red-600",children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,n.jsx)("line",{x1:"15",y1:"9",x2:"9",y2:"15"}),(0,n.jsx)("line",{x1:"9",y1:"9",x2:"15",y2:"15"})]})}),(0,n.jsx)("p",{className:"text-sm font-medium",children:em.message}),(0,n.jsx)("button",{onClick:()=>eh({open:!1,type:"success",message:""}),className:"flex-shrink-0 ml-auto",children:(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"opacity-60 hover:opacity-100",children:[(0,n.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,n.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]})})]})}function x(){return(0,n.jsx)(o.Suspense,{fallback:(0,n.jsx)("div",{className:"min-h-screen bg-gray-50 flex items-center justify-center",children:(0,n.jsxs)("div",{className:"text-center space-y-4",children:[(0,n.jsx)("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600 mx-auto"}),(0,n.jsx)("p",{className:"text-gray-600",children:"正在加载配置页面..."})]})}),children:(0,n.jsx)(y,{})})}}}]);
60
60
 
61
- //# sourceMappingURL=6c6c1dcf9e7e2204.js.map
61
+ //# sourceMappingURL=4791e420776e4b33.js.map
@@ -1 +1 @@
1
- [{"name":"generate-buildid","duration":172,"timestamp":1319581298602,"id":4,"parentId":1,"tags":{},"startTime":1758614603665,"traceId":"a0f5eae9d95021fb"},{"name":"load-custom-routes","duration":2451,"timestamp":1319581298839,"id":5,"parentId":1,"tags":{},"startTime":1758614603666,"traceId":"a0f5eae9d95021fb"},{"name":"create-dist-dir","duration":148,"timestamp":1319581412751,"id":6,"parentId":1,"tags":{},"startTime":1758614603779,"traceId":"a0f5eae9d95021fb"},{"name":"create-pages-mapping","duration":118,"timestamp":1319581526299,"id":7,"parentId":1,"tags":{},"startTime":1758614603893,"traceId":"a0f5eae9d95021fb"},{"name":"collect-app-paths","duration":5532,"timestamp":1319581526441,"id":8,"parentId":1,"tags":{},"startTime":1758614603893,"traceId":"a0f5eae9d95021fb"},{"name":"create-app-mapping","duration":2112,"timestamp":1319581531999,"id":9,"parentId":1,"tags":{},"startTime":1758614603899,"traceId":"a0f5eae9d95021fb"},{"name":"public-dir-conflict-check","duration":304,"timestamp":1319581534470,"id":10,"parentId":1,"tags":{},"startTime":1758614603901,"traceId":"a0f5eae9d95021fb"},{"name":"generate-routes-manifest","duration":1663,"timestamp":1319581534872,"id":11,"parentId":1,"tags":{},"startTime":1758614603902,"traceId":"a0f5eae9d95021fb"},{"name":"verify-and-lint","duration":1820359,"timestamp":1319585609837,"id":15,"parentId":1,"tags":{},"startTime":1758614607977,"traceId":"a0f5eae9d95021fb"},{"name":"verify-typescript-setup","duration":2531549,"timestamp":1319585605477,"id":14,"parentId":1,"tags":{},"startTime":1758614607972,"traceId":"a0f5eae9d95021fb"},{"name":"check-static-error-page","duration":1748,"timestamp":1319588147291,"id":18,"parentId":17,"tags":{},"startTime":1758614610514,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":2277,"timestamp":1319588159586,"id":19,"parentId":17,"tags":{"page":"/_app"},"startTime":1758614610526,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":1705,"timestamp":1319588160171,"id":21,"parentId":17,"tags":{"page":"/_document"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":1802,"timestamp":1319588160106,"id":20,"parentId":17,"tags":{"page":"/_error"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":243930,"timestamp":1319588163539,"id":51,"parentId":25,"tags":{},"startTime":1758614610530,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":247163,"timestamp":1319588160357,"id":25,"parentId":17,"tags":{"page":"/api/check-workspace"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":247892,"timestamp":1319588163494,"id":50,"parentId":24,"tags":{},"startTime":1758614610530,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":251065,"timestamp":1319588160340,"id":24,"parentId":17,"tags":{"page":"/api/check-mock-intercept"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":251787,"timestamp":1319588163999,"id":57,"parentId":32,"tags":{},"startTime":1758614610531,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":255377,"timestamp":1319588160430,"id":32,"parentId":17,"tags":{"page":"/api/microapp-proxy-config"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":254778,"timestamp":1319588164107,"id":58,"parentId":33,"tags":{},"startTime":1758614610531,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":258427,"timestamp":1319588160506,"id":33,"parentId":17,"tags":{"page":"/api/mock-file-content"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":262251,"timestamp":1319588164144,"id":59,"parentId":34,"tags":{},"startTime":1758614610531,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":265906,"timestamp":1319588160521,"id":34,"parentId":17,"tags":{"page":"/api/mock-file"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":266079,"timestamp":1319588164158,"id":60,"parentId":35,"tags":{},"startTime":1758614610531,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":269768,"timestamp":1319588160528,"id":35,"parentId":17,"tags":{"page":"/api/mock-open-status"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":268165,"timestamp":1319588163351,"id":49,"parentId":23,"tags":{},"startTime":1758614610530,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":271235,"timestamp":1319588160319,"id":23,"parentId":17,"tags":{"page":"/api/all-projects-envs"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":268309,"timestamp":1319588164184,"id":61,"parentId":30,"tags":{},"startTime":1758614610531,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":272096,"timestamp":1319588160415,"id":30,"parentId":17,"tags":{"page":"/api/initialize-workspace"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":271417,"timestamp":1319588163767,"id":52,"parentId":27,"tags":{},"startTime":1758614610531,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":274832,"timestamp":1319588160381,"id":27,"parentId":17,"tags":{"page":"/api/cleanup-project"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":271788,"timestamp":1319588164207,"id":63,"parentId":37,"tags":{},"startTime":1758614610531,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":275393,"timestamp":1319588160616,"id":37,"parentId":17,"tags":{"page":"/api/open-all-mock"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":273970,"timestamp":1319588164233,"id":65,"parentId":39,"tags":{},"startTime":1758614610531,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":277593,"timestamp":1319588160631,"id":39,"parentId":17,"tags":{"page":"/api/process/logs"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":278807,"timestamp":1319588164197,"id":62,"parentId":36,"tags":{},"startTime":1758614610531,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":282429,"timestamp":1319588160598,"id":36,"parentId":17,"tags":{"page":"/api/mock-setting"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":278881,"timestamp":1319588164243,"id":66,"parentId":40,"tags":{},"startTime":1758614610531,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":282495,"timestamp":1319588160636,"id":40,"parentId":17,"tags":{"page":"/api/process/logs/stream"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":281088,"timestamp":1319588164268,"id":68,"parentId":43,"tags":{},"startTime":1758614610531,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":284723,"timestamp":1319588160655,"id":43,"parentId":17,"tags":{"page":"/api/project-config"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":283304,"timestamp":1319588164398,"id":69,"parentId":41,"tags":{},"startTime":1758614610531,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":287074,"timestamp":1319588160644,"id":41,"parentId":17,"tags":{"page":"/api/process/start"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":284897,"timestamp":1319588164421,"id":70,"parentId":44,"tags":{},"startTime":1758614610531,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":288685,"timestamp":1319588160663,"id":44,"parentId":17,"tags":{"page":"/api/retry-project"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":287636,"timestamp":1319588163812,"id":53,"parentId":26,"tags":{},"startTime":1758614610531,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":291126,"timestamp":1319588160372,"id":26,"parentId":17,"tags":{"page":"/api/cleanup-mock"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":293402,"timestamp":1319588164431,"id":71,"parentId":48,"tags":{},"startTime":1758614610531,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":297156,"timestamp":1319588160702,"id":48,"parentId":17,"tags":{"page":"/favicon.ico"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":296341,"timestamp":1319588163927,"id":54,"parentId":28,"tags":{},"startTime":1758614610531,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":299893,"timestamp":1319588160393,"id":28,"parentId":17,"tags":{"page":"/api/delete-mock-api"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":296354,"timestamp":1319588163975,"id":56,"parentId":31,"tags":{},"startTime":1758614610531,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":299912,"timestamp":1319588160423,"id":31,"parentId":17,"tags":{"page":"/api/microapp-proxy-change-stream"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":306300,"timestamp":1319588164224,"id":64,"parentId":38,"tags":{},"startTime":1758614610531,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":309960,"timestamp":1319588160623,"id":38,"parentId":17,"tags":{"page":"/api/open-project"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":308660,"timestamp":1319588166326,"id":74,"parentId":46,"tags":{},"startTime":1758614610533,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":314339,"timestamp":1319588160683,"id":46,"parentId":17,"tags":{"page":"/initialization"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":311677,"timestamp":1319588164256,"id":67,"parentId":42,"tags":{},"startTime":1758614610531,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":315330,"timestamp":1319588160650,"id":42,"parentId":17,"tags":{"page":"/api/process/status"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":309955,"timestamp":1319588166314,"id":73,"parentId":47,"tags":{},"startTime":1758614610533,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":315653,"timestamp":1319588160694,"id":47,"parentId":17,"tags":{"page":"/"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":313679,"timestamp":1319588164790,"id":72,"parentId":22,"tags":{},"startTime":1758614610532,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":318304,"timestamp":1319588160185,"id":22,"parentId":17,"tags":{"page":"/_not-found"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":327411,"timestamp":1319588166329,"id":75,"parentId":45,"tags":{},"startTime":1758614610533,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":333097,"timestamp":1319588160668,"id":45,"parentId":17,"tags":{"page":"/configuration"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"is-page-static","duration":331683,"timestamp":1319588163952,"id":55,"parentId":29,"tags":{},"startTime":1758614610531,"traceId":"a0f5eae9d95021fb"},{"name":"check-page","duration":335237,"timestamp":1319588160407,"id":29,"parentId":17,"tags":{"page":"/api/get-mock-data"},"startTime":1758614610527,"traceId":"a0f5eae9d95021fb"},{"name":"static-check","duration":348760,"timestamp":1319588146928,"id":17,"parentId":1,"tags":{},"startTime":1758614610514,"traceId":"a0f5eae9d95021fb"},{"name":"generate-required-server-files","duration":300,"timestamp":1319588495896,"id":77,"parentId":1,"tags":{},"startTime":1758614610863,"traceId":"a0f5eae9d95021fb"},{"name":"write-routes-manifest","duration":2091,"timestamp":1319588501484,"id":79,"parentId":1,"tags":{},"startTime":1758614610869,"traceId":"a0f5eae9d95021fb"},{"name":"load-dotenv","duration":20,"timestamp":1319588518461,"id":82,"parentId":81,"tags":{},"startTime":1758614610885,"traceId":"a0f5eae9d95021fb"},{"name":"run-export-path-map","duration":282,"timestamp":1319588636892,"id":83,"parentId":81,"tags":{},"startTime":1758614611004,"traceId":"a0f5eae9d95021fb"},{"name":"next-export","duration":568310,"timestamp":1319588517875,"id":81,"parentId":1,"tags":{},"startTime":1758614610885,"traceId":"a0f5eae9d95021fb"},{"name":"move-exported-app-not-found-","duration":4970,"timestamp":1319589087155,"id":84,"parentId":80,"tags":{},"startTime":1758614611454,"traceId":"a0f5eae9d95021fb"},{"name":"move-exported-page","duration":7549,"timestamp":1319589092232,"id":85,"parentId":80,"tags":{},"startTime":1758614611459,"traceId":"a0f5eae9d95021fb"},{"name":"static-generation","duration":625199,"timestamp":1319588513890,"id":80,"parentId":1,"tags":{},"startTime":1758614610881,"traceId":"a0f5eae9d95021fb"},{"name":"write-routes-manifest","duration":10560,"timestamp":1319589139112,"id":86,"parentId":1,"tags":{},"startTime":1758614611506,"traceId":"a0f5eae9d95021fb"},{"name":"node-file-trace-build","duration":5284219,"timestamp":1319588497394,"id":78,"parentId":1,"tags":{"isTurbotrace":"false"},"startTime":1758614610864,"traceId":"a0f5eae9d95021fb"},{"name":"apply-include-excludes","duration":2025,"timestamp":1319593782336,"id":87,"parentId":1,"tags":{},"startTime":1758614616150,"traceId":"a0f5eae9d95021fb"},{"name":"print-tree-view","duration":6845,"timestamp":1319593786702,"id":88,"parentId":1,"tags":{},"startTime":1758614616154,"traceId":"a0f5eae9d95021fb"},{"name":"telemetry-flush","duration":48,"timestamp":1319593793563,"id":89,"parentId":1,"tags":{},"startTime":1758614616160,"traceId":"a0f5eae9d95021fb"},{"name":"next-build","duration":13735652,"timestamp":1319580057963,"id":1,"tags":{"buildMode":"default","isTurboBuild":"true","version":"15.3.4","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1758614602425,"traceId":"a0f5eae9d95021fb"}]
1
+ [{"name":"generate-buildid","duration":143,"timestamp":1387903409018,"id":4,"parentId":1,"tags":{},"startTime":1758682925950,"traceId":"493e3b5c7c20573b"},{"name":"load-custom-routes","duration":1065,"timestamp":1387903409216,"id":5,"parentId":1,"tags":{},"startTime":1758682925951,"traceId":"493e3b5c7c20573b"},{"name":"create-dist-dir","duration":433,"timestamp":1387903448631,"id":6,"parentId":1,"tags":{},"startTime":1758682925990,"traceId":"493e3b5c7c20573b"},{"name":"create-pages-mapping","duration":111,"timestamp":1387903541468,"id":7,"parentId":1,"tags":{},"startTime":1758682926083,"traceId":"493e3b5c7c20573b"},{"name":"collect-app-paths","duration":5112,"timestamp":1387903541602,"id":8,"parentId":1,"tags":{},"startTime":1758682926083,"traceId":"493e3b5c7c20573b"},{"name":"create-app-mapping","duration":3198,"timestamp":1387903546766,"id":9,"parentId":1,"tags":{},"startTime":1758682926088,"traceId":"493e3b5c7c20573b"},{"name":"public-dir-conflict-check","duration":480,"timestamp":1387903550266,"id":10,"parentId":1,"tags":{},"startTime":1758682926092,"traceId":"493e3b5c7c20573b"},{"name":"generate-routes-manifest","duration":2018,"timestamp":1387903550896,"id":11,"parentId":1,"tags":{},"startTime":1758682926092,"traceId":"493e3b5c7c20573b"},{"name":"verify-and-lint","duration":3044227,"timestamp":1387908933686,"id":15,"parentId":1,"tags":{},"startTime":1758682931475,"traceId":"493e3b5c7c20573b"},{"name":"verify-typescript-setup","duration":3427669,"timestamp":1387908930677,"id":14,"parentId":1,"tags":{},"startTime":1758682931472,"traceId":"493e3b5c7c20573b"},{"name":"check-static-error-page","duration":1713,"timestamp":1387912368712,"id":18,"parentId":17,"tags":{},"startTime":1758682934910,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":2749,"timestamp":1387912383192,"id":19,"parentId":17,"tags":{"page":"/_app"},"startTime":1758682934924,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":2127,"timestamp":1387912383826,"id":21,"parentId":17,"tags":{"page":"/_document"},"startTime":1758682934925,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":2321,"timestamp":1387912383667,"id":20,"parentId":17,"tags":{"page":"/_error"},"startTime":1758682934925,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1211407,"timestamp":1387912387407,"id":50,"parentId":24,"tags":{},"startTime":1758682934929,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1215151,"timestamp":1387912383924,"id":24,"parentId":17,"tags":{"page":"/api/check-mock-intercept"},"startTime":1758682934925,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1217553,"timestamp":1387912387724,"id":56,"parentId":30,"tags":{},"startTime":1758682934929,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1221233,"timestamp":1387912384075,"id":30,"parentId":17,"tags":{"page":"/api/initialize-workspace"},"startTime":1758682934925,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1226577,"timestamp":1387912387746,"id":57,"parentId":31,"tags":{},"startTime":1758682934929,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1230281,"timestamp":1387912384084,"id":31,"parentId":17,"tags":{"page":"/api/microapp-proxy-change-stream"},"startTime":1758682934925,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1230973,"timestamp":1387912387858,"id":58,"parentId":32,"tags":{},"startTime":1758682934929,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1234792,"timestamp":1387912384098,"id":32,"parentId":17,"tags":{"page":"/api/microapp-proxy-config"},"startTime":1758682934925,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1233293,"timestamp":1387912387887,"id":59,"parentId":33,"tags":{},"startTime":1758682934929,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1237104,"timestamp":1387912384109,"id":33,"parentId":17,"tags":{"page":"/api/mock-file-content"},"startTime":1758682934925,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1236781,"timestamp":1387912387919,"id":60,"parentId":34,"tags":{},"startTime":1758682934929,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1240618,"timestamp":1387912384122,"id":34,"parentId":17,"tags":{"page":"/api/mock-file"},"startTime":1758682934925,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1238812,"timestamp":1387912387937,"id":61,"parentId":36,"tags":{},"startTime":1758682934929,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1242556,"timestamp":1387912384224,"id":36,"parentId":17,"tags":{"page":"/api/mock-setting"},"startTime":1758682934925,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1243080,"timestamp":1387912387951,"id":62,"parentId":35,"tags":{},"startTime":1758682934929,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1246931,"timestamp":1387912384131,"id":35,"parentId":17,"tags":{"page":"/api/mock-open-status"},"startTime":1758682934925,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1248202,"timestamp":1387912387963,"id":63,"parentId":37,"tags":{},"startTime":1758682934929,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1252721,"timestamp":1387912384243,"id":37,"parentId":17,"tags":{"page":"/api/open-all-mock"},"startTime":1758682934925,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1253997,"timestamp":1387912387975,"id":64,"parentId":39,"tags":{},"startTime":1758682934929,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1257748,"timestamp":1387912384262,"id":39,"parentId":17,"tags":{"page":"/api/process/logs"},"startTime":1758682934926,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1257047,"timestamp":1387912387995,"id":65,"parentId":41,"tags":{},"startTime":1758682934929,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1260793,"timestamp":1387912384279,"id":41,"parentId":17,"tags":{"page":"/api/process/start"},"startTime":1758682934926,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1262830,"timestamp":1387912388012,"id":66,"parentId":40,"tags":{},"startTime":1758682934929,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1266639,"timestamp":1387912384271,"id":40,"parentId":17,"tags":{"page":"/api/process/logs/stream"},"startTime":1758682934926,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1268698,"timestamp":1387912388023,"id":67,"parentId":38,"tags":{},"startTime":1758682934929,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1272553,"timestamp":1387912384254,"id":38,"parentId":17,"tags":{"page":"/api/open-project"},"startTime":1758682934926,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1275050,"timestamp":1387912387453,"id":51,"parentId":25,"tags":{},"startTime":1758682934929,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1278598,"timestamp":1387912383943,"id":25,"parentId":17,"tags":{"page":"/api/check-workspace"},"startTime":1758682934925,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1275802,"timestamp":1387912388037,"id":68,"parentId":43,"tags":{},"startTime":1758682934929,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1279590,"timestamp":1387912384295,"id":43,"parentId":17,"tags":{"page":"/api/project-config"},"startTime":1758682934926,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1284678,"timestamp":1387912387501,"id":52,"parentId":26,"tags":{},"startTime":1758682934929,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1288245,"timestamp":1387912383958,"id":26,"parentId":17,"tags":{"page":"/api/cleanup-mock"},"startTime":1758682934925,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1286511,"timestamp":1387912388174,"id":70,"parentId":44,"tags":{},"startTime":1758682934929,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1291665,"timestamp":1387912384304,"id":44,"parentId":17,"tags":{"page":"/api/retry-project"},"startTime":1758682934926,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1293279,"timestamp":1387912388150,"id":69,"parentId":42,"tags":{},"startTime":1758682934929,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1297207,"timestamp":1387912384287,"id":42,"parentId":17,"tags":{"page":"/api/process/status"},"startTime":1758682934926,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1304714,"timestamp":1387912387543,"id":53,"parentId":27,"tags":{},"startTime":1758682934929,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1308313,"timestamp":1387912383969,"id":27,"parentId":17,"tags":{"page":"/api/cleanup-project"},"startTime":1758682934925,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1322306,"timestamp":1387912388275,"id":71,"parentId":48,"tags":{},"startTime":1758682934930,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1326257,"timestamp":1387912384355,"id":48,"parentId":17,"tags":{"page":"/favicon.ico"},"startTime":1758682934926,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1339638,"timestamp":1387912390958,"id":74,"parentId":45,"tags":{},"startTime":1758682934932,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1346314,"timestamp":1387912384311,"id":45,"parentId":17,"tags":{"page":"/configuration"},"startTime":1758682934926,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1345086,"timestamp":1387912387688,"id":55,"parentId":29,"tags":{},"startTime":1758682934929,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1348725,"timestamp":1387912384066,"id":29,"parentId":17,"tags":{"page":"/api/get-mock-data"},"startTime":1758682934925,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1342322,"timestamp":1387912390950,"id":73,"parentId":47,"tags":{},"startTime":1758682934932,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1348938,"timestamp":1387912384342,"id":47,"parentId":17,"tags":{"page":"/"},"startTime":1758682934926,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1349464,"timestamp":1387912387659,"id":54,"parentId":28,"tags":{},"startTime":1758682934929,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1353095,"timestamp":1387912384048,"id":28,"parentId":17,"tags":{"page":"/api/delete-mock-api"},"startTime":1758682934925,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1352047,"timestamp":1387912390968,"id":75,"parentId":46,"tags":{},"startTime":1758682934932,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1358714,"timestamp":1387912384328,"id":46,"parentId":17,"tags":{"page":"/initialization"},"startTime":1758682934926,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1355962,"timestamp":1387912388566,"id":72,"parentId":22,"tags":{},"startTime":1758682934930,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1360799,"timestamp":1387912383841,"id":22,"parentId":17,"tags":{"page":"/_not-found"},"startTime":1758682934925,"traceId":"493e3b5c7c20573b"},{"name":"is-page-static","duration":1393884,"timestamp":1387912387269,"id":49,"parentId":23,"tags":{},"startTime":1758682934929,"traceId":"493e3b5c7c20573b"},{"name":"check-page","duration":1397275,"timestamp":1387912383905,"id":23,"parentId":17,"tags":{"page":"/api/all-projects-envs"},"startTime":1758682934925,"traceId":"493e3b5c7c20573b"},{"name":"static-check","duration":1412938,"timestamp":1387912368330,"id":17,"parentId":1,"tags":{},"startTime":1758682934910,"traceId":"493e3b5c7c20573b"},{"name":"generate-required-server-files","duration":931,"timestamp":1387913781671,"id":77,"parentId":1,"tags":{},"startTime":1758682936323,"traceId":"493e3b5c7c20573b"},{"name":"write-routes-manifest","duration":1058,"timestamp":1387913792589,"id":79,"parentId":1,"tags":{},"startTime":1758682936334,"traceId":"493e3b5c7c20573b"},{"name":"load-dotenv","duration":16,"timestamp":1387913812734,"id":82,"parentId":81,"tags":{},"startTime":1758682936354,"traceId":"493e3b5c7c20573b"},{"name":"run-export-path-map","duration":267,"timestamp":1387914084831,"id":83,"parentId":81,"tags":{},"startTime":1758682936626,"traceId":"493e3b5c7c20573b"},{"name":"next-export","duration":1250725,"timestamp":1387913812221,"id":81,"parentId":1,"tags":{},"startTime":1758682936353,"traceId":"493e3b5c7c20573b"},{"name":"move-exported-app-not-found-","duration":4787,"timestamp":1387915064072,"id":84,"parentId":80,"tags":{},"startTime":1758682937605,"traceId":"493e3b5c7c20573b"},{"name":"move-exported-page","duration":20794,"timestamp":1387915069013,"id":85,"parentId":80,"tags":{},"startTime":1758682937610,"traceId":"493e3b5c7c20573b"},{"name":"static-generation","duration":1338561,"timestamp":1387913806075,"id":80,"parentId":1,"tags":{},"startTime":1758682936347,"traceId":"493e3b5c7c20573b"},{"name":"write-routes-manifest","duration":14322,"timestamp":1387915144654,"id":86,"parentId":1,"tags":{},"startTime":1758682937686,"traceId":"493e3b5c7c20573b"},{"name":"node-file-trace-build","duration":7750524,"timestamp":1387913786999,"id":78,"parentId":1,"tags":{"isTurbotrace":"false"},"startTime":1758682936328,"traceId":"493e3b5c7c20573b"},{"name":"apply-include-excludes","duration":303,"timestamp":1387921537554,"id":87,"parentId":1,"tags":{},"startTime":1758682944079,"traceId":"493e3b5c7c20573b"},{"name":"print-tree-view","duration":5604,"timestamp":1387921538309,"id":88,"parentId":1,"tags":{},"startTime":1758682944079,"traceId":"493e3b5c7c20573b"},{"name":"telemetry-flush","duration":196,"timestamp":1387921543992,"id":89,"parentId":1,"tags":{},"startTime":1758682944085,"traceId":"493e3b5c7c20573b"},{"name":"next-build","duration":18359141,"timestamp":1387903185068,"id":1,"tags":{"buildMode":"default","isTurboBuild":"true","version":"15.3.4","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1758682925726,"traceId":"493e3b5c7c20573b"}]
@@ -0,0 +1,103 @@
1
+ import { promises as fs } from 'fs';
2
+ import { join } from 'path';
3
+ import os from 'os';
4
+
5
+ /**
6
+ * 将项目.mock文件夹中所有.js文件重命名为.cjs
7
+ * @param {string} projectPath 项目路径
8
+ */
9
+ export async function renameJsToCjs(projectPath) {
10
+ const mockPath = join(projectPath, '.mock');
11
+
12
+ try {
13
+ // 检查.mock目录是否存在
14
+ await fs.access(mockPath);
15
+ } catch {
16
+ // .mock目录不存在,直接返回
17
+ return;
18
+ }
19
+
20
+ // 递归遍历.mock目录下的所有文件
21
+ async function traverseDirectory(dirPath) {
22
+ const items = await fs.readdir(dirPath, { withFileTypes: true });
23
+
24
+ for (const item of items) {
25
+ const fullPath = join(dirPath, item.name);
26
+
27
+ if (item.isDirectory()) {
28
+ // 如果是目录,递归遍历
29
+ await traverseDirectory(fullPath);
30
+ } else if (item.isFile() && item.name.endsWith('.js')) {
31
+ // 如果是.js文件,重命名为.cjs
32
+ const newPath = fullPath.replace(/\.js$/, '.cjs');
33
+ try {
34
+ await fs.rename(fullPath, newPath);
35
+ console.log(`重命名文件: ${fullPath} -> ${newPath}`);
36
+ } catch (error) {
37
+ console.error(`重命名文件失败: ${fullPath}`, error);
38
+ }
39
+ }
40
+ }
41
+ }
42
+
43
+ await traverseDirectory(mockPath);
44
+ }
45
+
46
+ /**
47
+ * 从配置文件中获取工作区路径和项目列表
48
+ * @returns {Promise<{workspaceRoot: string, projects: string[]}>}
49
+ */
50
+ async function getWorkspaceConfig() {
51
+ const configPath = join(os.homedir(), '.prime-projects.json');
52
+
53
+ try {
54
+ const configData = await fs.readFile(configPath, 'utf8');
55
+ const config = JSON.parse(configData);
56
+
57
+ // 工作区路径固定为 ~/Documents/prime-workspace
58
+ const workspaceRoot = join(os.homedir(), 'Documents', 'prime-workspace');
59
+
60
+ // 项目列表从配置文件的键名中获取
61
+ const projects = Object.keys(config);
62
+
63
+ return { workspaceRoot, projects };
64
+ } catch (error) {
65
+ console.error('读取配置文件失败:', error);
66
+ throw new Error('无法读取prime配置文件,请先运行 prime init');
67
+ }
68
+ }
69
+
70
+ /**
71
+ * 批量处理所有项目的.mock文件重命名
72
+ */
73
+ export async function renameAllProjectsMockFiles() {
74
+ try {
75
+ console.log('正在读取项目配置...');
76
+ const { workspaceRoot, projects } = await getWorkspaceConfig();
77
+
78
+ if (!workspaceRoot) {
79
+ throw new Error('配置文件中未找到工作区路径');
80
+ }
81
+
82
+ console.log(`工作区路径: ${workspaceRoot}`);
83
+ console.log(`开始处理 ${projects.length} 个项目的.mock文件重命名...`);
84
+
85
+ for (const projectName of projects) {
86
+ const projectPath = join(workspaceRoot, projectName);
87
+
88
+ try {
89
+ // 检查项目目录是否存在
90
+ await fs.access(projectPath);
91
+ console.log(`处理项目: ${projectName}`);
92
+ await renameJsToCjs(projectPath);
93
+ } catch (error) {
94
+ console.warn(`跳过项目 ${projectName}: 目录不存在或无法访问`);
95
+ }
96
+ }
97
+
98
+ console.log('所有项目的.mock文件重命名处理完成');
99
+ } catch (error) {
100
+ console.error('批量重命名.mock文件失败:', error);
101
+ throw error;
102
+ }
103
+ }
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "prime-dev-cli",
3
- "version": "1.0.10",
3
+ "version": "1.0.11-beta.2",
4
4
  "main": "index.js",
5
5
  "scripts": {
6
6
  "refresh:config": "node ./bin/cli.mjs init",
7
- "build:server": "pnpm --filter server build",
7
+ "build:server": "rm -rf ./dist && pnpm --filter server build",
8
8
  "zip:plugin": "pnpm --filter prime-dev-browser-extension zip",
9
9
  "dev:plugin": "pnpm --filter prime-dev-browser-extension dev",
10
10
  "dev:server": "pnpm --filter server dev",
@@ -16,7 +16,8 @@
16
16
  "files": [
17
17
  "bin",
18
18
  "dist",
19
- "config"
19
+ "config",
20
+ "lib"
20
21
  ],
21
22
  "keywords": [],
22
23
  "author": "",
@@ -1 +0,0 @@
1
- [{"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/all-projects-envs/route.ts":"1","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/check-mock-intercept/route.ts":"2","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/check-workspace/route.ts":"3","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/cleanup-project/route.ts":"4","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/get-mock-data/route.ts":"5","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/initialize-workspace/route.ts":"6","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/microapp-proxy-change-stream/route.ts":"7","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/microapp-proxy-config/route.ts":"8","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/mock-file/route.ts":"9","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/mock-file-content/route.ts":"10","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/mock-open-status/route.ts":"11","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/mock-setting/route.ts":"12","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/open-project/route.ts":"13","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/project-config/route.ts":"14","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/retry-project/route.ts":"15","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/configuration/page.tsx":"16","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/initialization/page.tsx":"17","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/layout.tsx":"18","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/page.tsx":"19","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/components/MicroAppProxyTable.tsx":"20","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/components/project-initializer.tsx":"21","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/components/ui/button.tsx":"22","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/components/ui/dialog.tsx":"23","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/components/ui/input.tsx":"24","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/components/ui/label.tsx":"25","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/components/ui/navigation-menu.tsx":"26","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/components/ui/select.tsx":"27","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/components/ui/switch.tsx":"28","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/components/ui/table.tsx":"29","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/components/ui/tabs.tsx":"30","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/components/ui/textarea.tsx":"31","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/lib/concurrent-controller.ts":"32","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/lib/editor-operations.ts":"33","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/lib/env-file-operations.ts":"34","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/lib/git-operations.ts":"35","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/lib/sse-connection-manager.ts":"36","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/lib/utils.ts":"37","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/lib/workspace-config.ts":"38","/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/lib/workspace-types.ts":"39"},{"size":2256,"mtime":1751524326816,"results":"40","hashOfConfig":"41"},{"size":1296,"mtime":1751524326816,"results":"42","hashOfConfig":"41"},{"size":4155,"mtime":1751524326816,"results":"43","hashOfConfig":"41"},{"size":1601,"mtime":1751524326816,"results":"44","hashOfConfig":"41"},{"size":5646,"mtime":1751524326816,"results":"45","hashOfConfig":"41"},{"size":13827,"mtime":1751524326817,"results":"46","hashOfConfig":"41"},{"size":3502,"mtime":1751524326817,"results":"47","hashOfConfig":"41"},{"size":6022,"mtime":1751524326817,"results":"48","hashOfConfig":"41"},{"size":10643,"mtime":1751524326817,"results":"49","hashOfConfig":"41"},{"size":4060,"mtime":1751524326817,"results":"50","hashOfConfig":"41"},{"size":3635,"mtime":1751524326817,"results":"51","hashOfConfig":"41"},{"size":2937,"mtime":1751524326818,"results":"52","hashOfConfig":"41"},{"size":2402,"mtime":1751524326818,"results":"53","hashOfConfig":"41"},{"size":6382,"mtime":1751524326818,"results":"54","hashOfConfig":"41"},{"size":2411,"mtime":1751524326818,"results":"55","hashOfConfig":"41"},{"size":68065,"mtime":1751524326818,"results":"56","hashOfConfig":"41"},{"size":150,"mtime":1751524326819,"results":"57","hashOfConfig":"41"},{"size":689,"mtime":1751524326819,"results":"58","hashOfConfig":"41"},{"size":150,"mtime":1751524326819,"results":"59","hashOfConfig":"41"},{"size":17272,"mtime":1751524326819,"results":"60","hashOfConfig":"41"},{"size":23764,"mtime":1751524326820,"results":"61","hashOfConfig":"41"},{"size":2123,"mtime":1751524326820,"results":"62","hashOfConfig":"41"},{"size":3970,"mtime":1751524326820,"results":"63","hashOfConfig":"41"},{"size":967,"mtime":1751524326820,"results":"64","hashOfConfig":"41"},{"size":611,"mtime":1751524326820,"results":"65","hashOfConfig":"41"},{"size":6664,"mtime":1751524326820,"results":"66","hashOfConfig":"41"},{"size":6253,"mtime":1751524326820,"results":"67","hashOfConfig":"41"},{"size":1177,"mtime":1751524326821,"results":"68","hashOfConfig":"41"},{"size":2448,"mtime":1751524326821,"results":"69","hashOfConfig":"41"},{"size":1969,"mtime":1751524326821,"results":"70","hashOfConfig":"41"},{"size":759,"mtime":1751524326821,"results":"71","hashOfConfig":"41"},{"size":1779,"mtime":1751524326821,"results":"72","hashOfConfig":"41"},{"size":5873,"mtime":1751524326821,"results":"73","hashOfConfig":"41"},{"size":4707,"mtime":1751524326821,"results":"74","hashOfConfig":"41"},{"size":15311,"mtime":1751524326821,"results":"75","hashOfConfig":"41"},{"size":7488,"mtime":1751524326822,"results":"76","hashOfConfig":"41"},{"size":166,"mtime":1751524326822,"results":"77","hashOfConfig":"41"},{"size":2424,"mtime":1751524326822,"results":"78","hashOfConfig":"41"},{"size":2075,"mtime":1751524326822,"results":"79","hashOfConfig":"41"},{"filePath":"80","messages":"81","suppressedMessages":"82","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1kybc7h",{"filePath":"83","messages":"84","suppressedMessages":"85","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"86","messages":"87","suppressedMessages":"88","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"89","messages":"90","suppressedMessages":"91","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"92","messages":"93","suppressedMessages":"94","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"95","messages":"96","suppressedMessages":"97","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"98","messages":"99","suppressedMessages":"100","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"101","messages":"102","suppressedMessages":"103","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"104","messages":"105","suppressedMessages":"106","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"107","messages":"108","suppressedMessages":"109","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"110","messages":"111","suppressedMessages":"112","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"113","messages":"114","suppressedMessages":"115","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"116","messages":"117","suppressedMessages":"118","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"119","messages":"120","suppressedMessages":"121","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"122","messages":"123","suppressedMessages":"124","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"125","messages":"126","suppressedMessages":"127","errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"128","messages":"129","suppressedMessages":"130","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"131","messages":"132","suppressedMessages":"133","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"134","messages":"135","suppressedMessages":"136","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"137","messages":"138","suppressedMessages":"139","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"140","messages":"141","suppressedMessages":"142","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"143","messages":"144","suppressedMessages":"145","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"146","messages":"147","suppressedMessages":"148","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"149","messages":"150","suppressedMessages":"151","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"152","messages":"153","suppressedMessages":"154","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"155","messages":"156","suppressedMessages":"157","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"158","messages":"159","suppressedMessages":"160","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"161","messages":"162","suppressedMessages":"163","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"164","messages":"165","suppressedMessages":"166","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"167","messages":"168","suppressedMessages":"169","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"170","messages":"171","suppressedMessages":"172","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"173","messages":"174","suppressedMessages":"175","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"176","messages":"177","suppressedMessages":"178","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"179","messages":"180","suppressedMessages":"181","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"182","messages":"183","suppressedMessages":"184","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"185","messages":"186","suppressedMessages":"187","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"188","messages":"189","suppressedMessages":"190","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"191","messages":"192","suppressedMessages":"193","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"194","messages":"195","suppressedMessages":"196","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/all-projects-envs/route.ts",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/check-mock-intercept/route.ts",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/check-workspace/route.ts",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/cleanup-project/route.ts",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/get-mock-data/route.ts",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/initialize-workspace/route.ts",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/microapp-proxy-change-stream/route.ts",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/microapp-proxy-config/route.ts",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/mock-file/route.ts",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/mock-file-content/route.ts",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/mock-open-status/route.ts",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/mock-setting/route.ts",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/open-project/route.ts",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/project-config/route.ts",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/api/retry-project/route.ts",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/configuration/page.tsx",["197","198"],["199","200"],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/initialization/page.tsx",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/layout.tsx",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/app/page.tsx",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/components/MicroAppProxyTable.tsx",["201"],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/components/project-initializer.tsx",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/components/ui/button.tsx",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/components/ui/dialog.tsx",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/components/ui/input.tsx",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/components/ui/label.tsx",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/components/ui/navigation-menu.tsx",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/components/ui/select.tsx",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/components/ui/switch.tsx",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/components/ui/table.tsx",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/components/ui/tabs.tsx",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/components/ui/textarea.tsx",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/lib/concurrent-controller.ts",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/lib/editor-operations.ts",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/lib/env-file-operations.ts",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/lib/git-operations.ts",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/lib/sse-connection-manager.ts",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/lib/utils.ts",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/lib/workspace-config.ts",[],[],"/Users/edy/Documents/prime-workspace/prime-dev-cli/packages/server/src/lib/workspace-types.ts",[],[],{"ruleId":"202","severity":1,"message":"203","line":209,"column":6,"nodeType":"204","endLine":209,"endColumn":38,"suggestions":"205"},{"ruleId":"202","severity":1,"message":"206","line":426,"column":6,"nodeType":"204","endLine":426,"endColumn":34,"suggestions":"207"},{"ruleId":"208","severity":2,"message":"209","line":161,"column":56,"nodeType":"210","messageId":"211","endLine":161,"endColumn":59,"suggestions":"212","suppressions":"213"},{"ruleId":"208","severity":2,"message":"209","line":213,"column":41,"nodeType":"210","messageId":"211","endLine":213,"endColumn":44,"suggestions":"214","suppressions":"215"},{"ruleId":"202","severity":1,"message":"216","line":117,"column":6,"nodeType":"204","endLine":117,"endColumn":22,"suggestions":"217"},"react-hooks/exhaustive-deps","React Hook useEffect has a missing dependency: 'handleKeyDown'. Either include it or remove the dependency array.","ArrayExpression",["218"],"React Hook useEffect has missing dependencies: 'currentTab' and 'fetchMockData'. Either include them or remove the dependency array.",["219"],"@typescript-eslint/no-explicit-any","Unexpected any. Specify a different type.","TSAnyKeyword","unexpectedAny",["220","221"],["222"],["223","224"],["225"],"React Hook useEffect has a missing dependency: 'setupSSEConnection'. Either include it or remove the dependency array.",["226"],{"desc":"227","fix":"228"},{"desc":"229","fix":"230"},{"messageId":"231","fix":"232","desc":"233"},{"messageId":"234","fix":"235","desc":"236"},{"kind":"237","justification":"238"},{"messageId":"231","fix":"239","desc":"233"},{"messageId":"234","fix":"240","desc":"236"},{"kind":"237","justification":"238"},{"desc":"241","fix":"242"},"Update the dependencies array to be: [editDialogOpen, editorInstance, handleKeyDown]",{"range":"243","text":"244"},"Update the dependencies array to be: [currentTab, fetchMockData, projectConfig, projectName]",{"range":"245","text":"246"},"suggestUnknown",{"range":"247","text":"248"},"Use `unknown` instead, this will force you to explicitly, and safely assert the type is correct.","suggestNever",{"range":"249","text":"250"},"Use `never` instead, this is useful when instantiating generic type parameters that you don't need to know the type of.","directive","",{"range":"251","text":"248"},{"range":"252","text":"250"},"Update the dependencies array to be: [currentEnvName, setupSSEConnection]",{"range":"253","text":"254"},[5264,5296],"[editDialogOpen, editorInstance, handleKeyDown]",[11703,11731],"[currentTab, fetchMockData, projectConfig, projectName]",[3846,3849],"unknown",[3846,3849],"never",[5418,5421],[5418,5421],[3007,3023],"[currentEnvName, setupSSEConnection]"]