tower-studio 0.2.16 → 0.2.18

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 (305) 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 +1 -1
  12. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +24 -24
  13. package/.next/standalone/.next/server/app/_not-found/page.js +5 -5
  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/_not-found.html +1 -1
  17. package/.next/standalone/.next/server/app/_not-found.rsc +14 -14
  18. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
  19. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  20. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +9 -9
  21. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  22. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  23. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  24. package/.next/standalone/.next/server/app/api/adapters/test/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/browse-fs/route.js +1 -1
  26. package/.next/standalone/.next/server/app/api/browse-fs/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/files/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/git/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/internal/assets/reveal/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/internal/assistant/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/internal/assistant/sessions/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/internal/backup/import/route.js +1 -1
  36. package/.next/standalone/.next/server/app/api/internal/backup/import/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/internal/cache/[...segments]/route.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/api/internal/hooks/install/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/internal/hooks/stop/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/api/internal/hooks/upload/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/internal/monaco/[...path]/route.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/input/route.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff/route.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/api/tasks/[taskId]/merge/route.js +1 -1
  47. package/.next/standalone/.next/server/app/api/tasks/[taskId]/merge/route.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/index.html +1 -1
  49. package/.next/standalone/.next/server/app/index.rsc +14 -14
  50. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  51. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +14 -14
  52. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  53. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +9 -9
  54. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  55. package/.next/standalone/.next/server/app/missions/page/react-loadable-manifest.json +1 -1
  56. package/.next/standalone/.next/server/app/missions/page/server-reference-manifest.json +61 -61
  57. package/.next/standalone/.next/server/app/missions/page.js +7 -7
  58. package/.next/standalone/.next/server/app/missions/page.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/onboarding/page/react-loadable-manifest.json +1 -1
  61. package/.next/standalone/.next/server/app/onboarding/page/server-reference-manifest.json +24 -24
  62. package/.next/standalone/.next/server/app/onboarding/page.js +5 -5
  63. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  64. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/onboarding.html +1 -1
  66. package/.next/standalone/.next/server/app/onboarding.rsc +16 -16
  67. package/.next/standalone/.next/server/app/onboarding.segments/_full.segment.rsc +16 -16
  68. package/.next/standalone/.next/server/app/onboarding.segments/_head.segment.rsc +4 -4
  69. package/.next/standalone/.next/server/app/onboarding.segments/_index.segment.rsc +9 -9
  70. package/.next/standalone/.next/server/app/onboarding.segments/_tree.segment.rsc +1 -1
  71. package/.next/standalone/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
  72. package/.next/standalone/.next/server/app/onboarding.segments/onboarding.segment.rsc +3 -3
  73. package/.next/standalone/.next/server/app/page/react-loadable-manifest.json +1 -1
  74. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +24 -24
  75. package/.next/standalone/.next/server/app/page.js +5 -5
  76. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  77. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/settings/page/react-loadable-manifest.json +1 -1
  79. package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +51 -39
  80. package/.next/standalone/.next/server/app/settings/page.js +6 -6
  81. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  82. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/settings.html +1 -1
  84. package/.next/standalone/.next/server/app/settings.rsc +16 -16
  85. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +16 -16
  86. package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  87. package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +9 -9
  88. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  89. package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
  90. package/.next/standalone/.next/server/app/settings.segments/settings.segment.rsc +3 -3
  91. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +1 -1
  92. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +166 -130
  93. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js +6 -6
  94. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
  95. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
  96. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +1 -1
  97. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +162 -114
  98. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js +6 -6
  99. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
  100. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +1 -1
  102. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +54 -54
  103. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js +5 -5
  104. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
  105. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +1 -1
  107. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +144 -108
  108. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js +6 -6
  109. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
  110. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
  111. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +1 -1
  112. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +24 -24
  113. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js +6 -6
  114. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
  115. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  116. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/react-loadable-manifest.json +1 -1
  117. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/server-reference-manifest.json +130 -94
  118. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js +6 -6
  119. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js.nft.json +1 -1
  120. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +2 -2
  122. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +100 -76
  123. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js +8 -8
  124. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
  125. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
  126. package/.next/standalone/.next/server/app/workspaces/page/react-loadable-manifest.json +1 -1
  127. package/.next/standalone/.next/server/app/workspaces/page/server-reference-manifest.json +40 -40
  128. package/.next/standalone/.next/server/app/workspaces/page.js +5 -5
  129. package/.next/standalone/.next/server/app/workspaces/page.js.nft.json +1 -1
  130. package/.next/standalone/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0hrprmi.js +2 -2
  132. package/.next/standalone/.next/server/chunks/[externals]__0m5smhl._.js +3 -0
  133. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-0gs-6._.js +3 -0
  134. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03j20vp._.js +2 -2
  135. package/.next/standalone/.next/server/chunks/[root-of-the-server]__05se6yk._.js +1 -1
  136. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06m1r8x._.js +4 -0
  137. package/.next/standalone/.next/server/chunks/[root-of-the-server]__09p152b._.js +1 -1
  138. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_6swdz._.js +2 -2
  139. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b-ib~7._.js +1 -1
  140. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0gmwjkc._.js +3 -0
  141. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o3ggen._.js +2 -2
  142. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0.0.jeg._.js → [root-of-the-server]__0sy6lau._.js} +2 -2
  143. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wuzc5o._.js +1 -1
  144. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~rm9q.._.js +1 -1
  145. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12c9noi._.js +1 -1
  146. package/.next/standalone/.next/server/chunks/src_0bkvm8c._.js +1 -1
  147. package/.next/standalone/.next/server/chunks/src_lib_0aowbzy._.js +1 -1
  148. package/.next/standalone/.next/server/chunks/ssr/0iu._[workspaceId]_projects_[projectId]_versions_version-timeline-client_tsx_07o_kyi._.js +1 -1
  149. package/.next/standalone/.next/server/chunks/ssr/{0ws9_lucide-react_dist_esm_icons_0dv2bel._.js → 0ws9_lucide-react_dist_esm_icons_0odx0ph._.js} +2 -2
  150. package/.next/standalone/.next/server/chunks/ssr/{_10.d8~a._.js → 0yzm_fuse_js_dist_fuse_mjs_0t4upxy._.js} +2 -2
  151. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__09n4g~p._.js → [root-of-the-server]__01vzmbg._.js} +1 -1
  152. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__06.muv_._.js +3 -0
  153. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0-pzjth._.js → [root-of-the-server]__06lecy.._.js} +2 -2
  154. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__083ia54._.js +3 -0
  155. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0qy_98o._.js → [root-of-the-server]__0_0box3._.js} +2 -2
  156. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ad6qqx._.js +3 -0
  157. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0vx7inx._.js → [root-of-the-server]__0b~c--d._.js} +2 -2
  158. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0cylhkc._.js +3 -0
  159. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0edxb4j._.js +3 -0
  160. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0o4yodb._.js → [root-of-the-server]__0eql-bn._.js} +2 -2
  161. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__13i_x1.._.js → [root-of-the-server]__0fvk61p._.js} +2 -2
  162. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0s9retv._.js → [root-of-the-server]__0hv-2bi._.js} +2 -2
  163. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0hvqdy.._.js +47 -0
  164. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0jg4u05._.js +3 -0
  165. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__08g-39i._.js → [root-of-the-server]__0jvh8f3._.js} +2 -2
  166. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0k.hmw2._.js +3 -0
  167. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0wabw~r._.js → [root-of-the-server]__0lxcgi4._.js} +2 -2
  168. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__063j5j2._.js → [root-of-the-server]__0p4-t7d._.js} +1 -1
  169. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0lhroxu._.js → [root-of-the-server]__0p_3kgh._.js} +1 -1
  170. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__057bwkf._.js → [root-of-the-server]__0t46zla._.js} +1 -1
  171. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__07l.j.t._.js → [root-of-the-server]__0ugi0gk._.js} +2 -2
  172. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0y.2qv_._.js +1 -1
  173. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0z50.82._.js +30 -0
  174. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0zgzcl5._.js → [root-of-the-server]__0zhkbm~._.js} +1 -1
  175. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__00l2th1._.js → [root-of-the-server]__10t-oa1._.js} +4 -4
  176. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0vicp7s._.js → [root-of-the-server]__11_h9vs._.js} +2 -2
  177. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11zjs~k._.js +1 -1
  178. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12so59v._.js +30 -0
  179. package/.next/standalone/.next/server/chunks/ssr/{_0hj6ykf._.js → _0-m6pij._.js} +1 -1
  180. package/.next/standalone/.next/server/chunks/ssr/_0.3p35c._.js +3 -0
  181. package/.next/standalone/.next/server/chunks/ssr/{_0bijc0.._.js → _00vtpb1._.js} +4 -4
  182. package/.next/standalone/.next/server/chunks/ssr/{_00_enfv._.js → _059-b~p._.js} +2 -2
  183. package/.next/standalone/.next/server/chunks/ssr/{_0l0n0gc._.js → _05qfznq._.js} +4 -4
  184. package/.next/standalone/.next/server/chunks/ssr/_0_z.pz4._.js +3 -0
  185. package/.next/standalone/.next/server/chunks/ssr/_0acdkk1._.js +4 -0
  186. package/.next/standalone/.next/server/chunks/ssr/_0cj9a7y._.js +2 -2
  187. package/.next/standalone/.next/server/chunks/ssr/{_0~~v0og._.js → _0f2quba._.js} +1 -1
  188. package/.next/standalone/.next/server/chunks/ssr/{_0jis7fv._.js → _0gy-1oc._.js} +1 -1
  189. package/.next/standalone/.next/server/chunks/ssr/{_0p~.jo1._.js → _0j7t3m6._.js} +3 -3
  190. package/.next/standalone/.next/server/chunks/ssr/_0jg.s-g._.js +1 -1
  191. package/.next/standalone/.next/server/chunks/ssr/{_0st9b1_._.js → _0lgx4c3._.js} +4 -4
  192. package/.next/standalone/.next/server/chunks/ssr/{_0~fk6kp._.js → _0lwcwkm._.js} +2 -2
  193. package/.next/standalone/.next/server/chunks/ssr/{_11ixey~._.js → _0m2o_3.._.js} +4 -4
  194. package/.next/standalone/.next/server/chunks/ssr/{_0b9lr.2._.js → _0mg_44.._.js} +1 -1
  195. package/.next/standalone/.next/server/chunks/ssr/{_0_in9ut._.js → _0r2el9k._.js} +1 -1
  196. package/.next/standalone/.next/server/chunks/ssr/{_0x_nujv._.js → _0rb.w9u._.js} +3 -3
  197. package/.next/standalone/.next/server/chunks/ssr/_0rdyrfd._.js +1 -1
  198. package/.next/standalone/.next/server/chunks/ssr/{_0ds16oj._.js → _0s58zbp._.js} +1 -1
  199. package/.next/standalone/.next/server/chunks/ssr/_0tr1l6m._.js +3 -0
  200. package/.next/standalone/.next/server/chunks/ssr/_0ueyys5._.js +1 -1
  201. package/.next/standalone/.next/server/chunks/ssr/_0uj61lm._.js +3 -0
  202. package/.next/standalone/.next/server/chunks/ssr/_0unw1fq._.js +2 -2
  203. package/.next/standalone/.next/server/chunks/ssr/{_0u6n.gw._.js → _0wk5s-y._.js} +4 -4
  204. package/.next/standalone/.next/server/chunks/ssr/{_0i2m-0~._.js → _0y3bnq6._.js} +4 -4
  205. package/.next/standalone/.next/server/chunks/ssr/{_0gk9bhq._.js → _0yt~8-p._.js} +3 -3
  206. package/.next/standalone/.next/server/chunks/ssr/{_08j7--7._.js → _0~dc49z._.js} +1 -1
  207. package/.next/standalone/.next/server/chunks/ssr/{_06d.l~y._.js → _112.xs5._.js} +2 -2
  208. package/.next/standalone/.next/server/chunks/ssr/src_0eufeyj._.js +1 -1
  209. package/.next/standalone/.next/server/chunks/ssr/src_actions_agent-actions_ts_0~wc.sy._.js +1 -1
  210. package/.next/standalone/.next/server/chunks/ssr/src_actions_file-actions_ts_0gcvqwm._.js +1 -1
  211. package/.next/standalone/.next/server/chunks/ssr/src_app_missions_missions-client_tsx_11429lj._.js +1 -1
  212. package/.next/standalone/.next/server/chunks/ssr/src_app_onboarding_page_tsx_0xf7hpz._.js +1 -1
  213. package/.next/standalone/.next/server/chunks/ssr/src_app_settings_page_tsx_0h9v7dr._.js +1 -1
  214. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0wyzpam._.js +1 -1
  215. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_board-page-client_tsx_0gips66._.js +1 -1
  216. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_02t7blt._.js +1 -1
  217. package/.next/standalone/.next/server/chunks/ssr/{src_lib_0f4q-6w._.js → src_lib_0.e1lk4._.js} +1 -1
  218. package/.next/standalone/.next/server/chunks/ssr/{src_lib_09ajdu_._.js → src_lib_08rw1cx._.js} +1 -1
  219. package/.next/standalone/.next/server/chunks/ssr/{src_lib_05wgz5w._.js → src_lib_0a3sg-k._.js} +1 -1
  220. package/.next/standalone/.next/server/chunks/ssr/{src_lib_078780e._.js → src_lib_0hddinr._.js} +1 -1
  221. package/.next/standalone/.next/server/chunks/ssr/src_lib_0hysyqq._.js +3 -0
  222. package/.next/standalone/.next/server/chunks/ssr/src_lib_0mre0hs._.js +3 -0
  223. package/.next/standalone/.next/server/chunks/ssr/src_lib_0nokg1l._.js +3 -0
  224. package/.next/standalone/.next/server/chunks/ssr/src_lib_0occbql._.js +3 -0
  225. package/.next/standalone/.next/server/chunks/ssr/src_lib_0q1is-3._.js +3 -0
  226. package/.next/standalone/.next/server/chunks/ssr/src_lib_0s.1_50._.js +3 -0
  227. package/.next/standalone/.next/server/chunks/ssr/src_lib_0uof9w0._.js +3 -0
  228. package/.next/standalone/.next/server/chunks/ssr/src_lib_0y99vkm._.js +3 -0
  229. package/.next/standalone/.next/server/chunks/ssr/src_lib_119inue._.js +3 -0
  230. package/.next/standalone/.next/server/chunks/ssr/src_lib_open-targets_ts_12a-_~u._.js +3 -0
  231. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  232. package/.next/standalone/.next/server/pages/404.html +1 -1
  233. package/.next/standalone/.next/server/pages/500.html +1 -1
  234. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  235. package/.next/standalone/.next/server/server-reference-manifest.json +524 -410
  236. package/.next/standalone/.next/static/chunks/{0mzr~d4ax.~nx.js → 0-7jzlr9x_qsk.js} +2 -2
  237. package/.next/standalone/.next/static/chunks/{0yrq3rjju-3um.js → 0.rmtqo0qf0kf.js} +1 -1
  238. package/.next/standalone/.next/static/chunks/00nc85hwc2xj-.js +1 -0
  239. package/.next/standalone/.next/static/chunks/02rmsyvjctps8.js +1 -0
  240. package/.next/standalone/.next/static/chunks/{0m_mrbcxwb.xb.js → 03pleaq9wzi71.js} +1 -1
  241. package/.next/standalone/.next/static/chunks/053~sxv8~uet5.js +1 -0
  242. package/.next/standalone/.next/static/chunks/0_._lea4kj-kf.js +1 -0
  243. package/.next/standalone/.next/static/chunks/0_we-0tskn.or.js +1 -0
  244. package/.next/standalone/.next/static/chunks/{0vyurjgr0u8aw.js → 0gs_-avkejs0n.js} +1 -1
  245. package/.next/standalone/.next/static/chunks/0k65.io~ia9.a.js +2 -0
  246. package/.next/standalone/.next/static/chunks/{0d.9mkqrf._kj.js → 0m-4oc7p23~5d.js} +2 -2
  247. package/.next/standalone/.next/static/chunks/0o11wn9vopcqg.js +1 -0
  248. package/.next/standalone/.next/static/chunks/0qc~i8~pr2lr_.js +2 -0
  249. package/.next/standalone/.next/static/chunks/0v_-pz~6z5kwy.js +1 -0
  250. package/.next/standalone/.next/static/chunks/0y42pxoc9pqth.js +1 -0
  251. package/.next/standalone/.next/static/chunks/0z.p-s6d729o-.js +1 -0
  252. package/.next/standalone/.next/static/chunks/10_jn899omgp~.js +1 -0
  253. package/.next/standalone/.next/static/chunks/{10~egz2-vj..3.js → 142u31.7x80ux.js} +2 -2
  254. package/.next/standalone/.next/static/chunks/{0c5ct~fi6oo0x.js → 14ffa1fe.zktf.js} +2 -2
  255. package/.next/standalone/.next/static/chunks/{0_t7890~b8s.q.js → 15ugy0vmnfdus.js} +1 -1
  256. package/.next/standalone/.next/static/chunks/{07idrdtj1o8zu.js → 1634ulzz-40pw.js} +1 -1
  257. package/.next/standalone/.next/static/chunks/187ga_8mny0dq.js +1 -0
  258. package/.next/standalone/package.json +1 -1
  259. package/dist/mcp-server.cjs +62 -7
  260. package/package.json +1 -1
  261. package/.next/standalone/.next/server/chunks/[externals]__12mj_bs._.js +0 -3
  262. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0hclpb.._.js +0 -3
  263. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0mizcpa._.js +0 -4
  264. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e215_h._.js +0 -3
  265. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0hc2ab0._.js +0 -3
  266. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0n9e~0j._.js +0 -3
  267. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0p_09im._.js +0 -3
  268. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0qyxluw._.js +0 -3
  269. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0r54_2f._.js +0 -30
  270. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0vyqspt._.js +0 -30
  271. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__10xwsl4._.js +0 -3
  272. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12c826b._.js +0 -3
  273. package/.next/standalone/.next/server/chunks/ssr/_02yhivm._.js +0 -3
  274. package/.next/standalone/.next/server/chunks/ssr/_0_g2k44._.js +0 -3
  275. package/.next/standalone/.next/server/chunks/ssr/_0kdx-ix._.js +0 -3
  276. package/.next/standalone/.next/server/chunks/ssr/_0ny8sre._.js +0 -4
  277. package/.next/standalone/.next/server/chunks/ssr/_0tj4yhj._.js +0 -3
  278. package/.next/standalone/.next/server/chunks/ssr/_0wxgq36._.js +0 -3
  279. package/.next/standalone/.next/server/chunks/ssr/_0xlxdv6._.js +0 -3
  280. package/.next/standalone/.next/server/chunks/ssr/src_0r5zto-._.js +0 -47
  281. package/.next/standalone/.next/server/chunks/ssr/src_lib_0ffqwve._.js +0 -3
  282. package/.next/standalone/.next/server/chunks/ssr/src_lib_0i-k~x7._.js +0 -3
  283. package/.next/standalone/.next/server/chunks/ssr/src_lib_0jzfhds._.js +0 -3
  284. package/.next/standalone/.next/server/chunks/ssr/src_lib_0kjj12q._.js +0 -3
  285. package/.next/standalone/.next/server/chunks/ssr/src_lib_0lve.hi._.js +0 -3
  286. package/.next/standalone/.next/server/chunks/ssr/src_lib_0pywvqu._.js +0 -3
  287. package/.next/standalone/.next/server/chunks/ssr/src_lib_0tp-g~8._.js +0 -3
  288. package/.next/standalone/.next/server/chunks/ssr/src_lib_0vnqpwi._.js +0 -3
  289. package/.next/standalone/.next/server/chunks/ssr/src_lib_0w9nhfj._.js +0 -3
  290. package/.next/standalone/.next/static/chunks/0.oy-y0w05vbq.js +0 -1
  291. package/.next/standalone/.next/static/chunks/04a2asn0hyy9c.js +0 -1
  292. package/.next/standalone/.next/static/chunks/06uk3fb5mkz5c.js +0 -1
  293. package/.next/standalone/.next/static/chunks/0e8wfpfgivr6t.js +0 -1
  294. package/.next/standalone/.next/static/chunks/0eup3utxhd.9w.js +0 -2
  295. package/.next/standalone/.next/static/chunks/0fysbcldn.s~5.js +0 -1
  296. package/.next/standalone/.next/static/chunks/0husw1q436czh.js +0 -1
  297. package/.next/standalone/.next/static/chunks/0ibjmvk~1lgfl.js +0 -2
  298. package/.next/standalone/.next/static/chunks/0q4_3y9etuu46.js +0 -1
  299. package/.next/standalone/.next/static/chunks/0qxmfi3_hxoj8.js +0 -1
  300. package/.next/standalone/.next/static/chunks/0xbblu1dqxput.js +0 -1
  301. package/.next/standalone/.next/static/chunks/0xu8d3uoqrmjl.js +0 -1
  302. package/.next/standalone/.next/static/chunks/0xx_wtcnk0sf7.js +0 -1
  303. /package/.next/standalone/.next/static/{Kff31mi-mF0Jr_em-2NTJ → dUfkElN2NF1kYx7TqxHtX}/_buildManifest.js +0 -0
  304. /package/.next/standalone/.next/static/{Kff31mi-mF0Jr_em-2NTJ → dUfkElN2NF1kYx7TqxHtX}/_clientMiddlewareManifest.js +0 -0
  305. /package/.next/standalone/.next/static/{Kff31mi-mF0Jr_em-2NTJ → dUfkElN2NF1kYx7TqxHtX}/_ssgManifest.js +0 -0
