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

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 (307) 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/package.json +2 -2
  52. package/dist/server/.next/cache/eslint/.cache_13k185s +0 -1
  53. package/dist/server/.next/cache/webpack/client-production/0.pack +0 -0
  54. package/dist/server/.next/cache/webpack/client-production/1.pack +0 -0
  55. package/dist/server/.next/cache/webpack/client-production/10.pack +0 -0
  56. package/dist/server/.next/cache/webpack/client-production/11.pack +0 -0
  57. package/dist/server/.next/cache/webpack/client-production/12.pack +0 -0
  58. package/dist/server/.next/cache/webpack/client-production/13.pack +0 -0
  59. package/dist/server/.next/cache/webpack/client-production/14.pack +0 -0
  60. package/dist/server/.next/cache/webpack/client-production/15.pack +0 -0
  61. package/dist/server/.next/cache/webpack/client-production/16.pack +0 -0
  62. package/dist/server/.next/cache/webpack/client-production/17.pack +0 -0
  63. package/dist/server/.next/cache/webpack/client-production/18.pack +0 -0
  64. package/dist/server/.next/cache/webpack/client-production/2.pack +0 -0
  65. package/dist/server/.next/cache/webpack/client-production/3.pack +0 -0
  66. package/dist/server/.next/cache/webpack/client-production/4.pack +0 -0
  67. package/dist/server/.next/cache/webpack/client-production/5.pack +0 -0
  68. package/dist/server/.next/cache/webpack/client-production/6.pack +0 -0
  69. package/dist/server/.next/cache/webpack/client-production/7.pack +0 -0
  70. package/dist/server/.next/cache/webpack/client-production/8.pack +0 -0
  71. package/dist/server/.next/cache/webpack/client-production/9.pack +0 -0
  72. package/dist/server/.next/cache/webpack/client-production/index.pack +0 -0
  73. package/dist/server/.next/cache/webpack/client-production/index.pack.old +0 -0
  74. package/dist/server/.next/cache/webpack/edge-server-production/0.pack +0 -0
  75. package/dist/server/.next/cache/webpack/edge-server-production/index.pack +0 -0
  76. package/dist/server/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
  77. package/dist/server/.next/cache/webpack/server-production/0.pack +0 -0
  78. package/dist/server/.next/cache/webpack/server-production/1.pack +0 -0
  79. package/dist/server/.next/cache/webpack/server-production/2.pack +0 -0
  80. package/dist/server/.next/cache/webpack/server-production/3.pack +0 -0
  81. package/dist/server/.next/cache/webpack/server-production/4.pack +0 -0
  82. package/dist/server/.next/cache/webpack/server-production/5.pack +0 -0
  83. package/dist/server/.next/cache/webpack/server-production/6.pack +0 -0
  84. package/dist/server/.next/cache/webpack/server-production/7.pack +0 -0
  85. package/dist/server/.next/cache/webpack/server-production/8.pack +0 -0
  86. package/dist/server/.next/cache/webpack/server-production/9.pack +0 -0
  87. package/dist/server/.next/cache/webpack/server-production/index.pack +0 -0
  88. package/dist/server/.next/cache/webpack/server-production/index.pack.old +0 -0
  89. package/dist/server/.next/react-loadable-manifest.json +0 -1
  90. package/dist/server/.next/server/chunks/131.js +0 -20
  91. package/dist/server/.next/server/chunks/135.js +0 -20
  92. package/dist/server/.next/server/chunks/426.js +0 -1
  93. package/dist/server/.next/server/chunks/542.js +0 -1
  94. package/dist/server/.next/server/chunks/821.js +0 -5
  95. package/dist/server/.next/server/chunks/901.js +0 -1
  96. package/dist/server/.next/server/chunks/967.js +0 -5
  97. package/dist/server/.next/server/chunks/972.js +0 -6
  98. package/dist/server/.next/server/middleware-react-loadable-manifest.js +0 -1
  99. package/dist/server/.next/server/webpack-runtime.js +0 -1
  100. package/dist/server/.next/static/0L93NbbowsMpjl-fJPWIj/_buildManifest.js +0 -1
  101. package/dist/server/.next/static/0YG3L7wZtbtQp2XameODj/_buildManifest.js +0 -1
  102. package/dist/server/.next/static/0YG3L7wZtbtQp2XameODj/_ssgManifest.js +0 -1
  103. package/dist/server/.next/static/4EggIRp7gmu3C68Fsraff/_buildManifest.js +0 -1
  104. package/dist/server/.next/static/4EggIRp7gmu3C68Fsraff/_ssgManifest.js +0 -1
  105. package/dist/server/.next/static/4F2ksJZLv3Xaz5X--KGOp/_buildManifest.js +0 -1
  106. package/dist/server/.next/static/4F2ksJZLv3Xaz5X--KGOp/_ssgManifest.js +0 -1
  107. package/dist/server/.next/static/AfTlXXTccBCUMhfVrzBuA/_ssgManifest.js +0 -1
  108. package/dist/server/.next/static/CcPdKvbUmZBYZz_Z0RQOI/_buildManifest.js +0 -1
  109. package/dist/server/.next/static/CcPdKvbUmZBYZz_Z0RQOI/_clientMiddlewareManifest.json +0 -1
  110. package/dist/server/.next/static/CcPdKvbUmZBYZz_Z0RQOI/_ssgManifest.js +0 -1
  111. package/dist/server/.next/static/G7Z-m_yayOJWJic2pMxim/_buildManifest.js +0 -1
  112. package/dist/server/.next/static/G7Z-m_yayOJWJic2pMxim/_clientMiddlewareManifest.json +0 -1
  113. package/dist/server/.next/static/G7Z-m_yayOJWJic2pMxim/_ssgManifest.js +0 -1
  114. package/dist/server/.next/static/Mmn2KHpe4Btd9UFvAkzbC/_buildManifest.js +0 -1
  115. package/dist/server/.next/static/Mmn2KHpe4Btd9UFvAkzbC/_ssgManifest.js +0 -1
  116. package/dist/server/.next/static/MwYZh9prxBMJtf26zAtTY/_buildManifest.js +0 -1
  117. package/dist/server/.next/static/MwYZh9prxBMJtf26zAtTY/_ssgManifest.js +0 -1
  118. package/dist/server/.next/static/OrhaeyZZfCZRWwhHqa6d_/_buildManifest.js +0 -1
  119. package/dist/server/.next/static/OrhaeyZZfCZRWwhHqa6d_/_ssgManifest.js +0 -1
  120. package/dist/server/.next/static/S8uHKVezmbN9FqrOMghlT/_buildManifest.js +0 -1
  121. package/dist/server/.next/static/S8uHKVezmbN9FqrOMghlT/_ssgManifest.js +0 -1
  122. package/dist/server/.next/static/Vj8TOfdXSkRSgi8JoSCLF/_buildManifest.js +0 -1
  123. package/dist/server/.next/static/Vj8TOfdXSkRSgi8JoSCLF/_ssgManifest.js +0 -1
  124. package/dist/server/.next/static/W9gpINx4oQDxDFLMkCJQL/_buildManifest.js +0 -1
  125. package/dist/server/.next/static/W9gpINx4oQDxDFLMkCJQL/_ssgManifest.js +0 -1
  126. package/dist/server/.next/static/Ws4syXZ5lu2blUfguY1K3/_buildManifest.js +0 -1
  127. package/dist/server/.next/static/Ws4syXZ5lu2blUfguY1K3/_ssgManifest.js +0 -1
  128. package/dist/server/.next/static/chunks/09f18d884b3a25a2.js.map +0 -1
  129. package/dist/server/.next/static/chunks/167-e44cb396108f68cd.js +0 -1
  130. package/dist/server/.next/static/chunks/180-8dacaec05f53f53f.js +0 -1
  131. package/dist/server/.next/static/chunks/180-aabf82e25d34cbe3.js +0 -1
  132. package/dist/server/.next/static/chunks/28309924e4c23ccc.js +0 -5
  133. package/dist/server/.next/static/chunks/2b6075b99689b028.css.map +0 -1
  134. package/dist/server/.next/static/chunks/355-0aabfb42ab072146.js +0 -1
  135. package/dist/server/.next/static/chunks/371387b426d53320.js +0 -3
  136. package/dist/server/.next/static/chunks/4695aadfc21f48b8.js +0 -5
  137. package/dist/server/.next/static/chunks/495-1a64c3075b5b8ac4.js +0 -1
  138. package/dist/server/.next/static/chunks/770-17268e5a9d004dae.js +0 -1
  139. package/dist/server/.next/static/chunks/847-ec9c92b94ad678e0.js +0 -1
  140. package/dist/server/.next/static/chunks/86b5e8830b67bd88.js.map +0 -1
  141. package/dist/server/.next/static/chunks/app/_not-found/page-95616ed7a70b84d7.js +0 -1
  142. package/dist/server/.next/static/chunks/app/_not-found/page-ba0969dacdea05f3.js +0 -1
  143. package/dist/server/.next/static/chunks/app/api/all-projects-envs/route-312524aaaaffe75e.js +0 -1
  144. package/dist/server/.next/static/chunks/app/api/all-projects-envs/route-4a1691275c5ae416.js +0 -1
  145. package/dist/server/.next/static/chunks/app/api/all-projects-envs/route-59998dcbe9d03177.js +0 -1
  146. package/dist/server/.next/static/chunks/app/api/all-projects-envs/route-70d14c8af28994db.js +0 -1
  147. package/dist/server/.next/static/chunks/app/api/all-projects-envs/route-cfa7e75a9cc44674.js +0 -1
  148. package/dist/server/.next/static/chunks/app/api/check-mock-intercept/route-207d5b6627adc282.js +0 -1
  149. package/dist/server/.next/static/chunks/app/api/check-mock-intercept/route-21db47c08229689f.js +0 -1
  150. package/dist/server/.next/static/chunks/app/api/check-mock-intercept/route-445157e82ef8e75b.js +0 -1
  151. package/dist/server/.next/static/chunks/app/api/check-mock-intercept/route-a14cdbb0879f7da6.js +0 -1
  152. package/dist/server/.next/static/chunks/app/api/check-mock-intercept/route-f2e048a9d229f7e7.js +0 -1
  153. package/dist/server/.next/static/chunks/app/api/check-workspace/route-29f5d718929ea780.js +0 -1
  154. package/dist/server/.next/static/chunks/app/api/check-workspace/route-3292111d9978949a.js +0 -1
  155. package/dist/server/.next/static/chunks/app/api/check-workspace/route-3569564cd2b09683.js +0 -1
  156. package/dist/server/.next/static/chunks/app/api/check-workspace/route-db1a504fc730c8dc.js +0 -1
  157. package/dist/server/.next/static/chunks/app/api/check-workspace/route-ea618578d55f6d3e.js +0 -1
  158. package/dist/server/.next/static/chunks/app/api/cleanup-mock/route-bbcac882e4f160cb.js +0 -1
  159. package/dist/server/.next/static/chunks/app/api/cleanup-project/route-16fdad40de98b440.js +0 -1
  160. package/dist/server/.next/static/chunks/app/api/cleanup-project/route-3bf856128b701bac.js +0 -1
  161. package/dist/server/.next/static/chunks/app/api/cleanup-project/route-a6c005b8a485a192.js +0 -1
  162. package/dist/server/.next/static/chunks/app/api/get-mock-data/route-0ff137f28b0bbfd4.js +0 -1
  163. package/dist/server/.next/static/chunks/app/api/get-mock-data/route-39e7fa4c6fa2da8f.js +0 -1
  164. package/dist/server/.next/static/chunks/app/api/get-mock-data/route-dc1cc7e42c23cc90.js +0 -1
  165. package/dist/server/.next/static/chunks/app/api/get-mock-data/route-e8c5eb5bfef356e4.js +0 -1
  166. package/dist/server/.next/static/chunks/app/api/get-mock-data/route-f674eb4d564fe302.js +0 -1
  167. package/dist/server/.next/static/chunks/app/api/initialize-workspace/route-202c20e85127f869.js +0 -1
  168. package/dist/server/.next/static/chunks/app/api/initialize-workspace/route-736e54e6ee59e3ce.js +0 -1
  169. package/dist/server/.next/static/chunks/app/api/initialize-workspace/route-7faec0a7a2e6383d.js +0 -1
  170. package/dist/server/.next/static/chunks/app/api/initialize-workspace/route-9cb53efb3778be70.js +0 -1
  171. package/dist/server/.next/static/chunks/app/api/initialize-workspace/route-a546e3abb74bc427.js +0 -1
  172. package/dist/server/.next/static/chunks/app/api/microapp-proxy-change-stream/route-219fff48736f39a4.js +0 -1
  173. package/dist/server/.next/static/chunks/app/api/microapp-proxy-change-stream/route-39d78899804e9b55.js +0 -1
  174. package/dist/server/.next/static/chunks/app/api/microapp-proxy-change-stream/route-81a2d573a6a5b3d9.js +0 -1
  175. package/dist/server/.next/static/chunks/app/api/microapp-proxy-change-stream/route-92fea0302ce9e17c.js +0 -1
  176. package/dist/server/.next/static/chunks/app/api/microapp-proxy-config/route-05c8c2aae5088b98.js +0 -1
  177. package/dist/server/.next/static/chunks/app/api/microapp-proxy-config/route-ad103dba19eb36c2.js +0 -1
  178. package/dist/server/.next/static/chunks/app/api/microapp-proxy-config/route-bda82800578d31a4.js +0 -1
  179. package/dist/server/.next/static/chunks/app/api/microapp-proxy-config/route-c98223a508d30485.js +0 -1
  180. package/dist/server/.next/static/chunks/app/api/microapp-proxy-config/route-e535c24ff110bccf.js +0 -1
  181. package/dist/server/.next/static/chunks/app/api/mock-file/route-457801bb0f6a76f5.js +0 -1
  182. package/dist/server/.next/static/chunks/app/api/mock-file/route-51694377ff9d7e5b.js +0 -1
  183. package/dist/server/.next/static/chunks/app/api/mock-file/route-606d825407e0fd4c.js +0 -1
  184. package/dist/server/.next/static/chunks/app/api/mock-file/route-a7322a0267bf30b2.js +0 -1
  185. package/dist/server/.next/static/chunks/app/api/mock-file/route-d8676439ef29db7c.js +0 -1
  186. package/dist/server/.next/static/chunks/app/api/mock-file-content/route-3b736acba2fc51fb.js +0 -1
  187. package/dist/server/.next/static/chunks/app/api/mock-file-content/route-4abdd46a628dfa45.js +0 -1
  188. package/dist/server/.next/static/chunks/app/api/mock-file-content/route-4bc78ec0cbed800a.js +0 -1
  189. package/dist/server/.next/static/chunks/app/api/mock-file-content/route-508f2755a233b154.js +0 -1
  190. package/dist/server/.next/static/chunks/app/api/mock-file-content/route-ed711cf05050ae4b.js +0 -1
  191. package/dist/server/.next/static/chunks/app/api/mock-open-status/route-2397a28b4e49887e.js +0 -1
  192. package/dist/server/.next/static/chunks/app/api/mock-open-status/route-7e4d9c8f09b286c3.js +0 -1
  193. package/dist/server/.next/static/chunks/app/api/mock-open-status/route-81148f608ccbb94c.js +0 -1
  194. package/dist/server/.next/static/chunks/app/api/mock-open-status/route-8c87291c773d3e77.js +0 -1
  195. package/dist/server/.next/static/chunks/app/api/mock-open-status/route-a9410ab77572cb9e.js +0 -1
  196. package/dist/server/.next/static/chunks/app/api/mock-setting/route-2f57558f61602b8d.js +0 -1
  197. package/dist/server/.next/static/chunks/app/api/mock-setting/route-34a6b89ca2fa264f.js +0 -1
  198. package/dist/server/.next/static/chunks/app/api/mock-setting/route-48cfb30a284d746d.js +0 -1
  199. package/dist/server/.next/static/chunks/app/api/mock-setting/route-93afc6add1edf9f2.js +0 -1
  200. package/dist/server/.next/static/chunks/app/api/mock-setting/route-fc5ad9735304a090.js +0 -1
  201. package/dist/server/.next/static/chunks/app/api/open-all-mock/route-57687ce93101e033.js +0 -1
  202. package/dist/server/.next/static/chunks/app/api/open-project/route-0f748b5bb9f5f133.js +0 -1
  203. package/dist/server/.next/static/chunks/app/api/open-project/route-28f8ff642f5256ac.js +0 -1
  204. package/dist/server/.next/static/chunks/app/api/open-project/route-33e8ebae3ec34cf6.js +0 -1
  205. package/dist/server/.next/static/chunks/app/api/open-project/route-b6e6fca6c827640d.js +0 -1
  206. package/dist/server/.next/static/chunks/app/api/open-project/route-dbd2412a4a395d57.js +0 -1
  207. package/dist/server/.next/static/chunks/app/api/process/logs/route-2dda16be53467324.js +0 -1
  208. package/dist/server/.next/static/chunks/app/api/process/logs/route-3d9ee52d7c8aacef.js +0 -1
  209. package/dist/server/.next/static/chunks/app/api/process/logs/stream/route-e3aa80178b56d92e.js +0 -1
  210. package/dist/server/.next/static/chunks/app/api/process/logs/stream/route-e9633e0e72dfb31b.js +0 -1
  211. package/dist/server/.next/static/chunks/app/api/process/start/route-4fe85c59a6cf5d14.js +0 -1
  212. package/dist/server/.next/static/chunks/app/api/process/start/route-54c553f9e551d14b.js +0 -1
  213. package/dist/server/.next/static/chunks/app/api/process/status/route-06151b6ca21ffd52.js +0 -1
  214. package/dist/server/.next/static/chunks/app/api/process/status/route-9dadfb92dd227115.js +0 -1
  215. package/dist/server/.next/static/chunks/app/api/project-config/route-0317b7b8279f882c.js +0 -1
  216. package/dist/server/.next/static/chunks/app/api/project-config/route-0d5799a7d2a92f24.js +0 -1
  217. package/dist/server/.next/static/chunks/app/api/project-config/route-52a76cdb81639dcd.js +0 -1
  218. package/dist/server/.next/static/chunks/app/api/project-config/route-870fae74c20ad5cc.js +0 -1
  219. package/dist/server/.next/static/chunks/app/api/project-config/route-ebe1c2ee41dedc74.js +0 -1
  220. package/dist/server/.next/static/chunks/app/api/retry-project/route-1672c3841762e7a2.js +0 -1
  221. package/dist/server/.next/static/chunks/app/api/retry-project/route-57227158a21c503e.js +0 -1
  222. package/dist/server/.next/static/chunks/app/api/retry-project/route-887b04ae65e577ee.js +0 -1
  223. package/dist/server/.next/static/chunks/app/api/retry-project/route-c25d253b5eacedef.js +0 -1
  224. package/dist/server/.next/static/chunks/app/api/retry-project/route-ed8eb5f938cd3503.js +0 -1
  225. package/dist/server/.next/static/chunks/app/configuration/page-40c4eaee20608a71.js +0 -1
  226. package/dist/server/.next/static/chunks/app/configuration/page-68644ad1d0dbda4f.js +0 -1
  227. package/dist/server/.next/static/chunks/app/configuration/page-978351fa7fe07983.js +0 -1
  228. package/dist/server/.next/static/chunks/app/configuration/page-c873f4a20842fe9f.js +0 -1
  229. package/dist/server/.next/static/chunks/app/configuration/page-de2896125aeef266.js +0 -1
  230. package/dist/server/.next/static/chunks/app/initialization/page-2937c3ff149f25f9.js +0 -1
  231. package/dist/server/.next/static/chunks/app/initialization/page-9c8eb31c4b362777.js +0 -1
  232. package/dist/server/.next/static/chunks/app/initialization/page-d107335a70a6aa9a.js +0 -1
  233. package/dist/server/.next/static/chunks/app/layout-2c381be4c1bb73ed.js +0 -1
  234. package/dist/server/.next/static/chunks/app/layout-84c22b799284e008.js +0 -1
  235. package/dist/server/.next/static/chunks/app/layout-882f4e368aeaff73.js +0 -1
  236. package/dist/server/.next/static/chunks/app/page-46b160ccc2d2f6fd.js +0 -1
  237. package/dist/server/.next/static/chunks/app/page-7a16585bfada96fc.js +0 -1
  238. package/dist/server/.next/static/chunks/app/page-7ad3377c8cadf31e.js +0 -1
  239. package/dist/server/.next/static/chunks/app/page-912f1af8f4bd1f6c.js +0 -1
  240. package/dist/server/.next/static/chunks/app/page-9ce2b4651df441b0.js +0 -1
  241. package/dist/server/.next/static/chunks/app/page-9e7caf746eefeed4.js +0 -1
  242. package/dist/server/.next/static/chunks/b8f30182-57e8efeaf5f155f2.js +0 -1
  243. package/dist/server/.next/static/chunks/b8f30182-a6d2a523c696fa81.js +0 -1
  244. package/dist/server/.next/static/chunks/da35f4984aadc7ee.css +0 -3
  245. package/dist/server/.next/static/chunks/fc31ec097889736e.js +0 -61
  246. package/dist/server/.next/static/chunks/framework-4f3c796c070f0605.js +0 -1
  247. package/dist/server/.next/static/chunks/main-5057d359c86395ff.js +0 -1
  248. package/dist/server/.next/static/chunks/main-app-0672b5550b5e5a29.js +0 -1
  249. package/dist/server/.next/static/chunks/main-app-204ad1b9f48b1359.js +0 -1
  250. package/dist/server/.next/static/chunks/pages/_app-3679013cc4e97ce6.js +0 -1
  251. package/dist/server/.next/static/chunks/pages/_error-0822a2d0b86fca98.js +0 -1
  252. package/dist/server/.next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
  253. package/dist/server/.next/static/chunks/webpack-c15acc5db8adea14.js +0 -1
  254. package/dist/server/.next/static/chunks/webpack-d5f30c51b0af95c2.js +0 -1
  255. package/dist/server/.next/static/chunks/webpack-e34e044e63e0dcd2.js +0 -1
  256. package/dist/server/.next/static/css/1c3633790ce12b77.css +0 -3
  257. package/dist/server/.next/static/css/6393282fdcf30b00.css +0 -3
  258. package/dist/server/.next/static/css/99c159237be93dc6.css +0 -1
  259. package/dist/server/.next/static/css/b10a602544a179de.css +0 -3
  260. package/dist/server/.next/static/css/deb8e469bf5e7676.css +0 -3
  261. package/dist/server/.next/static/ctEn8UHYZESgGhsRFLpGu/_buildManifest.js +0 -1
  262. package/dist/server/.next/static/ctEn8UHYZESgGhsRFLpGu/_ssgManifest.js +0 -1
  263. package/dist/server/.next/static/jdnaR1jA-uiriPQs5tK55/_buildManifest.js +0 -1
  264. package/dist/server/.next/static/jdnaR1jA-uiriPQs5tK55/_ssgManifest.js +0 -1
  265. package/dist/server/.next/static/media/569ce4b8f30dc480-s.p.woff2 +0 -0
  266. package/dist/server/.next/static/media/747892c23ea88013-s.woff2 +0 -0
  267. package/dist/server/.next/static/media/8d697b304b401681-s.woff2 +0 -0
  268. package/dist/server/.next/static/media/93f479601ee12b01-s.p.woff2 +0 -0
  269. package/dist/server/.next/static/media/9610d9e46709d722-s.woff2 +0 -0
  270. package/dist/server/.next/static/media/ba015fad6dcf6784-s.woff2 +0 -0
  271. package/dist/server/.next/static/qPRyAah5ijpk6JBI-hD27/_buildManifest.js +0 -1
  272. package/dist/server/.next/static/qPRyAah5ijpk6JBI-hD27/_clientMiddlewareManifest.json +0 -1
  273. package/dist/server/.next/static/qPRyAah5ijpk6JBI-hD27/_ssgManifest.js +0 -1
  274. package/dist/server/.next/static/stSAKws68akBgeDAAHOBI/_buildManifest.js +0 -1
  275. package/dist/server/.next/static/stSAKws68akBgeDAAHOBI/_ssgManifest.js +0 -1
  276. package/dist/server/.next/static/tATlS048MJsMzIVQDTgrk/_buildManifest.js +0 -1
  277. package/dist/server/.next/static/tATlS048MJsMzIVQDTgrk/_ssgManifest.js +0 -1
  278. package/dist/server/.next/types/app/api/all-projects-envs/route.ts +0 -347
  279. package/dist/server/.next/types/app/api/check-mock-intercept/route.ts +0 -347
  280. package/dist/server/.next/types/app/api/check-workspace/route.ts +0 -347
  281. package/dist/server/.next/types/app/api/cleanup-mock/route.ts +0 -347
  282. package/dist/server/.next/types/app/api/cleanup-project/route.ts +0 -347
  283. package/dist/server/.next/types/app/api/get-mock-data/route.ts +0 -347
  284. package/dist/server/.next/types/app/api/initialize-workspace/route.ts +0 -347
  285. package/dist/server/.next/types/app/api/microapp-proxy-change-stream/route.ts +0 -347
  286. package/dist/server/.next/types/app/api/microapp-proxy-config/route.ts +0 -347
  287. package/dist/server/.next/types/app/api/mock-file/route.ts +0 -347
  288. package/dist/server/.next/types/app/api/mock-file-content/route.ts +0 -347
  289. package/dist/server/.next/types/app/api/mock-open-status/route.ts +0 -347
  290. package/dist/server/.next/types/app/api/mock-setting/route.ts +0 -347
  291. package/dist/server/.next/types/app/api/open-all-mock/route.ts +0 -347
  292. package/dist/server/.next/types/app/api/open-project/route.ts +0 -347
  293. package/dist/server/.next/types/app/api/process/logs/route.ts +0 -347
  294. package/dist/server/.next/types/app/api/process/logs/stream/route.ts +0 -347
  295. package/dist/server/.next/types/app/api/process/start/route.ts +0 -347
  296. package/dist/server/.next/types/app/api/process/status/route.ts +0 -347
  297. package/dist/server/.next/types/app/api/project-config/route.ts +0 -347
  298. package/dist/server/.next/types/app/api/retry-project/route.ts +0 -347
  299. package/dist/server/.next/types/app/configuration/page.ts +0 -84
  300. package/dist/server/.next/types/app/initialization/page.ts +0 -84
  301. package/dist/server/.next/types/app/layout.ts +0 -84
  302. package/dist/server/.next/types/app/page.ts +0 -84
  303. package/dist/server/.next/types/cache-life.d.ts +0 -141
  304. package/dist/server/.next/types/package.json +0 -1
  305. /package/dist/server/.next/static/{AfTlXXTccBCUMhfVrzBuA → DiL7txnLfsR2XvLBEz06H}/_buildManifest.js +0 -0
  306. /package/dist/server/.next/static/{AfTlXXTccBCUMhfVrzBuA → DiL7txnLfsR2XvLBEz06H}/_clientMiddlewareManifest.json +0 -0
  307. /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
