tower-studio 0.2.45 → 0.2.47

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 (495) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +1 -0
  3. package/.next/standalone/.next/build-manifest.json +3 -3
  4. package/.next/standalone/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/.next/routes-manifest.json +8 -0
  6. package/.next/standalone/.next/server/app/_global-error/page.js +1 -1
  7. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/standalone/.next/server/app/_not-found/page/react-loadable-manifest.json +3 -3
  17. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +149 -89
  18. package/.next/standalone/.next/server/app/_not-found/page.js +8 -8
  19. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/api/adapters/test/route.js +2 -2
  22. package/.next/standalone/.next/server/app/api/adapters/test/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/browse-fs/route.js +1 -1
  24. package/.next/standalone/.next/server/app/api/browse-fs/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/files/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/api/git/route.js +1 -1
  27. package/.next/standalone/.next/server/app/api/git/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/internal/assets/reveal/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js +2 -4
  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 +2 -2
  33. package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/internal/assistant/route.js +5 -4
  35. package/.next/standalone/.next/server/app/api/internal/assistant/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/internal/assistant/sessions/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/internal/backup/import/route.js +3 -5
  38. package/.next/standalone/.next/server/app/api/internal/backup/import/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/internal/cache/[...segments]/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/api/internal/harness/ask/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/internal/harness/notify/route.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/api/internal/harness/pending/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/internal/harness/reply/route.js +4 -4
  44. package/.next/standalone/.next/server/app/api/internal/harness/reply/route.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/api/internal/hooks/install/route.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/api/internal/hooks/session/route.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/api/internal/hooks/stop/route.js +1 -1
  48. package/.next/standalone/.next/server/app/api/internal/hooks/stop/route.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/api/internal/hooks/upload/route.js +1 -1
  50. package/.next/standalone/.next/server/app/api/internal/hooks/upload/route.js.nft.json +1 -1
  51. package/.next/standalone/.next/server/app/api/internal/monaco/[...path]/route.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js +1 -1
  53. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js.nft.json +1 -1
  54. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/input/route.js +1 -1
  55. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/input/route.js.nft.json +1 -1
  56. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/paste-image/route.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/resume/route.js +4 -4
  58. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/resume/route.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js +4 -4
  60. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js.nft.json +1 -1
  61. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/stop/route.js +4 -4
  62. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/stop/route.js.nft.json +1 -1
  63. package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff/route.js +1 -1
  64. package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff/route.js.nft.json +1 -1
  65. package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff-patch/route.js +1 -1
  66. package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff-patch/route.js.nft.json +1 -1
  67. package/.next/standalone/.next/server/app/api/tasks/[taskId]/merge/route.js +5 -3
  68. package/.next/standalone/.next/server/app/api/tasks/[taskId]/merge/route.js.nft.json +1 -1
  69. package/.next/standalone/.next/server/app/harness/page/react-loadable-manifest.json +3 -3
  70. package/.next/standalone/.next/server/app/harness/page/server-reference-manifest.json +172 -112
  71. package/.next/standalone/.next/server/app/harness/page.js +8 -8
  72. package/.next/standalone/.next/server/app/harness/page.js.nft.json +1 -1
  73. package/.next/standalone/.next/server/app/harness/page_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/missions/page/react-loadable-manifest.json +3 -2
  75. package/.next/standalone/.next/server/app/missions/page/server-reference-manifest.json +254 -158
  76. package/.next/standalone/.next/server/app/missions/page.js +10 -9
  77. package/.next/standalone/.next/server/app/missions/page.js.nft.json +1 -1
  78. package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/onboarding/page/react-loadable-manifest.json +3 -3
  80. package/.next/standalone/.next/server/app/onboarding/page/server-reference-manifest.json +149 -89
  81. package/.next/standalone/.next/server/app/onboarding/page.js +8 -8
  82. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  83. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/page/react-loadable-manifest.json +3 -3
  85. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +149 -89
  86. package/.next/standalone/.next/server/app/page.js +8 -8
  87. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  88. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app/settings/page/react-loadable-manifest.json +3 -3
  90. package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +245 -149
  91. package/.next/standalone/.next/server/app/settings/page.js +10 -11
  92. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  93. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +3 -3
  95. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +286 -238
  96. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js +9 -9
  97. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
  98. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +3 -3
  100. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +251 -203
  101. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js +9 -9
  102. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
  103. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page/app-paths-manifest.json +3 -0
  105. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page/build-manifest.json +18 -0
  106. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page/next-font-manifest.json +11 -0
  107. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page/react-loadable-manifest.json +18 -0
  108. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page/server-reference-manifest.json +413 -0
  109. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page.js +25 -0
  110. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page.js.nft.json +1 -0
  111. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page_client-reference-manifest.js +3 -0
  112. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +3 -3
  113. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +228 -180
  114. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js +9 -9
  115. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
  116. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +3 -3
  118. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +266 -218
  119. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js +10 -11
  120. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
  121. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +3 -3
  123. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +149 -89
  124. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js +9 -9
  125. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/react-loadable-manifest.json +3 -3
  128. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/server-reference-manifest.json +226 -178
  129. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js +9 -9
  130. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js.nft.json +1 -1
  131. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page_client-reference-manifest.js +1 -1
  132. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +4 -4
  133. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +293 -233
  134. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js +11 -12
  135. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
  136. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/workspaces/page/react-loadable-manifest.json +3 -3
  138. package/.next/standalone/.next/server/app/workspaces/page/server-reference-manifest.json +177 -129
  139. package/.next/standalone/.next/server/app/workspaces/page.js +8 -8
  140. package/.next/standalone/.next/server/app/workspaces/page.js.nft.json +1 -1
  141. package/.next/standalone/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app-paths-manifest.json +1 -0
  143. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_09ikw5j.js +5 -0
  144. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0eh8dj_.js +9 -5
  145. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0gr2wxq.js +1 -1
  146. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-1~xqo._.js +3 -0
  147. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0.3n3t.._.js +3 -0
  148. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0.wsvr6._.js +4 -0
  149. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0y3adwk._.js → [root-of-the-server]__0.yf1mx._.js} +2 -2
  150. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0o6i1wy._.js → [root-of-the-server]__00xe-t8._.js} +2 -2
  151. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0vh3112._.js → [root-of-the-server]__02yvm55._.js} +2 -2
  152. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__09arklv._.js → [root-of-the-server]__04-ty51._.js} +2 -2
  153. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0v98a~t._.js → [root-of-the-server]__065hi6e._.js} +2 -2
  154. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0k9rz_z._.js → [root-of-the-server]__06iuq17._.js} +2 -2
  155. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06x1zwj._.js +1 -1
  156. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06~wmlx._.js +3 -0
  157. package/.next/standalone/.next/server/chunks/[root-of-the-server]__092475e._.js +3 -0
  158. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0atap--._.js +3 -0
  159. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0c3je91._.js +3 -0
  160. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0dz.knv._.js +3 -0
  161. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ehwsa1._.js +4 -0
  162. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0esywxf._.js +3 -0
  163. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0fd9z.r._.js +30 -0
  164. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0gcg7i.._.js +3 -0
  165. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0iyp~.k._.js +2 -2
  166. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__07xsu6m._.js → [root-of-the-server]__0j7565a._.js} +2 -2
  167. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kkrbn-._.js +4 -0
  168. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0m8t3vi._.js +3 -0
  169. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0nv83.p._.js +4 -0
  170. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0squ613._.js +3 -0
  171. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0u8tl88._.js +2 -2
  172. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wugb-9._.js +3 -0
  173. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0yeg1kp._.js +4 -0
  174. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0zchqv1._.js +43 -0
  175. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0_~s0z4._.js → [root-of-the-server]__0zcy11y._.js} +2 -2
  176. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~1-i5h._.js +3 -0
  177. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~ju4-d._.js +1 -1
  178. package/.next/standalone/.next/server/chunks/[root-of-the-server]__10qclz-._.js +3 -0
  179. package/.next/standalone/.next/server/chunks/_02hac5p._.js +25 -2
  180. package/.next/standalone/.next/server/chunks/_0_w835g._.js +4 -0
  181. package/.next/standalone/.next/server/chunks/_0je3dz2._.js +25 -2
  182. package/.next/standalone/.next/server/chunks/_0tidm8l._.js +25 -2
  183. package/.next/standalone/.next/server/chunks/_0zok2an._.js +25 -2
  184. package/.next/standalone/.next/server/chunks/src_05balzk._.js +1 -1
  185. package/.next/standalone/.next/server/chunks/src_0aygchu._.js +1 -1
  186. package/.next/standalone/.next/server/chunks/src_0gif-f5._.js +1 -1
  187. package/.next/standalone/.next/server/chunks/src_0pg9w-x._.js +3 -0
  188. package/.next/standalone/.next/server/chunks/src_0vp6.co._.js +1 -1
  189. package/.next/standalone/.next/server/chunks/src_11k6i~l._.js +1 -1
  190. package/.next/standalone/.next/server/chunks/src_actions_agent-actions_ts_10q9r5b._.js +3 -3
  191. package/.next/standalone/.next/server/chunks/src_lib_0d~1~wz._.js +1 -1
  192. package/.next/standalone/.next/server/chunks/src_lib_0ylel_1._.js +1 -1
  193. package/.next/standalone/.next/server/chunks/src_lib_ai_0xx6y51._.js +1 -1
  194. package/.next/standalone/.next/server/chunks/src_lib_ai_providers_index_ts_0.y.3vp._.js +1 -1
  195. package/.next/standalone/.next/server/chunks/src_lib_config-defaults_ts_10ayktg._.js +1 -1
  196. package/.next/standalone/.next/server/chunks/ssr/0iu._[workspaceId]_projects_[projectId]_versions_version-timeline-client_tsx_07o_kyi._.js +1 -1
  197. package/.next/standalone/.next/server/chunks/ssr/0se9_next_dist_0i5qmqd._.js +1 -1
  198. package/.next/standalone/.next/server/chunks/ssr/0se9_next_dist_esm_build_templates_app-page_04~dhws.js +4 -0
  199. package/.next/standalone/.next/server/chunks/ssr/{0ws9_lucide-react_dist_esm_icons_0r~ty--._.js → 0ws9_lucide-react_dist_esm_icons_0gv_cwy._.js} +2 -2
  200. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__00qdvw7._.js +3 -0
  201. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01bz3_g._.js +3 -0
  202. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__051tpij._.js → [root-of-the-server]__0282989._.js} +1 -1
  203. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0dfqa5a._.js → [root-of-the-server]__03jikql._.js} +1 -1
  204. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0ixgha6._.js → [root-of-the-server]__04dod9d._.js} +1 -1
  205. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__05tx27l._.js +3 -0
  206. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0fl0l82._.js → [root-of-the-server]__07ha-7q._.js} +1 -1
  207. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__07~giyb._.js +3 -0
  208. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0872sqe._.js +4 -0
  209. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__090y_.y._.js +3 -0
  210. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__096w7g2._.js → [root-of-the-server]__09qoc8v._.js} +3 -3
  211. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0b.ej5q._.js +1 -1
  212. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0dmjt7o._.js → [root-of-the-server]__0bl842b._.js} +1 -1
  213. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0lau3k_._.js → [root-of-the-server]__0c81jqz._.js} +3 -3
  214. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0dh0alq._.js +3 -0
  215. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e79g0v._.js +3 -0
  216. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0t_zq~v._.js → [root-of-the-server]__0fy8mj6._.js} +1 -1
  217. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0g2wrd2._.js → [root-of-the-server]__0gsk~9d._.js} +1 -1
  218. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h4ltpn._.js +5 -0
  219. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0hx2p17._.js +3 -0
  220. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0iaw1ms._.js +3 -0
  221. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ie8~g5._.js +3 -0
  222. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0~s8otw._.js → [root-of-the-server]__0j1w7ro._.js} +1 -1
  223. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0i0k_zi._.js → [root-of-the-server]__0jxfeb6._.js} +1 -1
  224. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0jymb~t._.js +1 -1
  225. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0l0~scn._.js +1 -1
  226. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0tb.1li._.js → [root-of-the-server]__0mi.v4q._.js} +3 -3
  227. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0vi-5xg._.js → [root-of-the-server]__0nell0t._.js} +3 -3
  228. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0odoa97._.js +30 -0
  229. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0o9jkew._.js → [root-of-the-server]__0q8o5us._.js} +2 -2
  230. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0dv.-zu._.js → [root-of-the-server]__0qjjy1r._.js} +1 -1
  231. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0rg73f.._.js +3 -0
  232. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0s~4y3y._.js +1 -1
  233. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0s~ak20._.js +3 -0
  234. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0t3q30a._.js +3 -0
  235. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0tpho3f._.js +3 -0
  236. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__08etd~v._.js → [root-of-the-server]__0tusyj0._.js} +1 -1
  237. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__06s-_gx._.js → [root-of-the-server]__0x6eyvj._.js} +1 -1
  238. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0xftcya._.js +3 -0
  239. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0xiiocg._.js +30 -0
  240. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0xnuz05._.js +5 -0
  241. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0znl9us._.js +3 -0
  242. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0zsnp~d._.js +5 -0
  243. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0~fdua7._.js +3 -0
  244. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11fp64w._.js +1 -1
  245. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1290yo~._.js +3 -0
  246. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12s3kky._.js +3 -0
  247. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0ydiu_y._.js → [root-of-the-server]__136sh9u._.js} +1 -1
  248. package/.next/standalone/.next/server/chunks/ssr/{_0dye20y._.js → _0-wp_zu._.js} +2 -2
  249. package/.next/standalone/.next/server/chunks/ssr/_0-~9em3._.js +1 -1
  250. package/.next/standalone/.next/server/chunks/ssr/_0.-.0zk._.js +3 -0
  251. package/.next/standalone/.next/server/chunks/ssr/_0..h3hk._.js +1 -1
  252. package/.next/standalone/.next/server/chunks/ssr/{_09rq08e._.js → _0111pr2._.js} +1 -1
  253. package/.next/standalone/.next/server/chunks/ssr/{_0~6pqk.._.js → _029yl-g._.js} +1 -1
  254. package/.next/standalone/.next/server/chunks/ssr/_02mcoex._.js +3 -0
  255. package/.next/standalone/.next/server/chunks/ssr/_02p-udo._.js +3 -0
  256. package/.next/standalone/.next/server/chunks/ssr/_02t7f2_._.js +3 -0
  257. package/.next/standalone/.next/server/chunks/ssr/_04brhyt._.js +3 -0
  258. package/.next/standalone/.next/server/chunks/ssr/_08b3kyv._.js +43 -0
  259. package/.next/standalone/.next/server/chunks/ssr/_0a___34._.js +3 -0
  260. package/.next/standalone/.next/server/chunks/ssr/{_0ljrvyt._.js → _0b4v~ls._.js} +2 -2
  261. package/.next/standalone/.next/server/chunks/ssr/_0bdyusg._.js +6 -0
  262. package/.next/standalone/.next/server/chunks/ssr/_0c8-9m9._.js +3 -0
  263. package/.next/standalone/.next/server/chunks/ssr/{_0xnn~jq._.js → _0gcox_6._.js} +1 -1
  264. package/.next/standalone/.next/server/chunks/ssr/{_01fdzzv._.js → _0gte_c4._.js} +1 -1
  265. package/.next/standalone/.next/server/chunks/ssr/_0hyn4md._.js +3 -0
  266. package/.next/standalone/.next/server/chunks/ssr/{_13_b8hh._.js → _0lqjtwo._.js} +1 -1
  267. package/.next/standalone/.next/server/chunks/ssr/_0noar.v._.js +3 -0
  268. package/.next/standalone/.next/server/chunks/ssr/_0os43sb._.js +1 -1
  269. package/.next/standalone/.next/server/chunks/ssr/_0rilhs1._.js +3 -0
  270. package/.next/standalone/.next/server/chunks/ssr/{_078cdw~._.js → _0sbkase._.js} +3 -3
  271. package/.next/standalone/.next/server/chunks/ssr/{_08bq4g8._.js → _0t-0.1o._.js} +2 -2
  272. package/.next/standalone/.next/server/chunks/ssr/_0wbcp88._.js +1 -1
  273. package/.next/standalone/.next/server/chunks/ssr/_0w~~xn0._.js +3 -0
  274. package/.next/standalone/.next/server/chunks/ssr/{_12la163._.js → _0xexuoi._.js} +2 -2
  275. package/.next/standalone/.next/server/chunks/ssr/_0xu906p._.js +4 -0
  276. package/.next/standalone/.next/server/chunks/ssr/_0z-z415._.js +3 -0
  277. package/.next/standalone/.next/server/chunks/ssr/_0z5~opf._.js +3 -0
  278. package/.next/standalone/.next/server/chunks/ssr/_0zx1ubq._.js +3 -0
  279. package/.next/standalone/.next/server/chunks/ssr/_0~2k74h._.js +43 -0
  280. package/.next/standalone/.next/server/chunks/ssr/_0~rpgs_._.js +3 -0
  281. package/.next/standalone/.next/server/chunks/ssr/_10a_vqn._.js +3 -0
  282. package/.next/standalone/.next/server/chunks/ssr/{_0h0b46r._.js → _10or.ne._.js} +1 -1
  283. package/.next/standalone/.next/server/chunks/ssr/{_09z-55_._.js → _10q2mbe._.js} +2 -2
  284. package/.next/standalone/.next/server/chunks/ssr/_11.knhq._.js +3 -0
  285. package/.next/standalone/.next/server/chunks/ssr/{_0ytcm0j._.js → _124j7aj._.js} +1 -1
  286. package/.next/standalone/.next/server/chunks/ssr/_13yv8at._.js +3 -0
  287. package/.next/standalone/.next/server/chunks/ssr/src_11j0qlp._.js +3 -0
  288. package/.next/standalone/.next/server/chunks/ssr/src_actions_07_wts6._.js +47 -0
  289. package/.next/standalone/.next/server/chunks/ssr/src_actions_agent-actions_ts_0~wc.sy._.js +1 -1
  290. package/.next/standalone/.next/server/chunks/ssr/src_actions_file-actions_ts_0gcvqwm._.js +1 -1
  291. package/.next/standalone/.next/server/chunks/ssr/src_app_missions_missions-client_tsx_11429lj._.js +1 -1
  292. package/.next/standalone/.next/server/chunks/ssr/src_app_onboarding_page_tsx_0xf7hpz._.js +1 -1
  293. package/.next/standalone/.next/server/chunks/ssr/src_app_settings_page_tsx_0h9v7dr._.js +1 -1
  294. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0wyzpam._.js +1 -1
  295. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_board-page-client_tsx_0gips66._.js +1 -1
  296. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_notes_notes-page-client_tsx_10gyo3v._.js +1 -1
  297. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_02t7blt._.js +1 -1
  298. package/.next/standalone/.next/server/chunks/ssr/src_components_0rowjw~._.js +2 -2
  299. package/.next/standalone/.next/server/chunks/ssr/{_0bndp1~._.js → src_components_ui_popover_tsx_0a78wqo._.js} +2 -2
  300. package/.next/standalone/.next/server/chunks/ssr/{src_lib_03xtona._.js → src_lib_0-3zx.v._.js} +2 -2
  301. package/.next/standalone/.next/server/chunks/ssr/src_lib_00ial55._.js +3 -0
  302. package/.next/standalone/.next/server/chunks/ssr/src_lib_01-0ix1._.js +3 -0
  303. package/.next/standalone/.next/server/chunks/ssr/src_lib_01d~ml9._.js +3 -0
  304. package/.next/standalone/.next/server/chunks/ssr/{src_lib_04y-65j._.js → src_lib_0278czx._.js} +1 -1
  305. package/.next/standalone/.next/server/chunks/ssr/src_lib_07o.0r6._.js +3 -0
  306. package/.next/standalone/.next/server/chunks/ssr/src_lib_09jpiip._.js +3 -0
  307. package/.next/standalone/.next/server/chunks/ssr/src_lib_0bmg7ix._.js +3 -0
  308. package/.next/standalone/.next/server/chunks/ssr/src_lib_0cb~2g1._.js +3 -0
  309. package/.next/standalone/.next/server/chunks/ssr/src_lib_0fdsvpu._.js +3 -0
  310. package/.next/standalone/.next/server/chunks/ssr/src_lib_0fyrfen._.js +3 -0
  311. package/.next/standalone/.next/server/chunks/ssr/{src_lib_0-x.wbd._.js → src_lib_0gqe-g3._.js} +1 -1
  312. package/.next/standalone/.next/server/chunks/ssr/src_lib_0ixnmd0._.js +3 -0
  313. package/.next/standalone/.next/server/chunks/ssr/src_lib_0lpxsj~._.js +3 -0
  314. package/.next/standalone/.next/server/chunks/ssr/src_lib_0pgz5n6._.js +3 -0
  315. package/.next/standalone/.next/server/chunks/ssr/{src_lib_00p-ir2._.js → src_lib_0tq69ek._.js} +1 -1
  316. package/.next/standalone/.next/server/chunks/ssr/src_lib_0y5zzg-._.js +3 -0
  317. package/.next/standalone/.next/server/chunks/ssr/src_lib_pty_11~ojr2._.js +3 -0
  318. package/.next/standalone/.next/server/chunks/ssr/src_lib_pty_orphan-reaper_ts_0a0qmlo._.js +3 -0
  319. package/.next/standalone/.next/server/chunks/ssr/{_0ng0eku._.js → src_lib_schemas_ts_0ph~1ak._.js} +3 -3
  320. package/.next/standalone/.next/server/chunks/ssr/src_lib_worktree_ts_06cucy3._.js +1 -1
  321. package/.next/standalone/.next/server/functions-config-manifest.json +1 -0
  322. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  323. package/.next/standalone/.next/server/next-font-manifest.js +1 -1
  324. package/.next/standalone/.next/server/next-font-manifest.json +4 -0
  325. package/.next/standalone/.next/server/pages/500.html +1 -1
  326. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  327. package/.next/standalone/.next/server/server-reference-manifest.json +2308 -1642
  328. package/.next/standalone/.next/static/chunks/0.2y9uc38xso-.js +1 -0
  329. package/.next/standalone/.next/static/chunks/00agq5_c-.llc.js +1 -0
  330. package/.next/standalone/.next/static/chunks/015i97g3voot2.js +2 -0
  331. package/.next/standalone/.next/static/chunks/01wvj~s3skc-5.js +1 -0
  332. package/.next/standalone/.next/static/chunks/{0c4-6qdhi645s.js → 031br6.h-zycv.js} +1 -1
  333. package/.next/standalone/.next/static/chunks/04.2m8l~ws19v.js +1 -0
  334. package/.next/standalone/.next/static/chunks/054ztat09k8d8.js +1 -0
  335. package/.next/standalone/.next/static/chunks/07c4b1kp_85qg.js +1 -0
  336. package/.next/standalone/.next/static/chunks/07f592yv~pptf.js +1 -0
  337. package/.next/standalone/.next/static/chunks/{0bvhkgitn__gl.js → 08j4ettv1zbmn.js} +1 -1
  338. package/.next/standalone/.next/static/chunks/08kc0~d-bpqxd.js +1 -0
  339. package/.next/standalone/.next/static/chunks/{0c.t.evwah_m4.js → 08s_oyki61yjf.js} +1 -1
  340. package/.next/standalone/.next/static/chunks/09bc_~h466~tj.js +1 -0
  341. package/.next/standalone/.next/static/chunks/0_hj_1l73v-on.js +1 -0
  342. package/.next/standalone/.next/static/chunks/0a54zbhpg7-ql.js +1 -0
  343. package/.next/standalone/.next/static/chunks/0c2po53wqe-op.js +1 -0
  344. package/.next/standalone/.next/static/chunks/0clhvl~13pwv2.js +1 -0
  345. package/.next/standalone/.next/static/chunks/0fi1kdxrc9m~d.js +1 -0
  346. package/.next/standalone/.next/static/chunks/0ix28r65.7o_r.js +12 -0
  347. package/.next/standalone/.next/static/chunks/0j56_.0_wup.m.js +1 -0
  348. package/.next/standalone/.next/static/chunks/0lokkque~1fox.js +1 -0
  349. package/.next/standalone/.next/static/chunks/0m5k~sgt78d8a.js +1 -0
  350. package/.next/standalone/.next/static/chunks/0mzzaly9-cwhd.js +5 -0
  351. package/.next/standalone/.next/static/chunks/0ov_akpudbv96.js +5 -0
  352. package/.next/standalone/.next/static/chunks/0pg~fc3o64-u0.js +1 -0
  353. package/.next/standalone/.next/static/chunks/0pvc93qomwhkq.js +1 -0
  354. package/.next/standalone/.next/static/chunks/0seo-lerjdkbn.js +1 -0
  355. package/.next/standalone/.next/static/chunks/0smoiulyzysrc.js +2 -0
  356. package/.next/standalone/.next/static/chunks/0ufatfbq87c84.js +1 -0
  357. package/.next/standalone/.next/static/chunks/{09bezwcb__18t.js → 0ujznvfinjpzn.js} +1 -1
  358. package/.next/standalone/.next/static/chunks/{02xqrfqu.s8-i.js → 0ux~8zee88x-j.js} +1 -1
  359. package/.next/standalone/.next/static/chunks/0vy01_a6xhhrr.js +1 -0
  360. package/.next/standalone/.next/static/chunks/0wl8cpmvyhv0l.js +1 -0
  361. package/.next/standalone/.next/static/chunks/0xd_tk4asn0qj.js +1 -0
  362. package/.next/standalone/.next/static/chunks/0~l470bpaoz9f.js +1 -0
  363. package/.next/standalone/.next/static/chunks/118j.0w2pbdea.js +1 -0
  364. package/.next/standalone/.next/static/chunks/11yhe31en~dvt.js +1 -0
  365. package/.next/standalone/.next/static/chunks/13yfli6~6o4z~.js +1 -0
  366. package/.next/standalone/.next/static/chunks/14fch6~swodjf.css +1 -0
  367. package/.next/standalone/.next/static/chunks/15rlbf5rw1dd..js +1 -0
  368. package/.next/standalone/package.json +1 -2
  369. package/dist/mcp-server.cjs +1205 -4330
  370. package/package.json +1 -2
  371. package/prisma/schema.prisma +46 -5
  372. package/scripts/migrations/0006-project-knowledge.ts +58 -0
  373. package/scripts/migrations/0007-product-group.ts +67 -0
  374. package/skills/tower/SKILL.md +22 -92
  375. package/skills/tower/references/task-source.md +80 -0
  376. package/.next/standalone/.next/server/chunks/[externals]__0x_wqa7._.js +0 -3
  377. package/.next/standalone/.next/server/chunks/[root-of-the-server]__034jopu._.js +0 -4
  378. package/.next/standalone/.next/server/chunks/[root-of-the-server]__08-s.nv._.js +0 -4
  379. package/.next/standalone/.next/server/chunks/[root-of-the-server]__098.3z2._.js +0 -3
  380. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ehx6q.._.js +0 -3
  381. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0iggiij._.js +0 -3
  382. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0pmamzv._.js +0 -3
  383. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0pzyjqf._.js +0 -20
  384. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0tplo5s._.js +0 -3
  385. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0tpzojh._.js +0 -3
  386. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xasom7._.js +0 -4
  387. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xy1t4x._.js +0 -4
  388. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0y~y6sh._.js +0 -3
  389. package/.next/standalone/.next/server/chunks/[root-of-the-server]__10jnn26._.js +0 -3
  390. package/.next/standalone/.next/server/chunks/[root-of-the-server]__116v_bx._.js +0 -4
  391. package/.next/standalone/.next/server/chunks/[root-of-the-server]__119rbly._.js +0 -3
  392. package/.next/standalone/.next/server/chunks/_0qk_esg._.js +0 -4
  393. package/.next/standalone/.next/server/chunks/_0t31z6q._.js +0 -5
  394. package/.next/standalone/.next/server/chunks/src_0aqjfcv._.js +0 -3
  395. package/.next/standalone/.next/server/chunks/src_lib_0nw5n~t._.js +0 -3
  396. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0.q~~2p._.js +0 -3
  397. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01zrinc._.js +0 -3
  398. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__03x8axh._.js +0 -47
  399. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__04wbr9x._.js +0 -3
  400. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__05xg05r._.js +0 -3
  401. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__06t.cx~._.js +0 -47
  402. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0__klx0._.js +0 -47
  403. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ccy_gg._.js +0 -3
  404. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0cjmeyl._.js +0 -3
  405. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0dx9sp-._.js +0 -47
  406. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0f57j8r._.js +0 -47
  407. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0j1dx6p._.js +0 -47
  408. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0kn~asi._.js +0 -47
  409. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0m.hayd._.js +0 -47
  410. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0mpjat-._.js +0 -3
  411. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0sg4fde._.js +0 -4
  412. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w24qox._.js +0 -47
  413. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wq~4aj._.js +0 -30
  414. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0yihqy6._.js +0 -3
  415. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0z7je5_._.js +0 -5
  416. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0zouyfp._.js +0 -3
  417. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1184s~q._.js +0 -3
  418. package/.next/standalone/.next/server/chunks/ssr/_0.iq8t8._.js +0 -4
  419. package/.next/standalone/.next/server/chunks/ssr/_00.myc6._.js +0 -3
  420. package/.next/standalone/.next/server/chunks/ssr/_00eymu8._.js +0 -3
  421. package/.next/standalone/.next/server/chunks/ssr/_03-we0p._.js +0 -47
  422. package/.next/standalone/.next/server/chunks/ssr/_04szgc6._.js +0 -3
  423. package/.next/standalone/.next/server/chunks/ssr/_0kd_tda._.js +0 -47
  424. package/.next/standalone/.next/server/chunks/ssr/_0ktexki._.js +0 -47
  425. package/.next/standalone/.next/server/chunks/ssr/_0lo1nei._.js +0 -6
  426. package/.next/standalone/.next/server/chunks/ssr/_0mdd702._.js +0 -3
  427. package/.next/standalone/.next/server/chunks/ssr/_0n0q6~9._.js +0 -3
  428. package/.next/standalone/.next/server/chunks/ssr/_0pab_al._.js +0 -3
  429. package/.next/standalone/.next/server/chunks/ssr/_0pg6-.y._.js +0 -3
  430. package/.next/standalone/.next/server/chunks/ssr/_0pvp63a._.js +0 -47
  431. package/.next/standalone/.next/server/chunks/ssr/_0qi4x-5._.js +0 -3
  432. package/.next/standalone/.next/server/chunks/ssr/_0qnobd-._.js +0 -43
  433. package/.next/standalone/.next/server/chunks/ssr/_0rdyrfd._.js +0 -3
  434. package/.next/standalone/.next/server/chunks/ssr/_0ts~td3._.js +0 -3
  435. package/.next/standalone/.next/server/chunks/ssr/_0y0_4zs._.js +0 -3
  436. package/.next/standalone/.next/server/chunks/ssr/_0yva1-.._.js +0 -3
  437. package/.next/standalone/.next/server/chunks/ssr/_0yz5dmq._.js +0 -47
  438. package/.next/standalone/.next/server/chunks/ssr/_11w13--._.js +0 -3
  439. package/.next/standalone/.next/server/chunks/ssr/node_modules__pnpm_09eeb85._.js +0 -3
  440. package/.next/standalone/.next/server/chunks/ssr/src_0djxlqx._.js +0 -3
  441. package/.next/standalone/.next/server/chunks/ssr/src_0eufeyj._.js +0 -3
  442. package/.next/standalone/.next/server/chunks/ssr/src_0vv366l._.js +0 -3
  443. package/.next/standalone/.next/server/chunks/ssr/src_lib_03x1i~1._.js +0 -5
  444. package/.next/standalone/.next/server/chunks/ssr/src_lib_08gthaz._.js +0 -3
  445. package/.next/standalone/.next/server/chunks/ssr/src_lib_090~6pq._.js +0 -3
  446. package/.next/standalone/.next/server/chunks/ssr/src_lib_0k8dkbn._.js +0 -3
  447. package/.next/standalone/.next/server/chunks/ssr/src_lib_0knbpxk._.js +0 -3
  448. package/.next/standalone/.next/server/chunks/ssr/src_lib_0p_iehl._.js +0 -3
  449. package/.next/standalone/.next/server/chunks/ssr/src_lib_0qve1ri._.js +0 -3
  450. package/.next/standalone/.next/server/chunks/ssr/src_lib_0s35u~4._.js +0 -3
  451. package/.next/standalone/.next/server/chunks/ssr/src_lib_0x2ui80._.js +0 -3
  452. package/.next/standalone/.next/server/chunks/ssr/src_lib_0ypc5_d._.js +0 -3
  453. package/.next/standalone/.next/server/chunks/ssr/src_lib_10jh2mz._.js +0 -3
  454. package/.next/standalone/.next/static/chunks/0-nppzqp-r.9c.js +0 -1
  455. package/.next/standalone/.next/static/chunks/0-te2tg6~a23u.js +0 -1
  456. package/.next/standalone/.next/static/chunks/0.64.6c1mh7d2.js +0 -1
  457. package/.next/standalone/.next/static/chunks/0.8n1ce9lggg4.js +0 -1
  458. package/.next/standalone/.next/static/chunks/0.nsmn6shzidu.js +0 -2
  459. package/.next/standalone/.next/static/chunks/0.zgqz~m3sjej.js +0 -1
  460. package/.next/standalone/.next/static/chunks/00.eotegra08r.js +0 -1
  461. package/.next/standalone/.next/static/chunks/01j9m895w64zn.js +0 -1
  462. package/.next/standalone/.next/static/chunks/03y272e6e9o8i.js +0 -1
  463. package/.next/standalone/.next/static/chunks/08eyd7sq064r0.js +0 -1
  464. package/.next/standalone/.next/static/chunks/09b33znj4m__c.js +0 -1
  465. package/.next/standalone/.next/static/chunks/0d0zm8viq3ol4.js +0 -12
  466. package/.next/standalone/.next/static/chunks/0dktl5t_dtxu..js +0 -1
  467. package/.next/standalone/.next/static/chunks/0e5~nzt657k92.js +0 -1
  468. package/.next/standalone/.next/static/chunks/0erwxvpb9w29_.js +0 -1
  469. package/.next/standalone/.next/static/chunks/0gf~0e3xpa0fj.js +0 -5
  470. package/.next/standalone/.next/static/chunks/0gy79dfi~lnig.js +0 -1
  471. package/.next/standalone/.next/static/chunks/0gz3xwb5_8xwv.js +0 -1
  472. package/.next/standalone/.next/static/chunks/0i75~pu.bp20..js +0 -1
  473. package/.next/standalone/.next/static/chunks/0jn_w5b9r~beu.js +0 -1
  474. package/.next/standalone/.next/static/chunks/0l59z2mf1ouxu.js +0 -1
  475. package/.next/standalone/.next/static/chunks/0m4xd-ie7j.hx.js +0 -1
  476. package/.next/standalone/.next/static/chunks/0mx9ebe6we4z0.js +0 -1
  477. package/.next/standalone/.next/static/chunks/0nsggimu5je3g.js +0 -1
  478. package/.next/standalone/.next/static/chunks/0nw8nx8kafy79.js +0 -1
  479. package/.next/standalone/.next/static/chunks/0pzjryav9pm7p.js +0 -1
  480. package/.next/standalone/.next/static/chunks/0q-rl50zskr35.js +0 -1
  481. package/.next/standalone/.next/static/chunks/0qqy2x-fsmmmx.js +0 -1
  482. package/.next/standalone/.next/static/chunks/0t59wpux0g1~l.js +0 -1
  483. package/.next/standalone/.next/static/chunks/0uezq8wiwkq8d.js +0 -1
  484. package/.next/standalone/.next/static/chunks/0vrc~7m1_cuvl.js +0 -1
  485. package/.next/standalone/.next/static/chunks/0xbh24-hxrt~m.css +0 -1
  486. package/.next/standalone/.next/static/chunks/0xkkmruo8p.l_.js +0 -1
  487. package/.next/standalone/.next/static/chunks/0xx0pe_j2kmr9.js +0 -2
  488. package/.next/standalone/.next/static/chunks/0zqjqiqmorenw.js +0 -5
  489. package/.next/standalone/.next/static/chunks/136l78utn~v08.js +0 -1
  490. package/.next/standalone/.next/static/chunks/171x9kw9wcyk4.js +0 -1
  491. package/.next/standalone/.next/static/chunks/17m4o~gdsvuo3.js +0 -1
  492. package/next.config.ts +0 -18
  493. /package/.next/standalone/.next/static/{f1860bJqnbYj-1WLMj7F- → dFewkdixeBoRBY6Fvw11J}/_buildManifest.js +0 -0
  494. /package/.next/standalone/.next/static/{f1860bJqnbYj-1WLMj7F- → dFewkdixeBoRBY6Fvw11J}/_clientMiddlewareManifest.js +0 -0
  495. /package/.next/standalone/.next/static/{f1860bJqnbYj-1WLMj7F- → dFewkdixeBoRBY6Fvw11J}/_ssgManifest.js +0 -0