@@ -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(118548),H=a.i(487874),I=a.i(558412),J=a.i(780410);let K=(0,J.createServerReference)("00810cec11f289da2cf7734596cd82266c09d006f0",J.callServer,void 0,J.findSourceMapURL,"getAvailableTerminalApps");var L=a.i(920676);let M=(0,J.createServerReference)("40465f95bd466fdc7cd1521b5bf88b51127401b675",J.callServer,void 0,J.findSourceMapURL,"createPrompt"),N=(0,J.createServerReference)("6029c775ad9d972f742068388eeb47d804940fc883",J.callServer,void 0,J.findSourceMapURL,"updatePrompt"),O=(0,J.createServerReference)("409ff40c8e491dbb9092e61ddd31b491be9b545cab",J.callServer,void 0,J.findSourceMapURL,"deletePrompt"),P=(0,J.createServerReference)("60c031b492c6fc377845305f0a9106e2161025b0bb",J.callServer,void 0,J.findSourceMapURL,"setDefaultPrompt"),Q=(0,J.createServerReference)("002da4bc99d08dc77e39ca8935dafcbe75b5e11c64",J.callServer,void 0,J.findSourceMapURL,"getAvailableProviders");var R=a.i(785259),S=a.i(43775);let T=(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 U=a.i(324954);let V=(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 W=a.i(161664),X=a.i(811344),Y=a.i(607219),Z=a.i(952313);let $=(0,J.createServerReference)("401fdadd6699b36081ce9f698707fa3713f6ab335e",J.callServer,void 0,J.findSourceMapURL,"createBackup"),_=(0,J.createServerReference)("00456b2c736714d81d13d9aec5c952f883eb08d556",J.callServer,void 0,J.findSourceMapURL,"listBackupFiles"),aa=(0,J.createServerReference)("40e147bf4ac30527721617ab33c94d862eb1fa6d64",J.callServer,void 0,J.findSourceMapURL,"deleteBackupFile"),ab=(0,J.createServerReference)("4056482e195575b3a99858de807a290c626a87fbbd",J.callServer,void 0,J.findSourceMapURL,"restoreBackup"),ac=(0,J.createServerReference)("407aab2344b1ebdf6e7deb1032c2a5b48eb1d6becd",J.callServer,void 0,J.findSourceMapURL,"resetSystem"),ad=(0,J.createServerReference)("004138debf4d461e1fcbd19460aa1e0cc050f718e6",J.callServer,void 0,J.findSourceMapURL,"getBackupDir"),ae=(0,J.createServerReference)("40b9dabd7573d1b51f4ef1df42049b6924a2898412",J.callServer,void 0,J.findSourceMapURL,"setBackupDir");function af(){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)(!0),[s,t]=(0,c.useState)(null),[u,v]=(0,c.useState)(!1),[w,x]=(0,c.useState)(""),y=(0,c.useRef)(null),[A,B]=(0,c.useState)(!1),[D,E]=(0,c.useState)(""),F=(0,c.useCallback)(async()=>{r(!0);try{let[a,b]=await Promise.all([_(),ad()]);k(a),n(b)}finally{r(!1)}},[]);(0,c.useEffect)(()=>{F()},[F]);let G=async()=>{let b=w.trim()||void 0;v(!1),x(""),t("create");try{await $(b),Z.toast.success(a("settings.backup.createSuccess")),await F()}catch{Z.toast.error(a("settings.backup.createError"))}finally{t(null)}},H=async b=>{if(confirm(a("settings.backup.restoreConfirm"))){t("restore");try{await ab(b),Z.toast.success(a("settings.backup.restoreSuccess"),{action:{label:a("settings.backup.reload"),onClick:()=>window.location.reload()},duration:15e3}),await F()}catch{Z.toast.error(a("settings.backup.restoreError"))}finally{t(null)}}},I=async b=>{if(confirm(a("settings.backup.deleteConfirm")))try{await aa(b),Z.toast.success(a("settings.backup.deleteSuccess")),k(a=>a.filter(a=>a.filename!==b))}catch{Z.toast.error(a("settings.backup.deleteError"))}},J=async b=>{p(!1);try{await ae(b),n(b),Z.toast.success(a("settings.backup.dirSaved")),await F()}catch{Z.toast.error(a("settings.backup.dirError"))}},K=async b=>{let c=b.target.files?.[0];if(c){b.target.value="",t("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();Z.toast.error("Invalid backup archive"===b.error?a("settings.backup.importInvalid"):(b.error,a("settings.backup.importError")));return}Z.toast.success(a("settings.backup.importSuccess")),await F()}catch{Z.toast.error(a("settings.backup.importError"))}finally{t(null)}}},L=async()=>{if("RESET"===D){B(!1),E(""),t("reset");try{await ac("RESET"),Z.toast.success(a("settings.backup.resetSuccess")),i.push("/")}catch{Z.toast.error(a("settings.backup.resetError"))}finally{t(null)}}},M=null!==s;return(0,b.jsxs)("div",{className:"space-y-6",children:[("restore"===s||"reset"===s)&&(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"===s?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.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)(S.FolderBrowserDialog,{open:o,onOpenChange:p,onSelect:J})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(g.Button,{onClick:()=>{x(""),v(!0)},disabled:M,className:"gap-2",children:"create"===s?(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)(T,{className:"h-4 w-4"})," ",a("settings.backup.create")]})}),(0,b.jsxs)(R.Tooltip,{children:[(0,b.jsxs)(R.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"outline",disabled:M,onClick:()=>y.current?.click(),className:"gap-2"}),children:[(0,b.jsx)(V,{className:"h-4 w-4"}),a("settings.backup.import")]}),(0,b.jsx)(R.TooltipContent,{side:"bottom",sideOffset:4,children:a("settings.backup.importHint")})]}),(0,b.jsx)("input",{ref:y,type:"file",accept:".tar.gz,.gz",className:"hidden",onChange:K})]}),(0,b.jsx)(m.Dialog,{open:u,onOpenChange:v,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:w,onChange:a=>x(a.target.value),onKeyDown:a=>"Enter"===a.key&&G(),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:()=>v(!1),children:a("common.cancel")}),(0,b.jsx)(g.Button,{onClick:G,className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:a("settings.backup.create")})]})]})}),q?(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)(Y.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)(R.Tooltip,{children:[(0,b.jsx)(R.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs",onClick:()=>H(c.filename),disabled:M,className:"text-muted-foreground hover:text-foreground"}),children:(0,b.jsx)(U.Upload,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(R.TooltipContent,{side:"bottom",sideOffset:4,children:a("settings.backup.restore")})]}),(0,b.jsxs)(R.Tooltip,{children:[(0,b.jsx)(R.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs",onClick:()=>I(c.filename),disabled:M,className:"text-muted-foreground hover:text-rose-400"}),children:(0,b.jsx)(z.Trash2,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(R.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)(X.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:()=>{E(""),B(!0)},disabled:M,className:"mt-3 border-rose-500/30 text-rose-400 hover:bg-rose-500/10 hover:text-rose-400",children:[(0,b.jsx)(W.RotateCcw,{className:"mr-2 h-3.5 w-3.5"}),a("settings.backup.reset")]})]}),(0,b.jsx)(m.Dialog,{open:A,onOpenChange:B,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:D,onChange:a=>E(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:()=>B(!1),children:a("common.cancel")}),(0,b.jsx)(g.Button,{disabled:"RESET"!==D,onClick:L,className:"border-rose-500/30 bg-rose-500/10 text-rose-400 hover:bg-rose-500/20",children:a("settings.backup.reset")})]})]})})]})}var ag=a.i(953093);let ah=(0,p.default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var ai=a.i(963326),aj=a.i(192369),ak=a.i(627141);function al({extension:a}){let{t:d}=(0,f.useI18n)(),{status:e,loading:h,isInstalling:i,install:j,uninstall:k,refresh:l}=(0,ak.useExtension)(a.id),[m,n]=(0,c.useState)(!1),o=a.icon,p=e.installed,q=async()=>{let b=await j();b.success?Z.toast.success(d("settings.extensions.installSuccess").replace("{name}",a.name)):Z.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?Z.toast.success(d("settings.extensions.uninstallSuccess").replace("{name}",a.name)):Z.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)(ah,{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)(R.Tooltip,{children:[(0,b.jsx)(R.TooltipTrigger,{render:a=>(0,b.jsxs)(g.Button,{variant:"default",onClick:t,...a,children:[(0,b.jsx)(ai.ExternalLink,{className:"h-3.5 w-3.5"}),d("settings.extensions.installViaHomepage")]})}),(0,b.jsx)(R.TooltipContent,{className:"max-w-xs text-xs leading-relaxed",children:d("settings.extensions.manualInstallHint")})]}):(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)(aj.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)(ai.ExternalLink,{className:"h-3.5 w-3.5"}),d("settings.extensions.visitHomepage")]})]})]})}function am(){let{t:a}=(0,f.useI18n)(),c=(0,ag.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)(al,{extension:a},a.id))})]})}function an({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 ao({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 ap=[{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"}],aq={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"}},ar="ai-manager:default-cli-adapter",as={host:"",ownerMatch:"*",localPathTemplate:"",priority:0};function at(){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,T]=(0,c.useState)({left:0,width:0}),[U,V]=(0,c.useState)(!1),[W,X]=(0,c.useState)("Terminal"),[Y,Z]=(0,c.useState)([]),[$,_]=(0,c.useState)(180),[aa,ab]=(0,c.useState)([]),[ac,ad]=(0,c.useState)("claude"),[ae,ag]=(0,c.useState)(null),[ah,ai]=(0,c.useState)({}),[aj,ak]=(0,c.useState)([]),[al,at]=(0,c.useState)(!1),[au,av]=(0,c.useState)(null),[aw,ax]=(0,c.useState)(null),[ay,az]=(0,c.useState)(""),[aA,aB]=(0,c.useState)(""),[aC,aD]=(0,c.useState)(""),[aE,aF]=(0,c.useState)([]),[aG,aH]=(0,c.useState)(null),[aI,aJ]=(0,c.useState)({...as}),[aK,aL]=(0,c.useState)(!1),[aM,aN]=(0,c.useState)({...as}),[aO,aP]=(0,c.useState)(!1),[aQ,aR]=(0,c.useState)(!1),[aS,aT]=(0,c.useState)(0),[aU,aV]=(0,c.useState)(null),[aW,aX]=(0,c.useState)(null),[aY,aZ]=(0,c.useState)({maxUploadMb:50,maxConcurrent:3,maxReadableMb:5,taskDefaultUseWorktree:!0,taskDefaultAutoStart:!1}),[a$,a_]=(0,c.useState)({timeoutSec:30}),[a0,a1]=(0,c.useState)({resultLimit:20,allModeCap:5,debounceMs:250,snippetLength:80,codeTimeoutSec:30}),[a2,a3]=(0,c.useState)({minCols:1,maxCols:5,minRows:1,maxRows:5}),[a4,a5]=(0,c.useState)(null),[a6,a7]=(0,c.useState)(!1),[a8,a9]=(0,c.useState)(""),[ba,bb]=(0,c.useState)(!0);(0,c.useEffect)(()=>V(!0),[]),(0,c.useEffect)(()=>{(0,G.getConfigValue)("terminal.app","Terminal").then(X),(0,G.getConfigValue)("terminal.idleTimeoutSec",180).then(_),K().then(Z)},[]),(0,c.useEffect)(()=>{Q().then(ab);let a=localStorage.getItem(ar);a&&ad(a)},[]),(0,c.useEffect)(()=>{(0,L.getPrompts)().then(ak)},[]);let bc=async()=>{try{let a=await fetch("/api/internal/hooks/install");if(a.ok){let b=await a.json();a5(b)}}catch{}};async function bd(){await (0,H.setConfigValue)("terminal.app",W)}async function be(){let a=Math.max(180,$);_(a),await (0,H.setConfigValue)("terminal.idleTimeoutSec",a)}async function bf(a){if(!ae){ag(a),ai(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();ai(b=>({...b,[a]:c}))}catch{ai(b=>({...b,[a]:{ok:!1,checks:[{name:"network_error",passed:!1,message:"Network request failed"}]}}))}finally{ag(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});aF(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=>{a9(a.join(", "))}),bc(),(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;aZ({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"]}),a_({timeoutSec:a["git.timeoutSec"]??30}),a1({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}),a3({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(bb)},[]);let bg=(0,c.useCallback)(()=>{av(null),az(""),aB(""),aD(""),at(!0)},[]),bh=(0,c.useCallback)(a=>{av(a),az(a.name),aB(a.description??""),aD(a.content),at(!0)},[]),bi=(0,c.useCallback)(async()=>{ay.trim()&&aC.trim()&&(au?await N(au.id,{name:ay.trim(),description:aA.trim()||void 0,content:aC.trim()}):await M({name:ay.trim(),description:aA.trim()||void 0,content:aC.trim()}),at(!1),ak(await (0,L.getPrompts)()),a.refresh())},[ay,aA,aC,au,a]),bj=(0,c.useCallback)(async()=>{aw&&(await O(aw),ax(null),ak(await (0,L.getPrompts)()),a.refresh())},[aw,a]),bk=(0,c.useCallback)(async b=>{await P(b),ak(await (0,L.getPrompts)()),a.refresh()},[a]),bl=async()=>{await (0,H.setConfigValue)("system.maxUploadBytes",1024*aY.maxUploadMb*1024),await (0,H.setConfigValue)("system.maxConcurrentExecutions",aY.maxConcurrent),await (0,H.setConfigValue)("system.maxReadableFileBytes",1024*aY.maxReadableMb*1024),await (0,H.setConfigValue)("task.defaultUseWorktree",aY.taskDefaultUseWorktree),await (0,H.setConfigValue)("task.defaultAutoStart",aY.taskDefaultAutoStart)},bm=async()=>{await (0,H.setConfigValue)("git.timeoutSec",a$.timeoutSec)},bn=async()=>{await (0,H.setConfigValue)("search.resultLimit",a0.resultLimit),await (0,H.setConfigValue)("search.allModeCap",a0.allModeCap),await (0,H.setConfigValue)("search.debounceMs",a0.debounceMs),await (0,H.setConfigValue)("search.snippetLength",a0.snippetLength),await (0,H.setConfigValue)("search.codeTimeoutSec",a0.codeTimeoutSec)},bo=async()=>{let a=Math.min(a2.minCols,a2.maxCols),b=Math.max(a2.minCols,a2.maxCols),c=Math.min(a2.minRows,a2.maxRows),d=Math.max(a2.minRows,a2.maxRows);a3({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)},bp=async()=>{let a=a8.split(",").map(a=>a.trim()).filter(Boolean);await (0,H.setConfigValue)("hooks.autoUploadTypes",a)},bq=async()=>{if(a4){a7(!0);try{let a=a4.installed?"DELETE":"POST";await fetch("/api/internal/hooks/install",{method:a}),await bc()}finally{a7(!1)}}},br=async()=>{if(!aM.host.trim()||!aM.localPathTemplate.trim())return;let a=aM.localPathTemplate.trim().replace(/\/+$/,""),b=aO?`${a}/{path}`:a,c=[...aE,{id:crypto.randomUUID(),host:aM.host.trim(),ownerMatch:aM.ownerMatch.trim()||"*",localPathTemplate:b,priority:aM.priority}];await (0,H.setConfigValue)("git.pathMappingRules",c),aF(c),aN({...as}),aP(!1),aL(!1)},bs=async a=>{if(!aI.host.trim()||!aI.localPathTemplate.trim())return;let b=aI.localPathTemplate.trim().replace(/\/+$/,""),c=aQ?`${b}/{path}`:b,d=aE.map(b=>b.id===a?{...b,host:aI.host.trim(),ownerMatch:aI.ownerMatch.trim()||"*",localPathTemplate:c,priority:aI.priority}:b);await (0,H.setConfigValue)("git.pathMappingRules",d),aF(d),aH(null),aR(!1)},bt=async a=>{let b=aE.filter(b=>b.id!==a);await (0,H.setConfigValue)("git.pathMappingRules",b),aF(b),aV(null)};async function bu(){let a=!ba;bb(a),await (0,H.setConfigValue)("notification.enabled",a)}let bv=(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();T({left:d.left-c.left,width:d.width})},[t]);let bw=ap.find(a=>a.id===t),bx=bw?aq[bw.accent]:aq.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:bv,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:[ap.map(a=>{let c=a.icon,d=t===a.id,e=aq[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",bx.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:[bw&&(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",bx.bg,bx.text,bx.ring),children:(0,b.jsx)(bw.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(bw.labelKey)}),(0,b.jsx)("p",{className:"mt-0.5 text-sm text-muted-foreground",children:o(bw.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)(ao,{label:o("settings.theme"),description:o("settings.themeDesc"),children:U?(0,b.jsx)(an,{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)(ao,{label:o("settings.language"),description:o("settings.languageDesc"),children:(0,b.jsx)(an,{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.jsx)("div",{className:"flex items-center justify-between",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")})]})}),(0,b.jsxs)("div",{className:"mt-3 flex flex-col gap-2",children:[Y.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:Y.map(a=>(0,b.jsx)("button",{type:"button",onClick:()=>{X(a.value),(0,H.setConfigValue)("terminal.app",a.value)},className:(0,n.cn)("rounded-lg border px-3.5 py-1.5 text-xs font-medium transition-all duration-200 cursor-pointer",W===a.value?"border-foreground bg-accent text-foreground font-medium":"border-border text-muted-foreground hover:bg-accent/50 hover:text-foreground"),children:a.name},a.value))}),(0,b.jsx)("input",{type:"text",value:W,onChange:a=>X(a.target.value),onBlur:bd,placeholder:o("settings.terminal.placeholder"),className:"h-9 w-64 rounded-lg border border-border/50 bg-muted/30 px-3 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500/30"})]})]}),(0,b.jsx)(ao,{label:o("settings.terminal.idleTimeout"),description:o("settings.terminal.idleTimeoutDesc"),children:(0,b.jsx)("input",{type:"number",value:$,onChange:a=>_(Number(a.target.value)),onBlur:be,min:180,className:"h-9 w-28 rounded-lg border border-border/50 bg-muted/30 px-3 text-sm text-right focus:outline-none focus:ring-2 focus:ring-blue-500/30"})})]});case"ai-tools":return(0,b.jsx)("ul",{className:"divide-y rounded-xl border border-border bg-card",children:aa.map(a=>{let c=ac===a.name,d=ae===a.name,e=ah[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;ad(b=a.name),localStorage.setItem(ar,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:()=>bf(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 U?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsxs)(g.Button,{onClick:bg,variant:"default",children:[(0,b.jsx)(x.Plus,{className:"h-4 w-4 mr-2"}),o("settings.prompts.newPrompt")]})}),0===aj.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:aj.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:()=>bk(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:()=>bh(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:()=>ax(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:al,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:ay,onChange:a=>az(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:aA,onChange:a=>aB(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:aC,onChange:a=>aD(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:bi,disabled:!ay.trim()||!aC.trim(),children:o("settings.prompts.save")})]})]})}),(0,b.jsx)(m.Dialog,{open:!!aw,onOpenChange:a=>!a&&ax(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:()=>ax(null),children:o("settings.prompts.cancel")}),(0,b.jsx)(g.Button,{variant:"destructive",onClick:bj,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:()=>{aN({...as}),aL(!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!==aE.length||aK?(0,b.jsx)("ul",{className:"divide-y rounded-xl border border-border bg-card",children:aE.map(a=>aG===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:aI.host,onChange:a=>aJ(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:aI.ownerMatch,onChange:a=>aJ(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:aI.localPathTemplate,onChange:a=>aJ(b=>({...b,localPathTemplate:a.target.value})),placeholder:o("settings.config.git.localPathTemplatePlaceholder"),className:"text-sm font-mono flex-1"}),(0,b.jsxs)(R.Tooltip,{children:[(0,b.jsx)(R.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:aQ?"default":"outline",size:"sm",type:"button",onClick:()=>aR(a=>!a),className:"shrink-0 font-mono",children:"{path}"})}),(0,b.jsx)(R.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)(R.Tooltip,{children:[(0,b.jsx)(R.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"outline",size:"icon",type:"button",onClick:()=>aX("edit"),children:(0,b.jsx)(F.FolderOpen,{className:"h-4 w-4"})})}),(0,b.jsx)(R.TooltipContent,{children:o("settings.config.git.pickFolder")})]})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:aQ?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:aI.priority,onChange:a=>aJ(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:()=>{aH(null),aR(!1)},children:o("settings.config.git.cancel")}),(0,b.jsx)(g.Button,{size:"sm",onClick:()=>bs(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(aH(a.id),aJ({host:a.host,ownerMatch:a.ownerMatch,localPathTemplate:d,priority:a.priority}),aR(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:()=>aV(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")})}),aK&&(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:aM.host,onChange:a=>aN(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:aM.ownerMatch,onChange:a=>aN(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:aM.localPathTemplate,onChange:a=>aN(b=>({...b,localPathTemplate:a.target.value})),placeholder:o("settings.config.git.localPathTemplatePlaceholder"),className:"text-sm font-mono flex-1"}),(0,b.jsxs)(R.Tooltip,{children:[(0,b.jsx)(R.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:aO?"default":"outline",size:"sm",type:"button",onClick:()=>aP(a=>!a),className:"shrink-0 font-mono",children:"{path}"})}),(0,b.jsx)(R.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)(R.Tooltip,{children:[(0,b.jsx)(R.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"outline",size:"icon",type:"button",onClick:()=>aX("add"),children:(0,b.jsx)(F.FolderOpen,{className:"h-4 w-4"})})}),(0,b.jsx)(R.TooltipContent,{children:o("settings.config.git.pickFolder")})]})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:aO?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:aM.priority,onChange:a=>aN(b=>({...b,priority:Number(a.target.value)})),className:"text-sm w-24"})]}),aM.localPathTemplate&&(c=aM.localPathTemplate.trim().replace(/\/+$/,""),d=aO?`${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:()=>aT(c),className:(0,n.cn)("rounded-md px-2 py-0.5 text-[11px] font-medium transition-colors cursor-pointer",aS===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[aS].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[aS].url)})]})]})]})),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)(g.Button,{variant:"ghost",size:"sm",onClick:()=>aL(!1),children:o("settings.config.git.cancel")}),(0,b.jsxs)(g.Button,{size:"sm",onClick:br,disabled:!aM.host.trim()||!aM.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:aY.maxUploadMb,onChange:a=>aZ(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:aY.maxConcurrent,onChange:a=>aZ(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:aY.maxReadableMb,onChange:a=>aZ(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.taskDefaultWorktree")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:o("settings.config.system.taskDefaultWorktreeHint")})]}),(0,b.jsx)("button",{type:"button",onClick:()=>aZ(a=>({...a,taskDefaultUseWorktree:!a.taskDefaultUseWorktree})),className:`rounded-md px-3 py-1 text-xs font-medium transition-colors ${aY.taskDefaultUseWorktree?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:aY.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:()=>aZ(a=>({...a,taskDefaultAutoStart:!a.taskDefaultAutoStart})),className:`rounded-md px-3 py-1 text-xs font-medium transition-colors ${aY.taskDefaultAutoStart?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:aY.taskDefaultAutoStart?o("task.autoStartYes"):o("task.autoStartNo")})]})]}),(0,b.jsx)(g.Button,{onClick:bl,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:a$.timeoutSec,onChange:a=>a_(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:bm,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:a0.resultLimit,onChange:a=>a1(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:a0.allModeCap,onChange:a=>a1(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:a0.debounceMs,onChange:a=>a1(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:a0.snippetLength,onChange:a=>a1(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:a0.codeTimeoutSec,onChange:a=>a1(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:bn,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:a2.minCols,onChange:a=>a3(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:a2.maxCols,onChange:a=>a3(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:a2.minRows,onChange:a=>a3(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:a2.maxRows,onChange:a=>a3(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:bo,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:a8,onChange:a=>a9(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:bp,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:a4?.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:a4?.installed?"destructive":"default",onClick:bq,disabled:a6||!a4,className:"rounded-lg",children:a4?.installed?o("settings.config.hooks.uninstall"):o("settings.config.hooks.install")})]})]}),(0,b.jsx)(m.Dialog,{open:!!aU,onOpenChange:a=>!a&&aV(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:()=>aV(null),children:o("settings.config.git.cancel")}),(0,b.jsx)(g.Button,{variant:"destructive",onClick:()=>aU&&bt(aU),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:ba,onCheckedChange:bu})]})});case"backup":return(0,b.jsx)(af,{});case"extensions":return(0,b.jsx)(am,{})}}()]})}),(0,b.jsx)(S.FolderBrowserDialog,{open:null!==aW,onOpenChange:a=>{a||aX(null)},onSelect:a=>{"add"===aW?aN(b=>({...b,localPathTemplate:a})):"edit"===aW&&aJ(b=>({...b,localPathTemplate:a})),aX(null)}})]})}a.s(["default",0,function(){return(0,b.jsx)(at,{})}],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(952313);let g=["code","code-insiders","cursor","windsurf","subl","zed","idea","webstorm","pycharm","goland","rubymine","phpstorm","clion","rider"];var h=a.i(951192),i=a.i(699570),j=a.i(866718),k=a.i(429246),l=a.i(412783),m=a.i(786304),n=a.i(563658),o=a.i(814574),p=a.i(368114),q=a.i(369289),r=a.i(711796);let s=(0,r.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 t=a.i(350739);let u=(0,r.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 v=a.i(190076),w=a.i(705594),x=a.i(264589),y=a.i(54384),z=a.i(774881);let A=(0,r.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 B=a.i(975231);let C=(0,r.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"}]]),D=(0,r.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 E=a.i(704494),F=a.i(913284),G=a.i(468862),H=a.i(347165),I=a.i(904456),J=a.i(6319),K=a.i(700925),L=a.i(780410);let M=(0,L.createServerReference)("0069f5b2d346fcdd2ea23f5185718b53c7cb21052f",L.callServer,void 0,L.findSourceMapURL,"getAvailableTerminalApps"),N=(0,L.createServerReference)("0008624d1706a8b7d75c9c495d813ef5ed53c801be",L.callServer,void 0,L.findSourceMapURL,"getAvailableEditors");var O=a.i(912772);let P=(0,L.createServerReference)("40a0da886ecb472708cbd0c5d6fc1b002f25291dee",L.callServer,void 0,L.findSourceMapURL,"createPrompt"),Q=(0,L.createServerReference)("60525d37caa36fe1040ff7b1695d91c0673e93a438",L.callServer,void 0,L.findSourceMapURL,"updatePrompt"),R=(0,L.createServerReference)("40f2716b3435778f5960bf7438fb97569cfb567ff4",L.callServer,void 0,L.findSourceMapURL,"deletePrompt"),S=(0,L.createServerReference)("604a70f97cf97e7bb56e3b3a0c95b0842fd210d706",L.callServer,void 0,L.findSourceMapURL,"setDefaultPrompt"),T=(0,L.createServerReference)("00fe2415d70aea9675a0ce38476d9129f505128b32",L.callServer,void 0,L.findSourceMapURL,"getAvailableProviders");var U=a.i(785259),V=a.i(43775);let W=(0,r.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 X=a.i(324954);let Y=(0,r.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 Z=a.i(161664),$=a.i(811344),_=a.i(607219);let aa=(0,L.createServerReference)("401eb92d8c692466a41849ef7d22a78cec9c33d702",L.callServer,void 0,L.findSourceMapURL,"createBackup"),ab=(0,L.createServerReference)("003b98c297b754addda71a930baf69043c5337c408",L.callServer,void 0,L.findSourceMapURL,"listBackupFiles"),ac=(0,L.createServerReference)("40f70f02e81f3181c220eed4a7877159368d85f5fa",L.callServer,void 0,L.findSourceMapURL,"deleteBackupFile"),ad=(0,L.createServerReference)("402557819c555845ff2151dd61e825a615aaff65c6",L.callServer,void 0,L.findSourceMapURL,"restoreBackup"),ae=(0,L.createServerReference)("40c027ee5d480f8183735089a3dda78444ebf0b606",L.callServer,void 0,L.findSourceMapURL,"resetSystem"),af=(0,L.createServerReference)("0003688cd7ff60d06827685b77681ccf717c0f8e3c",L.callServer,void 0,L.findSourceMapURL,"getBackupDir"),ag=(0,L.createServerReference)("40c2a4b565c27c3c67887c473ae9effa87ffb6b7cf",L.callServer,void 0,L.findSourceMapURL,"setBackupDir");function ah(){let{t:a,locale:e}=(0,h.useI18n)(),g=(0,d.useRouter)(),[k,l]=(0,c.useState)([]),[m,n]=(0,c.useState)(""),[p,q]=(0,c.useState)(!1),[r,s]=(0,c.useState)(!0),[t,u]=(0,c.useState)(null),[v,w]=(0,c.useState)(!1),[x,y]=(0,c.useState)(""),z=(0,c.useRef)(null),[A,C]=(0,c.useState)(!1),[D,F]=(0,c.useState)(""),G=(0,c.useCallback)(async()=>{s(!0);try{let[a,b]=await Promise.all([ab(),af()]);l(a),n(b)}finally{s(!1)}},[]);(0,c.useEffect)(()=>{G()},[G]);let H=async()=>{let b=x.trim()||void 0;w(!1),y(""),u("create");try{await aa(b),f.toast.success(a("settings.backup.createSuccess")),await G()}catch{f.toast.error(a("settings.backup.createError"))}finally{u(null)}},I=async b=>{if(confirm(a("settings.backup.restoreConfirm"))){u("restore");try{await ad(b),f.toast.success(a("settings.backup.restoreSuccess"),{action:{label:a("settings.backup.reload"),onClick:()=>window.location.reload()},duration:15e3}),await G()}catch{f.toast.error(a("settings.backup.restoreError"))}finally{u(null)}}},J=async b=>{if(confirm(a("settings.backup.deleteConfirm")))try{await ac(b),f.toast.success(a("settings.backup.deleteSuccess")),l(a=>a.filter(a=>a.filename!==b))}catch{f.toast.error(a("settings.backup.deleteError"))}},K=async b=>{q(!1);try{await ag(b),n(b),f.toast.success(a("settings.backup.dirSaved")),await G()}catch{f.toast.error(a("settings.backup.dirError"))}},L=async b=>{let c=b.target.files?.[0];if(c){b.target.value="",u("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();f.toast.error("Invalid backup archive"===b.error?a("settings.backup.importInvalid"):(b.error,a("settings.backup.importError")));return}f.toast.success(a("settings.backup.importSuccess")),await G()}catch{f.toast.error(a("settings.backup.importError"))}finally{u(null)}}},M=async()=>{if("RESET"===D){C(!1),F(""),u("reset");try{await ae("RESET"),f.toast.success(a("settings.backup.resetSuccess")),g.push("/")}catch{f.toast.error(a("settings.backup.resetError"))}finally{u(null)}}},N=null!==t;return(0,b.jsxs)("div",{className:"space-y-6",children:[("restore"===t||"reset"===t)&&(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)(E.Loader2,{className:"h-8 w-8 animate-spin text-muted-foreground"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"restore"===t?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.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:m}),(0,b.jsx)(i.Button,{variant:"ghost",onClick:()=>q(!0),className:"text-xs text-muted-foreground",children:a("settings.backup.dirChange")})]}),(0,b.jsx)(V.FolderBrowserDialog,{open:p,onOpenChange:q,onSelect:K})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(i.Button,{onClick:()=>{y(""),w(!0)},disabled:N,className:"gap-2",children:"create"===t?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(E.Loader2,{className:"h-4 w-4 animate-spin"})," ",a("settings.backup.creating")]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(W,{className:"h-4 w-4"})," ",a("settings.backup.create")]})}),(0,b.jsxs)(U.Tooltip,{children:[(0,b.jsxs)(U.TooltipTrigger,{render:(0,b.jsx)(i.Button,{variant:"outline",disabled:N,onClick:()=>z.current?.click(),className:"gap-2"}),children:[(0,b.jsx)(Y,{className:"h-4 w-4"}),a("settings.backup.import")]}),(0,b.jsx)(U.TooltipContent,{side:"bottom",sideOffset:4,children:a("settings.backup.importHint")})]}),(0,b.jsx)("input",{ref:z,type:"file",accept:".tar.gz,.gz",className:"hidden",onChange:L})]}),(0,b.jsx)(o.Dialog,{open:v,onOpenChange:w,children:(0,b.jsxs)(o.DialogContent,{className:"sm:max-w-sm",children:[(0,b.jsx)(o.DialogHeader,{children:(0,b.jsx)(o.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)(j.Input,{value:x,onChange:a=>y(a.target.value),onKeyDown:a=>"Enter"===a.key&&H(),placeholder:a("settings.backup.createLabelPlaceholder"),className:"mt-1.5",autoFocus:!0})]}),(0,b.jsxs)(o.DialogFooter,{children:[(0,b.jsx)(i.Button,{variant:"outline",onClick:()=>w(!1),children:a("common.cancel")}),(0,b.jsx)(i.Button,{onClick:H,className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:a("settings.backup.create")})]})]})}),r?(0,b.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,b.jsx)(E.Loader2,{className:"h-5 w-5 animate-spin text-muted-foreground"})}):0===k.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:k.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)(U.Tooltip,{children:[(0,b.jsx)(U.TooltipTrigger,{render:(0,b.jsx)(i.Button,{variant:"ghost",size:"icon-xs",onClick:()=>I(c.filename),disabled:N,className:"text-muted-foreground hover:text-foreground"}),children:(0,b.jsx)(X.Upload,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(U.TooltipContent,{side:"bottom",sideOffset:4,children:a("settings.backup.restore")})]}),(0,b.jsxs)(U.Tooltip,{children:[(0,b.jsx)(U.TooltipTrigger,{render:(0,b.jsx)(i.Button,{variant:"ghost",size:"icon-xs",onClick:()=>J(c.filename),disabled:N,className:"text-muted-foreground hover:text-rose-400"}),children:(0,b.jsx)(B.Trash2,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(U.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)($.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)(i.Button,{variant:"outline",onClick:()=>{F(""),C(!0)},disabled:N,className:"mt-3 border-rose-500/30 text-rose-400 hover:bg-rose-500/10 hover:text-rose-400",children:[(0,b.jsx)(Z.RotateCcw,{className:"mr-2 h-3.5 w-3.5"}),a("settings.backup.reset")]})]}),(0,b.jsx)(o.Dialog,{open:A,onOpenChange:C,children:(0,b.jsxs)(o.DialogContent,{className:"sm:max-w-sm",children:[(0,b.jsxs)(o.DialogHeader,{children:[(0,b.jsx)(o.DialogTitle,{children:a("settings.backup.resetConfirmTitle")}),(0,b.jsx)(o.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)(j.Input,{value:D,onChange:a=>F(a.target.value),placeholder:"RESET",className:"mt-1.5 font-mono"})]}),(0,b.jsxs)(o.DialogFooter,{children:[(0,b.jsx)(i.Button,{variant:"outline",onClick:()=>C(!1),children:a("common.cancel")}),(0,b.jsx)(i.Button,{disabled:"RESET"!==D,onClick:M,className:"border-rose-500/30 bg-rose-500/10 text-rose-400 hover:bg-rose-500/20",children:a("settings.backup.reset")})]})]})})]})}var ai=a.i(953093);let aj=(0,r.default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var ak=a.i(963326),al=a.i(192369),am=a.i(627141);function an({extension:a}){let{t:d}=(0,h.useI18n)(),{status:e,loading:g,isInstalling:j,install:k,uninstall:l,refresh:m}=(0,am.useExtension)(a.id),[n,o]=(0,c.useState)(!1),p=a.icon,q=e.installed,r=async()=>{let b=await k();b.success?f.toast.success(d("settings.extensions.installSuccess").replace("{name}",a.name)):f.toast.error(d("settings.extensions.installFailed").replace("{name}",a.name)+(b.error?`: ${b.error.slice(0,200)}`:""))},s=async()=>{let b=await l();b.success?f.toast.success(d("settings.extensions.uninstallSuccess").replace("{name}",a.name)):f.toast.error(d("settings.extensions.uninstallFailed").replace("{name}",a.name)+(b.error?`: ${b.error.slice(0,200)}`:""))},t=async()=>{o(!0);try{await m()}finally{o(!1)}},u=()=>{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)(p,{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:g?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(E.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")})]}):q?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(F.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)(aj,{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:[q?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.Button,{variant:"default",onClick:r,disabled:j,children:j?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(E.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),d("settings.extensions.reinstalling")]}):d("settings.extensions.reinstall")}),(0,b.jsx)(i.Button,{variant:"outline",onClick:s,disabled:j,children:j?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(E.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),d("settings.extensions.uninstalling")]}):d("settings.extensions.uninstall")})]}):a.manualInstall?(0,b.jsxs)(U.Tooltip,{children:[(0,b.jsx)(U.TooltipTrigger,{render:a=>(0,b.jsxs)(i.Button,{variant:"default",onClick:u,...a,children:[(0,b.jsx)(ak.ExternalLink,{className:"h-3.5 w-3.5"}),d("settings.extensions.installViaHomepage")]})}),(0,b.jsxs)(U.TooltipContent,{className:"w-80 max-w-[80vw] text-xs leading-relaxed",children:[(0,b.jsx)("p",{children:d("settings.extensions.manualInstallHintIntro")}),(0,b.jsxs)("ul",{className:"mt-2 space-y-1",children:[(0,b.jsxs)("li",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"w-12 shrink-0 text-muted-foreground",children:"macOS"}),(0,b.jsx)("code",{className:"rounded bg-background/60 px-1.5 py-0.5 font-mono text-[11px]",children:"brew install ripgrep"})]}),(0,b.jsxs)("li",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"w-12 shrink-0 text-muted-foreground",children:"Win"}),(0,b.jsx)("code",{className:"rounded bg-background/60 px-1.5 py-0.5 font-mono text-[11px]",children:"winget install BurntSushi.ripgrep"})]}),(0,b.jsxs)("li",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"w-12 shrink-0 text-muted-foreground",children:"Linux"}),(0,b.jsx)("code",{className:"rounded bg-background/60 px-1.5 py-0.5 font-mono text-[11px]",children:"apt/dnf/pacman install ripgrep"})]})]}),(0,b.jsx)("p",{className:"mt-2 text-muted-foreground",children:d("settings.extensions.manualInstallHintAfter")})]})]}):(0,b.jsx)(i.Button,{variant:"default",onClick:r,disabled:j,children:j?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(E.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),d("settings.extensions.installing")]}):d("settings.extensions.install")}),(0,b.jsxs)(i.Button,{variant:"ghost",onClick:t,disabled:n,children:[(0,b.jsx)(al.RefreshCw,{className:`h-3.5 w-3.5 ${n?"animate-spin":""}`}),d("settings.extensions.recheck")]}),(0,b.jsxs)(i.Button,{variant:"ghost",onClick:u,children:[(0,b.jsx)(ak.ExternalLink,{className:"h-3.5 w-3.5"}),d("settings.extensions.visitHomepage")]})]})]})}function ao(){let{t:a}=(0,h.useI18n)(),c=(0,ai.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)(an,{extension:a},a.id))})]})}function ap({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,p.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 aq({label:a,description:c,children:d,className:e}){return(0,b.jsxs)("div",{className:(0,p.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 ar=[{id:"general",labelKey:"settings.general",descKey:"settings.generalDesc",icon:q.Settings,accent:"blue"},{id:"ai-tools",labelKey:"settings.aiTools.title",descKey:"settings.aiTools.cliVerificationDesc",icon:s,accent:"emerald"},{id:"prompts",labelKey:"settings.prompts",descKey:"settings.promptsDesc",icon:t.FileText,accent:"violet"},{id:"config",labelKey:"settings.config",descKey:"settings.configDesc",icon:u,accent:"amber"},{id:"extensions",labelKey:"settings.extensions.title",descKey:"settings.extensions.navDesc",icon:x.Package,accent:"indigo"},{id:"notifications",labelKey:"settings.notifications.title",descKey:"settings.notifications.navDesc",icon:v.Bell,accent:"rose"},{id:"backup",labelKey:"settings.backup.title",descKey:"settings.backup.navDesc",icon:w.HardDrive,accent:"cyan"}],as={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"}},at="ai-manager:default-cli-adapter",au={host:"",ownerMatch:"*",localPathTemplate:"",priority:0};function av(){let a=(0,d.useRouter)(),{t:q}=(0,h.useI18n)(),{theme:r,setTheme:s}=(0,e.useTheme)(),{locale:t,setLocale:u}=(0,h.useI18n)(),[v,w]=(0,c.useState)("general"),x=(0,c.useRef)(null),[L,W]=(0,c.useState)({left:0,width:0}),[X,Y]=(0,c.useState)(!1),[Z,$]=(0,c.useState)("Terminal"),[_,aa]=(0,c.useState)([]),[ab,ac]=(0,c.useState)(""),[ad,ae]=(0,c.useState)([]),[af,ag]=(0,c.useState)(180),[ai,aj]=(0,c.useState)([]),[ak,al]=(0,c.useState)("claude"),[am,an]=(0,c.useState)(null),[av,aw]=(0,c.useState)({}),[ax,ay]=(0,c.useState)([]),[az,aA]=(0,c.useState)(!1),[aB,aC]=(0,c.useState)(null),[aD,aE]=(0,c.useState)(null),[aF,aG]=(0,c.useState)(""),[aH,aI]=(0,c.useState)(""),[aJ,aK]=(0,c.useState)(""),[aL,aM]=(0,c.useState)([]),[aN,aO]=(0,c.useState)(null),[aP,aQ]=(0,c.useState)({...au}),[aR,aS]=(0,c.useState)(!1),[aT,aU]=(0,c.useState)({...au}),[aV,aW]=(0,c.useState)(!1),[aX,aY]=(0,c.useState)(!1),[aZ,a$]=(0,c.useState)(0),[a_,a0]=(0,c.useState)(null),[a1,a2]=(0,c.useState)(null),[a3,a4]=(0,c.useState)({maxUploadMb:50,maxConcurrent:3,maxReadableMb:5,taskDefaultUseWorktree:!0,taskDefaultAutoStart:!1}),[a5,a6]=(0,c.useState)({timeoutSec:30}),[a7,a8]=(0,c.useState)({resultLimit:20,allModeCap:5,debounceMs:250,snippetLength:80,codeTimeoutSec:30}),[a9,ba]=(0,c.useState)({minCols:1,maxCols:5,minRows:1,maxRows:5}),[bb,bc]=(0,c.useState)(null),[bd,be]=(0,c.useState)(!1),[bf,bg]=(0,c.useState)(""),[bh,bi]=(0,c.useState)(!0);(0,c.useEffect)(()=>Y(!0),[]),(0,c.useEffect)(()=>{(0,I.getConfigValue)("terminal.app","Terminal").then($),(0,I.getConfigValue)("terminal.idleTimeoutSec",180).then(ag),M().then(aa),(0,I.getConfigValue)("editor.command","").then(ac),N().then(ae)},[]),(0,c.useEffect)(()=>{T().then(aj);let a=localStorage.getItem(at);a&&al(a)},[]),(0,c.useEffect)(()=>{(0,O.getPrompts)().then(ay)},[]);let bj=async()=>{try{let a=await fetch("/api/internal/hooks/install");if(a.ok){let b=await a.json();bc(b)}}catch{}};async function bk(){await (0,J.setConfigValue)("terminal.app",Z)}async function bl(){let a=ab.trim();a&&!g.includes(a)?f.toast.error(q("settings.editor.invalid",{cmd:a})):(a!==ab&&ac(a),await (0,J.setConfigValue)("editor.command",a))}async function bm(){let a=Math.max(180,af);ag(a),await (0,J.setConfigValue)("terminal.idleTimeoutSec",a)}async function bn(a){if(!am){an(a),aw(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();aw(b=>({...b,[a]:c}))}catch{aw(b=>({...b,[a]:{ok:!1,checks:[{name:"network_error",passed:!1,message:"Network request failed"}]}}))}finally{an(null)}}}(0,c.useEffect)(()=>{(0,I.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});aM(d),c&&(0,J.setConfigValue)("git.pathMappingRules",d)}),(0,I.getConfigValue)("hooks.autoUploadTypes",["png","jpg","jpeg","gif","webp","svg","pdf","md","txt","json"]).then(a=>{bg(a.join(", "))}),bj(),(0,K.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;a4({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"]}),a6({timeoutSec:a["git.timeoutSec"]??30}),a8({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}),ba({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,I.getConfigValue)("notification.enabled",!0).then(bi)},[]);let bo=(0,c.useCallback)(()=>{aC(null),aG(""),aI(""),aK(""),aA(!0)},[]),bp=(0,c.useCallback)(a=>{aC(a),aG(a.name),aI(a.description??""),aK(a.content),aA(!0)},[]),bq=(0,c.useCallback)(async()=>{aF.trim()&&aJ.trim()&&(aB?await Q(aB.id,{name:aF.trim(),description:aH.trim()||void 0,content:aJ.trim()}):await P({name:aF.trim(),description:aH.trim()||void 0,content:aJ.trim()}),aA(!1),ay(await (0,O.getPrompts)()),a.refresh())},[aF,aH,aJ,aB,a]),br=(0,c.useCallback)(async()=>{aD&&(await R(aD),aE(null),ay(await (0,O.getPrompts)()),a.refresh())},[aD,a]),bs=(0,c.useCallback)(async b=>{await S(b),ay(await (0,O.getPrompts)()),a.refresh()},[a]),bt=async()=>{await (0,J.setConfigValue)("system.maxUploadBytes",1024*a3.maxUploadMb*1024),await (0,J.setConfigValue)("system.maxConcurrentExecutions",a3.maxConcurrent),await (0,J.setConfigValue)("system.maxReadableFileBytes",1024*a3.maxReadableMb*1024),await (0,J.setConfigValue)("task.defaultUseWorktree",a3.taskDefaultUseWorktree),await (0,J.setConfigValue)("task.defaultAutoStart",a3.taskDefaultAutoStart)},bu=async()=>{await (0,J.setConfigValue)("git.timeoutSec",a5.timeoutSec)},bv=async()=>{await (0,J.setConfigValue)("search.resultLimit",a7.resultLimit),await (0,J.setConfigValue)("search.allModeCap",a7.allModeCap),await (0,J.setConfigValue)("search.debounceMs",a7.debounceMs),await (0,J.setConfigValue)("search.snippetLength",a7.snippetLength),await (0,J.setConfigValue)("search.codeTimeoutSec",a7.codeTimeoutSec)},bw=async()=>{let a=Math.min(a9.minCols,a9.maxCols),b=Math.max(a9.minCols,a9.maxCols),c=Math.min(a9.minRows,a9.maxRows),d=Math.max(a9.minRows,a9.maxRows);ba({minCols:a,maxCols:b,minRows:c,maxRows:d}),await (0,J.setConfigValue)("missions.grid.minCols",a),await (0,J.setConfigValue)("missions.grid.maxCols",b),await (0,J.setConfigValue)("missions.grid.minRows",c),await (0,J.setConfigValue)("missions.grid.maxRows",d)},bx=async()=>{let a=bf.split(",").map(a=>a.trim()).filter(Boolean);await (0,J.setConfigValue)("hooks.autoUploadTypes",a)},by=async()=>{if(bb){be(!0);try{let a=bb.installed?"DELETE":"POST";await fetch("/api/internal/hooks/install",{method:a}),await bj()}finally{be(!1)}}},bz=async()=>{if(!aT.host.trim()||!aT.localPathTemplate.trim())return;let a=aT.localPathTemplate.trim().replace(/\/+$/,""),b=aV?`${a}/{path}`:a,c=[...aL,{id:crypto.randomUUID(),host:aT.host.trim(),ownerMatch:aT.ownerMatch.trim()||"*",localPathTemplate:b,priority:aT.priority}];await (0,J.setConfigValue)("git.pathMappingRules",c),aM(c),aU({...au}),aW(!1),aS(!1)},bA=async a=>{if(!aP.host.trim()||!aP.localPathTemplate.trim())return;let b=aP.localPathTemplate.trim().replace(/\/+$/,""),c=aX?`${b}/{path}`:b,d=aL.map(b=>b.id===a?{...b,host:aP.host.trim(),ownerMatch:aP.ownerMatch.trim()||"*",localPathTemplate:c,priority:aP.priority}:b);await (0,J.setConfigValue)("git.pathMappingRules",d),aM(d),aO(null),aY(!1)},bB=async a=>{let b=aL.filter(b=>b.id!==a);await (0,J.setConfigValue)("git.pathMappingRules",b),aM(b),a0(null)};async function bC(){let a=!bh;bi(a),await (0,J.setConfigValue)("notification.enabled",a)}let bD=(0,c.useCallback)(()=>{a.back()},[a]);(0,c.useEffect)(()=>{let a=x.current;if(!a)return;let b=a.querySelector(`[data-section="${v}"]`);if(!b)return;let c=a.getBoundingClientRect(),d=b.getBoundingClientRect();W({left:d.left-c.left,width:d.width})},[v]);let bE=ar.find(a=>a.id===v),bF=bE?as[bE.accent]:as.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:q("settings.title")}),(0,b.jsx)("p",{className:"mt-0.5 text-sm text-muted-foreground",children:q("settings.configDesc")})]}),(0,b.jsxs)(i.Button,{variant:"outline",onClick:bD,className:"gap-1.5 bg-card shadow-sm cursor-pointer",children:[(0,b.jsx)(y.X,{className:"h-3.5 w-3.5"}),"ESC"]})]}),(0,b.jsxs)("div",{ref:x,className:"relative flex gap-1 overflow-x-auto",children:[ar.map(a=>{let c=a.icon,d=v===a.id,e=as[a.accent];return(0,b.jsxs)("button",{"data-section":a.id,onClick:()=>w(a.id),className:(0,p.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,p.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:q(a.labelKey)})]},a.id)}),(0,b.jsx)("div",{className:(0,p.cn)("absolute bottom-0 h-0.5 rounded-full","transition-all duration-250 ease-out",bF.indicator),style:{left:L.left,width:L.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,p.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:q(bE.labelKey)}),(0,b.jsx)("p",{className:"mt-0.5 text-sm text-muted-foreground",children:q(bE.descKey)})]})]}),(0,b.jsx)("div",{className:"mb-6 border-t"}),function(){switch(v){case"general":let a;return a=[{value:"light",label:q("settings.themeLight")},{value:"dark",label:q("settings.themeDark")},{value:"system",label:q("settings.themeSystem")}],(0,b.jsxs)("div",{className:"divide-y divide-border/50",children:[(0,b.jsx)(aq,{label:q("settings.theme"),description:q("settings.themeDesc"),children:X?(0,b.jsx)(ap,{options:a,value:r??"system",onChange:a=>s(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)(aq,{label:q("settings.language"),description:q("settings.languageDesc"),children:(0,b.jsx)(ap,{options:[{value:"zh",label:"中文"},{value:"en",label:"English"}],value:t,onChange:a=>u(a)})}),(0,b.jsxs)("div",{className:"py-4 border-b border-border/50",children:[(0,b.jsx)("div",{className:"flex items-center justify-between",children:(0,b.jsxs)("div",{className:"min-w-0 flex-1 pr-4",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:q("settings.terminal.label")}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground mt-0.5",children:q("settings.terminal.desc")})]})}),(0,b.jsxs)("div",{className:"mt-3 flex flex-col gap-2",children:[_.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:_.map(a=>(0,b.jsx)("button",{type:"button",onClick:()=>{$(a.value),(0,J.setConfigValue)("terminal.app",a.value)},className:(0,p.cn)("rounded-lg border px-3.5 py-1.5 text-xs font-medium transition-all duration-200 cursor-pointer",Z===a.value?"border-foreground bg-accent text-foreground font-medium":"border-border text-muted-foreground hover:bg-accent/50 hover:text-foreground"),children:a.name},a.value))}),(0,b.jsx)("input",{type:"text",value:Z,onChange:a=>$(a.target.value),onBlur:bk,placeholder:q("settings.terminal.placeholder"),className:"h-9 w-64 rounded-lg border border-border/50 bg-muted/30 px-3 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500/30"})]})]}),(0,b.jsxs)("div",{className:"py-4 border-b border-border/50",children:[(0,b.jsx)("div",{className:"flex items-center justify-between",children:(0,b.jsxs)("div",{className:"min-w-0 flex-1 pr-4",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:q("settings.editor.label")}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground mt-0.5",children:q("settings.editor.desc")})]})}),(0,b.jsxs)("div",{className:"mt-3 flex flex-col gap-2",children:[ad.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:ad.map(a=>(0,b.jsx)("button",{type:"button",onClick:()=>{ac(a.command),(0,J.setConfigValue)("editor.command",a.command)},className:(0,p.cn)("rounded-lg border px-3.5 py-1.5 text-xs font-medium transition-all duration-200 cursor-pointer",ab===a.command?"border-foreground bg-accent text-foreground font-medium":"border-border text-muted-foreground hover:bg-accent/50 hover:text-foreground"),children:a.name},a.command))}),(0,b.jsx)("input",{type:"text",value:ab,onChange:a=>ac(a.target.value),onBlur:bl,placeholder:q("settings.editor.placeholder"),className:"h-9 w-64 rounded-lg border border-border/50 bg-muted/30 px-3 text-sm focus:outline-none focus:ring-2 focus:ring-blue-500/30"})]})]}),(0,b.jsx)(aq,{label:q("settings.terminal.idleTimeout"),description:q("settings.terminal.idleTimeoutDesc"),children:(0,b.jsx)("input",{type:"number",value:af,onChange:a=>ag(Number(a.target.value)),onBlur:bm,min:180,className:"h-9 w-28 rounded-lg border border-border/50 bg-muted/30 px-3 text-sm text-right focus:outline-none focus:ring-2 focus:ring-blue-500/30"})})]});case"ai-tools":return(0,b.jsx)("ul",{className:"divide-y rounded-xl border border-border bg-card",children:ai.map(a=>{let c=ak===a.name,d=am===a.name,e=av[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)(m.Badge,{variant:"outline",children:q("label.builtin")}),c&&(0,b.jsxs)(m.Badge,{variant:"secondary",className:"shrink-0",children:[(0,b.jsx)(A,{className:"h-3 w-3 mr-1 fill-yellow-400 text-yellow-400"}),q("settings.prompts.default")]}),e&&(0,b.jsx)(m.Badge,{variant:e.ok?"secondary":"destructive",className:(0,p.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)(F.CheckCircle2,{className:"h-3 w-3 mr-1"}),q("settings.aiTools.testPassed")]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(G.XCircle,{className:"h-3 w-3 mr-1"}),q("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)(i.Button,{variant:"outline",size:"sm",onClick:()=>{var b;al(b=a.name),localStorage.setItem(at,b)},children:[(0,b.jsx)(A,{className:"h-3.5 w-3.5 mr-1.5 text-muted-foreground"}),q("settings.prompts.setDefault")]}),(0,b.jsx)(i.Button,{variant:"outline",size:"sm",onClick:()=>bn(a.name),disabled:d,children:d?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(E.Loader2,{className:"h-3.5 w-3.5 animate-spin mr-1.5"}),q("settings.aiTools.testing")]}):q("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,p.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,p.cn)(c.passed?"text-foreground":"text-red-700 dark:text-red-300"),children:c.message})]},`${a.name}-${c.name}`))})})]})},a.name)})});case"prompts":return X?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsxs)(i.Button,{onClick:bo,variant:"default",children:[(0,b.jsx)(z.Plus,{className:"h-4 w-4 mr-2"}),q("settings.prompts.newPrompt")]})}),0===ax.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:q("settings.prompts.empty")}),(0,b.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:q("settings.prompts.emptyHint")})]}):(0,b.jsx)("div",{className:"rounded-xl border border-border/50 divide-y divide-border/50",children:ax.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)(m.Badge,{variant:"secondary",className:"shrink-0 rounded-full text-xs",children:[(0,b.jsx)(A,{className:"h-3 w-3 mr-1 fill-yellow-400 text-yellow-400"}),q("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)(i.Button,{variant:"ghost",size:"icon-sm",onClick:()=>bs(a.id),title:q("settings.prompts.setDefault"),children:(0,b.jsx)(A,{className:(0,p.cn)("h-4 w-4",a.isDefault?"fill-yellow-400 text-yellow-400":"text-muted-foreground")})}),(0,b.jsx)(i.Button,{variant:"ghost",size:"icon-sm",onClick:()=>bp(a),title:q("settings.prompts.editPrompt"),children:(0,b.jsx)(C,{className:"h-4 w-4"})}),(0,b.jsx)(i.Button,{variant:"ghost",size:"icon-sm",onClick:()=>aE(a.id),className:"text-destructive",title:q("settings.prompts.delete"),children:(0,b.jsx)(B.Trash2,{className:"h-4 w-4"})})]})]},a.id))}),(0,b.jsx)(o.Dialog,{open:az,onOpenChange:aA,children:(0,b.jsxs)(o.DialogContent,{children:[(0,b.jsxs)(o.DialogHeader,{children:[(0,b.jsx)(o.DialogTitle,{children:aB?q("settings.prompts.editPrompt"):q("settings.prompts.newPrompt")}),(0,b.jsx)(o.DialogDescription,{children:aB?q("settings.prompts.editPrompt"):q("settings.prompts.newPrompt")})]}),(0,b.jsxs)("div",{className:"space-y-4 py-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(l.Label,{htmlFor:"prompt-name",children:q("settings.prompts.promptName")}),(0,b.jsx)(j.Input,{id:"prompt-name",value:aF,onChange:a=>aG(a.target.value),placeholder:q("settings.prompts.promptNamePlaceholder"),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(l.Label,{htmlFor:"prompt-description",children:q("settings.prompts.promptDescription")}),(0,b.jsx)(j.Input,{id:"prompt-description",value:aH,onChange:a=>aI(a.target.value),placeholder:q("settings.prompts.promptDescriptionPlaceholder"),className:"mt-1.5"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(l.Label,{htmlFor:"prompt-content",children:q("settings.prompts.promptContent")}),(0,b.jsx)(k.Textarea,{id:"prompt-content",value:aJ,onChange:a=>aK(a.target.value),placeholder:q("settings.prompts.promptContentPlaceholder"),rows:8,className:"mt-1.5 font-mono text-sm"})]})]}),(0,b.jsxs)(o.DialogFooter,{children:[(0,b.jsx)(i.Button,{variant:"outline",onClick:()=>aA(!1),children:q("settings.prompts.cancel")}),(0,b.jsx)(i.Button,{onClick:bq,disabled:!aF.trim()||!aJ.trim(),children:q("settings.prompts.save")})]})]})}),(0,b.jsx)(o.Dialog,{open:!!aD,onOpenChange:a=>!a&&aE(null),children:(0,b.jsxs)(o.DialogContent,{children:[(0,b.jsxs)(o.DialogHeader,{children:[(0,b.jsx)(o.DialogTitle,{children:q("settings.prompts.deleteConfirmTitle")}),(0,b.jsx)(o.DialogDescription,{children:q("settings.prompts.deleteConfirmMessage")})]}),(0,b.jsxs)(o.DialogFooter,{children:[(0,b.jsx)(i.Button,{variant:"outline",onClick:()=>aE(null),children:q("settings.prompts.cancel")}),(0,b.jsx)(i.Button,{variant:"destructive",onClick:br,children:q("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:q("settings.config.git.title")}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:q("settings.config.git.desc")})]}),(0,b.jsxs)(i.Button,{onClick:()=>{aU({...au}),aS(!0)},children:[(0,b.jsx)(z.Plus,{className:"mr-2 h-4 w-4"}),q("settings.config.git.addRule")]})]}),(0,b.jsxs)("div",{className:"space-y-3",children:[0!==aL.length||aR?(0,b.jsx)("ul",{className:"divide-y rounded-xl border border-border bg-card",children:aL.map(a=>aN===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:q("settings.config.git.host")}),(0,b.jsx)(j.Input,{value:aP.host,onChange:a=>aQ(b=>({...b,host:a.target.value})),placeholder:q("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:q("settings.config.git.ownerMatch")}),(0,b.jsx)(j.Input,{value:aP.ownerMatch,onChange:a=>aQ(b=>({...b,ownerMatch:a.target.value})),placeholder:q("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:q("settings.config.git.localPathTemplate")}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(j.Input,{value:aP.localPathTemplate,onChange:a=>aQ(b=>({...b,localPathTemplate:a.target.value})),placeholder:q("settings.config.git.localPathTemplatePlaceholder"),className:"text-sm font-mono flex-1"}),(0,b.jsxs)(U.Tooltip,{children:[(0,b.jsx)(U.TooltipTrigger,{render:(0,b.jsx)(i.Button,{variant:aX?"default":"outline",size:"sm",type:"button",onClick:()=>aY(a=>!a),className:"shrink-0 font-mono",children:"{path}"})}),(0,b.jsx)(U.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:q("settings.config.git.pathTooltipTitle")}),(0,b.jsx)("div",{className:"opacity-80",children:q("settings.config.git.pathTooltipDetail")})]})})]}),(0,b.jsxs)(U.Tooltip,{children:[(0,b.jsx)(U.TooltipTrigger,{render:(0,b.jsx)(i.Button,{variant:"outline",size:"icon",type:"button",onClick:()=>a2("edit"),children:(0,b.jsx)(H.FolderOpen,{className:"h-4 w-4"})})}),(0,b.jsx)(U.TooltipContent,{children:q("settings.config.git.pickFolder")})]})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:aX?q("onboarding.step3.pathHintFull"):q("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:q("settings.config.git.priority")}),(0,b.jsx)(j.Input,{type:"number",value:aP.priority,onChange:a=>aQ(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)(i.Button,{variant:"ghost",size:"sm",onClick:()=>{aO(null),aY(!1)},children:q("settings.config.git.cancel")}),(0,b.jsx)(i.Button,{size:"sm",onClick:()=>bA(a.id),children:q("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)(m.Badge,{variant:"outline",className:"text-[10px] px-1.5 py-0",children:[q("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)(i.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(aO(a.id),aQ({host:a.host,ownerMatch:a.ownerMatch,localPathTemplate:d,priority:a.priority}),aY(c))},title:q("settings.config.git.edit"),children:(0,b.jsx)(C,{className:"h-4 w-4"})}),(0,b.jsx)(i.Button,{variant:"ghost",size:"icon-sm",onClick:()=>a0(a.id),className:"text-destructive",title:q("settings.config.git.delete"),children:(0,b.jsx)(B.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:q("settings.config.git.noRules")})}),aR&&(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:q("settings.config.git.host")}),(0,b.jsx)(j.Input,{value:aT.host,onChange:a=>aU(b=>({...b,host:a.target.value})),placeholder:q("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:q("settings.config.git.ownerMatch")}),(0,b.jsx)(j.Input,{value:aT.ownerMatch,onChange:a=>aU(b=>({...b,ownerMatch:a.target.value})),placeholder:q("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:q("settings.config.git.localPathTemplate")}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(j.Input,{value:aT.localPathTemplate,onChange:a=>aU(b=>({...b,localPathTemplate:a.target.value})),placeholder:q("settings.config.git.localPathTemplatePlaceholder"),className:"text-sm font-mono flex-1"}),(0,b.jsxs)(U.Tooltip,{children:[(0,b.jsx)(U.TooltipTrigger,{render:(0,b.jsx)(i.Button,{variant:aV?"default":"outline",size:"sm",type:"button",onClick:()=>aW(a=>!a),className:"shrink-0 font-mono",children:"{path}"})}),(0,b.jsx)(U.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:q("settings.config.git.pathTooltipTitle")}),(0,b.jsx)("div",{className:"opacity-80",children:q("settings.config.git.pathTooltipDetail")})]})})]}),(0,b.jsxs)(U.Tooltip,{children:[(0,b.jsx)(U.TooltipTrigger,{render:(0,b.jsx)(i.Button,{variant:"outline",size:"icon",type:"button",onClick:()=>a2("add"),children:(0,b.jsx)(H.FolderOpen,{className:"h-4 w-4"})})}),(0,b.jsx)(U.TooltipContent,{children:q("settings.config.git.pickFolder")})]})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:aV?q("onboarding.step3.pathHintFull"):q("onboarding.step3.pathHintRepo")})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)("label",{className:"block text-xs font-medium",children:q("settings.config.git.priority")}),(0,b.jsx)(j.Input,{type:"number",value:aT.priority,onChange:a=>aU(b=>({...b,priority:Number(a.target.value)})),className:"text-sm w-24"})]}),aT.localPathTemplate&&(c=aT.localPathTemplate.trim().replace(/\/+$/,""),d=aV?`${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:q("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,p.cn)("rounded-md px-2 py-0.5 text-[11px] font-medium transition-colors cursor-pointer",aZ===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[aZ].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[aZ].url)})]})]})]})),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)(i.Button,{variant:"ghost",size:"sm",onClick:()=>aS(!1),children:q("settings.config.git.cancel")}),(0,b.jsxs)(i.Button,{size:"sm",onClick:bz,disabled:!aT.host.trim()||!aT.localPathTemplate.trim(),children:[(0,b.jsx)(D,{className:"h-3.5 w-3.5 mr-1.5"}),q("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:q("settings.config.system.title")}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:q("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:q("settings.config.system.maxUpload")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:q("settings.config.system.maxUploadHint")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(j.Input,{type:"number",min:1,max:500,value:a3.maxUploadMb,onChange:a=>a4(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:q("settings.config.system.maxConcurrent")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:q("settings.config.system.maxConcurrentHint")})]}),(0,b.jsx)(j.Input,{type:"number",min:1,max:10,value:a3.maxConcurrent,onChange:a=>a4(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:q("settings.config.system.maxReadable")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:q("settings.config.system.maxReadableHint")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(j.Input,{type:"number",min:1,max:50,value:a3.maxReadableMb,onChange:a=>a4(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:q("settings.config.system.taskDefaultWorktree")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:q("settings.config.system.taskDefaultWorktreeHint")})]}),(0,b.jsx)("button",{type:"button",onClick:()=>a4(a=>({...a,taskDefaultUseWorktree:!a.taskDefaultUseWorktree})),className:`rounded-md px-3 py-1 text-xs font-medium transition-colors ${a3.taskDefaultUseWorktree?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:a3.taskDefaultUseWorktree?q("task.worktreeYes"):q("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:q("settings.config.system.taskDefaultAutoStart")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:q("settings.config.system.taskDefaultAutoStartHint")})]}),(0,b.jsx)("button",{type:"button",onClick:()=>a4(a=>({...a,taskDefaultAutoStart:!a.taskDefaultAutoStart})),className:`rounded-md px-3 py-1 text-xs font-medium transition-colors ${a3.taskDefaultAutoStart?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:a3.taskDefaultAutoStart?q("task.autoStartYes"):q("task.autoStartNo")})]})]}),(0,b.jsx)(i.Button,{onClick:bt,className:"rounded-lg",children:q("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:q("settings.config.gitParams.title")}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:q("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:q("settings.config.gitParams.timeout")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:q("settings.config.gitParams.timeoutHint")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(j.Input,{type:"number",min:5,max:300,value:a5.timeoutSec,onChange:a=>a6(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)(i.Button,{onClick:bu,className:"rounded-lg",children:q("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:q("settings.config.search.title")}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:q("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:q("settings.config.search.resultLimit")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:q("settings.config.search.resultLimitHint")})]}),(0,b.jsx)(j.Input,{type:"number",min:5,max:100,value:a7.resultLimit,onChange:a=>a8(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:q("settings.config.search.allModeCap")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:q("settings.config.search.allModeCapHint")})]}),(0,b.jsx)(j.Input,{type:"number",min:1,max:20,value:a7.allModeCap,onChange:a=>a8(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:q("settings.config.search.debounceMs")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:q("settings.config.search.debounceMsHint")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(j.Input,{type:"number",min:50,max:1e3,value:a7.debounceMs,onChange:a=>a8(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:q("settings.config.search.snippetLength")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:q("settings.config.search.snippetLengthHint")})]}),(0,b.jsx)(j.Input,{type:"number",min:20,max:500,value:a7.snippetLength,onChange:a=>a8(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:q("settings.config.search.codeTimeout")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:q("settings.config.search.codeTimeoutHint")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(j.Input,{type:"number",min:5,max:300,step:5,value:a7.codeTimeoutSec,onChange:a=>a8(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)(i.Button,{onClick:bv,className:"rounded-lg",children:q("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:q("settings.config.missions.title")}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:q("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:q("settings.config.missions.minCols")}),(0,b.jsx)(j.Input,{type:"number",min:1,max:10,value:a9.minCols,onChange:a=>ba(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:q("settings.config.missions.maxCols")}),(0,b.jsx)(j.Input,{type:"number",min:1,max:10,value:a9.maxCols,onChange:a=>ba(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:q("settings.config.missions.minRows")}),(0,b.jsx)(j.Input,{type:"number",min:1,max:10,value:a9.minRows,onChange:a=>ba(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:q("settings.config.missions.maxRows")}),(0,b.jsx)(j.Input,{type:"number",min:1,max:10,value:a9.maxRows,onChange:a=>ba(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)(i.Button,{onClick:bw,className:"rounded-lg",children:q("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:q("settings.config.hooks.title")}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:q("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:q("settings.config.hooks.autoUploadTypes")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:q("settings.config.hooks.autoUploadTypesHint")})]}),(0,b.jsx)(j.Input,{value:bf,onChange:a=>bg(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)(i.Button,{onClick:bx,className:"rounded-lg",children:q("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:bb?.installed?q("settings.config.hooks.installed"):q("settings.config.hooks.notInstalled")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:q("settings.config.hooks.installHint")})]}),(0,b.jsx)(i.Button,{variant:bb?.installed?"destructive":"default",onClick:by,disabled:bd||!bb,className:"rounded-lg",children:bb?.installed?q("settings.config.hooks.uninstall"):q("settings.config.hooks.install")})]})]}),(0,b.jsx)(o.Dialog,{open:!!a_,onOpenChange:a=>!a&&a0(null),children:(0,b.jsxs)(o.DialogContent,{children:[(0,b.jsxs)(o.DialogHeader,{children:[(0,b.jsx)(o.DialogTitle,{children:q("settings.config.git.deleteConfirm")}),(0,b.jsx)(o.DialogDescription,{children:q("settings.config.git.deleteConfirmMessage")})]}),(0,b.jsxs)(o.DialogFooter,{children:[(0,b.jsx)(i.Button,{variant:"outline",onClick:()=>a0(null),children:q("settings.config.git.cancel")}),(0,b.jsx)(i.Button,{variant:"destructive",onClick:()=>a_&&bB(a_),children:q("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:q("settings.notifications.enable")}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground mt-0.5",children:q("settings.notifications.enableDesc")})]}),(0,b.jsx)(n.Switch,{checked:bh,onCheckedChange:bC})]})});case"backup":return(0,b.jsx)(ah,{});case"extensions":return(0,b.jsx)(ao,{})}}()]})}),(0,b.jsx)(V.FolderBrowserDialog,{open:null!==a1,onOpenChange:a=>{a||a2(null)},onSelect:a=>{"add"===a1?aU(b=>({...b,localPathTemplate:a})):"edit"===a1&&aQ(b=>({...b,localPathTemplate:a})),a2(null)}})]})}a.s(["default",0,function(){return(0,b.jsx)(av,{})}],520788)}];
2
2
 
3
3
  //# sourceMappingURL=src_app_settings_page_tsx_0h9v7dr._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[919647,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(704494),e=a.i(865011),f=a.i(951192),g=a.i(818692),h=a.i(780410);let i=(0,h.createServerReference)("40da655a507f460b5420a4d16054d6e3e30ef5622f",h.callServer,void 0,h.findSourceMapURL,"getProjectAssets");var j=a.i(347165),k=a.i(579834),l=a.i(350739),m=a.i(509405),n=a.i(975231),o=a.i(699570);function p(a){let b=a.match(/(?:^|\/)(?:storage|data)\/assets\/([^/]+)\/([^/]+)$/);return b?`/api/files/assets/${b[1]}/${b[2]}`:a}function q({asset:a,onPreview:c,onReveal:d,onDelete:e,onTaskClick:g}){var h;let{t:i}=(0,f.useI18n)(),k=p(a.path),r=a.mimeType?.startsWith("image/");return(0,b.jsxs)("div",{className:"flex items-center gap-4 rounded-lg border border-border bg-card px-4 py-3 transition-colors hover:bg-accent/20",children:[(0,b.jsx)(o.Button,{variant:"ghost",onClick:()=>c(a),className:"flex-shrink-0 cursor-pointer p-0 h-auto",children:r?(0,b.jsx)("img",{src:k,alt:a.filename,className:"h-12 w-12 rounded object-cover border border-border"}):(0,b.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded border border-border bg-muted",children:(0,b.jsx)(l.FileText,{className:"h-6 w-6 text-muted-foreground"})})}),(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)("p",{className:"truncate text-sm font-medium text-foreground",children:a.filename}),a.taskTitle&&a.taskId&&(0,b.jsx)(o.Button,{variant:"ghost",onClick:b=>{b.stopPropagation(),g?.(a.taskId)},className:"flex-shrink-0 bg-blue-500/10 text-blue-600 dark:text-blue-400 text-xs px-1.5 py-0.5 rounded cursor-pointer hover:bg-blue-500/20 transition-colors h-auto",children:a.taskTitle.length>20?`[任务: ${a.taskTitle.slice(0,20)}...]`:`[任务: ${a.taskTitle}]`})]}),a.description&&(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground truncate",children:a.description}),(0,b.jsxs)("div",{className:"mt-0.5 flex items-center gap-3 text-xs text-muted-foreground",children:[(0,b.jsx)("span",{children:null===(h=a.size)?"-":h<1024?`${h} B`:h<1048576?`${(h/1024).toFixed(1)} KB`:h<0x40000000?`${(h/1048576).toFixed(1)} MB`:`${(h/0x40000000).toFixed(1)} GB`}),(0,b.jsx)("span",{children:new Date(a.createdAt).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 flex-shrink-0",children:[(0,b.jsx)(o.Button,{variant:"ghost",size:"icon",onClick:()=>c(a),className:"text-muted-foreground","aria-label":i("assets.preview"),children:(0,b.jsx)(m.Eye,{className:"h-4 w-4"})}),(0,b.jsx)(o.Button,{variant:"ghost",size:"icon",onClick:()=>d(a),className:"text-muted-foreground","aria-label":i("assets.revealInFinder"),children:(0,b.jsx)(j.FolderOpen,{className:"h-4 w-4"})}),(0,b.jsx)(o.Button,{variant:"ghost",size:"icon",onClick:()=>e(a.id),className:"text-muted-foreground hover:text-rose-400","aria-label":i("assets.delete"),children:(0,b.jsx)(n.Trash2,{className:"h-4 w-4"})})]})]})}function r({assets:a,onPreview:c,onReveal:d,onDelete:e,onTaskClick:g}){let{t:h}=(0,f.useI18n)();return 0===a.length?(0,b.jsx)(k.EmptyState,{icon:j.FolderOpen,title:h("assets.empty"),description:h("assets.emptyHint")}):(0,b.jsx)("div",{className:"flex flex-col gap-3",children:a.map(a=>(0,b.jsx)(q,{asset:a,onPreview:c,onReveal:d,onDelete:e,onTaskClick:g},a.id))})}var s=a.i(324954),t=a.i(54384),u=a.i(676239),v=a.i(429246),w=a.i(580701);function x({allWorkspaces:a,initialWsId:d,initialProjectId:e,onUploaded:g}){let h,{t:i}=(0,f.useI18n)(),j=(0,c.useRef)(null),[k,l]=(0,c.useState)(!1),[m,n]=(0,c.useState)(!1),[p,q]=(0,c.useState)(null),[r,y]=(0,c.useState)(d),[z,A]=(0,c.useState)(e),[B,C]=(0,c.useState)(""),D=a.find(a=>a.id===r),E=D?.projects??[],F=()=>{l(!1),q(null),j.current&&(j.current.value="")},G=async()=>{if(p&&z){n(!0);try{let a=new FormData;a.append("file",p),a.append("projectId",z),a.append("description",B.trim()),await (0,u.uploadAsset)(a),g(z),F()}finally{n(!1)}}};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(o.Button,{onClick:()=>{y(d),A(e),q(null),C(""),l(!0)},className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:[(0,b.jsx)(s.Upload,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:i("assets.upload")})]}),k&&(0,b.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[(0,b.jsx)("div",{className:"absolute inset-0 bg-black/50",onClick:F}),(0,b.jsxs)("div",{className:"relative w-full max-w-md rounded-lg border border-border bg-card p-6 shadow-lg",children:[(0,b.jsx)(o.Button,{variant:"ghost",size:"icon-xs",onClick:F,className:"absolute right-3 top-3 text-muted-foreground",children:(0,b.jsx)(t.X,{className:"h-4 w-4"})}),(0,b.jsx)("h3",{className:"text-sm font-semibold text-foreground mb-4",children:i("assets.uploadTitle")}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground w-16 shrink-0",children:i("assets.workspace")}),(0,b.jsxs)(w.Select,{value:r,onValueChange:b=>{var c;let d;return y(c=b??""),d=a.find(a=>a.id===c),void A(d?.projects[0]?.id??null)},children:[(0,b.jsx)(w.SelectTrigger,{className:"flex-1 text-xs",children:(0,b.jsx)("span",{className:"truncate",children:D?.name??r})}),(0,b.jsx)(w.SelectContent,{children:a.map(a=>(0,b.jsx)(w.SelectItem,{value:a.id,children:a.name},a.id))})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground w-16 shrink-0",children:i("assets.project")}),E.length>0?(0,b.jsxs)(w.Select,{value:z??"",onValueChange:a=>A(a??""),children:[(0,b.jsx)(w.SelectTrigger,{className:"flex-1 text-xs",children:(0,b.jsx)("span",{className:"truncate",children:(h=E.find(a=>a.id===z))?h.alias?`${h.name} (${h.alias})`:h.name:z})}),(0,b.jsx)(w.SelectContent,{children:E.map(a=>{let c=a.alias?`${a.name} (${a.alias})`:a.name;return(0,b.jsx)(w.SelectItem,{value:a.id,children:c},a.id)})})]}):(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:i("assets.noProject")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground w-16 shrink-0",children:i("assets.file")}),(0,b.jsx)("input",{type:"file",ref:j,onChange:a=>{q(a.target.files?.[0]??null)},className:"hidden"}),(0,b.jsx)(o.Button,{variant:"outline",onClick:()=>{j.current?.click()},className:"flex-1 border-dashed bg-background px-3 py-2 text-xs text-muted-foreground hover:border-primary/50 hover:text-foreground transition-colors text-left justify-start",children:p?p.name:i("assets.selectFile")})]}),(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground w-16 shrink-0 pt-1.5",children:i("assets.description")}),(0,b.jsx)(v.Textarea,{value:B,onChange:a=>C(a.target.value),placeholder:i("assets.descriptionPlaceholder"),className:"flex-1 rounded-md border border-border bg-background px-3 py-2 text-xs text-foreground focus:outline-none focus:ring-1 focus:ring-ring resize-none h-20"})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 justify-end mt-6",children:[(0,b.jsx)(o.Button,{variant:"outline",onClick:F,children:i("notes.cancel")}),(0,b.jsx)(o.Button,{onClick:G,disabled:!p||!z||!B.trim()||m,className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:i(m?"assets.uploading":"assets.upload")})]})]})]})]})}var y=a.i(986099),z=a.i(912868),A=a.i(10390),B=a.i(91756);let C=(0,a.i(711796).default)("chevrons-right",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);var D=a.i(161664);function E({imageUrl:a,filename:d,open:e,onOpenChange:g,assets:h,currentIndex:i,onIndexChange:j}){let{t:k}=(0,f.useI18n)(),[l,m]=(0,c.useState)(1),[n,o]=(0,c.useState)({x:0,y:0}),[p,q]=(0,c.useState)(!1),r=(0,c.useRef)(null),[s,u]=(0,c.useState)(!1),v=!!h&&h.length>1&&"number"==typeof i&&!!j,w=v&&i>0,x=v&&i<h.length-1,G=v?h.length:0,H=G>0?Math.ceil(G/10):0,I=v?Math.floor(i/10):0,J=10*I,K=Math.min(J+10,G),L=H>1,M=v&&I>0,N=v&&I<H-1;(0,c.useEffect)(()=>{u(!0)},[]),(0,c.useEffect)(()=>{m(1),o({x:0,y:0})},[a]),(0,c.useEffect)(()=>{if(!e)return;let a=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=a}},[e]);let O=(0,c.useCallback)(()=>g(!1),[g]),P=(0,c.useCallback)(()=>{v&&w&&j(i-1)},[v,w,j,i]),Q=(0,c.useCallback)(()=>{v&&x&&j(i+1)},[v,x,j,i]),R=(0,c.useCallback)(()=>{v&&M&&j((I-1)*10)},[v,M,j,I]),S=(0,c.useCallback)(()=>{v&&N&&j(Math.min((I+1)*10,G-1))},[v,N,j,I,G]),T=(0,c.useCallback)(()=>{m(a=>Math.min(8,1.25*a))},[]),U=(0,c.useCallback)(()=>{m(a=>{let b=Math.max(.1,a/1.25);return b<=1&&o({x:0,y:0}),b})},[]),V=(0,c.useCallback)(()=>{m(1),o({x:0,y:0})},[]);(0,c.useEffect)(()=>{if(!e)return;let a=a=>{switch(a.key){case"Escape":a.preventDefault(),O();break;case"ArrowLeft":v&&(a.preventDefault(),P());break;case"ArrowRight":v&&(a.preventDefault(),Q());break;case"+":case"=":a.preventDefault(),T();break;case"-":case"_":a.preventDefault(),U();break;case"0":a.preventDefault(),V()}};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[e,v,O,P,Q,T,U,V]);let W=(0,c.useRef)(!1),X=()=>{p&&q(!1),r.current=null},Y=p?"cursor-grabbing":"cursor-grab";if(!e||!s)return null;let Z=(0,b.jsxs)("div",{className:"fixed inset-0 z-[100] bg-black/70 dark:bg-black/40 backdrop-blur-md",role:"dialog","aria-modal":"true","aria-label":k("assets.lightbox.zoomFit"),children:[(0,b.jsxs)("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 max-w-[80vw] truncate rounded-md bg-black/40 px-3 py-1 text-xs text-white/80 backdrop-blur-sm pointer-events-none",children:[d,v?` \xb7 ${i+1} / ${h.length}`:""]}),(0,b.jsx)("div",{className:`absolute inset-0 flex items-center justify-center overflow-hidden select-none ${Y}`,onClick:a=>{a.target===a.currentTarget&&O()},onWheel:a=>{a.preventDefault();let b=-a.deltaY>0?1.25:.8;m(a=>{let c=Math.min(8,Math.max(.1,a*b));return c<=1&&o({x:0,y:0}),c})},children:a&&(0,b.jsx)("img",{src:a,alt:d,onClick:a=>{a.stopPropagation(),W.current&&(W.current=!1)},onPointerDown:a=>{0===a.button&&(a.stopPropagation(),W.current=!1,a.target.setPointerCapture?.(a.pointerId),r.current={x:a.clientX,y:a.clientY,panX:n.x,panY:n.y},q(!0))},onPointerMove:a=>{if(!r.current)return;let b=a.clientX-r.current.x,c=a.clientY-r.current.y;Math.abs(b)+Math.abs(c)>5&&(W.current=!0),p&&o({x:r.current.panX+b,y:r.current.panY+c})},onPointerUp:X,onPointerLeave:X,onPointerCancel:X,className:"max-h-[88vh] max-w-[92vw] object-contain pointer-events-auto",style:{transform:`translate3d(${n.x}px, ${n.y}px, 0) scale(${l})`,transformOrigin:"center center",transition:p?"none":"transform 120ms ease-out",willChange:p?"transform":"auto"},draggable:!1})}),(0,b.jsxs)("div",{className:"absolute bottom-4 left-1/2 -translate-x-1/2 z-10 flex flex-col items-center gap-2 max-w-[92vw]",onClick:a=>a.stopPropagation(),children:[v&&(0,b.jsxs)("div",{className:"flex items-center gap-1 rounded-lg bg-black/50 px-1.5 py-1.5 backdrop-blur-md ring-1 ring-white/10 max-w-[92vw]",children:[L&&(0,b.jsx)(F,{onClick:R,title:`${k("assets.lightbox.prev")} (-10)`,"aria-label":`${k("assets.lightbox.prev")} (-10)`,disabled:!M,children:(0,b.jsx)(B.ChevronsLeft,{className:"h-4 w-4"})}),(0,b.jsx)(F,{onClick:P,title:k("assets.lightbox.prev"),"aria-label":k("assets.lightbox.prev"),disabled:!w,children:(0,b.jsx)(z.ChevronLeft,{className:"h-4 w-4"})}),(0,b.jsx)("div",{className:"flex items-center gap-1.5",children:h.slice(J,K).map((a,c)=>{let d=J+c,e=d===i;return(0,b.jsx)("button",{type:"button",onClick:a=>{a.stopPropagation(),e||j(d)},title:a.filename,className:`shrink-0 h-12 w-12 overflow-hidden rounded-md transition-all ${e?"ring-2 ring-white opacity-100 scale-105":"opacity-60 hover:opacity-100 ring-1 ring-white/20"}`,children:(0,b.jsx)("img",{src:a.url,alt:a.filename,className:"h-full w-full object-cover",loading:"lazy",draggable:!1})},a.url+d)})}),(0,b.jsx)(F,{onClick:Q,title:k("assets.lightbox.next"),"aria-label":k("assets.lightbox.next"),disabled:!x,children:(0,b.jsx)(A.ChevronRight,{className:"h-4 w-4"})}),L&&(0,b.jsx)(F,{onClick:S,title:`${k("assets.lightbox.next")} (+10)`,"aria-label":`${k("assets.lightbox.next")} (+10)`,disabled:!N,children:(0,b.jsx)(C,{className:"h-4 w-4"})})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 rounded-lg bg-black/50 px-2 py-1.5 backdrop-blur-md ring-1 ring-white/10",children:[(0,b.jsxs)("span",{className:"px-2 text-xs text-white/80 tabular-nums select-none min-w-12 text-center",children:[Math.round(100*l),"%"]}),(0,b.jsx)(F,{onClick:V,title:k("assets.lightbox.reset"),"aria-label":k("assets.lightbox.reset"),disabled:1===l&&0===n.x&&0===n.y,children:(0,b.jsx)(D.RotateCcw,{className:"h-4 w-4"})}),(0,b.jsx)("div",{className:"mx-1 h-5 w-px bg-white/20"}),(0,b.jsx)(F,{onClick:O,title:k("assets.lightbox.close"),"aria-label":k("assets.lightbox.close"),children:(0,b.jsx)(t.X,{className:"h-4 w-4"})})]})]})]});return(0,y.createPortal)(Z,document.body)}function F({children:a,onClick:c,title:d,disabled:e,...f}){return(0,b.jsx)("button",{type:"button",onClick:a=>{a.stopPropagation(),e||c()},title:d,disabled:e,className:"inline-flex h-8 w-8 items-center justify-center rounded-md text-white/80 hover:bg-white/15 hover:text-white disabled:opacity-30 disabled:hover:bg-transparent disabled:hover:text-white/80 transition-colors",...f,children:a})}a.i(757942);var G=a.i(950314),H=a.i(814574);function I({url:a,filename:e,open:g,onOpenChange:h}){let{t:i}=(0,f.useI18n)(),[j,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(null);(0,c.useEffect)(()=>{if(!g||!a){k(null),o(null);return}let b=!1;return m(!0),o(null),k(null),fetch(a).then(a=>{let b=a.headers.get("content-length");if(b&&parseInt(b,10)>1048576)throw Error("FILE_TOO_LARGE");return a.text()}).then(a=>{if(a.length>1048576)throw Error("FILE_TOO_LARGE");b||(k(a),m(!1))}).catch(a=>{b||(a instanceof Error&&"FILE_TOO_LARGE"===a.message?o(i("assets.fileTooLarge")):o(i("assets.previewError")),m(!1))}),()=>{b=!0}},[g,a,i]);let p=e.split(".").pop()?.toLowerCase();return(0,b.jsx)(H.Dialog,{open:g,onOpenChange:h,children:(0,b.jsxs)(H.DialogContent,{className:"w-[min(960px,92vw)] max-w-none sm:max-w-none h-[85vh] max-h-[85vh] flex flex-col p-0 gap-0",children:[(0,b.jsx)("h3",{className:"text-sm font-medium truncate px-5 py-3 border-b border-border/50",children:e}),(0,b.jsx)("div",{className:"flex-1 overflow-auto px-5 py-4",children:(()=>{if(l)return(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 gap-2",children:[(0,b.jsx)(d.Loader2,{className:"size-5 animate-spin text-muted-foreground"}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:i("assets.loadingPreview")})]});if(n)return(0,b.jsx)("p",{className:"text-sm text-destructive",children:n});if(null===j)return null;if("md"===p)return(0,b.jsx)("div",{className:"text-sm leading-relaxed",children:(0,b.jsx)(G.Streamdown,{children:j})});if("json"===p){let a;try{a=JSON.stringify(JSON.parse(j),null,2)}catch{a=j}return(0,b.jsx)("pre",{className:"font-mono text-xs whitespace-pre-wrap text-foreground",children:a})}return(0,b.jsx)("pre",{className:"font-mono text-sm whitespace-pre-wrap text-foreground",children:j})})()})]})})}var J=a.i(972420),K=a.i(952313);a.s(["AssetsPageClient",0,function({allWorkspaces:a,initialWorkspaceId:h,initialProjectId:j,initialAssets:k}){let l,{t:m}=(0,f.useI18n)(),[n,o]=(0,c.useTransition)(),[q,s]=(0,c.useState)(h),[t,u]=(0,c.useState)(j),[v,y]=(0,c.useState)(k),[z,A]=(0,c.useState)(null),B=a.find(a=>a.id===q),C=B?.projects??[],D=(0,c.useCallback)(a=>{a?o(async()=>{y(await i(a))}):y([])},[o]),[F,G]=(0,c.useState)(null),H=F?F.mimeType?.startsWith("image/")?"image":/\.(txt|md|json)$/i.test(F.filename)?"text":null:null,L=v.filter(a=>a.mimeType?.startsWith("image/")).map(a=>({id:a.id,url:p(a.path),filename:a.filename})),M=F?L.findIndex(a=>a.id===F.id):-1,N=async a=>{try{let b=await fetch("/api/internal/assets/reveal",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:a.path})});if(!b.ok){let a=await b.json().catch(()=>({}));K.toast.error(a.error||"Failed to reveal file")}}catch{K.toast.error("Failed to reveal file")}},O=async a=>{let b=v.find(b=>b.id===a);confirm(m("assets.deleteConfirm",{filename:b?.filename??a}))&&(await (0,g.deleteAsset)(a),D(t))};return(0,b.jsxs)("div",{className:"flex h-full flex-col overflow-hidden",children:[(0,b.jsx)(e.SubPageNav,{workspaceId:q}),(0,b.jsxs)("div",{className:"header-sm flex items-center gap-3 px-6 py-2",children:[(0,b.jsxs)(w.Select,{value:q,onValueChange:b=>b&&(b=>{if(b===q)return;s(b);let c=a.find(a=>a.id===b),d=c?.projects[0]??null;u(d?.id??null),D(d?.id??null)})(b),children:[(0,b.jsx)(w.SelectTrigger,{className:"h-8 w-auto min-w-[120px]",children:(0,b.jsx)("span",{className:"truncate",children:a.find(a=>a.id===q)?.name??q})}),(0,b.jsx)(w.SelectContent,{children:a.map(a=>(0,b.jsx)(w.SelectItem,{value:a.id,children:a.name},a.id))})]}),C.length>0&&(0,b.jsxs)(w.Select,{value:t??"",onValueChange:a=>a&&void(a!==t&&(u(a),D(a))),children:[(0,b.jsx)(w.SelectTrigger,{className:"h-8 w-auto min-w-[140px]",children:(0,b.jsx)("span",{className:"truncate",children:(l=C.find(a=>a.id===t))?l.alias?`${l.name} (${l.alias})`:l.name:""})}),(0,b.jsx)(w.SelectContent,{children:C.map(a=>(0,b.jsxs)(w.SelectItem,{value:a.id,children:[a.name,a.alias?` (${a.alias})`:""]},a.id))})]}),(0,b.jsx)("div",{className:"ml-auto",children:(0,b.jsx)(x,{allWorkspaces:a,initialWsId:q,initialProjectId:t,onUploaded:a=>{a===t&&D(t)}})})]}),(0,b.jsx)("div",{className:"flex-1 overflow-auto px-6 py-4",children:(0,b.jsxs)("div",{className:`relative ${n?"opacity-40 pointer-events-none":""} transition-opacity`,children:[n&&(0,b.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center",children:(0,b.jsx)(d.Loader2,{className:"size-5 animate-spin text-muted-foreground"})}),0===C.length?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center gap-2 py-16 text-center",children:[(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:m("assets.noProject")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:m("assets.noProjectHint")})]}):(0,b.jsx)(r,{assets:v.map(a=>({...a,taskId:a.task?.id??null,taskTitle:a.task?.title??null})),onPreview:a=>{let b=a.mimeType?.startsWith("image/"),c=/\.(txt|md|json)$/i.test(a.filename);(b||c)&&G(a)},onReveal:N,onDelete:O,onTaskClick:A})]})}),(0,b.jsx)(E,{imageUrl:"image"===H&&M>=0?L[M].url:null,filename:"image"===H&&M>=0?L[M].filename:"",open:"image"===H,onOpenChange:a=>{a||G(null)},assets:L.map(({url:a,filename:b})=>({url:a,filename:b})),currentIndex:M>=0?M:void 0,onIndexChange:a=>{let b=L[a];if(!b)return;let c=v.find(a=>a.id===b.id);c&&G({...c,taskId:c.task?.id??null,taskTitle:c.task?.title??null})}}),(0,b.jsx)(I,{url:"text"===H&&F?p(F.path):null,filename:F?.filename??"",open:"text"===H,onOpenChange:a=>{a||G(null)}}),(0,b.jsx)(J.TaskOverviewDrawer,{open:!!z,onOpenChange:a=>{a||A(null)},taskId:z})]})}],919647)}];
1
+ module.exports=[919647,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(704494),e=a.i(865011),f=a.i(951192),g=a.i(389993),h=a.i(780410);let i=(0,h.createServerReference)("409a8170a34961d341f2e7589f906d360dde704f51",h.callServer,void 0,h.findSourceMapURL,"getProjectAssets");var j=a.i(347165),k=a.i(579834),l=a.i(350739),m=a.i(509405),n=a.i(975231),o=a.i(699570);let p=new Set(["png","jpg","jpeg","gif","webp","svg","bmp","ico","avif","apng"]);function q(a,b){if(b?.startsWith("image/"))return!0;let c=a.split(".").pop()?.toLowerCase();return!!c&&p.has(c)}function r(a){let b=a.match(/(?:^|\/)(?:storage|data)\/assets\/([^/]+)\/([^/]+)$/);return b?`/api/files/assets/${b[1]}/${b[2]}`:a}function s({asset:a,onPreview:c,onReveal:d,onDelete:e,onTaskClick:g}){var h;let{t:i}=(0,f.useI18n)(),k=r(a.path),p=q(a.filename,a.mimeType);return(0,b.jsxs)("div",{className:"flex items-center gap-4 rounded-lg border border-border bg-card px-4 py-3 transition-colors hover:bg-accent/20",children:[(0,b.jsx)(o.Button,{variant:"ghost",onClick:()=>c(a),className:"flex-shrink-0 cursor-pointer p-0 h-auto",children:p?(0,b.jsx)("img",{src:k,alt:a.filename,className:"h-12 w-12 rounded object-cover border border-border"}):(0,b.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded border border-border bg-muted",children:(0,b.jsx)(l.FileText,{className:"h-6 w-6 text-muted-foreground"})})}),(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)("p",{className:"truncate text-sm font-medium text-foreground",children:a.filename}),a.taskTitle&&a.taskId&&(0,b.jsx)(o.Button,{variant:"ghost",onClick:b=>{b.stopPropagation(),g?.(a.taskId)},className:"flex-shrink-0 bg-blue-500/10 text-blue-600 dark:text-blue-400 text-xs px-1.5 py-0.5 rounded cursor-pointer hover:bg-blue-500/20 transition-colors h-auto",children:a.taskTitle.length>20?`[任务: ${a.taskTitle.slice(0,20)}...]`:`[任务: ${a.taskTitle}]`})]}),a.description&&(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground truncate",children:a.description}),(0,b.jsxs)("div",{className:"mt-0.5 flex items-center gap-3 text-xs text-muted-foreground",children:[(0,b.jsx)("span",{children:null===(h=a.size)?"-":h<1024?`${h} B`:h<1048576?`${(h/1024).toFixed(1)} KB`:h<0x40000000?`${(h/1048576).toFixed(1)} MB`:`${(h/0x40000000).toFixed(1)} GB`}),(0,b.jsx)("span",{children:new Date(a.createdAt).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 flex-shrink-0",children:[(0,b.jsx)(o.Button,{variant:"ghost",size:"icon",onClick:()=>c(a),className:"text-muted-foreground","aria-label":i("assets.preview"),children:(0,b.jsx)(m.Eye,{className:"h-4 w-4"})}),(0,b.jsx)(o.Button,{variant:"ghost",size:"icon",onClick:()=>d(a),className:"text-muted-foreground","aria-label":i("assets.revealInFinder"),children:(0,b.jsx)(j.FolderOpen,{className:"h-4 w-4"})}),(0,b.jsx)(o.Button,{variant:"ghost",size:"icon",onClick:()=>e(a.id),className:"text-muted-foreground hover:text-rose-400","aria-label":i("assets.delete"),children:(0,b.jsx)(n.Trash2,{className:"h-4 w-4"})})]})]})}function t({assets:a,onPreview:c,onReveal:d,onDelete:e,onTaskClick:g}){let{t:h}=(0,f.useI18n)();return 0===a.length?(0,b.jsx)(k.EmptyState,{icon:j.FolderOpen,title:h("assets.empty"),description:h("assets.emptyHint")}):(0,b.jsx)("div",{className:"flex flex-col gap-3",children:a.map(a=>(0,b.jsx)(s,{asset:a,onPreview:c,onReveal:d,onDelete:e,onTaskClick:g},a.id))})}var u=a.i(324954),v=a.i(54384),w=a.i(597282),x=a.i(429246),y=a.i(580701);function z({allWorkspaces:a,initialWsId:d,initialProjectId:e,onUploaded:g}){let h,{t:i}=(0,f.useI18n)(),j=(0,c.useRef)(null),[k,l]=(0,c.useState)(!1),[m,n]=(0,c.useState)(!1),[p,q]=(0,c.useState)(null),[r,s]=(0,c.useState)(d),[t,A]=(0,c.useState)(e),[B,C]=(0,c.useState)(""),D=a.find(a=>a.id===r),E=D?.projects??[],F=()=>{l(!1),q(null),j.current&&(j.current.value="")},G=async()=>{if(p&&t){n(!0);try{let a=new FormData;a.append("file",p),a.append("projectId",t),a.append("description",B.trim()),await (0,w.uploadAsset)(a),g(t),F()}finally{n(!1)}}};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(o.Button,{onClick:()=>{s(d),A(e),q(null),C(""),l(!0)},className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:[(0,b.jsx)(u.Upload,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:i("assets.upload")})]}),k&&(0,b.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[(0,b.jsx)("div",{className:"absolute inset-0 bg-black/50",onClick:F}),(0,b.jsxs)("div",{className:"relative w-full max-w-md rounded-lg border border-border bg-card p-6 shadow-lg",children:[(0,b.jsx)(o.Button,{variant:"ghost",size:"icon-xs",onClick:F,className:"absolute right-3 top-3 text-muted-foreground",children:(0,b.jsx)(v.X,{className:"h-4 w-4"})}),(0,b.jsx)("h3",{className:"text-sm font-semibold text-foreground mb-4",children:i("assets.uploadTitle")}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground w-16 shrink-0",children:i("assets.workspace")}),(0,b.jsxs)(y.Select,{value:r,onValueChange:b=>{var c;let d;return s(c=b??""),d=a.find(a=>a.id===c),void A(d?.projects[0]?.id??null)},children:[(0,b.jsx)(y.SelectTrigger,{className:"flex-1 text-xs",children:(0,b.jsx)("span",{className:"truncate",children:D?.name??r})}),(0,b.jsx)(y.SelectContent,{children:a.map(a=>(0,b.jsx)(y.SelectItem,{value:a.id,children:a.name},a.id))})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground w-16 shrink-0",children:i("assets.project")}),E.length>0?(0,b.jsxs)(y.Select,{value:t??"",onValueChange:a=>A(a??""),children:[(0,b.jsx)(y.SelectTrigger,{className:"flex-1 text-xs",children:(0,b.jsx)("span",{className:"truncate",children:(h=E.find(a=>a.id===t))?h.alias?`${h.name} (${h.alias})`:h.name:t})}),(0,b.jsx)(y.SelectContent,{children:E.map(a=>{let c=a.alias?`${a.name} (${a.alias})`:a.name;return(0,b.jsx)(y.SelectItem,{value:a.id,children:c},a.id)})})]}):(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:i("assets.noProject")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground w-16 shrink-0",children:i("assets.file")}),(0,b.jsx)("input",{type:"file",ref:j,onChange:a=>{q(a.target.files?.[0]??null)},className:"hidden"}),(0,b.jsx)(o.Button,{variant:"outline",onClick:()=>{j.current?.click()},className:"flex-1 border-dashed bg-background px-3 py-2 text-xs text-muted-foreground hover:border-primary/50 hover:text-foreground transition-colors text-left justify-start",children:p?p.name:i("assets.selectFile")})]}),(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground w-16 shrink-0 pt-1.5",children:i("assets.description")}),(0,b.jsx)(x.Textarea,{value:B,onChange:a=>C(a.target.value),placeholder:i("assets.descriptionPlaceholder"),className:"flex-1 rounded-md border border-border bg-background px-3 py-2 text-xs text-foreground focus:outline-none focus:ring-1 focus:ring-ring resize-none h-20"})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 justify-end mt-6",children:[(0,b.jsx)(o.Button,{variant:"outline",onClick:F,children:i("notes.cancel")}),(0,b.jsx)(o.Button,{onClick:G,disabled:!p||!t||!B.trim()||m,className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:i(m?"assets.uploading":"assets.upload")})]})]})]})]})}var A=a.i(986099),B=a.i(912868),C=a.i(10390),D=a.i(91756);let E=(0,a.i(711796).default)("chevrons-right",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);var F=a.i(161664);function G({imageUrl:a,filename:d,open:e,onOpenChange:g,assets:h,currentIndex:i,onIndexChange:j}){let{t:k}=(0,f.useI18n)(),[l,m]=(0,c.useState)(1),[n,o]=(0,c.useState)({x:0,y:0}),[p,q]=(0,c.useState)(!1),r=(0,c.useRef)(null),[s,t]=(0,c.useState)(!1),u=!!h&&h.length>1&&"number"==typeof i&&!!j,w=u&&i>0,x=u&&i<h.length-1,y=u?h.length:0,z=y>0?Math.ceil(y/10):0,I=u?Math.floor(i/10):0,J=10*I,K=Math.min(J+10,y),L=z>1,M=u&&I>0,N=u&&I<z-1;(0,c.useEffect)(()=>{t(!0)},[]),(0,c.useEffect)(()=>{m(1),o({x:0,y:0})},[a]),(0,c.useEffect)(()=>{if(!e)return;let a=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=a}},[e]);let O=(0,c.useCallback)(()=>g(!1),[g]),P=(0,c.useCallback)(()=>{u&&w&&j(i-1)},[u,w,j,i]),Q=(0,c.useCallback)(()=>{u&&x&&j(i+1)},[u,x,j,i]),R=(0,c.useCallback)(()=>{u&&M&&j((I-1)*10)},[u,M,j,I]),S=(0,c.useCallback)(()=>{u&&N&&j(Math.min((I+1)*10,y-1))},[u,N,j,I,y]),T=(0,c.useCallback)(()=>{m(a=>Math.min(8,1.25*a))},[]),U=(0,c.useCallback)(()=>{m(a=>{let b=Math.max(.1,a/1.25);return b<=1&&o({x:0,y:0}),b})},[]),V=(0,c.useCallback)(()=>{m(1),o({x:0,y:0})},[]);(0,c.useEffect)(()=>{if(!e)return;let a=a=>{switch(a.key){case"Escape":a.preventDefault(),O();break;case"ArrowLeft":u&&(a.preventDefault(),P());break;case"ArrowRight":u&&(a.preventDefault(),Q());break;case"+":case"=":a.preventDefault(),T();break;case"-":case"_":a.preventDefault(),U();break;case"0":a.preventDefault(),V()}};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[e,u,O,P,Q,T,U,V]);let W=(0,c.useRef)(!1),X=()=>{p&&q(!1),r.current=null},Y=p?"cursor-grabbing":"cursor-grab";if(!e||!s)return null;let Z=(0,b.jsxs)("div",{className:"fixed inset-0 z-[100] bg-black/70 dark:bg-black/40 backdrop-blur-md",role:"dialog","aria-modal":"true","aria-label":k("assets.lightbox.zoomFit"),children:[(0,b.jsxs)("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 max-w-[80vw] truncate rounded-md bg-black/40 px-3 py-1 text-xs text-white/80 backdrop-blur-sm pointer-events-none",children:[d,u?` \xb7 ${i+1} / ${h.length}`:""]}),(0,b.jsx)("div",{className:`absolute inset-0 flex items-center justify-center overflow-hidden select-none ${Y}`,onClick:a=>{a.target===a.currentTarget&&O()},onWheel:a=>{a.preventDefault();let b=-a.deltaY>0?1.25:.8;m(a=>{let c=Math.min(8,Math.max(.1,a*b));return c<=1&&o({x:0,y:0}),c})},children:a&&(0,b.jsx)("img",{src:a,alt:d,onClick:a=>{a.stopPropagation(),W.current&&(W.current=!1)},onPointerDown:a=>{0===a.button&&(a.stopPropagation(),W.current=!1,a.target.setPointerCapture?.(a.pointerId),r.current={x:a.clientX,y:a.clientY,panX:n.x,panY:n.y},q(!0))},onPointerMove:a=>{if(!r.current)return;let b=a.clientX-r.current.x,c=a.clientY-r.current.y;Math.abs(b)+Math.abs(c)>5&&(W.current=!0),p&&o({x:r.current.panX+b,y:r.current.panY+c})},onPointerUp:X,onPointerLeave:X,onPointerCancel:X,className:"max-h-[88vh] max-w-[92vw] object-contain pointer-events-auto",style:{transform:`translate3d(${n.x}px, ${n.y}px, 0) scale(${l})`,transformOrigin:"center center",transition:p?"none":"transform 120ms ease-out",willChange:p?"transform":"auto"},draggable:!1})}),(0,b.jsxs)("div",{className:"absolute bottom-4 left-1/2 -translate-x-1/2 z-10 flex flex-col items-center gap-2 max-w-[92vw]",onClick:a=>a.stopPropagation(),children:[u&&(0,b.jsxs)("div",{className:"flex items-center gap-1 rounded-lg bg-black/50 px-1.5 py-1.5 backdrop-blur-md ring-1 ring-white/10 max-w-[92vw]",children:[L&&(0,b.jsx)(H,{onClick:R,title:`${k("assets.lightbox.prev")} (-10)`,"aria-label":`${k("assets.lightbox.prev")} (-10)`,disabled:!M,children:(0,b.jsx)(D.ChevronsLeft,{className:"h-4 w-4"})}),(0,b.jsx)(H,{onClick:P,title:k("assets.lightbox.prev"),"aria-label":k("assets.lightbox.prev"),disabled:!w,children:(0,b.jsx)(B.ChevronLeft,{className:"h-4 w-4"})}),(0,b.jsx)("div",{className:"flex items-center gap-1.5",children:h.slice(J,K).map((a,c)=>{let d=J+c,e=d===i;return(0,b.jsx)("button",{type:"button",onClick:a=>{a.stopPropagation(),e||j(d)},title:a.filename,className:`shrink-0 h-12 w-12 overflow-hidden rounded-md transition-all ${e?"ring-2 ring-white opacity-100 scale-105":"opacity-60 hover:opacity-100 ring-1 ring-white/20"}`,children:(0,b.jsx)("img",{src:a.url,alt:a.filename,className:"h-full w-full object-cover",loading:"lazy",draggable:!1})},a.url+d)})}),(0,b.jsx)(H,{onClick:Q,title:k("assets.lightbox.next"),"aria-label":k("assets.lightbox.next"),disabled:!x,children:(0,b.jsx)(C.ChevronRight,{className:"h-4 w-4"})}),L&&(0,b.jsx)(H,{onClick:S,title:`${k("assets.lightbox.next")} (+10)`,"aria-label":`${k("assets.lightbox.next")} (+10)`,disabled:!N,children:(0,b.jsx)(E,{className:"h-4 w-4"})})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 rounded-lg bg-black/50 px-2 py-1.5 backdrop-blur-md ring-1 ring-white/10",children:[(0,b.jsxs)("span",{className:"px-2 text-xs text-white/80 tabular-nums select-none min-w-12 text-center",children:[Math.round(100*l),"%"]}),(0,b.jsx)(H,{onClick:V,title:k("assets.lightbox.reset"),"aria-label":k("assets.lightbox.reset"),disabled:1===l&&0===n.x&&0===n.y,children:(0,b.jsx)(F.RotateCcw,{className:"h-4 w-4"})}),(0,b.jsx)("div",{className:"mx-1 h-5 w-px bg-white/20"}),(0,b.jsx)(H,{onClick:O,title:k("assets.lightbox.close"),"aria-label":k("assets.lightbox.close"),children:(0,b.jsx)(v.X,{className:"h-4 w-4"})})]})]})]});return(0,A.createPortal)(Z,document.body)}function H({children:a,onClick:c,title:d,disabled:e,...f}){return(0,b.jsx)("button",{type:"button",onClick:a=>{a.stopPropagation(),e||c()},title:d,disabled:e,className:"inline-flex h-8 w-8 items-center justify-center rounded-md text-white/80 hover:bg-white/15 hover:text-white disabled:opacity-30 disabled:hover:bg-transparent disabled:hover:text-white/80 transition-colors",...f,children:a})}a.i(757942);var I=a.i(950314),J=a.i(814574);function K({url:a,filename:e,open:g,onOpenChange:h}){let{t:i}=(0,f.useI18n)(),[j,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(null);(0,c.useEffect)(()=>{if(!g||!a){k(null),o(null);return}let b=!1;return m(!0),o(null),k(null),fetch(a).then(a=>{let b=a.headers.get("content-length");if(b&&parseInt(b,10)>1048576)throw Error("FILE_TOO_LARGE");return a.text()}).then(a=>{if(a.length>1048576)throw Error("FILE_TOO_LARGE");b||(k(a),m(!1))}).catch(a=>{b||(a instanceof Error&&"FILE_TOO_LARGE"===a.message?o(i("assets.fileTooLarge")):o(i("assets.previewError")),m(!1))}),()=>{b=!0}},[g,a,i]);let p=e.split(".").pop()?.toLowerCase();return(0,b.jsx)(J.Dialog,{open:g,onOpenChange:h,children:(0,b.jsxs)(J.DialogContent,{className:"w-[min(960px,92vw)] max-w-none sm:max-w-none h-[85vh] max-h-[85vh] flex flex-col p-0 gap-0",children:[(0,b.jsx)("h3",{className:"text-sm font-medium truncate px-5 py-3 border-b border-border/50",children:e}),(0,b.jsx)("div",{className:"flex-1 overflow-auto px-5 py-4",children:(()=>{if(l)return(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 gap-2",children:[(0,b.jsx)(d.Loader2,{className:"size-5 animate-spin text-muted-foreground"}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:i("assets.loadingPreview")})]});if(n)return(0,b.jsx)("p",{className:"text-sm text-destructive",children:n});if(null===j)return null;if("md"===p)return(0,b.jsx)("div",{className:"text-sm leading-relaxed",children:(0,b.jsx)(I.Streamdown,{children:j})});if("json"===p){let a;try{a=JSON.stringify(JSON.parse(j),null,2)}catch{a=j}return(0,b.jsx)("pre",{className:"font-mono text-xs whitespace-pre-wrap text-foreground",children:a})}return(0,b.jsx)("pre",{className:"font-mono text-sm whitespace-pre-wrap text-foreground",children:j})})()})]})})}var L=a.i(972420),M=a.i(952313);a.s(["AssetsPageClient",0,function({allWorkspaces:a,initialWorkspaceId:h,initialProjectId:j,initialAssets:k}){let l,{t:m}=(0,f.useI18n)(),[n,o]=(0,c.useTransition)(),[p,s]=(0,c.useState)(h),[u,v]=(0,c.useState)(j),[w,x]=(0,c.useState)(k),[A,B]=(0,c.useState)(null),C=a.find(a=>a.id===p),D=C?.projects??[],E=(0,c.useCallback)(a=>{a?o(async()=>{x(await i(a))}):x([])},[o]),[F,H]=(0,c.useState)(null),I=F?q(F.filename,F.mimeType)?"image":/\.(txt|md|json)$/i.test(F.filename)?"text":null:null,J=w.filter(a=>q(a.filename,a.mimeType)).map(a=>({id:a.id,url:r(a.path),filename:a.filename})),N=F?J.findIndex(a=>a.id===F.id):-1,O=async a=>{try{let b=await fetch("/api/internal/assets/reveal",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:a.path})});if(!b.ok){let a=await b.json().catch(()=>({}));M.toast.error(a.error||"Failed to reveal file")}}catch{M.toast.error("Failed to reveal file")}},P=async a=>{let b=w.find(b=>b.id===a);confirm(m("assets.deleteConfirm",{filename:b?.filename??a}))&&(await (0,g.deleteAsset)(a),E(u))};return(0,b.jsxs)("div",{className:"flex h-full flex-col overflow-hidden",children:[(0,b.jsx)(e.SubPageNav,{workspaceId:p}),(0,b.jsxs)("div",{className:"header-sm flex items-center gap-3 px-6 py-2",children:[(0,b.jsxs)(y.Select,{value:p,onValueChange:b=>b&&(b=>{if(b===p)return;s(b);let c=a.find(a=>a.id===b),d=c?.projects[0]??null;v(d?.id??null),E(d?.id??null)})(b),children:[(0,b.jsx)(y.SelectTrigger,{className:"h-8 w-auto min-w-[120px]",children:(0,b.jsx)("span",{className:"truncate",children:a.find(a=>a.id===p)?.name??p})}),(0,b.jsx)(y.SelectContent,{children:a.map(a=>(0,b.jsx)(y.SelectItem,{value:a.id,children:a.name},a.id))})]}),D.length>0&&(0,b.jsxs)(y.Select,{value:u??"",onValueChange:a=>a&&void(a!==u&&(v(a),E(a))),children:[(0,b.jsx)(y.SelectTrigger,{className:"h-8 w-auto min-w-[140px]",children:(0,b.jsx)("span",{className:"truncate",children:(l=D.find(a=>a.id===u))?l.alias?`${l.name} (${l.alias})`:l.name:""})}),(0,b.jsx)(y.SelectContent,{children:D.map(a=>(0,b.jsxs)(y.SelectItem,{value:a.id,children:[a.name,a.alias?` (${a.alias})`:""]},a.id))})]}),(0,b.jsx)("div",{className:"ml-auto",children:(0,b.jsx)(z,{allWorkspaces:a,initialWsId:p,initialProjectId:u,onUploaded:a=>{a===u&&E(u)}})})]}),(0,b.jsx)("div",{className:"flex-1 overflow-auto px-6 py-4",children:(0,b.jsxs)("div",{className:`relative ${n?"opacity-40 pointer-events-none":""} transition-opacity`,children:[n&&(0,b.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center",children:(0,b.jsx)(d.Loader2,{className:"size-5 animate-spin text-muted-foreground"})}),0===D.length?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center gap-2 py-16 text-center",children:[(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:m("assets.noProject")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:m("assets.noProjectHint")})]}):(0,b.jsx)(t,{assets:w.map(a=>({...a,taskId:a.task?.id??null,taskTitle:a.task?.title??null})),onPreview:a=>{let b=q(a.filename,a.mimeType),c=/\.(txt|md|json)$/i.test(a.filename);(b||c)&&H(a)},onReveal:O,onDelete:P,onTaskClick:B})]})}),(0,b.jsx)(G,{imageUrl:"image"===I&&N>=0?J[N].url:null,filename:"image"===I&&N>=0?J[N].filename:"",open:"image"===I,onOpenChange:a=>{a||H(null)},assets:J.map(({url:a,filename:b})=>({url:a,filename:b})),currentIndex:N>=0?N:void 0,onIndexChange:a=>{let b=J[a];if(!b)return;let c=w.find(a=>a.id===b.id);c&&H({...c,taskId:c.task?.id??null,taskTitle:c.task?.title??null})}}),(0,b.jsx)(K,{url:"text"===I&&F?r(F.path):null,filename:F?.filename??"",open:"text"===I,onOpenChange:a=>{a||H(null)}}),(0,b.jsx)(L.TaskOverviewDrawer,{open:!!A,onOpenChange:a=>{a||B(null)},taskId:A})]})}],919647)}];
2
2
 
3
3
  //# sourceMappingURL=src_app_workspaces_%5BworkspaceId%5D_assets_assets-page-client_tsx_0wyzpam._.js.map