- });`}},a1=(a,b,c)=>{if(!D)return!1;let d=a.replace(/\//g,"_").replace(/^_/,""),e=D.mockFiles.find(a=>a.apiName===d);if(!e)return!1;let f=e.methods.find(a=>a.method.toLowerCase()===b.toLowerCase());return!!f&&!!f.files.find(a=>a.siteName===c)},a2=async()=>{if(!ae.apiPath.trim())return void a7("error","请输入接口地址");if(a1(ae.apiPath,ae.method,ae.siteName))return void a7("error",`接口 ${ae.apiPath} [${ae.method.toUpperCase()}] 的场景 "${ae.siteName}" 已存在,不能重复创建`);aj(!0);try{let a=ae.apiPath.replace(/\//g,"_").replace(/^_/,""),b=M?.content??a0(ae.method,ae.apiPath),d=await fetch("/api/mock-file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:c,apiName:a,method:ae.method.toLowerCase(),siteName:ae.siteName,content:b})}),e=await d.json();if(e.success)ae.mockOpen&&await a6(a,ae.method.toLowerCase(),ae.siteName,!0),af({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0}),ab(!1),await aW(),a7("success","Mock文件创建成功");else throw Error(e.error||"创建失败")}catch(a){console.error("创建Mock文件失败:",a),a7("error",`创建Mock文件失败: ${a instanceof Error?a.message:"未知错误"}`)}finally{aj(!1)}},a3=(a,b,d)=>{console.log("新增场景点击:",{apiName:a,method:b,apiPath:d}),ah({apiName:a,method:b,apiPath:d});let e={apiPath:d,method:b.toUpperCase(),siteName:"",mockOpen:!0};console.log("设置表单数据:",e),af(e),ad(!0);let f=a0(e.method,e.apiPath);N({projectName:c||"",apiName:a,method:b.toLowerCase(),siteName:"",content:f||""})},a4=(a,b,c)=>{if(!D)return!1;let d=D.mockFiles.find(b=>b.apiName===a);if(!d)return!1;let e=d.methods.find(a=>a.method.toLowerCase()===b.toLowerCase());return!!e&&!!e.files.find(a=>a.siteName===c)},a5=async()=>{if(!ag||!ae.siteName.trim())return void a7("error","请输入场景名称");if(a4(ag.apiName,ag.method,ae.siteName))return void a7("error",`接口 ${ag.apiPath} [${ag.method.toUpperCase()}] 的场景 "${ae.siteName}" 已存在`);aj(!0);try{let a=M?.content??a0(ag.method,ag.apiPath);console.log("defaultContent",a,M);let b=await fetch("/api/mock-file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:c,apiName:ag.apiName,method:ag.method.toLowerCase(),siteName:ae.siteName,content:a})}),d=await b.json();if(d.success){if(ae.mockOpen&&await a6(ag.apiName,ag.method,ae.siteName,!0),af({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0}),r)try{let a=await fetch("/api/mock-setting",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r.projectName,apiName:ag.apiName,method:ag.method,currentSite:ae.siteName})}),b=await a.json();b.success||console.warn("切换到新场景失败:",b.error)}catch(a){console.warn("切换到新场景失败:",a)}try{await a6(ag.apiName,ag.method,ae.siteName,!0)}catch(a){console.warn("自动开启新场景失败:",a)}ad(!1),ah(null),await aW(),a7("success","场景创建成功")}else throw Error(d.error||"创建失败")}catch(a){console.error("创建场景失败:",a),a7("error",`创建场景失败: ${a instanceof Error?a.message:"未知错误"}`)}finally{aj(!1)}},a6=async(a,b,c,d)=>{if(r)try{let e=await fetch("/api/mock-open-status",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r.projectName,apiName:a,method:b,siteName:c,isOpen:d})}),f=await e.json();f.success?await aW():console.error("更新Mock开启状态失败:",f.error)}catch(a){console.error("更新Mock开启状态失败:",a)}},a7=(a,b)=>{ap({open:!0,type:a,message:b}),setTimeout(()=>{ap({open:!1,type:"success",message:""})},3e3)},a8=(a,b,c)=>{al({open:!0,apiName:a,method:b,siteName:c})},a9=async()=>{if(!r)return;let{apiName:a,method:b,siteName:c}=ak;try{let d=await fetch(`/api/mock-file?project=${encodeURIComponent(r.projectName)}&apiName=${encodeURIComponent(a)}&method=${encodeURIComponent(b)}&siteName=${encodeURIComponent(c)}`,{method:"DELETE"}),e=await d.json();if(e.success){let a=window.scrollY;await aW(),window.scrollTo(0,a),a7("success","场景删除成功")}else console.error("删除场景失败:",e.error),a7("error",`删除场景失败: ${e.error}`)}catch(a){console.error("删除场景失败:",a),a7("error","删除场景失败: 网络错误")}finally{al({open:!1,apiName:"",method:"",siteName:""})}},ba=(a,b)=>{an({open:!0,apiName:a,apiPath:b})},bb=async()=>{if(!r)return;let{apiName:a}=am;try{let b=await fetch(`/api/delete-mock-api?project=${encodeURIComponent(r.projectName)}&apiName=${encodeURIComponent(a)}`,{method:"DELETE"}),c=await b.json();if(c.success){let a=window.scrollY;await aW(),window.scrollTo(0,a),a7("success","接口删除成功")}else console.error("删除接口失败:",c.error),a7("error",`删除接口失败: ${c.error}`)}catch(a){console.error("删除接口失败:",a),a7("error","删除接口失败: 网络错误")}finally{an({open:!1,apiName:"",apiPath:""})}},bc=a=>{ar(a),I(1)};if(t)return(0,d.jsx)("main",{className:"container mx-auto p-4 sm:p-6 md:p-8",children:(0,d.jsx)("div",{className:"text-center py-8",children:(0,d.jsx)("p",{children:"加载中..."})})});if(v||!r)return(0,d.jsxs)("main",{className:"container mx-auto p-4 sm:p-6 md:p-8",children:[(0,d.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,d.jsx)("h1",{className:"text-2xl font-bold",children:"项目配置"}),(0,d.jsxs)("div",{className:"flex gap-2",children:[c&&(0,d.jsx)(g.Button,{variant:"default",onClick:aF,disabled:B,children:B?"打开中...":"在 Cursor 中打开"}),(0,d.jsx)(g.Button,{variant:"outline",onClick:aD,children:"返回初始化页面"})]})]}),(0,d.jsx)("div",{className:"text-center text-red-500 py-8",children:(0,d.jsx)("p",{children:v||"未找到项目配置"})})]});let bd=Object.keys(r.envs);return(0,d.jsxs)("main",{className:"container mx-auto p-4 sm:p-6 md:p-8",children:[(0,d.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,d.jsxs)("div",{className:"flex items-center gap-4",children:[(0,d.jsxs)("h1",{className:"text-2xl font-bold",children:[r.projectName," - 项目配置"]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(k.Label,{className:"text-sm font-medium text-gray-600",children:"切换项目:"}),(0,d.jsxs)(i.Select,{value:c||"",onValueChange:d=>{if(d===c)return;let e=a.get("tab"),f=`/configuration?project=${encodeURIComponent(d)}${e?`&tab=${e}`:""}`;b.push(f)},disabled:$,children:[(0,d.jsx)(i.SelectTrigger,{className:"w-40",children:(0,d.jsx)(i.SelectValue,{placeholder:$?"加载中...":"选择项目"})}),(0,d.jsx)(i.SelectContent,{children:Y.map(a=>(0,d.jsx)(i.SelectItem,{value:a.name,children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:`w-2 h-2 rounded-full ${"existing"===a.status?"bg-green-500":"failed"===a.status?"bg-red-500":"bg-yellow-500"}`}),(0,d.jsx)("span",{children:a.name})]})},a.name))})]})]})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(g.Button,{variant:"default",onClick:aF,disabled:B,children:B?"打开中...":"在 Cursor 中打开"}),(0,d.jsx)(g.Button,{variant:"outline",onClick:aD,children:"返回初始化页面"})]})]}),bd.length>0?(0,d.jsxs)(h.Tabs,{value:K||bd[0],onValueChange:a=>{L(a),"mock"===a&&aW()},className:"w-full",children:[(0,d.jsxs)(h.TabsList,{className:"grid w-full",style:{gridTemplateColumns:`repeat(${bd.length+1}, 1fr)`},children:[bd.map(a=>(0,d.jsx)(h.TabsTrigger,{value:a,className:"capitalize relative",children:(0,d.jsxs)("span",{className:"flex items-center gap-2",children:[a,as[a]?.running&&(0,d.jsx)("span",{className:"w-2 h-2 bg-green-500 rounded-full animate-pulse",title:"运行中"})]})},a)),(0,d.jsx)(h.TabsTrigger,{value:"mock",className:"capitalize",children:"Mock配置"})]}),bd.map(a=>{let b=r.envs[a],c=Object.entries(b.proxyEnv),e=x[a]?.selectedProxy||"",f=x[a]?.selectedOption||"",l=b.currentProxy,m=b.proxyEnv[l]||l,n=b.proxyEnv[l]?l:"custom";return(0,d.jsxs)(h.TabsContent,{value:a,className:"space-y-6",children:[(0,d.jsxs)("div",{className:"p-6 bg-gray-50 rounded-lg",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,d.jsx)("h3",{className:"text-lg font-semibold",children:"开发服务器控制"}),(0,d.jsx)("div",{className:"flex items-center gap-4",children:as[a]?.running?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm text-green-600",children:[(0,d.jsx)("span",{className:"w-2 h-2 bg-green-500 rounded-full animate-pulse"}),"运行中 (PID: ",as[a]?.pid,")"]}),(0,d.jsx)(g.Button,{variant:"outline",size:"sm",onClick:()=>aN(a),children:"查看日志"}),(0,d.jsx)(g.Button,{variant:"destructive",size:"sm",onClick:()=>aI(a),disabled:as[a]?.loading,children:as[a]?.loading?"处理中...":"停止"})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm text-gray-500",children:[(0,d.jsx)("span",{className:"w-2 h-2 bg-gray-400 rounded-full"}),"未运行"]}),(0,d.jsx)(g.Button,{variant:"outline",size:"sm",onClick:()=>aN(a),children:"查看日志"}),(0,d.jsx)(g.Button,{variant:"default",size:"sm",onClick:()=>aH(a),disabled:as[a]?.loading||!b.startCommand,children:as[a]?.loading?"处理中...":"启动"})]})})]}),b.startCommand?(0,d.jsxs)("div",{className:"text-sm text-gray-600",children:[(0,d.jsx)("span",{className:"font-medium",children:"启动命令:"})," ",(0,d.jsx)("code",{className:"px-2 py-1 bg-gray-200 rounded",children:b.startCommand})]}):(0,d.jsx)("div",{className:"text-sm text-yellow-600",children:"⚠️ 该环境未配置启动命令"}),b.host&&(0,d.jsxs)("div",{className:"text-sm text-gray-600 mt-2",children:[(0,d.jsx)("span",{className:"font-medium",children:"访问地址:"}),as[a]?.running?(0,d.jsx)("a",{href:b.host,target:"_blank",rel:"noopener noreferrer",className:"ml-2 text-blue-600 hover:underline",children:b.host}):(0,d.jsx)("span",{className:"ml-2",children:b.host})]})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[(0,d.jsxs)("div",{className:"p-6 bg-gray-50 rounded-lg",children:[(0,d.jsxs)("h3",{className:"text-lg font-semibold mb-4",children:[a," 环境配置"]}),(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)(k.Label,{className:"block text-sm font-medium mb-2",children:"接口代理环境切换"}),(0,d.jsxs)(i.Select,{value:f,onValueChange:b=>aP(a,b),children:[(0,d.jsx)(i.SelectTrigger,{className:"w-full",children:(0,d.jsx)(i.SelectValue,{placeholder:"选择代理环境"})}),(0,d.jsx)(i.SelectContent,{children:c.map(([a,b])=>(0,d.jsxs)(i.SelectItem,{value:a,children:[a,"(",b,")"]},a))})]})]}),m&&(0,d.jsxs)("div",{className:"p-3 bg-blue-50 rounded-md",children:[(0,d.jsxs)("p",{className:"text-sm text-blue-700",children:["当前项目接口已代理至:",n," 环境"]}),(0,d.jsxs)("p",{className:"text-sm text-blue-600",children:["代理地址为:",m]})]}),"custom"===f&&(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(k.Label,{className:"block text-sm font-medium",children:"自定义代理地址"}),(0,d.jsx)(j.Input,{type:"url",placeholder:"请输入自定义代理地址 (如: http://localhost:52741)",value:e,onChange:b=>aQ(a,b.target.value),className:"w-full"}),(0,d.jsx)("p",{className:"text-xs text-gray-500",children:"请输入完整的代理地址,包括协议 (http:// 或 https://)"})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)(g.Button,{onClick:()=>aT(a),disabled:x[a]?.saving,className:"w-full sm:w-auto",children:x[a]?.saving?"保存中...":"保存配置"}),x[a]?.saveMessage&&(0,d.jsx)("span",{className:`text-sm ml-3 ${x[a]?.saveMessage==="保存成功"?"text-green-600":"text-red-600"}`,children:x[a]?.saveMessage})]})]})]}),(0,d.jsx)(p.default,{currentProjectName:r.projectName,currentEnvName:a})]})]},a)}),(0,d.jsx)(h.TabsContent,{value:"mock",className:"space-y-6",children:(0,d.jsxs)("div",{className:"p-6 bg-gray-50 rounded-lg",children:[(0,d.jsx)("h3",{className:"text-lg font-semibold mb-4",children:"Mock配置"}),(0,d.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 mb-6",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)(k.Label,{className:"text-sm font-medium",children:"Mock拦截"}),(0,d.jsx)("p",{className:"text-xs text-gray-500",children:"启用或禁用Mock拦截功能"})]}),(0,d.jsx)(l.Switch,{checked:z.mockingIntercept,onCheckedChange:aR})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)(k.Label,{className:"text-sm font-medium",children:"Mock开启"}),(0,d.jsx)("p",{className:"text-xs text-gray-500",children:"启用或禁用Mock功能"})]}),(0,d.jsx)(l.Switch,{checked:z.mockOpen,onCheckedChange:aS})]})]}),z.saveMessage&&(0,d.jsx)("div",{className:"mb-6",children:(0,d.jsx)("span",{className:`text-sm ${z.saveMessage.includes("已保存")?"text-green-600":"text-red-600"}`,children:z.saveMessage})}),(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("h4",{className:"text-md font-medium",children:"Mock接口列表"}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(g.Button,{onClick:()=>{ab(!0);let a=a0(ae.method,ae.apiPath);N({projectName:c||"",apiName:ae.apiPath,method:ae.method.toLowerCase(),siteName:"",content:a||""})},variant:"default",size:"sm",children:"新建"}),(0,d.jsx)(g.Button,{onClick:aW,disabled:F,variant:"outline",size:"sm",children:F?"加载中...":"刷新"}),(0,d.jsx)(g.Button,{onClick:aU,variant:"outline",size:"sm",children:"一键关闭"}),(0,d.jsx)(g.Button,{onClick:aV,variant:"outline",size:"sm",children:"一键开启"})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsxs)("div",{className:"relative flex-1 max-w-md",children:[(0,d.jsx)(j.Input,{placeholder:"搜索接口地址...",value:aq,onChange:a=>bc(a.target.value),className:"pr-8"}),aq&&(0,d.jsx)(g.Button,{variant:"ghost",size:"sm",onClick:()=>{ar(""),I(1)},className:"absolute right-1 top-1/2 transform -translate-y-1/2 h-6 w-6 p-0 hover:bg-gray-100",children:"×"})]}),aq&&(0,d.jsxs)("span",{className:"text-sm text-gray-500",children:['搜索关键词: "',aq,'"']})]}),F?(0,d.jsx)("div",{className:"text-center py-8",children:(0,d.jsx)("p",{className:"text-gray-500",children:"加载Mock数据中..."})}):D&&D.mockFiles.length>0?(()=>{let a=[];D.mockFiles.forEach(b=>{b.methods.forEach(c=>{let d=b.apiName.replace(/_/g,"/"),e=c.files.map(a=>a.siteName),f=c.setting?.currentSite||e[0]||"",g=c.setting?.open||[],h=g.includes(f);a.push({apiPath:d,method:c.method.toUpperCase(),currentSite:f,availableSites:e,apiName:b.apiName,isOpen:h,openSites:g})})});let b=aq.trim()?a.filter(a=>a.apiPath.toLowerCase().includes(aq.toLowerCase())):a,c=b.length,e=Math.ceil(c/J),f=(H-1)*J,h=f+J,j=b.slice(f,h);return(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)(m.Table,{children:[(0,d.jsx)(m.TableHeader,{children:(0,d.jsxs)(m.TableRow,{children:[(0,d.jsx)(m.TableHead,{children:"接口地址"}),(0,d.jsx)(m.TableHead,{children:"请求方法"}),(0,d.jsx)(m.TableHead,{children:"当前场景"}),(0,d.jsx)(m.TableHead,{children:"开启mock"}),(0,d.jsx)(m.TableHead,{children:"操作"})]})}),(0,d.jsx)(m.TableBody,{children:j.map((a,b)=>(0,d.jsxs)(m.TableRow,{children:[(0,d.jsx)(m.TableCell,{className:"font-medium",children:a.apiPath}),(0,d.jsx)(m.TableCell,{children:(0,d.jsx)("span",{className:`px-2 py-1 rounded text-xs font-medium ${"GET"===a.method?"bg-green-100 text-green-800":"POST"===a.method?"bg-blue-100 text-blue-800":"PUT"===a.method?"bg-yellow-100 text-yellow-800":"DELETE"===a.method?"bg-red-100 text-red-800":"bg-gray-100 text-gray-800"}`,children:a.method})}),(0,d.jsx)(m.TableCell,{children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsxs)(i.Select,{value:a.currentSite,onValueChange:b=>aX(a.apiName,a.method.toLowerCase(),b),children:[(0,d.jsx)(i.SelectTrigger,{className:"w-32",children:(0,d.jsx)(i.SelectValue,{})}),(0,d.jsx)(i.SelectContent,{children:a.availableSites.map(a=>(0,d.jsx)(i.SelectItem,{value:a,children:a},a))})]}),a.availableSites.length>1&&(0,d.jsx)(g.Button,{variant:"ghost",size:"sm",onClick:()=>a8(a.apiName,a.method.toLowerCase(),a.currentSite),className:"h-8 w-8 p-0 text-red-500 hover:text-red-700 hover:bg-red-50",title:"删除当前场景",children:(0,d.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,d.jsx)("path",{d:"M3 6h18"}),(0,d.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,d.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c0 1 1 2 2 2v2"})]})})]})}),(0,d.jsx)(m.TableCell,{children:(0,d.jsx)(l.Switch,{checked:a.isOpen,onCheckedChange:b=>a6(a.apiName,a.method.toLowerCase(),a.currentSite,b)})}),(0,d.jsx)(m.TableCell,{children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(g.Button,{variant:"outline",size:"sm",onClick:()=>aY(a.apiName,a.method.toLowerCase(),a.currentSite),disabled:Q,children:Q?"加载中...":"编辑"}),(0,d.jsx)(g.Button,{variant:"outline",size:"sm",onClick:()=>a3(a.apiName,a.method.toLowerCase(),a.apiPath),disabled:ai,children:"新增场景"}),(0,d.jsx)(g.Button,{variant:"outline",size:"sm",onClick:()=>ba(a.apiName,a.apiPath),className:"text-red-500 hover:text-red-700 hover:border-red-300",children:"删除接口"})]})})]},`${a.apiName}-${a.method}-${b}`))})]}),e>1&&(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"text-sm text-gray-500",children:["显示 ",f+1,"-",Math.min(h,c)," 条,共 ",c," 条"]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(g.Button,{variant:"outline",size:"sm",onClick:()=>I(a=>Math.max(1,a-1)),disabled:1===H,children:"上一页"}),(0,d.jsxs)("span",{className:"text-sm",children:[H," / ",e]}),(0,d.jsx)(g.Button,{variant:"outline",size:"sm",onClick:()=>I(a=>Math.min(e,a+1)),disabled:H===e,children:"下一页"})]})]})]})})():(0,d.jsxs)("div",{className:"text-center py-8",children:[(0,d.jsx)("p",{className:"text-gray-500",children:"暂无Mock接口数据"}),(0,d.jsx)("p",{className:"text-xs text-gray-400 mt-1",children:"请先创建Mock文件"})]})]})]})})]}):(0,d.jsx)("div",{className:"text-center text-gray-500 py-8",children:(0,d.jsx)("p",{children:"该项目没有配置环境信息"})}),(0,d.jsx)(n.Dialog,{open:O||aa||ac,onOpenChange:a=>{a||(P(!1),ab(!1),ad(!1),ah(null))},children:(0,d.jsxs)(n.DialogContent,{className:"w-screen h-screen max-w-none max-h-none m-0 rounded-none overflow-hidden flex flex-col",children:[(0,d.jsxs)(n.DialogHeader,{className:"flex-shrink-0 border-b pb-4",children:[(0,d.jsx)(n.DialogTitle,{children:aa?"新建Mock文件":ac?"新增场景":"编辑Mock文件"}),(0,d.jsx)(n.DialogDescription,{children:aa?"创建一个新的Mock接口文件":ac&&ag?(0,d.jsxs)(d.Fragment,{children:["为接口 ",ag.apiPath," [",ag.method.toUpperCase(),"] 新增场景"]}):M?(0,d.jsxs)(d.Fragment,{children:["编辑 ",M.apiName.replace(/_/g,"/")," - ",M.method.toUpperCase()," - ",M.siteName,".js"]}):null})]}),(aa||ac)&&(0,d.jsxs)("div",{className:"flex-shrink-0 border-b pb-4",children:[(0,d.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(k.Label,{htmlFor:"apiPath",className:"text-sm font-medium",children:"接口地址"}),ac?(0,d.jsx)("div",{className:"px-3 py-2 bg-gray-50 border border-gray-200 rounded-md text-sm text-gray-600",children:ae.apiPath}):(0,d.jsx)(j.Input,{id:"apiPath",placeholder:"/api/user/info",value:ae.apiPath,onChange:a=>a_("apiPath",a.target.value)})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(k.Label,{htmlFor:"method",className:"text-sm font-medium",children:"请求方法"}),ac?(0,d.jsx)("div",{className:"px-3 py-2 bg-gray-50 border border-gray-200 rounded-md text-sm text-gray-600",children:ae.method}):(0,d.jsxs)(i.Select,{value:ae.method,onValueChange:a=>a_("method",a),children:[(0,d.jsx)(i.SelectTrigger,{children:(0,d.jsx)(i.SelectValue,{})}),(0,d.jsxs)(i.SelectContent,{children:[(0,d.jsx)(i.SelectItem,{value:"GET",children:"GET"}),(0,d.jsx)(i.SelectItem,{value:"POST",children:"POST"}),(0,d.jsx)(i.SelectItem,{value:"PUT",children:"PUT"}),(0,d.jsx)(i.SelectItem,{value:"DELETE",children:"DELETE"}),(0,d.jsx)(i.SelectItem,{value:"PATCH",children:"PATCH"})]})]})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(k.Label,{htmlFor:"siteName",className:"text-sm font-medium",children:"场景名称"}),aa?(0,d.jsx)("div",{className:"px-3 py-2 bg-gray-50 border border-gray-200 rounded-md text-sm text-gray-600",children:"默认场景"}):(0,d.jsx)(j.Input,{id:"siteName",placeholder:"请输入场景名称",value:ae.siteName,onChange:a=>a_("siteName",a.target.value)})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(k.Label,{htmlFor:"mockOpen",className:"text-sm font-medium",children:"开启Mock"}),(0,d.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,d.jsx)(l.Switch,{id:"mockOpen",checked:ae.mockOpen,onCheckedChange:a=>a_("mockOpen",a)}),(0,d.jsx)("span",{className:"text-sm text-gray-600",children:ae.mockOpen?"开启":"关闭"})]})]})]}),aa&&ae.apiPath.trim()&&ae.siteName.trim()&&a1(ae.apiPath,ae.method,ae.siteName)&&(0,d.jsx)("div",{className:"mt-4 p-3 bg-red-50 border border-red-200 rounded-md",children:(0,d.jsx)("div",{className:"flex items-center",children:(0,d.jsxs)("span",{className:"text-red-600 text-sm",children:["⚠️ 接口 ",ae.apiPath," [",ae.method.toUpperCase(),'] 的场景 "',ae.siteName,'" 已存在']})})}),ac&&ag&&ae.siteName.trim()&&a4(ag.apiName,ag.method,ae.siteName)&&(0,d.jsx)("div",{className:"mt-4 p-3 bg-red-50 border border-red-200 rounded-md",children:(0,d.jsx)("div",{className:"flex items-center",children:(0,d.jsxs)("span",{className:"text-red-600 text-sm",children:['⚠️ 场景 "',ae.siteName,'" 已存在']})})})]}),(0,d.jsx)("div",{className:"flex-1 flex flex-col space-y-4 py-4",children:(0,d.jsxs)("div",{className:"flex-1 flex flex-col",children:[(0,d.jsx)(k.Label,{className:"text-sm font-medium mb-2",children:"文件内容"}),(0,d.jsxs)("div",{className:"flex-1 border rounded-md overflow-hidden relative",children:[U&&(0,d.jsx)("div",{className:"absolute inset-0 bg-gray-50 flex items-center justify-center z-10",children:(0,d.jsx)("p",{className:"text-gray-500",children:"编辑器加载中..."})}),(0,d.jsx)(o.default,{height:"100%",defaultLanguage:"javascript",value:M?.content||"",onChange:a=>{N(b=>b?{...b,content:a||""}:null)},onMount:async a=>{console.log("编辑器挂载,模式:",{isCreateMode:aa,isAddSceneMode:ac,createFormData:ae}),X(a),V(!1),setTimeout(()=>aC(a),500)},loading:(0,d.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,d.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}},aa?"create":ac?"addscene":"edit")]})]})}),(0,d.jsxs)(n.DialogFooter,{className:"flex justify-between flex-shrink-0 border-t pt-4",children:[(0,d.jsx)(g.Button,{variant:"secondary",onClick:aA,disabled:!W||U,children:"格式化代码"}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(g.Button,{variant:"outline",onClick:()=>{aa?(ab(!1),af({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0})):ac?(ad(!1),ah(null),af({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0})):a$()},children:"取消"}),aa?(0,d.jsx)(g.Button,{onClick:a2,disabled:ai||!ae.apiPath.trim()||!ae.siteName.trim()||a1(ae.apiPath,ae.method,ae.siteName),children:ai?"创建中...":"创建"}):ac?(0,d.jsx)(g.Button,{onClick:a5,disabled:ai||!ae.siteName.trim()||!!ag&&a4(ag.apiName,ag.method,ae.siteName),children:ai?"创建中...":"创建"}):(0,d.jsx)(g.Button,{onClick:aZ,disabled:S,children:S?"保存中...":"保存"})]})]})]})}),(0,d.jsx)(n.Dialog,{open:au,onOpenChange:a=>{a||aO()},children:(0,d.jsxs)(n.DialogContent,{className:"max-w-5xl h-[85vh] max-h-[85vh] flex flex-col p-0",children:[(0,d.jsxs)(n.DialogHeader,{className:"px-6 pt-6 pb-4",children:[(0,d.jsxs)(n.DialogTitle,{className:"flex items-center justify-between",children:[(0,d.jsxs)("span",{children:["进程日志 - ",c," - ",aw]}),(0,d.jsx)("span",{className:"flex items-center gap-2 text-sm font-normal",children:aJ&&(0,d.jsxs)("span",{className:"flex items-center gap-1 text-green-600",children:[(0,d.jsx)("span",{className:"w-2 h-2 bg-green-500 rounded-full animate-pulse"}),"实时连接"]})})]}),(0,d.jsx)(n.DialogDescription,{children:"实时显示进程输出日志"})]}),(0,d.jsx)("div",{className:"flex-1 min-h-0 bg-gray-900 mx-6 rounded-md overflow-hidden",children:(0,d.jsx)(q.default,{logs:ay})}),(0,d.jsxs)(n.DialogFooter,{className:"flex items-center justify-between px-6 pb-6 pt-4",children:[(0,d.jsxs)("div",{className:"text-sm text-gray-500",children:["共 ",ay.length," 条日志"]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(g.Button,{variant:"outline",onClick:()=>{aw&&(aM(),aL(aw))},disabled:!!aJ,children:"重新连接"}),(0,d.jsx)(g.Button,{variant:"default",onClick:aO,children:"关闭"})]})]})]})}),(0,d.jsx)(n.Dialog,{open:ak.open,onOpenChange:a=>{a||al({open:!1,apiName:"",method:"",siteName:""})},children:(0,d.jsxs)(n.DialogContent,{className:"max-w-md",children:[(0,d.jsxs)(n.DialogHeader,{children:[(0,d.jsxs)(n.DialogTitle,{className:"flex items-center gap-2 text-red-600",children:[(0,d.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,d.jsx)("path",{d:"M3 6h18"}),(0,d.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,d.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c0 1 1 2 2 2v2"})]}),"确认删除场景"]}),(0,d.jsxs)(n.DialogDescription,{children:["确定要删除场景 ",(0,d.jsxs)("span",{className:"font-medium text-gray-900",children:['"',ak.siteName,'"']})," 吗?",(0,d.jsx)("br",{}),(0,d.jsx)("span",{className:"text-red-500 text-sm mt-2 block",children:"此操作不可撤销"})]})]}),(0,d.jsxs)(n.DialogFooter,{className:"flex gap-2 justify-end",children:[(0,d.jsx)(g.Button,{variant:"outline",onClick:()=>al({open:!1,apiName:"",method:"",siteName:""}),children:"取消"}),(0,d.jsx)(g.Button,{variant:"destructive",onClick:a9,children:"删除"})]})]})}),(0,d.jsx)(n.Dialog,{open:am.open,onOpenChange:a=>{a||an({open:!1,apiName:"",apiPath:""})},children:(0,d.jsxs)(n.DialogContent,{className:"max-w-md",children:[(0,d.jsxs)(n.DialogHeader,{children:[(0,d.jsxs)(n.DialogTitle,{className:"flex items-center gap-2 text-red-600",children:[(0,d.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,d.jsx)("path",{d:"M3 6h18"}),(0,d.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,d.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c0 1 1 2 2 2v2"})]}),"确认删除接口"]}),(0,d.jsxs)(n.DialogDescription,{children:["确定要删除整个接口 ",(0,d.jsxs)("span",{className:"font-medium text-gray-900",children:['"',am.apiPath,'"']})," 吗?",(0,d.jsx)("br",{}),(0,d.jsx)("span",{className:"text-red-500 text-sm mt-2 block font-medium",children:"⚠️ 这将删除该接口的所有场景和相关文件,此操作不可撤销"})]})]}),(0,d.jsxs)(n.DialogFooter,{className:"flex gap-2 justify-end",children:[(0,d.jsx)(g.Button,{variant:"outline",onClick:()=>an({open:!1,apiName:"",apiPath:""}),children:"取消"}),(0,d.jsx)(g.Button,{variant:"destructive",onClick:bb,children:"删除整个接口"})]})]})}),ao.open&&(0,d.jsx)("div",{className:"fixed top-4 right-4 z-50 animate-in slide-in-from-top-2 duration-300",children:(0,d.jsxs)("div",{className:`flex items-center gap-3 px-4 py-3 rounded-lg shadow-lg border max-w-sm ${"success"===ao.type?"bg-green-50 border-green-200 text-green-800":"bg-red-50 border-red-200 text-red-800"}`,children:[(0,d.jsx)("div",{className:"flex-shrink-0",children:"success"===ao.type?(0,d.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,d.jsx)("path",{d:"M20 6L9 17l-5-5"})}):(0,d.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,d.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,d.jsx)("line",{x1:"15",y1:"9",x2:"9",y2:"15"}),(0,d.jsx)("line",{x1:"9",y1:"9",x2:"15",y2:"15"})]})}),(0,d.jsx)("p",{className:"text-sm font-medium",children:ao.message}),(0,d.jsx)("button",{onClick:()=>ap({open:!1,type:"success",message:""}),className:"flex-shrink-0 ml-auto",children:(0,d.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,d.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,d.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]})})]})}function t(){return(0,d.jsx)(e.Suspense,{fallback:(0,d.jsx)("div",{className:"min-h-screen bg-gray-50 flex items-center justify-center",children:(0,d.jsxs)("div",{className:"text-center space-y-4",children:[(0,d.jsx)("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600 mx-auto"}),(0,d.jsx)("p",{className:"text-gray-600",children:"正在加载配置页面..."})]})}),children:(0,d.jsx)(s,{})})}}};
59
+ });`}},a1=(a,b,c)=>{if(!D)return!1;let d=a.replace(/\//g,"_").replace(/^_/,""),e=D.mockFiles.find(a=>a.apiName===d);if(!e)return!1;let f=e.methods.find(a=>a.method.toLowerCase()===b.toLowerCase());return!!f&&!!f.files.find(a=>a.siteName===c)},a2=async()=>{if(!ae.apiPath.trim())return void a7("error","请输入接口地址");if(a1(ae.apiPath,ae.method,ae.siteName))return void a7("error",`接口 ${ae.apiPath} [${ae.method.toUpperCase()}] 的场景 "${ae.siteName}" 已存在,不能重复创建`);aj(!0);try{let a=ae.apiPath.replace(/\//g,"_").replace(/^_/,""),b=M?.content??a0(ae.method,ae.apiPath),d=await fetch("/api/mock-file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:c,apiName:a,method:ae.method.toLowerCase(),siteName:ae.siteName,content:b})}),e=await d.json();if(e.success)ae.mockOpen&&await a6(a,ae.method.toLowerCase(),ae.siteName,!0),af({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0}),ab(!1),await aW(),a7("success","Mock文件创建成功");else throw Error(e.error||"创建失败")}catch(a){console.error("创建Mock文件失败:",a),a7("error",`创建Mock文件失败: ${a instanceof Error?a.message:"未知错误"}`)}finally{aj(!1)}},a3=(a,b,d)=>{console.log("新增场景点击:",{apiName:a,method:b,apiPath:d}),ah({apiName:a,method:b,apiPath:d});let e={apiPath:d,method:b.toUpperCase(),siteName:"",mockOpen:!0};console.log("设置表单数据:",e),af(e),ad(!0);let f=a0(e.method,e.apiPath);N({projectName:c||"",apiName:a,method:b.toLowerCase(),siteName:"",content:f||""})},a4=(a,b,c)=>{if(!D)return!1;let d=D.mockFiles.find(b=>b.apiName===a);if(!d)return!1;let e=d.methods.find(a=>a.method.toLowerCase()===b.toLowerCase());return!!e&&!!e.files.find(a=>a.siteName===c)},a5=async()=>{if(!ag||!ae.siteName.trim())return void a7("error","请输入场景名称");if(a4(ag.apiName,ag.method,ae.siteName))return void a7("error",`接口 ${ag.apiPath} [${ag.method.toUpperCase()}] 的场景 "${ae.siteName}" 已存在`);aj(!0);try{let a=M?.content??a0(ag.method,ag.apiPath);console.log("defaultContent",a,M);let b=await fetch("/api/mock-file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:c,apiName:ag.apiName,method:ag.method.toLowerCase(),siteName:ae.siteName,content:a})}),d=await b.json();if(d.success){if(ae.mockOpen&&await a6(ag.apiName,ag.method,ae.siteName,!0),af({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0}),r)try{let a=await fetch("/api/mock-setting",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r.projectName,apiName:ag.apiName,method:ag.method,currentSite:ae.siteName})}),b=await a.json();b.success||console.warn("切换到新场景失败:",b.error)}catch(a){console.warn("切换到新场景失败:",a)}try{await a6(ag.apiName,ag.method,ae.siteName,!0)}catch(a){console.warn("自动开启新场景失败:",a)}ad(!1),ah(null),await aW(),a7("success","场景创建成功")}else throw Error(d.error||"创建失败")}catch(a){console.error("创建场景失败:",a),a7("error",`创建场景失败: ${a instanceof Error?a.message:"未知错误"}`)}finally{aj(!1)}},a6=async(a,b,c,d)=>{if(r)try{let e=await fetch("/api/mock-open-status",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r.projectName,apiName:a,method:b,siteName:c,isOpen:d})}),f=await e.json();f.success?await aW():console.error("更新Mock开启状态失败:",f.error)}catch(a){console.error("更新Mock开启状态失败:",a)}},a7=(a,b)=>{ap({open:!0,type:a,message:b}),setTimeout(()=>{ap({open:!1,type:"success",message:""})},3e3)},a8=(a,b,c)=>{al({open:!0,apiName:a,method:b,siteName:c})},a9=async()=>{if(!r)return;let{apiName:a,method:b,siteName:c}=ak;try{let d=await fetch(`/api/mock-file?project=${encodeURIComponent(r.projectName)}&apiName=${encodeURIComponent(a)}&method=${encodeURIComponent(b)}&siteName=${encodeURIComponent(c)}`,{method:"DELETE"}),e=await d.json();if(e.success){let a=window.scrollY;await aW(),window.scrollTo(0,a),a7("success","场景删除成功")}else console.error("删除场景失败:",e.error),a7("error",`删除场景失败: ${e.error}`)}catch(a){console.error("删除场景失败:",a),a7("error","删除场景失败: 网络错误")}finally{al({open:!1,apiName:"",method:"",siteName:""})}},ba=(a,b)=>{an({open:!0,apiName:a,apiPath:b})},bb=async()=>{if(!r)return;let{apiName:a}=am;try{let b=await fetch(`/api/delete-mock-api?project=${encodeURIComponent(r.projectName)}&apiName=${encodeURIComponent(a)}`,{method:"DELETE"}),c=await b.json();if(c.success){let a=window.scrollY;await aW(),window.scrollTo(0,a),a7("success","接口删除成功")}else console.error("删除接口失败:",c.error),a7("error",`删除接口失败: ${c.error}`)}catch(a){console.error("删除接口失败:",a),a7("error","删除接口失败: 网络错误")}finally{an({open:!1,apiName:"",apiPath:""})}},bc=a=>{ar(a),I(1)};if(t)return(0,d.jsx)("main",{className:"container mx-auto p-4 sm:p-6 md:p-8",children:(0,d.jsx)("div",{className:"text-center py-8",children:(0,d.jsx)("p",{children:"加载中..."})})});if(v||!r)return(0,d.jsxs)("main",{className:"container mx-auto p-4 sm:p-6 md:p-8",children:[(0,d.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,d.jsx)("h1",{className:"text-2xl font-bold",children:"项目配置"}),(0,d.jsxs)("div",{className:"flex gap-2",children:[c&&(0,d.jsx)(g.Button,{variant:"default",onClick:aF,disabled:B,children:B?"打开中...":"在 Cursor 中打开"}),(0,d.jsx)(g.Button,{variant:"outline",onClick:aD,children:"返回初始化页面"})]})]}),(0,d.jsx)("div",{className:"text-center text-red-500 py-8",children:(0,d.jsx)("p",{children:v||"未找到项目配置"})})]});let bd=Object.keys(r.envs);return(0,d.jsxs)("main",{className:"container mx-auto p-4 sm:p-6 md:p-8",children:[(0,d.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,d.jsxs)("div",{className:"flex items-center gap-4",children:[(0,d.jsxs)("h1",{className:"text-2xl font-bold",children:[r.projectName," - 项目配置"]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(k.Label,{className:"text-sm font-medium text-gray-600",children:"切换项目:"}),(0,d.jsxs)(i.Select,{value:c||"",onValueChange:d=>{if(d===c)return;let e=a.get("tab"),f=`/configuration?project=${encodeURIComponent(d)}${e?`&tab=${e}`:""}`;b.push(f)},disabled:$,children:[(0,d.jsx)(i.SelectTrigger,{className:"w-40",children:(0,d.jsx)(i.SelectValue,{placeholder:$?"加载中...":"选择项目"})}),(0,d.jsx)(i.SelectContent,{children:Y.map(a=>(0,d.jsx)(i.SelectItem,{value:a.name,children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:`w-2 h-2 rounded-full ${"existing"===a.status?"bg-green-500":"failed"===a.status?"bg-red-500":"bg-yellow-500"}`}),(0,d.jsx)("span",{children:a.name})]})},a.name))})]})]})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(g.Button,{variant:"default",onClick:aF,disabled:B,children:B?"打开中...":"在 Cursor 中打开"}),(0,d.jsx)(g.Button,{variant:"outline",onClick:aD,children:"返回初始化页面"})]})]}),bd.length>0?(0,d.jsxs)(h.Tabs,{value:K||bd[0],onValueChange:a=>{L(a),"mock"===a&&aW()},className:"w-full",children:[(0,d.jsxs)(h.TabsList,{className:"grid w-full",style:{gridTemplateColumns:`repeat(${bd.length+1}, 1fr)`},children:[bd.map(a=>(0,d.jsx)(h.TabsTrigger,{value:a,className:"capitalize relative",children:(0,d.jsxs)("span",{className:"flex items-center gap-2",children:[a,as[a]?.running&&(0,d.jsx)("span",{className:"w-2 h-2 bg-green-500 rounded-full animate-pulse",title:"运行中"})]})},a)),(0,d.jsx)(h.TabsTrigger,{value:"mock",className:"capitalize",children:"Mock配置"})]}),bd.map(a=>{let b=r.envs[a],c=Object.entries(b.proxyEnv),e=x[a]?.selectedProxy||"",f=x[a]?.selectedOption||"",l=b.currentProxy,m=b.proxyEnv[l]||l,n=b.proxyEnv[l]?l:"custom";return(0,d.jsxs)(h.TabsContent,{value:a,className:"space-y-6",children:[(0,d.jsxs)("div",{className:"p-6 bg-gray-50 rounded-lg",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,d.jsx)("h3",{className:"text-lg font-semibold",children:"开发服务器控制"}),(0,d.jsx)("div",{className:"flex items-center gap-4",children:as[a]?.running?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm text-green-600",children:[(0,d.jsx)("span",{className:"w-2 h-2 bg-green-500 rounded-full animate-pulse"}),"运行中 (PID: ",as[a]?.pid,")"]}),(0,d.jsx)(g.Button,{variant:"outline",size:"sm",onClick:()=>aN(a),children:"查看日志"}),(0,d.jsx)(g.Button,{variant:"destructive",size:"sm",onClick:()=>aI(a),disabled:as[a]?.loading,children:as[a]?.loading?"处理中...":"停止"})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("span",{className:"flex items-center gap-2 text-sm text-gray-500",children:[(0,d.jsx)("span",{className:"w-2 h-2 bg-gray-400 rounded-full"}),"未运行"]}),(0,d.jsx)(g.Button,{variant:"outline",size:"sm",onClick:()=>aN(a),children:"查看日志"}),(0,d.jsx)(g.Button,{variant:"default",size:"sm",onClick:()=>aH(a),disabled:as[a]?.loading||!b.startCommand,children:as[a]?.loading?"处理中...":"启动"})]})})]}),b.startCommand?(0,d.jsxs)("div",{className:"text-sm text-gray-600",children:[(0,d.jsx)("span",{className:"font-medium",children:"启动命令:"})," ",(0,d.jsx)("code",{className:"px-2 py-1 bg-gray-200 rounded",children:b.startCommand})]}):(0,d.jsx)("div",{className:"text-sm text-yellow-600",children:"⚠️ 该环境未配置启动命令"}),b.host&&(0,d.jsxs)("div",{className:"text-sm text-gray-600 mt-2",children:[(0,d.jsx)("span",{className:"font-medium",children:"访问地址:"}),as[a]?.running?(0,d.jsx)("a",{href:b.host,target:"_blank",rel:"noopener noreferrer",className:"ml-2 text-blue-600 hover:underline",children:b.host}):(0,d.jsx)("span",{className:"ml-2",children:b.host})]})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[(0,d.jsxs)("div",{className:"p-6 bg-gray-50 rounded-lg",children:[(0,d.jsxs)("h3",{className:"text-lg font-semibold mb-4",children:[a," 环境配置"]}),(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)(k.Label,{className:"block text-sm font-medium mb-2",children:"接口代理环境切换"}),(0,d.jsxs)(i.Select,{value:f,onValueChange:b=>aP(a,b),children:[(0,d.jsx)(i.SelectTrigger,{className:"w-full",children:(0,d.jsx)(i.SelectValue,{placeholder:"选择代理环境"})}),(0,d.jsx)(i.SelectContent,{children:c.map(([a,b])=>(0,d.jsxs)(i.SelectItem,{value:a,children:[a,"(",b,")"]},a))})]})]}),m&&(0,d.jsxs)("div",{className:"p-3 bg-blue-50 rounded-md",children:[(0,d.jsxs)("p",{className:"text-sm text-blue-700",children:["当前项目接口已代理至:",n," 环境"]}),(0,d.jsxs)("p",{className:"text-sm text-blue-600",children:["代理地址为:",m]})]}),"custom"===f&&(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(k.Label,{className:"block text-sm font-medium",children:"自定义代理地址"}),(0,d.jsx)(j.Input,{type:"url",placeholder:"请输入自定义代理地址 (如: http://localhost:52741)",value:e,onChange:b=>aQ(a,b.target.value),className:"w-full"}),(0,d.jsx)("p",{className:"text-xs text-gray-500",children:"请输入完整的代理地址,包括协议 (http:// 或 https://)"})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)(g.Button,{onClick:()=>aT(a),disabled:x[a]?.saving,className:"w-full sm:w-auto",children:x[a]?.saving?"保存中...":"保存配置"}),x[a]?.saveMessage&&(0,d.jsx)("span",{className:`text-sm ml-3 ${x[a]?.saveMessage==="保存成功"?"text-green-600":"text-red-600"}`,children:x[a]?.saveMessage})]})]})]}),(0,d.jsx)(p.default,{currentProjectName:r.projectName,currentEnvName:a})]})]},a)}),(0,d.jsx)(h.TabsContent,{value:"mock",className:"space-y-6",children:(0,d.jsxs)("div",{className:"p-6 bg-gray-50 rounded-lg",children:[(0,d.jsx)("h3",{className:"text-lg font-semibold mb-4",children:"Mock配置"}),(0,d.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 mb-6",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)(k.Label,{className:"text-sm font-medium",children:"Mock拦截"}),(0,d.jsx)("p",{className:"text-xs text-gray-500",children:"启用或禁用Mock拦截功能"})]}),(0,d.jsx)(l.Switch,{checked:z.mockingIntercept,onCheckedChange:aR})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)(k.Label,{className:"text-sm font-medium",children:"Mock开启"}),(0,d.jsx)("p",{className:"text-xs text-gray-500",children:"启用或禁用Mock功能"})]}),(0,d.jsx)(l.Switch,{checked:z.mockOpen,onCheckedChange:aS})]})]}),z.saveMessage&&(0,d.jsx)("div",{className:"mb-6",children:(0,d.jsx)("span",{className:`text-sm ${z.saveMessage.includes("已保存")?"text-green-600":"text-red-600"}`,children:z.saveMessage})}),(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("h4",{className:"text-md font-medium",children:"Mock接口列表"}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(g.Button,{onClick:()=>{ab(!0);let a=a0(ae.method,ae.apiPath);N({projectName:c||"",apiName:ae.apiPath,method:ae.method.toLowerCase(),siteName:"",content:a||""})},variant:"default",size:"sm",children:"新建"}),(0,d.jsx)(g.Button,{onClick:aW,disabled:F,variant:"outline",size:"sm",children:F?"加载中...":"刷新"}),(0,d.jsx)(g.Button,{onClick:aU,variant:"outline",size:"sm",children:"一键关闭"}),(0,d.jsx)(g.Button,{onClick:aV,variant:"outline",size:"sm",children:"一键开启"})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsxs)("div",{className:"relative flex-1 max-w-md",children:[(0,d.jsx)(j.Input,{placeholder:"搜索接口地址...",value:aq,onChange:a=>bc(a.target.value),className:"pr-8"}),aq&&(0,d.jsx)(g.Button,{variant:"ghost",size:"sm",onClick:()=>{ar(""),I(1)},className:"absolute right-1 top-1/2 transform -translate-y-1/2 h-6 w-6 p-0 hover:bg-gray-100",children:"×"})]}),aq&&(0,d.jsxs)("span",{className:"text-sm text-gray-500",children:['搜索关键词: "',aq,'"']})]}),F?(0,d.jsx)("div",{className:"text-center py-8",children:(0,d.jsx)("p",{className:"text-gray-500",children:"加载Mock数据中..."})}):D&&D.mockFiles.length>0?(()=>{let a=[];D.mockFiles.forEach(b=>{b.methods.forEach(c=>{let d=b.apiName.replace(/_/g,"/"),e=c.files.map(a=>a.siteName),f=c.setting?.currentSite||e[0]||"",g=c.setting?.open||[],h=g.includes(f);a.push({apiPath:d,method:c.method.toUpperCase(),currentSite:f,availableSites:e,apiName:b.apiName,isOpen:h,openSites:g})})});let b=aq.trim()?a.filter(a=>a.apiPath.toLowerCase().includes(aq.toLowerCase())):a,c=b.length,e=Math.ceil(c/J),f=(H-1)*J,h=f+J,j=b.slice(f,h);return(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)(m.Table,{children:[(0,d.jsx)(m.TableHeader,{children:(0,d.jsxs)(m.TableRow,{children:[(0,d.jsx)(m.TableHead,{children:"接口地址"}),(0,d.jsx)(m.TableHead,{children:"请求方法"}),(0,d.jsx)(m.TableHead,{children:"当前场景"}),(0,d.jsx)(m.TableHead,{children:"开启mock"}),(0,d.jsx)(m.TableHead,{children:"操作"})]})}),(0,d.jsx)(m.TableBody,{children:j.map((a,b)=>(0,d.jsxs)(m.TableRow,{children:[(0,d.jsx)(m.TableCell,{className:"font-medium",children:a.apiPath}),(0,d.jsx)(m.TableCell,{children:(0,d.jsx)("span",{className:`px-2 py-1 rounded text-xs font-medium ${"GET"===a.method?"bg-green-100 text-green-800":"POST"===a.method?"bg-blue-100 text-blue-800":"PUT"===a.method?"bg-yellow-100 text-yellow-800":"DELETE"===a.method?"bg-red-100 text-red-800":"bg-gray-100 text-gray-800"}`,children:a.method})}),(0,d.jsx)(m.TableCell,{children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsxs)(i.Select,{value:a.currentSite,onValueChange:b=>aX(a.apiName,a.method.toLowerCase(),b),children:[(0,d.jsx)(i.SelectTrigger,{className:"w-32",children:(0,d.jsx)(i.SelectValue,{})}),(0,d.jsx)(i.SelectContent,{children:a.availableSites.map(a=>(0,d.jsx)(i.SelectItem,{value:a,children:a},a))})]}),a.availableSites.length>1&&(0,d.jsx)(g.Button,{variant:"ghost",size:"sm",onClick:()=>a8(a.apiName,a.method.toLowerCase(),a.currentSite),className:"h-8 w-8 p-0 text-red-500 hover:text-red-700 hover:bg-red-50",title:"删除当前场景",children:(0,d.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,d.jsx)("path",{d:"M3 6h18"}),(0,d.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,d.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c0 1 1 2 2 2v2"})]})})]})}),(0,d.jsx)(m.TableCell,{children:(0,d.jsx)(l.Switch,{checked:a.isOpen,onCheckedChange:b=>a6(a.apiName,a.method.toLowerCase(),a.currentSite,b)})}),(0,d.jsx)(m.TableCell,{children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(g.Button,{variant:"outline",size:"sm",onClick:()=>aY(a.apiName,a.method.toLowerCase(),a.currentSite),disabled:Q,children:Q?"加载中...":"编辑"}),(0,d.jsx)(g.Button,{variant:"outline",size:"sm",onClick:()=>a3(a.apiName,a.method.toLowerCase(),a.apiPath),disabled:ai,children:"新增场景"}),(0,d.jsx)(g.Button,{variant:"outline",size:"sm",onClick:()=>ba(a.apiName,a.apiPath),className:"text-red-500 hover:text-red-700 hover:border-red-300",children:"删除接口"})]})})]},`${a.apiName}-${a.method}-${b}`))})]}),e>1&&(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"text-sm text-gray-500",children:["显示 ",f+1,"-",Math.min(h,c)," 条,共 ",c," 条"]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(g.Button,{variant:"outline",size:"sm",onClick:()=>I(a=>Math.max(1,a-1)),disabled:1===H,children:"上一页"}),(0,d.jsxs)("span",{className:"text-sm",children:[H," / ",e]}),(0,d.jsx)(g.Button,{variant:"outline",size:"sm",onClick:()=>I(a=>Math.min(e,a+1)),disabled:H===e,children:"下一页"})]})]})]})})():(0,d.jsxs)("div",{className:"text-center py-8",children:[(0,d.jsx)("p",{className:"text-gray-500",children:"暂无Mock接口数据"}),(0,d.jsx)("p",{className:"text-xs text-gray-400 mt-1",children:"请先创建Mock文件"})]})]})]})})]}):(0,d.jsx)("div",{className:"text-center text-gray-500 py-8",children:(0,d.jsx)("p",{children:"该项目没有配置环境信息"})}),(0,d.jsx)(n.Dialog,{open:O||aa||ac,onOpenChange:a=>{a||(P(!1),ab(!1),ad(!1),ah(null))},children:(0,d.jsxs)(n.DialogContent,{className:"w-screen h-screen max-w-none max-h-none m-0 rounded-none overflow-hidden flex flex-col",children:[(0,d.jsxs)(n.DialogHeader,{className:"flex-shrink-0 border-b pb-4",children:[(0,d.jsx)(n.DialogTitle,{children:aa?"新建Mock文件":ac?"新增场景":"编辑Mock文件"}),(0,d.jsx)(n.DialogDescription,{children:aa?"创建一个新的Mock接口文件":ac&&ag?(0,d.jsxs)(d.Fragment,{children:["为接口 ",ag.apiPath," [",ag.method.toUpperCase(),"] 新增场景"]}):M?(0,d.jsxs)(d.Fragment,{children:["编辑 ",M.apiName.replace(/_/g,"/")," - ",M.method.toUpperCase()," - ",M.siteName,".cjs"]}):null})]}),(aa||ac)&&(0,d.jsxs)("div",{className:"flex-shrink-0 border-b pb-4",children:[(0,d.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(k.Label,{htmlFor:"apiPath",className:"text-sm font-medium",children:"接口地址"}),ac?(0,d.jsx)("div",{className:"px-3 py-2 bg-gray-50 border border-gray-200 rounded-md text-sm text-gray-600",children:ae.apiPath}):(0,d.jsx)(j.Input,{id:"apiPath",placeholder:"/api/user/info",value:ae.apiPath,onChange:a=>a_("apiPath",a.target.value)})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(k.Label,{htmlFor:"method",className:"text-sm font-medium",children:"请求方法"}),ac?(0,d.jsx)("div",{className:"px-3 py-2 bg-gray-50 border border-gray-200 rounded-md text-sm text-gray-600",children:ae.method}):(0,d.jsxs)(i.Select,{value:ae.method,onValueChange:a=>a_("method",a),children:[(0,d.jsx)(i.SelectTrigger,{children:(0,d.jsx)(i.SelectValue,{})}),(0,d.jsxs)(i.SelectContent,{children:[(0,d.jsx)(i.SelectItem,{value:"GET",children:"GET"}),(0,d.jsx)(i.SelectItem,{value:"POST",children:"POST"}),(0,d.jsx)(i.SelectItem,{value:"PUT",children:"PUT"}),(0,d.jsx)(i.SelectItem,{value:"DELETE",children:"DELETE"}),(0,d.jsx)(i.SelectItem,{value:"PATCH",children:"PATCH"})]})]})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(k.Label,{htmlFor:"siteName",className:"text-sm font-medium",children:"场景名称"}),aa?(0,d.jsx)("div",{className:"px-3 py-2 bg-gray-50 border border-gray-200 rounded-md text-sm text-gray-600",children:"默认场景"}):(0,d.jsx)(j.Input,{id:"siteName",placeholder:"请输入场景名称",value:ae.siteName,onChange:a=>a_("siteName",a.target.value)})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(k.Label,{htmlFor:"mockOpen",className:"text-sm font-medium",children:"开启Mock"}),(0,d.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,d.jsx)(l.Switch,{id:"mockOpen",checked:ae.mockOpen,onCheckedChange:a=>a_("mockOpen",a)}),(0,d.jsx)("span",{className:"text-sm text-gray-600",children:ae.mockOpen?"开启":"关闭"})]})]})]}),aa&&ae.apiPath.trim()&&ae.siteName.trim()&&a1(ae.apiPath,ae.method,ae.siteName)&&(0,d.jsx)("div",{className:"mt-4 p-3 bg-red-50 border border-red-200 rounded-md",children:(0,d.jsx)("div",{className:"flex items-center",children:(0,d.jsxs)("span",{className:"text-red-600 text-sm",children:["⚠️ 接口 ",ae.apiPath," [",ae.method.toUpperCase(),'] 的场景 "',ae.siteName,'" 已存在']})})}),ac&&ag&&ae.siteName.trim()&&a4(ag.apiName,ag.method,ae.siteName)&&(0,d.jsx)("div",{className:"mt-4 p-3 bg-red-50 border border-red-200 rounded-md",children:(0,d.jsx)("div",{className:"flex items-center",children:(0,d.jsxs)("span",{className:"text-red-600 text-sm",children:['⚠️ 场景 "',ae.siteName,'" 已存在']})})})]}),(0,d.jsx)("div",{className:"flex-1 flex flex-col space-y-4 py-4",children:(0,d.jsxs)("div",{className:"flex-1 flex flex-col",children:[(0,d.jsx)(k.Label,{className:"text-sm font-medium mb-2",children:"文件内容"}),(0,d.jsxs)("div",{className:"flex-1 border rounded-md overflow-hidden relative",children:[U&&(0,d.jsx)("div",{className:"absolute inset-0 bg-gray-50 flex items-center justify-center z-10",children:(0,d.jsx)("p",{className:"text-gray-500",children:"编辑器加载中..."})}),(0,d.jsx)(o.default,{height:"100%",defaultLanguage:"javascript",value:M?.content||"",onChange:a=>{N(b=>b?{...b,content:a||""}:null)},onMount:async a=>{console.log("编辑器挂载,模式:",{isCreateMode:aa,isAddSceneMode:ac,createFormData:ae}),X(a),V(!1),setTimeout(()=>aC(a),500)},loading:(0,d.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,d.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}},aa?"create":ac?"addscene":"edit")]})]})}),(0,d.jsxs)(n.DialogFooter,{className:"flex justify-between flex-shrink-0 border-t pt-4",children:[(0,d.jsx)(g.Button,{variant:"secondary",onClick:aA,disabled:!W||U,children:"格式化代码"}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(g.Button,{variant:"outline",onClick:()=>{aa?(ab(!1),af({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0})):ac?(ad(!1),ah(null),af({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0})):a$()},children:"取消"}),aa?(0,d.jsx)(g.Button,{onClick:a2,disabled:ai||!ae.apiPath.trim()||!ae.siteName.trim()||a1(ae.apiPath,ae.method,ae.siteName),children:ai?"创建中...":"创建"}):ac?(0,d.jsx)(g.Button,{onClick:a5,disabled:ai||!ae.siteName.trim()||!!ag&&a4(ag.apiName,ag.method,ae.siteName),children:ai?"创建中...":"创建"}):(0,d.jsx)(g.Button,{onClick:aZ,disabled:S,children:S?"保存中...":"保存"})]})]})]})}),(0,d.jsx)(n.Dialog,{open:au,onOpenChange:a=>{a||aO()},children:(0,d.jsxs)(n.DialogContent,{className:"max-w-5xl h-[85vh] max-h-[85vh] flex flex-col p-0",children:[(0,d.jsxs)(n.DialogHeader,{className:"px-6 pt-6 pb-4",children:[(0,d.jsxs)(n.DialogTitle,{className:"flex items-center justify-between",children:[(0,d.jsxs)("span",{children:["进程日志 - ",c," - ",aw]}),(0,d.jsx)("span",{className:"flex items-center gap-2 text-sm font-normal",children:aJ&&(0,d.jsxs)("span",{className:"flex items-center gap-1 text-green-600",children:[(0,d.jsx)("span",{className:"w-2 h-2 bg-green-500 rounded-full animate-pulse"}),"实时连接"]})})]}),(0,d.jsx)(n.DialogDescription,{children:"实时显示进程输出日志"})]}),(0,d.jsx)("div",{className:"flex-1 min-h-0 bg-gray-900 mx-6 rounded-md overflow-hidden",children:(0,d.jsx)(q.default,{logs:ay})}),(0,d.jsxs)(n.DialogFooter,{className:"flex items-center justify-between px-6 pb-6 pt-4",children:[(0,d.jsxs)("div",{className:"text-sm text-gray-500",children:["共 ",ay.length," 条日志"]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(g.Button,{variant:"outline",onClick:()=>{aw&&(aM(),aL(aw))},disabled:!!aJ,children:"重新连接"}),(0,d.jsx)(g.Button,{variant:"default",onClick:aO,children:"关闭"})]})]})]})}),(0,d.jsx)(n.Dialog,{open:ak.open,onOpenChange:a=>{a||al({open:!1,apiName:"",method:"",siteName:""})},children:(0,d.jsxs)(n.DialogContent,{className:"max-w-md",children:[(0,d.jsxs)(n.DialogHeader,{children:[(0,d.jsxs)(n.DialogTitle,{className:"flex items-center gap-2 text-red-600",children:[(0,d.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,d.jsx)("path",{d:"M3 6h18"}),(0,d.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,d.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c0 1 1 2 2 2v2"})]}),"确认删除场景"]}),(0,d.jsxs)(n.DialogDescription,{children:["确定要删除场景 ",(0,d.jsxs)("span",{className:"font-medium text-gray-900",children:['"',ak.siteName,'"']})," 吗?",(0,d.jsx)("br",{}),(0,d.jsx)("span",{className:"text-red-500 text-sm mt-2 block",children:"此操作不可撤销"})]})]}),(0,d.jsxs)(n.DialogFooter,{className:"flex gap-2 justify-end",children:[(0,d.jsx)(g.Button,{variant:"outline",onClick:()=>al({open:!1,apiName:"",method:"",siteName:""}),children:"取消"}),(0,d.jsx)(g.Button,{variant:"destructive",onClick:a9,children:"删除"})]})]})}),(0,d.jsx)(n.Dialog,{open:am.open,onOpenChange:a=>{a||an({open:!1,apiName:"",apiPath:""})},children:(0,d.jsxs)(n.DialogContent,{className:"max-w-md",children:[(0,d.jsxs)(n.DialogHeader,{children:[(0,d.jsxs)(n.DialogTitle,{className:"flex items-center gap-2 text-red-600",children:[(0,d.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,d.jsx)("path",{d:"M3 6h18"}),(0,d.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,d.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c0 1 1 2 2 2v2"})]}),"确认删除接口"]}),(0,d.jsxs)(n.DialogDescription,{children:["确定要删除整个接口 ",(0,d.jsxs)("span",{className:"font-medium text-gray-900",children:['"',am.apiPath,'"']})," 吗?",(0,d.jsx)("br",{}),(0,d.jsx)("span",{className:"text-red-500 text-sm mt-2 block font-medium",children:"⚠️ 这将删除该接口的所有场景和相关文件,此操作不可撤销"})]})]}),(0,d.jsxs)(n.DialogFooter,{className:"flex gap-2 justify-end",children:[(0,d.jsx)(g.Button,{variant:"outline",onClick:()=>an({open:!1,apiName:"",apiPath:""}),children:"取消"}),(0,d.jsx)(g.Button,{variant:"destructive",onClick:bb,children:"删除整个接口"})]})]})}),ao.open&&(0,d.jsx)("div",{className:"fixed top-4 right-4 z-50 animate-in slide-in-from-top-2 duration-300",children:(0,d.jsxs)("div",{className:`flex items-center gap-3 px-4 py-3 rounded-lg shadow-lg border max-w-sm ${"success"===ao.type?"bg-green-50 border-green-200 text-green-800":"bg-red-50 border-red-200 text-red-800"}`,children:[(0,d.jsx)("div",{className:"flex-shrink-0",children:"success"===ao.type?(0,d.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,d.jsx)("path",{d:"M20 6L9 17l-5-5"})}):(0,d.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,d.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,d.jsx)("line",{x1:"15",y1:"9",x2:"9",y2:"15"}),(0,d.jsx)("line",{x1:"9",y1:"9",x2:"15",y2:"15"})]})}),(0,d.jsx)("p",{className:"text-sm font-medium",children:ao.message}),(0,d.jsx)("button",{onClick:()=>ap({open:!1,type:"success",message:""}),className:"flex-shrink-0 ml-auto",children:(0,d.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,d.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,d.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]})})]})}function t(){return(0,d.jsx)(e.Suspense,{fallback:(0,d.jsx)("div",{className:"min-h-screen bg-gray-50 flex items-center justify-center",children:(0,d.jsxs)("div",{className:"text-center space-y-4",children:[(0,d.jsx)("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600 mx-auto"}),(0,d.jsx)("p",{className:"text-gray-600",children:"正在加载配置页面..."})]})}),children:(0,d.jsx)(s,{})})}}};
60
60
 
61
61
  //# sourceMappingURL=_2488faea._.js.map