@@ -1,5 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,465536,(e,t,r)=>{var s;"u">typeof __nccwpck_require__&&(__nccwpck_require__.ab="/ROOT/node_modules/.pnpm/next@16.2.1_@babel+core@7.29.0_@playwright+test@1.58.2_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/os-browserify/"),(s={}).endianness=function(){return"LE"},s.hostname=function(){return"u">typeof location?location.hostname:""},s.loadavg=function(){return[]},s.uptime=function(){return 0},s.freemem=function(){return Number.MAX_VALUE},s.totalmem=function(){return Number.MAX_VALUE},s.cpus=function(){return[]},s.type=function(){return"Browser"},s.release=function(){return"u">typeof navigator?navigator.appVersion:""},s.networkInterfaces=s.getNetworkInterfaces=function(){return{}},s.arch=function(){return"javascript"},s.platform=function(){return"browser"},s.tmpdir=s.tmpDir=function(){return"/tmp"},s.EOL="\n",s.homedir=function(){return"/"},t.exports=s},930787,(e,t,r)=>{!function(){"use strict";var e={114:function(e){function t(e){if("string"!=typeof e)throw TypeError("Path must be a string. Received "+JSON.stringify(e))}function r(e,t){for(var r,s="",a=0,n=-1,o=0,i=0;i<=e.length;++i){if(i<e.length)r=e.charCodeAt(i);else if(47===r)break;else r=47;if(47===r){if(n===i-1||1===o);else if(n!==i-1&&2===o){if(s.length<2||2!==a||46!==s.charCodeAt(s.length-1)||46!==s.charCodeAt(s.length-2)){if(s.length>2){var l=s.lastIndexOf("/");if(l!==s.length-1){-1===l?(s="",a=0):a=(s=s.slice(0,l)).length-1-s.lastIndexOf("/"),n=i,o=0;continue}}else if(2===s.length||1===s.length){s="",a=0,n=i,o=0;continue}}t&&(s.length>0?s+="/..":s="..",a=2)}else s.length>0?s+="/"+e.slice(n+1,i):s=e.slice(n+1,i),a=i-n-1;n=i,o=0}else 46===r&&-1!==o?++o:o=-1}return s}var s={resolve:function(){for(var e,s,a="",n=!1,o=arguments.length-1;o>=-1&&!n;o--)o>=0?s=arguments[o]:(void 0===e&&(e=""),s=e),t(s),0!==s.length&&(a=s+"/"+a,n=47===s.charCodeAt(0));if(a=r(a,!n),n)if(a.length>0)return"/"+a;else return"/";return a.length>0?a:"."},normalize:function(e){if(t(e),0===e.length)return".";var s=47===e.charCodeAt(0),a=47===e.charCodeAt(e.length-1);return(0!==(e=r(e,!s)).length||s||(e="."),e.length>0&&a&&(e+="/"),s)?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0==arguments.length)return".";for(var e,r=0;r<arguments.length;++r){var a=arguments[r];t(a),a.length>0&&(void 0===e?e=a:e+="/"+a)}return void 0===e?".":s.normalize(e)},relative:function(e,r){if(t(e),t(r),e===r||(e=s.resolve(e))===(r=s.resolve(r)))return"";for(var a=1;a<e.length&&47===e.charCodeAt(a);++a);for(var n=e.length,o=n-a,i=1;i<r.length&&47===r.charCodeAt(i);++i);for(var l=r.length-i,c=o<l?o:l,d=-1,u=0;u<=c;++u){if(u===c){if(l>c){if(47===r.charCodeAt(i+u))return r.slice(i+u+1);else if(0===u)return r.slice(i+u)}else o>c&&(47===e.charCodeAt(a+u)?d=u:0===u&&(d=0));break}var m=e.charCodeAt(a+u);if(m!==r.charCodeAt(i+u))break;47===m&&(d=u)}var h="";for(u=a+d+1;u<=n;++u)(u===n||47===e.charCodeAt(u))&&(0===h.length?h+="..":h+="/..");return h.length>0?h+r.slice(i+d):(i+=d,47===r.charCodeAt(i)&&++i,r.slice(i))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var r=e.charCodeAt(0),s=47===r,a=-1,n=!0,o=e.length-1;o>=1;--o)if(47===(r=e.charCodeAt(o))){if(!n){a=o;break}}else n=!1;return -1===a?s?"/":".":s&&1===a?"//":e.slice(0,a)},basename:function(e,r){if(void 0!==r&&"string"!=typeof r)throw TypeError('"ext" argument must be a string');t(e);var s,a=0,n=-1,o=!0;if(void 0!==r&&r.length>0&&r.length<=e.length){if(r.length===e.length&&r===e)return"";var i=r.length-1,l=-1;for(s=e.length-1;s>=0;--s){var c=e.charCodeAt(s);if(47===c){if(!o){a=s+1;break}}else -1===l&&(o=!1,l=s+1),i>=0&&(c===r.charCodeAt(i)?-1==--i&&(n=s):(i=-1,n=l))}return a===n?n=l:-1===n&&(n=e.length),e.slice(a,n)}for(s=e.length-1;s>=0;--s)if(47===e.charCodeAt(s)){if(!o){a=s+1;break}}else -1===n&&(o=!1,n=s+1);return -1===n?"":e.slice(a,n)},extname:function(e){t(e);for(var r=-1,s=0,a=-1,n=!0,o=0,i=e.length-1;i>=0;--i){var l=e.charCodeAt(i);if(47===l){if(!n){s=i+1;break}continue}-1===a&&(n=!1,a=i+1),46===l?-1===r?r=i:1!==o&&(o=1):-1!==r&&(o=-1)}return -1===r||-1===a||0===o||1===o&&r===a-1&&r===s+1?"":e.slice(r,a)},format:function(e){var t,r;if(null===e||"object"!=typeof e)throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return t=e.dir||e.root,r=e.base||(e.name||"")+(e.ext||""),t?t===e.root?t+r:t+"/"+r:r},parse:function(e){t(e);var r,s={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return s;var a=e.charCodeAt(0),n=47===a;n?(s.root="/",r=1):r=0;for(var o=-1,i=0,l=-1,c=!0,d=e.length-1,u=0;d>=r;--d){if(47===(a=e.charCodeAt(d))){if(!c){i=d+1;break}continue}-1===l&&(c=!1,l=d+1),46===a?-1===o?o=d:1!==u&&(u=1):-1!==o&&(u=-1)}return -1===o||-1===l||0===u||1===u&&o===l-1&&o===i+1?-1!==l&&(0===i&&n?s.base=s.name=e.slice(1,l):s.base=s.name=e.slice(i,l)):(0===i&&n?(s.name=e.slice(1,o),s.base=e.slice(1,l)):(s.name=e.slice(i,o),s.base=e.slice(i,l)),s.ext=e.slice(o,l)),i>0?s.dir=e.slice(0,i-1):n&&(s.dir="/"),s},sep:"/",delimiter:":",win32:null,posix:null};s.posix=s,e.exports=s}},r={};function s(t){var a=r[t];if(void 0!==a)return a.exports;var n=r[t]={exports:{}},o=!0;try{e[t](n,n.exports,s),o=!1}finally{o&&delete r[t]}return n.exports}s.ab="/ROOT/node_modules/.pnpm/next@16.2.1_@babel+core@7.29.0_@playwright+test@1.58.2_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/path-browserify/",t.exports=s(114)}()},914935,e=>{"use strict";var t=e.i(289721),r=e.i(965652),s=e.i(538059),a=e.i(210702),n=e.i(487278),o=e.i(232545),i=e.i(464249),l=e.i(998626),c=e.i(49007),d=e.i(902539),u=e.i(263938),m=e.i(645378),h=e.i(453889),x=e.i(572989);let p=(0,x.default)("gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]);var g=e.i(468443),f=e.i(755146),j=e.i(759684),b=e.i(776639),v=e.i(746798),w=e.i(519455),N=e.i(793479),y=e.i(514798);let k=(0,y.createServerReference)("403ea5ae0f3d1e97155fd492ca9a022b8bbe330b90",y.callServer,void 0,y.findSourceMapURL,"createWorkspace"),C=(0,y.createServerReference)("60376b404b9ee9ec39227faf56b6e478179be622ad",y.callServer,void 0,y.findSourceMapURL,"updateWorkspace"),S=(0,y.createServerReference)("402b9e604ebfd42af76626d470e58c634b243bf544",y.callServer,void 0,y.findSourceMapURL,"deleteWorkspace"),T=(0,y.createServerReference)("406da6d9dca36b89032a75437431a27da281273a09",y.callServer,void 0,y.findSourceMapURL,"reorderWorkspaces");var P=e.i(647810);let D=(0,y.createServerReference)("40f49f4fcc711c1a5ef88b7b38ff6fcad0830ad879",y.callServer,void 0,y.findSourceMapURL,"createLabel"),O=(0,y.createServerReference)("402c06d432e3a1c443c8469f9c2d277213c901c111",y.callServer,void 0,y.findSourceMapURL,"deleteLabel");var I=e.i(889620),$=e.i(533499),M=e.i(360112),L=e.i(720247),A=e.i(775712),R=e.i(67013);let z=["📋","🚀","🎯","💡","🔧","📦","🎨","📊","🔬","🌟","📝","🏗️"];function E({workspaces:e}){let i,l=(0,s.useRouter)(),c=(0,s.usePathname)(),{t:u}=(0,$.useI18n)(),[x,f]=(0,r.useState)(!1);(0,r.useEffect)(()=>{"true"===localStorage.getItem("sidebar-collapsed")&&f(!0)},[]);let[b,N]=(0,r.useState)(!1),[y,P]=(0,r.useState)(!1),[D,O]=(0,r.useState)(!1),[R,_]=(0,r.useState)(null),[U,H]=(0,r.useState)(""),[K,V]=(0,r.useState)(z[0]),[G,q]=(0,r.useState)(null),[X,J]=(0,r.useState)(e);(0,r.useEffect)(()=>{J(e)},[e]);let Y=(0,L.useSensors)((0,L.useSensor)(L.PointerSensor,{activationConstraint:{distance:8}})),Z=(0,r.useCallback)(t=>{let{active:r,over:s}=t;if(!s||r.id===s.id)return;let a=X.findIndex(e=>e.id===r.id),n=X.findIndex(e=>e.id===s.id);if(-1===a||-1===n)return;let o=(0,A.arrayMove)(X,a,n);J(o),T(o.map(e=>e.id)).then(()=>l.refresh()).catch(()=>{J(e),M.toast.error(u("sidebar.reorderError"))})},[X,e,l,u]),Q=c.split("/workspaces/")[1]?.split("/")[0],ee=(0,r.useCallback)(e=>{if(Q===e)return;let t=(0,I.getLastProjectId)(e);l.push(t?`/workspaces/${e}?projectId=${t}`:`/workspaces/${e}`)},[Q,l]),et=(0,r.useCallback)(()=>{f(e=>{let t=!e;return localStorage.setItem("sidebar-collapsed",String(t)),t})},[]),er=(0,r.useCallback)(async()=>{if(!U.trim())return;let e=await k({name:U.trim(),description:K});H(""),V(z[0]),N(!1),l.refresh(),l.push(`/workspaces/${e.id}`)},[U,K,l]),es=(0,r.useCallback)(async()=>{U.trim()&&G&&(await C(G,{name:U.trim(),description:K}),H(""),P(!1),q(null),l.refresh())},[U,K,G,l]),ea=(0,r.useCallback)(e=>{q(e.id),H(e.name),V(e.description&&z.includes(e.description)?e.description:z[0]),P(!0)},[]),en=(0,r.useCallback)(async(t,r)=>{if(e.length<=1)return void M.toast.error(u("sidebar.lastWorkspaceError"));if(confirm(u("sidebar.deleteConfirm",{name:r})))try{await S(t),l.refresh(),Q===t&&l.push("/workspaces")}catch{M.toast.error(u("sidebar.lastWorkspaceError"))}},[Q,l,u,e.length]),eo=(0,r.useCallback)(e=>{_(e),O(!0)},[]),ei=e=>e.description&&z.includes(e.description)?e.description:e.name.charAt(0).toUpperCase();if(x){let r;return(0,t.jsxs)("aside",{className:"flex h-screen w-14 flex-col items-center border-r border-border bg-sidebar py-3",children:[(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{render:(0,t.jsx)("button",{onClick:et,className:"mb-4 flex h-9 w-9 items-center justify-center rounded-lg bg-primary/10 ring-1 ring-primary/20 transition-transform hover:scale-105"}),children:(0,t.jsx)("img",{src:"/logo.png",alt:"Tower",className:"h-6 w-6 rounded"})}),(0,t.jsx)(v.TooltipContent,{side:"right",sideOffset:8,children:u("sidebar.expand")})]}),(0,t.jsx)(j.ScrollArea,{className:"flex-1 min-h-0",children:(0,t.jsxs)("div",{className:"flex flex-col items-center gap-1 px-0.5 pt-1",children:[e.map(e=>{let r=Q===e.id,s=ei(e);return(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{render:(0,t.jsx)("button",{onClick:()=>ee(e.id),className:`flex h-9 w-9 items-center justify-center rounded-lg transition-all ${r?"ring-1 ring-primary/20 text-foreground cursor-default":"text-muted-foreground hover:text-foreground cursor-pointer"}`}),children:(0,t.jsx)("span",{className:"flex h-7 w-7 items-center justify-center rounded-md bg-muted text-sm",children:z.includes(s)?s:(0,t.jsx)("span",{className:"text-xs font-semibold",children:s})})}),(0,t.jsx)(v.TooltipContent,{side:"right",sideOffset:8,children:e.name})]},e.id)}),(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{render:(0,t.jsx)("button",{"data-tour":"create-workspace",onClick:()=>N(!0),className:"flex h-9 w-9 items-center justify-center rounded-lg text-muted-foreground transition-colors hover:bg-accent hover:text-foreground"}),children:(0,t.jsx)(o.Plus,{className:"h-4 w-4"})}),(0,t.jsx)(v.TooltipContent,{side:"right",sideOffset:8,children:u("sidebar.newWorkspace")})]})]})}),(0,t.jsxs)("div",{className:"mt-2 flex flex-col items-center gap-1",children:[(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{render:(0,t.jsx)("button",{onClick:()=>l.push("/missions"),className:`rounded-lg p-2 transition-colors ${"/missions"===c?"text-foreground bg-accent":"text-muted-foreground hover:bg-accent hover:text-foreground"}`}),children:(0,t.jsx)(p,{className:"h-4 w-4"})}),(0,t.jsx)(v.TooltipContent,{side:"right",sideOffset:8,children:u("missions.navLabel")})]}),(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{render:(0,t.jsx)("button",{onClick:()=>l.push("/harness"),className:`rounded-lg p-2 transition-colors ${"/harness"===c?"text-foreground bg-accent":"text-muted-foreground hover:bg-accent hover:text-foreground"}`}),children:(0,t.jsx)(g.BellRing,{className:"h-4 w-4"})}),(0,t.jsx)(v.TooltipContent,{side:"right",sideOffset:8,children:u("harness.navLabel")})]}),(r=Q||e[0]?.id)?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{render:(0,t.jsx)("button",{onClick:()=>l.push(`/workspaces/${r}/notes`),className:`rounded-lg p-2 transition-colors ${c.includes("/notes")?"text-foreground bg-accent":"text-muted-foreground hover:bg-accent hover:text-foreground"}`}),children:(0,t.jsx)(m.FileText,{className:"h-4 w-4"})}),(0,t.jsx)(v.TooltipContent,{side:"right",sideOffset:8,children:u("sidebar.notes")})]}),(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{render:(0,t.jsx)("button",{onClick:()=>l.push(`/workspaces/${r}/assets`),className:`rounded-lg p-2 transition-colors ${c.includes("/assets")?"text-foreground bg-accent":"text-muted-foreground hover:bg-accent hover:text-foreground"}`}),children:(0,t.jsx)(h.FolderOpen,{className:"h-4 w-4"})}),(0,t.jsx)(v.TooltipContent,{side:"right",sideOffset:8,children:u("sidebar.assets")})]}),(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{render:(0,t.jsx)("button",{onClick:()=>l.push(`/workspaces/${r}/archive`),className:`rounded-lg p-2 transition-colors ${c.includes("/archive")?"text-foreground bg-accent":"text-muted-foreground hover:bg-accent hover:text-foreground"}`}),children:(0,t.jsx)(n.Archive,{className:"h-4 w-4"})}),(0,t.jsx)(v.TooltipContent,{side:"right",sideOffset:8,children:u("sidebar.archive")})]})]}):null]}),(0,t.jsx)(F,{open:b,onOpenChange:N,title:u("workspace.create"),name:U,onNameChange:H,icon:K,onIconChange:V,onSubmit:er,submitLabel:u("common.create"),nameLabel:u("workspace.name"),iconLabel:u("workspace.icon"),namePlaceholder:u("workspace.namePlaceholder"),cancelLabel:u("common.cancel")})]})}return(0,t.jsxs)("aside",{className:"noise relative flex h-screen w-56 flex-col border-r border-border bg-sidebar",children:[(0,t.jsxs)("div",{className:"relative z-10 flex items-center gap-3 px-4 py-4",children:[(0,t.jsx)("img",{src:"/logo.png",alt:"Tower",className:"h-9 w-9 rounded-lg"}),(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)("div",{className:"text-sm font-semibold tracking-tight text-foreground",children:"Tower"}),(0,t.jsx)("div",{className:"text-[10px] font-medium uppercase tracking-widest text-muted-foreground",children:"Studio"})]}),(0,t.jsx)(w.Button,{variant:"ghost",size:"icon-xs",onClick:et,className:"text-muted-foreground",title:u("sidebar.collapse"),children:(0,t.jsx)(d.ChevronsLeft,{className:"h-4 w-4"})})]}),(0,t.jsxs)("div",{className:"relative z-10 flex items-center justify-between px-4 py-2",children:[(0,t.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:u("sidebar.workspace")}),(0,t.jsx)(w.Button,{variant:"ghost",size:"icon-sm",className:"text-muted-foreground","data-tour":"create-workspace",onClick:()=>{H(""),V(z[0]),N(!0)},title:u("sidebar.newWorkspace"),children:(0,t.jsx)(o.Plus,{className:"h-3.5 w-3.5"})})]}),(0,t.jsx)(j.ScrollArea,{className:"relative z-10 mt-2 flex-1 min-h-0",children:(0,t.jsx)("div",{className:"px-2 py-1",children:(0,t.jsx)(L.DndContext,{id:"workspace-sidebar",sensors:Y,collisionDetection:L.closestCenter,onDragEnd:Z,children:(0,t.jsx)(A.SortableContext,{items:X.map(e=>e.id),strategy:A.verticalListSortingStrategy,children:X.map(e=>(0,t.jsx)(B,{ws:e,isActive:Q===e.id,icon:ei(e),disableDelete:X.length<=1,t:u,onSelect:()=>ee(e.id),onEdit:()=>ea(e),onManageLabels:()=>eo(e.id),onDelete:()=>en(e.id,e.name)},e.id))})})})}),(0,t.jsxs)(a.default,{href:"/missions",className:`relative z-10 flex items-center gap-2 border-t border-border px-4 py-3 text-[11px] cursor-pointer transition-colors ${"/missions"===c?"text-foreground":"text-muted-foreground hover:text-foreground"}`,children:[(0,t.jsx)(p,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{children:u("missions.navLabel")})]}),(0,t.jsxs)(a.default,{href:"/harness",className:`relative z-10 flex items-center gap-2 border-t border-border px-4 py-3 text-[11px] cursor-pointer transition-colors ${"/harness"===c?"text-foreground":"text-muted-foreground hover:text-foreground"}`,children:[(0,t.jsx)(g.BellRing,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{children:u("harness.navLabel")})]}),(i=Q||e[0]?.id)?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(a.default,{href:`/workspaces/${i}/notes`,className:"relative z-10 flex items-center gap-2 border-t border-border px-4 py-3 text-[11px] text-muted-foreground cursor-pointer hover:text-foreground transition-colors",children:[(0,t.jsx)(m.FileText,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{children:u("sidebar.notes")})]}),(0,t.jsxs)(a.default,{href:`/workspaces/${i}/assets`,className:"relative z-10 flex items-center gap-2 px-4 py-3 text-[11px] text-muted-foreground cursor-pointer hover:text-foreground transition-colors",children:[(0,t.jsx)(h.FolderOpen,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{children:u("sidebar.assets")})]}),(0,t.jsxs)(a.default,{href:`/workspaces/${i}/archive`,className:"relative z-10 flex items-center gap-2 px-4 py-3 text-[11px] text-muted-foreground cursor-pointer hover:text-foreground transition-colors",children:[(0,t.jsx)(n.Archive,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{children:u("sidebar.archive")})]})]}):null,(0,t.jsx)(F,{open:b,onOpenChange:N,title:u("workspace.create"),name:U,onNameChange:H,icon:K,onIconChange:V,onSubmit:er,submitLabel:u("common.create"),nameLabel:u("workspace.name"),iconLabel:u("workspace.icon"),namePlaceholder:u("workspace.namePlaceholder"),cancelLabel:u("common.cancel")}),(0,t.jsx)(F,{open:y,onOpenChange:e=>{P(e),e||q(null)},title:u("workspace.edit"),name:U,onNameChange:H,icon:K,onIconChange:V,onSubmit:es,submitLabel:u("common.save"),nameLabel:u("workspace.name"),iconLabel:u("workspace.icon"),namePlaceholder:u("workspace.namePlaceholder"),cancelLabel:u("common.cancel")}),R&&(0,t.jsx)(W,{open:D,onOpenChange:e=>{O(e),e||_(null)},workspaceId:R})]})}function B({ws:e,isActive:r,icon:s,disableDelete:a,t:n,onSelect:o,onEdit:d,onManageLabels:m,onDelete:h}){var x;let p,g,j,{attributes:b,listeners:v,setNodeRef:w,transform:N,transition:y,isDragging:k}=(0,A.useSortable)({id:e.id}),C={transform:R.CSS.Transform.toString(N),transition:y,opacity:k?.4:1};return(0,t.jsxs)("div",{ref:w,style:C,...b,...v,className:`group relative flex touch-none items-center rounded-lg transition-all ${r?"bg-accent ring-1 ring-primary/15":"hover:bg-accent/60"}`,children:[(0,t.jsxs)("button",{onClick:o,className:`flex flex-1 items-center gap-2.5 px-3 py-2.5 text-left ${r?"cursor-default":"cursor-pointer"}`,children:[(0,t.jsx)("span",{className:"flex h-7 w-7 items-center justify-center rounded-md bg-muted text-sm",children:z.includes(s)?s:(0,t.jsx)("span",{className:"text-xs font-semibold text-muted-foreground",children:s})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("div",{className:`truncate text-sm font-medium ${r?"text-foreground":"text-secondary-foreground"}`,children:e.name}),(0,t.jsx)("div",{className:"text-[11px] text-muted-foreground",children:(x=e.updatedAt,g=Math.floor((p=Date.now()-new Date(x).getTime())/6e4),j=Math.floor(p/36e5),g<60?`${g}m ago`:j<24?`${j}h ago`:`${Math.floor(j/24)}d ago`)})]})]}),(0,t.jsxs)(f.DropdownMenu,{children:[(0,t.jsx)(f.DropdownMenuTrigger,{render:(0,t.jsx)("button",{className:"mr-2 rounded-md p-1 text-muted-foreground opacity-0 transition-all hover:bg-background hover:text-foreground group-hover:opacity-100",onClick:e=>e.stopPropagation()}),children:(0,t.jsx)(c.MoreHorizontal,{className:"h-3.5 w-3.5"})}),(0,t.jsxs)(f.DropdownMenuContent,{align:"start",side:"right",children:[(0,t.jsxs)(f.DropdownMenuItem,{onClick:d,children:[(0,t.jsx)(i.Pencil,{className:"mr-2 h-3.5 w-3.5"}),n("sidebar.rename")]}),(0,t.jsxs)(f.DropdownMenuItem,{onClick:m,children:[(0,t.jsx)(u.Tag,{className:"mr-2 h-3.5 w-3.5"}),n("sidebar.manageLabels")]}),(0,t.jsxs)(f.DropdownMenuItem,{className:a?"text-muted-foreground opacity-50":"text-rose-400",disabled:a,onClick:h,children:[(0,t.jsx)(l.Trash2,{className:"mr-2 h-3.5 w-3.5"}),n("sidebar.delete")]})]})]})]})}function F({open:e,onOpenChange:r,title:s,name:a,onNameChange:n,icon:o,onIconChange:i,onSubmit:l,submitLabel:c,nameLabel:d,iconLabel:u,namePlaceholder:m,cancelLabel:h}){return(0,t.jsx)(b.Dialog,{open:e,onOpenChange:r,disablePointerDismissal:!0,children:(0,t.jsxs)(b.DialogContent,{className:"sm:max-w-sm",children:[(0,t.jsx)(b.DialogHeader,{children:(0,t.jsx)(b.DialogTitle,{children:s})}),(0,t.jsxs)("div",{className:"space-y-4 py-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:d}),(0,t.jsx)(N.Input,{placeholder:m,value:a,onChange:e=>n(e.target.value),onKeyDown:e=>"Enter"===e.key&&e.preventDefault(),className:"mt-1.5"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:u}),(0,t.jsx)("div",{className:"mt-1.5 grid grid-cols-6 gap-1.5",children:z.map(e=>(0,t.jsx)("button",{onClick:()=>i(e),className:`flex h-10 w-10 items-center justify-center rounded-lg text-lg transition-all ${o===e?"bg-primary/15 ring-2 ring-primary/30 scale-110":"bg-muted hover:bg-accent"}`,children:e},e))})]})]}),(0,t.jsxs)(b.DialogFooter,{children:[(0,t.jsx)(w.Button,{variant:"outline",onClick:()=>r(!1),children:h}),(0,t.jsx)(w.Button,{onClick:l,disabled:!a.trim(),className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:c})]})]})})}let _=["#3b82f6","#ef4444","#f59e0b","#10b981","#8b5cf6","#ec4899","#06b6d4","#f97316"];function W({open:e,onOpenChange:s,workspaceId:a}){let{t:n}=(0,$.useI18n)(),[o,i]=(0,r.useState)([]),[l,c]=(0,r.useState)(""),[d,u]=(0,r.useState)(_[0]);(0,r.useEffect)(()=>{e&&(0,P.getLabelsForWorkspace)(a).then(i)},[e,a]);let m=async()=>{l.trim()&&(await D({name:l.trim(),color:d,workspaceId:a}),i(await (0,P.getLabelsForWorkspace)(a)),c(""))},h=async e=>{await O(e),i(t=>t.filter(t=>t.id!==e))};return(0,t.jsx)(b.Dialog,{open:e,onOpenChange:s,disablePointerDismissal:!0,children:(0,t.jsxs)(b.DialogContent,{className:"sm:max-w-sm",children:[(0,t.jsx)(b.DialogHeader,{children:(0,t.jsx)(b.DialogTitle,{children:n("label.manage")})}),(0,t.jsxs)("div",{className:"space-y-3 py-2",children:[o.map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"h-3 w-3 rounded-full",style:{backgroundColor:e.color}}),(0,t.jsx)("span",{className:"flex-1 text-sm text-foreground",children:e.name}),e.isBuiltin?(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground",children:n("label.builtin")}):(0,t.jsx)("button",{onClick:()=>h(e.id),className:"text-xs text-rose-400 hover:text-rose-300",children:n("common.delete")})]},e.id)),(0,t.jsxs)("div",{className:"border-t border-border pt-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(N.Input,{placeholder:n("label.name"),value:l,onChange:e=>c(e.target.value),onKeyDown:e=>"Enter"===e.key&&e.preventDefault(),className:"flex-1 h-8"}),(0,t.jsx)(w.Button,{size:"sm",onClick:m,disabled:!l.trim(),className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:n("label.add")})]}),(0,t.jsx)("div",{className:"mt-2 flex gap-1.5",children:_.map(e=>(0,t.jsx)("button",{onClick:()=>u(e),className:`h-5 w-5 rounded-full transition-all ${d===e?"ring-2 ring-offset-2 ring-offset-background ring-foreground/30 scale-110":""}`,style:{backgroundColor:e}},e))})]})]})]})})}e.i(508271);var U=e.i(841359),H=e.i(289813);let K=(0,H.create)(e=>({createProjectOpen:!1,importProjectOpen:!1,setCreateProjectOpen:t=>e({createProjectOpen:t}),setImportProjectOpen:t=>e({importProjectOpen:t})}));var V=e.i(821957),G=e.i(738690),q=e.i(386343);let X=(0,x.default)("command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]);var J=e.i(242941),Y=e.i(989548),Z=e.i(387091),Q=e.i(15299);e.s([],678787),e.i(678787),e.i(708878);var ee=e.i(581263),et=e.i(462902);let er=r.createContext(void 0);function es(){let e=r.useContext(er);if(void 0===e)throw Error((0,et.default)(13));return e}let ea={imageLoadingStatus:()=>null},en=r.forwardRef(function(e,s){let{className:a,render:n,...o}=e,[i,l]=r.useState("idle"),c=r.useMemo(()=>({imageLoadingStatus:i,setImageLoadingStatus:l}),[i,l]),d=(0,ee.useRenderElement)("span",e,{state:{imageLoadingStatus:i},ref:s,props:o,stateAttributesMapping:ea});return(0,t.jsx)(er.Provider,{value:c,children:d})});var eo=e.i(887642),ei=e.i(804849),el=e.i(504068),ec=e.i(809058),ed=e.i(193214),eu=e.i(954588);let em={...ea,...ec.transitionStatusMapping},eh=r.forwardRef(function(e,t){let{className:s,render:a,onLoadingStatusChange:n,referrerPolicy:o,crossOrigin:i,...l}=e,c=es(),d=function(e,{referrerPolicy:t,crossOrigin:s}){let[a,n]=r.useState("idle");return(0,ei.useIsoLayoutEffect)(()=>{if(!e)return n("error"),eu.NOOP;let r=!0,a=new window.Image,o=e=>()=>{r&&n(e)};return n("loading"),a.onload=o("loaded"),a.onerror=o("error"),t&&(a.referrerPolicy=t),a.crossOrigin=s??null,a.src=e,()=>{r=!1}},[e,s,t]),a}(e.src,{referrerPolicy:o,crossOrigin:i}),u="loaded"===d,{mounted:m,transitionStatus:h,setMounted:x}=(0,ed.useTransitionStatus)(u),p=r.useRef(null),g=(0,eo.useStableCallback)(e=>{n?.(e),c.setImageLoadingStatus(e)});(0,ei.useIsoLayoutEffect)(()=>{"idle"!==d&&g(d)},[d,g]),(0,el.useOpenChangeComplete)({open:u,ref:p,onComplete(){u||x(!1)}});let f=(0,ee.useRenderElement)("img",e,{state:{imageLoadingStatus:d,transitionStatus:h},ref:[t,p],props:l,stateAttributesMapping:em,enabled:m});return m?f:null});var ex=e.i(161476);let ep=r.forwardRef(function(e,t){let{className:s,render:a,delay:n,...o}=e,{imageLoadingStatus:i}=es(),[l,c]=r.useState(void 0===n),d=(0,ex.useTimeout)();return r.useEffect(()=>(void 0!==n&&d.start(n,()=>c(!0)),d.clear),[d,n]),(0,ee.useRenderElement)("span",e,{state:{imageLoadingStatus:i},ref:t,props:o,stateAttributesMapping:ea,enabled:"loaded"!==i&&l})});e.s(["Fallback",0,ep,"Image",0,eh,"Root",0,en],129448);var eg=e.i(129448),eg=eg,ef=e.i(975157);function ej({className:e,size:r="default",...s}){return(0,t.jsx)(eg.Root,{"data-slot":"avatar","data-size":r,className:(0,ef.cn)("group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten",e),...s})}function eb({className:e,...r}){return(0,t.jsx)(eg.Fallback,{"data-slot":"avatar-fallback",className:(0,ef.cn)("flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs",e),...r})}let ev=(0,x.default)("folder-kanban",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M12 10v2",key:"hh53o1"}],["path",{d:"M16 10v6",key:"1d6xys"}]]);var ew=e.i(226145);let eN=(0,x.default)("sticky-note",[["path",{d:"M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z",key:"1dfntj"}],["path",{d:"M15 3v5a1 1 0 0 0 1 1h5",key:"6s6qgf"}]]),ey=(0,x.default)("package-2",[["path",{d:"M12 3v6",key:"1holv5"}],["path",{d:"M16.76 3a2 2 0 0 1 1.8 1.1l2.23 4.479a2 2 0 0 1 .21.891V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V9.472a2 2 0 0 1 .211-.894L5.45 4.1A2 2 0 0 1 7.24 3z",key:"187q7i"}],["path",{d:"M3.054 9.013h17.893",key:"grwhos"}]]);var ek=e.i(657153);let eC=(0,y.createServerReference)("60ecfea1ec1b61566df8bd7edc9723fb9ab08e75b6",y.callServer,void 0,y.findSourceMapURL,"globalSearch");var eS=e.i(867246);let eT=[{id:"all",key:"search.all",icon:G.Search},{id:"task",key:"search.task",icon:m.FileText},{id:"project",key:"search.project",icon:ev},{id:"repository",key:"search.repository",icon:ew.GitBranch},{id:"note",key:"search.note",icon:eN},{id:"asset",key:"search.asset",icon:ey}],eP=["task","project","repository","note","asset"],eD={task:"search.task",project:"search.project",repository:"search.repository",note:"search.note",asset:"search.asset"};function eO({result:e,onSelect:r}){let s=eT.find(t=>t.id===e.type)?.icon??m.FileText;return(0,t.jsxs)("button",{onClick:()=>r(e),className:"flex w-full items-center gap-3 border-b border-border/30 px-4 py-3 text-left transition-colors hover:bg-accent last:border-b-0",children:[(0,t.jsx)("div",{className:"rounded-md bg-muted p-1.5",children:(0,t.jsx)(s,{className:"h-3.5 w-3.5 text-muted-foreground"})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("div",{className:"text-sm font-medium text-foreground truncate",children:e.title}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground truncate",children:e.subtitle}),e.snippet&&(0,t.jsx)("div",{className:"text-xs text-muted-foreground/70 truncate mt-0.5",children:e.snippet})]})]})}function eI({open:e,onOpenChange:a}){let n,{t:o}=(0,$.useI18n)(),i=(0,s.useRouter)(),[l,c]=(0,r.useState)(""),[d,u]=(0,r.useState)("all"),[m,h]=(0,r.useState)([]),[x,p]=(0,r.useState)(!1),[g,f]=(0,r.useState)(250),v=(0,r.useRef)(null),N=(0,r.useRef)(null);(0,r.useEffect)(()=>{e&&((0,eS.getConfigValue)("search.debounceMs",250).then(f),setTimeout(()=>v.current?.focus(),100),c(""),h([]))},[e]),(0,r.useEffect)(()=>{if(N.current&&clearTimeout(N.current),!l.trim()){h([]),p(!1);return}p(!0);let e=!1;return N.current=setTimeout(async()=>{let t=await eC(l,d);e||(h(t),p(!1))},g),()=>{N.current&&clearTimeout(N.current),e=!0}},[l,d,g]);let y=(0,r.useCallback)(e=>{i.push(e.navigateTo),a(!1)},[i,a]);return(0,t.jsx)(b.Dialog,{open:e,onOpenChange:a,children:(0,t.jsxs)(b.DialogContent,{className:"sm:max-w-lg p-0 gap-0 overflow-hidden !top-[10vh] !-translate-y-0",showCloseButton:!1,children:[(0,t.jsxs)("div",{className:"flex items-center border-b border-border px-4",children:[(0,t.jsx)(G.Search,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("input",{ref:v,value:l,onChange:e=>c(e.target.value),placeholder:o("search.placeholder"),className:"flex-1 bg-transparent px-3 py-3.5 text-sm text-foreground placeholder-muted-foreground outline-none"}),l&&(0,t.jsx)(w.Button,{variant:"ghost",size:"icon",onClick:()=>{c(""),h([])},className:"text-muted-foreground",children:(0,t.jsx)(ek.X,{className:"h-3.5 w-3.5"})})]}),(0,t.jsx)("div",{className:"flex items-center gap-1 border-b border-border px-4 py-2",children:eT.map(e=>{let r=e.icon;return(0,t.jsxs)("button",{onClick:()=>u(e.id),className:`flex items-center gap-1.5 rounded-md px-2.5 py-1 text-xs font-medium transition-all ${d===e.id?"bg-primary/10 text-primary ring-1 ring-primary/20":"text-muted-foreground hover:bg-accent hover:text-foreground"}`,children:[(0,t.jsx)(r,{className:"h-3 w-3"}),o(e.key)]},e.id)})}),(0,t.jsxs)(j.ScrollArea,{className:"max-h-80",children:[!l.trim()&&(0,t.jsx)("div",{className:"flex items-center justify-center py-12 text-sm text-muted-foreground",children:o("search.typeToSearch")}),l.trim()&&0===m.length&&!x&&(0,t.jsx)("div",{className:"flex items-center justify-center py-12 text-sm text-muted-foreground",children:o("search.noResults")}),"all"===d&&m.length>0&&(n=m.reduce((e,t)=>((e[t.type]??=[]).push(t),e),{}),eP.filter(e=>n[e]?.length).map(e=>(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"px-4 py-1.5 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground bg-muted/50",children:o(eD[e])}),n[e].map(e=>(0,t.jsx)(eO,{result:e,onSelect:y},`${e.type}-${e.id}`))]},e))),"all"!==d&&m.map(e=>(0,t.jsx)(eO,{result:e,onSelect:y},`${e.type}-${e.id}`))]})]})})}var e$=e.i(338187),eM=e.i(400355),eL=e.i(597746),eA=e.i(938499),eR=e.i(233274),ez=e.i(905455),eE=e.i(624687);function eB(e){return e.replace(/\.git\/?$/,"")}e.i(465536),e.i(930787);let eF=(0,y.createServerReference)("406446cc2b798b6d5a8041b1a353ccdb1582682094",y.callServer,void 0,y.findSourceMapURL,"resolveGitLocalPathWithSource");var e_=e.i(604458),eW=e.i(224277);function eU({open:e,onOpenChange:s,onCreateProject:a}){let{t:n,locale:o}=(0,$.useI18n)(),[i,l]=(0,r.useState)(""),[c,d]=(0,r.useState)(""),[u,m]=(0,r.useState)(""),[x,p]=(0,r.useState)(""),[g,f]=(0,r.useState)(""),[j,y]=(0,r.useState)(!1),[k,C]=(0,r.useState)("empty"),[S,T]=(0,r.useState)("FRONTEND"),[P,D]=(0,r.useState)("idle"),[O,I]=(0,r.useState)(""),[L,A]=(0,r.useState)(!1),[R,z]=(0,r.useState)(!1),E=()=>{l(""),d(""),m(""),p(""),f(""),y(!1),C("empty"),T("FRONTEND"),D("idle"),I(""),A(!1)},B=async()=>{if(g.trim()&&!L&&"success"===P){A(!0);try{let e=await (0,e_.analyzeProjectDirectory)(g.trim(),o);m(e)}catch{M.toast.error(n("project.analyzeError"))}finally{A(!1)}}},F=async e=>{p(e),D("idle"),I("");let t=function(e){let t,r=e.match(/^git@([^:]+):(.+)$/);if(r)return{host:r[1],pathSegments:eB(r[2]).split("/").filter(Boolean)};try{t=new URL(e)}catch{return null}return{host:t.hostname,pathSegments:eB(decodeURIComponent(t.pathname)).split("/").filter(Boolean)}}(e);if(t&&t.pathSegments.length>0&&l(t.pathSegments[t.pathSegments.length-1]),!j){let{path:t,source:r}=await eF(e);f(t),C(r)}},_=async()=>{if(x.trim()&&g.trim()){D("cloning"),I("");try{let e=function(e){let t=e.trim();if(!t)return"";if(t.startsWith("git@")||t.startsWith("ssh://")||t.endsWith(".git"))return t;try{let e=new URL(t),r=e.hostname,s=decodeURIComponent(e.pathname).split("/").filter(Boolean);if("code.iflytek.com"===r){let e=[...s];"osc"===e[0]&&"_source"===e[1]&&(e=e.slice(2));let a=e.indexOf("-");if(a>0&&(e=e.slice(0,a)),0===e.length)return t;return`https://${r}/${e.join("/")}.git`}return`${e.origin}${e.pathname.replace(/\/$/,"")}.git`}catch{return t}}(x.trim()),t=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"clone",url:e,path:g.trim()})}),r=await t.json();if(!t.ok){D("error"),I(r.error||"Clone failed");return}D("success")}catch{D("error"),I("Network error")}}},W=async()=>{i.trim()&&(await a?.({name:i.trim(),alias:c.trim()||void 0,description:u.trim()||void 0,gitUrl:x.trim()||void 0,localPath:g.trim()||void 0,projectType:S}),E(),s(!1))};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(b.Dialog,{open:e,onOpenChange:e=>{s(e),e||E()},disablePointerDismissal:!0,children:(0,t.jsxs)(b.DialogContent,{style:{maxWidth:"32rem"},children:[(0,t.jsx)(b.DialogHeader,{children:(0,t.jsx)(b.DialogTitle,{children:n("topbar.newProject")})}),(0,t.jsxs)("div",{className:"space-y-4 py-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:n("project.gitUrl")}),(0,t.jsx)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:n("project.gitUrlHint")}),(0,t.jsx)(N.Input,{placeholder:n("project.gitPlaceholder"),value:x,onChange:e=>F(e.target.value),className:"mt-1.5 font-mono text-xs"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:n("project.localPath")}),(0,t.jsx)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:n("project.localPathHint")}),(0,t.jsxs)("div",{className:"mt-1.5 flex gap-2",children:[(0,t.jsx)(N.Input,{placeholder:n("project.localPathPlaceholder"),value:g,onChange:e=>{f(e.target.value),y(!0)},className:"flex-1 min-w-0 font-mono text-xs"}),(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsxs)(v.TooltipTrigger,{render:(0,t.jsx)(w.Button,{type:"button",variant:"outline",onClick:()=>z(!0),className:"shrink-0 gap-1.5 px-2.5 text-xs text-muted-foreground"}),children:[(0,t.jsx)(h.FolderOpen,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{children:n("folder.browse")})]}),(0,t.jsx)(v.TooltipContent,{children:n("folder.selectFolder")})]})]}),g.trim().startsWith("~")&&(0,t.jsxs)("p",{className:"mt-1 flex items-center gap-1 text-[11px] text-amber-400",children:[(0,t.jsx)(eA.AlertCircle,{className:"h-3 w-3"}),n("project.tildeWarning")]}),!j&&"fallback"===k&&x.trim()&&g.trim()&&(0,t.jsxs)("p",{className:"mt-1 flex items-center gap-1 text-[11px] text-muted-foreground",children:[(0,t.jsx)(eA.AlertCircle,{className:"h-3 w-3 shrink-0"}),n("project.gitPathFallbackHint")]}),x.trim()&&g.trim()&&(0,t.jsxs)("div",{className:"mt-2 flex items-center gap-2",children:[(0,t.jsxs)(w.Button,{type:"button",disabled:"cloning"===P||"success"===P,onClick:_,className:"gap-1.5 text-xs bg-emerald-500/15 text-emerald-300 ring-1 ring-emerald-500/25 hover:bg-emerald-500/25 disabled:opacity-50",children:["cloning"===P?(0,t.jsx)(eM.Loader2,{className:"h-3 w-3 animate-spin"}):"success"===P?(0,t.jsx)(eL.Check,{className:"h-3 w-3"}):(0,t.jsx)(ew.GitBranch,{className:"h-3 w-3"}),"cloning"===P?n("git.cloning"):"success"===P?n("git.cloned"):n("git.clone")]}),"error"===P&&(0,t.jsxs)("span",{className:"flex items-center gap-1 text-[11px] text-rose-400",children:[(0,t.jsx)(eA.AlertCircle,{className:"h-3 w-3"}),O]}),"success"===P&&(0,t.jsx)("span",{className:"text-[11px] text-emerald-400",children:n("git.cloneSuccess")})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:n("project.name")}),(0,t.jsx)(N.Input,{placeholder:n("project.namePlaceholder"),value:i,onChange:e=>l(e.target.value),className:"mt-1.5"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:n("project.type.label")}),(0,t.jsx)("div",{className:"mt-1.5",children:(0,t.jsx)(ez.SegmentedControl,{options:[{value:"FRONTEND",label:n("project.type.frontend")},{value:"BACKEND",label:n("project.type.backend")}],value:S,onChange:T})})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:n("project.alias")}),(0,t.jsx)(N.Input,{placeholder:n("project.aliasPlaceholder"),value:c,onChange:e=>d(e.target.value),className:"mt-1.5"})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mt-0.5",children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:n("project.description")}),(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsxs)(v.TooltipTrigger,{render:(0,t.jsx)(w.Button,{type:"button",variant:"ghost",onClick:B,className:`h-6 gap-1 px-2 text-[11px] text-muted-foreground hover:text-foreground ${!g.trim()||L?"opacity-50":""}`}),children:[L?(0,t.jsx)(eM.Loader2,{className:"h-3 w-3 animate-spin"}):(0,t.jsx)(eR.Sparkles,{className:"h-3 w-3"}),L?n("project.analyzing"):n("project.genDesc")]}),(0,t.jsx)(v.TooltipContent,{children:g.trim()?"success"!==P?n("project.genDescNotCloned"):n("project.genDescReady"):n("project.genDescNoPath")})]})]}),(0,t.jsx)(eE.Textarea,{placeholder:n("project.descPlaceholder"),value:u,onChange:e=>m(e.target.value),rows:3,className:"mt-1.5 w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground outline-none transition-colors focus:border-ring focus:ring-1 focus:ring-ring resize-none max-h-[200px] overflow-y-auto"})]})]}),(0,t.jsxs)(b.DialogFooter,{children:[(0,t.jsx)(w.Button,{variant:"outline",onClick:()=>{s(!1),E()},children:n("common.cancel")}),(0,t.jsx)(w.Button,{onClick:W,disabled:!i.trim()||L,className:"bg-primary/10 text-primary ring-1 ring-primary/25 hover:bg-primary/20",children:n("common.create")})]})]})}),(0,t.jsx)(eW.FolderBrowserDialog,{open:R,onOpenChange:z,onSelect:e=>{if(f(e),y(!0),!i.trim()){let t=e.replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean).pop()??"";t&&l(t)}}})]})}var eH=e.i(579157),eK=e.i(699375);let eV=(0,y.createServerReference)("404ef38e3210ade662b09756d1418c29f2fab30709",y.callServer,void 0,y.findSourceMapURL,"resolveGitLocalPath"),eG=(0,y.createServerReference)("605f4443fc3374e185454b9d921f0c30c20bf69e58",y.callServer,void 0,y.findSourceMapURL,"migrateProjectPath"),eq=(0,y.createServerReference)("404f136c41eadb3e97a68b430fbc2fa599ad9d4d57",y.callServer,void 0,y.findSourceMapURL,"checkMigrationSafety");function eX({open:e,onOpenChange:s,onCreateProject:a}){let{t:n,locale:o}=(0,$.useI18n)(),[i,l]=(0,r.useState)(""),[c,d]=(0,r.useState)(""),[u,m]=(0,r.useState)(""),[x,p]=(0,r.useState)(""),[g,f]=(0,r.useState)(""),[j,y]=(0,r.useState)(!1),[k,C]=(0,r.useState)("FRONTEND"),[S,T]=(0,r.useState)(!1),[P,D]=(0,r.useState)(!1),[O,I]=(0,r.useState)(""),[L,A]=(0,r.useState)(!1),[R,z]=(0,r.useState)(""),[E,B]=(0,r.useState)(""),[F,_]=(0,r.useState)(!1),[W,U]=(0,r.useState)(!1),H=()=>{l(""),d(""),m(""),p(""),f(""),C("FRONTEND"),T(!1),D(!1),I(""),A(!1),z(""),B(""),_(!1),U(!1)},K=async e=>{f(e),T(!1),D(!1),I(""),z(""),B(""),_(!1),l(e.replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean).pop()??"");try{let t=await fetch(`/api/git?path=${encodeURIComponent(e)}`);if(t.ok){let e=await t.json();if(e.isGit&&e.remoteUrl){p(e.remoteUrl),T(!0);let t=e.remoteUrl.match(/\/([^/]+?)(?:\.git)?$/);t&&l(t[1])}}}catch{}},V=(0,r.useCallback)(async e=>{if(D(e),z(""),B(""),_(!1),!e)return void I("");if(x)try{let e=await eV(x);e&&(I(e),e===g&&_(!0))}catch{}if(g)try{let e=await fetch(`/api/git?path=${encodeURIComponent(g)}&checkWorktrees=true`);e.ok&&(await e.json()).hasWorktrees&&B(n("project.worktreeWarning"))}catch{}},[x,g]),G=async()=>{if(g&&!W){U(!0);try{let e=await (0,e_.analyzeProjectDirectory)(g.trim(),o);m(e)}catch{M.toast.error(n("project.analyzeError"))}finally{U(!1)}}},q=async()=>{if(!i.trim())return;let e={name:i.trim(),alias:c.trim()||void 0,description:u.trim()||void 0,gitUrl:x.trim()||void 0,localPath:g.trim()||void 0,projectType:k},t=await a?.(e);if(P&&O&&O!==g&&t&&"id"in t){A(!0),z("");try{let e=await eq(t.id);if(!e.safe)return void z(e.reason);let r=await eG(t.id,O);if(!r.success)return void z(r.error??n("project.migrateError"));M.toast.success(n("project.migrateSuccess"))}catch(t){let e=t instanceof Error?t.message:String(t);z(`${n("project.migrateError")}:${e}`);return}finally{A(!1)}}H(),s(!1)},X=!i.trim()||!g.trim()||L||W||P&&!!E;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(b.Dialog,{open:e,onOpenChange:e=>{s(e),e||H()},disablePointerDismissal:!0,children:(0,t.jsxs)(b.DialogContent,{style:{maxWidth:"32rem"},children:[(0,t.jsx)(b.DialogHeader,{children:(0,t.jsx)(b.DialogTitle,{children:n("topbar.importProject")})}),(0,t.jsxs)("div",{className:"space-y-4 py-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:n("project.localPath")}),(0,t.jsx)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:n("project.importHint")}),(0,t.jsxs)("div",{className:"mt-1.5 flex gap-2",children:[(0,t.jsx)(N.Input,{value:g,readOnly:!0,placeholder:n("project.localPathPlaceholder"),className:"flex-1 font-mono text-xs bg-muted/30"}),(0,t.jsxs)(w.Button,{type:"button",variant:"outline",onClick:()=>y(!0),className:"shrink-0 gap-1.5",children:[(0,t.jsx)(h.FolderOpen,{className:"h-3.5 w-3.5"}),n("folder.browse")]})]}),S&&(0,t.jsx)("p",{className:"mt-1.5 text-[11px] text-emerald-400",children:n("project.autoDetected")})]}),x&&(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:n("project.gitUrl")}),(0,t.jsx)(N.Input,{value:x,onChange:e=>p(e.target.value),className:"mt-1.5 font-mono text-xs"})]}),S&&g&&(0,t.jsxs)("div",{className:"rounded-md border border-border p-3 space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-xs font-medium",children:n("project.migrate")}),(0,t.jsx)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:n("project.migrateHint")})]}),(0,t.jsx)(eK.Switch,{checked:P,onCheckedChange:e=>V(e)})]}),P&&(0,t.jsxs)("div",{className:"space-y-2 pt-1",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-[10px] font-medium text-muted-foreground",children:n("project.targetPath")}),(0,t.jsx)(N.Input,{value:O,onChange:e=>{I(e.target.value),_(e.target.value===g)},placeholder:"/path/to/canonical/location",className:"mt-1 font-mono text-xs"})]}),F&&(0,t.jsxs)("p",{className:"flex items-center gap-1 text-[11px] text-sky-400",children:[(0,t.jsx)(eH.Info,{className:"h-3 w-3"}),n("project.samePathInfo")]}),E&&(0,t.jsxs)("p",{className:"flex items-center gap-1 text-[11px] text-amber-400",children:[(0,t.jsx)(eA.AlertCircle,{className:"h-3 w-3"}),E]}),R&&(0,t.jsxs)("p",{className:"flex items-center gap-1 text-[11px] text-rose-400",children:[(0,t.jsx)(eA.AlertCircle,{className:"h-3 w-3"}),R]})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:n("project.name")}),(0,t.jsx)(N.Input,{placeholder:n("project.namePlaceholder"),value:i,onChange:e=>l(e.target.value),className:"mt-1.5"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:n("project.type.label")}),(0,t.jsx)("div",{className:"mt-1.5",children:(0,t.jsx)(ez.SegmentedControl,{options:[{value:"FRONTEND",label:n("project.type.frontend")},{value:"BACKEND",label:n("project.type.backend")}],value:k,onChange:C})})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:n("project.alias")}),(0,t.jsx)(N.Input,{placeholder:n("project.aliasPlaceholder"),value:c,onChange:e=>d(e.target.value),className:"mt-1.5"})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mt-0.5",children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:n("project.description")}),(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsxs)(v.TooltipTrigger,{render:(0,t.jsx)(w.Button,{type:"button",variant:"ghost",onClick:G,className:`h-6 gap-1 px-2 text-[11px] text-muted-foreground hover:text-foreground ${!g||W?"opacity-50":""}`}),children:[W?(0,t.jsx)(eM.Loader2,{className:"h-3 w-3 animate-spin"}):(0,t.jsx)(eR.Sparkles,{className:"h-3 w-3"}),W?n("project.analyzing"):n("project.genDesc")]}),(0,t.jsx)(v.TooltipContent,{children:g?n("project.genDescReady"):n("project.genDescNoPath")})]})]}),(0,t.jsx)(eE.Textarea,{placeholder:n("project.descPlaceholder"),value:u,onChange:e=>m(e.target.value),rows:3,className:"mt-1.5 w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground outline-none transition-colors focus:border-ring focus:ring-1 focus:ring-ring resize-none max-h-[200px] overflow-y-auto"})]})]}),(0,t.jsxs)(b.DialogFooter,{children:[(0,t.jsx)(w.Button,{variant:"outline",onClick:()=>{s(!1),H()},children:n("common.cancel")}),(0,t.jsx)(w.Button,{onClick:q,disabled:X,className:"bg-primary/10 text-primary ring-1 ring-primary/25 hover:bg-primary/20",children:L?n("project.migrating"):n("common.create")})]})]})}),(0,t.jsx)(eW.FolderBrowserDialog,{open:j,onOpenChange:y,onSelect:e=>K(e)})]})}function eJ({className:e}){return(0,t.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",className:e,children:(0,t.jsx)("path",{d:"M12 .5C5.65.5.5 5.65.5 12.02c0 5.08 3.29 9.39 7.86 10.91.58.11.79-.25.79-.56v-2c-3.2.7-3.87-1.36-3.87-1.36-.52-1.34-1.27-1.7-1.27-1.7-1.04-.71.08-.7.08-.7 1.15.08 1.76 1.18 1.76 1.18 1.02 1.76 2.68 1.25 3.34.96.1-.74.4-1.25.72-1.54-2.56-.29-5.25-1.28-5.25-5.69 0-1.26.45-2.28 1.18-3.09-.12-.29-.51-1.46.11-3.04 0 0 .97-.31 3.18 1.18a11.1 11.1 0 0 1 5.79 0c2.2-1.49 3.18-1.18 3.18-1.18.62 1.58.23 2.75.11 3.04.74.81 1.18 1.83 1.18 3.09 0 4.42-2.69 5.4-5.25 5.69.41.36.78 1.05.78 2.12v3.14c0 .31.21.68.79.56A11.52 11.52 0 0 0 23.5 12.02C23.5 5.65 18.35.5 12 .5Z"})})}function eY({onCreateProject:e,username:a}){let{t:n,locale:i,setLocale:l}=(0,$.useI18n)(),{isOpen:c,toggleAssistant:d}=(0,e$.useAssistant)(),{resolvedTheme:u,toggleTheme:m,triggerRef:x}=function(){let{resolvedTheme:e,setTheme:t}=(0,V.useTheme)(),s=(0,r.useRef)(null),a=(0,r.useCallback)(r=>{let s="dark"===e?"light":"dark";if("u">typeof document&&"startViewTransition"in document&&!window.matchMedia("(prefers-reduced-motion: reduce)").matches){let e=r?.clientX??window.innerWidth/2,a=r?.clientY??0,n=Math.hypot(Math.max(e,window.innerWidth-e),Math.max(a,window.innerHeight-a));document.startViewTransition(()=>{t(s)}).ready.then(()=>{document.documentElement.animate({clipPath:[`circle(0px at ${e}px ${a}px)`,`circle(${n}px at ${e}px ${a}px)`]},{duration:400,easing:"ease-in-out",pseudoElement:"::view-transition-new(root)"})})}else t(s)},[e,t]);return{resolvedTheme:e,toggleTheme:a,triggerRef:s}}(),p=(0,s.useRouter)(),[g,j]=(0,r.useState)(!1),[b,N]=(0,r.useState)(!1),[y,k]=(0,r.useState)(!1);(0,U.useActionShortcut)("global.search",()=>j(!0));let C=K(e=>e.createProjectOpen),S=K(e=>e.importProjectOpen),T=K(e=>e.setCreateProjectOpen),P=K(e=>e.setImportProjectOpen);return(0,r.useEffect)(()=>{C&&N(!0)},[C]),(0,r.useEffect)(()=>{S&&k(!0)},[S]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("header",{className:"flex h-12 items-center justify-between border-b border-border bg-background/80 px-5 backdrop-blur-sm",children:[(0,t.jsx)("div",{className:"w-40"}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)(w.Button,{variant:"outline",onClick:()=>j(!0),className:"h-8 w-[400px] justify-start gap-2 bg-muted/50 text-muted-foreground hover:bg-muted",children:[(0,t.jsx)(G.Search,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"flex-1 text-left",suppressHydrationWarning:!0,children:n("topbar.searchPlaceholder")}),(0,t.jsxs)("kbd",{className:"mr-1 flex items-center gap-0.5 rounded border border-border bg-background px-1.5 py-0.5 text-[10px] font-mono",children:[(0,t.jsx)(X,{className:"h-2.5 w-2.5"}),"K"]})]}),(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{delay:500,render:(0,t.jsx)("button",{"data-tour":"open-assistant",onClick:d,"aria-label":n("assistant.iconLabel"),className:["cursor-pointer rounded-lg p-2 text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",c?"bg-accent text-foreground":""].join(" ")}),children:(0,t.jsx)(Y.Bot,{className:"h-4 w-4"})}),(0,t.jsx)(v.TooltipContent,{children:n("assistant.iconLabel")})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsxs)(v.TooltipTrigger,{render:(0,t.jsx)(w.Button,{variant:"ghost",onClick:()=>l("zh"===i?"en":"zh"),className:"text-muted-foreground"}),children:[(0,t.jsx)(J.Globe,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"text-[11px] font-semibold",children:"zh"===i?"EN":"中"})]}),(0,t.jsx)(v.TooltipContent,{children:n("settings.language")})]}),(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{render:(0,t.jsx)(w.Button,{ref:x,variant:"ghost",size:"icon",onClick:m,className:"text-muted-foreground"}),children:"dark"===u?(0,t.jsx)(Z.Sun,{className:"h-4 w-4"}):(0,t.jsx)(Q.Moon,{className:"h-4 w-4"})}),(0,t.jsx)(v.TooltipContent,{children:n("settings.theme")})]}),(0,t.jsxs)(v.Tooltip,{children:[(0,t.jsx)(v.TooltipTrigger,{render:(0,t.jsx)(w.Button,{variant:"ghost",size:"icon",onClick:()=>window.open("https://github.com/jp-liu/tower","_blank","noopener,noreferrer"),className:"text-muted-foreground","aria-label":n("topbar.github")}),children:(0,t.jsx)(eJ,{className:"h-4 w-4"})}),(0,t.jsx)(v.TooltipContent,{children:n("topbar.github")})]}),(0,t.jsx)("div",{className:"h-4 w-px bg-border"}),(0,t.jsxs)(w.Button,{variant:"outline",className:"gap-1.5 ring-1 ring-border hover:bg-accent",onClick:()=>k(!0),children:[(0,t.jsx)(h.FolderOpen,{className:"h-3.5 w-3.5"}),n("topbar.importProject")]}),(0,t.jsxs)(w.Button,{"data-tour":"create-project",className:"gap-1.5 bg-primary/10 text-primary ring-1 ring-primary/25 hover:bg-primary/20",onClick:()=>N(!0),children:[(0,t.jsx)(o.Plus,{className:"h-3.5 w-3.5"}),n("topbar.newProject")]}),(0,t.jsxs)(f.DropdownMenu,{children:[(0,t.jsx)(f.DropdownMenuTrigger,{render:(0,t.jsxs)("button",{className:"ml-0.5 flex cursor-pointer items-center gap-1.5 rounded-lg px-2.5 py-1 transition-colors hover:bg-accent",children:[a&&(0,t.jsx)("span",{className:"max-w-[80px] truncate text-xs text-muted-foreground",children:a}),(0,t.jsx)(ej,{className:"h-7 w-7 ring-1 ring-border",children:(0,t.jsx)(eb,{className:"bg-emerald-500/20 text-emerald-400 text-[10px] font-semibold",children:a?a.trim().split(/\s+/).filter(e=>e.length>0).slice(0,2).map(e=>e[0].toUpperCase()).join(""):"U"})})]})}),(0,t.jsx)(f.DropdownMenuContent,{align:"end",sideOffset:8,className:"w-40",children:(0,t.jsxs)(f.DropdownMenuItem,{onClick:()=>p.push("/settings"),children:[(0,t.jsx)(q.Settings,{className:"mr-2 h-3.5 w-3.5"}),n("settings.title")]})})]})]})]}),(0,t.jsx)(eI,{open:g,onOpenChange:j}),(0,t.jsx)(eU,{open:b,onOpenChange:e=>{N(e),e||T(!1)},onCreateProject:e}),(0,t.jsx)(eX,{open:y,onOpenChange:e=>{k(e),e||P(!1)},onCreateProject:e})]})}var eZ=e.i(83434),eQ=e.i(966001),e0=e.i(168871),e1=e.i(19578),e2=e.i(232280);let e5=(0,e1.default)(()=>e.A(427768).then(e=>({default:e.AssistantChat})),{loadableGenerated:{modules:[103363]},ssr:!1});function e4({mode:e}){let{isOpen:s,closeAssistant:a,sessions:n,activeSessionId:c,createNewSession:d,switchSession:u,removeSession:m,renameSession:h}=(0,e$.useAssistant)(),{t:x}=(0,$.useI18n)(),[p,g]=(0,r.useState)(null),[j,v]=(0,r.useState)(""),y=()=>{g(null),v("")},k=n.find(e=>e.id===c),C=k?.title??x("assistant.newSession");return(0,t.jsxs)("div",{className:"sidebar"===e?"min-w-[320px] max-w-[480px] w-[30vw] shrink-0 border-r border-border flex flex-col bg-sidebar overflow-hidden":"flex flex-col h-full overflow-hidden",children:[(0,t.jsxs)("div",{className:"header-sm flex items-center px-4 gap-2 bg-sidebar",children:[(0,t.jsx)(Y.Bot,{className:"h-4 w-4 text-muted-foreground shrink-0"}),(0,t.jsx)("span",{className:"text-sm font-semibold text-foreground shrink-0",children:x("assistant.title")}),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsxs)(f.DropdownMenu,{children:[(0,t.jsxs)(f.DropdownMenuTrigger,{className:"flex items-center gap-1 h-8 px-2 rounded-md text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground max-w-[120px] truncate","aria-label":x("assistant.sessionList"),children:[(0,t.jsx)("span",{className:"truncate",children:C}),(0,t.jsx)(e2.ChevronDown,{className:"h-3 w-3 shrink-0"})]}),(0,t.jsxs)(f.DropdownMenuContent,{side:"bottom",align:"end",sideOffset:4,className:"w-[280px]",children:[0===n.length?(0,t.jsx)("div",{className:"px-2 py-4 text-xs text-muted-foreground text-center",children:x("assistant.noSessions")}):(0,t.jsx)("div",{className:"max-h-[min(440px,50vh)] overflow-y-auto",children:n.map(e=>(0,t.jsxs)(f.DropdownMenuItem,{className:"flex items-center justify-between gap-1 pr-1",onClick:()=>u(e.id),children:[(0,t.jsxs)("div",{className:"flex flex-col gap-0.5 flex-1 min-w-0",children:[(0,t.jsx)("span",{className:"text-xs truncate",children:e.title}),(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground",children:function(e){let t=Math.floor((Date.now()-new Date(e).getTime())/1e3);if(t<60)return`${t}s ago`;let r=Math.floor(t/60);if(r<60)return`${r}m ago`;let s=Math.floor(r/60);if(s<24)return`${s}h ago`;let a=Math.floor(s/24);return`${a}d ago`}(e.updatedAt)})]}),(0,t.jsx)(w.Button,{variant:"ghost",className:"h-6 w-6 p-0 shrink-0 opacity-50 hover:opacity-100",onClick:t=>{var r;t.stopPropagation(),g({id:e.id,title:r=e.title}),v(r)},"aria-label":x("assistant.renameSession"),children:(0,t.jsx)(i.Pencil,{className:"h-3 w-3"})}),(0,t.jsx)(w.Button,{variant:"ghost",className:"h-6 w-6 p-0 shrink-0 opacity-50 hover:opacity-100 hover:text-destructive",onClick:t=>{t.stopPropagation(),m(e.id)},"aria-label":x("assistant.deleteSession"),children:(0,t.jsx)(l.Trash2,{className:"h-3 w-3"})})]},e.id))}),n.length>0&&(0,t.jsx)(f.DropdownMenuSeparator,{}),(0,t.jsxs)(f.DropdownMenuItem,{onClick:d,children:[(0,t.jsx)(o.Plus,{className:"h-3 w-3 mr-1"}),(0,t.jsx)("span",{className:"text-xs",children:x("assistant.newSession")})]})]})]}),(0,t.jsx)(w.Button,{variant:"ghost",size:"icon",className:"text-muted-foreground",onClick:d,"aria-label":x("assistant.newSession"),children:(0,t.jsx)(o.Plus,{className:"h-4 w-4"})})]}),(0,t.jsx)(w.Button,{variant:"ghost",size:"icon",className:"text-muted-foreground",onClick:a,"aria-label":x("assistant.closeLabel"),children:(0,t.jsx)(ek.X,{className:"h-4 w-4"})})]}),(0,t.jsx)("div",{className:"flex-1 overflow-hidden",children:s?(0,t.jsx)(e5,{}):null}),(0,t.jsx)(b.Dialog,{open:null!==p,onOpenChange:e=>{e||y()},children:(0,t.jsxs)(b.DialogContent,{children:[(0,t.jsx)(b.DialogHeader,{children:(0,t.jsx)(b.DialogTitle,{children:x("assistant.renameSessionTitle")})}),(0,t.jsx)(N.Input,{autoFocus:!0,value:j,onChange:e=>v(e.target.value),placeholder:x("assistant.renameSessionPlaceholder")}),(0,t.jsxs)(b.DialogFooter,{children:[(0,t.jsx)(w.Button,{variant:"outline",onClick:y,children:x("common.cancel")}),(0,t.jsx)(w.Button,{onClick:()=>{p&&j.trim()&&(h(p.id,j),y())},disabled:!j.trim(),children:x("common.save")})]})]})})]})}var e3=e.i(125177);function e8({onDismiss:e}){let{t:s}=(0,$.useI18n)(),[a,n]=(0,r.useState)(!1);(0,r.useEffect)(()=>{"Notification"in window&&"default"===window.Notification.permission&&n(!0)},[]);let o=async()=>{"default"!==await window.Notification.requestPermission()&&(n(!1),e?.())};return a?(0,t.jsxs)("div",{className:"fixed top-3 left-1/2 -translate-x-1/2 z-[9999] w-auto max-w-lg bg-card border rounded-lg shadow-lg px-4 py-2.5 flex items-center gap-3 animate-in fade-in slide-in-from-top-4 duration-500",children:[(0,t.jsx)(e3.Bell,{className:"h-4 w-4 shrink-0 text-primary"}),(0,t.jsx)("span",{className:"flex-1 text-sm",children:s("notification.permissionPrompt")}),(0,t.jsx)(w.Button,{size:"default",onClick:o,children:s("notification.allow")}),(0,t.jsx)(w.Button,{variant:"ghost",size:"default",onClick:()=>{n(!1),e?.()},children:s("notification.dismiss")})]}):null}var e6=e.i(507971),e7=e.i(364151);let e9=[{target:"create-workspace",titleKey:"tour.step1.title",descKey:"tour.step1.desc",placement:"right"},{target:"create-project",titleKey:"tour.step2.title",descKey:"tour.step2.desc",placement:"bottom",waitForTarget:!0},{target:"open-assistant",titleKey:"tour.step3.title",descKey:"tour.step3.desc",placement:"bottom"}];function te({onComplete:e}){let{t:s}=(0,$.useI18n)(),[a,n]=(0,r.useState)(0),[o,i]=(0,r.useState)(null),[l,c]=(0,r.useState)(!1),d=(0,r.useRef)(null),u=e9[a],m=(0,r.useCallback)(async()=>{await (0,e7.setConfigValue)("onboarding.tourCompleted",!0),e()},[e]),h=(0,r.useCallback)(()=>u?document.querySelector(`[data-tour="${u.target}"]`):null,[u]),x=(0,r.useCallback)(()=>{let e=h();e?(i(e.getBoundingClientRect()),c(!0)):c(!1)},[h]);(0,r.useEffect)(()=>{x();let e=null;!l&&u?.waitForTarget&&(d.current=new MutationObserver(()=>{let t=h();t&&(i(t.getBoundingClientRect()),c(!0),d.current?.disconnect(),e&&clearTimeout(e))}),d.current.observe(document.body,{childList:!0,subtree:!0}),e=setTimeout(()=>{!h()&&(n(e=>{let t=e+1;return t<e9.length?t:e}),a>=e9.length-1&&m())},5e3));let t=()=>x();return window.addEventListener("resize",t),window.addEventListener("scroll",t,!0),()=>{d.current?.disconnect(),e&&clearTimeout(e),window.removeEventListener("resize",t),window.removeEventListener("scroll",t,!0)}},[a,u,h,x,l,m]),(0,r.useEffect)(()=>{let e=setInterval(x,1e3);return()=>clearInterval(e)},[x]);let p=(0,r.useCallback)(()=>{a<e9.length-1?(n(e=>e+1),c(!1)):m()},[a]);return u?(0,t.jsx)(t.Fragment,{children:l&&o&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"fixed inset-0 z-[10000]",style:{background:`radial-gradient(
2
- ellipse at ${o.left+o.width/2}px ${o.top+o.height/2}px,
3
- transparent ${Math.max(o.width,o.height)}px,
4
- rgba(0,0,0,0.6) ${Math.max(o.width,o.height)+30}px
5
- )`},onClick:p}),(0,t.jsx)("div",{className:"pointer-events-none fixed z-[10001] rounded-lg ring-2 ring-amber-400 ring-offset-2 ring-offset-background",style:{left:o.left-4,top:o.top-4,width:o.width+8,height:o.height+8}}),(0,t.jsxs)("div",{className:"fixed z-[10002] w-72 rounded-xl border border-border bg-card p-4 shadow-2xl",style:(()=>{if(!o)return{display:"none"};let e={position:"fixed",zIndex:10001};switch(u.placement){case"right":e.left=o.right+12,e.top=o.top+o.height/2,e.transform="translateY(-50%)";break;case"bottom":e.left=o.left+o.width/2,e.top=o.bottom+12,e.transform="translateX(-50%)";break;case"left":e.right=window.innerWidth-o.left+12,e.top=o.top+o.height/2,e.transform="translateY(-50%)";break;case"top":e.left=o.left+o.width/2,e.bottom=window.innerHeight-o.top+12,e.transform="translateX(-50%)"}return e})(),children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:s(u.titleKey)}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground leading-relaxed",children:s(u.descKey)})]}),(0,t.jsx)("button",{onClick:m,className:"shrink-0 rounded-md p-1 text-muted-foreground hover:bg-accent hover:text-foreground",children:(0,t.jsx)(ek.X,{className:"h-3.5 w-3.5"})})]}),(0,t.jsxs)("div",{className:"mt-3 flex items-center justify-between",children:[(0,t.jsx)("div",{className:"flex gap-1",children:e9.map((e,r)=>(0,t.jsx)("div",{className:`h-1.5 w-1.5 rounded-full ${r===a?"bg-amber-400":r<a?"bg-amber-400/40":"bg-muted"}`},r))}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(w.Button,{variant:"ghost",className:"h-7 px-2 text-xs text-muted-foreground",onClick:m,children:s("tour.skip")}),(0,t.jsx)(w.Button,{className:"h-7 px-3 text-xs bg-amber-500/15 text-amber-300 ring-1 ring-amber-500/25 hover:bg-amber-500/25",onClick:p,children:s(a<e9.length-1?"tour.next":"tour.done")})]})]})]})]})}):null}var tt=e.i(469051);let tr=(0,x.default)("sun-moon",[["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M14.837 16.385a6 6 0 1 1-7.223-7.222c.624-.147.97.66.715 1.248a4 4 0 0 0 5.26 5.259c.589-.255 1.396.09 1.248.715",key:"xlf6rm"}],["path",{d:"M16 12a4 4 0 0 0-4-4",key:"6vsxu"}],["path",{d:"m19 5-1.256 1.256",key:"1yg6a6"}],["path",{d:"M20 12h2",key:"1q8mjw"}]]);var ts=e.i(769757),ta=e.i(360325),tn=e.i(317056);let to=(0,H.create)(e=>({open:!1,setOpen:t=>e({open:t}),toggle:()=>e(e=>({open:!e.open}))})),ti=(0,H.create)(e=>({open:!1,setOpen:t=>e({open:t}),toggle:()=>e(e=>({open:!e.open}))}));function tl(){let{t:e,locale:r,setLocale:a}=(0,$.useI18n)(),n=(0,s.useRouter)(),{resolvedTheme:i,setTheme:l}=(0,V.useTheme)(),c=to(e=>e.open),d=to(e=>e.setOpen),u=to(e=>e.toggle),m=K(e=>e.setCreateProjectOpen),x=K(e=>e.setImportProjectOpen),p=ti(e=>e.toggle);(0,U.useActionShortcut)("global.commandPalette",()=>u());let g=e=>{d(!1),e()};return(0,t.jsxs)(tn.CommandDialog,{open:c,onOpenChange:d,title:e("palette.title"),children:[(0,t.jsx)(tn.CommandInput,{placeholder:e("palette.placeholder")}),(0,t.jsxs)(tn.CommandList,{children:[(0,t.jsx)(tn.CommandEmpty,{children:e("palette.empty")}),(0,t.jsxs)(tn.CommandGroup,{heading:e("palette.group.navigation"),children:[(0,t.jsxs)(tn.CommandItem,{onSelect:()=>g(()=>n.push("/missions")),children:[(0,t.jsx)(tt.LayoutGrid,{}),e("palette.gotoMissions")]}),(0,t.jsxs)(tn.CommandItem,{onSelect:()=>g(()=>n.push("/settings")),children:[(0,t.jsx)(q.Settings,{}),e("palette.openSettings")]})]}),(0,t.jsxs)(tn.CommandGroup,{heading:e("palette.group.actions"),children:[(0,t.jsxs)(tn.CommandItem,{onSelect:()=>g(()=>m(!0)),children:[(0,t.jsx)(o.Plus,{}),e("palette.newProject")]}),(0,t.jsxs)(tn.CommandItem,{onSelect:()=>g(()=>x(!0)),children:[(0,t.jsx)(h.FolderOpen,{}),e("palette.importProject")]}),(0,t.jsxs)(tn.CommandItem,{onSelect:()=>g(()=>p()),children:[(0,t.jsx)(ta.Keyboard,{}),e("palette.openHelp")]})]}),(0,t.jsxs)(tn.CommandGroup,{heading:e("palette.group.preferences"),children:[(0,t.jsxs)(tn.CommandItem,{onSelect:()=>g(()=>l("dark"===i?"light":"dark")),children:[(0,t.jsx)(tr,{}),e("palette.toggleTheme")]}),(0,t.jsxs)(tn.CommandItem,{onSelect:()=>g(()=>a("zh"===r?"en":"zh")),children:[(0,t.jsx)(ts.Languages,{}),e("palette.toggleLocale")]})]})]})]})}var tc=e.i(371385),td=e.i(75566),tu=e.i(851289);let tm=["global","panels","missions"],th=new Set(["missions.cycleBack"]);function tx(){let{t:e}=(0,$.useI18n)(),s=ti(e=>e.open),a=ti(e=>e.setOpen),n=ti(e=>e.toggle),o=(0,td.useKeymapStore)(e=>e.overrides),[i,l]=(0,r.useState)("");(0,U.useActionShortcut)("global.help",()=>n());let c=i.trim().toLowerCase(),d=tm.map(t=>{let r=tc.SHORTCUT_ACTIONS.filter(e=>e.group===t&&!th.has(e.id)).map(t=>({id:t.id,description:e(t.descriptionKey),keys:(0,td.resolveKeysFrom)(o,t.id)})).filter(e=>!c||e.description.toLowerCase().includes(c));return{title:e(`shortcuts.group.${t}`),shortcuts:r}}).filter(e=>e.shortcuts.length>0);return(0,t.jsx)(b.Dialog,{open:s,onOpenChange:a,children:(0,t.jsxs)(b.DialogContent,{className:"sm:max-w-2xl",children:[(0,t.jsx)(b.DialogHeader,{children:(0,t.jsx)(b.DialogTitle,{children:e("shortcuts.help.title")})}),(0,t.jsx)(N.Input,{value:i,onChange:e=>l(e.target.value),placeholder:e("shortcuts.help.searchPlaceholder")}),(0,t.jsx)("div",{className:"max-h-[60vh] space-y-4 overflow-y-auto",children:d.map(e=>(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"mb-2 text-xs font-semibold text-muted-foreground",children:e.title}),(0,t.jsx)("div",{className:"space-y-0.5",children:e.shortcuts.map(e=>(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4 rounded-md px-2 py-1.5 text-sm",children:[(0,t.jsx)("span",{className:"truncate",children:e.description}),(0,t.jsx)("div",{className:"flex shrink-0 items-center",children:(0,t.jsx)(tu.KeyCombo,{keys:e.keys})})]},e.id))})]},e.title))})]})})}function tp({workspaces:e,isFirstRun:a,username:n,children:o,handleCreateProject:i}){let l=(0,s.usePathname)(),c=(0,s.useRouter)(),{isOpen:d,displayMode:u,closeAssistant:m}=(0,e$.useAssistant)();(0,U.useActionShortcut)("global.gotoWorkspace",t=>{let r=/^Digit([1-9])$/.exec(t.code);if(!r)return;let s=e[Number(r[1])-1];if(!s)return;let a=(0,I.getLastProjectId)(s.id);c.push(a?`/workspaces/${s.id}?projectId=${a}`:`/workspaces/${s.id}`)});let h=l.split("/workspaces/")[1]?.split("/")[0]||e[0]?.id;(0,U.useActionShortcut)("panels.taskManager",()=>c.push("/missions")),(0,U.useActionShortcut)("panels.assets",()=>{h&&c.push(`/workspaces/${h}/assets`)}),(0,U.useActionShortcut)("panels.notes",()=>{h&&c.push(`/workspaces/${h}/notes`)}),(0,U.useActionShortcut)("panels.archive",()=>{h&&c.push(`/workspaces/${h}/archive`)}),(0,r.useEffect)(()=>{a&&!l.startsWith("/onboarding")&&c.replace("/onboarding")},[a,l,c]);let[x,p]=(0,r.useState)(!1),[g,f]=(0,r.useState)(!1);(0,r.useEffect)(()=>{a||l.startsWith("/onboarding")||(0,eS.getConfigValue)("onboarding.tourCompleted",!1).then(e=>{e?f(!0):p(!0)})},[a,l]);let j=()=>{p(!1),f(!0)},[v,w]=(0,r.useState)(!0);(0,r.useEffect)(()=>{(0,eS.getConfigValue)("notification.enabled",!0).then(w)},[]);let N=l.startsWith("/onboarding");if(!function(e){let t=(0,r.useRef)(e),{t:s}=(0,$.useI18n)(),a=(0,r.useRef)(s);t.current=e,a.current=s,(0,r.useEffect)(()=>{if(!e)return;let r=null,s=null,n=!1;function o(e,t){"Notification"in window&&"granted"===window.Notification.permission?new window.Notification(e,{body:t,icon:"/web-app-manifest-192x192.png"}):M.toast.success(e,{description:t})}async function i(){if(n)return;let e=await (0,e6.getActualWsPort)();n||((r=new WebSocket(`ws://localhost:${e}/terminal?taskId=__notifications__`)).onmessage=e=>{if(t.current)try{let t=JSON.parse(e.data),r=a.current;if("type"in t&&"stop"===t.type){if("u"<typeof document||"hidden"!==document.visibilityState)return;o(t.taskTitle,`${t.projectName}:${r("notification.taskReplied")}`)}else o(t.taskTitle,r("COMPLETED"===t.status?"notification.taskCompleted":"notification.taskFailed"))}catch{}},r.onclose=()=>{n||(s=setTimeout(i,5e3))},r.onerror=()=>{r?.close()})}return i(),()=>{n=!0,s&&clearTimeout(s),r?.close()}},[e])}(v&&!N),N)return(0,t.jsx)(t.Fragment,{children:o});let y=/\/workspaces\/[^/]+\/tasks\/[^/]+/.test(l),k=/\/workspaces\/[^/]+\/(notes|assets|archive)/.test(l),C=d&&"sidebar"===u?(0,t.jsx)(e4,{mode:"sidebar"}):null,S="dialog"===u?(0,t.jsx)(b.Dialog,{open:d,onOpenChange:e=>{e||m()},children:(0,t.jsx)(b.DialogContent,{showCloseButton:!1,style:{width:"90vw",minWidth:"360px",maxWidth:"600px",height:"70vh",minHeight:"480px",maxHeight:"800px",padding:0},children:(0,t.jsx)(e4,{mode:"dialog"})})}):null;return y||k?(0,t.jsxs)(t.Fragment,{children:[g&&(0,t.jsx)(e8,{onDismiss:()=>f(!1)}),(0,t.jsx)("div",{className:"flex h-screen overflow-hidden",children:(0,t.jsxs)("div",{className:"flex flex-1 flex-col overflow-hidden",children:[(0,t.jsx)(eY,{onCreateProject:i,username:n}),(0,t.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[C,(0,t.jsx)("main",{className:"flex-1 overflow-hidden bg-background",children:(0,t.jsx)(eQ.ErrorBoundary,{children:o})})]})]})}),S,x&&(0,t.jsx)(te,{onComplete:j}),(0,t.jsx)(tl,{}),(0,t.jsx)(tx,{})]}):(0,t.jsxs)(t.Fragment,{children:[g&&(0,t.jsx)(e8,{onDismiss:()=>f(!1)}),(0,t.jsxs)("div",{className:"flex h-screen overflow-hidden",children:[(0,t.jsx)(E,{workspaces:e}),(0,t.jsxs)("div",{className:"flex flex-1 flex-col overflow-hidden",children:[(0,t.jsx)(eY,{onCreateProject:i,username:n}),(0,t.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[C,(0,t.jsx)("main",{className:"flex-1 overflow-auto bg-background",children:(0,t.jsx)(eQ.ErrorBoundary,{children:o})})]})]})]}),S,x&&(0,t.jsx)(te,{onComplete:j}),(0,t.jsx)(tl,{}),(0,t.jsx)(tx,{})]})}e.s(["LayoutClient",0,function({workspaces:e,isFirstRun:r,username:a,children:n}){let o=(0,s.useRouter)(),i=(0,s.usePathname)(),l=i.split("/workspaces/")[1]?.split("/")[0],c=async t=>{let r=l||(e.length>0?e[0].id:null);if(!r){let e=await k({name:"Default Workspace"}),r=await (0,e0.createProject)({...t,workspaceId:e.id});return o.refresh(),o.push(`/workspaces/${e.id}`),{id:r.id}}let s=await (0,e0.createProject)({...t,workspaceId:r});return o.refresh(),o.push(`/workspaces/${r}`),{id:s.id}};return(0,t.jsx)(e$.AssistantProvider,{children:(0,t.jsx)(eZ.TerminalPortalProvider,{children:(0,t.jsx)(tp,{workspaces:e,isFirstRun:r,username:a,handleCreateProject:c,children:n})})})}],914935)},782406,e=>{"use strict";var t=e.i(289721),r=e.i(821957);e.s(["ThemeProvider",0,function({children:e,...s}){return(0,t.jsx)(r.ThemeProvider,{...s,children:e})}])},713354,e=>{"use strict";var t=e.i(289721),r=e.i(821957),s=e.i(360112),a=e.i(59737),a=a,n=e.i(756502),n=n,o=e.i(567098),o=o;let i=(0,e.i(572989).default)("octagon-x",[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);var l=e.i(519587),l=l;e.s(["Toaster",0,({...e})=>{let{theme:c="system"}=(0,r.useTheme)();return(0,t.jsx)(s.Toaster,{theme:c,className:"toaster group",icons:{success:(0,t.jsx)(a.default,{className:"size-4"}),info:(0,t.jsx)(n.default,{className:"size-4"}),warning:(0,t.jsx)(o.default,{className:"size-4"}),error:(0,t.jsx)(i,{className:"size-4"}),loading:(0,t.jsx)(l.default,{className:"size-4 animate-spin"})},style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius)"},toastOptions:{classNames:{toast:"cn-toast"}},...e})}],713354)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,113399,e=>{"use strict";var t=e.i(289721),s=e.i(965652),a=e.i(538059),n=e.i(821957),i=e.i(533499),r=e.i(360112),l=e.i(519455),o=e.i(793479),c=e.i(624687),d=e.i(110204),m=e.i(487486),u=e.i(699375),x=e.i(776639),g=e.i(975157),h=e.i(591540),p=e.i(386343),f=e.i(572989);let b=(0,f.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 j=e.i(645378);let v=(0,f.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 N=e.i(125177),y=e.i(256753),w=e.i(245697),k=e.i(360325),C=e.i(657153),S=e.i(232545);let T=(0,f.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 D=e.i(998626);let M=(0,f.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"}]]);var B=e.i(867533);let R=(0,f.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 L=e.i(400355),P=e.i(882651),I=e.i(181209),U=e.i(453889),F=e.i(19671),E=e.i(368490),H=e.i(867246),V=e.i(364151),z=e.i(740081),$=e.i(514798);let K=(0,$.createServerReference)("005c2726b05a25fd0df69e27f64e4c4d3ac62d4aeb",$.callServer,void 0,$.findSourceMapURL,"getAvailableTerminalApps"),A=(0,$.createServerReference)("000978f807ee1c10e9f24a8760105b9a4286b20f03",$.callServer,void 0,$.findSourceMapURL,"getAvailableEditors");var O=e.i(243614);let W=(0,$.createServerReference)("405e5a97f4a478e4899cfc8b7ce4f6b6c97fc86e00",$.callServer,void 0,$.findSourceMapURL,"createPrompt"),q=(0,$.createServerReference)("601062409a7b3954f4a42883e96f14d7afb0370260",$.callServer,void 0,$.findSourceMapURL,"updatePrompt"),_=(0,$.createServerReference)("40421b2504036074195fa22b1e0c6c820a898b1d6e",$.callServer,void 0,$.findSourceMapURL,"deletePrompt"),G=(0,$.createServerReference)("004304143784128b08e36314b07306fa80d5ecbc60",$.callServer,void 0,$.findSourceMapURL,"getBuiltinPrompts"),X=(0,$.createServerReference)("406aa1e9f7d440ab65ea75aa271fd1cb3fbfbb8e74",$.callServer,void 0,$.findSourceMapURL,"saveSystemDirective"),Y=(0,$.createServerReference)("007eba1407880880480a86b1bb8c39f4a162834ed1",$.callServer,void 0,$.findSourceMapURL,"resetSystemDirective"),Z=(0,$.createServerReference)("0077b903d85d93767146dba4e8ac8db9fb0c852a56",$.callServer,void 0,$.findSourceMapURL,"getAvailableProviders");var J=e.i(746798),Q=e.i(224277);let ee=(0,f.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 et=e.i(631675);let es=(0,f.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 ea=e.i(922541),en=e.i(759686),ei=e.i(487278);let er=(0,$.createServerReference)("40447126abd2c5a63ed91a5f3e830fe183297ef8fa",$.callServer,void 0,$.findSourceMapURL,"createBackup"),el=(0,$.createServerReference)("00f1ed26f90c69edd42bfef3c401537f8b7cea3b1c",$.callServer,void 0,$.findSourceMapURL,"listBackupFiles"),eo=(0,$.createServerReference)("40e8466353ea4f7fc936124e5b9bc6959fa5e85767",$.callServer,void 0,$.findSourceMapURL,"deleteBackupFile"),ec=(0,$.createServerReference)("4017ddf42ac9ad60bd0ca32399cb77fd89c1dde7a3",$.callServer,void 0,$.findSourceMapURL,"restoreBackup"),ed=(0,$.createServerReference)("40ea8ccda8e40c448f0efdf57802533c899085f145",$.callServer,void 0,$.findSourceMapURL,"resetSystem"),em=(0,$.createServerReference)("0049e44e964b52c779ca7bd2c0b100be7448b7f227",$.callServer,void 0,$.findSourceMapURL,"getBackupDir"),eu=(0,$.createServerReference)("409f087619c775f2217c7340456a6c261f94f3a52f",$.callServer,void 0,$.findSourceMapURL,"setBackupDir"),ex=(0,$.createServerReference)("00cfe89ac15dcfa343a12995a8d5fcf4a4e1e65661",$.callServer,void 0,$.findSourceMapURL,"getStorageLocation"),eg=(0,$.createServerReference)("40ccbede9888dad3bec7d9b6f55ac4ba5b09f69dc9",$.callServer,void 0,$.findSourceMapURL,"setStorageLocation");function eh(){let{t:e,locale:n}=(0,i.useI18n)(),c=(0,a.useRouter)(),[d,m]=(0,s.useState)([]),[u,g]=(0,s.useState)(""),[h,p]=(0,s.useState)(!1),[f,b]=(0,s.useState)(null),[j,v]=(0,s.useState)(!1),[N,y]=(0,s.useState)(!0),[w,k]=(0,s.useState)(null),[C,S]=(0,s.useState)(!1),[T,M]=(0,s.useState)(""),B=(0,s.useRef)(null),[R,P]=(0,s.useState)(!1),[I,U]=(0,s.useState)(""),F=(0,s.useCallback)(async()=>{y(!0);try{let[e,t,s]=await Promise.all([el(),em(),ex()]);m(e),g(t),b(s)}finally{y(!1)}},[]);(0,s.useEffect)(()=>{F()},[F]);let E=async()=>{let t=T.trim()||void 0;S(!1),M(""),k("create");try{await er(t),r.toast.success(e("settings.backup.createSuccess")),await F()}catch{r.toast.error(e("settings.backup.createError"))}finally{k(null)}},H=async t=>{if(confirm(e("settings.backup.restoreConfirm"))){k("restore");try{await ec(t),r.toast.success(e("settings.backup.restoreSuccess"),{action:{label:e("settings.backup.reload"),onClick:()=>window.location.reload()},duration:15e3}),await F()}catch{r.toast.error(e("settings.backup.restoreError"))}finally{k(null)}}},V=async t=>{if(confirm(e("settings.backup.deleteConfirm")))try{await eo(t),r.toast.success(e("settings.backup.deleteSuccess")),m(e=>e.filter(e=>e.filename!==t))}catch{r.toast.error(e("settings.backup.deleteError"))}},z=async t=>{p(!1);try{await eu(t),g(t),r.toast.success(e("settings.backup.dirSaved")),await F()}catch{r.toast.error(e("settings.backup.dirError"))}},$=async t=>{k("storage");try{let s=await eg({newPath:t});if(!s.ok)return void r.toast.error(s.error||e("settings.storage.moveError"));r.toast.success(e("settings.storage.moveSuccess",{count:String(s.moved??0)})),await F()}catch(t){r.toast.error(t instanceof Error?t.message:e("settings.storage.moveError"))}finally{k(null)}},K=async t=>{v(!1),confirm(e("settings.storage.moveConfirm"))&&await $(t)},A=async()=>{!f||f.isDefault||confirm(e("settings.storage.resetConfirm"))&&await $(f.default)},O=async t=>{let s=t.target.files?.[0];if(s){t.target.value="",k("import");try{let t=new FormData;t.append("file",s);let a=await fetch("/api/internal/backup/import",{method:"POST",body:t});if(!a.ok){let t=await a.json();r.toast.error("Invalid backup archive"===t.error?e("settings.backup.importInvalid"):(t.error,e("settings.backup.importError")));return}r.toast.success(e("settings.backup.importSuccess")),await F()}catch{r.toast.error(e("settings.backup.importError"))}finally{k(null)}}},W=async()=>{if("RESET"===I){P(!1),U(""),k("reset");try{await ed("RESET"),r.toast.success(e("settings.backup.resetSuccess")),c.push("/")}catch{r.toast.error(e("settings.backup.resetError"))}finally{k(null)}}},q=null!==w;return(0,t.jsxs)("div",{className:"space-y-6",children:[("restore"===w||"reset"===w)&&(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-background/80 backdrop-blur-sm",children:(0,t.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[(0,t.jsx)(L.Loader2,{className:"h-8 w-8 animate-spin text-muted-foreground"}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"restore"===w?e("settings.backup.restoring"):e("settings.backup.resetting")})]})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-base font-semibold",children:e("settings.storage.sectionTitle")}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:e("settings.storage.hint")}),(0,t.jsxs)("div",{className:"mt-3 flex items-center gap-2 text-sm text-muted-foreground",children:[(0,t.jsxs)("span",{children:[e("settings.storage.current"),":"]}),(0,t.jsx)("code",{className:"rounded bg-muted px-2 py-0.5 text-xs",children:f?.current??"…"}),f?.isDefault&&(0,t.jsx)("span",{className:"rounded bg-muted px-1.5 py-0.5 text-[10px] text-muted-foreground",children:e("settings.storage.defaultBadge")}),(0,t.jsx)(l.Button,{variant:"ghost",onClick:()=>v(!0),disabled:"storage"===w,className:"text-xs text-muted-foreground",children:"storage"===w?(0,t.jsx)(L.Loader2,{className:"h-3 w-3 animate-spin"}):e("settings.storage.change")}),f&&!f.isDefault&&(0,t.jsx)(l.Button,{variant:"ghost",onClick:A,disabled:"storage"===w,className:"text-xs text-muted-foreground",children:e("settings.storage.reset")})]}),(0,t.jsx)(Q.FolderBrowserDialog,{open:j,onOpenChange:v,onSelect:K})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-base font-semibold",children:e("settings.backup.sectionTitle")}),(0,t.jsxs)("div",{className:"mt-3 flex items-center gap-2 text-sm text-muted-foreground",children:[(0,t.jsxs)("span",{children:[e("settings.backup.dir"),":"]}),(0,t.jsx)("code",{className:"rounded bg-muted px-2 py-0.5 text-xs",children:u}),(0,t.jsx)(l.Button,{variant:"ghost",onClick:()=>p(!0),className:"text-xs text-muted-foreground",children:e("settings.backup.dirChange")})]}),(0,t.jsx)(Q.FolderBrowserDialog,{open:h,onOpenChange:p,onSelect:z})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(l.Button,{onClick:()=>{M(""),S(!0)},disabled:q,className:"gap-2",children:"create"===w?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(L.Loader2,{className:"h-4 w-4 animate-spin"})," ",e("settings.backup.creating")]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ee,{className:"h-4 w-4"})," ",e("settings.backup.create")]})}),(0,t.jsxs)(J.Tooltip,{children:[(0,t.jsxs)(J.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"outline",disabled:q,onClick:()=>B.current?.click(),className:"gap-2"}),children:[(0,t.jsx)(es,{className:"h-4 w-4"}),e("settings.backup.import")]}),(0,t.jsx)(J.TooltipContent,{side:"bottom",sideOffset:4,children:e("settings.backup.importHint")})]}),(0,t.jsx)("input",{ref:B,type:"file",accept:".tar.gz,.gz",className:"hidden",onChange:O})]}),(0,t.jsx)(x.Dialog,{open:C,onOpenChange:S,children:(0,t.jsxs)(x.DialogContent,{className:"sm:max-w-sm",children:[(0,t.jsx)(x.DialogHeader,{children:(0,t.jsx)(x.DialogTitle,{children:e("settings.backup.create")})}),(0,t.jsxs)("div",{className:"py-2",children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:e("settings.backup.createLabel")}),(0,t.jsx)(o.Input,{value:T,onChange:e=>M(e.target.value),onKeyDown:e=>"Enter"===e.key&&E(),placeholder:e("settings.backup.createLabelPlaceholder"),className:"mt-1.5",autoFocus:!0})]}),(0,t.jsxs)(x.DialogFooter,{children:[(0,t.jsx)(l.Button,{variant:"outline",onClick:()=>S(!1),children:e("common.cancel")}),(0,t.jsx)(l.Button,{onClick:E,className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:e("settings.backup.create")})]})]})}),N?(0,t.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,t.jsx)(L.Loader2,{className:"h-5 w-5 animate-spin text-muted-foreground"})}):0===d.length?(0,t.jsxs)("div",{className:"flex flex-col items-center gap-2 py-12 text-center",children:[(0,t.jsx)(ei.Archive,{className:"h-10 w-10 text-muted-foreground/30"}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e("settings.backup.empty")}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground/60",children:e("settings.backup.emptyDesc")})]}):(0,t.jsx)("div",{className:"space-y-3",children:d.map(s=>{var a,i;return(0,t.jsx)("div",{className:"group rounded-lg border border-border bg-card p-4 transition-colors hover:bg-accent/30",children:(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[s.label?(0,t.jsx)("span",{className:"truncate text-sm font-medium text-foreground",children:s.label}):(0,t.jsx)("span",{className:"truncate text-sm font-medium font-mono text-foreground",children:s.filename}),s.autoBackup&&(0,t.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:e("settings.backup.autoLabel")})]}),s.label&&(0,t.jsx)("div",{className:"mt-0.5 text-[11px] font-mono text-muted-foreground/60",children:s.filename}),(0,t.jsxs)("div",{className:"mt-1 text-xs text-muted-foreground",children:[(a=s.size)<1024?`${a} B`:a<1048576?`${(a/1024).toFixed(1)} KB`:`${(a/1048576).toFixed(1)} MB`," · ",(i=s.createdAt,new Date(i).toLocaleString("zh"===n?"zh-CN":"en-US",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}))]}),s.preview.length>0&&(0,t.jsxs)("div",{className:"mt-1.5 text-xs text-muted-foreground",children:[s.preview.map((e,s)=>(0,t.jsxs)("span",{children:[s>0&&" ",e.workspace,"(",e.projects.join(", "),")"]},s)),s.stats.workspaces>s.preview.length&&(0,t.jsxs)("span",{children:[" ",e("settings.backup.workspaces",{count:String(s.stats.workspaces)})]})]}),(0,t.jsxs)("div",{className:"mt-0.5 text-xs text-muted-foreground",children:[e("settings.backup.projects",{count:String(s.stats.projects)})," · ",e("settings.backup.tasks",{count:String(s.stats.tasks)})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100",children:[(0,t.jsxs)(J.Tooltip,{children:[(0,t.jsx)(J.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-xs",onClick:()=>H(s.filename),disabled:q,className:"text-muted-foreground hover:text-foreground"}),children:(0,t.jsx)(et.Upload,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(J.TooltipContent,{side:"bottom",sideOffset:4,children:e("settings.backup.restore")})]}),(0,t.jsxs)(J.Tooltip,{children:[(0,t.jsx)(J.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-xs",onClick:()=>V(s.filename),disabled:q,className:"text-muted-foreground hover:text-rose-400"}),children:(0,t.jsx)(D.Trash2,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(J.TooltipContent,{side:"bottom",sideOffset:4,children:e("settings.backup.delete")})]})]})]})},s.filename)})}),(0,t.jsxs)("div",{className:"border-t border-border pt-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm font-semibold text-rose-400",children:[(0,t.jsx)(en.AlertTriangle,{className:"h-4 w-4"}),e("settings.backup.dangerZone")]}),(0,t.jsx)("p",{className:"mt-2 text-xs text-muted-foreground leading-relaxed",children:e("settings.backup.resetDesc")}),(0,t.jsxs)(l.Button,{variant:"outline",onClick:()=>{U(""),P(!0)},disabled:q,className:"mt-3 border-rose-500/30 text-rose-400 hover:bg-rose-500/10 hover:text-rose-400",children:[(0,t.jsx)(ea.RotateCcw,{className:"mr-2 h-3.5 w-3.5"}),e("settings.backup.reset")]})]}),(0,t.jsx)(x.Dialog,{open:R,onOpenChange:P,children:(0,t.jsxs)(x.DialogContent,{className:"sm:max-w-sm",children:[(0,t.jsxs)(x.DialogHeader,{children:[(0,t.jsx)(x.DialogTitle,{children:e("settings.backup.resetConfirmTitle")}),(0,t.jsx)(x.DialogDescription,{children:e("settings.backup.resetConfirmDesc")})]}),(0,t.jsxs)("div",{className:"py-2",children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:e("settings.backup.resetConfirmInput")}),(0,t.jsx)(o.Input,{value:I,onChange:e=>U(e.target.value),placeholder:"RESET",className:"mt-1.5 font-mono"})]}),(0,t.jsxs)(x.DialogFooter,{children:[(0,t.jsx)(l.Button,{variant:"outline",onClick:()=>P(!1),children:e("common.cancel")}),(0,t.jsx)(l.Button,{disabled:"RESET"!==I,onClick:W,className:"border-rose-500/30 bg-rose-500/10 text-rose-400 hover:bg-rose-500/20",children:e("settings.backup.reset")})]})]})})]})}var ep=e.i(887911),ef=e.i(597746);let eb=(0,f.default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var ej=e.i(875840),ev=e.i(475958),eN=e.i(194358),ey=e.i(337822),ew=e.i(991838);let ek=[{os:"macOS",cmd:"brew install ripgrep"},{os:"Windows",cmd:"winget install BurntSushi.ripgrep"},{os:"Linux",cmd:"sudo apt install ripgrep"}];function eC({cmd:e}){let{t:a}=(0,i.useI18n)(),[n,o]=(0,s.useState)(!1),c=async()=>{try{if(navigator.clipboard)await navigator.clipboard.writeText(e);else{let t=document.createElement("textarea");t.value=e,document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}o(!0),r.toast.success(a("common.copied")),setTimeout(()=>o(!1),1500)}catch{r.toast.error(a("common.copyFailed"))}};return(0,t.jsxs)("div",{className:"flex items-start gap-1 rounded-md bg-background/60 pl-2 pr-1 py-1 ring-1 ring-border/60",children:[(0,t.jsx)("code",{className:"min-w-0 flex-1 break-all font-mono text-[11px] leading-relaxed",children:e}),(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-xs",className:"shrink-0 text-muted-foreground","aria-label":a("common.copy"),onClick:c,children:n?(0,t.jsx)(ef.Check,{className:"h-3 w-3 text-emerald-400"}):(0,t.jsx)(ej.Copy,{className:"h-3 w-3"})})]})}function eS({extension:e}){let{t:a}=(0,i.useI18n)(),{status:n,loading:o,isInstalling:c,install:d,uninstall:m,refresh:u}=(0,ew.useExtension)(e.id),[x,g]=(0,s.useState)(!1),h=e.icon,p=n.installed,f=async()=>{let t=await d();t.success?r.toast.success(a("settings.extensions.installSuccess").replace("{name}",e.name)):r.toast.error(a("settings.extensions.installFailed").replace("{name}",e.name)+(t.error?`: ${t.error.slice(0,200)}`:""))},b=async()=>{let t=await m();t.success?r.toast.success(a("settings.extensions.uninstallSuccess").replace("{name}",e.name)):r.toast.error(a("settings.extensions.uninstallFailed").replace("{name}",e.name)+(t.error?`: ${t.error.slice(0,200)}`:""))},j=async()=>{g(!0);try{await u()}finally{g(!1)}},v=()=>{window.open(e.homepageUrl,"_blank","noopener,noreferrer")};return(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-muted/50 p-5",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-background ring-1 ring-border",children:(0,t.jsx)(h,{className:"h-5 w-5 text-muted-foreground"})}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:e.name}),(0,t.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:e.description})]})]}),(0,t.jsxs)("span",{className:"shrink-0 rounded-md bg-background px-2 py-0.5 text-xs text-muted-foreground ring-1 ring-border",children:["~",e.sizeMB," MB"]})]}),(0,t.jsx)("div",{className:"mt-4 flex items-center gap-2 text-xs",children:o?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(L.Loader2,{className:"h-3.5 w-3.5 animate-spin text-muted-foreground"}),(0,t.jsx)("span",{className:"text-muted-foreground",children:a("common.loading")})]}):p?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(P.CheckCircle2,{className:"h-3.5 w-3.5 text-emerald-500"}),(0,t.jsxs)("span",{className:"text-foreground",children:[a("settings.extensions.installed"),n.version?` v${n.version}`:""]})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(eb,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,t.jsx)("span",{className:"text-muted-foreground",children:a("settings.extensions.notInstalledShort")})]})}),(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-2",children:[p?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l.Button,{variant:"default",onClick:f,disabled:c,children:c?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(L.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),a("settings.extensions.reinstalling")]}):a("settings.extensions.reinstall")}),(0,t.jsx)(l.Button,{variant:"outline",onClick:b,disabled:c,children:c?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(L.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),a("settings.extensions.uninstalling")]}):a("settings.extensions.uninstall")})]}):e.manualInstall?(0,t.jsxs)(ey.Popover,{children:[(0,t.jsx)(ey.PopoverTrigger,{render:e=>(0,t.jsxs)(l.Button,{variant:"default",...e,children:[(0,t.jsx)(ee,{className:"h-3.5 w-3.5"}),a("settings.extensions.installViaHomepage")]})}),(0,t.jsxs)(ey.PopoverContent,{align:"start",className:"w-80 max-w-[90vw] gap-2 text-xs leading-relaxed",children:[(0,t.jsx)("p",{children:a("settings.extensions.manualInstallHintIntro")}),(0,t.jsx)("div",{className:"space-y-2",children:ek.map(({os:e,cmd:s})=>(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{className:"text-[11px] font-medium text-muted-foreground",children:e}),(0,t.jsx)(eC,{cmd:s})]},e))}),(0,t.jsx)("p",{className:"text-muted-foreground",children:a("settings.extensions.manualInstallHintAfter")}),(0,t.jsxs)("button",{type:"button",onClick:v,className:"flex items-center gap-1 self-start text-[11px] text-primary underline-offset-2 hover:underline",children:[(0,t.jsx)(ev.ExternalLink,{className:"h-3 w-3"}),a("settings.extensions.visitHomepage")]})]})]}):(0,t.jsx)(l.Button,{variant:"default",onClick:f,disabled:c,children:c?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(L.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),a("settings.extensions.installing")]}):a("settings.extensions.install")}),(0,t.jsxs)(l.Button,{variant:"ghost",onClick:j,disabled:x,children:[(0,t.jsx)(eN.RefreshCw,{className:`h-3.5 w-3.5 ${x?"animate-spin":""}`}),a("settings.extensions.recheck")]}),(0,t.jsxs)(l.Button,{variant:"ghost",onClick:v,children:[(0,t.jsx)(ev.ExternalLink,{className:"h-3.5 w-3.5"}),a("settings.extensions.visitHomepage")]})]})]})}function eT(){let{t:e}=(0,i.useI18n)(),s=(0,ep.listExtensionMetadata)();return(0,t.jsxs)("div",{className:"space-y-5",children:[(0,t.jsxs)("header",{children:[(0,t.jsx)("h2",{className:"text-base font-semibold",children:e("settings.extensions.title")}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:e("settings.extensions.desc")})]}),(0,t.jsx)("div",{className:"space-y-3",children:s.map(e=>(0,t.jsx)(eS,{extension:e},e.id))})]})}e.i(508271);var eD=e.i(371385),eM=e.i(158956),eB=e.i(75566),eR=e.i(851289);let eL=["global","panels","missions"],eP=new Set(["missions.cycleBack"]);function eI({keys:e}){return(0,t.jsx)(eR.KeyCombo,{keys:e})}function eU(){let e,{t:a}=(0,i.useI18n)(),n=(0,eB.useKeymapStore)(e=>e.overrides),o=(0,eB.useKeymapStore)(e=>e.setBinding),c=(0,eB.useKeymapStore)(e=>e.resetBinding),d=(0,eB.useKeymapStore)(e=>e.resetAll),[u,g]=(0,s.useState)(null),[h,p]=(0,s.useState)(null),f=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(u){let e=requestAnimationFrame(()=>f.current?.focus());return()=>cancelAnimationFrame(e)}},[u]);let b=(0,s.useMemo)(()=>{let e=new Map;for(let t of eD.SHORTCUT_ACTIONS)for(let s of n[t.id]??[...t.defaultKeys])e.has(s)||e.set(s,t.id);return e},[n]),j=(0,s.useMemo)(()=>eL.map(e=>({group:e,actions:eD.SHORTCUT_ACTIONS.filter(t=>t.group===e&&!eP.has(t.id))})).filter(e=>e.actions.length>0),[]),v=u?(0,eD.getAction)(u):null,N=h&&u&&(e=b.get(h))&&e!==u?e:null;function y(){g(null),p(null)}return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("header",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-base font-semibold",children:a("settings.keyboardShortcuts")}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:a("settings.keyboardShortcutsDesc")})]}),(0,t.jsxs)(l.Button,{variant:"outline",size:"sm",onClick:function(){d(),r.toast.success(a("settings.shortcuts.resetAllDone"))},children:[(0,t.jsx)(ea.RotateCcw,{className:"h-3.5 w-3.5"}),a("settings.shortcuts.resetAll")]})]}),(0,t.jsx)("div",{className:"space-y-6",children:j.map(({group:e,actions:s})=>(0,t.jsxs)("section",{children:[(0,t.jsx)("h3",{className:"mb-1 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:a(`shortcuts.group.${e}`)}),(0,t.jsx)("ul",{className:"divide-y divide-border/50 rounded-xl border border-border bg-card",children:s.map(e=>{let s,i=e.id in n;return(0,t.jsxs)("li",{className:"flex items-center justify-between gap-4 px-5 py-3.5",children:[(0,t.jsx)("span",{className:"min-w-0 flex-1 text-sm",children:a(e.descriptionKey)}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,t.jsx)(eI,{keys:n[s=e.id]??[...(0,eD.getAction)(s).defaultKeys]}),e.configurable?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l.Button,{variant:"outline",size:"sm",onClick:()=>{var t;return t=e.id,void(p(null),g(t))},children:a("settings.shortcuts.rebind")}),i&&(0,t.jsxs)(J.Tooltip,{children:[(0,t.jsx)(J.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",onClick:()=>c(e.id),children:(0,t.jsx)(ea.RotateCcw,{className:"h-3.5 w-3.5"})})}),(0,t.jsx)(J.TooltipContent,{children:a("settings.shortcuts.reset")})]})]}):(0,t.jsx)(m.Badge,{variant:"outline",className:"text-muted-foreground",children:a("settings.shortcuts.fixed")})]})]},e.id)})})]},e))}),(0,t.jsx)(x.Dialog,{open:null!==u,onOpenChange:e=>!e&&y(),children:(0,t.jsxs)(x.DialogContent,{className:"sm:max-w-sm",children:[(0,t.jsxs)(x.DialogHeader,{children:[(0,t.jsx)(x.DialogTitle,{children:v?a(v.descriptionKey):a("settings.shortcuts.rebind")}),(0,t.jsx)(x.DialogDescription,{children:a("settings.shortcuts.pressKey")})]}),(0,t.jsx)("textarea",{ref:f,readOnly:!0,tabIndex:0,"aria-label":a("settings.shortcuts.pressKey"),onKeyDown:e=>{e.preventDefault(),e.stopPropagation();let t=(0,eM.serializeKeyEvent)(e.nativeEvent);t&&p(t)},className:"flex h-20 w-full cursor-pointer resize-none items-center justify-center rounded-lg border border-dashed border-border bg-muted/30 text-center text-sm outline-none focus:border-ring focus:ring-1 focus:ring-ring"}),(0,t.jsx)("div",{className:"flex min-h-8 items-center justify-center",children:h?(0,t.jsx)(eI,{keys:[h]}):(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:a("settings.shortcuts.pressKey")})}),N&&(0,t.jsx)("p",{className:"text-center text-xs text-amber-600 dark:text-amber-400",children:a("settings.shortcuts.conflict",{name:a((0,eD.getAction)(N).descriptionKey)})}),(0,t.jsxs)(x.DialogFooter,{children:[(0,t.jsx)(l.Button,{variant:"outline",onClick:y,children:a("settings.shortcuts.cancel")}),(0,t.jsx)(l.Button,{variant:"default",onClick:function(){u&&h&&(o(u,[h]),y(),r.toast.success(a("settings.shortcuts.saved")))},disabled:!h,children:a("settings.shortcuts.saveBtn")})]})]})})]})}var eF=e.i(464249),eE=e.i(579157),eH=e.i(205829),eV=e.i(59737),eV=eV,ez=e.i(960995),ez=ez;let e$=(0,f.default)("circle-dot",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]);var eK=e.i(967489);let eA=(0,$.createServerReference)("40048f5ed131132ebede05519d16440a68f133c591",$.callServer,void 0,$.findSourceMapURL,"testHarnessTarget"),eO=["feishu","openclaw","hermes"],eW={feishu:["feishu"],openclaw:["telegram","signal","whatsapp","discord","slack","imessage"],hermes:["telegram","discord","slack","whatsapp","signal","feishu","wechat","wecom","dingtalk","qq","matrix","email"]},eq=[...new Set(Object.values(eW).flat())],e_="__custom__",eG=e=>eW[e]??[],eX={feishu:"https://open.feishu.cn/",openclaw:"https://docs.openclaw.ai/",hermes:"https://hermes-agent.nousresearch.com/docs/"};function eY(){let{t:e}=(0,i.useI18n)(),[a,n]=(0,s.useState)([]),[c,d]=(0,s.useState)(null),[m,u]=(0,s.useState)(new Set),[x,g]=(0,s.useState)(!0),[h,p]=(0,s.useTransition)(),[f,b]=(0,s.useState)(""),[j,v]=(0,s.useState)(!1),[N,y]=(0,s.useState)(null);(0,s.useEffect)(()=>{(0,H.getConfigValue)("harness.targets",[]).then(e=>{let t=(Array.isArray(e)?e:[]).map(e=>({id:e.id??crypto.randomUUID(),gateway:eO.includes(e.gateway)?e.gateway:"feishu",downstream:e.downstream??"feishu",active:!!e.active}));t.length>0&&!t.some(e=>e.active)&&(t[0].active=!0),n(t),u(new Set(t.filter(e=>e.downstream&&!eq.includes(e.downstream)).map(e=>e.id)))}).finally(()=>g(!1))},[]);let w=(e,t)=>n(s=>s.map(s=>s.id===e?{...s,...t}:s)),k=e=>{n(t=>{let s=t.find(t=>t.id===e)?.active,a=t.filter(t=>t.id!==e);return s&&a.length>0&&!a.some(e=>e.active)&&(a[0].active=!0),a}),c===e&&d(null)},C=(e,t)=>u(s=>{let a=new Set(s);return t?a.add(e):a.delete(e),a}),T=async()=>{try{await navigator.clipboard.writeText("帮我把 Tower 无人值守的通知渠道配置好,步骤:\n1. 用 playwright 打开对应平台的开放后台,注册/创建一个自建应用(机器人)。文档:飞书开放平台 https://open.feishu.cn/ ;OpenClaw https://docs.openclaw.ai/ ;Hermes https://hermes-agent.nousresearch.com/docs/ 。\n2. 拿到 appId / appSecret(或 webhook 地址 / token),开通「发送消息」权限。\n3. 建议**新建一个唯一名称的专属群组**(如「Tower 无人值守通知」),把机器人加进去 —— 避免同名群/人导致发错。记下群 id(或我的用户 id)。\n4. 把凭据配置到对应平台的 MCP(如飞书 MCP 的 config),确保能调用它发送消息。\n5. 在 Tower「设置 → 通知 → 无人值守发送渠道」加一条对应网关的渠道,点「测试」验证能收到消息。"),r.toast.success(e("settings.harness.copied"))}catch{r.toast.error("复制失败")}},M=async e=>{if(f.trim()){v(!0),y(null);try{let t=await eA({gateway:e.gateway,downstream:e.downstream,dest:f.trim()});y(t)}catch(e){y({ok:!1,output:e instanceof Error?e.message:String(e)})}finally{v(!1)}}},B=t=>eq.includes(t)?e(`settings.harness.ds.${t}`):t,R=({label:e,children:s})=>(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("label",{className:"text-xs text-muted-foreground",children:e}),s]});return(0,t.jsxs)("div",{className:"rounded-xl border bg-card p-4 space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:e("settings.harness.title")}),(0,t.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:e("settings.harness.desc")})]}),(0,t.jsxs)("div",{className:"space-y-2 rounded-lg bg-muted/30 px-3 py-2",children:[(0,t.jsxs)("div",{className:"flex items-start gap-2 text-xs text-muted-foreground",children:[(0,t.jsx)(eE.Info,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),(0,t.jsx)("span",{children:e("settings.harness.notice")})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1 pl-5 text-xs",children:[(0,t.jsxs)("span",{className:"text-muted-foreground",children:[e("settings.harness.docsLabel"),":"]}),eO.map(s=>eX[s]?(0,t.jsxs)("a",{href:eX[s],target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-0.5 text-primary hover:underline",children:[e(`settings.harness.gateway.${s}`),(0,t.jsx)(ev.ExternalLink,{className:"h-3 w-3"})]},s):null),(0,t.jsxs)("button",{type:"button",onClick:T,className:"inline-flex items-center gap-1 text-primary hover:underline",children:[(0,t.jsx)(ej.Copy,{className:"h-3 w-3"}),e("settings.harness.copyPrompt")]})]})]}),x&&(0,t.jsx)(L.Loader2,{className:"h-4 w-4 animate-spin text-muted-foreground"}),(0,t.jsx)("div",{className:"space-y-2",children:a.map(s=>{var a;let i,r=m.has(s.id);return c===s.id?(0,t.jsxs)("div",{className:"rounded-lg border bg-muted/30 p-3 space-y-3",children:[(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,t.jsx)(R,{label:e("settings.harness.gatewayLabel"),children:(0,t.jsxs)(eK.Select,{value:s.gateway,onValueChange:e=>{let t=e??"feishu",a=eG(t);w(s.id,{gateway:t,downstream:a.includes(s.downstream)?s.downstream:a[0]??""}),C(s.id,!1)},children:[(0,t.jsx)(eK.SelectTrigger,{className:"w-full",children:(0,t.jsx)("span",{className:"truncate",children:e(`settings.harness.gateway.${s.gateway}`)})}),(0,t.jsx)(eK.SelectContent,{children:eO.map(s=>(0,t.jsx)(eK.SelectItem,{value:s,children:e(`settings.harness.gateway.${s}`)},s))})]})}),(0,t.jsx)(R,{label:e("settings.harness.downstreamLabel"),children:(0,t.jsxs)(eK.Select,{value:r?e_:s.downstream,onValueChange:e=>{e===e_?(C(s.id,!0),w(s.id,{downstream:""})):(C(s.id,!1),w(s.id,{downstream:e??""}))},children:[(0,t.jsx)(eK.SelectTrigger,{className:"w-full",children:(0,t.jsx)("span",{className:"truncate",children:r?e("settings.harness.ds.custom"):s.downstream?B(s.downstream):e("settings.harness.downstreamPlaceholder")})}),(0,t.jsxs)(eK.SelectContent,{children:[eG(s.gateway).map(s=>(0,t.jsx)(eK.SelectItem,{value:s,children:e(`settings.harness.ds.${s}`)},s)),"feishu"!==s.gateway&&(0,t.jsx)(eK.SelectItem,{value:e_,children:e("settings.harness.ds.custom")})]})]})})]}),r&&(0,t.jsx)(R,{label:e("settings.harness.customLabel"),children:(0,t.jsx)(o.Input,{value:s.downstream,onChange:e=>w(s.id,{downstream:e.target.value}),placeholder:e("settings.harness.customPlaceholder")})}),(0,t.jsx)(R,{label:e("settings.harness.test"),children:(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(o.Input,{value:f,onChange:e=>b(e.target.value),placeholder:e("settings.harness.testDestPlaceholder"),className:"flex-1"}),(0,t.jsxs)(l.Button,{variant:"outline",onClick:()=>M(s),disabled:j||!f.trim(),children:[j?(0,t.jsx)(L.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(eH.Send,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{children:j?e("settings.harness.testing"):e("settings.harness.testSend")})]})]}),N&&(0,t.jsxs)("div",{className:`flex items-start gap-1.5 rounded bg-muted/40 px-2 py-1 text-xs ${N.ok?"text-emerald-500":"text-rose-400"}`,children:[N.ok?(0,t.jsx)(eV.default,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}):(0,t.jsx)(ez.default,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),(0,t.jsx)("span",{className:"whitespace-pre-wrap break-words",children:N.ok?e("settings.harness.testOk"):`${e("settings.harness.testFail")}:${N.output}`})]})]})}),(0,t.jsxs)("div",{className:"flex items-center gap-2 pt-1",children:[(0,t.jsxs)(l.Button,{onClick:()=>{d(null),y(null)},children:[(0,t.jsx)(ef.Check,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{children:e("settings.harness.done")})]}),(0,t.jsxs)(l.Button,{variant:"ghost",className:"text-muted-foreground",onClick:()=>k(s.id),children:[(0,t.jsx)(D.Trash2,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{children:e("settings.harness.remove")})]})]})]},s.id):(0,t.jsxs)("div",{className:`flex items-center gap-2.5 rounded-lg border px-3 py-2 ${s.active?"border-primary/40 bg-primary/5":"bg-muted/20"}`,children:[(0,t.jsx)("button",{type:"button",onClick:()=>{let e;return e=s.id,n(t=>t.map(t=>({...t,active:t.id===e})))},title:e("settings.harness.setActive"),className:s.active?"text-primary":"text-muted-foreground hover:text-foreground",children:s.active?(0,t.jsx)(e$,{className:"h-4 w-4"}):(0,t.jsx)(eb,{className:"h-4 w-4"})}),(0,t.jsx)("span",{className:"truncate text-sm text-foreground",children:(a=s,i=e(`settings.harness.gateway.${a.gateway}`),a.downstream?`${i} \xb7 ${B(a.downstream)}`:i)}),s.active&&(0,t.jsx)("span",{className:"shrink-0 rounded-full bg-primary/15 px-2 py-0.5 text-[10px] font-medium text-primary ring-1 ring-primary/25",children:e("settings.harness.active")}),(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-1",children:[(0,t.jsx)(l.Button,{variant:"ghost",size:"icon",className:"text-muted-foreground",onClick:()=>{d(s.id),y(null),b("")},title:e("settings.harness.edit"),children:(0,t.jsx)(eF.Pencil,{className:"h-4 w-4"})}),(0,t.jsx)(l.Button,{variant:"ghost",size:"icon",className:"text-muted-foreground",onClick:()=>k(s.id),title:e("settings.harness.remove"),children:(0,t.jsx)(D.Trash2,{className:"h-4 w-4"})})]})]},s.id)})}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)(l.Button,{variant:"outline",onClick:()=>{let e=crypto.randomUUID();n(t=>[...t,{id:e,gateway:"feishu",downstream:"feishu",active:0===t.length}]),d(e),y(null)},className:"text-muted-foreground",children:[(0,t.jsx)(S.Plus,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{children:e("settings.harness.addTarget")})]}),(0,t.jsx)(l.Button,{onClick:()=>p(async()=>{await (0,V.setConfigValue)("harness.targets",a),d(null),r.toast.success(e("settings.harness.saved"))}),disabled:h,className:"rounded-lg",children:e("common.save")})]})]})}function eZ({options:e,value:s,onChange:a}){return(0,t.jsx)("div",{className:"inline-flex rounded-lg border border-border/50 bg-muted/30 p-1 gap-0.5",children:e.map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>a(e.value),className:(0,g.cn)("rounded-md px-3.5 py-1.5 text-sm font-medium transition-all duration-200 cursor-pointer",s===e.value?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:e.label},e.value))})}function eJ({label:e,description:s,children:a,className:n}){return(0,t.jsxs)("div",{className:(0,g.cn)("flex items-center justify-between py-4 border-b border-border/50 last:border-0",n),children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1 pr-4",children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:e}),s&&(0,t.jsx)("div",{className:"text-xs text-muted-foreground mt-0.5",children:s})]}),(0,t.jsx)("div",{className:"shrink-0",children:a})]})}let eQ=[{id:"general",labelKey:"settings.general",descKey:"settings.generalDesc",icon:p.Settings,accent:"blue"},{id:"ai-tools",labelKey:"settings.aiTools.title",descKey:"settings.aiTools.cliVerificationDesc",icon:b,accent:"emerald"},{id:"prompts",labelKey:"settings.prompts",descKey:"settings.promptsDesc",icon:j.FileText,accent:"violet"},{id:"config",labelKey:"settings.config",descKey:"settings.configDesc",icon:v,accent:"amber"},{id:"extensions",labelKey:"settings.extensions.title",descKey:"settings.extensions.navDesc",icon:w.Package,accent:"indigo"},{id:"notifications",labelKey:"settings.notifications.title",descKey:"settings.notifications.navDesc",icon:N.Bell,accent:"rose"},{id:"backup",labelKey:"settings.backup.title",descKey:"settings.backup.navDesc",icon:y.HardDrive,accent:"cyan"},{id:"keyboard-shortcuts",labelKey:"settings.keyboardShortcuts",descKey:"settings.keyboardShortcutsDesc",icon:k.Keyboard,accent:"violet"}],e0={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"}},e1="ai-manager:default-cli-adapter",e2={host:"",ownerMatch:"*",localPathTemplate:"",priority:0},e5=e=>e.replace(/\\/g,"/").replace(/\/+$/,"");function e3(){let e=(0,a.useRouter)(),{t:p}=(0,i.useI18n)(),{theme:f,setTheme:b}=(0,n.useTheme)(),{locale:j,setLocale:v}=(0,i.useI18n)(),[N,y]=(0,s.useState)("general"),w=(0,s.useRef)(null),[k,$]=(0,s.useState)({left:0,width:0}),[ee,et]=(0,s.useState)(!1),[es,ea]=(0,s.useState)("Terminal"),[en,ei]=(0,s.useState)([]),[er,el]=(0,s.useState)(""),[eo,ec]=(0,s.useState)([]),[ed,em]=(0,s.useState)(13),[eu,ex]=(0,s.useState)("Menlo, Monaco, 'Courier New', monospace"),[eg,ep]=(0,s.useState)([]),[ef,eb]=(0,s.useState)("claude"),[ej,ev]=(0,s.useState)(null),[eN,ey]=(0,s.useState)({}),[ew,ek]=(0,s.useState)([]),[eC,eS]=(0,s.useState)(!1),[eD,eM]=(0,s.useState)(null),[eB,eR]=(0,s.useState)(null),[eL,eP]=(0,s.useState)(""),[eI,eF]=(0,s.useState)(""),[eE,eH]=(0,s.useState)(""),[eV,ez]=(0,s.useState)(null),[e$,eK]=(0,s.useState)(""),[eA,eO]=(0,s.useState)(!1),[eW,eq]=(0,s.useState)(!1),[e_,eG]=(0,s.useState)(!1),[eX,e3]=(0,s.useState)([]),[e4,e8]=(0,s.useState)(null),[e7,e6]=(0,s.useState)({...e2}),[e9,te]=(0,s.useState)(!1),[tt,ts]=(0,s.useState)({...e2}),[ta,tn]=(0,s.useState)(!1),[ti,tr]=(0,s.useState)(!1),[tl,to]=(0,s.useState)(0),[tc,td]=(0,s.useState)(null),[tm,tu]=(0,s.useState)(null),[tx,tg]=(0,s.useState)({maxUploadMb:50,maxConcurrent:3,maxReadableMb:5,archiveDelayDays:7,taskDefaultUseWorktree:!0,taskDefaultAutoStart:!1}),[th,tp]=(0,s.useState)({timeoutSec:30}),[tf,tb]=(0,s.useState)({resultLimit:20,allModeCap:5,debounceMs:250,snippetLength:80,codeTimeoutSec:30}),[tj,tv]=(0,s.useState)({minCols:1,maxCols:5,minRows:1,maxRows:5}),[tN,ty]=(0,s.useState)(null),[tw,tk]=(0,s.useState)(!1),[tC,tS]=(0,s.useState)(""),[tT,tD]=(0,s.useState)(!0);(0,s.useEffect)(()=>et(!0),[]),(0,s.useEffect)(()=>{(0,H.getConfigValue)("terminal.app","Terminal").then(ea),K().then(ei),(0,H.getConfigValue)("editor.command","").then(el),A().then(ec),(0,H.getConfigValue)("terminal.fontSize",13).then(em),(0,H.getConfigValue)("terminal.fontFamily","Menlo, Monaco, 'Courier New', monospace").then(ex)},[]),(0,s.useEffect)(()=>{if(0===en.length||!es||en.some(e=>e.value===es))return;let e=en.find(e=>e.name===es);e&&(ea(e.value),(0,V.setConfigValue)("terminal.app",e.value))},[en,es]),(0,s.useEffect)(()=>{if(0===eo.length||!er||eo.some(e=>e.command===er))return;let e=eo.find(e=>e.name===er);e&&(el(e.command),(0,V.setConfigValue)("editor.command",e.command))},[eo,er]),(0,s.useEffect)(()=>{Z().then(ep);let e=localStorage.getItem(e1);e&&eb(e)},[]),(0,s.useEffect)(()=>{(0,O.getPrompts)().then(ek)},[]),(0,s.useEffect)(()=>{G().then(e=>{ez(e),eK(e.systemDirective)})},[]);let tM=async()=>{try{let e=await fetch("/api/internal/hooks/install");if(e.ok){let t=await e.json();ty(t)}}catch{}};async function tB(e){if(!ej){ev(e),ey(t=>{let s={...t};return delete s[e],s});try{let t=await fetch("/api/adapters/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:e})}),s=await t.json();ey(t=>({...t,[e]:s}))}catch{ey(t=>({...t,[e]:{ok:!1,checks:[{name:"network_error",passed:!1,message:"Network request failed"}]}}))}finally{ev(null)}}}(0,s.useEffect)(()=>{(0,H.getConfigValue)("git.pathMappingRules",[]).then(e=>{let t=new Set,s=!1,a=e.map(e=>{if(!e.id||t.has(e.id)){s=!0;let a={...e,id:crypto.randomUUID()};return t.add(a.id),a}return t.add(e.id),e});e3(a),s&&(0,V.setConfigValue)("git.pathMappingRules",a)}),(0,H.getConfigValue)("hooks.autoUploadTypes",["png","jpg","jpeg","gif","webp","svg","pdf","md","txt","json"]).then(e=>{tS(e.join(", "))}),tM(),(0,z.getConfigValues)(["system.maxUploadBytes","system.maxConcurrentExecutions","system.maxReadableFileBytes","board.archiveDelayDays","task.defaultUseWorktree","task.defaultAutoStart","git.timeoutSec","search.resultLimit","search.allModeCap","search.debounceMs","search.snippetLength","search.codeTimeoutSec","missions.grid.minCols","missions.grid.maxCols","missions.grid.minRows","missions.grid.maxRows"]).then(e=>{let t=e["system.maxUploadBytes"]??0x3200000,s=e["system.maxReadableFileBytes"]??5242880;tg({maxUploadMb:Math.round(t/1024/1024),maxConcurrent:e["system.maxConcurrentExecutions"]??3,maxReadableMb:Math.round(s/1024/1024),archiveDelayDays:e["board.archiveDelayDays"]??7,taskDefaultUseWorktree:"boolean"!=typeof e["task.defaultUseWorktree"]||e["task.defaultUseWorktree"],taskDefaultAutoStart:"boolean"==typeof e["task.defaultAutoStart"]&&e["task.defaultAutoStart"]}),tp({timeoutSec:e["git.timeoutSec"]??30}),tb({resultLimit:e["search.resultLimit"]??20,allModeCap:e["search.allModeCap"]??5,debounceMs:e["search.debounceMs"]??250,snippetLength:e["search.snippetLength"]??80,codeTimeoutSec:e["search.codeTimeoutSec"]??30}),tv({minCols:e["missions.grid.minCols"]??1,maxCols:e["missions.grid.maxCols"]??5,minRows:e["missions.grid.minRows"]??1,maxRows:e["missions.grid.maxRows"]??5})})},[]),(0,s.useEffect)(()=>{(0,H.getConfigValue)("notification.enabled",!0).then(tD)},[]);let tR=(0,s.useCallback)(()=>{eM(null),eP(""),eF(""),eH(""),eS(!0)},[]),tL=(0,s.useCallback)(e=>{eM(e),eP(e.name),eF(e.description??""),eH(e.content),eS(!0)},[]),tP=(0,s.useCallback)(async()=>{eL.trim()&&eE.trim()&&(eD?await q(eD.id,{name:eL.trim(),description:eI.trim()||void 0,content:eE.trim()}):await W({name:eL.trim(),description:eI.trim()||void 0,content:eE.trim()}),eS(!1),ek(await (0,O.getPrompts)()),e.refresh())},[eL,eI,eE,eD,e]),tI=(0,s.useCallback)(async()=>{eB&&(await _(eB),eR(null),ek(await (0,O.getPrompts)()),e.refresh())},[eB,e]),tU=(0,s.useCallback)(async()=>{eO(!0);try{await X(e$);let e=await G();ez(e),eK(e.systemDirective),eq(!1),r.toast.success(p("settings.prompts.builtin.saved"))}finally{eO(!1)}},[e$,p]),tF=(0,s.useCallback)(async()=>{eO(!0);try{let e=await Y(),t=await G();ez(t),eK(e),r.toast.info(p("settings.prompts.builtin.resetDone"))}finally{eO(!1)}},[p]),tE=async()=>{await (0,V.setConfigValue)("system.maxUploadBytes",1024*tx.maxUploadMb*1024),await (0,V.setConfigValue)("system.maxConcurrentExecutions",tx.maxConcurrent),await (0,V.setConfigValue)("system.maxReadableFileBytes",1024*tx.maxReadableMb*1024),await (0,V.setConfigValue)("board.archiveDelayDays",tx.archiveDelayDays)},tH=async()=>{await (0,V.setConfigValue)("task.defaultUseWorktree",tx.taskDefaultUseWorktree),await (0,V.setConfigValue)("task.defaultAutoStart",tx.taskDefaultAutoStart),await (0,V.setConfigValue)("task.mcpDefaultsConfigured",!0)},tV=async()=>{await (0,V.setConfigValue)("git.timeoutSec",th.timeoutSec)},tz=async()=>{await (0,V.setConfigValue)("search.resultLimit",tf.resultLimit),await (0,V.setConfigValue)("search.allModeCap",tf.allModeCap),await (0,V.setConfigValue)("search.debounceMs",tf.debounceMs),await (0,V.setConfigValue)("search.snippetLength",tf.snippetLength),await (0,V.setConfigValue)("search.codeTimeoutSec",tf.codeTimeoutSec)},t$=async()=>{let e=Math.min(tj.minCols,tj.maxCols),t=Math.max(tj.minCols,tj.maxCols),s=Math.min(tj.minRows,tj.maxRows),a=Math.max(tj.minRows,tj.maxRows);tv({minCols:e,maxCols:t,minRows:s,maxRows:a}),await (0,V.setConfigValue)("missions.grid.minCols",e),await (0,V.setConfigValue)("missions.grid.maxCols",t),await (0,V.setConfigValue)("missions.grid.minRows",s),await (0,V.setConfigValue)("missions.grid.maxRows",a)},tK=async()=>{let e=tC.split(",").map(e=>e.trim()).filter(Boolean);await (0,V.setConfigValue)("hooks.autoUploadTypes",e)},tA=async()=>{if(tN){tk(!0);try{let e=tN.installed?"DELETE":"POST";await fetch("/api/internal/hooks/install",{method:e}),await tM()}finally{tk(!1)}}},tO=async()=>{if(!tt.host.trim()||!tt.localPathTemplate.trim())return;let e=e5(tt.localPathTemplate.trim()),t=ta?`${e}/{path}`:e,s=[...eX,{id:crypto.randomUUID(),host:tt.host.trim(),ownerMatch:tt.ownerMatch.trim()||"*",localPathTemplate:t,priority:tt.priority}];await (0,V.setConfigValue)("git.pathMappingRules",s),e3(s),ts({...e2}),tn(!1),te(!1)},tW=async e=>{if(!e7.host.trim()||!e7.localPathTemplate.trim())return;let t=e5(e7.localPathTemplate.trim()),s=ti?`${t}/{path}`:t,a=eX.map(t=>t.id===e?{...t,host:e7.host.trim(),ownerMatch:e7.ownerMatch.trim()||"*",localPathTemplate:s,priority:e7.priority}:t);await (0,V.setConfigValue)("git.pathMappingRules",a),e3(a),e8(null),tr(!1)},tq=async e=>{let t=eX.filter(t=>t.id!==e);await (0,V.setConfigValue)("git.pathMappingRules",t),e3(t),td(null)};async function t_(){let e=!tT;tD(e),await (0,V.setConfigValue)("notification.enabled",e)}let tG=(0,s.useCallback)(()=>{e.back()},[e]),tX=(0,s.useCallback)(e=>{let t=w.current;if(!t)return;let s=t.querySelector("[data-section]"),a=s?s.offsetWidth+4:140;t.scrollBy({left:"left"===e?-a:a,behavior:"smooth"})},[]);(0,s.useEffect)(()=>{let e=w.current;if(!e)return;let t=e.querySelector(`[data-section="${N}"]`);if(!t)return;let s=e.getBoundingClientRect(),a=t.getBoundingClientRect();$({left:a.left-s.left,width:a.width})},[N]);let{canScrollLeft:tY,canScrollRight:tZ}=(0,h.useScrollOverflow)(w,[j]),tJ=eQ.find(e=>e.id===N),tQ=tJ?e0[tJ.accent]:e0.blue;return(0,t.jsxs)("div",{className:"flex h-full flex-col bg-background",children:[(0,t.jsx)("div",{className:"flex-shrink-0 border-b bg-card/50 backdrop-blur-sm",children:(0,t.jsxs)("div",{className:"mx-auto max-w-5xl px-6",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between pb-3 pt-5",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:p("settings.title")}),(0,t.jsx)("p",{className:"mt-0.5 text-sm text-muted-foreground",children:p("settings.configDesc")})]}),(0,t.jsxs)(l.Button,{variant:"outline",onClick:tG,className:"gap-1.5 bg-card shadow-sm cursor-pointer",children:[(0,t.jsx)(C.X,{className:"h-3.5 w-3.5"}),"ESC"]})]}),(0,t.jsxs)("div",{className:"relative flex items-center gap-1",children:[tY&&(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",onClick:()=>tX("left"),className:"shrink-0","aria-label":"scroll tabs left",children:(0,t.jsx)(F.ChevronLeft,{className:"h-4 w-4"})}),(0,t.jsxs)("div",{ref:w,className:"relative flex flex-1 gap-1 overflow-x-auto [&::-webkit-scrollbar]:hidden",children:[eQ.map(e=>{let s=e.icon,a=N===e.id,n=e0[e.accent];return(0,t.jsxs)("button",{"data-section":e.id,onClick:()=>y(e.id),className:(0,g.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",a?`${n.text} bg-background`:"text-muted-foreground hover:text-foreground hover:bg-muted/50"),children:[(0,t.jsx)("span",{className:(0,g.cn)("flex h-6 w-6 items-center justify-center rounded-md","transition-colors duration-200",a?n.bg:"bg-transparent"),children:(0,t.jsx)(s,{className:"h-3.5 w-3.5"})}),(0,t.jsx)("span",{children:p(e.labelKey)})]},e.id)}),(0,t.jsx)("div",{className:(0,g.cn)("absolute bottom-0 h-0.5 rounded-full","transition-all duration-250 ease-out",tQ.indicator),style:{left:k.left,width:k.width}})]}),tZ&&(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",onClick:()=>tX("right"),className:"shrink-0","aria-label":"scroll tabs right",children:(0,t.jsx)(E.ChevronRight,{className:"h-4 w-4"})})]})]})}),(0,t.jsx)("div",{className:"flex-1 overflow-auto",children:(0,t.jsxs)("div",{className:"mx-auto max-w-4xl px-6 py-8",children:[tJ&&(0,t.jsxs)("div",{className:"mb-6 flex items-start gap-4",children:[(0,t.jsx)("div",{className:(0,g.cn)("flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-xl","ring-1",tQ.bg,tQ.text,tQ.ring),children:(0,t.jsx)(tJ.icon,{className:"h-5 w-5"})}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold leading-tight",children:p(tJ.labelKey)}),(0,t.jsx)("p",{className:"mt-0.5 text-sm text-muted-foreground",children:p(tJ.descKey)})]})]}),(0,t.jsx)("div",{className:"mb-6 border-t"}),function(){switch(N){case"general":let e;return e=[{value:"light",label:p("settings.themeLight")},{value:"dark",label:p("settings.themeDark")},{value:"system",label:p("settings.themeSystem")}],(0,t.jsxs)("div",{className:"divide-y divide-border/50",children:[(0,t.jsx)(eJ,{label:p("settings.theme"),description:p("settings.themeDesc"),children:ee?(0,t.jsx)(eZ,{options:e,value:f??"system",onChange:e=>b(e)}):(0,t.jsx)("div",{className:"inline-flex h-9 rounded-lg border border-border/50 bg-muted/30 p-1 w-[200px]"})}),(0,t.jsx)(eJ,{label:p("settings.language"),description:p("settings.languageDesc"),children:(0,t.jsx)(eZ,{options:[{value:"zh",label:"中文"},{value:"en",label:"English"}],value:j,onChange:e=>v(e)})}),(0,t.jsxs)("div",{className:"py-4 border-b border-border/50",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1 pr-4",children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:p("settings.terminal.label")}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground mt-0.5",children:p("settings.terminal.desc")})]}),en.length>0&&(0,t.jsx)("div",{className:"mt-3 flex flex-wrap gap-2",children:en.map(e=>{let s=es===e.value,a=(0,g.cn)("rounded-lg border px-3.5 py-1.5 text-xs font-medium transition-all duration-200",e.installed?s?"border-foreground bg-accent text-foreground font-medium cursor-pointer":"border-border text-muted-foreground hover:bg-accent/50 hover:text-foreground cursor-pointer":"cursor-not-allowed border-dashed border-border/60 text-muted-foreground/40"),n=()=>{e.installed&&(ea(e.value),(0,V.setConfigValue)("terminal.app",e.value))};return e.installed?(0,t.jsx)("button",{type:"button",onClick:n,className:a,children:e.name},e.value):(0,t.jsxs)(J.Tooltip,{children:[(0,t.jsx)(J.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",onClick:n,className:a,children:e.name})}),(0,t.jsx)(J.TooltipContent,{side:"top",children:p("settings.app.notInstalled")})]},e.value)})})]}),(0,t.jsxs)("div",{className:"py-4 border-b border-border/50",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1 pr-4",children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:p("settings.terminalFont.label")}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground mt-0.5",children:p("settings.terminalFont.desc")})]}),(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-4",children:[(0,t.jsxs)("label",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[p("settings.terminalFont.size"),(0,t.jsx)("input",{type:"number",min:8,max:40,value:ed,onChange:e=>{let t=Math.max(8,Math.min(40,Math.round(Number(e.target.value)||13)));em(t),(0,V.setConfigValue)("terminal.fontSize",t)},className:"h-8 w-20 rounded-md border border-border bg-background px-2 text-sm text-foreground outline-none focus:border-ring focus:ring-1 focus:ring-ring"})]}),(0,t.jsxs)("label",{className:"flex min-w-0 flex-1 items-center gap-2 text-xs text-muted-foreground",children:[p("settings.terminalFont.family"),(0,t.jsx)("input",{type:"text",value:eu,placeholder:"Menlo, Monaco, 'Courier New', monospace",onChange:e=>ex(e.target.value),onBlur:e=>{let t=e.target.value.trim()||"Menlo, Monaco, 'Courier New', monospace";ex(t),(0,V.setConfigValue)("terminal.fontFamily",t)},className:"h-8 min-w-0 flex-1 rounded-md border border-border bg-background px-2 font-mono text-xs text-foreground outline-none focus:border-ring focus:ring-1 focus:ring-ring"})]})]}),(0,t.jsx)("div",{className:"mt-1.5 text-[11px] text-muted-foreground/70",children:p("settings.terminalFont.hint")})]}),(0,t.jsxs)("div",{className:"py-4 border-b border-border/50",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1 pr-4",children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:p("settings.editor.label")}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground mt-0.5",children:p("settings.editor.desc")})]}),eo.length>0&&(0,t.jsx)("div",{className:"mt-3 flex flex-wrap gap-2",children:eo.map(e=>{let s=er===e.command,a=(0,g.cn)("rounded-lg border px-3.5 py-1.5 text-xs font-medium transition-all duration-200",e.installed?s?"border-foreground bg-accent text-foreground font-medium cursor-pointer":"border-border text-muted-foreground hover:bg-accent/50 hover:text-foreground cursor-pointer":"cursor-not-allowed border-dashed border-border/60 text-muted-foreground/40"),n=()=>{e.installed&&(el(e.command),(0,V.setConfigValue)("editor.command",e.command))};return e.installed?(0,t.jsx)("button",{type:"button",onClick:n,className:a,children:e.name},e.command):(0,t.jsxs)(J.Tooltip,{children:[(0,t.jsx)(J.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",onClick:n,className:a,children:e.name})}),(0,t.jsx)(J.TooltipContent,{side:"top",children:p("settings.app.notInstalled")})]},e.command)})})]})]});case"ai-tools":return(0,t.jsx)("ul",{className:"divide-y rounded-xl border border-border bg-card",children:eg.map(e=>{let s=ef===e.name,a=ej===e.name,n=eN[e.name];return(0,t.jsx)("li",{children:(0,t.jsxs)("div",{className:"px-5 py-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("span",{className:"font-medium",children:e.displayName}),(0,t.jsx)(m.Badge,{variant:"outline",children:p("label.builtin")}),s&&(0,t.jsxs)(m.Badge,{variant:"secondary",className:"shrink-0",children:[(0,t.jsx)(T,{className:"h-3 w-3 mr-1 fill-yellow-400 text-yellow-400"}),p("settings.prompts.default")]}),n&&(0,t.jsx)(m.Badge,{variant:n.ok?"secondary":"destructive",className:(0,g.cn)("shrink-0",n.ok&&"bg-green-600 text-white hover:bg-green-700"),children:n.ok?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(P.CheckCircle2,{className:"h-3 w-3 mr-1"}),p("settings.aiTools.testPassed")]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(I.XCircle,{className:"h-3 w-3 mr-1"}),p("settings.aiTools.testFailed")]})})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:e.cli.available&&e.cli.version?`${e.name} \xb7 ${e.cli.version}`:e.name})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[!s&&(0,t.jsxs)(l.Button,{variant:"outline",size:"sm",onClick:()=>{var t;eb(t=e.name),localStorage.setItem(e1,t)},children:[(0,t.jsx)(T,{className:"h-3.5 w-3.5 mr-1.5 text-muted-foreground"}),p("settings.prompts.setDefault")]}),(0,t.jsx)(l.Button,{variant:"outline",size:"sm",onClick:()=>tB(e.name),disabled:a,children:a?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(L.Loader2,{className:"h-3.5 w-3.5 animate-spin mr-1.5"}),p("settings.aiTools.testing")]}):p("settings.aiTools.testConnection")})]})]}),n&&(0,t.jsx)("div",{className:"mt-3 rounded-md border border-border bg-muted/30 px-4 py-3",children:(0,t.jsx)("div",{className:"space-y-1.5",children:n.checks.map(s=>(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,t.jsx)("span",{className:(0,g.cn)("w-1.5 h-1.5 rounded-full shrink-0",s.passed?"bg-green-500":"bg-red-500")}),(0,t.jsx)("span",{className:(0,g.cn)(s.passed?"text-foreground":"text-red-700 dark:text-red-300"),children:s.message})]},`${e.name}-${s.name}`))})})]})},e.name)})});case"prompts":return ee?(0,t.jsxs)("div",{className:"space-y-4",children:[eV&&(0,t.jsxs)("div",{className:"space-y-4 rounded-xl border border-border/50 bg-card p-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-medium",children:p("settings.prompts.builtin.title")}),(0,t.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:p("settings.prompts.builtin.desc")})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(d.Label,{className:"text-sm",children:p("settings.prompts.builtin.systemTitle")}),eV.systemDirectiveIsCustom&&(0,t.jsx)(m.Badge,{variant:"secondary",className:"rounded-full text-xs",children:p("settings.prompts.builtin.modified")})]}),(0,t.jsxs)(l.Button,{variant:"outline",onClick:()=>{eK(eV.systemDirective),eq(!0)},children:[(0,t.jsx)(M,{className:"h-4 w-4"}),p("settings.prompts.builtin.edit")]})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:p("settings.prompts.builtin.systemDesc")}),(0,t.jsx)("div",{className:"rounded-lg border border-border/50 bg-muted/30 p-3",children:(0,t.jsx)("p",{className:"line-clamp-3 whitespace-pre-wrap break-words font-mono text-xs text-muted-foreground",children:eV.systemDirective})})]}),(0,t.jsxs)("div",{className:"space-y-2 border-t border-border/50 pt-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(d.Label,{className:"text-sm",children:p("settings.prompts.builtin.childTitle")}),(0,t.jsx)(m.Badge,{variant:"outline",className:"rounded-full text-xs",children:p("settings.prompts.builtin.readonly")})]}),(0,t.jsxs)(l.Button,{variant:"outline",onClick:()=>eG(!0),children:[(0,t.jsx)(B.Eye,{className:"h-4 w-4"}),p("settings.prompts.builtin.view")]})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:p("settings.prompts.builtin.childDesc")}),(0,t.jsx)("div",{className:"rounded-lg border border-border/50 bg-muted/30 p-3",children:(0,t.jsx)("p",{className:"line-clamp-3 whitespace-pre-wrap break-words font-mono text-xs text-muted-foreground",children:eV.childReviewPrompt})})]})]}),(0,t.jsxs)("div",{className:"rounded-xl border border-border/50 bg-card p-4 space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h3",{className:"text-sm font-medium",children:p("settings.prompts.custom.title")}),(0,t.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:p("settings.prompts.custom.desc")})]}),(0,t.jsxs)(l.Button,{onClick:tR,variant:"default",className:"shrink-0",children:[(0,t.jsx)(S.Plus,{className:"h-4 w-4 mr-2"}),p("settings.prompts.newPrompt")]})]}),0===ew.length?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 text-center rounded-lg border border-dashed border-border/50",children:[(0,t.jsx)("p",{className:"text-muted-foreground",children:p("settings.prompts.empty")}),(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:p("settings.prompts.emptyHint")})]}):(0,t.jsx)("div",{className:"rounded-xl border border-border/50 divide-y divide-border/50",children:ew.map(e=>(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3.5 hover:bg-muted/30 transition-colors",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("h4",{className:"text-sm font-medium truncate",children:e.name}),e.description&&(0,t.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground truncate",children:e.description})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1 shrink-0 ml-4",children:[(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",onClick:()=>tL(e),title:p("settings.prompts.editPrompt"),children:(0,t.jsx)(M,{className:"h-4 w-4"})}),(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",onClick:()=>eR(e.id),className:"text-destructive",title:p("settings.prompts.delete"),children:(0,t.jsx)(D.Trash2,{className:"h-4 w-4"})})]})]},e.id))})]}),(0,t.jsx)(x.Dialog,{open:eW,onOpenChange:eq,children:(0,t.jsxs)(x.DialogContent,{className:"sm:max-w-3xl max-h-[90vh] overflow-y-auto",children:[(0,t.jsxs)(x.DialogHeader,{children:[(0,t.jsx)(x.DialogTitle,{children:p("settings.prompts.builtin.systemTitle")}),(0,t.jsx)(x.DialogDescription,{children:p("settings.prompts.builtin.systemDesc")})]}),(0,t.jsx)(c.Textarea,{value:e$,onChange:e=>eK(e.target.value),className:"max-h-[60vh] min-h-[50vh] font-mono text-xs"}),(0,t.jsxs)(x.DialogFooter,{children:[(0,t.jsx)(l.Button,{variant:"outline",onClick:tF,disabled:eA||!eV?.systemDirectiveIsCustom,children:p("settings.prompts.builtin.resetDefault")}),(0,t.jsx)(l.Button,{variant:"default",onClick:tU,disabled:eA||e$===eV?.systemDirective,children:p("settings.prompts.save")})]})]})}),(0,t.jsx)(x.Dialog,{open:e_,onOpenChange:eG,children:(0,t.jsxs)(x.DialogContent,{className:"sm:max-w-3xl max-h-[90vh] overflow-y-auto",children:[(0,t.jsxs)(x.DialogHeader,{children:[(0,t.jsx)(x.DialogTitle,{children:p("settings.prompts.builtin.childTitle")}),(0,t.jsx)(x.DialogDescription,{children:p("settings.prompts.builtin.childDesc")})]}),(0,t.jsx)(c.Textarea,{value:eV?.childReviewPrompt??"",readOnly:!0,className:"max-h-[60vh] min-h-[50vh] font-mono text-xs bg-muted/40 cursor-default"}),(0,t.jsx)(x.DialogFooter,{children:(0,t.jsx)(l.Button,{variant:"outline",onClick:()=>eG(!1),children:p("settings.prompts.close")})})]})}),(0,t.jsx)(x.Dialog,{open:eC,onOpenChange:eS,children:(0,t.jsxs)(x.DialogContent,{className:"sm:max-w-3xl max-h-[90vh] overflow-y-auto",children:[(0,t.jsxs)(x.DialogHeader,{children:[(0,t.jsx)(x.DialogTitle,{children:eD?p("settings.prompts.editPrompt"):p("settings.prompts.newPrompt")}),(0,t.jsx)(x.DialogDescription,{children:eD?p("settings.prompts.editPrompt"):p("settings.prompts.newPrompt")})]}),(0,t.jsxs)("div",{className:"space-y-4 py-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(d.Label,{htmlFor:"prompt-name",children:p("settings.prompts.promptName")}),(0,t.jsx)(o.Input,{id:"prompt-name",value:eL,onChange:e=>eP(e.target.value),placeholder:p("settings.prompts.promptNamePlaceholder"),className:"mt-1.5"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.Label,{htmlFor:"prompt-description",children:p("settings.prompts.promptDescription")}),(0,t.jsx)(o.Input,{id:"prompt-description",value:eI,onChange:e=>eF(e.target.value),placeholder:p("settings.prompts.promptDescriptionPlaceholder"),className:"mt-1.5"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.Label,{htmlFor:"prompt-content",children:p("settings.prompts.promptContent")}),(0,t.jsx)(c.Textarea,{id:"prompt-content",value:eE,onChange:e=>eH(e.target.value),placeholder:p("settings.prompts.promptContentPlaceholder"),className:"mt-1.5 max-h-[55vh] min-h-[40vh] font-mono text-sm"})]})]}),(0,t.jsxs)(x.DialogFooter,{children:[(0,t.jsx)(l.Button,{variant:"outline",onClick:()=>eS(!1),children:p("settings.prompts.cancel")}),(0,t.jsx)(l.Button,{onClick:tP,disabled:!eL.trim()||!eE.trim(),children:p("settings.prompts.save")})]})]})}),(0,t.jsx)(x.Dialog,{open:!!eB,onOpenChange:e=>!e&&eR(null),children:(0,t.jsxs)(x.DialogContent,{children:[(0,t.jsxs)(x.DialogHeader,{children:[(0,t.jsx)(x.DialogTitle,{children:p("settings.prompts.deleteConfirmTitle")}),(0,t.jsx)(x.DialogDescription,{children:p("settings.prompts.deleteConfirmMessage")})]}),(0,t.jsxs)(x.DialogFooter,{children:[(0,t.jsx)(l.Button,{variant:"outline",onClick:()=>eR(null),children:p("settings.prompts.cancel")}),(0,t.jsx)(l.Button,{variant:"destructive",onClick:tI,children:p("settings.prompts.delete")})]})]})})]}):(0,t.jsx)("div",{className:"h-32 rounded-lg bg-muted animate-pulse"});case"config":let s,a,n;return(0,t.jsxs)("div",{className:"space-y-8",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:p("settings.config.git.title")}),(0,t.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:p("settings.config.git.desc")})]}),(0,t.jsxs)(l.Button,{onClick:()=>{ts({...e2}),te(!0)},children:[(0,t.jsx)(S.Plus,{className:"mr-2 h-4 w-4"}),p("settings.config.git.addRule")]})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[0!==eX.length||e9?(0,t.jsx)("ul",{className:"divide-y rounded-xl border border-border bg-card",children:eX.map(e=>e4===e.id?(0,t.jsxs)("li",{className:"px-5 py-4 bg-muted/20",children:[(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"block text-xs text-muted-foreground",children:p("settings.config.git.host")}),(0,t.jsx)(o.Input,{value:e7.host,onChange:e=>e6(t=>({...t,host:e.target.value})),placeholder:p("settings.config.git.hostPlaceholder"),className:"text-sm"})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"block text-xs text-muted-foreground",children:p("settings.config.git.ownerMatch")}),(0,t.jsx)(o.Input,{value:e7.ownerMatch,onChange:e=>e6(t=>({...t,ownerMatch:e.target.value})),placeholder:p("settings.config.git.ownerMatchPlaceholder"),className:"text-sm"})]}),(0,t.jsxs)("div",{className:"space-y-1.5 col-span-2",children:[(0,t.jsx)("label",{className:"block text-xs text-muted-foreground",children:p("settings.config.git.localPathTemplate")}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(o.Input,{value:e7.localPathTemplate,onChange:e=>e6(t=>({...t,localPathTemplate:e.target.value})),placeholder:p("settings.config.git.localPathTemplatePlaceholder"),className:"text-sm font-mono flex-1"}),(0,t.jsxs)(J.Tooltip,{children:[(0,t.jsx)(J.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:ti?"default":"outline",size:"sm",type:"button",onClick:()=>tr(e=>!e),className:"shrink-0 font-mono",children:"{path}"})}),(0,t.jsx)(J.TooltipContent,{side:"top",className:"max-w-xs",children:(0,t.jsxs)("div",{className:"space-y-1 text-xs",children:[(0,t.jsx)("div",{className:"font-medium",children:p("settings.config.git.pathTooltipTitle")}),(0,t.jsx)("div",{className:"opacity-80",children:p("settings.config.git.pathTooltipDetail")})]})})]}),(0,t.jsxs)(J.Tooltip,{children:[(0,t.jsx)(J.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"outline",size:"icon",type:"button",onClick:()=>tu("edit"),children:(0,t.jsx)(U.FolderOpen,{className:"h-4 w-4"})})}),(0,t.jsx)(J.TooltipContent,{children:p("settings.config.git.pickFolder")})]})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:ti?p("onboarding.step3.pathHintFull"):p("onboarding.step3.pathHintRepo")})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"block text-xs text-muted-foreground",children:p("settings.config.git.priority")}),(0,t.jsx)(o.Input,{type:"number",value:e7.priority,onChange:e=>e6(t=>({...t,priority:Number(e.target.value)})),className:"text-sm w-24"})]})]}),(0,t.jsxs)("div",{className:"flex justify-end gap-2 mt-3",children:[(0,t.jsx)(l.Button,{variant:"ghost",size:"sm",onClick:()=>{e8(null),tr(!1)},children:p("settings.config.git.cancel")}),(0,t.jsx)(l.Button,{size:"sm",onClick:()=>tW(e.id),children:p("settings.config.git.save")})]})]},e.id):(0,t.jsx)("li",{className:"group px-5 py-4 hover:bg-muted/20 transition-colors",children:(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"font-medium text-sm",children:e.host}),"*"!==e.ownerMatch&&(0,t.jsxs)("span",{className:"text-xs text-muted-foreground",children:["/ ",e.ownerMatch]}),(0,t.jsxs)(m.Badge,{variant:"outline",className:"text-[10px] px-1.5 py-0",children:[p("settings.config.git.priority")," ",e.priority]})]}),(0,t.jsx)("p",{className:"mt-0.5 font-mono text-xs text-muted-foreground truncate",children:e.localPathTemplate})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1 shrink-0 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{let t,s,a;return t=e.localPathTemplate,a=(s=/\/\{path\}\/?$/.test(t))?t.replace(/\/?\{path\}\/?$/,"").replace(/\/+$/,""):t,void(e8(e.id),e6({host:e.host,ownerMatch:e.ownerMatch,localPathTemplate:a,priority:e.priority}),tr(s))},title:p("settings.config.git.edit"),children:(0,t.jsx)(M,{className:"h-4 w-4"})}),(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",onClick:()=>td(e.id),className:"text-destructive",title:p("settings.config.git.delete"),children:(0,t.jsx)(D.Trash2,{className:"h-4 w-4"})})]})]})},e.id))}):(0,t.jsxs)("div",{className:"rounded-xl border border-dashed border-border p-8 text-center",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:p("settings.config.git.noRules")}),(0,t.jsx)("p",{className:"mt-1.5 text-xs text-muted-foreground/80",children:p("settings.config.git.noRulesFallback")})]}),e9&&(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-muted/20 p-5 space-y-4",children:[(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"text-xs font-medium",children:p("settings.config.git.host")}),(0,t.jsx)(o.Input,{value:tt.host,onChange:e=>ts(t=>({...t,host:e.target.value})),placeholder:p("settings.config.git.hostPlaceholder"),className:"text-sm",autoFocus:!0})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"text-xs font-medium",children:p("settings.config.git.ownerMatch")}),(0,t.jsx)(o.Input,{value:tt.ownerMatch,onChange:e=>ts(t=>({...t,ownerMatch:e.target.value})),placeholder:p("settings.config.git.ownerMatchPlaceholder"),className:"text-sm"})]})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"block text-xs font-medium",children:p("settings.config.git.localPathTemplate")}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(o.Input,{value:tt.localPathTemplate,onChange:e=>ts(t=>({...t,localPathTemplate:e.target.value})),placeholder:p("settings.config.git.localPathTemplatePlaceholder"),className:"text-sm font-mono flex-1"}),(0,t.jsxs)(J.Tooltip,{children:[(0,t.jsx)(J.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:ta?"default":"outline",size:"sm",type:"button",onClick:()=>tn(e=>!e),className:"shrink-0 font-mono",children:"{path}"})}),(0,t.jsx)(J.TooltipContent,{side:"top",className:"max-w-xs",children:(0,t.jsxs)("div",{className:"space-y-1 text-xs",children:[(0,t.jsx)("div",{className:"font-medium",children:p("settings.config.git.pathTooltipTitle")}),(0,t.jsx)("div",{className:"opacity-80",children:p("settings.config.git.pathTooltipDetail")})]})})]}),(0,t.jsxs)(J.Tooltip,{children:[(0,t.jsx)(J.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"outline",size:"icon",type:"button",onClick:()=>tu("add"),children:(0,t.jsx)(U.FolderOpen,{className:"h-4 w-4"})})}),(0,t.jsx)(J.TooltipContent,{children:p("settings.config.git.pickFolder")})]})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:ta?p("onboarding.step3.pathHintFull"):p("onboarding.step3.pathHintRepo")})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"block text-xs font-medium",children:p("settings.config.git.priority")}),(0,t.jsx)(o.Input,{type:"number",value:tt.priority,onChange:e=>ts(t=>({...t,priority:Number(e.target.value)})),className:"text-sm w-24"})]}),tt.localPathTemplate&&(s=tt.localPathTemplate.trim().replace(/\/+$/,""),a=ta?`${s}/{path}`:s,n=[{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,t.jsxs)("div",{className:"rounded-lg bg-muted/40 border border-border px-4 py-3 space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:p("onboarding.step3.previewLabel")}),(0,t.jsx)("div",{className:"flex gap-1",children:n.map((e,s)=>(0,t.jsx)("button",{type:"button",onClick:()=>to(s),className:(0,g.cn)("rounded-md px-2 py-0.5 text-[11px] font-medium transition-colors cursor-pointer",tl===s?"bg-foreground text-background":"bg-muted text-muted-foreground hover:text-foreground"),children:e.label},s))})]}),(0,t.jsxs)("div",{className:"space-y-0.5",children:[(0,t.jsx)("p",{className:"font-mono text-[11px] text-muted-foreground truncate",children:n[tl].url}),(0,t.jsxs)("p",{className:"font-mono text-sm",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:"→ "}),(0,t.jsx)("span",{className:"text-foreground font-medium",children:function(e,t){if(!e||!t)return"";let s=t.trim(),a=[],n=s.match(/^git@[^:]+:(.+)$/);if(n)a=n[1].replace(/\.git\/?$/,"").split("/").filter(Boolean);else try{let e=new URL(s);a=decodeURIComponent(e.pathname).replace(/\.git\/?$/,"").split("/").filter(Boolean)}catch{return""}if(!a.length)return"";let i=a[0],r=a[a.length-1],l=a.join("/");if(e.includes("{path}"))return e.replace("{path}",l).replace("{owner}",i).replace("{repo}",r).replace(/\/+$/,"");let o=e.replace("{owner}",i).replace("{repo}","").replace(/\/+$/,"");return`${o}/${r}`}(a,n[tl].url)})]})]})]})),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)(l.Button,{variant:"ghost",size:"sm",onClick:()=>te(!1),children:p("settings.config.git.cancel")}),(0,t.jsxs)(l.Button,{size:"sm",onClick:tO,disabled:!tt.host.trim()||!tt.localPathTemplate.trim(),children:[(0,t.jsx)(R,{className:"h-3.5 w-3.5 mr-1.5"}),p("settings.config.git.save")]})]})]})]})]}),(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-muted/50 p-5 space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:p("settings.config.system.title")}),(0,t.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:p("settings.config.system.desc")})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:p("settings.config.system.maxUpload")}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:p("settings.config.system.maxUploadHint")})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(o.Input,{type:"number",min:1,max:500,value:tx.maxUploadMb,onChange:e=>tg(t=>({...t,maxUploadMb:Number(e.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"}),(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:"MB"})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:p("settings.config.system.maxConcurrent")}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:p("settings.config.system.maxConcurrentHint")})]}),(0,t.jsx)(o.Input,{type:"number",min:1,max:10,value:tx.maxConcurrent,onChange:e=>tg(t=>({...t,maxConcurrent:Number(e.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:p("settings.config.system.maxReadable")}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:p("settings.config.system.maxReadableHint")})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(o.Input,{type:"number",min:1,max:50,value:tx.maxReadableMb,onChange:e=>tg(t=>({...t,maxReadableMb:Number(e.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"}),(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:"MB"})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:p("settings.config.system.archiveDelay")}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:p("settings.config.system.archiveDelayHint")})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(o.Input,{type:"number",min:1,max:365,value:tx.archiveDelayDays,onChange:e=>tg(t=>({...t,archiveDelayDays:Number(e.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"}),(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:p("settings.config.system.archiveDelayUnit")})]})]})]}),(0,t.jsx)(l.Button,{onClick:tE,className:"rounded-lg",children:p("common.save")})]}),(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-muted/50 p-5 space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:p("settings.config.task.title")}),(0,t.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:p("settings.config.task.desc")})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:p("settings.config.system.taskDefaultWorktree")}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:p("settings.config.system.taskDefaultWorktreeHint")})]}),(0,t.jsx)("button",{type:"button",onClick:()=>tg(e=>({...e,taskDefaultUseWorktree:!e.taskDefaultUseWorktree})),className:`rounded-md px-3 py-1 text-xs font-medium transition-colors ${tx.taskDefaultUseWorktree?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:tx.taskDefaultUseWorktree?p("task.worktreeYes"):p("task.worktreeNo")})]}),(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:p("settings.config.system.taskDefaultAutoStart")}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:p("settings.config.system.taskDefaultAutoStartHint")})]}),(0,t.jsx)("button",{type:"button",onClick:()=>tg(e=>({...e,taskDefaultAutoStart:!e.taskDefaultAutoStart})),className:`rounded-md px-3 py-1 text-xs font-medium transition-colors ${tx.taskDefaultAutoStart?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:tx.taskDefaultAutoStart?p("task.autoStartYes"):p("task.autoStartNo")})]})]}),(0,t.jsx)(l.Button,{onClick:tH,className:"rounded-lg",children:p("common.save")})]}),(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-muted/50 p-5 space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:p("settings.config.gitParams.title")}),(0,t.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:p("settings.config.gitParams.desc")})]}),(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:p("settings.config.gitParams.timeout")}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:p("settings.config.gitParams.timeoutHint")})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(o.Input,{type:"number",min:5,max:300,value:th.timeoutSec,onChange:e=>tp(t=>({...t,timeoutSec:Number(e.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"}),(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:"s"})]})]}),(0,t.jsx)(l.Button,{onClick:tV,className:"rounded-lg",children:p("common.save")})]}),(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-muted/50 p-5 space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:p("settings.config.search.title")}),(0,t.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:p("settings.config.search.desc")})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:p("settings.config.search.resultLimit")}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:p("settings.config.search.resultLimitHint")})]}),(0,t.jsx)(o.Input,{type:"number",min:5,max:100,value:tf.resultLimit,onChange:e=>tb(t=>({...t,resultLimit:Number(e.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:p("settings.config.search.allModeCap")}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:p("settings.config.search.allModeCapHint")})]}),(0,t.jsx)(o.Input,{type:"number",min:1,max:20,value:tf.allModeCap,onChange:e=>tb(t=>({...t,allModeCap:Number(e.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:p("settings.config.search.debounceMs")}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:p("settings.config.search.debounceMsHint")})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(o.Input,{type:"number",min:50,max:1e3,value:tf.debounceMs,onChange:e=>tb(t=>({...t,debounceMs:Number(e.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"}),(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:"ms"})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:p("settings.config.search.snippetLength")}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:p("settings.config.search.snippetLengthHint")})]}),(0,t.jsx)(o.Input,{type:"number",min:20,max:500,value:tf.snippetLength,onChange:e=>tb(t=>({...t,snippetLength:Number(e.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:p("settings.config.search.codeTimeout")}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:p("settings.config.search.codeTimeoutHint")})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(o.Input,{type:"number",min:5,max:300,step:5,value:tf.codeTimeoutSec,onChange:e=>tb(t=>({...t,codeTimeoutSec:Number(e.target.value)})),className:"w-24 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"}),(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:"s"})]})]})]}),(0,t.jsx)(l.Button,{onClick:tz,className:"rounded-lg",children:p("common.save")})]}),(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-muted/50 p-5 space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:p("settings.config.missions.title")}),(0,t.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:p("settings.config.missions.desc")})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsx)("label",{className:"text-sm font-medium flex-1",children:p("settings.config.missions.minCols")}),(0,t.jsx)(o.Input,{type:"number",min:1,max:10,value:tj.minCols,onChange:e=>tv(t=>({...t,minCols:Number(e.target.value)})),className:"w-20 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsx)("label",{className:"text-sm font-medium flex-1",children:p("settings.config.missions.maxCols")}),(0,t.jsx)(o.Input,{type:"number",min:1,max:10,value:tj.maxCols,onChange:e=>tv(t=>({...t,maxCols:Number(e.target.value)})),className:"w-20 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsx)("label",{className:"text-sm font-medium flex-1",children:p("settings.config.missions.minRows")}),(0,t.jsx)(o.Input,{type:"number",min:1,max:10,value:tj.minRows,onChange:e=>tv(t=>({...t,minRows:Number(e.target.value)})),className:"w-20 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsx)("label",{className:"text-sm font-medium flex-1",children:p("settings.config.missions.maxRows")}),(0,t.jsx)(o.Input,{type:"number",min:1,max:10,value:tj.maxRows,onChange:e=>tv(t=>({...t,maxRows:Number(e.target.value)})),className:"w-20 text-right rounded-lg border-border/50 bg-muted/30 focus:ring-2 focus:ring-amber-500/30"})]})]}),(0,t.jsx)(l.Button,{onClick:t$,className:"rounded-lg",children:p("common.save")})]}),(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-muted/50 p-5 space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:p("settings.config.hooks.title")}),(0,t.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:p("settings.config.hooks.desc")})]}),(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:p("settings.config.hooks.autoUploadTypes")}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:p("settings.config.hooks.autoUploadTypesHint")})]}),(0,t.jsx)(o.Input,{value:tC,onChange:e=>tS(e.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,t.jsx)(l.Button,{onClick:tK,className:"rounded-lg",children:p("common.save")}),(0,t.jsxs)("div",{className:"flex items-center gap-4 pt-4 border-t border-border/50",children:[(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:tN?.installed?p("settings.config.hooks.installed"):p("settings.config.hooks.notInstalled")}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:p("settings.config.hooks.installHint")})]}),(0,t.jsx)(l.Button,{variant:tN?.installed?"destructive":"default",onClick:tA,disabled:tw||!tN,className:"rounded-lg",children:tN?.installed?p("settings.config.hooks.uninstall"):p("settings.config.hooks.install")})]})]}),(0,t.jsx)(x.Dialog,{open:!!tc,onOpenChange:e=>!e&&td(null),children:(0,t.jsxs)(x.DialogContent,{children:[(0,t.jsxs)(x.DialogHeader,{children:[(0,t.jsx)(x.DialogTitle,{children:p("settings.config.git.deleteConfirm")}),(0,t.jsx)(x.DialogDescription,{children:p("settings.config.git.deleteConfirmMessage")})]}),(0,t.jsxs)(x.DialogFooter,{children:[(0,t.jsx)(l.Button,{variant:"outline",onClick:()=>td(null),children:p("settings.config.git.cancel")}),(0,t.jsx)(l.Button,{variant:"destructive",onClick:()=>tc&&tq(tc),children:p("settings.config.git.delete")})]})]})})]});case"notifications":return(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"rounded-xl border bg-card p-4 space-y-3",children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:p("settings.notifications.systemCategory")}),(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:p("settings.notifications.enable")}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground mt-0.5",children:p("settings.notifications.enableDesc")})]}),(0,t.jsx)(u.Switch,{checked:tT,onCheckedChange:t_})]})]}),(0,t.jsx)(eY,{})]});case"backup":return(0,t.jsx)(eh,{});case"extensions":return(0,t.jsx)(eT,{});case"keyboard-shortcuts":return(0,t.jsx)(eU,{})}}()]})}),(0,t.jsx)(Q.FolderBrowserDialog,{open:null!==tm,onOpenChange:e=>{e||tu(null)},onSelect:e=>{let t=e5(e);"add"===tm?ts(e=>({...e,localPathTemplate:t})):"edit"===tm&&e6(e=>({...e,localPathTemplate:t})),tu(null)}})]})}e.s(["default",0,function(){return(0,t.jsx)(e3,{})}],113399)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,534757,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("407c99391176893b8a2e253c2c3b3960dcacb087bb",t.callServer,void 0,t.findSourceMapURL,"openInTerminal");e.s(["openInTerminal",0,r])},740081,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("40a8d9987d8b71ec56eef76f4a4ea0c28fdcd8edc0",t.callServer,void 0,t.findSourceMapURL,"getConfigValues");e.s(["getConfigValues",0,r])},368490,e=>{"use strict";var t=e.i(776405);e.s(["ChevronRight",()=>t.default])},19671,e=>{"use strict";let t=(0,e.i(572989).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",0,t],19671)},912505,e=>{"use strict";var t=e.i(289721),r=e.i(975157);e.s(["EmptyState",0,function({icon:e,title:s,description:i,action:n,className:u}){return(0,t.jsxs)("div",{className:(0,r.cn)("flex h-48 flex-col items-center justify-center gap-2 text-center",u),children:[e&&(0,t.jsx)(e,{className:"h-10 w-10 text-muted-foreground/40"}),(0,t.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:s}),i&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground/60",children:i}),n&&(0,t.jsx)("div",{className:"mt-2",children:n})]})}])},620667,483097,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("4002e701556efc923466db3132a1eb9dcf3ed1ef2c",t.callServer,void 0,t.findSourceMapURL,"stopPtyExecution");e.s(["stopPtyExecution",0,r],620667);let s=(0,t.createServerReference)("606693c21cce966ba14f407175e65a06ac7f498051",t.callServer,void 0,t.findSourceMapURL,"resumePtyExecution");e.s(["resumePtyExecution",0,s],483097)},647967,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("7c63afffbf71f8ba94c960c71a704c1530768065f3",t.callServer,void 0,t.findSourceMapURL,"startPtyExecution");e.s(["startPtyExecution",0,r])},169751,e=>{"use strict";function t(e){return Array.isArray?Array.isArray(e):"[object Array]"===h(e)}function r(e){return null==e?"":function(e){if("string"==typeof e)return e;if("bigint"==typeof e)return e.toString();let t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(e)}function s(e){return"string"==typeof e}function i(e){return"number"==typeof e}function n(e){return"object"==typeof e}function u(e){return null!=e}function c(e){return!e.trim().length}function h(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}let o=Object.prototype.hasOwnProperty;class l{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let r=a(e);this._keys.push(r),this._keyMap[r.id]=r,t+=r.weight}),this._keys.forEach(e=>{e.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function a(e){let r=null,i=null,n=null,u=1,c=null;if(s(e)||t(e))n=e,r=f(e),i=d(e);else{if(!o.call(e,"name"))throw Error("Missing name property in key");let t=e.name;if(n=t,o.call(e,"weight")&&(u=e.weight)<=0)throw Error(`Property 'weight' in key '${t}' must be a positive integer`);r=f(t),i=d(t),c=e.getFn}return{path:r,id:i,weight:u,src:n,getFn:c}}function f(e){return t(e)?e:e.split(".")}function d(e){return t(e)?e.join("."):e}let g=Object.freeze({isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1,includeMatches:!1,findAllMatches:!1,minMatchCharLength:1,location:0,threshold:.6,distance:100,useExtendedSearch:!1,useTokenSearch:!1,getFn:function(e,c){let o=[],l=!1,a=(e,c,f,d)=>{if(u(e))if(c[f]){var g,p;let A=e[c[f]];if(!u(A))return;if(f===c.length-1&&(s(A)||i(A)||!0===(g=A)||!1===g||n(p=g)&&null!==p&&"[object Boolean]"==h(g)||"bigint"==typeof A))o.push(void 0!==d?{v:r(A),i:d}:r(A));else if(t(A)){l=!0;for(let e=0,t=A.length;e<t;e+=1)a(A[e],c,f+1,e)}else c.length&&a(A,c,f+1,d)}else o.push(void 0!==d?{v:e,i:d}:e)};return a(e,s(c)?c.split("."):c,0),l?o:o[0]},ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1}),p=/[^ ]+/g;class A{constructor({getFn:e=g.getFn,fieldNormWeight:t=g.fieldNormWeight}={}){this.norm=function(e=1,t=3){let r=new Map,s=Math.pow(10,t);return{get(t){let i=t.match(p).length;if(r.has(i))return r.get(i);let n=parseFloat(Math.round(1/Math.pow(i,.5*e)*s)/s);return r.set(i,n),n},clear(){r.clear()}}}(t,3),this.getFn=e,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach((e,t)=>{this._keysMap[e.id]=t})}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,s(this.docs[0])?this.docs.forEach((e,t)=>{this._addString(e,t)}):this.docs.forEach((e,t)=>{this._addObject(e,t)}),this.norm.clear())}add(e){let t=this.size();s(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,r=this.size();t<r;t+=1)this.records[t].i-=1}removeAll(e){for(let t=e.length-1;t>=0;t-=1)this.records.splice(e[t],1);for(let e=0,t=this.records.length;e<t;e+=1)this.records[e].i=e}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_addString(e,t){if(!u(e)||c(e))return;let r={v:e,i:t,n:this.norm.get(e)};this.records.push(r)}_addObject(e,i){let n={i:i,$:{}};this.keys.forEach((i,h)=>{let o=i.getFn?i.getFn(e):this.getFn(e,i.path);if(u(o)){if(t(o)){let e=[];for(let t=0,i=o.length;t<i;t+=1){let i=o[t];if(u(i)){if(s(i)){if(!c(i)){let r={v:i,i:t,n:this.norm.get(i)};e.push(r)}}else if(u(i.v)){let t=s(i.v)?i.v:r(i.v);if(!c(t)){let r={v:t,i:i.i,n:this.norm.get(t)};e.push(r)}}}}n.$[h]=e}else if(s(o)&&!c(o)){let e={v:o,n:this.norm.get(o)};n.$[h]=e}}}),this.records.push(n)}toJSON(){return{keys:this.keys.map(({getFn:e,...t})=>t),records:this.records}}}function m(e,t,{getFn:r=g.getFn,fieldNormWeight:s=g.fieldNormWeight}={}){let i=new A({getFn:r,fieldNormWeight:s});return i.setKeys(e.map(a)),i.setSources(t),i.create(),i}function C(e){if(e.length<=1)return e;e.sort((e,t)=>e[0]-t[0]||e[1]-t[1]);let t=[e[0]];for(let r=1,s=e.length;r<s;r+=1){let s=t[t.length-1],i=e[r];i[0]<=s[1]+1?s[1]=Math.max(s[1],i[1]):t.push(i)}return t}let x={ł:"l",Ł:"L",đ:"d",Đ:"D",ø:"o",Ø:"O",ħ:"h",Ħ:"H",ŧ:"t",Ŧ:"T",ı:"i",ß:"ss"},y=RegExp("["+Object.keys(x).join("")+"]","g"),E=String.prototype.normalize?e=>e.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,"").replace(y,e=>x[e]):e=>e;class v{constructor(e,{location:t=g.location,threshold:r=g.threshold,distance:s=g.distance,includeMatches:i=g.includeMatches,findAllMatches:n=g.findAllMatches,minMatchCharLength:u=g.minMatchCharLength,isCaseSensitive:c=g.isCaseSensitive,ignoreDiacritics:h=g.ignoreDiacritics,ignoreLocation:o=g.ignoreLocation}={}){if(this.options={location:t,threshold:r,distance:s,includeMatches:i,findAllMatches:n,minMatchCharLength:u,isCaseSensitive:c,ignoreDiacritics:h,ignoreLocation:o},e=c?e:e.toLowerCase(),e=h?E(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;const l=(e,t)=>{this.chunks.push({pattern:e,alphabet:function(e){let t={};for(let r=0,s=e.length;r<s;r+=1){let i=e.charAt(r);t[i]=(t[i]||0)|1<<s-r-1}return t}(e),startIndex:t})},a=this.pattern.length;if(a>32){let e=0;const t=a%32,r=a-t;for(;e<r;)l(this.pattern.substr(e,32),e),e+=32;if(t){const e=a-32;l(this.pattern.substr(e),e)}}else l(this.pattern,0)}searchIn(e){let{isCaseSensitive:t,ignoreDiacritics:r,includeMatches:s}=this.options;if(e=t?e:e.toLowerCase(),e=r?E(e):e,this.pattern===e){let t={isMatch:!0,score:0};return s&&(t.indices=[[0,e.length-1]]),t}let{location:i,distance:n,threshold:u,findAllMatches:c,minMatchCharLength:h,ignoreLocation:o}=this.options,l=[],a=0,f=!1;this.chunks.forEach(({pattern:t,alphabet:r,startIndex:d})=>{let{isMatch:p,score:A,indices:m}=function(e,t,r,{location:s=g.location,distance:i=g.distance,threshold:n=g.threshold,findAllMatches:u=g.findAllMatches,minMatchCharLength:c=g.minMatchCharLength,includeMatches:h=g.includeMatches,ignoreLocation:o=g.ignoreLocation}={}){let l;if(t.length>32)throw Error("Pattern length exceeds max of 32.");let a=t.length,f=e.length,d=Math.max(0,Math.min(s,f)),p=n,A=d,m=(e,t)=>{let r=e/a;if(o)return r;let s=Math.abs(d-t);return i?r+s/i:s?1:r},C=c>1||h,x=C?Array(f):[];for(;(l=e.indexOf(t,A))>-1;)if(p=Math.min(m(0,l),p),A=l+a,C){let e=0;for(;e<a;)x[l+e]=1,e+=1}A=-1;let y=[],E=1,v=a+f,D=1<<a-1;for(let t=0;t<a;t+=1){let s=0,i=v;for(;s<i;)m(t,d+i)<=p?s=i:v=i,i=Math.floor((v-s)/2+s);v=i;let n=Math.max(1,d-i+1),c=u?f:Math.min(d+i,f)+a,h=Array(c+2);h[c+1]=(1<<t)-1;for(let s=c;s>=n;s-=1){let i=s-1,u=r[e[i]];if(C&&(x[i]=+!!u),h[s]=(h[s+1]<<1|1)&u,t&&(h[s]|=(y[s+1]|y[s])<<1|1|y[s+1]),h[s]&D&&(E=m(t,i))<=p){if(p=E,(A=i)<=d)break;n=Math.max(1,2*d-A)}}if(m(t+1,d)>p)break;y=h}let B={isMatch:A>=0,score:Math.max(.001,E)};if(C){let e=function(e=[],t=g.minMatchCharLength){let r=[],s=-1,i=-1,n=0;for(let u=e.length;n<u;n+=1){let u=e[n];u&&-1===s?s=n:u||-1===s||((i=n-1)-s+1>=t&&r.push([s,i]),s=-1)}return e[n-1]&&n-s>=t&&r.push([s,n-1]),r}(x,c);e.length?h&&(B.indices=e):B.isMatch=!1}return B}(e,t,r,{location:i+d,distance:n,threshold:u,findAllMatches:c,minMatchCharLength:h,includeMatches:s,ignoreLocation:o});p&&(f=!0),a+=A,p&&m&&l.push(...m)});let d={isMatch:f,score:f?a/this.chunks.length:1};return f&&s&&(d.indices=C(l)),d}}class D{constructor(e){this.pattern=e}static isMultiMatch(e){return B(e,this.multiRegex)}static isSingleMatch(e){return B(e,this.singleRegex)}search(e){return{isMatch:!1,score:1}}}function B(e,t){let r=e.match(t);return r?r[1]:null}class F extends D{constructor(e,{location:t=g.location,threshold:r=g.threshold,distance:s=g.distance,includeMatches:i=g.includeMatches,findAllMatches:n=g.findAllMatches,minMatchCharLength:u=g.minMatchCharLength,isCaseSensitive:c=g.isCaseSensitive,ignoreDiacritics:h=g.ignoreDiacritics,ignoreLocation:o=g.ignoreLocation}={}){super(e),this._bitapSearch=new v(e,{location:t,threshold:r,distance:s,includeMatches:i,findAllMatches:n,minMatchCharLength:u,isCaseSensitive:c,ignoreDiacritics:h,ignoreLocation:o})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}}class _ extends D{constructor(e){super(e)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t,r=0,s=[],i=this.pattern.length;for(;(t=e.indexOf(this.pattern,r))>-1;)r=t+i,s.push([t,r-1]);let n=!!s.length;return{isMatch:n,score:+!n,indices:s}}}let M=[class extends D{constructor(e){super(e)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){let t=e===this.pattern;return{isMatch:t,score:+!t,indices:[0,this.pattern.length-1]}}},_,class extends D{constructor(e){super(e)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){let t=e.startsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,this.pattern.length-1]}}},class extends D{constructor(e){super(e)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){let t=!e.startsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},class extends D{constructor(e){super(e)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){let t=!e.endsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},class extends D{constructor(e){super(e)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){let t=e.endsWith(this.pattern);return{isMatch:t,score:+!t,indices:[e.length-this.pattern.length,e.length-1]}}},class extends D{constructor(e){super(e)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){let t=-1===e.indexOf(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},F],S=M.length,I=new Set([F.type,_.type]),k=[];function b(...e){k.push(...e)}function w(e,t){for(let r=0,s=k.length;r<s;r+=1){let s=k[r];if(s.condition(e,t))return new s(e,t)}return new v(e,t)}let L="$and",R="$path",$=e=>!!(e[L]||e.$or),j=e=>({[L]:Object.keys(e).map(t=>({[t]:e[t]}))});function O(e,r,{auto:i=!0}={}){let u=e=>{if(s(e)){let t={keyId:null,pattern:e};return i&&(t.searcher=w(e,r)),t}let c=Object.keys(e),h=!!e[R];if(!h&&c.length>1&&!$(e))return u(j(e));if(!t(e)&&n(e)&&!$(e)){let t=h?e[R]:c[0],n=h?e.$val:e[t];if(!s(n))throw Error(`Invalid value for key ${t}`);let u={keyId:d(t),pattern:n};return i&&(u.searcher=w(n,r)),u}let o={children:[],operator:c[0]};return c.forEach(r=>{let s=e[r];t(s)&&s.forEach(e=>{o.children.push(u(e))})}),o};return $(e)||(e=j(e)),u(e)}function N(e,{ignoreFieldNorm:t=g.ignoreFieldNorm}){let r=1;return e.forEach(({key:e,norm:s,score:i})=>{let n=e?e.weight:null;r*=Math.pow(0===i&&n?Number.EPSILON:i,(n||1)*(t?1:s))}),r}class z{constructor(e){this.limit=e,this.heap=[]}get size(){return this.heap.length}shouldInsert(e){return this.size<this.limit||e<this.heap[0].score}insert(e){this.size<this.limit?(this.heap.push(e),this._bubbleUp(this.size-1)):e.score<this.heap[0].score&&(this.heap[0]=e,this._sinkDown(0))}extractSorted(e){return this.heap.sort(e)}_bubbleUp(e){let t=this.heap;for(;e>0;){let r=e-1>>1;if(t[e].score<=t[r].score)break;let s=t[e];t[e]=t[r],t[r]=s,e=r}}_sinkDown(e){let t=this.heap,r=t.length,s=e;do{let i=2*(e=s)+1,n=2*e+2;if(i<r&&t[i].score>t[s].score&&(s=i),n<r&&t[n].score>t[s].score&&(s=n),s!==e){let r=t[e];t[e]=t[s],t[s]=r}}while(s!==e)}}function W(e,t){let r=e.matches;t.matches=[],u(r)&&r.forEach(e=>{if(!u(e.indices)||!e.indices.length)return;let{indices:r,value:s}=e,i={indices:r,value:s};e.key&&(i.key=e.key.src),e.idx>-1&&(i.refIndex=e.idx),t.matches.push(i)})}function P(e,t){t.score=e.score}let T=/\b\w+\b/g;function U({isCaseSensitive:e=!1,ignoreDiacritics:t=!1}={}){return{tokenize:r=>(e||(r=r.toLowerCase()),t&&(r=E(r)),r.match(T)||[])}}function K(e,t){for(let[r,s]of e.terms){let i=s.filter(e=>e.docIdx!==t),n=s.length-i.length;n>0&&(e.fieldCount-=n,e.df.set(r,(e.df.get(r)||0)-n),0===i.length?(e.terms.delete(r),e.df.delete(r)):e.terms.set(r,i))}}class Q{constructor(e,t,r){this.options={...g,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new l(this.options.keys),this._docs=e,this._myIndex=null,this._invertedIndex=null,this.setCollection(e,r),this._lastQuery=null,this._lastSearcher=null}_getSearcher(e){if(this._lastQuery===e)return this._lastSearcher;let t=w(e,this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options);return this._lastQuery=e,this._lastSearcher=t,t}setCollection(e,t){if(this._docs=e,t&&!(t instanceof A))throw Error("Incorrect 'index' type");if(this._myIndex=t||m(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){let e=U({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics});this._invertedIndex=function(e,t,r){let s=new Map,i=new Map,n=0;function u(e,t,u,c){let h=r.tokenize(e);if(!h.length)return;n++;let o=new Map;for(let e of h)o.set(e,(o.get(e)||0)+1);for(let[e,r]of o){let n={docIdx:t,keyIdx:u,subIdx:c,tf:r},h=s.get(e);h||(h=[],s.set(e,h)),h.push(n),i.set(e,(i.get(e)||0)+1)}}for(let r of e){let{i:e,v:s,$:i}=r;if(void 0!==s){u(s,e,-1,-1);continue}if(i)for(let r=0;r<t;r++){let t=i[r];if(t)if(Array.isArray(t))for(let s of t)u(s.v,e,r,s.i??-1);else u(t.v,e,r,-1)}}return{terms:s,fieldCount:n,df:i}}(this._myIndex.records,this._myIndex.keys.length,e)}}add(e){if(u(e)&&(this._docs.push(e),this._myIndex.add(e),this._invertedIndex)){let e=this._myIndex.records[this._myIndex.records.length-1],t=U({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics});!function(e,t,r,s){let{i:i,v:n,$:u}=t;function c(t,r,n){let u=s.tokenize(t);if(!u.length)return;e.fieldCount++;let c=new Map;for(let e of u)c.set(e,(c.get(e)||0)+1);for(let[t,s]of c){let u={docIdx:i,keyIdx:r,subIdx:n,tf:s},c=e.terms.get(t);c||(c=[],e.terms.set(t,c)),c.push(u),e.df.set(t,(e.df.get(t)||0)+1)}}if(void 0!==n)return c(n,-1,-1);if(u)for(let e=0;e<r;e++){let t=u[e];if(t)if(Array.isArray(t))for(let r of t)c(r.v,e,r.i??-1);else c(t.v,e,-1)}}(this._invertedIndex,e,this._myIndex.keys.length,t)}}remove(e=()=>!1){let t=[],r=[];for(let s=0,i=this._docs.length;s<i;s+=1)e(this._docs[s],s)&&(t.push(this._docs[s]),r.push(s));if(r.length){if(this._invertedIndex)for(let e of r)K(this._invertedIndex,e);for(let e=r.length-1;e>=0;e-=1)this._docs.splice(r[e],1);this._myIndex.removeAll(r)}return t}removeAt(e){this._invertedIndex&&K(this._invertedIndex,e);let t=this._docs.splice(e,1)[0];return this._myIndex.removeAt(e),t}getIndex(){return this._myIndex}search(e,t){let r,{limit:n=-1}=t||{},{includeMatches:u,includeScore:c,shouldSort:h,sortFn:o,ignoreFieldNorm:l}=this.options;if(s(e)&&!e.trim()){let e=this._docs.map((e,t)=>({item:e,refIndex:t}));return i(n)&&n>-1&&(e=e.slice(0,n)),e}if(i(n)&&n>0&&s(e)){let t=new z(n);s(this._docs[0])?this._searchStringList(e,{heap:t,ignoreFieldNorm:l}):this._searchObjectList(e,{heap:t,ignoreFieldNorm:l}),r=t.extractSorted(o)}else!function(e,{ignoreFieldNorm:t=g.ignoreFieldNorm}){e.forEach(e=>{e.score=N(e.matches,{ignoreFieldNorm:t})})}(r=s(e)?s(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),{ignoreFieldNorm:l}),h&&r.sort(o),i(n)&&n>-1&&(r=r.slice(0,n));return function(e,t,{includeMatches:r=g.includeMatches,includeScore:s=g.includeScore}={}){let i=[];return r&&i.push(W),s&&i.push(P),e.map(e=>{let{idx:r}=e,s={item:t[r],refIndex:r};return i.length&&i.forEach(t=>{t(e,s)}),s})}(r,this._docs,{includeMatches:u,includeScore:c})}_searchStringList(e,{heap:t,ignoreFieldNorm:r}={}){let s=this._getSearcher(e),{records:i}=this._myIndex,n=t?null:[];return i.forEach(({v:e,i:i,n:c})=>{if(!u(e))return;let{isMatch:h,score:o,indices:l}=s.searchIn(e);if(h){let s={item:e,idx:i,matches:[{score:o,value:e,norm:c,indices:l}]};t?(s.score=N(s.matches,{ignoreFieldNorm:r}),t.shouldInsert(s.score)&&t.insert(s)):n.push(s)}}),n}_searchLogical(e){let t=O(e,this.options),r=(e,t,s)=>{if(!("children"in e)){let r,{keyId:i,searcher:n}=e;return(null===i?(r=[],this._myIndex.keys.forEach((e,s)=>{r.push(...this._findMatches({key:e,value:t[s],searcher:n}))})):r=this._findMatches({key:this._keyStore.get(i),value:this._myIndex.getValueForItemAtKeyId(t,i),searcher:n}),r&&r.length)?[{idx:s,item:t,matches:r}]:[]}let{children:i,operator:n}=e,u=[];for(let e=0,c=i.length;e<c;e+=1){let c=r(i[e],t,s);if(c.length)u.push(...c);else if(n===L)return[]}return u},s=this._myIndex.records,i=new Map,n=[];return s.forEach(({$:e,i:s})=>{if(u(e)){let u=r(t,e,s);u.length&&(i.has(s)||(i.set(s,{idx:s,item:e,matches:[]}),n.push(i.get(s))),u.forEach(({matches:e})=>{i.get(s).matches.push(...e)}))}}),n}_searchObjectList(e,{heap:t,ignoreFieldNorm:r}={}){let s=this._getSearcher(e),{keys:i,records:n}=this._myIndex,c=t?null:[];return n.forEach(({$:e,i:n})=>{if(!u(e))return;let h=[],o=!1,l=!1;if(i.forEach((t,r)=>{let i=this._findMatches({key:t,value:e[r],searcher:s});i.length?(h.push(...i),i[0].hasInverse&&(l=!0)):o=!0}),(!l||!o)&&h.length){let s={idx:n,item:e,matches:h};t?(s.score=N(s.matches,{ignoreFieldNorm:r}),t.shouldInsert(s.score)&&t.insert(s)):c.push(s)}}),c}_findMatches({key:e,value:r,searcher:s}){if(!u(r))return[];let i=[];if(t(r))r.forEach(({v:t,i:r,n:n})=>{if(!u(t))return;let{isMatch:c,score:h,indices:o,hasInverse:l}=s.searchIn(t);c&&i.push({score:h,key:e,value:t,idx:r,norm:n,indices:o,hasInverse:l})});else{let{v:t,n:n}=r,{isMatch:u,score:c,indices:h,hasInverse:o}=s.searchIn(t);u&&i.push({score:c,key:e,value:t,norm:n,indices:h,hasInverse:o})}return i}}Q.version="7.3.0",Q.createIndex=m,Q.parseIndex=function(e,{getFn:t=g.getFn,fieldNormWeight:r=g.fieldNormWeight}={}){let{keys:s,records:i}=e,n=new A({getFn:t,fieldNormWeight:r});return n.setKeys(s),n.setIndexRecords(i),n},Q.config=g,Q.match=function(e,t,r){return w(e,{...g,...r}).searchIn(t)},Q.parseQuery=O,b(class{constructor(e,{isCaseSensitive:t=g.isCaseSensitive,ignoreDiacritics:r=g.ignoreDiacritics,includeMatches:s=g.includeMatches,minMatchCharLength:i=g.minMatchCharLength,ignoreLocation:n=g.ignoreLocation,findAllMatches:u=g.findAllMatches,location:c=g.location,threshold:h=g.threshold,distance:o=g.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:r,includeMatches:s,minMatchCharLength:i,findAllMatches:u,ignoreLocation:n,location:c,threshold:h,distance:o},e=t?e:e.toLowerCase(),e=r?E(e):e,this.pattern=e,this.query=function(e,t={}){return e.replace(/\\\|/g,"\0").split("|").map(e=>{let r=(function(e){let t=[],r=e.length,s=0;for(;s<r;){for(;s<r&&" "===e[s];)s++;if(s>=r)break;let i=s;for(;i<r&&" "!==e[i]&&'"'!==e[i];)i++;if(i<r&&'"'===e[i]){for(i++;i<r;){if('"'===e[i]){let t=i+1;if(t>=r||" "===e[t]){i++;break}if("$"===e[t]&&(t+1>=r||" "===e[t+1])){i+=2;break}}i++}t.push(e.substring(s,i)),s=i}else{for(;i<r&&" "!==e[i];)i++;t.push(e.substring(s,i)),s=i}}return t})(e.replace(/\u0000/g,"|").trim()).filter(e=>e&&!!e.trim()),s=[];for(let e=0,i=r.length;e<i;e+=1){let i=r[e],n=!1,u=-1;for(;!n&&++u<S;){let e=M[u],r=e.isMultiMatch(i);r&&(s.push(new e(r,t)),n=!0)}if(!n)for(u=-1;++u<S;){let e=M[u],r=e.isSingleMatch(i);if(r){s.push(new e(r,t));break}}}return s})}(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){let t=this.query;if(!t)return{isMatch:!1,score:1};let{includeMatches:r,isCaseSensitive:s,ignoreDiacritics:i}=this.options;e=s?e:e.toLowerCase(),e=i?E(e):e;let n=0,u=[],c=0,h=!1;for(let s=0,i=t.length;s<i;s+=1){let i=t[s];u.length=0,n=0,h=!1;for(let t=0,s=i.length;t<s;t+=1){let s=i[t],{isMatch:o,indices:l,score:a}=s.search(e);if(o){n+=1,c+=a;let e=s.constructor.type;e.startsWith("inverse")&&(h=!0),r&&(I.has(e)?u.push(...l):u.push(l))}else{c=0,n=0,u.length=0,h=!1;break}}if(n){let e={isMatch:!0,score:c/n};return h&&(e.hasInverse=!0),r&&(e.indices=C(u)),e}}return{isMatch:!1,score:1}}}),b(class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=U({isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics});const r=this.analyzer.tokenize(e),{df:s,fieldCount:i}=t._invertedIndex;for(const e of(this.termSearchers=[],this.idfWeights=[],r)){this.termSearchers.push(new v(e,{location:t.location,threshold:t.threshold,distance:t.distance,includeMatches:t.includeMatches,findAllMatches:t.findAllMatches,minMatchCharLength:t.minMatchCharLength,isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,ignoreLocation:!0}));const r=s.get(e)||0,n=Math.log(1+(i-r+.5)/(r+.5));this.idfWeights.push(n)}}searchIn(e){if(!this.termSearchers.length)return{isMatch:!1,score:1};let t=[],r=0,s=0,i=0;for(let n=0;n<this.termSearchers.length;n++){let u=this.termSearchers[n].searchIn(e),c=this.idfWeights[n];s+=c,u.isMatch&&(i++,r+=c*(1-u.score),u.indices&&t.push(...u.indices))}if(0===i)return{isMatch:!1,score:1};let n={isMatch:!0,score:Math.max(.001,s>0?1-r/s:0)};return this.options.includeMatches&&t.length&&(n.indices=C(t)),n}}),Q.use=function(...e){e.forEach(e=>b(e))},e.s(["default",0,Q])}]);