tower-studio 0.2.33 → 0.2.35

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 (353) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +3 -3
  3. package/.next/standalone/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  5. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  6. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_not-found/page/react-loadable-manifest.json +2 -2
  12. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +34 -34
  13. package/.next/standalone/.next/server/app/_not-found/page.js +8 -7
  14. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/api/adapters/test/route.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/api/browse-fs/route.js +1 -1
  18. package/.next/standalone/.next/server/app/api/browse-fs/route.js.nft.json +1 -1
  19. package/.next/standalone/.next/server/app/api/files/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/api/git/route.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/api/internal/assets/reveal/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js +1 -1
  24. package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/api/internal/assistant/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/internal/assistant/sessions/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/internal/backup/import/route.js +1 -1
  29. package/.next/standalone/.next/server/app/api/internal/backup/import/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/internal/cache/[...segments]/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/internal/hooks/install/route.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/api/internal/hooks/stop/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/internal/hooks/upload/route.js +2 -1
  34. package/.next/standalone/.next/server/app/api/internal/hooks/upload/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/internal/monaco/[...path]/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/input/route.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js +1 -1
  39. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/tasks/[taskId]/merge/route.js +1 -1
  42. package/.next/standalone/.next/server/app/api/tasks/[taskId]/merge/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/missions/page/react-loadable-manifest.json +1 -1
  44. package/.next/standalone/.next/server/app/missions/page/server-reference-manifest.json +67 -67
  45. package/.next/standalone/.next/server/app/missions/page.js +8 -7
  46. package/.next/standalone/.next/server/app/missions/page.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/onboarding/page/react-loadable-manifest.json +2 -2
  49. package/.next/standalone/.next/server/app/onboarding/page/server-reference-manifest.json +34 -34
  50. package/.next/standalone/.next/server/app/onboarding/page.js +8 -7
  51. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/page/react-loadable-manifest.json +2 -2
  54. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +34 -34
  55. package/.next/standalone/.next/server/app/page.js +8 -7
  56. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  58. package/.next/standalone/.next/server/app/settings/page/react-loadable-manifest.json +2 -2
  59. package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +51 -51
  60. package/.next/standalone/.next/server/app/settings/page.js +9 -8
  61. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  62. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +2 -2
  64. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +228 -144
  65. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js +9 -8
  66. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
  67. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +2 -2
  69. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +158 -134
  70. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js +9 -8
  71. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
  72. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +2 -2
  74. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +210 -102
  75. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js +10 -7
  76. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
  77. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +2 -2
  79. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +127 -67
  80. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js +9 -8
  81. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
  82. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +2 -2
  84. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +34 -34
  85. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js +9 -8
  86. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
  87. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/react-loadable-manifest.json +2 -2
  89. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/server-reference-manifest.json +148 -124
  90. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js +9 -8
  91. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js.nft.json +1 -1
  92. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page_client-reference-manifest.js +1 -1
  93. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +3 -3
  94. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +81 -81
  95. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js +10 -9
  96. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
  97. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
  98. package/.next/standalone/.next/server/app/workspaces/page/react-loadable-manifest.json +2 -2
  99. package/.next/standalone/.next/server/app/workspaces/page/server-reference-manifest.json +50 -50
  100. package/.next/standalone/.next/server/app/workspaces/page.js +8 -7
  101. package/.next/standalone/.next/server/app/workspaces/page.js.nft.json +1 -1
  102. package/.next/standalone/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0hrprmi.js +1 -1
  104. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0yp430z.js +3 -0
  105. package/.next/standalone/.next/server/chunks/{[externals]__12mj_bs._.js → [externals]__0o6dym7._.js} +2 -2
  106. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00llstz._.js +4 -0
  107. package/.next/standalone/.next/server/chunks/[root-of-the-server]__01n7exm._.js +1 -1
  108. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0kay2~d._.js → [root-of-the-server]__01yu.gw._.js} +3 -3
  109. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__01_h-re._.js → [root-of-the-server]__05nz.tg._.js} +2 -2
  110. package/.next/standalone/.next/server/chunks/[root-of-the-server]__08u6wg.._.js +1 -1
  111. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d2japj._.js +1 -1
  112. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0122.hq._.js → [root-of-the-server]__0j7565a._.js} +2 -2
  113. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0omyrab._.js +3 -0
  114. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qif839._.js +1 -1
  115. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~foo~5._.js +4 -0
  116. package/.next/standalone/.next/server/chunks/src_0bkvm8c._.js +1 -1
  117. package/.next/standalone/.next/server/chunks/ssr/0iu._[workspaceId]_projects_[projectId]_versions_version-timeline-client_tsx_07o_kyi._.js +1 -1
  118. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0-tolks._.js +47 -0
  119. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0.5ug08._.js +3 -0
  120. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__037nnpo._.js → [root-of-the-server]__00~jawi._.js} +1 -1
  121. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0ohx~.q._.js → [root-of-the-server]__02ur64h._.js} +1 -1
  122. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0tjczqw._.js → [root-of-the-server]__04rp1ck._.js} +4 -4
  123. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0bs_c.t._.js → [root-of-the-server]__05sv58d._.js} +2 -2
  124. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__05xg05r._.js +3 -0
  125. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__062b.yt._.js +47 -0
  126. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0azyv7l._.js → [root-of-the-server]__07_o.al._.js} +1 -1
  127. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__093tt4a._.js +47 -0
  128. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09l2kmt._.js +3 -0
  129. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0hg-fwv._.js → [root-of-the-server]__09s~cme._.js} +3 -3
  130. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0wm~yai._.js → [root-of-the-server]__0_1zewr._.js} +3 -3
  131. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0mv64fw._.js → [root-of-the-server]__0_i7zpd._.js} +1 -1
  132. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0b.ej5q._.js +1 -1
  133. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0bgr0ql._.js +3 -0
  134. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0-b8f6d._.js → [root-of-the-server]__0f88ua~._.js} +3 -3
  135. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0guqcva._.js +47 -0
  136. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0gzafdq._.js +3 -0
  137. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ikeoh.._.js +3 -0
  138. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0jymb~t._.js +1 -1
  139. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0u7n6kw._.js → [root-of-the-server]__0k-mx8r._.js} +4 -4
  140. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0ymqgu_._.js → [root-of-the-server]__0lozqxc._.js} +4 -4
  141. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0p8otw1._.js → [root-of-the-server]__0lz4wdp._.js} +1 -1
  142. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0m4nvu~._.js +4 -0
  143. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0d76zys._.js → [root-of-the-server]__0m7ydqb._.js} +1 -1
  144. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__127.0d7._.js → [root-of-the-server]__0m80~su._.js} +1 -1
  145. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__06ubi1g._.js → [root-of-the-server]__0na8eiv._.js} +1 -1
  146. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0p0te97._.js +47 -0
  147. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0qnzkj3._.js +30 -0
  148. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0qqbb31._.js +43 -0
  149. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0s7yk4_._.js +3 -0
  150. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0scj6ed._.js +30 -0
  151. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0siyg1p._.js +47 -0
  152. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0s~4y3y._.js +1 -1
  153. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0t6f4lq._.js +47 -0
  154. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0th-t1a._.js +47 -0
  155. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wofia_._.js +30 -0
  156. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wt83kv._.js +1 -1
  157. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0y~ooou._.js +3 -0
  158. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0z7je5_._.js +1 -1
  159. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12m4ujm._.js +3 -0
  160. package/.next/standalone/.next/server/chunks/ssr/_0-~9em3._.js +3 -0
  161. package/.next/standalone/.next/server/chunks/ssr/_00t6138._.js +47 -0
  162. package/.next/standalone/.next/server/chunks/ssr/_02encue._.js +30 -0
  163. package/.next/standalone/.next/server/chunks/ssr/_02ugk48._.js +4 -0
  164. package/.next/standalone/.next/server/chunks/ssr/_070t_mh._.js +2 -2
  165. package/.next/standalone/.next/server/chunks/ssr/{_0np9y-t._.js → _07fnvnm._.js} +1 -1
  166. package/.next/standalone/.next/server/chunks/ssr/{_079_ku8._.js → _0_hnt09._.js} +1 -1
  167. package/.next/standalone/.next/server/chunks/ssr/_0_ipj7e._.js +3 -0
  168. package/.next/standalone/.next/server/chunks/ssr/_0cj9a7y._.js +2 -2
  169. package/.next/standalone/.next/server/chunks/ssr/_0clhm~f._.js +30 -0
  170. package/.next/standalone/.next/server/chunks/ssr/_0cxhub8._.js +47 -0
  171. package/.next/standalone/.next/server/chunks/ssr/{_0vcbjph._.js → _0e-zyn2._.js} +4 -4
  172. package/.next/standalone/.next/server/chunks/ssr/{_0qfin2p._.js → _0e_ak8~._.js} +2 -2
  173. package/.next/standalone/.next/server/chunks/ssr/_0eca65n._.js +7 -0
  174. package/.next/standalone/.next/server/chunks/ssr/{_0_~od6x._.js → _0gvyd.f._.js} +2 -2
  175. package/.next/standalone/.next/server/chunks/ssr/_0hh17jg._.js +17 -0
  176. package/.next/standalone/.next/server/chunks/ssr/_0hlar46._.js +3 -0
  177. package/.next/standalone/.next/server/chunks/ssr/_0hu0tyg._.js +30 -0
  178. package/.next/standalone/.next/server/chunks/ssr/{_0tf~vm8._.js → _0k9b94s._.js} +1 -1
  179. package/.next/standalone/.next/server/chunks/ssr/{_0u1ybm2._.js → _0keo81q._.js} +2 -2
  180. package/.next/standalone/.next/server/chunks/ssr/_0l3l_d6._.js +43 -0
  181. package/.next/standalone/.next/server/chunks/ssr/{_0n1j319._.js → _0mjxq4v._.js} +2 -2
  182. package/.next/standalone/.next/server/chunks/ssr/_0mpce0d._.js +47 -0
  183. package/.next/standalone/.next/server/chunks/ssr/_0muaopo._.js +47 -0
  184. package/.next/standalone/.next/server/chunks/ssr/{_0w2xtk9._.js → _0mzwe90._.js} +4 -4
  185. package/.next/standalone/.next/server/chunks/ssr/_0n1l7yo._.js +47 -0
  186. package/.next/standalone/.next/server/chunks/ssr/{_0xl~whi._.js → _0n54odq._.js} +1 -1
  187. package/.next/standalone/.next/server/chunks/ssr/_0nk7qd4._.js +3 -0
  188. package/.next/standalone/.next/server/chunks/ssr/_0ocdt49._.js +3 -0
  189. package/.next/standalone/.next/server/chunks/ssr/_0q44.3o._.js +3 -0
  190. package/.next/standalone/.next/server/chunks/ssr/_0rdyrfd._.js +1 -1
  191. package/.next/standalone/.next/server/chunks/ssr/_0s36tuu._.js +3 -0
  192. package/.next/standalone/.next/server/chunks/ssr/_0s7ke7u._.js +3 -0
  193. package/.next/standalone/.next/server/chunks/ssr/_0wbcp88._.js +3 -0
  194. package/.next/standalone/.next/server/chunks/ssr/_134pkit._.js +3 -0
  195. package/.next/standalone/.next/server/chunks/ssr/node_modules__pnpm_03r.9go._.js +3 -0
  196. package/.next/standalone/.next/server/chunks/ssr/src_0djxlqx._.js +1 -1
  197. package/.next/standalone/.next/server/chunks/ssr/src_0eufeyj._.js +1 -1
  198. package/.next/standalone/.next/server/chunks/ssr/src_actions_agent-actions_ts_0~wc.sy._.js +1 -1
  199. package/.next/standalone/.next/server/chunks/ssr/src_actions_file-actions_ts_0gcvqwm._.js +1 -1
  200. package/.next/standalone/.next/server/chunks/ssr/src_app_missions_missions-client_tsx_11429lj._.js +1 -1
  201. package/.next/standalone/.next/server/chunks/ssr/src_app_onboarding_page_tsx_0xf7hpz._.js +1 -1
  202. package/.next/standalone/.next/server/chunks/ssr/src_app_settings_page_tsx_0h9v7dr._.js +1 -1
  203. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0wyzpam._.js +1 -1
  204. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_board-page-client_tsx_0gips66._.js +1 -1
  205. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_notes_notes-page-client_tsx_10gyo3v._.js +3 -0
  206. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_02t7blt._.js +1 -1
  207. package/.next/standalone/.next/server/chunks/ssr/src_components_ui_select_tsx_0d2ra01._.js +1 -1
  208. package/.next/standalone/.next/server/chunks/ssr/{src_lib_09vospx._.js → src_lib_01xtio2._.js} +1 -1
  209. package/.next/standalone/.next/server/chunks/ssr/{src_lib_0-t3s4k._.js → src_lib_03p6skw._.js} +1 -1
  210. package/.next/standalone/.next/server/chunks/ssr/{src_lib_007-dd1._.js → src_lib_05mu4f0._.js} +1 -1
  211. package/.next/standalone/.next/server/chunks/ssr/{src_lib_09bjxpu._.js → src_lib_06nbc41._.js} +1 -1
  212. package/.next/standalone/.next/server/chunks/ssr/src_lib_06okbb2._.js +3 -0
  213. package/.next/standalone/.next/server/chunks/ssr/src_lib_0741dos._.js +3 -0
  214. package/.next/standalone/.next/server/chunks/ssr/src_lib_0cbuy0_._.js +3 -0
  215. package/.next/standalone/.next/server/chunks/ssr/src_lib_0e27xy7._.js +3 -0
  216. package/.next/standalone/.next/server/chunks/ssr/src_lib_0n5-vk5._.js +3 -0
  217. package/.next/standalone/.next/server/chunks/ssr/src_lib_0rk2hla._.js +3 -0
  218. package/.next/standalone/.next/server/chunks/ssr/src_lib_0t5xz2y._.js +3 -0
  219. package/.next/standalone/.next/server/chunks/ssr/src_lib_0u5_gf2._.js +3 -0
  220. package/.next/standalone/.next/server/chunks/ssr/src_lib_0v6s6se._.js +3 -0
  221. package/.next/standalone/.next/server/chunks/ssr/src_lib_constants_ts_0_7xt06._.js +1 -1
  222. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  223. package/.next/standalone/.next/server/pages/500.html +1 -1
  224. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  225. package/.next/standalone/.next/server/server-reference-manifest.json +655 -499
  226. package/.next/standalone/.next/static/chunks/0.65.u3zhwau~.js +12 -0
  227. package/.next/standalone/.next/static/chunks/0.nsmn6shzidu.js +2 -0
  228. package/.next/standalone/.next/static/chunks/0.z88xlskrvd-.js +1 -0
  229. package/.next/standalone/.next/static/chunks/00.7wudyszp3y.css +1 -0
  230. package/.next/standalone/.next/static/chunks/00bgq.z2led_g.js +1 -0
  231. package/.next/standalone/.next/static/chunks/01agfbg-55.3l.js +1 -0
  232. package/.next/standalone/.next/static/chunks/01r_kvw6fe~.z.js +1 -0
  233. package/.next/standalone/.next/static/chunks/01yoibobkdz3x.js +1 -0
  234. package/.next/standalone/.next/static/chunks/026c8pffxl6wa.js +2 -0
  235. package/.next/standalone/.next/static/chunks/060cca-172m5j.js +1 -0
  236. package/.next/standalone/.next/static/chunks/07a3_u.yr179w.js +1 -0
  237. package/.next/standalone/.next/static/chunks/0b31xip8xb_cv.js +1 -0
  238. package/.next/standalone/.next/static/chunks/0gf~0e3xpa0fj.js +5 -0
  239. package/.next/standalone/.next/static/chunks/0kia6x73z7qhq.js +1 -0
  240. package/.next/standalone/.next/static/chunks/0msy9p40r_u_j.js +1 -0
  241. package/.next/standalone/.next/static/chunks/0p4w5b_p_yju8.js +1 -0
  242. package/.next/standalone/.next/static/chunks/0qonpqhvpg-tt.js +1 -0
  243. package/.next/standalone/.next/static/chunks/0vync155t_v71.js +1 -0
  244. package/.next/standalone/.next/static/chunks/0ws5ujnb5coco.js +1 -0
  245. package/.next/standalone/.next/static/chunks/0x5r51ae1bmdl.js +1 -0
  246. package/.next/standalone/.next/static/chunks/0xdbwwjkc3enx.js +1 -0
  247. package/.next/standalone/.next/static/chunks/0xg8ukff1-y32.js +1 -0
  248. package/.next/standalone/.next/static/chunks/0z-fh29~rncne.js +1 -0
  249. package/.next/standalone/.next/static/chunks/0zq8pqszpa37-.js +1 -0
  250. package/.next/standalone/.next/static/chunks/0~uo_7-sxehxf.js +1 -0
  251. package/.next/standalone/.next/static/chunks/10mwqzqdpi9d5.js +1 -0
  252. package/.next/standalone/.next/static/chunks/{0v1z8vez.wkfb.js → 12qumm~rdb~ls.js} +1 -1
  253. package/.next/standalone/.next/static/chunks/13n8ln7v6z4vc.js +5 -0
  254. package/.next/standalone/.next/static/chunks/{0up~e.7wnmlbs.js → 14-eiet1ypb3e.js} +1 -1
  255. package/.next/standalone/.next/static/chunks/{056a8z0wds522.js → 144hr38h72193.js} +1 -1
  256. package/.next/standalone/.next/static/chunks/14~li4os2yoi2.js +1 -0
  257. package/.next/standalone/.next/static/chunks/15gytx~096xul.js +1 -0
  258. package/.next/standalone/.next/static/chunks/16fbv7zz-.kse.js +1 -0
  259. package/.next/standalone/.next/static/chunks/{0558t1hlvaoxh.js → 16och4~epx6jk.js} +3 -3
  260. package/.next/standalone/.next/static/chunks/{11qzw.-vwkk5g.js → 1768nvsy3akwy.js} +1 -1
  261. package/.next/standalone/package.json +5 -1
  262. package/bin/tower.mjs +58 -18
  263. package/dist/mcp-server.cjs +25088 -21099
  264. package/package.json +5 -1
  265. package/prisma/schema.prisma +16 -0
  266. package/scripts/migrations/0001-insight-category.ts +22 -0
  267. package/scripts/run-migrations.ts +73 -0
  268. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0541-er._.js +0 -3
  269. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0clvf~t._.js +0 -4
  270. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0gk6ftq._.js +0 -4
  271. package/.next/standalone/.next/server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js +0 -3
  272. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01pn3ol._.js +0 -3
  273. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__02p4lry._.js +0 -3
  274. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__05-t-8s._.js +0 -3
  275. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__07ptf-z._.js +0 -3
  276. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0_r3qx7._.js +0 -3
  277. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0b77ayk._.js +0 -47
  278. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0cle18b._.js +0 -3
  279. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e25s-_._.js +0 -3
  280. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ew4gqf._.js +0 -3
  281. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0lx7sf8._.js +0 -3
  282. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0rara9.._.js +0 -3
  283. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0rumact._.js +0 -3
  284. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0rv7-_r._.js +0 -3
  285. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0uq_0mc._.js +0 -30
  286. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12w_sm_._.js +0 -30
  287. package/.next/standalone/.next/server/chunks/ssr/_0-mid6~._.js +0 -3
  288. package/.next/standalone/.next/server/chunks/ssr/_0-sia69._.js +0 -4
  289. package/.next/standalone/.next/server/chunks/ssr/_0.sfgns._.js +0 -3
  290. package/.next/standalone/.next/server/chunks/ssr/_04ia97a._.js +0 -3
  291. package/.next/standalone/.next/server/chunks/ssr/_0533im8._.js +0 -30
  292. package/.next/standalone/.next/server/chunks/ssr/_06akrwh._.js +0 -7
  293. package/.next/standalone/.next/server/chunks/ssr/_06~9axc._.js +0 -3
  294. package/.next/standalone/.next/server/chunks/ssr/_0_dt8gs._.js +0 -3
  295. package/.next/standalone/.next/server/chunks/ssr/_0_kfemp._.js +0 -3
  296. package/.next/standalone/.next/server/chunks/ssr/_0bkb_.9._.js +0 -3
  297. package/.next/standalone/.next/server/chunks/ssr/_0eln2ih._.js +0 -3
  298. package/.next/standalone/.next/server/chunks/ssr/_0ex2yo6._.js +0 -3
  299. package/.next/standalone/.next/server/chunks/ssr/_0f.zny.._.js +0 -3
  300. package/.next/standalone/.next/server/chunks/ssr/_0fuoov5._.js +0 -3
  301. package/.next/standalone/.next/server/chunks/ssr/_0jg.s-g._.js +0 -3
  302. package/.next/standalone/.next/server/chunks/ssr/_0njo37o._.js +0 -30
  303. package/.next/standalone/.next/server/chunks/ssr/_0r5h7cr._.js +0 -30
  304. package/.next/standalone/.next/server/chunks/ssr/_0s02eu9._.js +0 -43
  305. package/.next/standalone/.next/server/chunks/ssr/_0ueyys5._.js +0 -17
  306. package/.next/standalone/.next/server/chunks/ssr/_0wown2f._.js +0 -7
  307. package/.next/standalone/.next/server/chunks/ssr/_0x9phlk._.js +0 -7
  308. package/.next/standalone/.next/server/chunks/ssr/_0xs_.j1._.js +0 -3
  309. package/.next/standalone/.next/server/chunks/ssr/_0~_.0md._.js +0 -3
  310. package/.next/standalone/.next/server/chunks/ssr/_1083dzh._.js +0 -4
  311. package/.next/standalone/.next/server/chunks/ssr/src_075s.rk._.js +0 -3
  312. package/.next/standalone/.next/server/chunks/ssr/src_lib_0dbdb7l._.js +0 -3
  313. package/.next/standalone/.next/server/chunks/ssr/src_lib_0dypzt_._.js +0 -3
  314. package/.next/standalone/.next/server/chunks/ssr/src_lib_0f948rt._.js +0 -3
  315. package/.next/standalone/.next/server/chunks/ssr/src_lib_0h1rnc.._.js +0 -3
  316. package/.next/standalone/.next/server/chunks/ssr/src_lib_0lcvt1c._.js +0 -3
  317. package/.next/standalone/.next/server/chunks/ssr/src_lib_0mao-of._.js +0 -3
  318. package/.next/standalone/.next/server/chunks/ssr/src_lib_0qlnl~c._.js +0 -3
  319. package/.next/standalone/.next/server/chunks/ssr/src_lib_0qt5bft._.js +0 -3
  320. package/.next/standalone/.next/server/chunks/ssr/src_lib_0z75cue._.js +0 -3
  321. package/.next/standalone/.next/static/chunks/021pojk-jcnw0.js +0 -1
  322. package/.next/standalone/.next/static/chunks/05qdpgnpb_7mk.js +0 -1
  323. package/.next/standalone/.next/static/chunks/06-e8wuosb00v.js +0 -1
  324. package/.next/standalone/.next/static/chunks/076x3dc258jv8.js +0 -1
  325. package/.next/standalone/.next/static/chunks/08rlai_d171x4.js +0 -1
  326. package/.next/standalone/.next/static/chunks/0_3q9.2g3z23l.js +0 -5
  327. package/.next/standalone/.next/static/chunks/0_~520q._qkjj.js +0 -2
  328. package/.next/standalone/.next/static/chunks/0c_2jxrtu.h6z.js +0 -1
  329. package/.next/standalone/.next/static/chunks/0f-n0eqe6x.4c.js +0 -1
  330. package/.next/standalone/.next/static/chunks/0fqp8_2f2v3lv.js +0 -1
  331. package/.next/standalone/.next/static/chunks/0gk2y6_okaodm.js +0 -1
  332. package/.next/standalone/.next/static/chunks/0i4.0h5fn9_pg.js +0 -1
  333. package/.next/standalone/.next/static/chunks/0imk_sv~a.wkh.js +0 -1
  334. package/.next/standalone/.next/static/chunks/0ktahv77jdq60.css +0 -1
  335. package/.next/standalone/.next/static/chunks/0m.k-orls2qu4.js +0 -1
  336. package/.next/standalone/.next/static/chunks/0n52vvco8hy2h.js +0 -1
  337. package/.next/standalone/.next/static/chunks/0nidfrkdx7qps.js +0 -5
  338. package/.next/standalone/.next/static/chunks/0qwt~eu3x658b.js +0 -1
  339. package/.next/standalone/.next/static/chunks/0wyjnhk_5g3.8.js +0 -12
  340. package/.next/standalone/.next/static/chunks/0x.tfkgl9nu-f.js +0 -1
  341. package/.next/standalone/.next/static/chunks/0x2ca5v0k2cns.js +0 -5
  342. package/.next/standalone/.next/static/chunks/0x~em7v37r~0r.js +0 -1
  343. package/.next/standalone/.next/static/chunks/0ygoq7i41ir8a.js +0 -1
  344. package/.next/standalone/.next/static/chunks/0yzl3zug_rpw-.js +0 -2
  345. package/.next/standalone/.next/static/chunks/0~5kdq-~kgsbt.js +0 -1
  346. package/.next/standalone/.next/static/chunks/116ssnh5k8ad9.js +0 -1
  347. package/.next/standalone/.next/static/chunks/13.pi0v53g-4n.js +0 -1
  348. package/.next/standalone/.next/static/chunks/148644k53ubh..js +0 -1
  349. package/.next/standalone/.next/static/chunks/14gyvwctfte0-.js +0 -5
  350. package/.next/standalone/.next/static/chunks/15hxafqqvgizt.js +0 -1
  351. /package/.next/standalone/.next/static/{m8-LaeVMTc5jjKuT9Jh1M → desYDJ6TQllFzzfGYPb6V}/_buildManifest.js +0 -0
  352. /package/.next/standalone/.next/static/{m8-LaeVMTc5jjKuT9Jh1M → desYDJ6TQllFzzfGYPb6V}/_clientMiddlewareManifest.js +0 -0
  353. /package/.next/standalone/.next/static/{m8-LaeVMTc5jjKuT9Jh1M → desYDJ6TQllFzzfGYPb6V}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[163778,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(553798),e=a.i(940271),f=a.i(699570),g=a.i(866718),h=a.i(487410),i=a.i(785259),j=a.i(43775),k=a.i(368114);function l({className:a,size:c="default",...d}){return(0,b.jsx)("div",{"data-slot":"card","data-size":c,className:(0,k.cn)("group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-card py-4 text-sm text-card-foreground ring-1 ring-foreground/10 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",a),...d})}function m({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"card-content",className:(0,k.cn)("px-4 group-data-[size=sm]/card:px-3",a),...c})}var n=a.i(704494),o=a.i(668116),p=a.i(54384),q=a.i(648512),r=a.i(913284),s=a.i(468862),t=a.i(951192);function u({adapterType:a,adapterLabel:d,provider:e,hideHeader:g,onResult:h}){let[i,j]=(0,c.useState)(!1),[v,w]=(0,c.useState)(null),{t:x}=(0,t.useI18n)();async function y(){if(!i){j(!0),w(null);try{let b=await fetch("/api/adapters/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({adapterType:a,provider:e})}),c=await b.json();w(c),h?.(c)}catch{let a={ok:!1,checks:[{name:"network_error",passed:!1,message:"Network request failed"}]};w(a),h?.(a)}finally{j(!1)}}}return(0,b.jsxs)("div",{className:"space-y-4",children:[!g&&(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"rounded-lg bg-emerald-100 dark:bg-emerald-900/30 p-2",children:(0,b.jsx)(q.Terminal,{className:"h-5 w-5 text-emerald-600 dark:text-emerald-400"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"font-semibold",children:x("settings.aiTools.cliVerification")}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:x("settings.aiTools.cliVerificationDesc")})]})]}),(0,b.jsx)(l,{children:(0,b.jsxs)(m,{className:"p-6 space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("div",{children:d&&(0,b.jsx)("p",{className:"font-medium",children:d})}),(0,b.jsx)(f.Button,{onClick:y,disabled:i,variant:"outline",children:i?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(n.Loader2,{className:"h-4 w-4 animate-spin mr-2"}),x("settings.aiTools.testing")]}):x("settings.aiTools.testConnection")})]}),v&&(0,b.jsxs)("div",{className:(0,k.cn)("rounded-lg border p-4 space-y-3",v.ok?"bg-green-50 border-green-200 dark:bg-green-950/20 dark:border-green-800":"bg-red-50 border-red-200 dark:bg-red-950/20 dark:border-red-800"),children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[v.ok?(0,b.jsx)(r.CheckCircle2,{className:"h-4 w-4 text-green-600 dark:text-green-400"}):(0,b.jsx)(s.XCircle,{className:"h-4 w-4 text-red-600 dark:text-red-400"}),(0,b.jsx)("span",{className:(0,k.cn)("text-sm font-medium",v.ok?"text-green-700 dark:text-green-300":"text-red-700 dark:text-red-300"),children:x(v.ok?"settings.aiTools.testPassed":"settings.aiTools.testFailed")})]}),(0,b.jsx)("div",{className:"space-y-2",children:v.checks.map(c=>(0,b.jsxs)("div",{className:"flex items-start gap-2 text-sm",children:[c.passed?(0,b.jsx)(o.Check,{className:"h-4 w-4 text-green-500 mt-0.5 shrink-0"}):(0,b.jsx)(p.X,{className:"h-4 w-4 text-red-500 mt-0.5 shrink-0"}),(0,b.jsx)("span",{className:(0,k.cn)(c.passed?"text-green-700 dark:text-green-300":"text-red-700 dark:text-red-300"),children:c.message})]},`${a}-${c.name}`))})]})]})})]})}var v=a.i(259756),w=a.i(711796);let x=(0,w.default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);var y=a.i(577565),z=a.i(264589),A=a.i(912868),B=a.i(10390),C=a.i(761052),D=a.i(86354);let E=(0,w.default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]),F=(0,w.default)("languages",[["path",{d:"m5 8 6 6",key:"1wu5hv"}],["path",{d:"m4 14 6-6 2-3",key:"1k1g8d"}],["path",{d:"M2 5h12",key:"or177f"}],["path",{d:"M7 2h1",key:"1t2jsx"}],["path",{d:"m22 22-5-10-5 10",key:"don7ne"}],["path",{d:"M14 18h6",key:"1m8k6r"}]]);var G=a.i(774881),H=a.i(975231),I=a.i(347165),J=a.i(963326),K=a.i(953093),L=a.i(413809),M=a.i(780410);let N=(0,M.createServerReference)("60138bd82c4d02177bfef6a9aa0ddd4893f8bc5e74",M.callServer,void 0,M.findSourceMapURL,"completeOnboarding"),O=(0,M.createServerReference)("60533757680ab570c631de3de460be45e300ae7953",M.callServer,void 0,M.findSourceMapURL,"setOnboardingExtensions");function P({username:a,onComplete:d}){let{t:e}=(0,t.useI18n)(),g=(0,K.listExtensionMetadata)(),[h,i]=(0,c.useState)(()=>new Set(g.map(a=>a.id))),[j,k]=(0,c.useState)(!1),l=g.length,m=h.size;async function o(){k(!0);let b=Array.from(h),c=[];if(b.length>0)for(let a of(await Promise.all(b.map(async a=>{try{let b=await (0,L.installExtension)(a);return{id:a,success:b.success}}catch{return{id:a,success:!1}}}))))a.success&&c.push(a.id);await O(b,c),await N(a),k(!1),d()}return(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("h2",{className:"text-xl font-semibold",children:e("onboarding.step4.title")}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:e("onboarding.step4.desc")})]}),(0,b.jsx)("div",{className:"space-y-2",children:g.map(a=>{let c=a.icon,d=h.has(a.id);return(0,b.jsxs)("label",{className:"flex items-start gap-3 rounded-lg border border-border bg-background p-3 cursor-pointer hover:bg-accent/50 transition-colors",children:[(0,b.jsx)("input",{type:"checkbox",checked:d,onChange:()=>{var b;return b=a.id,void i(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},disabled:j,className:"mt-0.5 h-4 w-4 cursor-pointer accent-primary"}),(0,b.jsxs)("div",{className:"flex flex-1 items-start gap-3 min-w-0",children:[(0,b.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-muted",children:(0,b.jsx)(c,{className:"h-4 w-4 text-muted-foreground"})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("span",{className:"text-sm font-medium",children:a.name}),(0,b.jsxs)("span",{className:"shrink-0 text-xs text-muted-foreground",children:["~",a.sizeMB," MB"]})]}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:a.description}),(0,b.jsxs)("a",{href:a.homepageUrl,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"mt-1 inline-flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground",children:[(0,b.jsx)(J.ExternalLink,{className:"h-3 w-3"}),e("settings.extensions.visitHomepage")]})]})]})]},a.id)})}),m<l&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground italic",children:e("onboarding.step4.skipHint")}),(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)(f.Button,{onClick:o,disabled:j,children:j?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(n.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),e("onboarding.step4.installing")]}):0===m?e("onboarding.step4.continueWithoutInstall"):e("onboarding.step4.continue")})})]})}function Q({step:a}){let c=[x,q.Terminal,y.GitBranch,z.Package][a-1]??x,d=["Profile","Connect","Configure","Extensions"][a-1]??"";return(0,b.jsxs)("div",{className:"relative h-full w-full overflow-hidden",children:[(0,b.jsx)("div",{className:"absolute inset-0 opacity-[0.07] text-white",style:{backgroundImage:"radial-gradient(circle, currentColor 1px, transparent 1px)",backgroundSize:"24px 24px"}}),(0,b.jsx)("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full",style:{width:"380px",height:"380px",background:"radial-gradient(circle, oklch(0.80 0.14 75 / 0.25) 0%, oklch(0.80 0.14 75 / 0.08) 45%, transparent 70%)",animation:"ob-pulse 6s ease-in-out infinite"}}),(0,b.jsx)("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full border border-amber-400/25",style:{width:"260px",height:"260px",animation:"ob-spin 20s linear infinite"},children:(0,b.jsx)("div",{className:"absolute -top-1.5 left-1/2 -translate-x-1/2 h-3 w-3 rounded-full bg-amber-400",style:{boxShadow:"0 0 16px oklch(0.80 0.14 75 / 0.7)"}})}),(0,b.jsxs)("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full border border-amber-400/15",style:{width:"380px",height:"380px",animation:"ob-spin 30s linear infinite reverse"},children:[(0,b.jsx)("div",{className:"absolute -top-1 left-1/2 -translate-x-1/2 h-2 w-2 rounded-full bg-amber-400/70"}),(0,b.jsx)("div",{className:"absolute -bottom-1 left-1/2 -translate-x-1/2 h-1.5 w-1.5 rounded-full bg-amber-400/50"})]}),(0,b.jsx)("svg",{className:"absolute",style:{top:"18%",right:"22%",animation:"ob-float 8s ease-in-out infinite"},width:"44",height:"50",viewBox:"0 0 40 46",fill:"none",children:(0,b.jsx)("path",{d:"M20 1 L38 12 L38 34 L20 45 L2 34 L2 12 Z",stroke:"oklch(0.80 0.14 75 / 0.4)",strokeWidth:"1.5",fill:"oklch(0.80 0.14 75 / 0.06)"})}),(0,b.jsx)("svg",{className:"absolute",style:{bottom:"22%",left:"18%",animation:"ob-float 10s ease-in-out 2s infinite"},width:"32",height:"36",viewBox:"0 0 40 46",fill:"none",children:(0,b.jsx)("path",{d:"M20 1 L38 12 L38 34 L20 45 L2 34 L2 12 Z",stroke:"oklch(0.80 0.14 75 / 0.3)",strokeWidth:"1.5",fill:"oklch(0.80 0.14 75 / 0.05)"})}),(0,b.jsx)("div",{className:"absolute h-3.5 w-3.5 rounded-full bg-amber-400/40",style:{top:"30%",left:"28%",animation:"ob-float 7s ease-in-out 1s infinite"}}),(0,b.jsx)("div",{className:"absolute h-2.5 w-2.5 rounded-full bg-amber-400/30",style:{top:"65%",right:"30%",animation:"ob-float 9s ease-in-out 3s infinite"}}),(0,b.jsx)("div",{className:"absolute h-2 w-2 rounded-full bg-amber-400/20",style:{top:"45%",right:"15%",animation:"ob-float 6s ease-in-out 0.5s infinite"}}),(0,b.jsxs)("svg",{className:"absolute inset-0 h-full w-full text-white opacity-[0.12]",children:[(0,b.jsx)("line",{x1:"30%",y1:"25%",x2:"70%",y2:"45%",stroke:"currentColor",strokeWidth:"1",strokeDasharray:"4 6",style:{animation:"ob-dash 12s linear infinite"}}),(0,b.jsx)("line",{x1:"65%",y1:"30%",x2:"35%",y2:"70%",stroke:"currentColor",strokeWidth:"1",strokeDasharray:"4 6",style:{animation:"ob-dash 15s linear infinite reverse"}})]}),(0,b.jsx)("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 flex items-center justify-center",children:(0,b.jsx)("div",{className:"flex h-16 w-16 items-center justify-center rounded-2xl border border-amber-400/35 bg-amber-500/10 backdrop-blur-sm transition-all duration-700",style:{boxShadow:"0 0 50px oklch(0.80 0.14 75 / 0.2)"},children:(0,b.jsx)(c,{className:"h-7 w-7 text-amber-400"})})}),(0,b.jsx)("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 translate-y-12 text-center",children:(0,b.jsx)("p",{className:"text-[11px] font-medium tracking-widest uppercase text-amber-400/60",children:d})})]})}let R={host:"",ownerMatch:"*",localPathTemplate:""};a.s(["default",0,function(){let a,k,l,m=(0,d.useRouter)(),{t:n,locale:p,setLocale:r}=(0,t.useI18n)(),{theme:s,setTheme:w}=(0,e.useTheme)(),[J,K]=(0,c.useState)(!1),[L,M]=(0,c.useState)(1),[N,O]=(0,c.useState)(""),[S,T]=(0,c.useState)({}),U=Object.values(S).some(a=>a.ok),[V,W]=(0,c.useState)([]),[X,Y]=(0,c.useState)({...R}),[Z,$]=(0,c.useState)(!0),[_,aa]=(0,c.useState)(0),[ab,ac]=(0,c.useState)(!1),[ad,ae]=(0,c.useState)(!1);(0,c.useEffect)(()=>K(!0),[]);let af=[{value:"light",label:(0,b.jsx)(C.Sun,{className:"h-4 w-4"})},{value:"dark",label:(0,b.jsx)(D.Moon,{className:"h-4 w-4"})},{value:"system",label:(0,b.jsx)(E,{className:"h-4 w-4"})}];function ag(){M(a=>a+1)}function ah(){M(a=>Math.max(1,a-1))}let ai=[{icon:x,label:n("onboarding.step1.title")},{icon:q.Terminal,label:n("onboarding.step2.title")},{icon:y.GitBranch,label:n("onboarding.step3.title")},{icon:z.Package,label:n("onboarding.step4.title")}];return(0,b.jsxs)("div",{className:"flex h-screen bg-background",children:[(0,b.jsx)("div",{className:"hidden xl:block xl:w-3/5 border-r border-border/50 bg-[oklch(0.13_0.006_260)]",children:(0,b.jsx)(Q,{step:L})}),(0,b.jsx)("div",{className:"flex w-full flex-col items-center px-8 pt-[10vh] pb-10 xl:w-2/5 xl:px-16 overflow-y-auto",children:(0,b.jsxs)("div",{className:"w-full max-w-lg space-y-6",children:[(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,b.jsx)("img",{src:"/logo.png",alt:"Tower",className:"h-8 w-8 rounded-lg"}),(0,b.jsx)("span",{className:"text-lg font-semibold tracking-tight",children:"Tower"})]}),(0,b.jsx)("div",{className:"flex items-center gap-1.5",children:ai.map((a,c)=>{let d=c+1,e=d===L,f=d<L,g=a.icon;return(0,b.jsxs)("div",{className:"flex items-center gap-1.5 shrink-0",children:[c>0&&(0,b.jsx)("div",{className:`h-px w-4 transition-colors duration-500 ${f?"bg-primary":"bg-border"}`}),(0,b.jsxs)("div",{className:`flex items-center gap-1 shrink-0 rounded-full px-2 py-1 text-[11px] font-medium whitespace-nowrap transition-all duration-500 ${e?"bg-primary text-primary-foreground shadow-sm":f?"bg-primary/10 text-primary":"bg-muted text-muted-foreground"}`,children:[f?(0,b.jsx)(o.Check,{className:"h-3 w-3 shrink-0"}):(0,b.jsx)(g,{className:"h-3 w-3 shrink-0"}),(0,b.jsx)("span",{children:a.label})]})]},c)})})]}),(0,b.jsxs)("div",{children:[1===L&&(0,b.jsxs)("div",{className:"space-y-7 animate-in fade-in slide-in-from-left-4 duration-500",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:n("onboarding.step1.title")}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground leading-relaxed",children:n("onboarding.step1.desc")})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("label",{htmlFor:"onboarding-username",className:"text-sm font-medium",children:n("onboarding.step1.usernameLabel")}),(0,b.jsx)("input",{id:"onboarding-username",type:"text",value:N,onChange:a=>O(a.target.value),placeholder:n("onboarding.step1.usernamePlaceholder"),className:"flex h-10 w-full rounded-lg border border-input bg-transparent px-3 py-2 text-sm shadow-sm transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50",maxLength:64,autoFocus:!0,autoComplete:"username"})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-6",children:[(0,b.jsxs)("div",{className:"space-y-2.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(F,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,b.jsx)("label",{className:"text-sm font-medium",children:n("settings.language")})]}),(0,b.jsx)(h.SegmentedControl,{options:[{value:"zh",label:"中文"},{value:"en",label:"English"}].map(a=>({value:a.value,label:a.label})),value:p,onChange:a=>r(a)})]}),(0,b.jsxs)("div",{className:"space-y-2.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(C.Sun,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,b.jsx)("label",{className:"text-sm font-medium",children:n("settings.theme")})]}),J?(0,b.jsx)(h.SegmentedControl,{options:af.map(a=>({value:a.value,label:a.label})),value:s??"system",onChange:a=>w(a)}):(0,b.jsx)("div",{className:"inline-flex h-8 rounded-md border border-border bg-muted p-1 gap-1 w-[120px]"})]})]}),(0,b.jsx)("div",{className:"flex justify-end pt-3",children:(0,b.jsxs)(f.Button,{onClick:ag,disabled:0===N.trim().length,className:"px-5",children:[n("onboarding.step1.next"),(0,b.jsx)(B.ChevronRight,{className:"h-4 w-4 ml-1"})]})})]}),2===L&&(0,b.jsxs)("div",{className:"space-y-7 animate-in fade-in slide-in-from-left-4 duration-500",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:n("onboarding.step2.title")}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground leading-relaxed",children:n("onboarding.step2.desc")})]}),(0,b.jsx)(u,{adapterType:"claude_code",adapterLabel:"Claude CLI",provider:"claude",onResult:a=>T(b=>({...b,claude:a}))}),(0,b.jsx)(u,{adapterType:"codex_cli",adapterLabel:"Codex CLI",provider:"codex",hideHeader:!0,onResult:a=>T(b=>({...b,codex:a}))}),(0,b.jsxs)("div",{className:"flex items-center justify-between pt-3",children:[(0,b.jsxs)(f.Button,{variant:"ghost",className:"text-muted-foreground",onClick:ah,children:[(0,b.jsx)(A.ChevronLeft,{className:"h-4 w-4 mr-1"}),n("onboarding.back")]}),(0,b.jsxs)(f.Button,{onClick:ag,disabled:!U,className:"px-5",children:[n("onboarding.step1.next"),(0,b.jsx)(B.ChevronRight,{className:"h-4 w-4 ml-1"})]})]})]}),3===L&&(0,b.jsxs)("div",{className:"space-y-5 animate-in fade-in slide-in-from-left-4 duration-500",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:n("onboarding.step3.title")}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground leading-relaxed",children:n("onboarding.step3.desc")})]}),V.length>0&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:n("onboarding.step3.added").replace("{count}",String(V.length))}),V.map(a=>(0,b.jsxs)("div",{className:"flex items-center justify-between rounded-lg border border-border bg-muted/30 px-3 py-2",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("p",{className:"text-sm font-medium truncate",children:[a.host,(0,b.jsx)("span",{className:"text-muted-foreground",children:"*"!==a.ownerMatch?` / ${a.ownerMatch}`:""})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground font-mono truncate",children:a.localPathTemplate})]}),(0,b.jsx)(f.Button,{variant:"ghost",size:"icon",className:"shrink-0 text-muted-foreground hover:text-destructive",onClick:()=>{var b;return b=a.id,void W(a=>a.filter(a=>a.id!==b))},children:(0,b.jsx)(H.Trash2,{className:"h-3.5 w-3.5"})})]},a.id))]}),Z?(0,b.jsxs)("div",{className:"space-y-3 rounded-lg border border-border p-4",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"text-xs font-medium",children:n("onboarding.step3.hostLabel")}),(0,b.jsx)(g.Input,{value:X.host,onChange:a=>Y(b=>({...b,host:a.target.value})),placeholder:n("onboarding.step3.hostPlaceholder"),className:"h-9",autoFocus:!0})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"text-xs font-medium",children:n("onboarding.step3.ownerLabel")}),(0,b.jsx)(g.Input,{value:X.ownerMatch,onChange:a=>Y(b=>({...b,ownerMatch:a.target.value})),placeholder:n("onboarding.step3.ownerPlaceholder"),className:"h-9"})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"block text-xs font-medium",children:n("onboarding.step3.pathLabel")}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(g.Input,{value:X.localPathTemplate,onChange:a=>Y(b=>({...b,localPathTemplate:a.target.value})),placeholder:n("onboarding.step3.pathPlaceholder"),className:"h-9 font-mono text-xs flex-1"}),(0,b.jsxs)(i.Tooltip,{children:[(0,b.jsx)(i.TooltipTrigger,{render:(0,b.jsx)(f.Button,{variant:ab?"default":"outline",size:"sm",type:"button",onClick:()=>{ac(a=>(a||aa(2),!a))},className:"shrink-0 font-mono",children:"{path}"})}),(0,b.jsx)(i.TooltipContent,{side:"top",className:"max-w-xs",children:(0,b.jsxs)("div",{className:"space-y-1 text-xs",children:[(0,b.jsx)("div",{className:"font-medium",children:n("settings.config.git.pathTooltipTitle")}),(0,b.jsx)("div",{className:"opacity-80",children:n("settings.config.git.pathTooltipDetail")})]})})]}),(0,b.jsxs)(i.Tooltip,{children:[(0,b.jsx)(i.TooltipTrigger,{render:(0,b.jsx)(f.Button,{variant:"outline",size:"icon",type:"button",onClick:()=>ae(!0),children:(0,b.jsx)(I.FolderOpen,{className:"h-4 w-4"})})}),(0,b.jsx)(i.TooltipContent,{children:n("settings.config.git.pickFolder")})]})]}),(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:n(ab?"onboarding.step3.pathHintFull":"onboarding.step3.pathHintRepo")})]}),X.localPathTemplate&&(a=X.localPathTemplate.trim().replace(/\/+$/,""),k=ab?`${a}/{path}`:a,l=[{label:"GitHub SSH",url:"git@github.com:user/my-app.git"},{label:"GitHub HTTPS",url:"https://github.com/user/my-app.git"},{label:"GitLab Subgroup",url:"https://gitlab.com/org/team/sub/my-api.git"}],(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("label",{className:"text-xs font-medium",children:n("onboarding.step3.previewLabel")}),(0,b.jsx)("div",{className:"flex gap-1 flex-wrap",children:l.map((a,c)=>(0,b.jsx)("button",{type:"button",onClick:()=>aa(c),className:`rounded-md px-2 py-1 text-[11px] font-medium transition-colors ${_===c?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:a.label},c))}),(0,b.jsxs)("div",{className:"rounded-md bg-muted/50 px-3 py-2 space-y-1",children:[(0,b.jsx)("p",{className:"font-mono text-[11px] text-muted-foreground truncate",children:l[_].url}),(0,b.jsxs)("p",{className:"font-mono text-xs",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:"→ "}),(0,b.jsx)("span",{className:"text-primary",children:function(a,b){if(!a||!b)return"";let c=b.trim(),d=[],e=c.match(/^git@[^:]+:(.+)$/);if(e)d=e[1].replace(/\.git\/?$/,"").split("/").filter(Boolean);else try{let a=new URL(c);d=decodeURIComponent(a.pathname).replace(/\.git\/?$/,"").split("/").filter(Boolean)}catch{return""}if(!d.length)return"";let f=d[0],g=d[d.length-1],h=d.join("/");if(a.includes("{path}"))return a.replace("{path}",h).replace("{owner}",f).replace("{repo}",g).replace(/\/+$/,"");let i=a.replace("{owner}",f).replace("{repo}","").replace(/\/+$/,"");return`${i}/${g}`}(k,l[_].url)})]})]})]})),(0,b.jsxs)("div",{className:"flex justify-end gap-2 pt-1",children:[V.length>0&&(0,b.jsx)(f.Button,{variant:"ghost",onClick:()=>$(!1),children:n("settings.config.git.cancel")}),(0,b.jsxs)(f.Button,{onClick:function(){if(!X.host.trim()||!X.localPathTemplate.trim())return;let a=X.localPathTemplate.trim().replace(/\/+$/,""),b=ab?`${a}/{path}`:a,c={id:crypto.randomUUID(),host:X.host.trim(),ownerMatch:X.ownerMatch.trim()||"*",localPathTemplate:b,priority:V.length};W(a=>[...a,c]),Y({...R}),ac(!1),$(!1)},disabled:!X.host.trim()||!X.localPathTemplate.trim(),children:[(0,b.jsx)(o.Check,{className:"h-4 w-4 mr-1"}),n("settings.config.git.save")]})]})]}):(0,b.jsxs)(f.Button,{variant:"outline",onClick:()=>{Y({...R}),$(!0)},children:[(0,b.jsx)(G.Plus,{className:"h-4 w-4 mr-1"}),n("settings.config.git.addRule")]}),(0,b.jsxs)("div",{className:"flex items-center justify-between pt-3",children:[(0,b.jsxs)(f.Button,{variant:"ghost",className:"text-muted-foreground",onClick:ah,children:[(0,b.jsx)(A.ChevronLeft,{className:"h-4 w-4 mr-1"}),n("onboarding.back")]}),(0,b.jsxs)(f.Button,{onClick:async()=>{V.length>0&&await (0,v.setConfigValue)("git.pathMappingRules",V),M(a=>a+1)},className:"px-5",children:[n("onboarding.step1.next"),(0,b.jsx)(B.ChevronRight,{className:"h-4 w-4 ml-1"})]})]})]}),4===L&&(0,b.jsx)(P,{username:N,onComplete:()=>m.replace("/workspaces")})]}),(0,b.jsx)("div",{className:"pt-6 text-xs text-muted-foreground",children:n("onboarding.stepIndicator").replace("{current}",String(L)).replace("{total}",String(4))})]})}),(0,b.jsx)(j.FolderBrowserDialog,{open:ad,onOpenChange:ae,onSelect:a=>{Y(b=>({...b,localPathTemplate:a})),ae(!1)}})]})}],163778)}];
1
+ module.exports=[163778,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(553798),e=a.i(940271),f=a.i(699570),g=a.i(866718),h=a.i(487410),i=a.i(785259),j=a.i(43775),k=a.i(368114);function l({className:a,size:c="default",...d}){return(0,b.jsx)("div",{"data-slot":"card","data-size":c,className:(0,k.cn)("group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-card py-4 text-sm text-card-foreground ring-1 ring-foreground/10 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",a),...d})}function m({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"card-content",className:(0,k.cn)("px-4 group-data-[size=sm]/card:px-3",a),...c})}var n=a.i(704494),o=a.i(668116),p=a.i(54384),q=a.i(648512),r=a.i(913284),s=a.i(468862),t=a.i(951192);function u({adapterType:a,adapterLabel:d,provider:e,hideHeader:g,onResult:h}){let[i,j]=(0,c.useState)(!1),[v,w]=(0,c.useState)(null),{t:x}=(0,t.useI18n)();async function y(){if(!i){j(!0),w(null);try{let b=await fetch("/api/adapters/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({adapterType:a,provider:e})}),c=await b.json();w(c),h?.(c)}catch{let a={ok:!1,checks:[{name:"network_error",passed:!1,message:"Network request failed"}]};w(a),h?.(a)}finally{j(!1)}}}return(0,b.jsxs)("div",{className:"space-y-4",children:[!g&&(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"rounded-lg bg-emerald-100 dark:bg-emerald-900/30 p-2",children:(0,b.jsx)(q.Terminal,{className:"h-5 w-5 text-emerald-600 dark:text-emerald-400"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"font-semibold",children:x("settings.aiTools.cliVerification")}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:x("settings.aiTools.cliVerificationDesc")})]})]}),(0,b.jsx)(l,{children:(0,b.jsxs)(m,{className:"p-6 space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("div",{children:d&&(0,b.jsx)("p",{className:"font-medium",children:d})}),(0,b.jsx)(f.Button,{onClick:y,disabled:i,variant:"outline",children:i?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(n.Loader2,{className:"h-4 w-4 animate-spin mr-2"}),x("settings.aiTools.testing")]}):x("settings.aiTools.testConnection")})]}),v&&(0,b.jsxs)("div",{className:(0,k.cn)("rounded-lg border p-4 space-y-3",v.ok?"bg-green-50 border-green-200 dark:bg-green-950/20 dark:border-green-800":"bg-red-50 border-red-200 dark:bg-red-950/20 dark:border-red-800"),children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[v.ok?(0,b.jsx)(r.CheckCircle2,{className:"h-4 w-4 text-green-600 dark:text-green-400"}):(0,b.jsx)(s.XCircle,{className:"h-4 w-4 text-red-600 dark:text-red-400"}),(0,b.jsx)("span",{className:(0,k.cn)("text-sm font-medium",v.ok?"text-green-700 dark:text-green-300":"text-red-700 dark:text-red-300"),children:x(v.ok?"settings.aiTools.testPassed":"settings.aiTools.testFailed")})]}),(0,b.jsx)("div",{className:"space-y-2",children:v.checks.map(c=>(0,b.jsxs)("div",{className:"flex items-start gap-2 text-sm",children:[c.passed?(0,b.jsx)(o.Check,{className:"h-4 w-4 text-green-500 mt-0.5 shrink-0"}):(0,b.jsx)(p.X,{className:"h-4 w-4 text-red-500 mt-0.5 shrink-0"}),(0,b.jsx)("span",{className:(0,k.cn)(c.passed?"text-green-700 dark:text-green-300":"text-red-700 dark:text-red-300"),children:c.message})]},`${a}-${c.name}`))})]})]})})]})}var v=a.i(247464),w=a.i(711796);let x=(0,w.default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);var y=a.i(577565),z=a.i(264589),A=a.i(912868),B=a.i(10390),C=a.i(761052),D=a.i(86354);let E=(0,w.default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);var F=a.i(34252),G=a.i(774881),H=a.i(975231),I=a.i(347165),J=a.i(963326),K=a.i(953093),L=a.i(577491),M=a.i(780410);let N=(0,M.createServerReference)("608585f62f6192f3735a8afe6fd5ab7708e21b2fc3",M.callServer,void 0,M.findSourceMapURL,"completeOnboarding"),O=(0,M.createServerReference)("6025c14180b0c2ff030c9e57bd610ee6277dbd988f",M.callServer,void 0,M.findSourceMapURL,"setOnboardingExtensions");function P({username:a,onComplete:d}){let{t:e}=(0,t.useI18n)(),g=(0,K.listExtensionMetadata)(),[h,i]=(0,c.useState)(()=>new Set(g.map(a=>a.id))),[j,k]=(0,c.useState)(!1),l=g.length,m=h.size;async function o(){k(!0);let b=Array.from(h),c=[];if(b.length>0)for(let a of(await Promise.all(b.map(async a=>{try{let b=await (0,L.installExtension)(a);return{id:a,success:b.success}}catch{return{id:a,success:!1}}}))))a.success&&c.push(a.id);await O(b,c),await N(a),k(!1),d()}return(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("h2",{className:"text-xl font-semibold",children:e("onboarding.step4.title")}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:e("onboarding.step4.desc")})]}),(0,b.jsx)("div",{className:"space-y-2",children:g.map(a=>{let c=a.icon,d=h.has(a.id);return(0,b.jsxs)("label",{className:"flex items-start gap-3 rounded-lg border border-border bg-background p-3 cursor-pointer hover:bg-accent/50 transition-colors",children:[(0,b.jsx)("input",{type:"checkbox",checked:d,onChange:()=>{var b;return b=a.id,void i(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},disabled:j,className:"mt-0.5 h-4 w-4 cursor-pointer accent-primary"}),(0,b.jsxs)("div",{className:"flex flex-1 items-start gap-3 min-w-0",children:[(0,b.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-muted",children:(0,b.jsx)(c,{className:"h-4 w-4 text-muted-foreground"})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("span",{className:"text-sm font-medium",children:a.name}),(0,b.jsxs)("span",{className:"shrink-0 text-xs text-muted-foreground",children:["~",a.sizeMB," MB"]})]}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:a.description}),(0,b.jsxs)("a",{href:a.homepageUrl,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"mt-1 inline-flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground",children:[(0,b.jsx)(J.ExternalLink,{className:"h-3 w-3"}),e("settings.extensions.visitHomepage")]})]})]})]},a.id)})}),m<l&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground italic",children:e("onboarding.step4.skipHint")}),(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)(f.Button,{onClick:o,disabled:j,children:j?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(n.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),e("onboarding.step4.installing")]}):0===m?e("onboarding.step4.continueWithoutInstall"):e("onboarding.step4.continue")})})]})}function Q({step:a}){let c=[x,q.Terminal,y.GitBranch,z.Package][a-1]??x,d=["Profile","Connect","Configure","Extensions"][a-1]??"";return(0,b.jsxs)("div",{className:"relative h-full w-full overflow-hidden",children:[(0,b.jsx)("div",{className:"absolute inset-0 opacity-[0.07] text-white",style:{backgroundImage:"radial-gradient(circle, currentColor 1px, transparent 1px)",backgroundSize:"24px 24px"}}),(0,b.jsx)("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full",style:{width:"380px",height:"380px",background:"radial-gradient(circle, oklch(0.80 0.14 75 / 0.25) 0%, oklch(0.80 0.14 75 / 0.08) 45%, transparent 70%)",animation:"ob-pulse 6s ease-in-out infinite"}}),(0,b.jsx)("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full border border-amber-400/25",style:{width:"260px",height:"260px",animation:"ob-spin 20s linear infinite"},children:(0,b.jsx)("div",{className:"absolute -top-1.5 left-1/2 -translate-x-1/2 h-3 w-3 rounded-full bg-amber-400",style:{boxShadow:"0 0 16px oklch(0.80 0.14 75 / 0.7)"}})}),(0,b.jsxs)("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full border border-amber-400/15",style:{width:"380px",height:"380px",animation:"ob-spin 30s linear infinite reverse"},children:[(0,b.jsx)("div",{className:"absolute -top-1 left-1/2 -translate-x-1/2 h-2 w-2 rounded-full bg-amber-400/70"}),(0,b.jsx)("div",{className:"absolute -bottom-1 left-1/2 -translate-x-1/2 h-1.5 w-1.5 rounded-full bg-amber-400/50"})]}),(0,b.jsx)("svg",{className:"absolute",style:{top:"18%",right:"22%",animation:"ob-float 8s ease-in-out infinite"},width:"44",height:"50",viewBox:"0 0 40 46",fill:"none",children:(0,b.jsx)("path",{d:"M20 1 L38 12 L38 34 L20 45 L2 34 L2 12 Z",stroke:"oklch(0.80 0.14 75 / 0.4)",strokeWidth:"1.5",fill:"oklch(0.80 0.14 75 / 0.06)"})}),(0,b.jsx)("svg",{className:"absolute",style:{bottom:"22%",left:"18%",animation:"ob-float 10s ease-in-out 2s infinite"},width:"32",height:"36",viewBox:"0 0 40 46",fill:"none",children:(0,b.jsx)("path",{d:"M20 1 L38 12 L38 34 L20 45 L2 34 L2 12 Z",stroke:"oklch(0.80 0.14 75 / 0.3)",strokeWidth:"1.5",fill:"oklch(0.80 0.14 75 / 0.05)"})}),(0,b.jsx)("div",{className:"absolute h-3.5 w-3.5 rounded-full bg-amber-400/40",style:{top:"30%",left:"28%",animation:"ob-float 7s ease-in-out 1s infinite"}}),(0,b.jsx)("div",{className:"absolute h-2.5 w-2.5 rounded-full bg-amber-400/30",style:{top:"65%",right:"30%",animation:"ob-float 9s ease-in-out 3s infinite"}}),(0,b.jsx)("div",{className:"absolute h-2 w-2 rounded-full bg-amber-400/20",style:{top:"45%",right:"15%",animation:"ob-float 6s ease-in-out 0.5s infinite"}}),(0,b.jsxs)("svg",{className:"absolute inset-0 h-full w-full text-white opacity-[0.12]",children:[(0,b.jsx)("line",{x1:"30%",y1:"25%",x2:"70%",y2:"45%",stroke:"currentColor",strokeWidth:"1",strokeDasharray:"4 6",style:{animation:"ob-dash 12s linear infinite"}}),(0,b.jsx)("line",{x1:"65%",y1:"30%",x2:"35%",y2:"70%",stroke:"currentColor",strokeWidth:"1",strokeDasharray:"4 6",style:{animation:"ob-dash 15s linear infinite reverse"}})]}),(0,b.jsx)("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 flex items-center justify-center",children:(0,b.jsx)("div",{className:"flex h-16 w-16 items-center justify-center rounded-2xl border border-amber-400/35 bg-amber-500/10 backdrop-blur-sm transition-all duration-700",style:{boxShadow:"0 0 50px oklch(0.80 0.14 75 / 0.2)"},children:(0,b.jsx)(c,{className:"h-7 w-7 text-amber-400"})})}),(0,b.jsx)("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 translate-y-12 text-center",children:(0,b.jsx)("p",{className:"text-[11px] font-medium tracking-widest uppercase text-amber-400/60",children:d})})]})}let R={host:"",ownerMatch:"*",localPathTemplate:""};a.s(["default",0,function(){let a,k,l,m=(0,d.useRouter)(),{t:n,locale:p,setLocale:r}=(0,t.useI18n)(),{theme:s,setTheme:w}=(0,e.useTheme)(),[J,K]=(0,c.useState)(!1),[L,M]=(0,c.useState)(1),[N,O]=(0,c.useState)(""),[S,T]=(0,c.useState)({}),U=Object.values(S).some(a=>a.ok),[V,W]=(0,c.useState)([]),[X,Y]=(0,c.useState)({...R}),[Z,$]=(0,c.useState)(!0),[_,aa]=(0,c.useState)(0),[ab,ac]=(0,c.useState)(!1),[ad,ae]=(0,c.useState)(!1);(0,c.useEffect)(()=>K(!0),[]);let af=[{value:"light",label:(0,b.jsx)(C.Sun,{className:"h-4 w-4"})},{value:"dark",label:(0,b.jsx)(D.Moon,{className:"h-4 w-4"})},{value:"system",label:(0,b.jsx)(E,{className:"h-4 w-4"})}];function ag(){M(a=>a+1)}function ah(){M(a=>Math.max(1,a-1))}let ai=[{icon:x,label:n("onboarding.step1.title")},{icon:q.Terminal,label:n("onboarding.step2.title")},{icon:y.GitBranch,label:n("onboarding.step3.title")},{icon:z.Package,label:n("onboarding.step4.title")}];return(0,b.jsxs)("div",{className:"flex h-screen bg-background",children:[(0,b.jsx)("div",{className:"hidden xl:block xl:w-3/5 border-r border-border/50 bg-[oklch(0.13_0.006_260)]",children:(0,b.jsx)(Q,{step:L})}),(0,b.jsx)("div",{className:"flex w-full flex-col items-center px-8 pt-[10vh] pb-10 xl:w-2/5 xl:px-16 overflow-y-auto",children:(0,b.jsxs)("div",{className:"w-full max-w-lg space-y-6",children:[(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,b.jsx)("img",{src:"/logo.png",alt:"Tower",className:"h-8 w-8 rounded-lg"}),(0,b.jsx)("span",{className:"text-lg font-semibold tracking-tight",children:"Tower"})]}),(0,b.jsx)("div",{className:"flex items-center gap-1.5",children:ai.map((a,c)=>{let d=c+1,e=d===L,f=d<L,g=a.icon;return(0,b.jsxs)("div",{className:"flex items-center gap-1.5 shrink-0",children:[c>0&&(0,b.jsx)("div",{className:`h-px w-4 transition-colors duration-500 ${f?"bg-primary":"bg-border"}`}),(0,b.jsxs)("div",{className:`flex items-center gap-1 shrink-0 rounded-full px-2 py-1 text-[11px] font-medium whitespace-nowrap transition-all duration-500 ${e?"bg-primary text-primary-foreground shadow-sm":f?"bg-primary/10 text-primary":"bg-muted text-muted-foreground"}`,children:[f?(0,b.jsx)(o.Check,{className:"h-3 w-3 shrink-0"}):(0,b.jsx)(g,{className:"h-3 w-3 shrink-0"}),(0,b.jsx)("span",{children:a.label})]})]},c)})})]}),(0,b.jsxs)("div",{children:[1===L&&(0,b.jsxs)("div",{className:"space-y-7 animate-in fade-in slide-in-from-left-4 duration-500",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:n("onboarding.step1.title")}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground leading-relaxed",children:n("onboarding.step1.desc")})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("label",{htmlFor:"onboarding-username",className:"text-sm font-medium",children:n("onboarding.step1.usernameLabel")}),(0,b.jsx)("input",{id:"onboarding-username",type:"text",value:N,onChange:a=>O(a.target.value),placeholder:n("onboarding.step1.usernamePlaceholder"),className:"flex h-10 w-full rounded-lg border border-input bg-transparent px-3 py-2 text-sm shadow-sm transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50",maxLength:64,autoFocus:!0,autoComplete:"username"})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-6",children:[(0,b.jsxs)("div",{className:"space-y-2.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(F.Languages,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,b.jsx)("label",{className:"text-sm font-medium",children:n("settings.language")})]}),(0,b.jsx)(h.SegmentedControl,{options:[{value:"zh",label:"中文"},{value:"en",label:"English"}].map(a=>({value:a.value,label:a.label})),value:p,onChange:a=>r(a)})]}),(0,b.jsxs)("div",{className:"space-y-2.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(C.Sun,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,b.jsx)("label",{className:"text-sm font-medium",children:n("settings.theme")})]}),J?(0,b.jsx)(h.SegmentedControl,{options:af.map(a=>({value:a.value,label:a.label})),value:s??"system",onChange:a=>w(a)}):(0,b.jsx)("div",{className:"inline-flex h-8 rounded-md border border-border bg-muted p-1 gap-1 w-[120px]"})]})]}),(0,b.jsx)("div",{className:"flex justify-end pt-3",children:(0,b.jsxs)(f.Button,{onClick:ag,disabled:0===N.trim().length,className:"px-5",children:[n("onboarding.step1.next"),(0,b.jsx)(B.ChevronRight,{className:"h-4 w-4 ml-1"})]})})]}),2===L&&(0,b.jsxs)("div",{className:"space-y-7 animate-in fade-in slide-in-from-left-4 duration-500",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:n("onboarding.step2.title")}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground leading-relaxed",children:n("onboarding.step2.desc")})]}),(0,b.jsx)(u,{adapterType:"claude_code",adapterLabel:"Claude CLI",provider:"claude",onResult:a=>T(b=>({...b,claude:a}))}),(0,b.jsx)(u,{adapterType:"codex_cli",adapterLabel:"Codex CLI",provider:"codex",hideHeader:!0,onResult:a=>T(b=>({...b,codex:a}))}),(0,b.jsxs)("div",{className:"flex items-center justify-between pt-3",children:[(0,b.jsxs)(f.Button,{variant:"ghost",className:"text-muted-foreground",onClick:ah,children:[(0,b.jsx)(A.ChevronLeft,{className:"h-4 w-4 mr-1"}),n("onboarding.back")]}),(0,b.jsxs)(f.Button,{onClick:ag,disabled:!U,className:"px-5",children:[n("onboarding.step1.next"),(0,b.jsx)(B.ChevronRight,{className:"h-4 w-4 ml-1"})]})]})]}),3===L&&(0,b.jsxs)("div",{className:"space-y-5 animate-in fade-in slide-in-from-left-4 duration-500",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:n("onboarding.step3.title")}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground leading-relaxed",children:n("onboarding.step3.desc")})]}),V.length>0&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:n("onboarding.step3.added").replace("{count}",String(V.length))}),V.map(a=>(0,b.jsxs)("div",{className:"flex items-center justify-between rounded-lg border border-border bg-muted/30 px-3 py-2",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("p",{className:"text-sm font-medium truncate",children:[a.host,(0,b.jsx)("span",{className:"text-muted-foreground",children:"*"!==a.ownerMatch?` / ${a.ownerMatch}`:""})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground font-mono truncate",children:a.localPathTemplate})]}),(0,b.jsx)(f.Button,{variant:"ghost",size:"icon",className:"shrink-0 text-muted-foreground hover:text-destructive",onClick:()=>{var b;return b=a.id,void W(a=>a.filter(a=>a.id!==b))},children:(0,b.jsx)(H.Trash2,{className:"h-3.5 w-3.5"})})]},a.id))]}),Z?(0,b.jsxs)("div",{className:"space-y-3 rounded-lg border border-border p-4",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"text-xs font-medium",children:n("onboarding.step3.hostLabel")}),(0,b.jsx)(g.Input,{value:X.host,onChange:a=>Y(b=>({...b,host:a.target.value})),placeholder:n("onboarding.step3.hostPlaceholder"),className:"h-9",autoFocus:!0})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"text-xs font-medium",children:n("onboarding.step3.ownerLabel")}),(0,b.jsx)(g.Input,{value:X.ownerMatch,onChange:a=>Y(b=>({...b,ownerMatch:a.target.value})),placeholder:n("onboarding.step3.ownerPlaceholder"),className:"h-9"})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"block text-xs font-medium",children:n("onboarding.step3.pathLabel")}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(g.Input,{value:X.localPathTemplate,onChange:a=>Y(b=>({...b,localPathTemplate:a.target.value})),placeholder:n("onboarding.step3.pathPlaceholder"),className:"h-9 font-mono text-xs flex-1"}),(0,b.jsxs)(i.Tooltip,{children:[(0,b.jsx)(i.TooltipTrigger,{render:(0,b.jsx)(f.Button,{variant:ab?"default":"outline",size:"sm",type:"button",onClick:()=>{ac(a=>(a||aa(2),!a))},className:"shrink-0 font-mono",children:"{path}"})}),(0,b.jsx)(i.TooltipContent,{side:"top",className:"max-w-xs",children:(0,b.jsxs)("div",{className:"space-y-1 text-xs",children:[(0,b.jsx)("div",{className:"font-medium",children:n("settings.config.git.pathTooltipTitle")}),(0,b.jsx)("div",{className:"opacity-80",children:n("settings.config.git.pathTooltipDetail")})]})})]}),(0,b.jsxs)(i.Tooltip,{children:[(0,b.jsx)(i.TooltipTrigger,{render:(0,b.jsx)(f.Button,{variant:"outline",size:"icon",type:"button",onClick:()=>ae(!0),children:(0,b.jsx)(I.FolderOpen,{className:"h-4 w-4"})})}),(0,b.jsx)(i.TooltipContent,{children:n("settings.config.git.pickFolder")})]})]}),(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground",children:n(ab?"onboarding.step3.pathHintFull":"onboarding.step3.pathHintRepo")})]}),X.localPathTemplate&&(a=X.localPathTemplate.trim().replace(/\/+$/,""),k=ab?`${a}/{path}`:a,l=[{label:"GitHub SSH",url:"git@github.com:user/my-app.git"},{label:"GitHub HTTPS",url:"https://github.com/user/my-app.git"},{label:"GitLab Subgroup",url:"https://gitlab.com/org/team/sub/my-api.git"}],(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("label",{className:"text-xs font-medium",children:n("onboarding.step3.previewLabel")}),(0,b.jsx)("div",{className:"flex gap-1 flex-wrap",children:l.map((a,c)=>(0,b.jsx)("button",{type:"button",onClick:()=>aa(c),className:`rounded-md px-2 py-1 text-[11px] font-medium transition-colors ${_===c?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:a.label},c))}),(0,b.jsxs)("div",{className:"rounded-md bg-muted/50 px-3 py-2 space-y-1",children:[(0,b.jsx)("p",{className:"font-mono text-[11px] text-muted-foreground truncate",children:l[_].url}),(0,b.jsxs)("p",{className:"font-mono text-xs",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:"→ "}),(0,b.jsx)("span",{className:"text-primary",children:function(a,b){if(!a||!b)return"";let c=b.trim(),d=[],e=c.match(/^git@[^:]+:(.+)$/);if(e)d=e[1].replace(/\.git\/?$/,"").split("/").filter(Boolean);else try{let a=new URL(c);d=decodeURIComponent(a.pathname).replace(/\.git\/?$/,"").split("/").filter(Boolean)}catch{return""}if(!d.length)return"";let f=d[0],g=d[d.length-1],h=d.join("/");if(a.includes("{path}"))return a.replace("{path}",h).replace("{owner}",f).replace("{repo}",g).replace(/\/+$/,"");let i=a.replace("{owner}",f).replace("{repo}","").replace(/\/+$/,"");return`${i}/${g}`}(k,l[_].url)})]})]})]})),(0,b.jsxs)("div",{className:"flex justify-end gap-2 pt-1",children:[V.length>0&&(0,b.jsx)(f.Button,{variant:"ghost",onClick:()=>$(!1),children:n("settings.config.git.cancel")}),(0,b.jsxs)(f.Button,{onClick:function(){if(!X.host.trim()||!X.localPathTemplate.trim())return;let a=X.localPathTemplate.trim().replace(/\/+$/,""),b=ab?`${a}/{path}`:a,c={id:crypto.randomUUID(),host:X.host.trim(),ownerMatch:X.ownerMatch.trim()||"*",localPathTemplate:b,priority:V.length};W(a=>[...a,c]),Y({...R}),ac(!1),$(!1)},disabled:!X.host.trim()||!X.localPathTemplate.trim(),children:[(0,b.jsx)(o.Check,{className:"h-4 w-4 mr-1"}),n("settings.config.git.save")]})]})]}):(0,b.jsxs)(f.Button,{variant:"outline",onClick:()=>{Y({...R}),$(!0)},children:[(0,b.jsx)(G.Plus,{className:"h-4 w-4 mr-1"}),n("settings.config.git.addRule")]}),(0,b.jsxs)("div",{className:"flex items-center justify-between pt-3",children:[(0,b.jsxs)(f.Button,{variant:"ghost",className:"text-muted-foreground",onClick:ah,children:[(0,b.jsx)(A.ChevronLeft,{className:"h-4 w-4 mr-1"}),n("onboarding.back")]}),(0,b.jsxs)(f.Button,{onClick:async()=>{V.length>0&&await (0,v.setConfigValue)("git.pathMappingRules",V),M(a=>a+1)},className:"px-5",children:[n("onboarding.step1.next"),(0,b.jsx)(B.ChevronRight,{className:"h-4 w-4 ml-1"})]})]})]}),4===L&&(0,b.jsx)(P,{username:N,onComplete:()=>m.replace("/workspaces")})]}),(0,b.jsx)("div",{className:"pt-6 text-xs text-muted-foreground",children:n("onboarding.stepIndicator").replace("{current}",String(L)).replace("{total}",String(4))})]})}),(0,b.jsx)(j.FolderBrowserDialog,{open:ad,onOpenChange:ae,onSelect:a=>{Y(b=>({...b,localPathTemplate:a})),ae(!1)}})]})}],163778)}];
2
2
 
3
3
  //# sourceMappingURL=src_app_onboarding_page_tsx_0xf7hpz._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[520788,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(553798),e=a.i(940271),f=a.i(951192),g=a.i(699570),h=a.i(866718),i=a.i(429246),j=a.i(412783),k=a.i(786304),l=a.i(563658),m=a.i(814574),n=a.i(368114),o=a.i(369289),p=a.i(711796);let q=(0,p.default)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]);var r=a.i(350739);let s=(0,p.default)("sliders-horizontal",[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]]);var t=a.i(190076),u=a.i(705594),v=a.i(264589),w=a.i(54384),x=a.i(774881);let y=(0,p.default)("star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);var z=a.i(975231);let A=(0,p.default)("square-pen",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]]),B=(0,p.default)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);var C=a.i(704494),D=a.i(913284),E=a.i(468862),F=a.i(347165),G=a.i(802867),H=a.i(259756),I=a.i(410214),J=a.i(780410);let K=(0,J.createServerReference)("00425d1a52114a57a51613a4c2a94b57a741ed36e1",J.callServer,void 0,J.findSourceMapURL,"getAvailableTerminalApps"),L=(0,J.createServerReference)("0011090f3e98a24efb5f2b684453a8e7ea3fb1314d",J.callServer,void 0,J.findSourceMapURL,"getAvailableEditors");var M=a.i(369775);let N=(0,J.createServerReference)("401307db1f432f0254a8c03d5e00014b744bd9b2a8",J.callServer,void 0,J.findSourceMapURL,"createPrompt"),O=(0,J.createServerReference)("60fb8fdb4363d5fdf4cc59aaeb10ab99e1cd526fd0",J.callServer,void 0,J.findSourceMapURL,"updatePrompt"),P=(0,J.createServerReference)("40ba24482f2ede54c21bc7ca41124931be57aae332",J.callServer,void 0,J.findSourceMapURL,"deletePrompt"),Q=(0,J.createServerReference)("6095e6fd60755198315cc7d3ebd54075c83f1544b6",J.callServer,void 0,J.findSourceMapURL,"setDefaultPrompt"),R=(0,J.createServerReference)("007da1e87e2f50764ae00ad63896785e52514d0891",J.callServer,void 0,J.findSourceMapURL,"getAvailableProviders");var S=a.i(785259),T=a.i(43775);let U=(0,p.default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);var V=a.i(324954);let W=(0,p.default)("folder-up",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}],["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"m9 13 3-3 3 3",key:"1pxg3c"}]]);var X=a.i(747798),Y=a.i(811344),Z=a.i(607219),$=a.i(952313);let _=(0,J.createServerReference)("407c0fbdb19583d7e978bbf4c312ef6cc4ed617d6f",J.callServer,void 0,J.findSourceMapURL,"createBackup"),aa=(0,J.createServerReference)("00a2baaad3550f62834c2415ad33ad908bd5cd9e96",J.callServer,void 0,J.findSourceMapURL,"listBackupFiles"),ab=(0,J.createServerReference)("40223df0b309de8711d5336726b2d0aaca66e1588e",J.callServer,void 0,J.findSourceMapURL,"deleteBackupFile"),ac=(0,J.createServerReference)("40065ae71d17ac1f653cbc75bcf4d41b736889b106",J.callServer,void 0,J.findSourceMapURL,"restoreBackup"),ad=(0,J.createServerReference)("4008ad36440207222ba61d7fcef6f3ed2d7ac3c13d",J.callServer,void 0,J.findSourceMapURL,"resetSystem"),ae=(0,J.createServerReference)("00ba458e15db7b78dbe207eb961582acfcb06c1e24",J.callServer,void 0,J.findSourceMapURL,"getBackupDir"),af=(0,J.createServerReference)("40a26af6c5ec326d3b54b74ea2bc7e0f2211c6f866",J.callServer,void 0,J.findSourceMapURL,"setBackupDir"),ag=(0,J.createServerReference)("00815eb1d579f0bb42723480cc724cb04750bafa5d",J.callServer,void 0,J.findSourceMapURL,"getStorageLocation"),ah=(0,J.createServerReference)("40f840b2000d03d5239ceedf3bf8313cec2df43b54",J.callServer,void 0,J.findSourceMapURL,"setStorageLocation");function ai(){let{t:a,locale:e}=(0,f.useI18n)(),i=(0,d.useRouter)(),[j,k]=(0,c.useState)([]),[l,n]=(0,c.useState)(""),[o,p]=(0,c.useState)(!1),[q,r]=(0,c.useState)(null),[s,t]=(0,c.useState)(!1),[u,v]=(0,c.useState)(!0),[w,x]=(0,c.useState)(null),[y,A]=(0,c.useState)(!1),[B,D]=(0,c.useState)(""),E=(0,c.useRef)(null),[F,G]=(0,c.useState)(!1),[H,I]=(0,c.useState)(""),J=(0,c.useCallback)(async()=>{v(!0);try{let[a,b,c]=await Promise.all([aa(),ae(),ag()]);k(a),n(b),r(c)}finally{v(!1)}},[]);(0,c.useEffect)(()=>{J()},[J]);let K=async()=>{let b=B.trim()||void 0;A(!1),D(""),x("create");try{await _(b),$.toast.success(a("settings.backup.createSuccess")),await J()}catch{$.toast.error(a("settings.backup.createError"))}finally{x(null)}},L=async b=>{if(confirm(a("settings.backup.restoreConfirm"))){x("restore");try{await ac(b),$.toast.success(a("settings.backup.restoreSuccess"),{action:{label:a("settings.backup.reload"),onClick:()=>window.location.reload()},duration:15e3}),await J()}catch{$.toast.error(a("settings.backup.restoreError"))}finally{x(null)}}},M=async b=>{if(confirm(a("settings.backup.deleteConfirm")))try{await ab(b),$.toast.success(a("settings.backup.deleteSuccess")),k(a=>a.filter(a=>a.filename!==b))}catch{$.toast.error(a("settings.backup.deleteError"))}},N=async b=>{p(!1);try{await af(b),n(b),$.toast.success(a("settings.backup.dirSaved")),await J()}catch{$.toast.error(a("settings.backup.dirError"))}},O=async b=>{x("storage");try{let c=await ah({newPath:b});if(!c.ok)return void $.toast.error(c.error||a("settings.storage.moveError"));$.toast.success(a("settings.storage.moveSuccess",{count:String(c.moved??0)})),await J()}catch(b){$.toast.error(b instanceof Error?b.message:a("settings.storage.moveError"))}finally{x(null)}},P=async b=>{t(!1),confirm(a("settings.storage.moveConfirm"))&&await O(b)},Q=async()=>{!q||q.isDefault||confirm(a("settings.storage.resetConfirm"))&&await O(q.default)},R=async b=>{let c=b.target.files?.[0];if(c){b.target.value="",x("import");try{let b=new FormData;b.append("file",c);let d=await fetch("/api/internal/backup/import",{method:"POST",body:b});if(!d.ok){let b=await d.json();$.toast.error("Invalid backup archive"===b.error?a("settings.backup.importInvalid"):(b.error,a("settings.backup.importError")));return}$.toast.success(a("settings.backup.importSuccess")),await J()}catch{$.toast.error(a("settings.backup.importError"))}finally{x(null)}}},ai=async()=>{if("RESET"===H){G(!1),I(""),x("reset");try{await ad("RESET"),$.toast.success(a("settings.backup.resetSuccess")),i.push("/")}catch{$.toast.error(a("settings.backup.resetError"))}finally{x(null)}}},aj=null!==w;return(0,b.jsxs)("div",{className:"space-y-6",children:[("restore"===w||"reset"===w)&&(0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-background/80 backdrop-blur-sm",children:(0,b.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[(0,b.jsx)(C.Loader2,{className:"h-8 w-8 animate-spin text-muted-foreground"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"restore"===w?a("settings.backup.restoring"):a("settings.backup.resetting")})]})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-base font-semibold",children:a("settings.storage.sectionTitle")}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:a("settings.storage.hint")}),(0,b.jsxs)("div",{className:"mt-3 flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsxs)("span",{children:[a("settings.storage.current"),":"]}),(0,b.jsx)("code",{className:"rounded bg-muted px-2 py-0.5 text-xs",children:q?.current??"…"}),q?.isDefault&&(0,b.jsx)("span",{className:"rounded bg-muted px-1.5 py-0.5 text-[10px] text-muted-foreground",children:a("settings.storage.defaultBadge")}),(0,b.jsx)(g.Button,{variant:"ghost",onClick:()=>t(!0),disabled:"storage"===w,className:"text-xs text-muted-foreground",children:"storage"===w?(0,b.jsx)(C.Loader2,{className:"h-3 w-3 animate-spin"}):a("settings.storage.change")}),q&&!q.isDefault&&(0,b.jsx)(g.Button,{variant:"ghost",onClick:Q,disabled:"storage"===w,className:"text-xs text-muted-foreground",children:a("settings.storage.reset")})]}),(0,b.jsx)(T.FolderBrowserDialog,{open:s,onOpenChange:t,onSelect:P})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-base font-semibold",children:a("settings.backup.sectionTitle")}),(0,b.jsxs)("div",{className:"mt-3 flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsxs)("span",{children:[a("settings.backup.dir"),":"]}),(0,b.jsx)("code",{className:"rounded bg-muted px-2 py-0.5 text-xs",children:l}),(0,b.jsx)(g.Button,{variant:"ghost",onClick:()=>p(!0),className:"text-xs text-muted-foreground",children:a("settings.backup.dirChange")})]}),(0,b.jsx)(T.FolderBrowserDialog,{open:o,onOpenChange:p,onSelect:N})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(g.Button,{onClick:()=>{D(""),A(!0)},disabled:aj,className:"gap-2",children:"create"===w?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(C.Loader2,{className:"h-4 w-4 animate-spin"})," ",a("settings.backup.creating")]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(U,{className:"h-4 w-4"})," ",a("settings.backup.create")]})}),(0,b.jsxs)(S.Tooltip,{children:[(0,b.jsxs)(S.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"outline",disabled:aj,onClick:()=>E.current?.click(),className:"gap-2"}),children:[(0,b.jsx)(W,{className:"h-4 w-4"}),a("settings.backup.import")]}),(0,b.jsx)(S.TooltipContent,{side:"bottom",sideOffset:4,children:a("settings.backup.importHint")})]}),(0,b.jsx)("input",{ref:E,type:"file",accept:".tar.gz,.gz",className:"hidden",onChange:R})]}),(0,b.jsx)(m.Dialog,{open:y,onOpenChange:A,children:(0,b.jsxs)(m.DialogContent,{className:"sm:max-w-sm",children:[(0,b.jsx)(m.DialogHeader,{children:(0,b.jsx)(m.DialogTitle,{children:a("settings.backup.create")})}),(0,b.jsxs)("div",{className:"py-2",children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:a("settings.backup.createLabel")}),(0,b.jsx)(h.Input,{value:B,onChange:a=>D(a.target.value),onKeyDown:a=>"Enter"===a.key&&K(),placeholder:a("settings.backup.createLabelPlaceholder"),className:"mt-1.5",autoFocus:!0})]}),(0,b.jsxs)(m.DialogFooter,{children:[(0,b.jsx)(g.Button,{variant:"outline",onClick:()=>A(!1),children:a("common.cancel")}),(0,b.jsx)(g.Button,{onClick:K,className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:a("settings.backup.create")})]})]})}),u?(0,b.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,b.jsx)(C.Loader2,{className:"h-5 w-5 animate-spin text-muted-foreground"})}):0===j.length?(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2 py-12 text-center",children:[(0,b.jsx)(Z.Archive,{className:"h-10 w-10 text-muted-foreground/30"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:a("settings.backup.empty")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:a("settings.backup.emptyDesc")})]}):(0,b.jsx)("div",{className:"space-y-3",children:j.map(c=>{var d,f;return(0,b.jsx)("div",{className:"group rounded-lg border border-border bg-card p-4 transition-colors hover:bg-accent/30",children:(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[c.label?(0,b.jsx)("span",{className:"truncate text-sm font-medium text-foreground",children:c.label}):(0,b.jsx)("span",{className:"truncate text-sm font-medium font-mono text-foreground",children:c.filename}),c.autoBackup&&(0,b.jsx)("span",{className:"shrink-0 rounded-full bg-amber-500/10 px-2 py-0.5 text-[10px] font-medium text-amber-500 ring-1 ring-amber-500/20",children:a("settings.backup.autoLabel")})]}),c.label&&(0,b.jsx)("div",{className:"mt-0.5 text-[11px] font-mono text-muted-foreground/60",children:c.filename}),(0,b.jsxs)("div",{className:"mt-1 text-xs text-muted-foreground",children:[(d=c.size)<1024?`${d} B`:d<1048576?`${(d/1024).toFixed(1)} KB`:`${(d/1048576).toFixed(1)} MB`," · ",(f=c.createdAt,new Date(f).toLocaleString("zh"===e?"zh-CN":"en-US",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}))]}),c.preview.length>0&&(0,b.jsxs)("div",{className:"mt-1.5 text-xs text-muted-foreground",children:[c.preview.map((a,c)=>(0,b.jsxs)("span",{children:[c>0&&" ",a.workspace,"(",a.projects.join(", "),")"]},c)),c.stats.workspaces>c.preview.length&&(0,b.jsxs)("span",{children:[" ",a("settings.backup.workspaces",{count:String(c.stats.workspaces)})]})]}),(0,b.jsxs)("div",{className:"mt-0.5 text-xs text-muted-foreground",children:[a("settings.backup.projects",{count:String(c.stats.projects)})," · ",a("settings.backup.tasks",{count:String(c.stats.tasks)})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100",children:[(0,b.jsxs)(S.Tooltip,{children:[(0,b.jsx)(S.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs",onClick:()=>L(c.filename),disabled:aj,className:"text-muted-foreground hover:text-foreground"}),children:(0,b.jsx)(V.Upload,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(S.TooltipContent,{side:"bottom",sideOffset:4,children:a("settings.backup.restore")})]}),(0,b.jsxs)(S.Tooltip,{children:[(0,b.jsx)(S.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs",onClick:()=>M(c.filename),disabled:aj,className:"text-muted-foreground hover:text-rose-400"}),children:(0,b.jsx)(z.Trash2,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(S.TooltipContent,{side:"bottom",sideOffset:4,children:a("settings.backup.delete")})]})]})]})},c.filename)})}),(0,b.jsxs)("div",{className:"border-t border-border pt-6",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm font-semibold text-rose-400",children:[(0,b.jsx)(Y.AlertTriangle,{className:"h-4 w-4"}),a("settings.backup.dangerZone")]}),(0,b.jsx)("p",{className:"mt-2 text-xs text-muted-foreground leading-relaxed",children:a("settings.backup.resetDesc")}),(0,b.jsxs)(g.Button,{variant:"outline",onClick:()=>{I(""),G(!0)},disabled:aj,className:"mt-3 border-rose-500/30 text-rose-400 hover:bg-rose-500/10 hover:text-rose-400",children:[(0,b.jsx)(X.RotateCcw,{className:"mr-2 h-3.5 w-3.5"}),a("settings.backup.reset")]})]}),(0,b.jsx)(m.Dialog,{open:F,onOpenChange:G,children:(0,b.jsxs)(m.DialogContent,{className:"sm:max-w-sm",children:[(0,b.jsxs)(m.DialogHeader,{children:[(0,b.jsx)(m.DialogTitle,{children:a("settings.backup.resetConfirmTitle")}),(0,b.jsx)(m.DialogDescription,{children:a("settings.backup.resetConfirmDesc")})]}),(0,b.jsxs)("div",{className:"py-2",children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:a("settings.backup.resetConfirmInput")}),(0,b.jsx)(h.Input,{value:H,onChange:a=>I(a.target.value),placeholder:"RESET",className:"mt-1.5 font-mono"})]}),(0,b.jsxs)(m.DialogFooter,{children:[(0,b.jsx)(g.Button,{variant:"outline",onClick:()=>G(!1),children:a("common.cancel")}),(0,b.jsx)(g.Button,{disabled:"RESET"!==H,onClick:ai,className:"border-rose-500/30 bg-rose-500/10 text-rose-400 hover:bg-rose-500/20",children:a("settings.backup.reset")})]})]})})]})}var aj=a.i(953093),ak=a.i(668116);let al=(0,p.default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var am=a.i(22761),an=a.i(963326),ao=a.i(192369),ap=a.i(599209),aq=a.i(627141);let ar=[{os:"macOS",cmd:"brew install ripgrep"},{os:"Windows",cmd:"winget install BurntSushi.ripgrep"},{os:"Linux",cmd:"sudo apt install ripgrep"}];function as({cmd:a}){let{t:d}=(0,f.useI18n)(),[e,h]=(0,c.useState)(!1),i=async()=>{try{if(navigator.clipboard)await navigator.clipboard.writeText(a);else{let b=document.createElement("textarea");b.value=a,document.body.appendChild(b),b.select(),document.execCommand("copy"),document.body.removeChild(b)}h(!0),$.toast.success(d("common.copied")),setTimeout(()=>h(!1),1500)}catch{$.toast.error(d("common.copyFailed"))}};return(0,b.jsxs)("div",{className:"flex items-start gap-1 rounded-md bg-background/60 pl-2 pr-1 py-1 ring-1 ring-border/60",children:[(0,b.jsx)("code",{className:"min-w-0 flex-1 break-all font-mono text-[11px] leading-relaxed",children:a}),(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs",className:"shrink-0 text-muted-foreground","aria-label":d("common.copy"),onClick:i,children:e?(0,b.jsx)(ak.Check,{className:"h-3 w-3 text-emerald-400"}):(0,b.jsx)(am.Copy,{className:"h-3 w-3"})})]})}function at({extension:a}){let{t:d}=(0,f.useI18n)(),{status:e,loading:h,isInstalling:i,install:j,uninstall:k,refresh:l}=(0,aq.useExtension)(a.id),[m,n]=(0,c.useState)(!1),o=a.icon,p=e.installed,q=async()=>{let b=await j();b.success?$.toast.success(d("settings.extensions.installSuccess").replace("{name}",a.name)):$.toast.error(d("settings.extensions.installFailed").replace("{name}",a.name)+(b.error?`: ${b.error.slice(0,200)}`:""))},r=async()=>{let b=await k();b.success?$.toast.success(d("settings.extensions.uninstallSuccess").replace("{name}",a.name)):$.toast.error(d("settings.extensions.uninstallFailed").replace("{name}",a.name)+(b.error?`: ${b.error.slice(0,200)}`:""))},s=async()=>{n(!0);try{await l()}finally{n(!1)}},t=()=>{window.open(a.homepageUrl,"_blank","noopener,noreferrer")};return(0,b.jsxs)("div",{className:"rounded-xl border border-border bg-muted/50 p-5",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-background ring-1 ring-border",children:(0,b.jsx)(o,{className:"h-5 w-5 text-muted-foreground"})}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("h3",{className:"text-sm font-semibold",children:a.name}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:a.description})]})]}),(0,b.jsxs)("span",{className:"shrink-0 rounded-md bg-background px-2 py-0.5 text-xs text-muted-foreground ring-1 ring-border",children:["~",a.sizeMB," MB"]})]}),(0,b.jsx)("div",{className:"mt-4 flex items-center gap-2 text-xs",children:h?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(C.Loader2,{className:"h-3.5 w-3.5 animate-spin text-muted-foreground"}),(0,b.jsx)("span",{className:"text-muted-foreground",children:d("common.loading")})]}):p?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(D.CheckCircle2,{className:"h-3.5 w-3.5 text-emerald-500"}),(0,b.jsxs)("span",{className:"text-foreground",children:[d("settings.extensions.installed"),e.version?` v${e.version}`:""]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(al,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,b.jsx)("span",{className:"text-muted-foreground",children:d("settings.extensions.notInstalledShort")})]})}),(0,b.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-2",children:[p?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.Button,{variant:"default",onClick:q,disabled:i,children:i?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(C.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),d("settings.extensions.reinstalling")]}):d("settings.extensions.reinstall")}),(0,b.jsx)(g.Button,{variant:"outline",onClick:r,disabled:i,children:i?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(C.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),d("settings.extensions.uninstalling")]}):d("settings.extensions.uninstall")})]}):a.manualInstall?(0,b.jsxs)(ap.Popover,{children:[(0,b.jsx)(ap.PopoverTrigger,{render:a=>(0,b.jsxs)(g.Button,{variant:"default",...a,children:[(0,b.jsx)(U,{className:"h-3.5 w-3.5"}),d("settings.extensions.installViaHomepage")]})}),(0,b.jsxs)(ap.PopoverContent,{align:"start",className:"w-80 max-w-[90vw] gap-2 text-xs leading-relaxed",children:[(0,b.jsx)("p",{children:d("settings.extensions.manualInstallHintIntro")}),(0,b.jsx)("div",{className:"space-y-2",children:ar.map(({os:a,cmd:c})=>(0,b.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[11px] font-medium text-muted-foreground",children:a}),(0,b.jsx)(as,{cmd:c})]},a))}),(0,b.jsx)("p",{className:"text-muted-foreground",children:d("settings.extensions.manualInstallHintAfter")}),(0,b.jsxs)("button",{type:"button",onClick:t,className:"flex items-center gap-1 self-start text-[11px] text-primary underline-offset-2 hover:underline",children:[(0,b.jsx)(an.ExternalLink,{className:"h-3 w-3"}),d("settings.extensions.visitHomepage")]})]})]}):(0,b.jsx)(g.Button,{variant:"default",onClick:q,disabled:i,children:i?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(C.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),d("settings.extensions.installing")]}):d("settings.extensions.install")}),(0,b.jsxs)(g.Button,{variant:"ghost",onClick:s,disabled:m,children:[(0,b.jsx)(ao.RefreshCw,{className:`h-3.5 w-3.5 ${m?"animate-spin":""}`}),d("settings.extensions.recheck")]}),(0,b.jsxs)(g.Button,{variant:"ghost",onClick:t,children:[(0,b.jsx)(an.ExternalLink,{className:"h-3.5 w-3.5"}),d("settings.extensions.visitHomepage")]})]})]})}function au(){let{t:a}=(0,f.useI18n)(),c=(0,aj.listExtensionMetadata)();return(0,b.jsxs)("div",{className:"space-y-5",children:[(0,b.jsxs)("header",{children:[(0,b.jsx)("h2",{className:"text-base font-semibold",children:a("settings.extensions.title")}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:a("settings.extensions.desc")})]}),(0,b.jsx)("div",{className:"space-y-3",children:c.map(a=>(0,b.jsx)(at,{extension:a},a.id))})]})}function av({options:a,value:c,onChange:d}){return(0,b.jsx)("div",{className:"inline-flex rounded-lg border border-border/50 bg-muted/30 p-1 gap-0.5",children:a.map(a=>(0,b.jsx)("button",{type:"button",onClick:()=>d(a.value),className:(0,n.cn)("rounded-md px-3.5 py-1.5 text-sm font-medium transition-all duration-200 cursor-pointer",c===a.value?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:a.label},a.value))})}function aw({label:a,description:c,children:d,className:e}){return(0,b.jsxs)("div",{className:(0,n.cn)("flex items-center justify-between py-4 border-b border-border/50 last:border-0",e),children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1 pr-4",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:a}),c&&(0,b.jsx)("div",{className:"text-xs text-muted-foreground mt-0.5",children:c})]}),(0,b.jsx)("div",{className:"shrink-0",children:d})]})}let ax=[{id:"general",labelKey:"settings.general",descKey:"settings.generalDesc",icon:o.Settings,accent:"blue"},{id:"ai-tools",labelKey:"settings.aiTools.title",descKey:"settings.aiTools.cliVerificationDesc",icon:q,accent:"emerald"},{id:"prompts",labelKey:"settings.prompts",descKey:"settings.promptsDesc",icon:r.FileText,accent:"violet"},{id:"config",labelKey:"settings.config",descKey:"settings.configDesc",icon:s,accent:"amber"},{id:"extensions",labelKey:"settings.extensions.title",descKey:"settings.extensions.navDesc",icon:v.Package,accent:"indigo"},{id:"notifications",labelKey:"settings.notifications.title",descKey:"settings.notifications.navDesc",icon:t.Bell,accent:"rose"},{id:"backup",labelKey:"settings.backup.title",descKey:"settings.backup.navDesc",icon:u.HardDrive,accent:"cyan"}],ay={blue:{bg:"bg-accent",text:"text-foreground",ring:"ring-border",indicator:"bg-foreground"},emerald:{bg:"bg-accent",text:"text-foreground",ring:"ring-border",indicator:"bg-foreground"},violet:{bg:"bg-accent",text:"text-foreground",ring:"ring-border",indicator:"bg-foreground"},amber:{bg:"bg-accent",text:"text-foreground",ring:"ring-border",indicator:"bg-foreground"},cyan:{bg:"bg-accent",text:"text-foreground",ring:"ring-border",indicator:"bg-foreground"},rose:{bg:"bg-accent",text:"text-foreground",ring:"ring-border",indicator:"bg-foreground"},indigo:{bg:"bg-accent",text:"text-foreground",ring:"ring-border",indicator:"bg-foreground"}},az="ai-manager:default-cli-adapter",aA={host:"",ownerMatch:"*",localPathTemplate:"",priority:0},aB=a=>a.replace(/\\/g,"/").replace(/\/+$/,"");function aC(){let a=(0,d.useRouter)(),{t:o}=(0,f.useI18n)(),{theme:p,setTheme:q}=(0,e.useTheme)(),{locale:r,setLocale:s}=(0,f.useI18n)(),[t,u]=(0,c.useState)("general"),v=(0,c.useRef)(null),[J,U]=(0,c.useState)({left:0,width:0}),[V,W]=(0,c.useState)(!1),[X,Y]=(0,c.useState)("Terminal"),[Z,$]=(0,c.useState)([]),[_,aa]=(0,c.useState)(""),[ab,ac]=(0,c.useState)([]),[ad,ae]=(0,c.useState)(13),[af,ag]=(0,c.useState)("Menlo, Monaco, 'Courier New', monospace"),[ah,aj]=(0,c.useState)([]),[ak,al]=(0,c.useState)("claude"),[am,an]=(0,c.useState)(null),[ao,ap]=(0,c.useState)({}),[aq,ar]=(0,c.useState)([]),[as,at]=(0,c.useState)(!1),[aC,aD]=(0,c.useState)(null),[aE,aF]=(0,c.useState)(null),[aG,aH]=(0,c.useState)(""),[aI,aJ]=(0,c.useState)(""),[aK,aL]=(0,c.useState)(""),[aM,aN]=(0,c.useState)([]),[aO,aP]=(0,c.useState)(null),[aQ,aR]=(0,c.useState)({...aA}),[aS,aT]=(0,c.useState)(!1),[aU,aV]=(0,c.useState)({...aA}),[aW,aX]=(0,c.useState)(!1),[aY,aZ]=(0,c.useState)(!1),[a$,a_]=(0,c.useState)(0),[a0,a1]=(0,c.useState)(null),[a2,a3]=(0,c.useState)(null),[a4,a5]=(0,c.useState)({maxUploadMb:50,maxConcurrent:3,maxReadableMb:5,taskDefaultUseWorktree:!0,taskDefaultAutoStart:!1}),[a6,a7]=(0,c.useState)({timeoutSec:30}),[a8,a9]=(0,c.useState)({resultLimit:20,allModeCap:5,debounceMs:250,snippetLength:80,codeTimeoutSec:30}),[ba,bb]=(0,c.useState)({minCols:1,maxCols:5,minRows:1,maxRows:5}),[bc,bd]=(0,c.useState)(null),[be,bf]=(0,c.useState)(!1),[bg,bh]=(0,c.useState)(""),[bi,bj]=(0,c.useState)(!0);(0,c.useEffect)(()=>W(!0),[]),(0,c.useEffect)(()=>{(0,G.getConfigValue)("terminal.app","Terminal").then(Y),K().then($),(0,G.getConfigValue)("editor.command","").then(aa),L().then(ac),(0,G.getConfigValue)("terminal.fontSize",13).then(ae),(0,G.getConfigValue)("terminal.fontFamily","Menlo, Monaco, 'Courier New', monospace").then(ag)},[]),(0,c.useEffect)(()=>{if(0===Z.length||!X||Z.some(a=>a.value===X))return;let a=Z.find(a=>a.name===X);a&&(Y(a.value),(0,H.setConfigValue)("terminal.app",a.value))},[Z,X]),(0,c.useEffect)(()=>{if(0===ab.length||!_||ab.some(a=>a.command===_))return;let a=ab.find(a=>a.name===_);a&&(aa(a.command),(0,H.setConfigValue)("editor.command",a.command))},[ab,_]),(0,c.useEffect)(()=>{R().then(aj);let a=localStorage.getItem(az);a&&al(a)},[]),(0,c.useEffect)(()=>{(0,M.getPrompts)().then(ar)},[]);let bk=async()=>{try{let a=await fetch("/api/internal/hooks/install");if(a.ok){let b=await a.json();bd(b)}}catch{}};async function bl(a){if(!am){an(a),ap(b=>{let c={...b};return delete c[a],c});try{let b=await fetch("/api/adapters/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:a})}),c=await b.json();ap(b=>({...b,[a]:c}))}catch{ap(b=>({...b,[a]:{ok:!1,checks:[{name:"network_error",passed:!1,message:"Network request failed"}]}}))}finally{an(null)}}}(0,c.useEffect)(()=>{(0,G.getConfigValue)("git.pathMappingRules",[]).then(a=>{let b=new Set,c=!1,d=a.map(a=>{if(!a.id||b.has(a.id)){c=!0;let d={...a,id:crypto.randomUUID()};return b.add(d.id),d}return b.add(a.id),a});aN(d),c&&(0,H.setConfigValue)("git.pathMappingRules",d)}),(0,G.getConfigValue)("hooks.autoUploadTypes",["png","jpg","jpeg","gif","webp","svg","pdf","md","txt","json"]).then(a=>{bh(a.join(", "))}),bk(),(0,I.getConfigValues)(["system.maxUploadBytes","system.maxConcurrentExecutions","system.maxReadableFileBytes","task.defaultUseWorktree","task.defaultAutoStart","git.timeoutSec","search.resultLimit","search.allModeCap","search.debounceMs","search.snippetLength","search.codeTimeoutSec","missions.grid.minCols","missions.grid.maxCols","missions.grid.minRows","missions.grid.maxRows"]).then(a=>{let b=a["system.maxUploadBytes"]??0x3200000,c=a["system.maxReadableFileBytes"]??5242880;a5({maxUploadMb:Math.round(b/1024/1024),maxConcurrent:a["system.maxConcurrentExecutions"]??3,maxReadableMb:Math.round(c/1024/1024),taskDefaultUseWorktree:"boolean"!=typeof a["task.defaultUseWorktree"]||a["task.defaultUseWorktree"],taskDefaultAutoStart:"boolean"==typeof a["task.defaultAutoStart"]&&a["task.defaultAutoStart"]}),a7({timeoutSec:a["git.timeoutSec"]??30}),a9({resultLimit:a["search.resultLimit"]??20,allModeCap:a["search.allModeCap"]??5,debounceMs:a["search.debounceMs"]??250,snippetLength:a["search.snippetLength"]??80,codeTimeoutSec:a["search.codeTimeoutSec"]??30}),bb({minCols:a["missions.grid.minCols"]??1,maxCols:a["missions.grid.maxCols"]??5,minRows:a["missions.grid.minRows"]??1,maxRows:a["missions.grid.maxRows"]??5})})},[]),(0,c.useEffect)(()=>{(0,G.getConfigValue)("notification.enabled",!0).then(bj)},[]);let bm=(0,c.useCallback)(()=>{aD(null),aH(""),aJ(""),aL(""),at(!0)},[]),bn=(0,c.useCallback)(a=>{aD(a),aH(a.name),aJ(a.description??""),aL(a.content),at(!0)},[]),bo=(0,c.useCallback)(async()=>{aG.trim()&&aK.trim()&&(aC?await O(aC.id,{name:aG.trim(),description:aI.trim()||void 0,content:aK.trim()}):await N({name:aG.trim(),description:aI.trim()||void 0,content:aK.trim()}),at(!1),ar(await (0,M.getPrompts)()),a.refresh())},[aG,aI,aK,aC,a]),bp=(0,c.useCallback)(async()=>{aE&&(await P(aE),aF(null),ar(await (0,M.getPrompts)()),a.refresh())},[aE,a]),bq=(0,c.useCallback)(async b=>{await Q(b),ar(await (0,M.getPrompts)()),a.refresh()},[a]),br=async()=>{await (0,H.setConfigValue)("system.maxUploadBytes",1024*a4.maxUploadMb*1024),await (0,H.setConfigValue)("system.maxConcurrentExecutions",a4.maxConcurrent),await (0,H.setConfigValue)("system.maxReadableFileBytes",1024*a4.maxReadableMb*1024)},bs=async()=>{await (0,H.setConfigValue)("task.defaultUseWorktree",a4.taskDefaultUseWorktree),await (0,H.setConfigValue)("task.defaultAutoStart",a4.taskDefaultAutoStart),await (0,H.setConfigValue)("task.mcpDefaultsConfigured",!0)},bt=async()=>{await (0,H.setConfigValue)("git.timeoutSec",a6.timeoutSec)},bu=async()=>{await (0,H.setConfigValue)("search.resultLimit",a8.resultLimit),await (0,H.setConfigValue)("search.allModeCap",a8.allModeCap),await (0,H.setConfigValue)("search.debounceMs",a8.debounceMs),await (0,H.setConfigValue)("search.snippetLength",a8.snippetLength),await (0,H.setConfigValue)("search.codeTimeoutSec",a8.codeTimeoutSec)},bv=async()=>{let a=Math.min(ba.minCols,ba.maxCols),b=Math.max(ba.minCols,ba.maxCols),c=Math.min(ba.minRows,ba.maxRows),d=Math.max(ba.minRows,ba.maxRows);bb({minCols:a,maxCols:b,minRows:c,maxRows:d}),await (0,H.setConfigValue)("missions.grid.minCols",a),await (0,H.setConfigValue)("missions.grid.maxCols",b),await (0,H.setConfigValue)("missions.grid.minRows",c),await (0,H.setConfigValue)("missions.grid.maxRows",d)},bw=async()=>{let a=bg.split(",").map(a=>a.trim()).filter(Boolean);await (0,H.setConfigValue)("hooks.autoUploadTypes",a)},bx=async()=>{if(bc){bf(!0);try{let a=bc.installed?"DELETE":"POST";await fetch("/api/internal/hooks/install",{method:a}),await bk()}finally{bf(!1)}}},by=async()=>{if(!aU.host.trim()||!aU.localPathTemplate.trim())return;let a=aB(aU.localPathTemplate.trim()),b=aW?`${a}/{path}`:a,c=[...aM,{id:crypto.randomUUID(),host:aU.host.trim(),ownerMatch:aU.ownerMatch.trim()||"*",localPathTemplate:b,priority:aU.priority}];await (0,H.setConfigValue)("git.pathMappingRules",c),aN(c),aV({...aA}),aX(!1),aT(!1)},bz=async a=>{if(!aQ.host.trim()||!aQ.localPathTemplate.trim())return;let b=aB(aQ.localPathTemplate.trim()),c=aY?`${b}/{path}`:b,d=aM.map(b=>b.id===a?{...b,host:aQ.host.trim(),ownerMatch:aQ.ownerMatch.trim()||"*",localPathTemplate:c,priority:aQ.priority}:b);await (0,H.setConfigValue)("git.pathMappingRules",d),aN(d),aP(null),aZ(!1)},bA=async a=>{let b=aM.filter(b=>b.id!==a);await (0,H.setConfigValue)("git.pathMappingRules",b),aN(b),a1(null)};async function bB(){let a=!bi;bj(a),await (0,H.setConfigValue)("notification.enabled",a)}let bC=(0,c.useCallback)(()=>{a.back()},[a]);(0,c.useEffect)(()=>{let a=v.current;if(!a)return;let b=a.querySelector(`[data-section="${t}"]`);if(!b)return;let c=a.getBoundingClientRect(),d=b.getBoundingClientRect();U({left:d.left-c.left,width:d.width})},[t]);let bD=ax.find(a=>a.id===t),bE=bD?ay[bD.accent]:ay.blue;return(0,b.jsxs)("div",{className:"flex h-full flex-col bg-background",children:[(0,b.jsx)("div",{className:"flex-shrink-0 border-b bg-card/50 backdrop-blur-sm",children:(0,b.jsxs)("div",{className:"mx-auto max-w-5xl px-6",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between pb-3 pt-5",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:o("settings.title")}),(0,b.jsx)("p",{className:"mt-0.5 text-sm text-muted-foreground",children:o("settings.configDesc")})]}),(0,b.jsxs)(g.Button,{variant:"outline",onClick:bC,className:"gap-1.5 bg-card shadow-sm cursor-pointer",children:[(0,b.jsx)(w.X,{className:"h-3.5 w-3.5"}),"ESC"]})]}),(0,b.jsxs)("div",{ref:v,className:"relative flex gap-1 overflow-x-auto",children:[ax.map(a=>{let c=a.icon,d=t===a.id,e=ay[a.accent];return(0,b.jsxs)("button",{"data-section":a.id,onClick:()=>u(a.id),className:(0,n.cn)("relative flex items-center gap-2 rounded-t-lg px-4 py-2.5","text-sm font-medium whitespace-nowrap cursor-pointer","transition-colors duration-200","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",d?`${e.text} bg-background`:"text-muted-foreground hover:text-foreground hover:bg-muted/50"),children:[(0,b.jsx)("span",{className:(0,n.cn)("flex h-6 w-6 items-center justify-center rounded-md","transition-colors duration-200",d?e.bg:"bg-transparent"),children:(0,b.jsx)(c,{className:"h-3.5 w-3.5"})}),(0,b.jsx)("span",{children:o(a.labelKey)})]},a.id)}),(0,b.jsx)("div",{className:(0,n.cn)("absolute bottom-0 h-0.5 rounded-full","transition-all duration-250 ease-out",bE.indicator),style:{left:J.left,width:J.width}})]})]})}),(0,b.jsx)("div",{className:"flex-1 overflow-auto",children:(0,b.jsxs)("div",{className:"mx-auto max-w-4xl px-6 py-8",children:[bD&&(0,b.jsxs)("div",{className:"mb-6 flex items-start gap-4",children:[(0,b.jsx)("div",{className:(0,n.cn)("flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-xl","ring-1",bE.bg,bE.text,bE.ring),children:(0,b.jsx)(bD.icon,{className:"h-5 w-5"})}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("h2",{className:"text-lg font-semibold leading-tight",children:o(bD.labelKey)}),(0,b.jsx)("p",{className:"mt-0.5 text-sm text-muted-foreground",children:o(bD.descKey)})]})]}),(0,b.jsx)("div",{className:"mb-6 border-t"}),function(){switch(t){case"general":let a;return a=[{value:"light",label:o("settings.themeLight")},{value:"dark",label:o("settings.themeDark")},{value:"system",label:o("settings.themeSystem")}],(0,b.jsxs)("div",{className:"divide-y divide-border/50",children:[(0,b.jsx)(aw,{label:o("settings.theme"),description:o("settings.themeDesc"),children:V?(0,b.jsx)(av,{options:a,value:p??"system",onChange:a=>q(a)}):(0,b.jsx)("div",{className:"inline-flex h-9 rounded-lg border border-border/50 bg-muted/30 p-1 w-[200px]"})}),(0,b.jsx)(aw,{label:o("settings.language"),description:o("settings.languageDesc"),children:(0,b.jsx)(av,{options:[{value:"zh",label:"中文"},{value:"en",label:"English"}],value:r,onChange:a=>s(a)})}),(0,b.jsxs)("div",{className:"py-4 border-b border-border/50",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1 pr-4",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:o("settings.terminal.label")}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground mt-0.5",children:o("settings.terminal.desc")})]}),Z.length>0&&(0,b.jsx)("div",{className:"mt-3 flex flex-wrap gap-2",children:Z.map(a=>{let c=X===a.value,d=(0,n.cn)("rounded-lg border px-3.5 py-1.5 text-xs font-medium transition-all duration-200",a.installed?c?"border-foreground bg-accent text-foreground font-medium cursor-pointer":"border-border text-muted-foreground hover:bg-accent/50 hover:text-foreground cursor-pointer":"cursor-not-allowed border-dashed border-border/60 text-muted-foreground/40"),e=()=>{a.installed&&(Y(a.value),(0,H.setConfigValue)("terminal.app",a.value))};return a.installed?(0,b.jsx)("button",{type:"button",onClick:e,className:d,children:a.name},a.value):(0,b.jsxs)(S.Tooltip,{children:[(0,b.jsx)(S.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:e,className:d,children:a.name})}),(0,b.jsx)(S.TooltipContent,{side:"top",children:o("settings.app.notInstalled")})]},a.value)})})]}),(0,b.jsxs)("div",{className:"py-4 border-b border-border/50",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1 pr-4",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:o("settings.terminalFont.label")}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground mt-0.5",children:o("settings.terminalFont.desc")})]}),(0,b.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-4",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[o("settings.terminalFont.size"),(0,b.jsx)("input",{type:"number",min:8,max:40,value:ad,onChange:a=>{let b=Math.max(8,Math.min(40,Math.round(Number(a.target.value)||13)));ae(b),(0,H.setConfigValue)("terminal.fontSize",b)},className:"h-8 w-20 rounded-md border border-border bg-background px-2 text-sm text-foreground outline-none focus:border-ring focus:ring-1 focus:ring-ring"})]}),(0,b.jsxs)("label",{className:"flex min-w-0 flex-1 items-center gap-2 text-xs text-muted-foreground",children:[o("settings.terminalFont.family"),(0,b.jsx)("input",{type:"text",value:af,placeholder:"Menlo, Monaco, 'Courier New', monospace",onChange:a=>ag(a.target.value),onBlur:a=>{let b=a.target.value.trim()||"Menlo, Monaco, 'Courier New', monospace";ag(b),(0,H.setConfigValue)("terminal.fontFamily",b)},className:"h-8 min-w-0 flex-1 rounded-md border border-border bg-background px-2 font-mono text-xs text-foreground outline-none focus:border-ring focus:ring-1 focus:ring-ring"})]})]}),(0,b.jsx)("div",{className:"mt-1.5 text-[11px] text-muted-foreground/70",children:o("settings.terminalFont.hint")})]}),(0,b.jsxs)("div",{className:"py-4 border-b border-border/50",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1 pr-4",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:o("settings.editor.label")}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground mt-0.5",children:o("settings.editor.desc")})]}),ab.length>0&&(0,b.jsx)("div",{className:"mt-3 flex flex-wrap gap-2",children:ab.map(a=>{let c=_===a.command,d=(0,n.cn)("rounded-lg border px-3.5 py-1.5 text-xs font-medium transition-all duration-200",a.installed?c?"border-foreground bg-accent text-foreground font-medium cursor-pointer":"border-border text-muted-foreground hover:bg-accent/50 hover:text-foreground cursor-pointer":"cursor-not-allowed border-dashed border-border/60 text-muted-foreground/40"),e=()=>{a.installed&&(aa(a.command),(0,H.setConfigValue)("editor.command",a.command))};return a.installed?(0,b.jsx)("button",{type:"button",onClick:e,className:d,children:a.name},a.command):(0,b.jsxs)(S.Tooltip,{children:[(0,b.jsx)(S.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:e,className:d,children:a.name})}),(0,b.jsx)(S.TooltipContent,{side:"top",children:o("settings.app.notInstalled")})]},a.command)})})]})]});case"ai-tools":return(0,b.jsx)("ul",{className:"divide-y rounded-xl border border-border bg-card",children:ah.map(a=>{let c=ak===a.name,d=am===a.name,e=ao[a.name];return(0,b.jsx)("li",{children:(0,b.jsxs)("div",{className:"px-5 py-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("span",{className:"font-medium",children:a.displayName}),(0,b.jsx)(k.Badge,{variant:"outline",children:o("label.builtin")}),c&&(0,b.jsxs)(k.Badge,{variant:"secondary",className:"shrink-0",children:[(0,b.jsx)(y,{className:"h-3 w-3 mr-1 fill-yellow-400 text-yellow-400"}),o("settings.prompts.default")]}),e&&(0,b.jsx)(k.Badge,{variant:e.ok?"secondary":"destructive",className:(0,n.cn)("shrink-0",e.ok&&"bg-green-600 text-white hover:bg-green-700"),children:e.ok?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(D.CheckCircle2,{className:"h-3 w-3 mr-1"}),o("settings.aiTools.testPassed")]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(E.XCircle,{className:"h-3 w-3 mr-1"}),o("settings.aiTools.testFailed")]})})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:a.cli.available&&a.cli.version?`${a.name} \xb7 ${a.cli.version}`:a.name})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[!c&&(0,b.jsxs)(g.Button,{variant:"outline",size:"sm",onClick:()=>{var b;al(b=a.name),localStorage.setItem(az,b)},children:[(0,b.jsx)(y,{className:"h-3.5 w-3.5 mr-1.5 text-muted-foreground"}),o("settings.prompts.setDefault")]}),(0,b.jsx)(g.Button,{variant:"outline",size:"sm",onClick:()=>bl(a.name),disabled:d,children:d?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(C.Loader2,{className:"h-3.5 w-3.5 animate-spin mr-1.5"}),o("settings.aiTools.testing")]}):o("settings.aiTools.testConnection")})]})]}),e&&(0,b.jsx)("div",{className:"mt-3 rounded-md border border-border bg-muted/30 px-4 py-3",children:(0,b.jsx)("div",{className:"space-y-1.5",children:e.checks.map(c=>(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)("span",{className:(0,n.cn)("w-1.5 h-1.5 rounded-full shrink-0",c.passed?"bg-green-500":"bg-red-500")}),(0,b.jsx)("span",{className:(0,n.cn)(c.passed?"text-foreground":"text-red-700 dark:text-red-300"),children:c.message})]},`${a.name}-${c.name}`))})})]})},a.name)})});case"prompts":return V?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsxs)(g.Button,{onClick:bm,variant:"default",children:[(0,b.jsx)(x.Plus,{className:"h-4 w-4 mr-2"}),o("settings.prompts.newPrompt")]})}),0===aq.length?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 text-center rounded-lg border border-dashed border-border/50",children:[(0,b.jsx)("p",{className:"text-muted-foreground",children:o("settings.prompts.empty")}),(0,b.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:o("settings.prompts.emptyHint")})]}):(0,b.jsx)("div",{className:"rounded-xl border border-border/50 divide-y divide-border/50",children:aq.map(a=>(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 py-3.5 hover:bg-muted/30 transition-colors",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("h4",{className:"text-sm font-medium truncate",children:a.name}),a.isDefault&&(0,b.jsxs)(k.Badge,{variant:"secondary",className:"shrink-0 rounded-full text-xs",children:[(0,b.jsx)(y,{className:"h-3 w-3 mr-1 fill-yellow-400 text-yellow-400"}),o("settings.prompts.default")]})]}),a.description&&(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground truncate",children:a.description})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 shrink-0 ml-4",children:[(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:()=>bq(a.id),title:o("settings.prompts.setDefault"),children:(0,b.jsx)(y,{className:(0,n.cn)("h-4 w-4",a.isDefault?"fill-yellow-400 text-yellow-400":"text-muted-foreground")})}),(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:()=>bn(a),title:o("settings.prompts.editPrompt"),children:(0,b.jsx)(A,{className:"h-4 w-4"})}),(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:()=>aF(a.id),className:"text-destructive",title:o("settings.prompts.delete"),children:(0,b.jsx)(z.Trash2,{className:"h-4 w-4"})})]})]},a.id))}),(0,b.jsx)(m.Dialog,{open:as,onOpenChange:at,children:(0,b.jsxs)(m.DialogContent,{children:[(0,b.jsxs)(m.DialogHeader,{children:[(0,b.jsx)(m.DialogTitle,{children:aC?o("settings.prompts.editPrompt"):o("settings.prompts.newPrompt")}),(0,b.jsx)(m.DialogDescription,{children:aC?o("settings.prompts.editPrompt"):o("settings.prompts.newPrompt")})]}),(0,b.jsxs)("div",{className:"space-y-4 py-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(j.Label,{htmlFor:"prompt-name",children:o("settings.prompts.promptName")}),(0,b.jsx)(h.Input,{id:"prompt-name",value:aG,onChange:a=>aH(a.target.value),placeholder:o("settings.prompts.promptNamePlaceholder"),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(j.Label,{htmlFor:"prompt-description",children:o("settings.prompts.promptDescription")}),(0,b.jsx)(h.Input,{id:"prompt-description",value:aI,onChange:a=>aJ(a.target.value),placeholder:o("settings.prompts.promptDescriptionPlaceholder"),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(j.Label,{htmlFor:"prompt-content",children:o("settings.prompts.promptContent")}),(0,b.jsx)(i.Textarea,{id:"prompt-content",value:aK,onChange:a=>aL(a.target.value),placeholder:o("settings.prompts.promptContentPlaceholder"),rows:8,className:"mt-1.5 font-mono text-sm"})]})]}),(0,b.jsxs)(m.DialogFooter,{children:[(0,b.jsx)(g.Button,{variant:"outline",onClick:()=>at(!1),children:o("settings.prompts.cancel")}),(0,b.jsx)(g.Button,{onClick:bo,disabled:!aG.trim()||!aK.trim(),children:o("settings.prompts.save")})]})]})}),(0,b.jsx)(m.Dialog,{open:!!aE,onOpenChange:a=>!a&&aF(null),children:(0,b.jsxs)(m.DialogContent,{children:[(0,b.jsxs)(m.DialogHeader,{children:[(0,b.jsx)(m.DialogTitle,{children:o("settings.prompts.deleteConfirmTitle")}),(0,b.jsx)(m.DialogDescription,{children:o("settings.prompts.deleteConfirmMessage")})]}),(0,b.jsxs)(m.DialogFooter,{children:[(0,b.jsx)(g.Button,{variant:"outline",onClick:()=>aF(null),children:o("settings.prompts.cancel")}),(0,b.jsx)(g.Button,{variant:"destructive",onClick:bp,children:o("settings.prompts.delete")})]})]})})]}):(0,b.jsx)("div",{className:"h-32 rounded-lg bg-muted animate-pulse"});case"config":let c,d,e;return(0,b.jsxs)("div",{className:"space-y-8",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold",children:o("settings.config.git.title")}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:o("settings.config.git.desc")})]}),(0,b.jsxs)(g.Button,{onClick:()=>{aV({...aA}),aT(!0)},children:[(0,b.jsx)(x.Plus,{className:"mr-2 h-4 w-4"}),o("settings.config.git.addRule")]})]}),(0,b.jsxs)("div",{className:"space-y-3",children:[0!==aM.length||aS?(0,b.jsx)("ul",{className:"divide-y rounded-xl border border-border bg-card",children:aM.map(a=>aO===a.id?(0,b.jsxs)("li",{className:"px-5 py-4 bg-muted/20",children:[(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"block text-xs text-muted-foreground",children:o("settings.config.git.host")}),(0,b.jsx)(h.Input,{value:aQ.host,onChange:a=>aR(b=>({...b,host:a.target.value})),placeholder:o("settings.config.git.hostPlaceholder"),className:"text-sm"})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"block text-xs text-muted-foreground",children:o("settings.config.git.ownerMatch")}),(0,b.jsx)(h.Input,{value:aQ.ownerMatch,onChange:a=>aR(b=>({...b,ownerMatch:a.target.value})),placeholder:o("settings.config.git.ownerMatchPlaceholder"),className:"text-sm"})]}),(0,b.jsxs)("div",{className:"space-y-1.5 col-span-2",children:[(0,b.jsx)("label",{className:"block text-xs text-muted-foreground",children:o("settings.config.git.localPathTemplate")}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h.Input,{value:aQ.localPathTemplate,onChange:a=>aR(b=>({...b,localPathTemplate:a.target.value})),placeholder:o("settings.config.git.localPathTemplatePlaceholder"),className:"text-sm font-mono flex-1"}),(0,b.jsxs)(S.Tooltip,{children:[(0,b.jsx)(S.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:aY?"default":"outline",size:"sm",type:"button",onClick:()=>aZ(a=>!a),className:"shrink-0 font-mono",children:"{path}"})}),(0,b.jsx)(S.TooltipContent,{side:"top",className:"max-w-xs",children:(0,b.jsxs)("div",{className:"space-y-1 text-xs",children:[(0,b.jsx)("div",{className:"font-medium",children:o("settings.config.git.pathTooltipTitle")}),(0,b.jsx)("div",{className:"opacity-80",children:o("settings.config.git.pathTooltipDetail")})]})})]}),(0,b.jsxs)(S.Tooltip,{children:[(0,b.jsx)(S.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"outline",size:"icon",type:"button",onClick:()=>a3("edit"),children:(0,b.jsx)(F.FolderOpen,{className:"h-4 w-4"})})}),(0,b.jsx)(S.TooltipContent,{children:o("settings.config.git.pickFolder")})]})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:aY?o("onboarding.step3.pathHintFull"):o("onboarding.step3.pathHintRepo")})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"block text-xs text-muted-foreground",children:o("settings.config.git.priority")}),(0,b.jsx)(h.Input,{type:"number",value:aQ.priority,onChange:a=>aR(b=>({...b,priority:Number(a.target.value)})),className:"text-sm w-24"})]})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 mt-3",children:[(0,b.jsx)(g.Button,{variant:"ghost",size:"sm",onClick:()=>{aP(null),aZ(!1)},children:o("settings.config.git.cancel")}),(0,b.jsx)(g.Button,{size:"sm",onClick:()=>bz(a.id),children:o("settings.config.git.save")})]})]},a.id):(0,b.jsx)("li",{className:"group px-5 py-4 hover:bg-muted/20 transition-colors",children:(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-medium text-sm",children:a.host}),"*"!==a.ownerMatch&&(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:["/ ",a.ownerMatch]}),(0,b.jsxs)(k.Badge,{variant:"outline",className:"text-[10px] px-1.5 py-0",children:[o("settings.config.git.priority")," ",a.priority]})]}),(0,b.jsx)("p",{className:"mt-0.5 font-mono text-xs text-muted-foreground truncate",children:a.localPathTemplate})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 shrink-0 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{let b,c,d;return b=a.localPathTemplate,d=(c=/\/\{path\}\/?$/.test(b))?b.replace(/\/?\{path\}\/?$/,"").replace(/\/+$/,""):b,void(aP(a.id),aR({host:a.host,ownerMatch:a.ownerMatch,localPathTemplate:d,priority:a.priority}),aZ(c))},title:o("settings.config.git.edit"),children:(0,b.jsx)(A,{className:"h-4 w-4"})}),(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:()=>a1(a.id),className:"text-destructive",title:o("settings.config.git.delete"),children:(0,b.jsx)(z.Trash2,{className:"h-4 w-4"})})]})]})},a.id))}):(0,b.jsx)("div",{className:"rounded-xl border border-dashed border-border p-8 text-center",children:(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:o("settings.config.git.noRules")})}),aS&&(0,b.jsxs)("div",{className:"rounded-xl border border-border bg-muted/20 p-5 space-y-4",children:[(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"text-xs font-medium",children:o("settings.config.git.host")}),(0,b.jsx)(h.Input,{value:aU.host,onChange:a=>aV(b=>({...b,host:a.target.value})),placeholder:o("settings.config.git.hostPlaceholder"),className:"text-sm",autoFocus:!0})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"text-xs font-medium",children:o("settings.config.git.ownerMatch")}),(0,b.jsx)(h.Input,{value:aU.ownerMatch,onChange:a=>aV(b=>({...b,ownerMatch:a.target.value})),placeholder:o("settings.config.git.ownerMatchPlaceholder"),className:"text-sm"})]})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"block text-xs font-medium",children:o("settings.config.git.localPathTemplate")}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h.Input,{value:aU.localPathTemplate,onChange:a=>aV(b=>({...b,localPathTemplate:a.target.value})),placeholder:o("settings.config.git.localPathTemplatePlaceholder"),className:"text-sm font-mono flex-1"}),(0,b.jsxs)(S.Tooltip,{children:[(0,b.jsx)(S.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:aW?"default":"outline",size:"sm",type:"button",onClick:()=>aX(a=>!a),className:"shrink-0 font-mono",children:"{path}"})}),(0,b.jsx)(S.TooltipContent,{side:"top",className:"max-w-xs",children:(0,b.jsxs)("div",{className:"space-y-1 text-xs",children:[(0,b.jsx)("div",{className:"font-medium",children:o("settings.config.git.pathTooltipTitle")}),(0,b.jsx)("div",{className:"opacity-80",children:o("settings.config.git.pathTooltipDetail")})]})})]}),(0,b.jsxs)(S.Tooltip,{children:[(0,b.jsx)(S.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"outline",size:"icon",type:"button",onClick:()=>a3("add"),children:(0,b.jsx)(F.FolderOpen,{className:"h-4 w-4"})})}),(0,b.jsx)(S.TooltipContent,{children:o("settings.config.git.pickFolder")})]})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:aW?o("onboarding.step3.pathHintFull"):o("onboarding.step3.pathHintRepo")})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"block text-xs font-medium",children:o("settings.config.git.priority")}),(0,b.jsx)(h.Input,{type:"number",value:aU.priority,onChange:a=>aV(b=>({...b,priority:Number(a.target.value)})),className:"text-sm w-24"})]}),aU.localPathTemplate&&(c=aU.localPathTemplate.trim().replace(/\/+$/,""),d=aW?`${c}/{path}`:c,e=[{label:"GitHub SSH",url:"git@github.com:user/my-app.git"},{label:"GitHub HTTPS",url:"https://github.com/user/my-app.git"},{label:"GitLab Subgroup",url:"https://gitlab.com/org/team/sub/my-api.git"}],(0,b.jsxs)("div",{className:"rounded-lg bg-muted/40 border border-border px-4 py-3 space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:o("onboarding.step3.previewLabel")}),(0,b.jsx)("div",{className:"flex gap-1",children:e.map((a,c)=>(0,b.jsx)("button",{type:"button",onClick:()=>a_(c),className:(0,n.cn)("rounded-md px-2 py-0.5 text-[11px] font-medium transition-colors cursor-pointer",a$===c?"bg-foreground text-background":"bg-muted text-muted-foreground hover:text-foreground"),children:a.label},c))})]}),(0,b.jsxs)("div",{className:"space-y-0.5",children:[(0,b.jsx)("p",{className:"font-mono text-[11px] text-muted-foreground truncate",children:e[a$].url}),(0,b.jsxs)("p",{className:"font-mono text-sm",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:"→ "}),(0,b.jsx)("span",{className:"text-foreground font-medium",children:function(a,b){if(!a||!b)return"";let c=b.trim(),d=[],e=c.match(/^git@[^:]+:(.+)$/);if(e)d=e[1].replace(/\.git\/?$/,"").split("/").filter(Boolean);else try{let a=new URL(c);d=decodeURIComponent(a.pathname).replace(/\.git\/?$/,"").split("/").filter(Boolean)}catch{return""}if(!d.length)return"";let f=d[0],g=d[d.length-1],h=d.join("/");if(a.includes("{path}"))return a.replace("{path}",h).replace("{owner}",f).replace("{repo}",g).replace(/\/+$/,"");let i=a.replace("{owner}",f).replace("{repo}","").replace(/\/+$/,"");return`${i}/${g}`}(d,e[a$].url)})]})]})]})),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)(g.Button,{variant:"ghost",size:"sm",onClick:()=>aT(!1),children:o("settings.config.git.cancel")}),(0,b.jsxs)(g.Button,{size:"sm",onClick:by,disabled:!aU.host.trim()||!aU.localPathTemplate.trim(),children:[(0,b.jsx)(B,{className:"h-3.5 w-3.5 mr-1.5"}),o("settings.config.git.save")]})]})]})]})]}),(0,b.jsxs)("div",{className:"rounded-xl border border-border bg-muted/50 p-5 space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold",children:o("settings.config.system.title")}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:o("settings.config.system.desc")})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.system.maxUpload")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.system.maxUploadHint")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h.Input,{type:"number",min:1,max:500,value:a4.maxUploadMb,onChange:a=>a5(b=>({...b,maxUploadMb:Number(a.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"}),(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:"MB"})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.system.maxConcurrent")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.system.maxConcurrentHint")})]}),(0,b.jsx)(h.Input,{type:"number",min:1,max:10,value:a4.maxConcurrent,onChange:a=>a5(b=>({...b,maxConcurrent:Number(a.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.system.maxReadable")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.system.maxReadableHint")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h.Input,{type:"number",min:1,max:50,value:a4.maxReadableMb,onChange:a=>a5(b=>({...b,maxReadableMb:Number(a.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"}),(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:"MB"})]})]})]}),(0,b.jsx)(g.Button,{onClick:br,className:"rounded-lg",children:o("common.save")})]}),(0,b.jsxs)("div",{className:"rounded-xl border border-border bg-muted/50 p-5 space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold",children:o("settings.config.task.title")}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:o("settings.config.task.desc")})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.system.taskDefaultWorktree")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.system.taskDefaultWorktreeHint")})]}),(0,b.jsx)("button",{type:"button",onClick:()=>a5(a=>({...a,taskDefaultUseWorktree:!a.taskDefaultUseWorktree})),className:`rounded-md px-3 py-1 text-xs font-medium transition-colors ${a4.taskDefaultUseWorktree?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:a4.taskDefaultUseWorktree?o("task.worktreeYes"):o("task.worktreeNo")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.system.taskDefaultAutoStart")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.system.taskDefaultAutoStartHint")})]}),(0,b.jsx)("button",{type:"button",onClick:()=>a5(a=>({...a,taskDefaultAutoStart:!a.taskDefaultAutoStart})),className:`rounded-md px-3 py-1 text-xs font-medium transition-colors ${a4.taskDefaultAutoStart?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:a4.taskDefaultAutoStart?o("task.autoStartYes"):o("task.autoStartNo")})]})]}),(0,b.jsx)(g.Button,{onClick:bs,className:"rounded-lg",children:o("common.save")})]}),(0,b.jsxs)("div",{className:"rounded-xl border border-border bg-muted/50 p-5 space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold",children:o("settings.config.gitParams.title")}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:o("settings.config.gitParams.desc")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.gitParams.timeout")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.gitParams.timeoutHint")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h.Input,{type:"number",min:5,max:300,value:a6.timeoutSec,onChange:a=>a7(b=>({...b,timeoutSec:Number(a.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"}),(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:"s"})]})]}),(0,b.jsx)(g.Button,{onClick:bt,className:"rounded-lg",children:o("common.save")})]}),(0,b.jsxs)("div",{className:"rounded-xl border border-border bg-muted/50 p-5 space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold",children:o("settings.config.search.title")}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:o("settings.config.search.desc")})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.search.resultLimit")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.search.resultLimitHint")})]}),(0,b.jsx)(h.Input,{type:"number",min:5,max:100,value:a8.resultLimit,onChange:a=>a9(b=>({...b,resultLimit:Number(a.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.search.allModeCap")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.search.allModeCapHint")})]}),(0,b.jsx)(h.Input,{type:"number",min:1,max:20,value:a8.allModeCap,onChange:a=>a9(b=>({...b,allModeCap:Number(a.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.search.debounceMs")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.search.debounceMsHint")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h.Input,{type:"number",min:50,max:1e3,value:a8.debounceMs,onChange:a=>a9(b=>({...b,debounceMs:Number(a.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"}),(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:"ms"})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.search.snippetLength")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.search.snippetLengthHint")})]}),(0,b.jsx)(h.Input,{type:"number",min:20,max:500,value:a8.snippetLength,onChange:a=>a9(b=>({...b,snippetLength:Number(a.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.search.codeTimeout")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.search.codeTimeoutHint")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h.Input,{type:"number",min:5,max:300,step:5,value:a8.codeTimeoutSec,onChange:a=>a9(b=>({...b,codeTimeoutSec:Number(a.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"}),(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:"s"})]})]})]}),(0,b.jsx)(g.Button,{onClick:bu,className:"rounded-lg",children:o("common.save")})]}),(0,b.jsxs)("div",{className:"rounded-xl border border-border bg-muted/50 p-5 space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold",children:o("settings.config.missions.title")}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:o("settings.config.missions.desc")})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsx)("label",{className:"text-sm font-medium flex-1",children:o("settings.config.missions.minCols")}),(0,b.jsx)(h.Input,{type:"number",min:1,max:10,value:ba.minCols,onChange:a=>bb(b=>({...b,minCols:Number(a.target.value)})),className:"w-20 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsx)("label",{className:"text-sm font-medium flex-1",children:o("settings.config.missions.maxCols")}),(0,b.jsx)(h.Input,{type:"number",min:1,max:10,value:ba.maxCols,onChange:a=>bb(b=>({...b,maxCols:Number(a.target.value)})),className:"w-20 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsx)("label",{className:"text-sm font-medium flex-1",children:o("settings.config.missions.minRows")}),(0,b.jsx)(h.Input,{type:"number",min:1,max:10,value:ba.minRows,onChange:a=>bb(b=>({...b,minRows:Number(a.target.value)})),className:"w-20 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsx)("label",{className:"text-sm font-medium flex-1",children:o("settings.config.missions.maxRows")}),(0,b.jsx)(h.Input,{type:"number",min:1,max:10,value:ba.maxRows,onChange:a=>bb(b=>({...b,maxRows:Number(a.target.value)})),className:"w-20 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]})]}),(0,b.jsx)(g.Button,{onClick:bv,className:"rounded-lg",children:o("common.save")})]}),(0,b.jsxs)("div",{className:"rounded-xl border border-border bg-muted/50 p-5 space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold",children:o("settings.config.hooks.title")}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:o("settings.config.hooks.desc")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.hooks.autoUploadTypes")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.hooks.autoUploadTypesHint")})]}),(0,b.jsx)(h.Input,{value:bg,onChange:a=>bh(a.target.value),placeholder:"png, jpg, jpeg, gif, webp, svg, pdf",className:"w-80 rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]}),(0,b.jsx)(g.Button,{onClick:bw,className:"rounded-lg",children:o("common.save")}),(0,b.jsxs)("div",{className:"flex items-center gap-4 pt-4 border-t border-border/50",children:[(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:bc?.installed?o("settings.config.hooks.installed"):o("settings.config.hooks.notInstalled")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.hooks.installHint")})]}),(0,b.jsx)(g.Button,{variant:bc?.installed?"destructive":"default",onClick:bx,disabled:be||!bc,className:"rounded-lg",children:bc?.installed?o("settings.config.hooks.uninstall"):o("settings.config.hooks.install")})]})]}),(0,b.jsx)(m.Dialog,{open:!!a0,onOpenChange:a=>!a&&a1(null),children:(0,b.jsxs)(m.DialogContent,{children:[(0,b.jsxs)(m.DialogHeader,{children:[(0,b.jsx)(m.DialogTitle,{children:o("settings.config.git.deleteConfirm")}),(0,b.jsx)(m.DialogDescription,{children:o("settings.config.git.deleteConfirmMessage")})]}),(0,b.jsxs)(m.DialogFooter,{children:[(0,b.jsx)(g.Button,{variant:"outline",onClick:()=>a1(null),children:o("settings.config.git.cancel")}),(0,b.jsx)(g.Button,{variant:"destructive",onClick:()=>a0&&bA(a0),children:o("settings.config.git.delete")})]})]})})]});case"notifications":return(0,b.jsx)("div",{className:"divide-y divide-border/50",children:(0,b.jsxs)("div",{className:"flex items-center justify-between py-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:o("settings.notifications.enable")}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground mt-0.5",children:o("settings.notifications.enableDesc")})]}),(0,b.jsx)(l.Switch,{checked:bi,onCheckedChange:bB})]})});case"backup":return(0,b.jsx)(ai,{});case"extensions":return(0,b.jsx)(au,{})}}()]})}),(0,b.jsx)(T.FolderBrowserDialog,{open:null!==a2,onOpenChange:a=>{a||a3(null)},onSelect:a=>{let b=aB(a);"add"===a2?aV(a=>({...a,localPathTemplate:b})):"edit"===a2&&aR(a=>({...a,localPathTemplate:b})),a3(null)}})]})}a.s(["default",0,function(){return(0,b.jsx)(aC,{})}],520788)}];
1
+ module.exports=[520788,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(553798),e=a.i(940271),f=a.i(951192),g=a.i(699570),h=a.i(866718),i=a.i(429246),j=a.i(412783),k=a.i(786304),l=a.i(563658),m=a.i(814574),n=a.i(368114),o=a.i(369289),p=a.i(711796);let q=(0,p.default)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]);var r=a.i(350739);let s=(0,p.default)("sliders-horizontal",[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]]);var t=a.i(190076),u=a.i(705594),v=a.i(264589),w=a.i(567648),x=a.i(54384),y=a.i(774881);let z=(0,p.default)("star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);var A=a.i(975231);let B=(0,p.default)("square-pen",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]]),C=(0,p.default)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);var D=a.i(704494),E=a.i(913284),F=a.i(468862),G=a.i(347165),H=a.i(264953),I=a.i(247464),J=a.i(862440),K=a.i(780410);let L=(0,K.createServerReference)("0068f8f24a9320505242409aca421961234e48ab04",K.callServer,void 0,K.findSourceMapURL,"getAvailableTerminalApps"),M=(0,K.createServerReference)("004d62b07e2a8ffe195ab4f4b6d28dd75bbf43154b",K.callServer,void 0,K.findSourceMapURL,"getAvailableEditors");var N=a.i(945639);let O=(0,K.createServerReference)("4096892445713cb56c414fd87eb1d83db30289bfa4",K.callServer,void 0,K.findSourceMapURL,"createPrompt"),P=(0,K.createServerReference)("6073e5af395bd75c94c5fe37e0460ead8838150b2e",K.callServer,void 0,K.findSourceMapURL,"updatePrompt"),Q=(0,K.createServerReference)("4003f9094660f6f2b67f7e7dece8178ab1b28bc1ef",K.callServer,void 0,K.findSourceMapURL,"deletePrompt"),R=(0,K.createServerReference)("600a24999c057a402fca87e334d2de18c2b8562d58",K.callServer,void 0,K.findSourceMapURL,"setDefaultPrompt"),S=(0,K.createServerReference)("00ff1c0cb525622524123b103e1329f639e56fed17",K.callServer,void 0,K.findSourceMapURL,"getAvailableProviders");var T=a.i(785259),U=a.i(43775);let V=(0,p.default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);var W=a.i(324954);let X=(0,p.default)("folder-up",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}],["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"m9 13 3-3 3 3",key:"1pxg3c"}]]);var Y=a.i(747798),Z=a.i(811344),$=a.i(607219),_=a.i(952313);let aa=(0,K.createServerReference)("400275f4f98c38c564f67b5bba18408febd9327b22",K.callServer,void 0,K.findSourceMapURL,"createBackup"),ab=(0,K.createServerReference)("00ee90b328a8525e5f42184683c9e3ee61e3884162",K.callServer,void 0,K.findSourceMapURL,"listBackupFiles"),ac=(0,K.createServerReference)("40178c147702269c2bb3b51f65ddea7da97b7bdc6a",K.callServer,void 0,K.findSourceMapURL,"deleteBackupFile"),ad=(0,K.createServerReference)("4036db68633d8ed56514fea5a37a545b0f3c1d21bd",K.callServer,void 0,K.findSourceMapURL,"restoreBackup"),ae=(0,K.createServerReference)("405cea10827e9a03b18d19900ad72c8f8609e479e0",K.callServer,void 0,K.findSourceMapURL,"resetSystem"),af=(0,K.createServerReference)("006bedcdb2254f1faddc3227ebdd2fb6ce0686c0cf",K.callServer,void 0,K.findSourceMapURL,"getBackupDir"),ag=(0,K.createServerReference)("40616f0b0aa9488cb37196ff598a1d7fb8db64668d",K.callServer,void 0,K.findSourceMapURL,"setBackupDir"),ah=(0,K.createServerReference)("00491781b8bee8e6cf3be2b49b007ce07f27d2e309",K.callServer,void 0,K.findSourceMapURL,"getStorageLocation"),ai=(0,K.createServerReference)("400a14b9be76cb7b2ab6b2bb8aeee92c9c0da2a54f",K.callServer,void 0,K.findSourceMapURL,"setStorageLocation");function aj(){let{t:a,locale:e}=(0,f.useI18n)(),i=(0,d.useRouter)(),[j,k]=(0,c.useState)([]),[l,n]=(0,c.useState)(""),[o,p]=(0,c.useState)(!1),[q,r]=(0,c.useState)(null),[s,t]=(0,c.useState)(!1),[u,v]=(0,c.useState)(!0),[w,x]=(0,c.useState)(null),[y,z]=(0,c.useState)(!1),[B,C]=(0,c.useState)(""),E=(0,c.useRef)(null),[F,G]=(0,c.useState)(!1),[H,I]=(0,c.useState)(""),J=(0,c.useCallback)(async()=>{v(!0);try{let[a,b,c]=await Promise.all([ab(),af(),ah()]);k(a),n(b),r(c)}finally{v(!1)}},[]);(0,c.useEffect)(()=>{J()},[J]);let K=async()=>{let b=B.trim()||void 0;z(!1),C(""),x("create");try{await aa(b),_.toast.success(a("settings.backup.createSuccess")),await J()}catch{_.toast.error(a("settings.backup.createError"))}finally{x(null)}},L=async b=>{if(confirm(a("settings.backup.restoreConfirm"))){x("restore");try{await ad(b),_.toast.success(a("settings.backup.restoreSuccess"),{action:{label:a("settings.backup.reload"),onClick:()=>window.location.reload()},duration:15e3}),await J()}catch{_.toast.error(a("settings.backup.restoreError"))}finally{x(null)}}},M=async b=>{if(confirm(a("settings.backup.deleteConfirm")))try{await ac(b),_.toast.success(a("settings.backup.deleteSuccess")),k(a=>a.filter(a=>a.filename!==b))}catch{_.toast.error(a("settings.backup.deleteError"))}},N=async b=>{p(!1);try{await ag(b),n(b),_.toast.success(a("settings.backup.dirSaved")),await J()}catch{_.toast.error(a("settings.backup.dirError"))}},O=async b=>{x("storage");try{let c=await ai({newPath:b});if(!c.ok)return void _.toast.error(c.error||a("settings.storage.moveError"));_.toast.success(a("settings.storage.moveSuccess",{count:String(c.moved??0)})),await J()}catch(b){_.toast.error(b instanceof Error?b.message:a("settings.storage.moveError"))}finally{x(null)}},P=async b=>{t(!1),confirm(a("settings.storage.moveConfirm"))&&await O(b)},Q=async()=>{!q||q.isDefault||confirm(a("settings.storage.resetConfirm"))&&await O(q.default)},R=async b=>{let c=b.target.files?.[0];if(c){b.target.value="",x("import");try{let b=new FormData;b.append("file",c);let d=await fetch("/api/internal/backup/import",{method:"POST",body:b});if(!d.ok){let b=await d.json();_.toast.error("Invalid backup archive"===b.error?a("settings.backup.importInvalid"):(b.error,a("settings.backup.importError")));return}_.toast.success(a("settings.backup.importSuccess")),await J()}catch{_.toast.error(a("settings.backup.importError"))}finally{x(null)}}},S=async()=>{if("RESET"===H){G(!1),I(""),x("reset");try{await ae("RESET"),_.toast.success(a("settings.backup.resetSuccess")),i.push("/")}catch{_.toast.error(a("settings.backup.resetError"))}finally{x(null)}}},aj=null!==w;return(0,b.jsxs)("div",{className:"space-y-6",children:[("restore"===w||"reset"===w)&&(0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-background/80 backdrop-blur-sm",children:(0,b.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[(0,b.jsx)(D.Loader2,{className:"h-8 w-8 animate-spin text-muted-foreground"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"restore"===w?a("settings.backup.restoring"):a("settings.backup.resetting")})]})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-base font-semibold",children:a("settings.storage.sectionTitle")}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:a("settings.storage.hint")}),(0,b.jsxs)("div",{className:"mt-3 flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsxs)("span",{children:[a("settings.storage.current"),":"]}),(0,b.jsx)("code",{className:"rounded bg-muted px-2 py-0.5 text-xs",children:q?.current??"…"}),q?.isDefault&&(0,b.jsx)("span",{className:"rounded bg-muted px-1.5 py-0.5 text-[10px] text-muted-foreground",children:a("settings.storage.defaultBadge")}),(0,b.jsx)(g.Button,{variant:"ghost",onClick:()=>t(!0),disabled:"storage"===w,className:"text-xs text-muted-foreground",children:"storage"===w?(0,b.jsx)(D.Loader2,{className:"h-3 w-3 animate-spin"}):a("settings.storage.change")}),q&&!q.isDefault&&(0,b.jsx)(g.Button,{variant:"ghost",onClick:Q,disabled:"storage"===w,className:"text-xs text-muted-foreground",children:a("settings.storage.reset")})]}),(0,b.jsx)(U.FolderBrowserDialog,{open:s,onOpenChange:t,onSelect:P})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-base font-semibold",children:a("settings.backup.sectionTitle")}),(0,b.jsxs)("div",{className:"mt-3 flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsxs)("span",{children:[a("settings.backup.dir"),":"]}),(0,b.jsx)("code",{className:"rounded bg-muted px-2 py-0.5 text-xs",children:l}),(0,b.jsx)(g.Button,{variant:"ghost",onClick:()=>p(!0),className:"text-xs text-muted-foreground",children:a("settings.backup.dirChange")})]}),(0,b.jsx)(U.FolderBrowserDialog,{open:o,onOpenChange:p,onSelect:N})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(g.Button,{onClick:()=>{C(""),z(!0)},disabled:aj,className:"gap-2",children:"create"===w?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(D.Loader2,{className:"h-4 w-4 animate-spin"})," ",a("settings.backup.creating")]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(V,{className:"h-4 w-4"})," ",a("settings.backup.create")]})}),(0,b.jsxs)(T.Tooltip,{children:[(0,b.jsxs)(T.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"outline",disabled:aj,onClick:()=>E.current?.click(),className:"gap-2"}),children:[(0,b.jsx)(X,{className:"h-4 w-4"}),a("settings.backup.import")]}),(0,b.jsx)(T.TooltipContent,{side:"bottom",sideOffset:4,children:a("settings.backup.importHint")})]}),(0,b.jsx)("input",{ref:E,type:"file",accept:".tar.gz,.gz",className:"hidden",onChange:R})]}),(0,b.jsx)(m.Dialog,{open:y,onOpenChange:z,children:(0,b.jsxs)(m.DialogContent,{className:"sm:max-w-sm",children:[(0,b.jsx)(m.DialogHeader,{children:(0,b.jsx)(m.DialogTitle,{children:a("settings.backup.create")})}),(0,b.jsxs)("div",{className:"py-2",children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:a("settings.backup.createLabel")}),(0,b.jsx)(h.Input,{value:B,onChange:a=>C(a.target.value),onKeyDown:a=>"Enter"===a.key&&K(),placeholder:a("settings.backup.createLabelPlaceholder"),className:"mt-1.5",autoFocus:!0})]}),(0,b.jsxs)(m.DialogFooter,{children:[(0,b.jsx)(g.Button,{variant:"outline",onClick:()=>z(!1),children:a("common.cancel")}),(0,b.jsx)(g.Button,{onClick:K,className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:a("settings.backup.create")})]})]})}),u?(0,b.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,b.jsx)(D.Loader2,{className:"h-5 w-5 animate-spin text-muted-foreground"})}):0===j.length?(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2 py-12 text-center",children:[(0,b.jsx)($.Archive,{className:"h-10 w-10 text-muted-foreground/30"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:a("settings.backup.empty")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:a("settings.backup.emptyDesc")})]}):(0,b.jsx)("div",{className:"space-y-3",children:j.map(c=>{var d,f;return(0,b.jsx)("div",{className:"group rounded-lg border border-border bg-card p-4 transition-colors hover:bg-accent/30",children:(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[c.label?(0,b.jsx)("span",{className:"truncate text-sm font-medium text-foreground",children:c.label}):(0,b.jsx)("span",{className:"truncate text-sm font-medium font-mono text-foreground",children:c.filename}),c.autoBackup&&(0,b.jsx)("span",{className:"shrink-0 rounded-full bg-amber-500/10 px-2 py-0.5 text-[10px] font-medium text-amber-500 ring-1 ring-amber-500/20",children:a("settings.backup.autoLabel")})]}),c.label&&(0,b.jsx)("div",{className:"mt-0.5 text-[11px] font-mono text-muted-foreground/60",children:c.filename}),(0,b.jsxs)("div",{className:"mt-1 text-xs text-muted-foreground",children:[(d=c.size)<1024?`${d} B`:d<1048576?`${(d/1024).toFixed(1)} KB`:`${(d/1048576).toFixed(1)} MB`," · ",(f=c.createdAt,new Date(f).toLocaleString("zh"===e?"zh-CN":"en-US",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}))]}),c.preview.length>0&&(0,b.jsxs)("div",{className:"mt-1.5 text-xs text-muted-foreground",children:[c.preview.map((a,c)=>(0,b.jsxs)("span",{children:[c>0&&" ",a.workspace,"(",a.projects.join(", "),")"]},c)),c.stats.workspaces>c.preview.length&&(0,b.jsxs)("span",{children:[" ",a("settings.backup.workspaces",{count:String(c.stats.workspaces)})]})]}),(0,b.jsxs)("div",{className:"mt-0.5 text-xs text-muted-foreground",children:[a("settings.backup.projects",{count:String(c.stats.projects)})," · ",a("settings.backup.tasks",{count:String(c.stats.tasks)})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100",children:[(0,b.jsxs)(T.Tooltip,{children:[(0,b.jsx)(T.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs",onClick:()=>L(c.filename),disabled:aj,className:"text-muted-foreground hover:text-foreground"}),children:(0,b.jsx)(W.Upload,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(T.TooltipContent,{side:"bottom",sideOffset:4,children:a("settings.backup.restore")})]}),(0,b.jsxs)(T.Tooltip,{children:[(0,b.jsx)(T.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs",onClick:()=>M(c.filename),disabled:aj,className:"text-muted-foreground hover:text-rose-400"}),children:(0,b.jsx)(A.Trash2,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(T.TooltipContent,{side:"bottom",sideOffset:4,children:a("settings.backup.delete")})]})]})]})},c.filename)})}),(0,b.jsxs)("div",{className:"border-t border-border pt-6",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm font-semibold text-rose-400",children:[(0,b.jsx)(Z.AlertTriangle,{className:"h-4 w-4"}),a("settings.backup.dangerZone")]}),(0,b.jsx)("p",{className:"mt-2 text-xs text-muted-foreground leading-relaxed",children:a("settings.backup.resetDesc")}),(0,b.jsxs)(g.Button,{variant:"outline",onClick:()=>{I(""),G(!0)},disabled:aj,className:"mt-3 border-rose-500/30 text-rose-400 hover:bg-rose-500/10 hover:text-rose-400",children:[(0,b.jsx)(Y.RotateCcw,{className:"mr-2 h-3.5 w-3.5"}),a("settings.backup.reset")]})]}),(0,b.jsx)(m.Dialog,{open:F,onOpenChange:G,children:(0,b.jsxs)(m.DialogContent,{className:"sm:max-w-sm",children:[(0,b.jsxs)(m.DialogHeader,{children:[(0,b.jsx)(m.DialogTitle,{children:a("settings.backup.resetConfirmTitle")}),(0,b.jsx)(m.DialogDescription,{children:a("settings.backup.resetConfirmDesc")})]}),(0,b.jsxs)("div",{className:"py-2",children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:a("settings.backup.resetConfirmInput")}),(0,b.jsx)(h.Input,{value:H,onChange:a=>I(a.target.value),placeholder:"RESET",className:"mt-1.5 font-mono"})]}),(0,b.jsxs)(m.DialogFooter,{children:[(0,b.jsx)(g.Button,{variant:"outline",onClick:()=>G(!1),children:a("common.cancel")}),(0,b.jsx)(g.Button,{disabled:"RESET"!==H,onClick:S,className:"border-rose-500/30 bg-rose-500/10 text-rose-400 hover:bg-rose-500/20",children:a("settings.backup.reset")})]})]})})]})}var ak=a.i(953093),al=a.i(668116);let am=(0,p.default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var an=a.i(22761),ao=a.i(963326),ap=a.i(192369),aq=a.i(599209),ar=a.i(627141);let as=[{os:"macOS",cmd:"brew install ripgrep"},{os:"Windows",cmd:"winget install BurntSushi.ripgrep"},{os:"Linux",cmd:"sudo apt install ripgrep"}];function at({cmd:a}){let{t:d}=(0,f.useI18n)(),[e,h]=(0,c.useState)(!1),i=async()=>{try{if(navigator.clipboard)await navigator.clipboard.writeText(a);else{let b=document.createElement("textarea");b.value=a,document.body.appendChild(b),b.select(),document.execCommand("copy"),document.body.removeChild(b)}h(!0),_.toast.success(d("common.copied")),setTimeout(()=>h(!1),1500)}catch{_.toast.error(d("common.copyFailed"))}};return(0,b.jsxs)("div",{className:"flex items-start gap-1 rounded-md bg-background/60 pl-2 pr-1 py-1 ring-1 ring-border/60",children:[(0,b.jsx)("code",{className:"min-w-0 flex-1 break-all font-mono text-[11px] leading-relaxed",children:a}),(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs",className:"shrink-0 text-muted-foreground","aria-label":d("common.copy"),onClick:i,children:e?(0,b.jsx)(al.Check,{className:"h-3 w-3 text-emerald-400"}):(0,b.jsx)(an.Copy,{className:"h-3 w-3"})})]})}function au({extension:a}){let{t:d}=(0,f.useI18n)(),{status:e,loading:h,isInstalling:i,install:j,uninstall:k,refresh:l}=(0,ar.useExtension)(a.id),[m,n]=(0,c.useState)(!1),o=a.icon,p=e.installed,q=async()=>{let b=await j();b.success?_.toast.success(d("settings.extensions.installSuccess").replace("{name}",a.name)):_.toast.error(d("settings.extensions.installFailed").replace("{name}",a.name)+(b.error?`: ${b.error.slice(0,200)}`:""))},r=async()=>{let b=await k();b.success?_.toast.success(d("settings.extensions.uninstallSuccess").replace("{name}",a.name)):_.toast.error(d("settings.extensions.uninstallFailed").replace("{name}",a.name)+(b.error?`: ${b.error.slice(0,200)}`:""))},s=async()=>{n(!0);try{await l()}finally{n(!1)}},t=()=>{window.open(a.homepageUrl,"_blank","noopener,noreferrer")};return(0,b.jsxs)("div",{className:"rounded-xl border border-border bg-muted/50 p-5",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-background ring-1 ring-border",children:(0,b.jsx)(o,{className:"h-5 w-5 text-muted-foreground"})}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("h3",{className:"text-sm font-semibold",children:a.name}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:a.description})]})]}),(0,b.jsxs)("span",{className:"shrink-0 rounded-md bg-background px-2 py-0.5 text-xs text-muted-foreground ring-1 ring-border",children:["~",a.sizeMB," MB"]})]}),(0,b.jsx)("div",{className:"mt-4 flex items-center gap-2 text-xs",children:h?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(D.Loader2,{className:"h-3.5 w-3.5 animate-spin text-muted-foreground"}),(0,b.jsx)("span",{className:"text-muted-foreground",children:d("common.loading")})]}):p?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(E.CheckCircle2,{className:"h-3.5 w-3.5 text-emerald-500"}),(0,b.jsxs)("span",{className:"text-foreground",children:[d("settings.extensions.installed"),e.version?` v${e.version}`:""]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(am,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,b.jsx)("span",{className:"text-muted-foreground",children:d("settings.extensions.notInstalledShort")})]})}),(0,b.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-2",children:[p?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.Button,{variant:"default",onClick:q,disabled:i,children:i?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(D.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),d("settings.extensions.reinstalling")]}):d("settings.extensions.reinstall")}),(0,b.jsx)(g.Button,{variant:"outline",onClick:r,disabled:i,children:i?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(D.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),d("settings.extensions.uninstalling")]}):d("settings.extensions.uninstall")})]}):a.manualInstall?(0,b.jsxs)(aq.Popover,{children:[(0,b.jsx)(aq.PopoverTrigger,{render:a=>(0,b.jsxs)(g.Button,{variant:"default",...a,children:[(0,b.jsx)(V,{className:"h-3.5 w-3.5"}),d("settings.extensions.installViaHomepage")]})}),(0,b.jsxs)(aq.PopoverContent,{align:"start",className:"w-80 max-w-[90vw] gap-2 text-xs leading-relaxed",children:[(0,b.jsx)("p",{children:d("settings.extensions.manualInstallHintIntro")}),(0,b.jsx)("div",{className:"space-y-2",children:as.map(({os:a,cmd:c})=>(0,b.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[11px] font-medium text-muted-foreground",children:a}),(0,b.jsx)(at,{cmd:c})]},a))}),(0,b.jsx)("p",{className:"text-muted-foreground",children:d("settings.extensions.manualInstallHintAfter")}),(0,b.jsxs)("button",{type:"button",onClick:t,className:"flex items-center gap-1 self-start text-[11px] text-primary underline-offset-2 hover:underline",children:[(0,b.jsx)(ao.ExternalLink,{className:"h-3 w-3"}),d("settings.extensions.visitHomepage")]})]})]}):(0,b.jsx)(g.Button,{variant:"default",onClick:q,disabled:i,children:i?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(D.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),d("settings.extensions.installing")]}):d("settings.extensions.install")}),(0,b.jsxs)(g.Button,{variant:"ghost",onClick:s,disabled:m,children:[(0,b.jsx)(ap.RefreshCw,{className:`h-3.5 w-3.5 ${m?"animate-spin":""}`}),d("settings.extensions.recheck")]}),(0,b.jsxs)(g.Button,{variant:"ghost",onClick:t,children:[(0,b.jsx)(ao.ExternalLink,{className:"h-3.5 w-3.5"}),d("settings.extensions.visitHomepage")]})]})]})}function av(){let{t:a}=(0,f.useI18n)(),c=(0,ak.listExtensionMetadata)();return(0,b.jsxs)("div",{className:"space-y-5",children:[(0,b.jsxs)("header",{children:[(0,b.jsx)("h2",{className:"text-base font-semibold",children:a("settings.extensions.title")}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:a("settings.extensions.desc")})]}),(0,b.jsx)("div",{className:"space-y-3",children:c.map(a=>(0,b.jsx)(au,{extension:a},a.id))})]})}a.i(423993);var aw=a.i(109603),ax=a.i(975787),ay=a.i(875846),az=a.i(718799);let aA=["global","missions"],aB=new Set(["missions.cycleBack"]);function aC({keys:a}){return(0,b.jsx)(az.KeyCombo,{keys:a})}function aD(){let a,{t:d}=(0,f.useI18n)(),e=(0,ay.useKeymapStore)(a=>a.overrides),h=(0,ay.useKeymapStore)(a=>a.setBinding),i=(0,ay.useKeymapStore)(a=>a.resetBinding),j=(0,ay.useKeymapStore)(a=>a.resetAll),[l,n]=(0,c.useState)(null),[o,p]=(0,c.useState)(null),q=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(l){let a=requestAnimationFrame(()=>q.current?.focus());return()=>cancelAnimationFrame(a)}},[l]);let r=(0,c.useMemo)(()=>{let a=new Map;for(let b of aw.SHORTCUT_ACTIONS)for(let c of e[b.id]??[...b.defaultKeys])a.has(c)||a.set(c,b.id);return a},[e]),s=(0,c.useMemo)(()=>aA.map(a=>({group:a,actions:aw.SHORTCUT_ACTIONS.filter(b=>b.group===a&&!aB.has(b.id))})).filter(a=>a.actions.length>0),[]),t=l?(0,aw.getAction)(l):null,u=o&&l&&(a=r.get(o))&&a!==l?a:null;function v(){n(null),p(null)}return(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("header",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-base font-semibold",children:d("settings.keyboardShortcuts")}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:d("settings.keyboardShortcutsDesc")})]}),(0,b.jsxs)(g.Button,{variant:"outline",size:"sm",onClick:function(){j(),_.toast.success(d("settings.shortcuts.resetAllDone"))},children:[(0,b.jsx)(Y.RotateCcw,{className:"h-3.5 w-3.5"}),d("settings.shortcuts.resetAll")]})]}),(0,b.jsx)("div",{className:"space-y-6",children:s.map(({group:a,actions:c})=>(0,b.jsxs)("section",{children:[(0,b.jsx)("h3",{className:"mb-1 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:d(`shortcuts.group.${a}`)}),(0,b.jsx)("ul",{className:"divide-y divide-border/50 rounded-xl border border-border bg-card",children:c.map(a=>{let c,f=a.id in e;return(0,b.jsxs)("li",{className:"flex items-center justify-between gap-4 px-5 py-3.5",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1 text-sm",children:d(a.descriptionKey)}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,b.jsx)(aC,{keys:e[c=a.id]??[...(0,aw.getAction)(c).defaultKeys]}),a.configurable?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.Button,{variant:"outline",size:"sm",onClick:()=>{var b;return b=a.id,void(p(null),n(b))},children:d("settings.shortcuts.rebind")}),f&&(0,b.jsxs)(T.Tooltip,{children:[(0,b.jsx)(T.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:()=>i(a.id),children:(0,b.jsx)(Y.RotateCcw,{className:"h-3.5 w-3.5"})})}),(0,b.jsx)(T.TooltipContent,{children:d("settings.shortcuts.reset")})]})]}):(0,b.jsx)(k.Badge,{variant:"outline",className:"text-muted-foreground",children:d("settings.shortcuts.fixed")})]})]},a.id)})})]},a))}),(0,b.jsx)(m.Dialog,{open:null!==l,onOpenChange:a=>!a&&v(),children:(0,b.jsxs)(m.DialogContent,{className:"sm:max-w-sm",children:[(0,b.jsxs)(m.DialogHeader,{children:[(0,b.jsx)(m.DialogTitle,{children:t?d(t.descriptionKey):d("settings.shortcuts.rebind")}),(0,b.jsx)(m.DialogDescription,{children:d("settings.shortcuts.pressKey")})]}),(0,b.jsx)("textarea",{ref:q,readOnly:!0,tabIndex:0,"aria-label":d("settings.shortcuts.pressKey"),onKeyDown:a=>{a.preventDefault(),a.stopPropagation();let b=(0,ax.serializeKeyEvent)(a.nativeEvent);b&&p(b)},className:"flex h-20 w-full cursor-pointer resize-none items-center justify-center rounded-lg border border-dashed border-border bg-muted/30 text-center text-sm outline-none focus:border-ring focus:ring-1 focus:ring-ring"}),(0,b.jsx)("div",{className:"flex min-h-8 items-center justify-center",children:o?(0,b.jsx)(aC,{keys:[o]}):(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:d("settings.shortcuts.pressKey")})}),u&&(0,b.jsx)("p",{className:"text-center text-xs text-amber-600 dark:text-amber-400",children:d("settings.shortcuts.conflict",{name:d((0,aw.getAction)(u).descriptionKey)})}),(0,b.jsxs)(m.DialogFooter,{children:[(0,b.jsx)(g.Button,{variant:"outline",onClick:v,children:d("settings.shortcuts.cancel")}),(0,b.jsx)(g.Button,{variant:"default",onClick:function(){l&&o&&(h(l,[o]),v(),_.toast.success(d("settings.shortcuts.saved")))},disabled:!o,children:d("settings.shortcuts.saveBtn")})]})]})})]})}function aE({options:a,value:c,onChange:d}){return(0,b.jsx)("div",{className:"inline-flex rounded-lg border border-border/50 bg-muted/30 p-1 gap-0.5",children:a.map(a=>(0,b.jsx)("button",{type:"button",onClick:()=>d(a.value),className:(0,n.cn)("rounded-md px-3.5 py-1.5 text-sm font-medium transition-all duration-200 cursor-pointer",c===a.value?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:a.label},a.value))})}function aF({label:a,description:c,children:d,className:e}){return(0,b.jsxs)("div",{className:(0,n.cn)("flex items-center justify-between py-4 border-b border-border/50 last:border-0",e),children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1 pr-4",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:a}),c&&(0,b.jsx)("div",{className:"text-xs text-muted-foreground mt-0.5",children:c})]}),(0,b.jsx)("div",{className:"shrink-0",children:d})]})}let aG=[{id:"general",labelKey:"settings.general",descKey:"settings.generalDesc",icon:o.Settings,accent:"blue"},{id:"ai-tools",labelKey:"settings.aiTools.title",descKey:"settings.aiTools.cliVerificationDesc",icon:q,accent:"emerald"},{id:"prompts",labelKey:"settings.prompts",descKey:"settings.promptsDesc",icon:r.FileText,accent:"violet"},{id:"config",labelKey:"settings.config",descKey:"settings.configDesc",icon:s,accent:"amber"},{id:"extensions",labelKey:"settings.extensions.title",descKey:"settings.extensions.navDesc",icon:v.Package,accent:"indigo"},{id:"notifications",labelKey:"settings.notifications.title",descKey:"settings.notifications.navDesc",icon:t.Bell,accent:"rose"},{id:"backup",labelKey:"settings.backup.title",descKey:"settings.backup.navDesc",icon:u.HardDrive,accent:"cyan"},{id:"keyboard-shortcuts",labelKey:"settings.keyboardShortcuts",descKey:"settings.keyboardShortcutsDesc",icon:w.Keyboard,accent:"violet"}],aH={blue:{bg:"bg-accent",text:"text-foreground",ring:"ring-border",indicator:"bg-foreground"},emerald:{bg:"bg-accent",text:"text-foreground",ring:"ring-border",indicator:"bg-foreground"},violet:{bg:"bg-accent",text:"text-foreground",ring:"ring-border",indicator:"bg-foreground"},amber:{bg:"bg-accent",text:"text-foreground",ring:"ring-border",indicator:"bg-foreground"},cyan:{bg:"bg-accent",text:"text-foreground",ring:"ring-border",indicator:"bg-foreground"},rose:{bg:"bg-accent",text:"text-foreground",ring:"ring-border",indicator:"bg-foreground"},indigo:{bg:"bg-accent",text:"text-foreground",ring:"ring-border",indicator:"bg-foreground"}},aI="ai-manager:default-cli-adapter",aJ={host:"",ownerMatch:"*",localPathTemplate:"",priority:0},aK=a=>a.replace(/\\/g,"/").replace(/\/+$/,"");function aL(){let a=(0,d.useRouter)(),{t:o}=(0,f.useI18n)(),{theme:p,setTheme:q}=(0,e.useTheme)(),{locale:r,setLocale:s}=(0,f.useI18n)(),[t,u]=(0,c.useState)("general"),v=(0,c.useRef)(null),[w,K]=(0,c.useState)({left:0,width:0}),[V,W]=(0,c.useState)(!1),[X,Y]=(0,c.useState)("Terminal"),[Z,$]=(0,c.useState)([]),[_,aa]=(0,c.useState)(""),[ab,ac]=(0,c.useState)([]),[ad,ae]=(0,c.useState)(13),[af,ag]=(0,c.useState)("Menlo, Monaco, 'Courier New', monospace"),[ah,ai]=(0,c.useState)([]),[ak,al]=(0,c.useState)("claude"),[am,an]=(0,c.useState)(null),[ao,ap]=(0,c.useState)({}),[aq,ar]=(0,c.useState)([]),[as,at]=(0,c.useState)(!1),[au,aw]=(0,c.useState)(null),[ax,ay]=(0,c.useState)(null),[az,aA]=(0,c.useState)(""),[aB,aC]=(0,c.useState)(""),[aL,aM]=(0,c.useState)(""),[aN,aO]=(0,c.useState)([]),[aP,aQ]=(0,c.useState)(null),[aR,aS]=(0,c.useState)({...aJ}),[aT,aU]=(0,c.useState)(!1),[aV,aW]=(0,c.useState)({...aJ}),[aX,aY]=(0,c.useState)(!1),[aZ,a$]=(0,c.useState)(!1),[a_,a0]=(0,c.useState)(0),[a1,a2]=(0,c.useState)(null),[a3,a4]=(0,c.useState)(null),[a5,a6]=(0,c.useState)({maxUploadMb:50,maxConcurrent:3,maxReadableMb:5,archiveDelayDays:7,taskDefaultUseWorktree:!0,taskDefaultAutoStart:!1}),[a7,a8]=(0,c.useState)({timeoutSec:30}),[a9,ba]=(0,c.useState)({resultLimit:20,allModeCap:5,debounceMs:250,snippetLength:80,codeTimeoutSec:30}),[bb,bc]=(0,c.useState)({minCols:1,maxCols:5,minRows:1,maxRows:5}),[bd,be]=(0,c.useState)(null),[bf,bg]=(0,c.useState)(!1),[bh,bi]=(0,c.useState)(""),[bj,bk]=(0,c.useState)(!0);(0,c.useEffect)(()=>W(!0),[]),(0,c.useEffect)(()=>{(0,H.getConfigValue)("terminal.app","Terminal").then(Y),L().then($),(0,H.getConfigValue)("editor.command","").then(aa),M().then(ac),(0,H.getConfigValue)("terminal.fontSize",13).then(ae),(0,H.getConfigValue)("terminal.fontFamily","Menlo, Monaco, 'Courier New', monospace").then(ag)},[]),(0,c.useEffect)(()=>{if(0===Z.length||!X||Z.some(a=>a.value===X))return;let a=Z.find(a=>a.name===X);a&&(Y(a.value),(0,I.setConfigValue)("terminal.app",a.value))},[Z,X]),(0,c.useEffect)(()=>{if(0===ab.length||!_||ab.some(a=>a.command===_))return;let a=ab.find(a=>a.name===_);a&&(aa(a.command),(0,I.setConfigValue)("editor.command",a.command))},[ab,_]),(0,c.useEffect)(()=>{S().then(ai);let a=localStorage.getItem(aI);a&&al(a)},[]),(0,c.useEffect)(()=>{(0,N.getPrompts)().then(ar)},[]);let bl=async()=>{try{let a=await fetch("/api/internal/hooks/install");if(a.ok){let b=await a.json();be(b)}}catch{}};async function bm(a){if(!am){an(a),ap(b=>{let c={...b};return delete c[a],c});try{let b=await fetch("/api/adapters/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:a})}),c=await b.json();ap(b=>({...b,[a]:c}))}catch{ap(b=>({...b,[a]:{ok:!1,checks:[{name:"network_error",passed:!1,message:"Network request failed"}]}}))}finally{an(null)}}}(0,c.useEffect)(()=>{(0,H.getConfigValue)("git.pathMappingRules",[]).then(a=>{let b=new Set,c=!1,d=a.map(a=>{if(!a.id||b.has(a.id)){c=!0;let d={...a,id:crypto.randomUUID()};return b.add(d.id),d}return b.add(a.id),a});aO(d),c&&(0,I.setConfigValue)("git.pathMappingRules",d)}),(0,H.getConfigValue)("hooks.autoUploadTypes",["png","jpg","jpeg","gif","webp","svg","pdf","md","txt","json"]).then(a=>{bi(a.join(", "))}),bl(),(0,J.getConfigValues)(["system.maxUploadBytes","system.maxConcurrentExecutions","system.maxReadableFileBytes","board.archiveDelayDays","task.defaultUseWorktree","task.defaultAutoStart","git.timeoutSec","search.resultLimit","search.allModeCap","search.debounceMs","search.snippetLength","search.codeTimeoutSec","missions.grid.minCols","missions.grid.maxCols","missions.grid.minRows","missions.grid.maxRows"]).then(a=>{let b=a["system.maxUploadBytes"]??0x3200000,c=a["system.maxReadableFileBytes"]??5242880;a6({maxUploadMb:Math.round(b/1024/1024),maxConcurrent:a["system.maxConcurrentExecutions"]??3,maxReadableMb:Math.round(c/1024/1024),archiveDelayDays:a["board.archiveDelayDays"]??7,taskDefaultUseWorktree:"boolean"!=typeof a["task.defaultUseWorktree"]||a["task.defaultUseWorktree"],taskDefaultAutoStart:"boolean"==typeof a["task.defaultAutoStart"]&&a["task.defaultAutoStart"]}),a8({timeoutSec:a["git.timeoutSec"]??30}),ba({resultLimit:a["search.resultLimit"]??20,allModeCap:a["search.allModeCap"]??5,debounceMs:a["search.debounceMs"]??250,snippetLength:a["search.snippetLength"]??80,codeTimeoutSec:a["search.codeTimeoutSec"]??30}),bc({minCols:a["missions.grid.minCols"]??1,maxCols:a["missions.grid.maxCols"]??5,minRows:a["missions.grid.minRows"]??1,maxRows:a["missions.grid.maxRows"]??5})})},[]),(0,c.useEffect)(()=>{(0,H.getConfigValue)("notification.enabled",!0).then(bk)},[]);let bn=(0,c.useCallback)(()=>{aw(null),aA(""),aC(""),aM(""),at(!0)},[]),bo=(0,c.useCallback)(a=>{aw(a),aA(a.name),aC(a.description??""),aM(a.content),at(!0)},[]),bp=(0,c.useCallback)(async()=>{az.trim()&&aL.trim()&&(au?await P(au.id,{name:az.trim(),description:aB.trim()||void 0,content:aL.trim()}):await O({name:az.trim(),description:aB.trim()||void 0,content:aL.trim()}),at(!1),ar(await (0,N.getPrompts)()),a.refresh())},[az,aB,aL,au,a]),bq=(0,c.useCallback)(async()=>{ax&&(await Q(ax),ay(null),ar(await (0,N.getPrompts)()),a.refresh())},[ax,a]),br=(0,c.useCallback)(async b=>{await R(b),ar(await (0,N.getPrompts)()),a.refresh()},[a]),bs=async()=>{await (0,I.setConfigValue)("system.maxUploadBytes",1024*a5.maxUploadMb*1024),await (0,I.setConfigValue)("system.maxConcurrentExecutions",a5.maxConcurrent),await (0,I.setConfigValue)("system.maxReadableFileBytes",1024*a5.maxReadableMb*1024),await (0,I.setConfigValue)("board.archiveDelayDays",a5.archiveDelayDays)},bt=async()=>{await (0,I.setConfigValue)("task.defaultUseWorktree",a5.taskDefaultUseWorktree),await (0,I.setConfigValue)("task.defaultAutoStart",a5.taskDefaultAutoStart),await (0,I.setConfigValue)("task.mcpDefaultsConfigured",!0)},bu=async()=>{await (0,I.setConfigValue)("git.timeoutSec",a7.timeoutSec)},bv=async()=>{await (0,I.setConfigValue)("search.resultLimit",a9.resultLimit),await (0,I.setConfigValue)("search.allModeCap",a9.allModeCap),await (0,I.setConfigValue)("search.debounceMs",a9.debounceMs),await (0,I.setConfigValue)("search.snippetLength",a9.snippetLength),await (0,I.setConfigValue)("search.codeTimeoutSec",a9.codeTimeoutSec)},bw=async()=>{let a=Math.min(bb.minCols,bb.maxCols),b=Math.max(bb.minCols,bb.maxCols),c=Math.min(bb.minRows,bb.maxRows),d=Math.max(bb.minRows,bb.maxRows);bc({minCols:a,maxCols:b,minRows:c,maxRows:d}),await (0,I.setConfigValue)("missions.grid.minCols",a),await (0,I.setConfigValue)("missions.grid.maxCols",b),await (0,I.setConfigValue)("missions.grid.minRows",c),await (0,I.setConfigValue)("missions.grid.maxRows",d)},bx=async()=>{let a=bh.split(",").map(a=>a.trim()).filter(Boolean);await (0,I.setConfigValue)("hooks.autoUploadTypes",a)},by=async()=>{if(bd){bg(!0);try{let a=bd.installed?"DELETE":"POST";await fetch("/api/internal/hooks/install",{method:a}),await bl()}finally{bg(!1)}}},bz=async()=>{if(!aV.host.trim()||!aV.localPathTemplate.trim())return;let a=aK(aV.localPathTemplate.trim()),b=aX?`${a}/{path}`:a,c=[...aN,{id:crypto.randomUUID(),host:aV.host.trim(),ownerMatch:aV.ownerMatch.trim()||"*",localPathTemplate:b,priority:aV.priority}];await (0,I.setConfigValue)("git.pathMappingRules",c),aO(c),aW({...aJ}),aY(!1),aU(!1)},bA=async a=>{if(!aR.host.trim()||!aR.localPathTemplate.trim())return;let b=aK(aR.localPathTemplate.trim()),c=aZ?`${b}/{path}`:b,d=aN.map(b=>b.id===a?{...b,host:aR.host.trim(),ownerMatch:aR.ownerMatch.trim()||"*",localPathTemplate:c,priority:aR.priority}:b);await (0,I.setConfigValue)("git.pathMappingRules",d),aO(d),aQ(null),a$(!1)},bB=async a=>{let b=aN.filter(b=>b.id!==a);await (0,I.setConfigValue)("git.pathMappingRules",b),aO(b),a2(null)};async function bC(){let a=!bj;bk(a),await (0,I.setConfigValue)("notification.enabled",a)}let bD=(0,c.useCallback)(()=>{a.back()},[a]);(0,c.useEffect)(()=>{let a=v.current;if(!a)return;let b=a.querySelector(`[data-section="${t}"]`);if(!b)return;let c=a.getBoundingClientRect(),d=b.getBoundingClientRect();K({left:d.left-c.left,width:d.width})},[t]);let bE=aG.find(a=>a.id===t),bF=bE?aH[bE.accent]:aH.blue;return(0,b.jsxs)("div",{className:"flex h-full flex-col bg-background",children:[(0,b.jsx)("div",{className:"flex-shrink-0 border-b bg-card/50 backdrop-blur-sm",children:(0,b.jsxs)("div",{className:"mx-auto max-w-5xl px-6",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between pb-3 pt-5",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:o("settings.title")}),(0,b.jsx)("p",{className:"mt-0.5 text-sm text-muted-foreground",children:o("settings.configDesc")})]}),(0,b.jsxs)(g.Button,{variant:"outline",onClick:bD,className:"gap-1.5 bg-card shadow-sm cursor-pointer",children:[(0,b.jsx)(x.X,{className:"h-3.5 w-3.5"}),"ESC"]})]}),(0,b.jsxs)("div",{ref:v,className:"relative flex gap-1 overflow-x-auto",children:[aG.map(a=>{let c=a.icon,d=t===a.id,e=aH[a.accent];return(0,b.jsxs)("button",{"data-section":a.id,onClick:()=>u(a.id),className:(0,n.cn)("relative flex items-center gap-2 rounded-t-lg px-4 py-2.5","text-sm font-medium whitespace-nowrap cursor-pointer","transition-colors duration-200","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",d?`${e.text} bg-background`:"text-muted-foreground hover:text-foreground hover:bg-muted/50"),children:[(0,b.jsx)("span",{className:(0,n.cn)("flex h-6 w-6 items-center justify-center rounded-md","transition-colors duration-200",d?e.bg:"bg-transparent"),children:(0,b.jsx)(c,{className:"h-3.5 w-3.5"})}),(0,b.jsx)("span",{children:o(a.labelKey)})]},a.id)}),(0,b.jsx)("div",{className:(0,n.cn)("absolute bottom-0 h-0.5 rounded-full","transition-all duration-250 ease-out",bF.indicator),style:{left:w.left,width:w.width}})]})]})}),(0,b.jsx)("div",{className:"flex-1 overflow-auto",children:(0,b.jsxs)("div",{className:"mx-auto max-w-4xl px-6 py-8",children:[bE&&(0,b.jsxs)("div",{className:"mb-6 flex items-start gap-4",children:[(0,b.jsx)("div",{className:(0,n.cn)("flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-xl","ring-1",bF.bg,bF.text,bF.ring),children:(0,b.jsx)(bE.icon,{className:"h-5 w-5"})}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("h2",{className:"text-lg font-semibold leading-tight",children:o(bE.labelKey)}),(0,b.jsx)("p",{className:"mt-0.5 text-sm text-muted-foreground",children:o(bE.descKey)})]})]}),(0,b.jsx)("div",{className:"mb-6 border-t"}),function(){switch(t){case"general":let a;return a=[{value:"light",label:o("settings.themeLight")},{value:"dark",label:o("settings.themeDark")},{value:"system",label:o("settings.themeSystem")}],(0,b.jsxs)("div",{className:"divide-y divide-border/50",children:[(0,b.jsx)(aF,{label:o("settings.theme"),description:o("settings.themeDesc"),children:V?(0,b.jsx)(aE,{options:a,value:p??"system",onChange:a=>q(a)}):(0,b.jsx)("div",{className:"inline-flex h-9 rounded-lg border border-border/50 bg-muted/30 p-1 w-[200px]"})}),(0,b.jsx)(aF,{label:o("settings.language"),description:o("settings.languageDesc"),children:(0,b.jsx)(aE,{options:[{value:"zh",label:"中文"},{value:"en",label:"English"}],value:r,onChange:a=>s(a)})}),(0,b.jsxs)("div",{className:"py-4 border-b border-border/50",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1 pr-4",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:o("settings.terminal.label")}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground mt-0.5",children:o("settings.terminal.desc")})]}),Z.length>0&&(0,b.jsx)("div",{className:"mt-3 flex flex-wrap gap-2",children:Z.map(a=>{let c=X===a.value,d=(0,n.cn)("rounded-lg border px-3.5 py-1.5 text-xs font-medium transition-all duration-200",a.installed?c?"border-foreground bg-accent text-foreground font-medium cursor-pointer":"border-border text-muted-foreground hover:bg-accent/50 hover:text-foreground cursor-pointer":"cursor-not-allowed border-dashed border-border/60 text-muted-foreground/40"),e=()=>{a.installed&&(Y(a.value),(0,I.setConfigValue)("terminal.app",a.value))};return a.installed?(0,b.jsx)("button",{type:"button",onClick:e,className:d,children:a.name},a.value):(0,b.jsxs)(T.Tooltip,{children:[(0,b.jsx)(T.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:e,className:d,children:a.name})}),(0,b.jsx)(T.TooltipContent,{side:"top",children:o("settings.app.notInstalled")})]},a.value)})})]}),(0,b.jsxs)("div",{className:"py-4 border-b border-border/50",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1 pr-4",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:o("settings.terminalFont.label")}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground mt-0.5",children:o("settings.terminalFont.desc")})]}),(0,b.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-4",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[o("settings.terminalFont.size"),(0,b.jsx)("input",{type:"number",min:8,max:40,value:ad,onChange:a=>{let b=Math.max(8,Math.min(40,Math.round(Number(a.target.value)||13)));ae(b),(0,I.setConfigValue)("terminal.fontSize",b)},className:"h-8 w-20 rounded-md border border-border bg-background px-2 text-sm text-foreground outline-none focus:border-ring focus:ring-1 focus:ring-ring"})]}),(0,b.jsxs)("label",{className:"flex min-w-0 flex-1 items-center gap-2 text-xs text-muted-foreground",children:[o("settings.terminalFont.family"),(0,b.jsx)("input",{type:"text",value:af,placeholder:"Menlo, Monaco, 'Courier New', monospace",onChange:a=>ag(a.target.value),onBlur:a=>{let b=a.target.value.trim()||"Menlo, Monaco, 'Courier New', monospace";ag(b),(0,I.setConfigValue)("terminal.fontFamily",b)},className:"h-8 min-w-0 flex-1 rounded-md border border-border bg-background px-2 font-mono text-xs text-foreground outline-none focus:border-ring focus:ring-1 focus:ring-ring"})]})]}),(0,b.jsx)("div",{className:"mt-1.5 text-[11px] text-muted-foreground/70",children:o("settings.terminalFont.hint")})]}),(0,b.jsxs)("div",{className:"py-4 border-b border-border/50",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1 pr-4",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:o("settings.editor.label")}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground mt-0.5",children:o("settings.editor.desc")})]}),ab.length>0&&(0,b.jsx)("div",{className:"mt-3 flex flex-wrap gap-2",children:ab.map(a=>{let c=_===a.command,d=(0,n.cn)("rounded-lg border px-3.5 py-1.5 text-xs font-medium transition-all duration-200",a.installed?c?"border-foreground bg-accent text-foreground font-medium cursor-pointer":"border-border text-muted-foreground hover:bg-accent/50 hover:text-foreground cursor-pointer":"cursor-not-allowed border-dashed border-border/60 text-muted-foreground/40"),e=()=>{a.installed&&(aa(a.command),(0,I.setConfigValue)("editor.command",a.command))};return a.installed?(0,b.jsx)("button",{type:"button",onClick:e,className:d,children:a.name},a.command):(0,b.jsxs)(T.Tooltip,{children:[(0,b.jsx)(T.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:e,className:d,children:a.name})}),(0,b.jsx)(T.TooltipContent,{side:"top",children:o("settings.app.notInstalled")})]},a.command)})})]})]});case"ai-tools":return(0,b.jsx)("ul",{className:"divide-y rounded-xl border border-border bg-card",children:ah.map(a=>{let c=ak===a.name,d=am===a.name,e=ao[a.name];return(0,b.jsx)("li",{children:(0,b.jsxs)("div",{className:"px-5 py-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("span",{className:"font-medium",children:a.displayName}),(0,b.jsx)(k.Badge,{variant:"outline",children:o("label.builtin")}),c&&(0,b.jsxs)(k.Badge,{variant:"secondary",className:"shrink-0",children:[(0,b.jsx)(z,{className:"h-3 w-3 mr-1 fill-yellow-400 text-yellow-400"}),o("settings.prompts.default")]}),e&&(0,b.jsx)(k.Badge,{variant:e.ok?"secondary":"destructive",className:(0,n.cn)("shrink-0",e.ok&&"bg-green-600 text-white hover:bg-green-700"),children:e.ok?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(E.CheckCircle2,{className:"h-3 w-3 mr-1"}),o("settings.aiTools.testPassed")]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(F.XCircle,{className:"h-3 w-3 mr-1"}),o("settings.aiTools.testFailed")]})})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:a.cli.available&&a.cli.version?`${a.name} \xb7 ${a.cli.version}`:a.name})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[!c&&(0,b.jsxs)(g.Button,{variant:"outline",size:"sm",onClick:()=>{var b;al(b=a.name),localStorage.setItem(aI,b)},children:[(0,b.jsx)(z,{className:"h-3.5 w-3.5 mr-1.5 text-muted-foreground"}),o("settings.prompts.setDefault")]}),(0,b.jsx)(g.Button,{variant:"outline",size:"sm",onClick:()=>bm(a.name),disabled:d,children:d?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(D.Loader2,{className:"h-3.5 w-3.5 animate-spin mr-1.5"}),o("settings.aiTools.testing")]}):o("settings.aiTools.testConnection")})]})]}),e&&(0,b.jsx)("div",{className:"mt-3 rounded-md border border-border bg-muted/30 px-4 py-3",children:(0,b.jsx)("div",{className:"space-y-1.5",children:e.checks.map(c=>(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)("span",{className:(0,n.cn)("w-1.5 h-1.5 rounded-full shrink-0",c.passed?"bg-green-500":"bg-red-500")}),(0,b.jsx)("span",{className:(0,n.cn)(c.passed?"text-foreground":"text-red-700 dark:text-red-300"),children:c.message})]},`${a.name}-${c.name}`))})})]})},a.name)})});case"prompts":return V?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsxs)(g.Button,{onClick:bn,variant:"default",children:[(0,b.jsx)(y.Plus,{className:"h-4 w-4 mr-2"}),o("settings.prompts.newPrompt")]})}),0===aq.length?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 text-center rounded-lg border border-dashed border-border/50",children:[(0,b.jsx)("p",{className:"text-muted-foreground",children:o("settings.prompts.empty")}),(0,b.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:o("settings.prompts.emptyHint")})]}):(0,b.jsx)("div",{className:"rounded-xl border border-border/50 divide-y divide-border/50",children:aq.map(a=>(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 py-3.5 hover:bg-muted/30 transition-colors",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("h4",{className:"text-sm font-medium truncate",children:a.name}),a.isDefault&&(0,b.jsxs)(k.Badge,{variant:"secondary",className:"shrink-0 rounded-full text-xs",children:[(0,b.jsx)(z,{className:"h-3 w-3 mr-1 fill-yellow-400 text-yellow-400"}),o("settings.prompts.default")]})]}),a.description&&(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground truncate",children:a.description})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 shrink-0 ml-4",children:[(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:()=>br(a.id),title:o("settings.prompts.setDefault"),children:(0,b.jsx)(z,{className:(0,n.cn)("h-4 w-4",a.isDefault?"fill-yellow-400 text-yellow-400":"text-muted-foreground")})}),(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:()=>bo(a),title:o("settings.prompts.editPrompt"),children:(0,b.jsx)(B,{className:"h-4 w-4"})}),(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:()=>ay(a.id),className:"text-destructive",title:o("settings.prompts.delete"),children:(0,b.jsx)(A.Trash2,{className:"h-4 w-4"})})]})]},a.id))}),(0,b.jsx)(m.Dialog,{open:as,onOpenChange:at,children:(0,b.jsxs)(m.DialogContent,{children:[(0,b.jsxs)(m.DialogHeader,{children:[(0,b.jsx)(m.DialogTitle,{children:au?o("settings.prompts.editPrompt"):o("settings.prompts.newPrompt")}),(0,b.jsx)(m.DialogDescription,{children:au?o("settings.prompts.editPrompt"):o("settings.prompts.newPrompt")})]}),(0,b.jsxs)("div",{className:"space-y-4 py-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(j.Label,{htmlFor:"prompt-name",children:o("settings.prompts.promptName")}),(0,b.jsx)(h.Input,{id:"prompt-name",value:az,onChange:a=>aA(a.target.value),placeholder:o("settings.prompts.promptNamePlaceholder"),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(j.Label,{htmlFor:"prompt-description",children:o("settings.prompts.promptDescription")}),(0,b.jsx)(h.Input,{id:"prompt-description",value:aB,onChange:a=>aC(a.target.value),placeholder:o("settings.prompts.promptDescriptionPlaceholder"),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(j.Label,{htmlFor:"prompt-content",children:o("settings.prompts.promptContent")}),(0,b.jsx)(i.Textarea,{id:"prompt-content",value:aL,onChange:a=>aM(a.target.value),placeholder:o("settings.prompts.promptContentPlaceholder"),rows:8,className:"mt-1.5 font-mono text-sm"})]})]}),(0,b.jsxs)(m.DialogFooter,{children:[(0,b.jsx)(g.Button,{variant:"outline",onClick:()=>at(!1),children:o("settings.prompts.cancel")}),(0,b.jsx)(g.Button,{onClick:bp,disabled:!az.trim()||!aL.trim(),children:o("settings.prompts.save")})]})]})}),(0,b.jsx)(m.Dialog,{open:!!ax,onOpenChange:a=>!a&&ay(null),children:(0,b.jsxs)(m.DialogContent,{children:[(0,b.jsxs)(m.DialogHeader,{children:[(0,b.jsx)(m.DialogTitle,{children:o("settings.prompts.deleteConfirmTitle")}),(0,b.jsx)(m.DialogDescription,{children:o("settings.prompts.deleteConfirmMessage")})]}),(0,b.jsxs)(m.DialogFooter,{children:[(0,b.jsx)(g.Button,{variant:"outline",onClick:()=>ay(null),children:o("settings.prompts.cancel")}),(0,b.jsx)(g.Button,{variant:"destructive",onClick:bq,children:o("settings.prompts.delete")})]})]})})]}):(0,b.jsx)("div",{className:"h-32 rounded-lg bg-muted animate-pulse"});case"config":let c,d,e;return(0,b.jsxs)("div",{className:"space-y-8",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold",children:o("settings.config.git.title")}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:o("settings.config.git.desc")})]}),(0,b.jsxs)(g.Button,{onClick:()=>{aW({...aJ}),aU(!0)},children:[(0,b.jsx)(y.Plus,{className:"mr-2 h-4 w-4"}),o("settings.config.git.addRule")]})]}),(0,b.jsxs)("div",{className:"space-y-3",children:[0!==aN.length||aT?(0,b.jsx)("ul",{className:"divide-y rounded-xl border border-border bg-card",children:aN.map(a=>aP===a.id?(0,b.jsxs)("li",{className:"px-5 py-4 bg-muted/20",children:[(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"block text-xs text-muted-foreground",children:o("settings.config.git.host")}),(0,b.jsx)(h.Input,{value:aR.host,onChange:a=>aS(b=>({...b,host:a.target.value})),placeholder:o("settings.config.git.hostPlaceholder"),className:"text-sm"})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"block text-xs text-muted-foreground",children:o("settings.config.git.ownerMatch")}),(0,b.jsx)(h.Input,{value:aR.ownerMatch,onChange:a=>aS(b=>({...b,ownerMatch:a.target.value})),placeholder:o("settings.config.git.ownerMatchPlaceholder"),className:"text-sm"})]}),(0,b.jsxs)("div",{className:"space-y-1.5 col-span-2",children:[(0,b.jsx)("label",{className:"block text-xs text-muted-foreground",children:o("settings.config.git.localPathTemplate")}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h.Input,{value:aR.localPathTemplate,onChange:a=>aS(b=>({...b,localPathTemplate:a.target.value})),placeholder:o("settings.config.git.localPathTemplatePlaceholder"),className:"text-sm font-mono flex-1"}),(0,b.jsxs)(T.Tooltip,{children:[(0,b.jsx)(T.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:aZ?"default":"outline",size:"sm",type:"button",onClick:()=>a$(a=>!a),className:"shrink-0 font-mono",children:"{path}"})}),(0,b.jsx)(T.TooltipContent,{side:"top",className:"max-w-xs",children:(0,b.jsxs)("div",{className:"space-y-1 text-xs",children:[(0,b.jsx)("div",{className:"font-medium",children:o("settings.config.git.pathTooltipTitle")}),(0,b.jsx)("div",{className:"opacity-80",children:o("settings.config.git.pathTooltipDetail")})]})})]}),(0,b.jsxs)(T.Tooltip,{children:[(0,b.jsx)(T.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"outline",size:"icon",type:"button",onClick:()=>a4("edit"),children:(0,b.jsx)(G.FolderOpen,{className:"h-4 w-4"})})}),(0,b.jsx)(T.TooltipContent,{children:o("settings.config.git.pickFolder")})]})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:aZ?o("onboarding.step3.pathHintFull"):o("onboarding.step3.pathHintRepo")})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"block text-xs text-muted-foreground",children:o("settings.config.git.priority")}),(0,b.jsx)(h.Input,{type:"number",value:aR.priority,onChange:a=>aS(b=>({...b,priority:Number(a.target.value)})),className:"text-sm w-24"})]})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 mt-3",children:[(0,b.jsx)(g.Button,{variant:"ghost",size:"sm",onClick:()=>{aQ(null),a$(!1)},children:o("settings.config.git.cancel")}),(0,b.jsx)(g.Button,{size:"sm",onClick:()=>bA(a.id),children:o("settings.config.git.save")})]})]},a.id):(0,b.jsx)("li",{className:"group px-5 py-4 hover:bg-muted/20 transition-colors",children:(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-medium text-sm",children:a.host}),"*"!==a.ownerMatch&&(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:["/ ",a.ownerMatch]}),(0,b.jsxs)(k.Badge,{variant:"outline",className:"text-[10px] px-1.5 py-0",children:[o("settings.config.git.priority")," ",a.priority]})]}),(0,b.jsx)("p",{className:"mt-0.5 font-mono text-xs text-muted-foreground truncate",children:a.localPathTemplate})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 shrink-0 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{let b,c,d;return b=a.localPathTemplate,d=(c=/\/\{path\}\/?$/.test(b))?b.replace(/\/?\{path\}\/?$/,"").replace(/\/+$/,""):b,void(aQ(a.id),aS({host:a.host,ownerMatch:a.ownerMatch,localPathTemplate:d,priority:a.priority}),a$(c))},title:o("settings.config.git.edit"),children:(0,b.jsx)(B,{className:"h-4 w-4"})}),(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:()=>a2(a.id),className:"text-destructive",title:o("settings.config.git.delete"),children:(0,b.jsx)(A.Trash2,{className:"h-4 w-4"})})]})]})},a.id))}):(0,b.jsx)("div",{className:"rounded-xl border border-dashed border-border p-8 text-center",children:(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:o("settings.config.git.noRules")})}),aT&&(0,b.jsxs)("div",{className:"rounded-xl border border-border bg-muted/20 p-5 space-y-4",children:[(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"text-xs font-medium",children:o("settings.config.git.host")}),(0,b.jsx)(h.Input,{value:aV.host,onChange:a=>aW(b=>({...b,host:a.target.value})),placeholder:o("settings.config.git.hostPlaceholder"),className:"text-sm",autoFocus:!0})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"text-xs font-medium",children:o("settings.config.git.ownerMatch")}),(0,b.jsx)(h.Input,{value:aV.ownerMatch,onChange:a=>aW(b=>({...b,ownerMatch:a.target.value})),placeholder:o("settings.config.git.ownerMatchPlaceholder"),className:"text-sm"})]})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"block text-xs font-medium",children:o("settings.config.git.localPathTemplate")}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h.Input,{value:aV.localPathTemplate,onChange:a=>aW(b=>({...b,localPathTemplate:a.target.value})),placeholder:o("settings.config.git.localPathTemplatePlaceholder"),className:"text-sm font-mono flex-1"}),(0,b.jsxs)(T.Tooltip,{children:[(0,b.jsx)(T.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:aX?"default":"outline",size:"sm",type:"button",onClick:()=>aY(a=>!a),className:"shrink-0 font-mono",children:"{path}"})}),(0,b.jsx)(T.TooltipContent,{side:"top",className:"max-w-xs",children:(0,b.jsxs)("div",{className:"space-y-1 text-xs",children:[(0,b.jsx)("div",{className:"font-medium",children:o("settings.config.git.pathTooltipTitle")}),(0,b.jsx)("div",{className:"opacity-80",children:o("settings.config.git.pathTooltipDetail")})]})})]}),(0,b.jsxs)(T.Tooltip,{children:[(0,b.jsx)(T.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"outline",size:"icon",type:"button",onClick:()=>a4("add"),children:(0,b.jsx)(G.FolderOpen,{className:"h-4 w-4"})})}),(0,b.jsx)(T.TooltipContent,{children:o("settings.config.git.pickFolder")})]})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:aX?o("onboarding.step3.pathHintFull"):o("onboarding.step3.pathHintRepo")})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"block text-xs font-medium",children:o("settings.config.git.priority")}),(0,b.jsx)(h.Input,{type:"number",value:aV.priority,onChange:a=>aW(b=>({...b,priority:Number(a.target.value)})),className:"text-sm w-24"})]}),aV.localPathTemplate&&(c=aV.localPathTemplate.trim().replace(/\/+$/,""),d=aX?`${c}/{path}`:c,e=[{label:"GitHub SSH",url:"git@github.com:user/my-app.git"},{label:"GitHub HTTPS",url:"https://github.com/user/my-app.git"},{label:"GitLab Subgroup",url:"https://gitlab.com/org/team/sub/my-api.git"}],(0,b.jsxs)("div",{className:"rounded-lg bg-muted/40 border border-border px-4 py-3 space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:o("onboarding.step3.previewLabel")}),(0,b.jsx)("div",{className:"flex gap-1",children:e.map((a,c)=>(0,b.jsx)("button",{type:"button",onClick:()=>a0(c),className:(0,n.cn)("rounded-md px-2 py-0.5 text-[11px] font-medium transition-colors cursor-pointer",a_===c?"bg-foreground text-background":"bg-muted text-muted-foreground hover:text-foreground"),children:a.label},c))})]}),(0,b.jsxs)("div",{className:"space-y-0.5",children:[(0,b.jsx)("p",{className:"font-mono text-[11px] text-muted-foreground truncate",children:e[a_].url}),(0,b.jsxs)("p",{className:"font-mono text-sm",children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:"→ "}),(0,b.jsx)("span",{className:"text-foreground font-medium",children:function(a,b){if(!a||!b)return"";let c=b.trim(),d=[],e=c.match(/^git@[^:]+:(.+)$/);if(e)d=e[1].replace(/\.git\/?$/,"").split("/").filter(Boolean);else try{let a=new URL(c);d=decodeURIComponent(a.pathname).replace(/\.git\/?$/,"").split("/").filter(Boolean)}catch{return""}if(!d.length)return"";let f=d[0],g=d[d.length-1],h=d.join("/");if(a.includes("{path}"))return a.replace("{path}",h).replace("{owner}",f).replace("{repo}",g).replace(/\/+$/,"");let i=a.replace("{owner}",f).replace("{repo}","").replace(/\/+$/,"");return`${i}/${g}`}(d,e[a_].url)})]})]})]})),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)(g.Button,{variant:"ghost",size:"sm",onClick:()=>aU(!1),children:o("settings.config.git.cancel")}),(0,b.jsxs)(g.Button,{size:"sm",onClick:bz,disabled:!aV.host.trim()||!aV.localPathTemplate.trim(),children:[(0,b.jsx)(C,{className:"h-3.5 w-3.5 mr-1.5"}),o("settings.config.git.save")]})]})]})]})]}),(0,b.jsxs)("div",{className:"rounded-xl border border-border bg-muted/50 p-5 space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold",children:o("settings.config.system.title")}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:o("settings.config.system.desc")})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.system.maxUpload")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.system.maxUploadHint")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h.Input,{type:"number",min:1,max:500,value:a5.maxUploadMb,onChange:a=>a6(b=>({...b,maxUploadMb:Number(a.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"}),(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:"MB"})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.system.maxConcurrent")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.system.maxConcurrentHint")})]}),(0,b.jsx)(h.Input,{type:"number",min:1,max:10,value:a5.maxConcurrent,onChange:a=>a6(b=>({...b,maxConcurrent:Number(a.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.system.maxReadable")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.system.maxReadableHint")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h.Input,{type:"number",min:1,max:50,value:a5.maxReadableMb,onChange:a=>a6(b=>({...b,maxReadableMb:Number(a.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"}),(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:"MB"})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.system.archiveDelay")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.system.archiveDelayHint")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h.Input,{type:"number",min:1,max:365,value:a5.archiveDelayDays,onChange:a=>a6(b=>({...b,archiveDelayDays:Number(a.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"}),(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:o("settings.config.system.archiveDelayUnit")})]})]})]}),(0,b.jsx)(g.Button,{onClick:bs,className:"rounded-lg",children:o("common.save")})]}),(0,b.jsxs)("div",{className:"rounded-xl border border-border bg-muted/50 p-5 space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold",children:o("settings.config.task.title")}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:o("settings.config.task.desc")})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.system.taskDefaultWorktree")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.system.taskDefaultWorktreeHint")})]}),(0,b.jsx)("button",{type:"button",onClick:()=>a6(a=>({...a,taskDefaultUseWorktree:!a.taskDefaultUseWorktree})),className:`rounded-md px-3 py-1 text-xs font-medium transition-colors ${a5.taskDefaultUseWorktree?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:a5.taskDefaultUseWorktree?o("task.worktreeYes"):o("task.worktreeNo")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.system.taskDefaultAutoStart")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.system.taskDefaultAutoStartHint")})]}),(0,b.jsx)("button",{type:"button",onClick:()=>a6(a=>({...a,taskDefaultAutoStart:!a.taskDefaultAutoStart})),className:`rounded-md px-3 py-1 text-xs font-medium transition-colors ${a5.taskDefaultAutoStart?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:a5.taskDefaultAutoStart?o("task.autoStartYes"):o("task.autoStartNo")})]})]}),(0,b.jsx)(g.Button,{onClick:bt,className:"rounded-lg",children:o("common.save")})]}),(0,b.jsxs)("div",{className:"rounded-xl border border-border bg-muted/50 p-5 space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold",children:o("settings.config.gitParams.title")}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:o("settings.config.gitParams.desc")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.gitParams.timeout")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.gitParams.timeoutHint")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h.Input,{type:"number",min:5,max:300,value:a7.timeoutSec,onChange:a=>a8(b=>({...b,timeoutSec:Number(a.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"}),(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:"s"})]})]}),(0,b.jsx)(g.Button,{onClick:bu,className:"rounded-lg",children:o("common.save")})]}),(0,b.jsxs)("div",{className:"rounded-xl border border-border bg-muted/50 p-5 space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold",children:o("settings.config.search.title")}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:o("settings.config.search.desc")})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.search.resultLimit")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.search.resultLimitHint")})]}),(0,b.jsx)(h.Input,{type:"number",min:5,max:100,value:a9.resultLimit,onChange:a=>ba(b=>({...b,resultLimit:Number(a.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.search.allModeCap")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.search.allModeCapHint")})]}),(0,b.jsx)(h.Input,{type:"number",min:1,max:20,value:a9.allModeCap,onChange:a=>ba(b=>({...b,allModeCap:Number(a.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.search.debounceMs")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.search.debounceMsHint")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h.Input,{type:"number",min:50,max:1e3,value:a9.debounceMs,onChange:a=>ba(b=>({...b,debounceMs:Number(a.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"}),(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:"ms"})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.search.snippetLength")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.search.snippetLengthHint")})]}),(0,b.jsx)(h.Input,{type:"number",min:20,max:500,value:a9.snippetLength,onChange:a=>ba(b=>({...b,snippetLength:Number(a.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.search.codeTimeout")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.search.codeTimeoutHint")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h.Input,{type:"number",min:5,max:300,step:5,value:a9.codeTimeoutSec,onChange:a=>ba(b=>({...b,codeTimeoutSec:Number(a.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"}),(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:"s"})]})]})]}),(0,b.jsx)(g.Button,{onClick:bv,className:"rounded-lg",children:o("common.save")})]}),(0,b.jsxs)("div",{className:"rounded-xl border border-border bg-muted/50 p-5 space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold",children:o("settings.config.missions.title")}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:o("settings.config.missions.desc")})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsx)("label",{className:"text-sm font-medium flex-1",children:o("settings.config.missions.minCols")}),(0,b.jsx)(h.Input,{type:"number",min:1,max:10,value:bb.minCols,onChange:a=>bc(b=>({...b,minCols:Number(a.target.value)})),className:"w-20 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsx)("label",{className:"text-sm font-medium flex-1",children:o("settings.config.missions.maxCols")}),(0,b.jsx)(h.Input,{type:"number",min:1,max:10,value:bb.maxCols,onChange:a=>bc(b=>({...b,maxCols:Number(a.target.value)})),className:"w-20 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsx)("label",{className:"text-sm font-medium flex-1",children:o("settings.config.missions.minRows")}),(0,b.jsx)(h.Input,{type:"number",min:1,max:10,value:bb.minRows,onChange:a=>bc(b=>({...b,minRows:Number(a.target.value)})),className:"w-20 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsx)("label",{className:"text-sm font-medium flex-1",children:o("settings.config.missions.maxRows")}),(0,b.jsx)(h.Input,{type:"number",min:1,max:10,value:bb.maxRows,onChange:a=>bc(b=>({...b,maxRows:Number(a.target.value)})),className:"w-20 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]})]}),(0,b.jsx)(g.Button,{onClick:bw,className:"rounded-lg",children:o("common.save")})]}),(0,b.jsxs)("div",{className:"rounded-xl border border-border bg-muted/50 p-5 space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold",children:o("settings.config.hooks.title")}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:o("settings.config.hooks.desc")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:o("settings.config.hooks.autoUploadTypes")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.hooks.autoUploadTypesHint")})]}),(0,b.jsx)(h.Input,{value:bh,onChange:a=>bi(a.target.value),placeholder:"png, jpg, jpeg, gif, webp, svg, pdf",className:"w-80 rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]}),(0,b.jsx)(g.Button,{onClick:bx,className:"rounded-lg",children:o("common.save")}),(0,b.jsxs)("div",{className:"flex items-center gap-4 pt-4 border-t border-border/50",children:[(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:bd?.installed?o("settings.config.hooks.installed"):o("settings.config.hooks.notInstalled")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.hooks.installHint")})]}),(0,b.jsx)(g.Button,{variant:bd?.installed?"destructive":"default",onClick:by,disabled:bf||!bd,className:"rounded-lg",children:bd?.installed?o("settings.config.hooks.uninstall"):o("settings.config.hooks.install")})]})]}),(0,b.jsx)(m.Dialog,{open:!!a1,onOpenChange:a=>!a&&a2(null),children:(0,b.jsxs)(m.DialogContent,{children:[(0,b.jsxs)(m.DialogHeader,{children:[(0,b.jsx)(m.DialogTitle,{children:o("settings.config.git.deleteConfirm")}),(0,b.jsx)(m.DialogDescription,{children:o("settings.config.git.deleteConfirmMessage")})]}),(0,b.jsxs)(m.DialogFooter,{children:[(0,b.jsx)(g.Button,{variant:"outline",onClick:()=>a2(null),children:o("settings.config.git.cancel")}),(0,b.jsx)(g.Button,{variant:"destructive",onClick:()=>a1&&bB(a1),children:o("settings.config.git.delete")})]})]})})]});case"notifications":return(0,b.jsx)("div",{className:"divide-y divide-border/50",children:(0,b.jsxs)("div",{className:"flex items-center justify-between py-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:o("settings.notifications.enable")}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground mt-0.5",children:o("settings.notifications.enableDesc")})]}),(0,b.jsx)(l.Switch,{checked:bj,onCheckedChange:bC})]})});case"backup":return(0,b.jsx)(aj,{});case"extensions":return(0,b.jsx)(av,{});case"keyboard-shortcuts":return(0,b.jsx)(aD,{})}}()]})}),(0,b.jsx)(U.FolderBrowserDialog,{open:null!==a3,onOpenChange:a=>{a||a4(null)},onSelect:a=>{let b=aK(a);"add"===a3?aW(a=>({...a,localPathTemplate:b})):"edit"===a3&&aS(a=>({...a,localPathTemplate:b})),a4(null)}})]})}a.s(["default",0,function(){return(0,b.jsx)(aL,{})}],520788)}];
2
2
 
3
3
  //# sourceMappingURL=src_app_settings_page_tsx_0h9v7dr._.js.map