tower-studio 0.2.43 → 0.2.44

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 (249) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +3 -3
  3. package/.next/standalone/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  5. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  6. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_not-found/page/react-loadable-manifest.json +2 -2
  12. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +35 -35
  13. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  14. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/api/adapters/test/route.js +2 -2
  16. package/.next/standalone/.next/server/app/api/adapters/test/route.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/api/browse-fs/route.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/api/files/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  19. package/.next/standalone/.next/server/app/api/git/route.js +1 -1
  20. package/.next/standalone/.next/server/app/api/git/route.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/api/internal/assets/reveal/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/internal/assistant/route.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/api/internal/assistant/sessions/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/internal/backup/import/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/internal/cache/[...segments]/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/internal/hooks/install/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/internal/hooks/session/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/internal/hooks/stop/route.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/api/internal/hooks/upload/route.js +1 -1
  33. package/.next/standalone/.next/server/app/api/internal/hooks/upload/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/internal/monaco/[...path]/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/input/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/paste-image/route.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/resume/route.js +3 -4
  39. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/resume/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js +4 -5
  41. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/stop/route.js +3 -4
  43. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/stop/route.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff/route.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff-patch/route.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/api/tasks/[taskId]/merge/route.js +3 -2
  47. package/.next/standalone/.next/server/app/api/tasks/[taskId]/merge/route.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/missions/page/react-loadable-manifest.json +1 -1
  49. package/.next/standalone/.next/server/app/missions/page/server-reference-manifest.json +72 -72
  50. package/.next/standalone/.next/server/app/missions/page.js.nft.json +1 -1
  51. package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
  52. package/.next/standalone/.next/server/app/onboarding/page/react-loadable-manifest.json +2 -2
  53. package/.next/standalone/.next/server/app/onboarding/page/server-reference-manifest.json +35 -35
  54. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  55. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/app/page/react-loadable-manifest.json +2 -2
  57. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +35 -35
  58. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/settings/page/react-loadable-manifest.json +2 -2
  61. package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +52 -52
  62. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  63. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +2 -2
  65. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +103 -103
  66. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
  67. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +2 -2
  69. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +90 -90
  70. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
  71. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +2 -2
  73. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +69 -69
  74. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
  75. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +2 -2
  77. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +83 -83
  78. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
  79. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +2 -2
  81. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +35 -35
  82. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
  83. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/react-loadable-manifest.json +2 -2
  85. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/server-reference-manifest.json +71 -71
  86. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js.nft.json +1 -1
  87. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +3 -3
  89. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +91 -91
  90. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
  91. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/workspaces/page/react-loadable-manifest.json +2 -2
  93. package/.next/standalone/.next/server/app/workspaces/page/server-reference-manifest.json +48 -48
  94. package/.next/standalone/.next/server/app/workspaces/page.js.nft.json +1 -1
  95. package/.next/standalone/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
  96. package/.next/standalone/.next/server/chunks/{_0keginv._.js → 0se9_next_0cuhhky._.js} +3 -3
  97. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_03qwlhl.js +1 -1
  98. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_09pca3o.js +1 -1
  99. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0eh8dj_.js +1 -1
  100. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0gr2wxq.js +3 -0
  101. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0h5yr8p.js +1 -1
  102. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0m8aavq.js +1 -1
  103. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0yp430z.js +1 -1
  104. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0yzw48x.js +1 -1
  105. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-z_a1d._.js +1 -1
  106. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0.zmhk-._.js +1 -1
  107. package/.next/standalone/.next/server/chunks/[root-of-the-server]__04--bs7._.js +1 -1
  108. package/.next/standalone/.next/server/chunks/[root-of-the-server]__04m2l8a._.js +1 -1
  109. package/.next/standalone/.next/server/chunks/[root-of-the-server]__04r193~._.js +1 -1
  110. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06ndn7a._.js +4 -0
  111. package/.next/standalone/.next/server/chunks/[root-of-the-server]__08yqoti._.js +1 -1
  112. package/.next/standalone/.next/server/chunks/[root-of-the-server]__09arklv._.js +3 -0
  113. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_d.s7s._.js +1 -1
  114. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0ajay8_._.js → [root-of-the-server]__0_zfnj0._.js} +1 -1
  115. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0clptds._.js +1 -1
  116. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g.k9o~._.js +1 -1
  117. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0gn0ubd._.js +1 -1
  118. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0gwztza._.js +1 -1
  119. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0i34gbs._.js +4 -0
  120. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0i~3dwq._.js +1 -1
  121. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0k-5ag7._.js +1 -1
  122. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0l1-djp._.js +1 -1
  123. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0pl.c5.._.js +3 -0
  124. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0r~9.7c._.js +4 -0
  125. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0t31ba_._.js +1 -1
  126. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0t_weyi._.js +1 -1
  127. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0uptkzd._.js +1 -1
  128. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xot7fu._.js +1 -1
  129. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0y8w5di._.js +1 -1
  130. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__075a0hk._.js → [root-of-the-server]__0zi3~a8._.js} +2 -2
  131. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~g6-c~._.js +1 -1
  132. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1189rd1._.js +1 -1
  133. package/.next/standalone/.next/server/chunks/_0qk_esg._.js +2 -2
  134. package/.next/standalone/.next/server/chunks/_0t31z6q._.js +1 -1
  135. package/.next/standalone/.next/server/chunks/src_0fq3zjg._.js +1 -1
  136. package/.next/standalone/.next/server/chunks/src_0wlyw0g._.js +1 -1
  137. package/.next/standalone/.next/server/chunks/src_0~ey84y._.js +1 -1
  138. package/.next/standalone/.next/server/chunks/src_actions_agent-actions_ts_10q9r5b._.js +2 -2
  139. package/.next/standalone/.next/server/chunks/ssr/0iu._[workspaceId]_projects_[projectId]_versions_version-timeline-client_tsx_07o_kyi._.js +1 -1
  140. package/.next/standalone/.next/server/chunks/ssr/0se9_next_11h0sx_._.js +1 -1
  141. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0xr45lx._.js → [root-of-the-server]__01fmnse._.js} +2 -2
  142. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01vm_46._.js +3 -3
  143. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__025ol9g._.js +1 -1
  144. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__08k-xb7._.js → [root-of-the-server]__049n47u._.js} +2 -2
  145. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__04wbr9x._.js +1 -1
  146. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__05xg05r._.js +1 -1
  147. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__07xkj1s._.js +3 -3
  148. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__12ko8p6._.js → [root-of-the-server]__081e5n~._.js} +2 -2
  149. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ecd_1d._.js +3 -3
  150. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0iln7n_._.js +3 -3
  151. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0jymb~t._.js +1 -1
  152. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0lws68d._.js +3 -3
  153. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0oamph.._.js +3 -3
  154. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__00dh103._.js → [root-of-the-server]__0ugledi._.js} +2 -2
  155. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0stlq2_._.js → [root-of-the-server]__0vxlsec._.js} +2 -2
  156. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__065f3ii._.js → [root-of-the-server]__0w0.sdz._.js} +2 -2
  157. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0xwzk2.._.js +3 -3
  158. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0yby8pl._.js +3 -3
  159. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0z7je5_._.js +1 -1
  160. package/.next/standalone/.next/server/chunks/ssr/_0-~9em3._.js +1 -1
  161. package/.next/standalone/.next/server/chunks/ssr/{_0gkid_a._.js → _02vz78l._.js} +2 -2
  162. package/.next/standalone/.next/server/chunks/ssr/{_00odlgv._.js → _04~mjmb._.js} +2 -2
  163. package/.next/standalone/.next/server/chunks/ssr/_05a2u03._.js +3 -3
  164. package/.next/standalone/.next/server/chunks/ssr/_070t_mh._.js +2 -2
  165. package/.next/standalone/.next/server/chunks/ssr/_07q06~v._.js +3 -3
  166. package/.next/standalone/.next/server/chunks/ssr/_08bq4g8._.js +1 -1
  167. package/.next/standalone/.next/server/chunks/ssr/{_0rrs.-d._.js → _0_nhdgs._.js} +2 -2
  168. package/.next/standalone/.next/server/chunks/ssr/_0_q41~z._.js +3 -3
  169. package/.next/standalone/.next/server/chunks/ssr/_0cj9a7y._.js +1 -1
  170. package/.next/standalone/.next/server/chunks/ssr/_0dxbp89._.js +3 -3
  171. package/.next/standalone/.next/server/chunks/ssr/{_047dh-f._.js → _0foto06._.js} +2 -2
  172. package/.next/standalone/.next/server/chunks/ssr/{_05k76ur._.js → _0i4xdso._.js} +2 -2
  173. package/.next/standalone/.next/server/chunks/ssr/{_0uryq~z._.js → _0kojxno._.js} +2 -2
  174. package/.next/standalone/.next/server/chunks/ssr/{_0oeih09._.js → _0r4_qn~._.js} +2 -2
  175. package/.next/standalone/.next/server/chunks/ssr/_0rdyrfd._.js +1 -1
  176. package/.next/standalone/.next/server/chunks/ssr/{_00l85fp._.js → _0u3yt.5._.js} +3 -3
  177. package/.next/standalone/.next/server/chunks/ssr/_0wbcp88._.js +1 -1
  178. package/.next/standalone/.next/server/chunks/ssr/_0wqcz3w._.js +3 -3
  179. package/.next/standalone/.next/server/chunks/ssr/{_0463zy~._.js → _0ye1-r-._.js} +2 -2
  180. package/.next/standalone/.next/server/chunks/ssr/{_0syb503._.js → _0zr81mw._.js} +2 -2
  181. package/.next/standalone/.next/server/chunks/ssr/{_0b7smy6._.js → _11osha9._.js} +2 -2
  182. package/.next/standalone/.next/server/chunks/ssr/src_0djxlqx._.js +1 -1
  183. package/.next/standalone/.next/server/chunks/ssr/src_0eufeyj._.js +1 -1
  184. package/.next/standalone/.next/server/chunks/ssr/src_actions_agent-actions_ts_0~wc.sy._.js +1 -1
  185. package/.next/standalone/.next/server/chunks/ssr/src_actions_file-actions_ts_0gcvqwm._.js +1 -1
  186. package/.next/standalone/.next/server/chunks/ssr/src_app_missions_missions-client_tsx_11429lj._.js +1 -1
  187. package/.next/standalone/.next/server/chunks/ssr/src_app_onboarding_page_tsx_0xf7hpz._.js +1 -1
  188. package/.next/standalone/.next/server/chunks/ssr/src_app_settings_page_tsx_0h9v7dr._.js +1 -1
  189. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0wyzpam._.js +1 -1
  190. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_board-page-client_tsx_0gips66._.js +1 -1
  191. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_notes_notes-page-client_tsx_10gyo3v._.js +1 -1
  192. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_02t7blt._.js +1 -1
  193. package/.next/standalone/.next/server/chunks/ssr/src_components_ui_select_tsx_0d2ra01._.js +1 -1
  194. package/.next/standalone/.next/server/chunks/ssr/src_lib_worktree_ts_06cucy3._.js +1 -1
  195. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  196. package/.next/standalone/.next/server/pages/500.html +1 -1
  197. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  198. package/.next/standalone/.next/server/server-reference-manifest.json +290 -290
  199. package/.next/standalone/.next/static/chunks/{0~prx0ure_1i6.js → 0-tuek2jqf0el.js} +1 -1
  200. package/.next/standalone/.next/static/chunks/{0evfu1ozaw5ak.js → 0.-.jc~0b~hy0.js} +1 -1
  201. package/.next/standalone/.next/static/chunks/{0rnitheqdpd1..js → 0.~03w.uxge40.js} +1 -1
  202. package/.next/standalone/.next/static/chunks/01hdj_kw4z2zq.js +2 -0
  203. package/.next/standalone/.next/static/chunks/{08i9.47-_mxro.js → 0346xrw6i2bwo.js} +1 -1
  204. package/.next/standalone/.next/static/chunks/041o.dh2lc-k3.js +1 -0
  205. package/.next/standalone/.next/static/chunks/{070fs6rmafi.i.js → 08ooaq~-.8fzu.js} +1 -1
  206. package/.next/standalone/.next/static/chunks/{05v-c3ir3ik_1.js → 0bylodlncwfpb.js} +1 -1
  207. package/.next/standalone/.next/static/chunks/{00z.kuqsfrxq5.js → 0clewc5ifaruu.js} +2 -2
  208. package/.next/standalone/.next/static/chunks/0cpwtqzrjdgvs.js +1 -0
  209. package/.next/standalone/.next/static/chunks/0c~e1-nst-ze-.js +1 -0
  210. package/.next/standalone/.next/static/chunks/{0_yp-y9l0upp~.js → 0dv4anj-j523o.js} +1 -1
  211. package/.next/standalone/.next/static/chunks/{04op7bjge~n4l.js → 0gvfb.b8m_i8t.js} +1 -1
  212. package/.next/standalone/.next/static/chunks/{0hk3lmsij2x1c.js → 0h77-u2vvr-a1.js} +1 -1
  213. package/.next/standalone/.next/static/chunks/{0rfq8fy71hj7c.js → 0lqp~-dlfenad.js} +1 -1
  214. package/.next/standalone/.next/static/chunks/0qkr26yz3bocs.js +1 -0
  215. package/.next/standalone/.next/static/chunks/{0sr-m2t6vck14.js → 0rcuiuax31_uh.js} +1 -1
  216. package/.next/standalone/.next/static/chunks/0uf~7eqel0zra.js +1 -0
  217. package/.next/standalone/.next/static/chunks/{0ts___1ygewqp.js → 0uj-3ckujwaiy.js} +1 -1
  218. package/.next/standalone/.next/static/chunks/0w71r_sj_fibx.js +1 -0
  219. package/.next/standalone/.next/static/chunks/{0rjt_ddd~6t8r.js → 0xg6rcq6g4bbh.js} +1 -1
  220. package/.next/standalone/.next/static/chunks/0yff8rwmrl5m4.js +1 -0
  221. package/.next/standalone/.next/static/chunks/{0gq65t6au55oa.js → 0ymipmkk2uqby.js} +1 -1
  222. package/.next/standalone/.next/static/chunks/0znfclapbniaa.js +1 -0
  223. package/.next/standalone/.next/static/chunks/{0-vgfstmpuwnx.js → 11pe3kpxuj33f.js} +1 -1
  224. package/.next/standalone/.next/static/chunks/172s9cg35qt7i.js +1 -0
  225. package/.next/standalone/.next/static/chunks/{11p.r-9wyh7_2.js → 17m4o~gdsvuo3.js} +1 -1
  226. package/.next/standalone/.next/static/chunks/184-zu89wwa4u.js +1 -0
  227. package/.next/standalone/package.json +1 -1
  228. package/dist/mcp-server.cjs +21 -2
  229. package/package.json +1 -1
  230. package/.next/standalone/.next/server/chunks/[externals]__0m6hc.0._.js +0 -3
  231. package/.next/standalone/.next/server/chunks/[root-of-the-server]__05abzth._.js +0 -3
  232. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b25v3p._.js +0 -4
  233. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0h6bl6t._.js +0 -3
  234. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0q~uf3u._.js +0 -3
  235. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wkjqrd._.js +0 -3
  236. package/.next/standalone/.next/static/chunks/0.lyp-cx3zt9..js +0 -2
  237. package/.next/standalone/.next/static/chunks/01rbl6a8z.tuw.js +0 -1
  238. package/.next/standalone/.next/static/chunks/0gz71w_~yw2iu.js +0 -1
  239. package/.next/standalone/.next/static/chunks/0j1hqwmeaqnn2.js +0 -1
  240. package/.next/standalone/.next/static/chunks/0prrt_bws8ml6.js +0 -1
  241. package/.next/standalone/.next/static/chunks/0qgqjy.9.-qpi.js +0 -1
  242. package/.next/standalone/.next/static/chunks/0vmy6tsqy.xf4.js +0 -1
  243. package/.next/standalone/.next/static/chunks/0wbq-_8jyxjxm.js +0 -1
  244. package/.next/standalone/.next/static/chunks/1107zshxaajt9.js +0 -1
  245. package/.next/standalone/.next/static/chunks/11x3_612u8w~9.js +0 -1
  246. package/.next/standalone/.next/static/chunks/14mk_a0k99wbg.js +0 -1
  247. /package/.next/standalone/.next/static/{d-Uhp63kgWdPkhPt7Fzyb → dinNvsaC6aoPK_B7ZTeBv}/_buildManifest.js +0 -0
  248. /package/.next/standalone/.next/static/{d-Uhp63kgWdPkhPt7Fzyb → dinNvsaC6aoPK_B7ZTeBv}/_clientMiddlewareManifest.js +0 -0
  249. /package/.next/standalone/.next/static/{d-Uhp63kgWdPkhPt7Fzyb → dinNvsaC6aoPK_B7ZTeBv}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
1
  module.exports=[347427,a=>{"use strict";var b=a.i(815429),c=a.i(761469),d=a.i(188139),e=a.i(845427),f=a.i(962620),g=a.i(26683),h=a.i(312369),i=a.i(378322);class j extends Error{code;provider;constructor(a,b,c){super(c),this.code=a,this.provider=b,this.name="AiProviderError"}}var k=a.i(855806);let l="claude",m="请到 Settings → Test Connection 测试该 Provider 后再使用(未注入的 CLI 不能被插槽选中)";async function n(a){return c.db.aiCapabilityConfig.findUnique({where:{slot:a}})}async function o(a){if(a){if(await (0,k.isProviderConnected)(a))return a;throw new j("CLI_NOT_FOUND",a,`Provider "${a}" 未连接:${m}`)}let b=await (0,k.getConnectedProviders)();if(0===b.length)throw new j("CLI_NOT_FOUND",l,`没有任何 AI Provider 已连接:${m}`);return b.includes(l)?l:b[0]}async function p(a){let b=await n(a),c=b?.model??void 0,d=await o(b?.provider??null),e=i.providerRegistry.get(d);if(!e)throw new j("CLI_NOT_FOUND",d,`Provider "${d}" 未注册`);let f=e.cli?.adapter;if(!f)throw new j("UNSUPPORTED_MODE",d,`Provider "${d}" 不支持 CLI 模式`);return{adapter:f,provider:e,model:c}}var q=a.i(924868),r=a.i(446786),s=a.i(814747),t=a.i(630048);let u=g.logger.create("agent-actions"),v=(0,s.join)((0,r.tmpdir)(),"tower-signals");async function w(a,b){try{await (0,q.mkdir)(v,{recursive:!0,mode:448}),await (0,q.writeFile)((0,s.join)(v,`exit-${a}`),String(b),{mode:384})}catch{}}async function x(a,b){let e=await c.db.taskMessage.create({data:{role:"USER",content:b,taskId:a}});return(0,d.revalidatePath)("/workspaces"),{userMessage:e}}async function y(a){return c.db.taskMessage.findMany({where:{taskId:a},orderBy:{createdAt:"asc"}})}async function z(a,b="CLAUDE_CODE",e,f){let g=await c.db.taskExecution.create({data:{taskId:a,agent:b,status:"RUNNING",startedAt:new Date,worktreePath:e??null,worktreeBranch:f??null}});return await c.db.task.update({where:{id:a},data:{status:"IN_PROGRESS"}}),(0,d.revalidatePath)("/workspaces"),g}async function A(a,b="FAILED"){let e=await c.db.taskExecution.update({where:{id:a},data:{status:b,endedAt:new Date}});return(0,d.revalidatePath)("/workspaces"),e}async function B(b){let{destroySession:e,getSession:f}=await a.A(98813),g=f(b),h=g?.getBuffer()??"",i=await c.db.taskExecution.findFirst({where:{taskId:b,status:"RUNNING"},orderBy:{createdAt:"desc"}}),j=await c.db.task.findUnique({where:{id:b},include:{project:{select:{localPath:!0}}}});if(e(b),i){await c.db.taskExecution.update({where:{id:i.id},data:{status:"COMPLETED",endedAt:new Date}}),await c.db.task.update({where:{id:b},data:{status:"IN_REVIEW"}});let d=i.worktreePath||j?.project?.localPath||null,{captureExecutionSummary:e}=await a.A(662330);await e(i.id,b,0,h,d,i.forkCommit)}(0,d.revalidatePath)("/workspaces")}async function C(a){return c.db.taskExecution.findMany({where:{taskId:a},orderBy:{createdAt:"desc"},include:{insightNote:{select:{id:!0,title:!0,content:!0}}}})}async function D(b,e){let g=await c.db.task.findUnique({where:{id:b},include:{project:!0}});if(!g)throw Error("Task not found");if(!g.project?.localPath)throw Error("Project has no local path configured");await c.db.taskExecution.updateMany({where:{taskId:b,status:"RUNNING",NOT:{sessionId:e}},data:{status:"FAILED",endedAt:new Date}});let i=await c.db.taskExecution.findFirst({where:{taskId:b,sessionId:e},orderBy:{createdAt:"desc"}});if(!i)throw Error("Previous execution not found");let j=i.worktreePath??g.project.localPath,k=g.subPath?(0,s.join)(j,g.subPath):j,l=await (0,h.readConfigValue)("terminal.idleTimeoutSec",180),{adapter:m}=await p("terminal"),n=m.buildEnvOverrides({taskId:b,taskTitle:g.title,apiUrl:`http://localhost:${process.env.PORT||"3000"}`,callbackUrl:i.callbackUrl??void 0}),o=await c.db.taskExecution.update({where:{id:i.id},data:{status:"RUNNING",endedAt:null}});await c.db.task.update({where:{id:b},data:{status:"IN_PROGRESS"}}),(0,d.revalidatePath)("/workspaces");let q=await (0,h.readConfigValue)("onboarding.username",""),r=m.buildSpawnArgs({taskId:b,prompt:"",cwd:k,resumeSessionId:e,extraArgs:[...q?["--append-system-prompt",`The user's name is ${q}.`]:[]],envOverrides:n}),t=/no conversation found with session id|unknown session|session .* not found/i;return(0,f.createSession)(b,r.command,r.args,k,()=>{},async d=>{await w(b,d);let f=await c.db.taskExecution.findUnique({where:{id:o.id}});if(f?.status!=="RUNNING")return;let{getSession:h}=await a.A(98813),j=h(b),k=j?.getBuffer()??"";if(0!==d&&t.test(k)){u.info("Session resume failed — retrying with fresh execution",{taskId:b,previousSessionId:e}),await c.db.taskExecution.update({where:{id:o.id},data:{status:"FAILED",endedAt:new Date}}).catch(()=>{});try{await G(b,g.title)}catch(a){u.error("Fresh execution retry also failed",a,{taskId:b})}return}await c.db.taskExecution.update({where:{id:o.id},data:{status:0===d?"COMPLETED":"FAILED",endedAt:new Date}}).catch(()=>{});let l=i.worktreePath||g.project.localPath,{captureExecutionSummary:m}=await a.A(662330);await m(o.id,b,d,k,l,o.forkCommit);let{dispatchTaskCompletionEvent:n}=await a.A(610073);await n({taskId:b,taskTitle:g.title,status:0===d?"COMPLETED":"FAILED",executionId:o.id,workspaceId:g.project.workspaceId}),0===d&&await c.db.task.update({where:{id:b},data:{status:"IN_REVIEW"}}).catch(()=>{})},r.env,void 0,1e3*l),{executionId:o.id,worktreePath:i.worktreePath??j??null}}async function E(b){let e=await c.db.task.findUnique({where:{id:b},include:{project:!0}});if(!e)throw Error("Task not found");if(!e.project?.localPath)throw Error("Project has no local path configured");let g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}}),{destroySession:i}=await a.A(98813);i(b),await c.db.taskExecution.updateMany({where:{taskId:b,status:"RUNNING"},data:{status:"FAILED",endedAt:new Date}});let j=g?.worktreePath??e.project.localPath,k=e.subPath?(0,s.join)(j,e.subPath):j,l=await (0,h.readConfigValue)("terminal.idleTimeoutSec",180),{adapter:m,provider:n}=await p("terminal"),o=m.buildEnvOverrides({taskId:b,taskTitle:e.title,apiUrl:`http://localhost:${process.env.PORT||"3000"}`}),q=await c.db.taskExecution.create({data:{taskId:b,agent:n.agentFieldValue,status:"RUNNING",startedAt:new Date,worktreePath:g?.worktreePath??null,worktreeBranch:g?.worktreeBranch??null}});await c.db.task.update({where:{id:b},data:{status:"IN_PROGRESS"}}),(0,d.revalidatePath)("/workspaces");let r=await (0,h.readConfigValue)("onboarding.username",""),t=m.buildSpawnArgs({taskId:b,prompt:"",cwd:k,continueLatest:!0,extraArgs:[...r?["--append-system-prompt",`The user's name is ${r}.`]:[]],envOverrides:o});return(0,f.createSession)(b,t.command,t.args,k,()=>{},async d=>{await w(b,d);let f=await c.db.taskExecution.findUnique({where:{id:q.id}});if(f?.status!=="RUNNING")return;let{getSession:h}=await a.A(98813),i=h(b),j=i?.getBuffer()??"";await c.db.taskExecution.update({where:{id:q.id},data:{status:0===d?"COMPLETED":"FAILED",endedAt:new Date}}).catch(()=>{});let k=g?.worktreePath||e.project.localPath,{captureExecutionSummary:l}=await a.A(662330);await l(q.id,b,d,j,k,g?.forkCommit??null);let{dispatchTaskCompletionEvent:m}=await a.A(610073);await m({taskId:b,taskTitle:e.title,status:0===d?"COMPLETED":"FAILED",executionId:q.id,workspaceId:e.project.workspaceId}),0===d&&await c.db.task.update({where:{id:b},data:{status:"IN_REVIEW"}}).catch(()=>{})},t.env,void 0,1e3*l),{executionId:q.id,worktreePath:g?.worktreePath??j??null}}async function F(b){let{getSession:d}=await a.A(98813),e=d(b);if(e&&!e.killed){let a=await c.db.taskExecution.findFirst({where:{taskId:b,status:"RUNNING"},orderBy:{createdAt:"desc"}});return{mode:"already_running",executionId:a?.id??null,worktreePath:a?.worktreePath??null}}if(await c.db.taskExecution.count({where:{taskId:b}})>0){let a=await E(b);return{mode:"continued",executionId:a.executionId,worktreePath:a.worktreePath}}let f=await G(b,"");return{mode:"started",executionId:f.executionId,worktreePath:f.worktreePath}}async function G(b,g,i,j,k){let l,m,n=await c.db.task.findUnique({where:{id:b},include:{project:!0}});if(!n)throw Error("Task not found");if(!n.project?.localPath)throw Error("Project has no local path configured");let o=await (0,h.readConfigValue)("system.maxConcurrentExecutions",20);if(await c.db.taskExecution.count({where:{status:"RUNNING"}})>=o)throw Error(`已达并发上限(${o}),请等待其他任务完成后再启动`);let t=await (0,h.readConfigValue)("terminal.idleTimeoutSec",180),{adapter:v,provider:x,model:y}=await p("terminal");await c.db.taskExecution.updateMany({where:{taskId:b,status:"RUNNING"},data:{status:"FAILED",endedAt:new Date}}),"IN_PROGRESS"!==n.status&&(await c.db.task.update({where:{id:b},data:{status:"IN_PROGRESS"}}),(0,d.revalidatePath)("/workspaces"));let z="";if(!k){let a=await c.db.taskMessage.findMany({where:{taskId:b},orderBy:{createdAt:"desc"},take:10});z=[`Task: ${n.title}`,n.description?`Description: ${n.description}`:"",a.length>0?`Recent conversation:
2
- ${a.reverse().map(a=>`${a.role}: ${a.content}`).join("\n")}`:"",g.trim()?`User message: ${g}`:""].filter(Boolean).join("\n\n")}let A=i??n.promptId;if(A){let a=await c.db.agentPrompt.findUnique({where:{id:A}});a?.content&&(m=await (0,q.mkdtemp)((0,s.join)((0,r.tmpdir)(),"tower-pty-")),l=(0,s.join)(m,"instructions.md"),await (0,q.writeFile)(l,a.content,"utf-8"))}let B=null,C=null;if(n.baseBranch&&n.project.localPath){let{worktreePath:a,worktreeBranch:c}=await (0,e.createWorktree)(n.project.localPath,b,n.baseBranch);B=a,C=c}let D=B??n.project.localPath,E=n.subPath?(0,s.join)(D,n.subPath):D,F=await c.db.taskExecution.create({data:{taskId:b,agent:x.agentFieldValue,status:"RUNNING",startedAt:new Date,worktreePath:B??null,worktreeBranch:C??null,callbackUrl:j??null}}),G=null;if(n.project.localPath)try{let b,{execFileSync:d}=await a.A(144264);(b=B&&n.baseBranch?d("git",["merge-base",n.baseBranch,"HEAD"],{cwd:B,encoding:"utf-8",timeout:5e3}).trim():d("git",["rev-parse","HEAD"],{cwd:n.project.localPath,encoding:"utf-8",timeout:5e3}).trim())&&(G=b,await c.db.taskExecution.update({where:{id:F.id},data:{forkCommit:b}}))}catch{}let H="";if(l){let{readFile:b}=await a.A(260815);H+=await b(l,"utf-8")}let I=await (0,h.readConfigValue)("onboarding.username","");I&&(H+=(H?"\n":"")+`The user's name is ${I}.`);let J=v.buildSpawnArgs({taskId:b,prompt:z,cwd:E,extraArgs:[...H?["--append-system-prompt",H]:[],...y?["--model",y]:[]],envOverrides:v.buildEnvOverrides({taskId:b,taskTitle:n.title,apiUrl:`http://localhost:${process.env.PORT||"3000"}`,callbackUrl:j??void 0})});return(0,f.createSession)(b,J.command,J.args,E,()=>{},async d=>{await w(b,d);let e=await c.db.taskExecution.findUnique({where:{id:F.id}});if(e?.status!=="RUNNING")return;let{getSession:f}=await a.A(98813),g=f(b),h=g?.getBuffer()??"";await c.db.taskExecution.update({where:{id:F.id},data:{status:0===d?"COMPLETED":"FAILED",endedAt:new Date}}).catch(a=>{u.error("Failed to update execution status",a)});let i=B||n.project.localPath,{captureExecutionSummary:j}=await a.A(662330);await j(F.id,b,d,h,i,G);let{dispatchTaskCompletionEvent:k}=await a.A(610073);await k({taskId:b,taskTitle:n.title,status:0===d?"COMPLETED":"FAILED",executionId:F.id,workspaceId:n.project.workspaceId}),0===d&&await c.db.task.update({where:{id:b},data:{status:"IN_REVIEW"}}).catch(a=>{u.error("Failed to update task status",a)}),m&&await (0,q.rm)(m,{recursive:!0,force:!0}).catch(()=>{})},J.env,void 0,1e3*t),{executionId:F.id,worktreePath:B??D??null}}async function H(a,b,c,d,e){try{let f=await G(a,b,c,d,e);return{ok:!0,...f}}catch(b){return u.error("startPtyExecution failed",{taskId:a,error:b instanceof Error?b.stack??b.message:String(b)}),{ok:!1,error:b instanceof Error&&b.message?b.message:String(b)}}}async function I(){return(await c.db.taskExecution.findMany({where:{status:"RUNNING"},orderBy:{startedAt:"asc"},include:{task:{include:{project:{include:{workspace:!0}}}}}})).map(a=>({executionId:a.id,taskId:a.taskId,taskTitle:a.task.title,projectId:a.task.project.id,projectName:a.task.project.name,projectAlias:a.task.project.alias,projectLocalPath:a.task.project.localPath,workspaceId:a.task.project.workspace.id,workspaceName:a.task.project.workspace.name,worktreePath:a.worktreePath,subPath:a.task.subPath??null,startedAt:a.startedAt?.toISOString()??null}))}(0,t.ensureServerEntryExports)([x,y,z,A,B,C,D,E,F,G,H,I]),(0,b.registerServerReference)(x,"603f00de09a600f7d202a25277719712c2ed283aaf",null),(0,b.registerServerReference)(y,"407dd468ac5dbcb334f8a335abaff8acc79403f899",null),(0,b.registerServerReference)(z,"7890193fab5d3eb669ce2b4b704f5b0061973ebd9c",null),(0,b.registerServerReference)(A,"60034fbbd81247db48df931753fa269220fbea04dc",null),(0,b.registerServerReference)(B,"40637f6866f1cba755071a07147fb5965bb2e9b5a6",null),(0,b.registerServerReference)(C,"404d52059c47f9bd69cc1dc54c9a5b0b5329a4a5ce",null),(0,b.registerServerReference)(D,"60b2ad02a90fcd96621307c3f0b52c7dfe56e5f656",null),(0,b.registerServerReference)(E,"40c46a99d6959ba8c380e4f6ac7ccff4b78db03943",null),(0,b.registerServerReference)(F,"407b113b35e24312a4e2cf7bcb7210ae6d8cace6a6",null),(0,b.registerServerReference)(G,"7cebd0f04a21654b0a6c325835a800d3073dbf4f85",null),(0,b.registerServerReference)(H,"7c0868c06b7af021524a56df961ada6682a134b71d",null),(0,b.registerServerReference)(I,"00607be623cf335ac16f02ffbbbdf655bd98fe0111",null),a.s(["continueLatestPtyExecution",0,E,"continueOrStartTaskExecution",0,F,"getActiveExecutionsAcrossWorkspaces",0,I,"getTaskExecutions",0,C,"getTaskMessages",0,y,"resumePtyExecution",0,D,"sendTaskMessage",0,x,"startPtyExecution",0,G,"startPtyExecutionSafe",0,H,"startTaskExecution",0,z,"stopPtyExecution",0,B,"stopTaskExecution",0,A],347427)}];
2
+ ${a.reverse().map(a=>`${a.role}: ${a.content}`).join("\n")}`:"",g.trim()?`User message: ${g}`:""].filter(Boolean).join("\n\n")}let A=i??n.promptId;if(A){let a=await c.db.agentPrompt.findUnique({where:{id:A}});a?.content&&(m=await (0,q.mkdtemp)((0,s.join)((0,r.tmpdir)(),"tower-pty-")),l=(0,s.join)(m,"instructions.md"),await (0,q.writeFile)(l,a.content,"utf-8"))}let B=null,C=null;if(n.baseBranch&&n.project.localPath){let{worktreePath:a,worktreeBranch:c}=await (0,e.createWorktree)(n.project.localPath,b,n.baseBranch);B=a,C=c}let D=B??n.project.localPath,E=n.subPath?(0,s.join)(D,n.subPath):D,F=await c.db.taskExecution.create({data:{taskId:b,agent:x.agentFieldValue,status:"RUNNING",startedAt:new Date,worktreePath:B??null,worktreeBranch:C??null,callbackUrl:j??null}}),G=null;if(n.project.localPath)try{let b,{execFileSync:d}=await a.A(144264);(b=B&&n.baseBranch?d("git",["merge-base",n.baseBranch,"HEAD"],{cwd:B,encoding:"utf-8",timeout:5e3}).trim():d("git",["rev-parse","HEAD"],{cwd:n.project.localPath,encoding:"utf-8",timeout:5e3}).trim())&&(G=b,await c.db.taskExecution.update({where:{id:F.id},data:{forkCommit:b}}))}catch{}let H="";if(l){let{readFile:b}=await a.A(260815);H+=await b(l,"utf-8")}let I=await (0,h.readConfigValue)("onboarding.username","");I&&(H+=(H?"\n":"")+`The user's name is ${I}.`);let J=v.buildSpawnArgs({taskId:b,prompt:z,cwd:E,extraArgs:[...H?["--append-system-prompt",H]:[],...y?["--model",y]:[]],envOverrides:v.buildEnvOverrides({taskId:b,taskTitle:n.title,apiUrl:`http://localhost:${process.env.PORT||"3000"}`,callbackUrl:j??void 0})});return(0,f.createSession)(b,J.command,J.args,E,()=>{},async d=>{await w(b,d);let e=await c.db.taskExecution.findUnique({where:{id:F.id}});if(e?.status!=="RUNNING")return;let{getSession:f}=await a.A(98813),g=f(b),h=g?.getBuffer()??"";await c.db.taskExecution.update({where:{id:F.id},data:{status:0===d?"COMPLETED":"FAILED",endedAt:new Date}}).catch(a=>{u.error("Failed to update execution status",a)});let i=B||n.project.localPath,{captureExecutionSummary:j}=await a.A(662330);await j(F.id,b,d,h,i,G);let{dispatchTaskCompletionEvent:k}=await a.A(610073);await k({taskId:b,taskTitle:n.title,status:0===d?"COMPLETED":"FAILED",executionId:F.id,workspaceId:n.project.workspaceId}),0===d&&await c.db.task.update({where:{id:b},data:{status:"IN_REVIEW"}}).catch(a=>{u.error("Failed to update task status",a)}),m&&await (0,q.rm)(m,{recursive:!0,force:!0}).catch(()=>{})},J.env,void 0,1e3*t),{executionId:F.id,worktreePath:B??D??null}}async function H(a,b,c,d,e){try{let f=await G(a,b,c,d,e);return{ok:!0,...f}}catch(b){return u.error("startPtyExecution failed",{taskId:a,error:b instanceof Error?b.stack??b.message:String(b)}),{ok:!1,error:b instanceof Error&&b.message?b.message:String(b)}}}async function I(){return(await c.db.taskExecution.findMany({where:{status:"RUNNING"},orderBy:{startedAt:"asc"},include:{task:{include:{project:{include:{workspace:!0}}}}}})).map(a=>({executionId:a.id,taskId:a.taskId,taskTitle:a.task.title,projectId:a.task.project.id,projectName:a.task.project.name,projectAlias:a.task.project.alias,projectLocalPath:a.task.project.localPath,workspaceId:a.task.project.workspace.id,workspaceName:a.task.project.workspace.name,worktreePath:a.worktreePath,subPath:a.task.subPath??null,startedAt:a.startedAt?.toISOString()??null}))}(0,t.ensureServerEntryExports)([x,y,z,A,B,C,D,E,F,G,H,I]),(0,b.registerServerReference)(x,"603e4ae9af4eee0637812d799fa36228d601392ab2",null),(0,b.registerServerReference)(y,"408a77b8e6e8372834b0d4c6352f800a251c003d40",null),(0,b.registerServerReference)(z,"7801fd452a5b876c3387b3da2fdc488e0437e65b20",null),(0,b.registerServerReference)(A,"60a6e1e8f5112b88b4ac8a6e67b6081382cdba75e1",null),(0,b.registerServerReference)(B,"40829b5233ef6d9c038265e2c0cf031611b19ce0c1",null),(0,b.registerServerReference)(C,"402531e9f6cc836103e24965759f7c3d358aad217d",null),(0,b.registerServerReference)(D,"60a458c91694bd9ea4bf4808cb9fc0b7057cf2adb1",null),(0,b.registerServerReference)(E,"40db98030cfccb21c4bd63bb26cd50b6fd0aef78ed",null),(0,b.registerServerReference)(F,"40a05f970b45869bcd48173b551abe9f77271c8aa1",null),(0,b.registerServerReference)(G,"7c3ecbc1dac60ca7f7626b27efdf00297a98c2b5f3",null),(0,b.registerServerReference)(H,"7ca05fbfd82600e45079947879c354d3b6f32b8619",null),(0,b.registerServerReference)(I,"00654e30c45a893bcd34457b837320ddbd72c76394",null),a.s(["continueLatestPtyExecution",0,E,"continueOrStartTaskExecution",0,F,"getActiveExecutionsAcrossWorkspaces",0,I,"getTaskExecutions",0,C,"getTaskMessages",0,y,"resumePtyExecution",0,D,"sendTaskMessage",0,x,"startPtyExecution",0,G,"startPtyExecutionSafe",0,H,"startTaskExecution",0,z,"stopPtyExecution",0,B,"stopTaskExecution",0,A],347427)}];
3
3
 
4
4
  //# sourceMappingURL=src_actions_agent-actions_ts_0~wc.sy._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[610024,a=>{"use strict";a.s([],784230),a.i(784230),a.i(559023),a.i(829281),a.i(888608),a.i(466443),a.i(219308),a.i(243847),a.i(52184),a.i(775102),a.i(161938),a.i(163968);var b=a.i(780410);let c=(0,b.createServerReference)("60d46008cd52240a6df7117c5609c42298fe472e7d",b.callServer,void 0,b.findSourceMapURL,"revealInFinder");a.s(["revealInFinder",0,c],610024)}];
1
+ module.exports=[610024,a=>{"use strict";a.s([],784230),a.i(784230),a.i(246410),a.i(366444),a.i(862826),a.i(980283),a.i(327375),a.i(168328),a.i(491765),a.i(825160),a.i(506642),a.i(733651);var b=a.i(780410);let c=(0,b.createServerReference)("609be1ada75d6ac936413c50342376443e7f0dbe9b",b.callServer,void 0,b.findSourceMapURL,"revealInFinder");a.s(["revealInFinder",0,c],610024)}];
2
2
 
3
3
  //# sourceMappingURL=src_actions_file-actions_ts_0gcvqwm._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[989799,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(951192),e=a.i(780410);let f=(0,e.createServerReference)("00607be623cf335ac16f02ffbbbdf655bd98fe0111",e.callServer,void 0,e.findSourceMapURL,"getActiveExecutionsAcrossWorkspaces");var g=a.i(118908);let h=[{id:"1x1",label:"1×1",cols:1,rows:1,minHeight:"480px",desc:"Focus mode"},{id:"2x1",label:"2×1",cols:2,rows:1,minHeight:"480px",desc:"Side by side"},{id:"3x2",label:"3×2",cols:3,rows:2,minHeight:"300px",desc:"Default"},{id:"2x2",label:"2×2",cols:2,rows:2,minHeight:"300px",desc:"Balanced"},{id:"4x2",label:"4×2",cols:4,rows:2,minHeight:"240px",desc:"Wide monitor"},{id:"3x3",label:"3×3",cols:3,rows:3,minHeight:"240px",desc:"Max overview"}];var i=a.i(580701),j=a.i(699570),k=a.i(579834),l=a.i(711796);let m=(0,l.default)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]);var n=a.i(567648),o=a.i(785259),p=a.i(412984);function q({cols:a,rows:c,active:d}){let e=Array.from({length:a*c});return(0,b.jsx)("div",{className:`grid gap-[1px] w-7 h-5 p-[3px] rounded-sm border shrink-0 ${d?"border-primary bg-primary/10":"border-border bg-muted"}`,style:{gridTemplateColumns:`repeat(${a}, 1fr)`,gridTemplateRows:`repeat(${c}, 1fr)`},children:e.map((a,c)=>(0,b.jsx)("div",{className:`rounded-[1px] min-w-0 min-h-0 ${d?"bg-primary":"bg-muted-foreground/40"}`},c))})}let r="custom";function s({value:a,customValue:e,onChange:f}){let{t:g}=(0,d.useI18n)(),[i,k]=(0,c.useState)(!1),l=(0,c.useRef)(null),m=a===r,n=m?null:h.find(b=>b.id===a)??h[2],[o,t]=(0,c.useState)(e?.cols??2),[u,v]=(0,c.useState)(e?.rows??2),[w,x]=(0,c.useState)({minCols:1,maxCols:5,minRows:1,maxRows:5});(0,c.useEffect)(()=>{(0,p.getConfigValues)(["missions.grid.minCols","missions.grid.maxCols","missions.grid.minRows","missions.grid.maxRows"]).then(a=>{x({minCols:a["missions.grid.minCols"]??1,maxCols:a["missions.grid.maxCols"]??5,minRows:a["missions.grid.minRows"]??1,maxRows:a["missions.grid.maxRows"]??5})})},[]),(0,c.useEffect)(()=>{e&&(t(e.cols),v(e.rows))},[e?.cols,e?.rows]),(0,c.useEffect)(()=>{if(i)return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a);function a(a){l.current&&!l.current.contains(a.target)&&k(!1)}},[i]);let y=(a,b,c)=>Math.max(b,Math.min(c,a)),z=m?o:n?.cols??2,A=m?u:n?.rows??2,B=m?`${o}\xd7${u}`:n?.label??"";return(0,b.jsxs)("div",{ref:l,className:"relative",children:[(0,b.jsxs)(j.Button,{variant:"outline",onClick:()=>k(a=>!a),className:"gap-2",children:[(0,b.jsx)(q,{cols:z,rows:A,active:!1}),(0,b.jsx)("span",{children:B}),(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground",children:"▼"})]}),i&&(0,b.jsxs)("div",{className:"absolute right-0 z-50 mt-1 w-72 rounded-lg border border-border bg-popover shadow-xl p-3",children:[(0,b.jsx)("h5",{className:"text-sm font-semibold text-foreground mb-3",children:g("missions.gridPreset")}),(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[h.map(c=>{let d=c.id===a;return(0,b.jsxs)("button",{onClick:()=>{f(c.id),k(!1)},className:`flex items-center gap-3 px-3 py-2.5 rounded-lg transition-colors ${d?"bg-primary/10":"hover:bg-accent"}`,children:[(0,b.jsx)(q,{cols:c.cols,rows:c.rows,active:d}),(0,b.jsx)("span",{className:`text-sm font-medium flex-1 text-left ${d?"text-primary":"text-foreground"}`,children:c.label}),(0,b.jsx)("span",{className:`text-xs ${d?"text-primary/60":"text-muted-foreground"}`,children:c.desc})]},c.id)}),(0,b.jsxs)("div",{className:"mt-1 border-t border-border pt-2",children:[(0,b.jsxs)("button",{onClick:()=>{m||f(r,{cols:o,rows:u})},className:`flex items-center gap-3 px-3 py-2.5 rounded-lg transition-colors w-full ${m?"bg-primary/10":"hover:bg-accent"}`,children:[(0,b.jsx)(q,{cols:o,rows:u,active:m}),(0,b.jsx)("span",{className:`text-sm font-medium flex-1 text-left ${m?"text-primary":"text-foreground"}`,children:g("missions.gridCustom")}),(0,b.jsxs)("span",{className:`text-xs ${m?"text-primary/60":"text-muted-foreground"}`,children:[o,"×",u]})]}),m&&(0,b.jsxs)("div",{className:"flex items-center gap-3 px-3 py-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground",children:g("missions.gridCols")}),(0,b.jsx)("input",{type:"number",min:w.minCols,max:w.maxCols,value:o,onChange:a=>{let b;t(b=y(Number(a.target.value),w.minCols,w.maxCols)),f(r,{cols:b,rows:u})},className:"h-7 w-14 rounded-md border border-border bg-background px-2 text-sm text-center"})]}),(0,b.jsx)("span",{className:"text-muted-foreground",children:"×"}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground",children:g("missions.gridRows")}),(0,b.jsx)("input",{type:"number",min:w.minRows,max:w.maxRows,value:u,onChange:a=>{let b;v(b=y(Number(a.target.value),w.minRows,w.maxRows)),f(r,{cols:o,rows:b})},className:"h-7 w-14 rounded-md border border-border bg-background px-2 text-sm text-center"})]})]})]})]})]})]})}var t=a.i(986099),u=a.i(14906),v=a.i(269876);let w="123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";function x(a,b,c){return b<=0?0:((a+c)%b+b)%b}function y({open:a,panes:e,selectedIndex:f,onSelect:g,onClose:h}){let{t:i}=(0,d.useI18n)();return((0,c.useEffect)(()=>{if(a)return window.addEventListener("keydown",b,{capture:!0}),()=>window.removeEventListener("keydown",b,{capture:!0});function b(a){if("Escape"===a.key){a.preventDefault(),a.stopPropagation(),h();return}if(a.metaKey||a.ctrlKey||a.altKey||/^[0-9]$/.test(a.key))return;let b=function(a){if(1!==a.length)return null;let b=w.indexOf(a.toUpperCase());return -1===b?null:b}(a.key);null===b||b>=e.length||(a.preventDefault(),a.stopPropagation(),g(b))}},[a,e.length,g,h]),!a||"u"<typeof document)?null:(0,t.createPortal)((0,b.jsxs)("div",{className:"fixed inset-0 z-50",children:[(0,b.jsx)("div",{className:"absolute inset-0 bg-black/10 supports-backdrop-filter:backdrop-blur-xs",onClick:h}),(0,b.jsxs)("div",{role:"dialog","aria-modal":"true",className:"fixed top-1/2 left-1/2 z-50 w-full max-w-[calc(100%-2rem)] sm:max-w-5xl -translate-x-1/2 -translate-y-1/2 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 outline-none",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 pr-8",children:[(0,b.jsx)("span",{className:"font-heading text-base font-medium leading-none",children:i("missions.selector.title")}),(0,b.jsx)("span",{className:"rounded-md bg-muted px-1.5 py-0.5 text-xs font-mono font-medium text-muted-foreground",children:e.length}),(0,b.jsx)("span",{className:"ml-1 truncate text-xs text-muted-foreground",children:i("missions.selector.hint")})]}),(0,b.jsx)(j.Button,{variant:"ghost",size:"icon-sm",className:"absolute top-2 right-2",onClick:h,"aria-label":i("missions.launcher.cancel"),children:(0,b.jsx)(u.XIcon,{})}),(0,b.jsx)(v.ScrollArea,{className:"mt-4 max-h-[60vh]",children:(0,b.jsx)("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-3 pr-3",children:e.map((a,c)=>{let d=c<0||c>=w.length?null:w[c],e=c===f;return(0,b.jsxs)("button",{type:"button",onClick:()=>g(c),className:["flex flex-col gap-2 rounded-lg border bg-card p-3 text-left transition-all hover:border-primary/40 hover:bg-accent/50",e?"border-primary ring-2 ring-inset ring-primary":"border-border"].join(" "),children:[(0,b.jsxs)("span",{className:"block w-full truncate text-[11px] text-muted-foreground",title:`${a.workspaceName} › ${a.projectAlias||a.projectName}`,children:[a.workspaceName," ›"," ",a.projectAlias||a.projectName]}),(0,b.jsx)("div",{className:"flex items-center justify-center py-2",children:(0,b.jsx)("span",{className:["flex h-12 w-12 items-center justify-center rounded-md border text-2xl font-semibold tabular-nums",e?"bg-primary text-primary-foreground border-primary":"bg-muted/80 text-foreground border-border"].join(" "),children:d??"·"})}),(0,b.jsx)("span",{className:"line-clamp-2 text-sm font-medium text-foreground",children:a.taskTitle})]},a.executionId)})})})]})]}),document.body)}var z=a.i(643228),A=a.i(859103),B=a.i(969032),C=a.i(553798),D=a.i(514126);let E=(0,l.default)("grip-vertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]),F=(0,l.default)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var G=a.i(54384);let H=(0,l.default)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);var I=a.i(786304),J=a.i(834888),K=a.i(952313);let L=(0,B.default)(async()=>{},{loadableGenerated:{modules:[346069]},ssr:!1,loading:()=>(0,b.jsx)("div",{className:"h-full w-full bg-[#0a0a0a] animate-pulse"})});function M({execution:a,isRemoving:e,removeReason:f,onStop:g,onSessionEnd:h,index:i,onRegisterControls:k}){let{t:l}=(0,d.useI18n)(),m=(0,C.useRouter)(),{attributes:n,listeners:p,setNodeRef:q,transform:r,transition:s}=(0,A.useSortable)({id:a.executionId}),t={transform:D.CSS.Transform.toString(r),transition:s,opacity:+!e},[u,v]=(0,c.useState)(()=>a.startedAt?Math.floor((Date.now()-new Date(a.startedAt).getTime())/1e3):0);(0,c.useEffect)(()=>{if(e)return;let b=setInterval(()=>{v(a.startedAt?Math.floor((Date.now()-new Date(a.startedAt).getTime())/1e3):0)},1e3);return()=>clearInterval(b)},[a.startedAt,e]);let w=Math.floor(u/60),x=`${w}m ${u%60}s`;async function y(){let b=a.worktreePath??a.projectLocalPath;if(!b)return;let c=a.subPath?`${b}/${a.subPath}`:b;try{await (0,J.openInTerminal)(c)}catch{K.toast.error(l("preview.terminalError"))}}return(0,b.jsxs)("div",{ref:q,style:t,"data-pane-index":i,className:"border border-border rounded-lg overflow-hidden flex flex-col transition-opacity duration-300",...n,children:[(0,b.jsxs)("div",{className:"h-10 px-3 flex items-center gap-1 border-b border-border bg-card shrink-0",children:[(0,b.jsx)("button",{...p,"aria-label":l("missions.dragHandle"),"aria-roledescription":"sortable",className:"cursor-grab text-muted-foreground hover:text-foreground mr-1",children:(0,b.jsx)(E,{className:"h-3.5 w-3.5"})}),(0,b.jsxs)("div",{className:"flex items-center gap-1 min-w-0 flex-1 text-[11px] text-muted-foreground",children:[(0,b.jsxs)("span",{className:"truncate max-w-[45%] shrink-0",title:`${a.workspaceName} › ${a.projectAlias||a.projectName}`,children:[a.workspaceName," ›"," ",a.projectAlias||a.projectName]}),(0,b.jsx)("span",{className:"shrink-0",children:"›"}),(0,b.jsx)("span",{className:"text-foreground font-semibold truncate min-w-0 flex-1",title:a.taskTitle,children:a.taskTitle})]}),e?(0,b.jsx)(I.Badge,{variant:"outline",className:"text-[11px] text-muted-foreground bg-muted ml-1 shrink-0",children:"stopped"===f?l("missions.statusStopped"):l("missions.statusCompleted")}):(0,b.jsx)(I.Badge,{variant:"outline",className:"text-[11px] text-primary border-primary/30 bg-primary/10 ml-1 shrink-0",children:l("missions.statusRunning")}),(0,b.jsx)("span",{className:"text-[11px] text-muted-foreground ml-1 shrink-0",children:x}),a.projectLocalPath&&(0,b.jsxs)(o.Tooltip,{children:[(0,b.jsx)(o.TooltipTrigger,{render:(0,b.jsx)(j.Button,{variant:"ghost",size:"icon",className:"ml-1 shrink-0 text-muted-foreground",onClick:y}),children:(0,b.jsx)(H,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(o.TooltipContent,{children:l("missions.openInTerminal")})]}),(0,b.jsxs)(o.Tooltip,{children:[(0,b.jsx)(o.TooltipTrigger,{render:(0,b.jsx)(j.Button,{variant:"ghost",size:"icon",className:"ml-1 shrink-0 text-muted-foreground",onClick:()=>m.push(`/workspaces/${a.workspaceId}/tasks/${a.taskId}`)}),children:(0,b.jsx)(F,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(o.TooltipContent,{children:l("missions.openFullView")})]}),(0,b.jsxs)(o.Tooltip,{children:[(0,b.jsx)(o.TooltipTrigger,{render:(0,b.jsx)(j.Button,{variant:"destructive",size:"icon",className:"ml-1 shrink-0",onClick:()=>g(a.taskId),disabled:e}),children:(0,b.jsx)(G.X,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(o.TooltipContent,{children:l("missions.stopTask")})]})]}),(0,b.jsx)("div",{className:"relative flex-1 overflow-hidden",children:(0,b.jsx)(L,{taskId:a.taskId,worktreePath:a.worktreePath??a.projectLocalPath,onSessionEnd:b=>h?.(a.taskId,b),useCanvasRenderer:!0,onReady:b=>k(a.taskId,b)})})]})}var N=a.i(594003);let O=(0,e.createServerReference)("00df5f395c069722dcfb18999bba77c02770a8a858",e.callServer,void 0,e.findSourceMapURL,"getWorkspacesWithActiveTasks");var P=a.i(422076),Q=a.i(608812),R=a.i(866718),S=a.i(814574),T=a.i(442620),U=a.i(912868),V=a.i(10390);let W=(0,l.default)("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);var X=a.i(704494);let Y=(0,l.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);var Z=a.i(161664),$=a.i(573242);function _(a){return(a.labels?.length??0)>0}let aa={TODO:"TODO",IN_PROGRESS:"Running",IN_REVIEW:"Review"},ab={LOW:"Low",MEDIUM:"Med",HIGH:"High",CRITICAL:"Crit"};function ac({status:a}){return(0,b.jsx)("span",{className:`text-[10px] px-1.5 py-0.5 rounded font-medium ${{TODO:"bg-slate-100 text-slate-600 dark:bg-slate-800 dark:text-slate-400",IN_PROGRESS:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400",IN_REVIEW:"bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400"}[a]??"bg-slate-100 text-slate-600"}`,children:aa[a]??a})}function ad({task:a,isRunning:c,launchingId:d,onLaunchNew:e,onResume:f,t:g}){let h=a.executions?.[0]?.sessionId,i=d===a.id;return(0,b.jsxs)("div",{className:"group/task grid grid-cols-[minmax(0,1fr)_auto] items-center gap-2 px-3 py-1.5 hover:bg-accent/50 cursor-default",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:`text-sm truncate ${c?"italic text-muted-foreground":""}`,children:a.title}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 mt-0.5",children:[(0,b.jsx)(ac,{status:a.status}),(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground",children:ab[a.priority]??a.priority})]})]}),c?(0,b.jsx)("span",{className:"text-[10px] italic text-muted-foreground",children:g("missions.alreadyMonitored")}):(0,b.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover/task:opacity-100 transition-opacity",children:[h&&(0,b.jsxs)(j.Button,{variant:"outline",className:"h-6 px-2 text-xs",onClick:()=>f(a.id,h),disabled:i,title:g("missions.continueSession"),children:[(0,b.jsx)(Z.RotateCcw,{className:"h-3 w-3 mr-1"}),g("missions.continueLabel")]}),(0,b.jsxs)(j.Button,{variant:"outline",className:"h-6 px-2 text-xs",onClick:()=>e(a.id),disabled:i,title:g("missions.launchNew"),children:[(0,b.jsx)(Y,{className:"h-3 w-3 mr-1"}),i?"...":g("missions.launchNewLabel")]})]})]})}function ae({task:a,isRunning:c,launchingId:d,onLaunchNew:e,onResume:f,t:g}){let h=a.executions?.[0]?.sessionId,i=d===a.id;return(0,b.jsx)("div",{className:"shrink-0 border-b bg-muted/40 px-3 py-2",children:(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-1.5",children:[(0,b.jsx)(W,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"truncate text-xs font-medium",children:g("missions.workbench.title")})]}),c?(0,b.jsx)("span",{className:"text-[10px] italic text-muted-foreground",children:g("missions.alreadyMonitored")}):(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[h&&(0,b.jsxs)(j.Button,{variant:"outline",className:"h-6 px-2 text-xs",onClick:()=>f(a.id,h),disabled:i,title:g("missions.continueSession"),children:[(0,b.jsx)(Z.RotateCcw,{className:"h-3 w-3 mr-1"}),g("missions.continueLabel")]}),(0,b.jsxs)(j.Button,{variant:"outline",className:"h-6 px-2 text-xs",onClick:()=>e(a.id),disabled:i,title:g("missions.launchNew"),children:[(0,b.jsx)(Y,{className:"h-3 w-3 mr-1"}),i?"...":g("missions.launchNewLabel")]})]})]})})}function af({open:a,onOpenChange:e,onLaunched:f,runningTaskIds:g=new Set}){let{t:h}=(0,d.useI18n)(),[i,k]=(0,c.useState)([]),[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(null),[p,q]=(0,c.useState)(""),[r,s]=(0,c.useState)(new Set),[t,u]=(0,c.useState)(""),[w,x]=(0,c.useState)(0),y=(0,c.useMemo)(()=>i.map(a=>({...a,projects:a.projects.filter(a=>a.tasks.length>0)})).filter(a=>a.projects.length>0),[i]);(0,c.useEffect)(()=>{a&&(m(!0),q(""),x(0),O().then(a=>{k(a);let b=a.map(a=>({...a,projects:a.projects.filter(a=>a.tasks.length>0)})).find(a=>a.projects.length>0);s(b?new Set([b.id]):new Set),u(b?.projects[0]?.id??"")}).catch(()=>K.toast.error(h("missions.error.launchFailed"))).finally(()=>m(!1)))},[a,h]);let z=(0,c.useCallback)(a=>{s(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]),A=(0,c.useCallback)(a=>{u(a),x(0)},[]),B=(0,c.useMemo)(()=>{let a=[];for(let b of y)for(let c of b.projects)for(let d of c.tasks)a.push({task:d,workspaceName:b.name,projectName:c.alias??c.name,projectId:c.id});return a},[y]),C=(0,c.useMemo)(()=>new N.default(B,{keys:["task.title"],threshold:.4,distance:200}),[B]),D=p.trim().length>0,E=(0,c.useMemo)(()=>{let a=p.trim();if(!a)return[];let b=C.search(a).map(a=>a.item),c=[],d=new Map;for(let a of b){let b=d.get(a.projectId);b||(b={workspaceName:a.workspaceName,projectName:a.projectName,tasks:[]},d.set(a.projectId,b),c.push(a.projectId)),b.tasks.push(a.task)}return c.map(a=>({id:a,...d.get(a)}))},[C,p]),F=(0,c.useMemo)(()=>B.length?y.flatMap(a=>a.projects).find(a=>a.id===t):void 0,[y,t,B.length]),H=(0,c.useMemo)(()=>F?.tasks.find(_),[F]),I=(0,c.useMemo)(()=>F?.tasks.filter(a=>!_(a))??[],[F]),J=Math.max(1,Math.ceil(I.length/10)),L=Math.min(w,J-1),M=I.slice(10*L,10*L+10),W=(0,c.useCallback)(async a=>{try{o(a),await (0,P.startPtyExecution)(a,""),f(a),e(!1)}catch{K.toast.error(h("missions.error.launchFailed"))}finally{o(null)}},[f,e,h]),Y=(0,c.useCallback)(async(a,b)=>{try{o(a),await (0,Q.resumePtyExecution)(a,b),f(a),e(!1)}catch{K.toast.error(h("missions.error.launchFailed"))}finally{o(null)}},[f,e,h]);return(0,b.jsx)(S.Dialog,{open:a,onOpenChange:e,children:(0,b.jsxs)(S.DialogContent,{className:"sm:max-w-3xl flex h-[80vh] max-h-[640px] flex-col gap-0 overflow-hidden p-0",children:[(0,b.jsx)(S.DialogHeader,{className:"shrink-0 border-b px-4 py-3",children:(0,b.jsx)(S.DialogTitle,{children:h("missions.launchTask")})}),(0,b.jsx)("div",{className:"shrink-0 border-b px-4 py-3",children:(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)($.Search,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),(0,b.jsx)(R.Input,{value:p,onChange:a=>q(a.target.value),placeholder:h("missions.fullPicker.searchPlaceholder"),className:"pl-8 pr-8 h-8"}),p&&(0,b.jsx)(j.Button,{type:"button",variant:"ghost",size:"icon",className:"absolute right-1 top-1/2 -translate-y-1/2 h-6 w-6",onClick:()=>q(""),"aria-label":h("missions.fullPicker.clearSearch"),children:(0,b.jsx)(G.X,{className:"h-3.5 w-3.5"})})]})}),l?(0,b.jsx)("div",{className:"flex flex-1 items-center justify-center text-muted-foreground",children:(0,b.jsx)(X.Loader2,{className:"h-5 w-5 animate-spin"})}):0===y.length?(0,b.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-muted-foreground",children:h("missions.noAvailableTasks")}):D?(0,b.jsx)(v.ScrollArea,{className:"flex-1 min-h-0",children:0===E.length?(0,b.jsx)("p",{className:"text-sm text-muted-foreground text-center py-8",children:h("missions.fullPicker.noSearchResults")}):(0,b.jsx)("div",{className:"py-1",children:E.map(a=>(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"px-3 pt-2 pb-1 text-[11px] font-medium text-muted-foreground",children:[a.workspaceName," · ",a.projectName]}),a.tasks.map(a=>(0,b.jsx)(ad,{task:a,isRunning:g.has(a.id),launchingId:n,onLaunchNew:W,onResume:Y,t:h},a.id))]},a.id))})}):(0,b.jsxs)("div",{className:"flex flex-1 min-h-0",children:[(0,b.jsx)("aside",{className:"w-52 shrink-0 border-r",children:(0,b.jsx)(v.ScrollArea,{className:"h-full",children:(0,b.jsx)("div",{className:"py-1",children:y.map(a=>{let c=r.has(a.id);return(0,b.jsxs)("div",{children:[(0,b.jsxs)(j.Button,{variant:"ghost",onClick:()=>z(a.id),className:"flex h-auto w-full justify-start gap-1 rounded-none px-2 py-1.5 hover:bg-accent",children:[c?(0,b.jsx)(T.ChevronDown,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}):(0,b.jsx)(V.ChevronRight,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"truncate text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:a.name})]}),c&&a.projects.map(a=>{let c=a.id===t;return(0,b.jsxs)(j.Button,{variant:"ghost",onClick:()=>A(a.id),className:`flex h-auto w-full justify-start gap-2 rounded-none py-1.5 pl-7 pr-2 hover:bg-accent ${c?"bg-accent":""}`,children:[(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate text-left text-xs font-medium",children:a.alias??a.name}),(0,b.jsx)("span",{className:"shrink-0 text-[10px] text-muted-foreground",children:a._count.tasks})]},a.id)})]},a.id)})})})}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[H&&(0,b.jsx)(ae,{task:H,isRunning:g.has(H.id),launchingId:n,onLaunchNew:W,onResume:Y,t:h}),(0,b.jsx)(v.ScrollArea,{className:"flex-1 min-h-0",children:0===M.length?(0,b.jsx)("p",{className:"text-sm text-muted-foreground text-center py-8",children:h("missions.launcher.noTasks")}):(0,b.jsx)("div",{className:"py-1",children:M.map(a=>(0,b.jsx)(ad,{task:a,isRunning:g.has(a.id),launchingId:n,onLaunchNew:W,onResume:Y,t:h},a.id))})}),I.length>0&&(0,b.jsxs)("div",{className:"flex shrink-0 items-center justify-center gap-3 border-t px-3 py-2",children:[(0,b.jsx)(j.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>x(a=>Math.max(0,a-1)),disabled:L<=0,"aria-label":h("missions.picker.prevPage"),children:(0,b.jsx)(U.ChevronLeft,{className:"h-4 w-4"})}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground tabular-nums",children:[L+1," / ",J]}),(0,b.jsx)(j.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>x(a=>Math.min(J-1,a+1)),disabled:L>=J-1,"aria-label":h("missions.picker.nextPage"),children:(0,b.jsx)(V.ChevronRight,{className:"h-4 w-4"})})]})]})]})]})})}a.i(423993);var ag=a.i(267654);a.s(["MissionsClient",0,function({initialExecutions:a}){let{t:e}=(0,d.useI18n)(),[l,p]=(0,c.useState)(a),[q,r]=(0,c.useState)(()=>"3x2"),[t,u]=(0,c.useState)(()=>({cols:2,rows:2})),[v,w]=(0,c.useState)(!1),[B,C]=(0,c.useState)(""),[D,E]=(0,c.useState)("input"),[F,G]=(0,c.useState)(0),H=(0,c.useRef)(new Map),I=(0,c.useRef)([]),J=(0,c.useRef)(2),L=(0,c.useRef)(F);L.current=F;let N=(0,c.useCallback)((a,b)=>{b?H.current.set(a,b):H.current.delete(a)},[]),[O,P]=(0,c.useState)(new Map),Q=(0,c.useRef)(O);(0,c.useEffect)(()=>{Q.current=O},[O]);let R=(0,c.useRef)(new Map),S=h.find(a=>a.id===q)??h[2],T="custom"===q?t.cols:S.cols,U="custom"===q?t.rows:S.rows,V=(0,c.useRef)(null),[W,X]=(0,c.useState)("480px");(0,c.useEffect)(()=>{let a=V.current;if(!a)return;let b=()=>{let b=(a.clientHeight-32-16*(U-1))/U;X(`${Math.max(b,200)}px`)};b();let c=new ResizeObserver(b);return c.observe(a),()=>c.disconnect()},[U]);let Y=(0,c.useCallback)((a,b)=>{a&&(r(a),localStorage.setItem("missions-grid-preset",a),"custom"===a&&b&&(u(b),localStorage.setItem("missions-grid-custom",JSON.stringify(b))))},[]),Z=(0,z.useSensors)((0,z.useSensor)(z.PointerSensor,{activationConstraint:{distance:8}})),$=(0,c.useCallback)(a=>{let{active:b,over:c}=a;c&&b.id!==c.id&&p(a=>{let d=a.findIndex(a=>a.executionId===b.id),e=a.findIndex(a=>a.executionId===c.id);return(0,A.arrayMove)(a,d,e)})},[]),_=(0,c.useCallback)((a,b)=>{if(Q.current.has(a))return;P(c=>new Map([...c,[a,b]]));let c=setTimeout(()=>{p(b=>b.filter(b=>b.executionId!==a)),P(b=>{let c=new Map(b);return c.delete(a),c}),R.current.delete(a)},500);R.current.set(a,c)},[]);(0,c.useEffect)(()=>{let a=setInterval(async()=>{try{let a=await f();p(b=>{let c=Q.current,{merged:d,goneIds:e}=function({prev:a,fresh:b,removingIds:c}){let d=new Set(b.map(a=>a.executionId)),e=[];a.forEach(a=>{d.has(a.executionId)||c.has(a.executionId)||e.push(a.executionId)});let f=a.filter(a=>d.has(a.executionId)||c.has(a.executionId)),g=new Set(a.map(a=>a.executionId));return{merged:[...f,...b.filter(a=>!g.has(a.executionId))],goneIds:e}}({prev:b,fresh:a,removingIds:new Set(c.keys())});return e.forEach(a=>_(a,"completed")),d})}catch{}},4e3);return()=>clearInterval(a)},[_]),(0,c.useEffect)(()=>{let a=R.current;return()=>{a.forEach(a=>clearTimeout(a))}},[]);let aa=(0,c.useCallback)(async a=>{try{await (0,g.stopPtyExecution)(a),p(b=>{let c=b.find(b=>b.taskId===a);return c&&_(c.executionId,"stopped"),b})}catch{K.toast.error(e("missions.error.stopFailed"))}},[_,e]),ab=(0,c.useCallback)((a,b)=>{p(b=>{let c=b.find(b=>b.taskId===a);return c&&_(c.executionId,"completed"),b})},[_]),ac=(0,c.useCallback)(a=>{f().then(a=>{p(b=>{let c=new Set(b.map(a=>a.executionId));return[...b,...a.filter(a=>!c.has(a.executionId))]})}).catch(()=>{})},[]),ad=(0,c.useCallback)(a=>{let b=I.current;a<0||a>=b.length||(b[a]?.focus(),G(a),E("input"),V.current?.querySelector(`[data-pane-index="${a}"]`)?.scrollIntoView({block:"nearest",inline:"nearest",behavior:"instant"}))},[]),ae=(0,c.useCallback)(()=>{let a=document.activeElement;a instanceof HTMLElement&&a.blur(),I.current[L.current]?.blur(),E("nav")},[]),ah=(0,c.useCallback)(()=>{ad(L.current)},[ad]),ai=(0,c.useCallback)(()=>{"input"===D?ae():ah()},[D,ae,ah]),aj=(0,c.useCallback)(()=>{let a=I.current.length;0!==a&&ad(x(L.current,a,1))},[ad]),ak=(0,c.useCallback)(()=>{let a=I.current.length;0!==a&&ad(x(L.current,a,-1))},[ad]),al=(0,c.useCallback)(a=>{let b=I.current.length;0!==b&&(E("nav"),G(c=>(function(a,b,c,d){if(c<=0)return 0;let e=Math.max(1,b);switch(d){case"left":return x(a,c,-1);case"right":return x(a,c,1);case"up":{let b=a-e;return b<0?a:b}case"down":{let b=a+e;return b>=c?a:b}default:return a}})(c,J.current,b,a)))},[]),am=(0,c.useCallback)(a=>{let b=I.current.length;0!==b&&(E("nav"),G(c=>x(c,b,a)))},[]);(0,ag.useActionShortcut)("missions.jump",a=>{let b=Number(a.key);Number.isInteger(b)&&b>=1&&ad(b-1)}),(0,ag.useActionShortcut)("missions.moveSelection",a=>{al("ArrowUp"===a.key?"up":"ArrowDown"===a.key?"down":"ArrowLeft"===a.key?"left":"right")}),(0,ag.useActionShortcut)("missions.cycle",()=>am(1)),(0,ag.useActionShortcut)("missions.cycleBack",()=>am(-1)),(0,ag.useActionShortcut)("missions.focus",()=>ah()),(0,ag.useActionShortcut)("missions.next",()=>aj()),(0,ag.useActionShortcut)("missions.prev",()=>ak()),(0,ag.useActionShortcut)("missions.exit",()=>ae()),(0,c.useEffect)(()=>{let a=V.current;if(!a)return;let b=a=>{let b=a.target,c=b?.closest("[data-pane-index]");if(!c)return;let d=Number(c.dataset.paneIndex);Number.isInteger(d)&&(G(d),E("input"))};return a.addEventListener("focusin",b),()=>a.removeEventListener("focusin",b)},[]);let an=Array.from(new Map(l.map(a=>[a.workspaceId,a.workspaceName])).entries()).map(([a,b])=>({id:a,name:b})),ao=B?l.filter(a=>a.workspaceId===B):l;I.current=ao.map(a=>H.current.get(a.taskId)).filter(a=>!!a),J.current=T,(0,c.useEffect)(()=>{G(a=>{let b=ao.length;return 0===b?0:Math.min(a,b-1)})},[ao.length]);let ap=new Set(l.map(a=>a.taskId));return(0,b.jsxs)("div",{className:"flex h-full flex-col",children:[(0,b.jsxs)("div",{className:"header-sm shrink-0 px-4 flex items-center gap-3",children:[(0,b.jsx)("h1",{className:"text-base font-semibold",children:e("missions.pageTitle")}),(0,b.jsxs)(o.Tooltip,{children:[(0,b.jsxs)(o.TooltipTrigger,{render:(0,b.jsx)(j.Button,{variant:"ghost",className:`h-7 gap-1.5 px-2 shrink-0 text-xs font-medium text-muted-foreground ${"nav"===D?"bg-accent text-foreground":""}`,onClick:ai,disabled:0===ao.length}),children:[(0,b.jsx)(n.Keyboard,{className:"h-3.5 w-3.5"}),"input"===D?e("missions.mode.input"):e("missions.mode.nav")]}),(0,b.jsx)(o.TooltipContent,{className:"max-w-xs",children:e("missions.mode.toggleHint")})]}),(0,b.jsxs)(i.Select,{value:B,onValueChange:a=>C(a??""),children:[(0,b.jsx)(i.SelectTrigger,{className:"w-36 h-8",children:(0,b.jsx)("span",{className:"truncate",children:B?an.find(a=>a.id===B)?.name??e("missions.filterAll"):e("missions.filterAll")})}),(0,b.jsxs)(i.SelectContent,{children:[(0,b.jsx)(i.SelectItem,{value:"",children:e("missions.filterAll")}),an.map(a=>(0,b.jsx)(i.SelectItem,{value:a.id,children:a.name},a.id))]})]}),(0,b.jsx)("div",{className:"flex-1"}),(0,b.jsx)(s,{value:q,customValue:t,onChange:Y}),(0,b.jsx)(j.Button,{onClick:()=>w(!0),children:e("missions.launchTask")}),(0,b.jsx)(af,{open:v,onOpenChange:w,onLaunched:ac,runningTaskIds:ap})]}),(0,b.jsx)("div",{ref:V,className:"flex-1 overflow-auto min-h-0 p-4",children:0===ao.length&&0===O.size?(0,b.jsx)(k.EmptyState,{icon:m,title:e("missions.emptyTitle"),description:e("missions.emptyDesc"),className:"h-full",action:(0,b.jsx)(j.Button,{onClick:()=>w(!0),children:e("missions.launchTask")})}):(0,b.jsx)(z.DndContext,{id:"missions-dnd",sensors:Z,collisionDetection:z.closestCenter,onDragEnd:$,children:(0,b.jsx)(A.SortableContext,{items:ao.map(a=>a.executionId),strategy:A.rectSortingStrategy,children:(0,b.jsx)("div",{className:"grid gap-4",style:{gridTemplateColumns:`repeat(${T}, 1fr)`,gridAutoRows:W},children:ao.map((a,c)=>(0,b.jsx)(M,{execution:a,isRemoving:O.has(a.executionId),removeReason:O.get(a.executionId),onStop:aa,onSessionEnd:ab,index:c,onRegisterControls:N},a.executionId))})})})}),(0,b.jsx)(y,{open:"nav"===D,panes:ao,selectedIndex:F,onSelect:ad,onClose:ah})]})}],989799)}];
1
+ module.exports=[989799,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(951192),e=a.i(780410);let f=(0,e.createServerReference)("00654e30c45a893bcd34457b837320ddbd72c76394",e.callServer,void 0,e.findSourceMapURL,"getActiveExecutionsAcrossWorkspaces");var g=a.i(471090);let h=[{id:"1x1",label:"1×1",cols:1,rows:1,minHeight:"480px",desc:"Focus mode"},{id:"2x1",label:"2×1",cols:2,rows:1,minHeight:"480px",desc:"Side by side"},{id:"3x2",label:"3×2",cols:3,rows:2,minHeight:"300px",desc:"Default"},{id:"2x2",label:"2×2",cols:2,rows:2,minHeight:"300px",desc:"Balanced"},{id:"4x2",label:"4×2",cols:4,rows:2,minHeight:"240px",desc:"Wide monitor"},{id:"3x3",label:"3×3",cols:3,rows:3,minHeight:"240px",desc:"Max overview"}];var i=a.i(580701),j=a.i(699570),k=a.i(579834),l=a.i(711796);let m=(0,l.default)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]);var n=a.i(567648),o=a.i(785259),p=a.i(157016);function q({cols:a,rows:c,active:d}){let e=Array.from({length:a*c});return(0,b.jsx)("div",{className:`grid gap-[1px] w-7 h-5 p-[3px] rounded-sm border shrink-0 ${d?"border-primary bg-primary/10":"border-border bg-muted"}`,style:{gridTemplateColumns:`repeat(${a}, 1fr)`,gridTemplateRows:`repeat(${c}, 1fr)`},children:e.map((a,c)=>(0,b.jsx)("div",{className:`rounded-[1px] min-w-0 min-h-0 ${d?"bg-primary":"bg-muted-foreground/40"}`},c))})}let r="custom";function s({value:a,customValue:e,onChange:f}){let{t:g}=(0,d.useI18n)(),[i,k]=(0,c.useState)(!1),l=(0,c.useRef)(null),m=a===r,n=m?null:h.find(b=>b.id===a)??h[2],[o,t]=(0,c.useState)(e?.cols??2),[u,v]=(0,c.useState)(e?.rows??2),[w,x]=(0,c.useState)({minCols:1,maxCols:5,minRows:1,maxRows:5});(0,c.useEffect)(()=>{(0,p.getConfigValues)(["missions.grid.minCols","missions.grid.maxCols","missions.grid.minRows","missions.grid.maxRows"]).then(a=>{x({minCols:a["missions.grid.minCols"]??1,maxCols:a["missions.grid.maxCols"]??5,minRows:a["missions.grid.minRows"]??1,maxRows:a["missions.grid.maxRows"]??5})})},[]),(0,c.useEffect)(()=>{e&&(t(e.cols),v(e.rows))},[e?.cols,e?.rows]),(0,c.useEffect)(()=>{if(i)return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a);function a(a){l.current&&!l.current.contains(a.target)&&k(!1)}},[i]);let y=(a,b,c)=>Math.max(b,Math.min(c,a)),z=m?o:n?.cols??2,A=m?u:n?.rows??2,B=m?`${o}\xd7${u}`:n?.label??"";return(0,b.jsxs)("div",{ref:l,className:"relative",children:[(0,b.jsxs)(j.Button,{variant:"outline",onClick:()=>k(a=>!a),className:"gap-2",children:[(0,b.jsx)(q,{cols:z,rows:A,active:!1}),(0,b.jsx)("span",{children:B}),(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground",children:"▼"})]}),i&&(0,b.jsxs)("div",{className:"absolute right-0 z-50 mt-1 w-72 rounded-lg border border-border bg-popover shadow-xl p-3",children:[(0,b.jsx)("h5",{className:"text-sm font-semibold text-foreground mb-3",children:g("missions.gridPreset")}),(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[h.map(c=>{let d=c.id===a;return(0,b.jsxs)("button",{onClick:()=>{f(c.id),k(!1)},className:`flex items-center gap-3 px-3 py-2.5 rounded-lg transition-colors ${d?"bg-primary/10":"hover:bg-accent"}`,children:[(0,b.jsx)(q,{cols:c.cols,rows:c.rows,active:d}),(0,b.jsx)("span",{className:`text-sm font-medium flex-1 text-left ${d?"text-primary":"text-foreground"}`,children:c.label}),(0,b.jsx)("span",{className:`text-xs ${d?"text-primary/60":"text-muted-foreground"}`,children:c.desc})]},c.id)}),(0,b.jsxs)("div",{className:"mt-1 border-t border-border pt-2",children:[(0,b.jsxs)("button",{onClick:()=>{m||f(r,{cols:o,rows:u})},className:`flex items-center gap-3 px-3 py-2.5 rounded-lg transition-colors w-full ${m?"bg-primary/10":"hover:bg-accent"}`,children:[(0,b.jsx)(q,{cols:o,rows:u,active:m}),(0,b.jsx)("span",{className:`text-sm font-medium flex-1 text-left ${m?"text-primary":"text-foreground"}`,children:g("missions.gridCustom")}),(0,b.jsxs)("span",{className:`text-xs ${m?"text-primary/60":"text-muted-foreground"}`,children:[o,"×",u]})]}),m&&(0,b.jsxs)("div",{className:"flex items-center gap-3 px-3 py-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground",children:g("missions.gridCols")}),(0,b.jsx)("input",{type:"number",min:w.minCols,max:w.maxCols,value:o,onChange:a=>{let b;t(b=y(Number(a.target.value),w.minCols,w.maxCols)),f(r,{cols:b,rows:u})},className:"h-7 w-14 rounded-md border border-border bg-background px-2 text-sm text-center"})]}),(0,b.jsx)("span",{className:"text-muted-foreground",children:"×"}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground",children:g("missions.gridRows")}),(0,b.jsx)("input",{type:"number",min:w.minRows,max:w.maxRows,value:u,onChange:a=>{let b;v(b=y(Number(a.target.value),w.minRows,w.maxRows)),f(r,{cols:o,rows:b})},className:"h-7 w-14 rounded-md border border-border bg-background px-2 text-sm text-center"})]})]})]})]})]})]})}var t=a.i(986099),u=a.i(14906),v=a.i(269876);let w="123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";function x(a,b,c){return b<=0?0:((a+c)%b+b)%b}function y({open:a,panes:e,selectedIndex:f,onSelect:g,onClose:h}){let{t:i}=(0,d.useI18n)();return((0,c.useEffect)(()=>{if(a)return window.addEventListener("keydown",b,{capture:!0}),()=>window.removeEventListener("keydown",b,{capture:!0});function b(a){if("Escape"===a.key){a.preventDefault(),a.stopPropagation(),h();return}if(a.metaKey||a.ctrlKey||a.altKey||/^[0-9]$/.test(a.key))return;let b=function(a){if(1!==a.length)return null;let b=w.indexOf(a.toUpperCase());return -1===b?null:b}(a.key);null===b||b>=e.length||(a.preventDefault(),a.stopPropagation(),g(b))}},[a,e.length,g,h]),!a||"u"<typeof document)?null:(0,t.createPortal)((0,b.jsxs)("div",{className:"fixed inset-0 z-50",children:[(0,b.jsx)("div",{className:"absolute inset-0 bg-black/10 supports-backdrop-filter:backdrop-blur-xs",onClick:h}),(0,b.jsxs)("div",{role:"dialog","aria-modal":"true",className:"fixed top-1/2 left-1/2 z-50 w-full max-w-[calc(100%-2rem)] sm:max-w-5xl -translate-x-1/2 -translate-y-1/2 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 outline-none",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 pr-8",children:[(0,b.jsx)("span",{className:"font-heading text-base font-medium leading-none",children:i("missions.selector.title")}),(0,b.jsx)("span",{className:"rounded-md bg-muted px-1.5 py-0.5 text-xs font-mono font-medium text-muted-foreground",children:e.length}),(0,b.jsx)("span",{className:"ml-1 truncate text-xs text-muted-foreground",children:i("missions.selector.hint")})]}),(0,b.jsx)(j.Button,{variant:"ghost",size:"icon-sm",className:"absolute top-2 right-2",onClick:h,"aria-label":i("missions.launcher.cancel"),children:(0,b.jsx)(u.XIcon,{})}),(0,b.jsx)(v.ScrollArea,{className:"mt-4 max-h-[60vh]",children:(0,b.jsx)("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-3 pr-3",children:e.map((a,c)=>{let d=c<0||c>=w.length?null:w[c],e=c===f;return(0,b.jsxs)("button",{type:"button",onClick:()=>g(c),className:["flex flex-col gap-2 rounded-lg border bg-card p-3 text-left transition-all hover:border-primary/40 hover:bg-accent/50",e?"border-primary ring-2 ring-inset ring-primary":"border-border"].join(" "),children:[(0,b.jsxs)("span",{className:"block w-full truncate text-[11px] text-muted-foreground",title:`${a.workspaceName} › ${a.projectAlias||a.projectName}`,children:[a.workspaceName," ›"," ",a.projectAlias||a.projectName]}),(0,b.jsx)("div",{className:"flex items-center justify-center py-2",children:(0,b.jsx)("span",{className:["flex h-12 w-12 items-center justify-center rounded-md border text-2xl font-semibold tabular-nums",e?"bg-primary text-primary-foreground border-primary":"bg-muted/80 text-foreground border-border"].join(" "),children:d??"·"})}),(0,b.jsx)("span",{className:"line-clamp-2 text-sm font-medium text-foreground",children:a.taskTitle})]},a.executionId)})})})]})]}),document.body)}var z=a.i(643228),A=a.i(859103),B=a.i(969032),C=a.i(553798),D=a.i(514126);let E=(0,l.default)("grip-vertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]),F=(0,l.default)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var G=a.i(54384);let H=(0,l.default)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);var I=a.i(786304),J=a.i(545450),K=a.i(952313);let L=(0,B.default)(async()=>{},{loadableGenerated:{modules:[346069]},ssr:!1,loading:()=>(0,b.jsx)("div",{className:"h-full w-full bg-[#0a0a0a] animate-pulse"})});function M({execution:a,isRemoving:e,removeReason:f,onStop:g,onSessionEnd:h,index:i,onRegisterControls:k}){let{t:l}=(0,d.useI18n)(),m=(0,C.useRouter)(),{attributes:n,listeners:p,setNodeRef:q,transform:r,transition:s}=(0,A.useSortable)({id:a.executionId}),t={transform:D.CSS.Transform.toString(r),transition:s,opacity:+!e},[u,v]=(0,c.useState)(()=>a.startedAt?Math.floor((Date.now()-new Date(a.startedAt).getTime())/1e3):0);(0,c.useEffect)(()=>{if(e)return;let b=setInterval(()=>{v(a.startedAt?Math.floor((Date.now()-new Date(a.startedAt).getTime())/1e3):0)},1e3);return()=>clearInterval(b)},[a.startedAt,e]);let w=Math.floor(u/60),x=`${w}m ${u%60}s`;async function y(){let b=a.worktreePath??a.projectLocalPath;if(!b)return;let c=a.subPath?`${b}/${a.subPath}`:b;try{await (0,J.openInTerminal)(c)}catch{K.toast.error(l("preview.terminalError"))}}return(0,b.jsxs)("div",{ref:q,style:t,"data-pane-index":i,className:"border border-border rounded-lg overflow-hidden flex flex-col transition-opacity duration-300",...n,children:[(0,b.jsxs)("div",{className:"h-10 px-3 flex items-center gap-1 border-b border-border bg-card shrink-0",children:[(0,b.jsx)("button",{...p,"aria-label":l("missions.dragHandle"),"aria-roledescription":"sortable",className:"cursor-grab text-muted-foreground hover:text-foreground mr-1",children:(0,b.jsx)(E,{className:"h-3.5 w-3.5"})}),(0,b.jsxs)("div",{className:"flex items-center gap-1 min-w-0 flex-1 text-[11px] text-muted-foreground",children:[(0,b.jsxs)("span",{className:"truncate max-w-[45%] shrink-0",title:`${a.workspaceName} › ${a.projectAlias||a.projectName}`,children:[a.workspaceName," ›"," ",a.projectAlias||a.projectName]}),(0,b.jsx)("span",{className:"shrink-0",children:"›"}),(0,b.jsx)("span",{className:"text-foreground font-semibold truncate min-w-0 flex-1",title:a.taskTitle,children:a.taskTitle})]}),e?(0,b.jsx)(I.Badge,{variant:"outline",className:"text-[11px] text-muted-foreground bg-muted ml-1 shrink-0",children:"stopped"===f?l("missions.statusStopped"):l("missions.statusCompleted")}):(0,b.jsx)(I.Badge,{variant:"outline",className:"text-[11px] text-primary border-primary/30 bg-primary/10 ml-1 shrink-0",children:l("missions.statusRunning")}),(0,b.jsx)("span",{className:"text-[11px] text-muted-foreground ml-1 shrink-0",children:x}),a.projectLocalPath&&(0,b.jsxs)(o.Tooltip,{children:[(0,b.jsx)(o.TooltipTrigger,{render:(0,b.jsx)(j.Button,{variant:"ghost",size:"icon",className:"ml-1 shrink-0 text-muted-foreground",onClick:y}),children:(0,b.jsx)(H,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(o.TooltipContent,{children:l("missions.openInTerminal")})]}),(0,b.jsxs)(o.Tooltip,{children:[(0,b.jsx)(o.TooltipTrigger,{render:(0,b.jsx)(j.Button,{variant:"ghost",size:"icon",className:"ml-1 shrink-0 text-muted-foreground",onClick:()=>m.push(`/workspaces/${a.workspaceId}/tasks/${a.taskId}`)}),children:(0,b.jsx)(F,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(o.TooltipContent,{children:l("missions.openFullView")})]}),(0,b.jsxs)(o.Tooltip,{children:[(0,b.jsx)(o.TooltipTrigger,{render:(0,b.jsx)(j.Button,{variant:"destructive",size:"icon",className:"ml-1 shrink-0",onClick:()=>g(a.taskId),disabled:e}),children:(0,b.jsx)(G.X,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(o.TooltipContent,{children:l("missions.stopTask")})]})]}),(0,b.jsx)("div",{className:"relative flex-1 overflow-hidden",children:(0,b.jsx)(L,{taskId:a.taskId,worktreePath:a.worktreePath??a.projectLocalPath,onSessionEnd:b=>h?.(a.taskId,b),useCanvasRenderer:!0,onReady:b=>k(a.taskId,b)})})]})}var N=a.i(594003);let O=(0,e.createServerReference)("0084154bf3b55f07270443a00c9aa96dc9957f3347",e.callServer,void 0,e.findSourceMapURL,"getWorkspacesWithActiveTasks");var P=a.i(567583),Q=a.i(944278),R=a.i(866718),S=a.i(814574),T=a.i(442620),U=a.i(912868),V=a.i(10390);let W=(0,l.default)("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);var X=a.i(704494);let Y=(0,l.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);var Z=a.i(161664),$=a.i(573242);function _(a){return(a.labels?.length??0)>0}let aa={TODO:"TODO",IN_PROGRESS:"Running",IN_REVIEW:"Review"},ab={LOW:"Low",MEDIUM:"Med",HIGH:"High",CRITICAL:"Crit"};function ac({status:a}){return(0,b.jsx)("span",{className:`text-[10px] px-1.5 py-0.5 rounded font-medium ${{TODO:"bg-slate-100 text-slate-600 dark:bg-slate-800 dark:text-slate-400",IN_PROGRESS:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400",IN_REVIEW:"bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400"}[a]??"bg-slate-100 text-slate-600"}`,children:aa[a]??a})}function ad({task:a,isRunning:c,launchingId:d,onLaunchNew:e,onResume:f,t:g}){let h=a.executions?.[0]?.sessionId,i=d===a.id;return(0,b.jsxs)("div",{className:"group/task grid grid-cols-[minmax(0,1fr)_auto] items-center gap-2 px-3 py-1.5 hover:bg-accent/50 cursor-default",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:`text-sm truncate ${c?"italic text-muted-foreground":""}`,children:a.title}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 mt-0.5",children:[(0,b.jsx)(ac,{status:a.status}),(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground",children:ab[a.priority]??a.priority})]})]}),c?(0,b.jsx)("span",{className:"text-[10px] italic text-muted-foreground",children:g("missions.alreadyMonitored")}):(0,b.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover/task:opacity-100 transition-opacity",children:[h&&(0,b.jsxs)(j.Button,{variant:"outline",className:"h-6 px-2 text-xs",onClick:()=>f(a.id,h),disabled:i,title:g("missions.continueSession"),children:[(0,b.jsx)(Z.RotateCcw,{className:"h-3 w-3 mr-1"}),g("missions.continueLabel")]}),(0,b.jsxs)(j.Button,{variant:"outline",className:"h-6 px-2 text-xs",onClick:()=>e(a.id),disabled:i,title:g("missions.launchNew"),children:[(0,b.jsx)(Y,{className:"h-3 w-3 mr-1"}),i?"...":g("missions.launchNewLabel")]})]})]})}function ae({task:a,isRunning:c,launchingId:d,onLaunchNew:e,onResume:f,t:g}){let h=a.executions?.[0]?.sessionId,i=d===a.id;return(0,b.jsx)("div",{className:"shrink-0 border-b bg-muted/40 px-3 py-2",children:(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-1.5",children:[(0,b.jsx)(W,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"truncate text-xs font-medium",children:g("missions.workbench.title")})]}),c?(0,b.jsx)("span",{className:"text-[10px] italic text-muted-foreground",children:g("missions.alreadyMonitored")}):(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[h&&(0,b.jsxs)(j.Button,{variant:"outline",className:"h-6 px-2 text-xs",onClick:()=>f(a.id,h),disabled:i,title:g("missions.continueSession"),children:[(0,b.jsx)(Z.RotateCcw,{className:"h-3 w-3 mr-1"}),g("missions.continueLabel")]}),(0,b.jsxs)(j.Button,{variant:"outline",className:"h-6 px-2 text-xs",onClick:()=>e(a.id),disabled:i,title:g("missions.launchNew"),children:[(0,b.jsx)(Y,{className:"h-3 w-3 mr-1"}),i?"...":g("missions.launchNewLabel")]})]})]})})}function af({open:a,onOpenChange:e,onLaunched:f,runningTaskIds:g=new Set}){let{t:h}=(0,d.useI18n)(),[i,k]=(0,c.useState)([]),[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(null),[p,q]=(0,c.useState)(""),[r,s]=(0,c.useState)(new Set),[t,u]=(0,c.useState)(""),[w,x]=(0,c.useState)(0),y=(0,c.useMemo)(()=>i.map(a=>({...a,projects:a.projects.filter(a=>a.tasks.length>0)})).filter(a=>a.projects.length>0),[i]);(0,c.useEffect)(()=>{a&&(m(!0),q(""),x(0),O().then(a=>{k(a);let b=a.map(a=>({...a,projects:a.projects.filter(a=>a.tasks.length>0)})).find(a=>a.projects.length>0);s(b?new Set([b.id]):new Set),u(b?.projects[0]?.id??"")}).catch(()=>K.toast.error(h("missions.error.launchFailed"))).finally(()=>m(!1)))},[a,h]);let z=(0,c.useCallback)(a=>{s(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]),A=(0,c.useCallback)(a=>{u(a),x(0)},[]),B=(0,c.useMemo)(()=>{let a=[];for(let b of y)for(let c of b.projects)for(let d of c.tasks)a.push({task:d,workspaceName:b.name,projectName:c.alias??c.name,projectId:c.id});return a},[y]),C=(0,c.useMemo)(()=>new N.default(B,{keys:["task.title"],threshold:.4,distance:200}),[B]),D=p.trim().length>0,E=(0,c.useMemo)(()=>{let a=p.trim();if(!a)return[];let b=C.search(a).map(a=>a.item),c=[],d=new Map;for(let a of b){let b=d.get(a.projectId);b||(b={workspaceName:a.workspaceName,projectName:a.projectName,tasks:[]},d.set(a.projectId,b),c.push(a.projectId)),b.tasks.push(a.task)}return c.map(a=>({id:a,...d.get(a)}))},[C,p]),F=(0,c.useMemo)(()=>B.length?y.flatMap(a=>a.projects).find(a=>a.id===t):void 0,[y,t,B.length]),H=(0,c.useMemo)(()=>F?.tasks.find(_),[F]),I=(0,c.useMemo)(()=>F?.tasks.filter(a=>!_(a))??[],[F]),J=Math.max(1,Math.ceil(I.length/10)),L=Math.min(w,J-1),M=I.slice(10*L,10*L+10),W=(0,c.useCallback)(async a=>{try{o(a),await (0,P.startPtyExecution)(a,""),f(a),e(!1)}catch{K.toast.error(h("missions.error.launchFailed"))}finally{o(null)}},[f,e,h]),Y=(0,c.useCallback)(async(a,b)=>{try{o(a),await (0,Q.resumePtyExecution)(a,b),f(a),e(!1)}catch{K.toast.error(h("missions.error.launchFailed"))}finally{o(null)}},[f,e,h]);return(0,b.jsx)(S.Dialog,{open:a,onOpenChange:e,children:(0,b.jsxs)(S.DialogContent,{className:"sm:max-w-3xl flex h-[80vh] max-h-[640px] flex-col gap-0 overflow-hidden p-0",children:[(0,b.jsx)(S.DialogHeader,{className:"shrink-0 border-b px-4 py-3",children:(0,b.jsx)(S.DialogTitle,{children:h("missions.launchTask")})}),(0,b.jsx)("div",{className:"shrink-0 border-b px-4 py-3",children:(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)($.Search,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),(0,b.jsx)(R.Input,{value:p,onChange:a=>q(a.target.value),placeholder:h("missions.fullPicker.searchPlaceholder"),className:"pl-8 pr-8 h-8"}),p&&(0,b.jsx)(j.Button,{type:"button",variant:"ghost",size:"icon",className:"absolute right-1 top-1/2 -translate-y-1/2 h-6 w-6",onClick:()=>q(""),"aria-label":h("missions.fullPicker.clearSearch"),children:(0,b.jsx)(G.X,{className:"h-3.5 w-3.5"})})]})}),l?(0,b.jsx)("div",{className:"flex flex-1 items-center justify-center text-muted-foreground",children:(0,b.jsx)(X.Loader2,{className:"h-5 w-5 animate-spin"})}):0===y.length?(0,b.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-muted-foreground",children:h("missions.noAvailableTasks")}):D?(0,b.jsx)(v.ScrollArea,{className:"flex-1 min-h-0",children:0===E.length?(0,b.jsx)("p",{className:"text-sm text-muted-foreground text-center py-8",children:h("missions.fullPicker.noSearchResults")}):(0,b.jsx)("div",{className:"py-1",children:E.map(a=>(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"px-3 pt-2 pb-1 text-[11px] font-medium text-muted-foreground",children:[a.workspaceName," · ",a.projectName]}),a.tasks.map(a=>(0,b.jsx)(ad,{task:a,isRunning:g.has(a.id),launchingId:n,onLaunchNew:W,onResume:Y,t:h},a.id))]},a.id))})}):(0,b.jsxs)("div",{className:"flex flex-1 min-h-0",children:[(0,b.jsx)("aside",{className:"w-52 shrink-0 border-r",children:(0,b.jsx)(v.ScrollArea,{className:"h-full",children:(0,b.jsx)("div",{className:"py-1",children:y.map(a=>{let c=r.has(a.id);return(0,b.jsxs)("div",{children:[(0,b.jsxs)(j.Button,{variant:"ghost",onClick:()=>z(a.id),className:"flex h-auto w-full justify-start gap-1 rounded-none px-2 py-1.5 hover:bg-accent",children:[c?(0,b.jsx)(T.ChevronDown,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}):(0,b.jsx)(V.ChevronRight,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"truncate text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:a.name})]}),c&&a.projects.map(a=>{let c=a.id===t;return(0,b.jsxs)(j.Button,{variant:"ghost",onClick:()=>A(a.id),className:`flex h-auto w-full justify-start gap-2 rounded-none py-1.5 pl-7 pr-2 hover:bg-accent ${c?"bg-accent":""}`,children:[(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate text-left text-xs font-medium",children:a.alias??a.name}),(0,b.jsx)("span",{className:"shrink-0 text-[10px] text-muted-foreground",children:a._count.tasks})]},a.id)})]},a.id)})})})}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[H&&(0,b.jsx)(ae,{task:H,isRunning:g.has(H.id),launchingId:n,onLaunchNew:W,onResume:Y,t:h}),(0,b.jsx)(v.ScrollArea,{className:"flex-1 min-h-0",children:0===M.length?(0,b.jsx)("p",{className:"text-sm text-muted-foreground text-center py-8",children:h("missions.launcher.noTasks")}):(0,b.jsx)("div",{className:"py-1",children:M.map(a=>(0,b.jsx)(ad,{task:a,isRunning:g.has(a.id),launchingId:n,onLaunchNew:W,onResume:Y,t:h},a.id))})}),I.length>0&&(0,b.jsxs)("div",{className:"flex shrink-0 items-center justify-center gap-3 border-t px-3 py-2",children:[(0,b.jsx)(j.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>x(a=>Math.max(0,a-1)),disabled:L<=0,"aria-label":h("missions.picker.prevPage"),children:(0,b.jsx)(U.ChevronLeft,{className:"h-4 w-4"})}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground tabular-nums",children:[L+1," / ",J]}),(0,b.jsx)(j.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>x(a=>Math.min(J-1,a+1)),disabled:L>=J-1,"aria-label":h("missions.picker.nextPage"),children:(0,b.jsx)(V.ChevronRight,{className:"h-4 w-4"})})]})]})]})]})})}a.i(423993);var ag=a.i(267654);a.s(["MissionsClient",0,function({initialExecutions:a}){let{t:e}=(0,d.useI18n)(),[l,p]=(0,c.useState)(a),[q,r]=(0,c.useState)(()=>"3x2"),[t,u]=(0,c.useState)(()=>({cols:2,rows:2})),[v,w]=(0,c.useState)(!1),[B,C]=(0,c.useState)(""),[D,E]=(0,c.useState)("input"),[F,G]=(0,c.useState)(0),H=(0,c.useRef)(new Map),I=(0,c.useRef)([]),J=(0,c.useRef)(2),L=(0,c.useRef)(F);L.current=F;let N=(0,c.useCallback)((a,b)=>{b?H.current.set(a,b):H.current.delete(a)},[]),[O,P]=(0,c.useState)(new Map),Q=(0,c.useRef)(O);(0,c.useEffect)(()=>{Q.current=O},[O]);let R=(0,c.useRef)(new Map),S=h.find(a=>a.id===q)??h[2],T="custom"===q?t.cols:S.cols,U="custom"===q?t.rows:S.rows,V=(0,c.useRef)(null),[W,X]=(0,c.useState)("480px");(0,c.useEffect)(()=>{let a=V.current;if(!a)return;let b=()=>{let b=(a.clientHeight-32-16*(U-1))/U;X(`${Math.max(b,200)}px`)};b();let c=new ResizeObserver(b);return c.observe(a),()=>c.disconnect()},[U]);let Y=(0,c.useCallback)((a,b)=>{a&&(r(a),localStorage.setItem("missions-grid-preset",a),"custom"===a&&b&&(u(b),localStorage.setItem("missions-grid-custom",JSON.stringify(b))))},[]),Z=(0,z.useSensors)((0,z.useSensor)(z.PointerSensor,{activationConstraint:{distance:8}})),$=(0,c.useCallback)(a=>{let{active:b,over:c}=a;c&&b.id!==c.id&&p(a=>{let d=a.findIndex(a=>a.executionId===b.id),e=a.findIndex(a=>a.executionId===c.id);return(0,A.arrayMove)(a,d,e)})},[]),_=(0,c.useCallback)((a,b)=>{if(Q.current.has(a))return;P(c=>new Map([...c,[a,b]]));let c=setTimeout(()=>{p(b=>b.filter(b=>b.executionId!==a)),P(b=>{let c=new Map(b);return c.delete(a),c}),R.current.delete(a)},500);R.current.set(a,c)},[]);(0,c.useEffect)(()=>{let a=setInterval(async()=>{try{let a=await f();p(b=>{let c=Q.current,{merged:d,goneIds:e}=function({prev:a,fresh:b,removingIds:c}){let d=new Set(b.map(a=>a.executionId)),e=[];a.forEach(a=>{d.has(a.executionId)||c.has(a.executionId)||e.push(a.executionId)});let f=a.filter(a=>d.has(a.executionId)||c.has(a.executionId)),g=new Set(a.map(a=>a.executionId));return{merged:[...f,...b.filter(a=>!g.has(a.executionId))],goneIds:e}}({prev:b,fresh:a,removingIds:new Set(c.keys())});return e.forEach(a=>_(a,"completed")),d})}catch{}},4e3);return()=>clearInterval(a)},[_]),(0,c.useEffect)(()=>{let a=R.current;return()=>{a.forEach(a=>clearTimeout(a))}},[]);let aa=(0,c.useCallback)(async a=>{try{await (0,g.stopPtyExecution)(a),p(b=>{let c=b.find(b=>b.taskId===a);return c&&_(c.executionId,"stopped"),b})}catch{K.toast.error(e("missions.error.stopFailed"))}},[_,e]),ab=(0,c.useCallback)((a,b)=>{p(b=>{let c=b.find(b=>b.taskId===a);return c&&_(c.executionId,"completed"),b})},[_]),ac=(0,c.useCallback)(a=>{f().then(a=>{p(b=>{let c=new Set(b.map(a=>a.executionId));return[...b,...a.filter(a=>!c.has(a.executionId))]})}).catch(()=>{})},[]),ad=(0,c.useCallback)(a=>{let b=I.current;a<0||a>=b.length||(b[a]?.focus(),G(a),E("input"),V.current?.querySelector(`[data-pane-index="${a}"]`)?.scrollIntoView({block:"nearest",inline:"nearest",behavior:"instant"}))},[]),ae=(0,c.useCallback)(()=>{let a=document.activeElement;a instanceof HTMLElement&&a.blur(),I.current[L.current]?.blur(),E("nav")},[]),ah=(0,c.useCallback)(()=>{ad(L.current)},[ad]),ai=(0,c.useCallback)(()=>{"input"===D?ae():ah()},[D,ae,ah]),aj=(0,c.useCallback)(()=>{let a=I.current.length;0!==a&&ad(x(L.current,a,1))},[ad]),ak=(0,c.useCallback)(()=>{let a=I.current.length;0!==a&&ad(x(L.current,a,-1))},[ad]),al=(0,c.useCallback)(a=>{let b=I.current.length;0!==b&&(E("nav"),G(c=>(function(a,b,c,d){if(c<=0)return 0;let e=Math.max(1,b);switch(d){case"left":return x(a,c,-1);case"right":return x(a,c,1);case"up":{let b=a-e;return b<0?a:b}case"down":{let b=a+e;return b>=c?a:b}default:return a}})(c,J.current,b,a)))},[]),am=(0,c.useCallback)(a=>{let b=I.current.length;0!==b&&(E("nav"),G(c=>x(c,b,a)))},[]);(0,ag.useActionShortcut)("missions.jump",a=>{let b=Number(a.key);Number.isInteger(b)&&b>=1&&ad(b-1)}),(0,ag.useActionShortcut)("missions.moveSelection",a=>{al("ArrowUp"===a.key?"up":"ArrowDown"===a.key?"down":"ArrowLeft"===a.key?"left":"right")}),(0,ag.useActionShortcut)("missions.cycle",()=>am(1)),(0,ag.useActionShortcut)("missions.cycleBack",()=>am(-1)),(0,ag.useActionShortcut)("missions.focus",()=>ah()),(0,ag.useActionShortcut)("missions.next",()=>aj()),(0,ag.useActionShortcut)("missions.prev",()=>ak()),(0,ag.useActionShortcut)("missions.exit",()=>ae()),(0,c.useEffect)(()=>{let a=V.current;if(!a)return;let b=a=>{let b=a.target,c=b?.closest("[data-pane-index]");if(!c)return;let d=Number(c.dataset.paneIndex);Number.isInteger(d)&&(G(d),E("input"))};return a.addEventListener("focusin",b),()=>a.removeEventListener("focusin",b)},[]);let an=Array.from(new Map(l.map(a=>[a.workspaceId,a.workspaceName])).entries()).map(([a,b])=>({id:a,name:b})),ao=B?l.filter(a=>a.workspaceId===B):l;I.current=ao.map(a=>H.current.get(a.taskId)).filter(a=>!!a),J.current=T,(0,c.useEffect)(()=>{G(a=>{let b=ao.length;return 0===b?0:Math.min(a,b-1)})},[ao.length]);let ap=new Set(l.map(a=>a.taskId));return(0,b.jsxs)("div",{className:"flex h-full flex-col",children:[(0,b.jsxs)("div",{className:"header-sm shrink-0 px-4 flex items-center gap-3",children:[(0,b.jsx)("h1",{className:"text-base font-semibold",children:e("missions.pageTitle")}),(0,b.jsxs)(o.Tooltip,{children:[(0,b.jsxs)(o.TooltipTrigger,{render:(0,b.jsx)(j.Button,{variant:"ghost",className:`h-7 gap-1.5 px-2 shrink-0 text-xs font-medium text-muted-foreground ${"nav"===D?"bg-accent text-foreground":""}`,onClick:ai,disabled:0===ao.length}),children:[(0,b.jsx)(n.Keyboard,{className:"h-3.5 w-3.5"}),"input"===D?e("missions.mode.input"):e("missions.mode.nav")]}),(0,b.jsx)(o.TooltipContent,{className:"max-w-xs",children:e("missions.mode.toggleHint")})]}),(0,b.jsxs)(i.Select,{value:B,onValueChange:a=>C(a??""),children:[(0,b.jsx)(i.SelectTrigger,{className:"w-36 h-8",children:(0,b.jsx)("span",{className:"truncate",children:B?an.find(a=>a.id===B)?.name??e("missions.filterAll"):e("missions.filterAll")})}),(0,b.jsxs)(i.SelectContent,{children:[(0,b.jsx)(i.SelectItem,{value:"",children:e("missions.filterAll")}),an.map(a=>(0,b.jsx)(i.SelectItem,{value:a.id,children:a.name},a.id))]})]}),(0,b.jsx)("div",{className:"flex-1"}),(0,b.jsx)(s,{value:q,customValue:t,onChange:Y}),(0,b.jsx)(j.Button,{onClick:()=>w(!0),children:e("missions.launchTask")}),(0,b.jsx)(af,{open:v,onOpenChange:w,onLaunched:ac,runningTaskIds:ap})]}),(0,b.jsx)("div",{ref:V,className:"flex-1 overflow-auto min-h-0 p-4",children:0===ao.length&&0===O.size?(0,b.jsx)(k.EmptyState,{icon:m,title:e("missions.emptyTitle"),description:e("missions.emptyDesc"),className:"h-full",action:(0,b.jsx)(j.Button,{onClick:()=>w(!0),children:e("missions.launchTask")})}):(0,b.jsx)(z.DndContext,{id:"missions-dnd",sensors:Z,collisionDetection:z.closestCenter,onDragEnd:$,children:(0,b.jsx)(A.SortableContext,{items:ao.map(a=>a.executionId),strategy:A.rectSortingStrategy,children:(0,b.jsx)("div",{className:"grid gap-4",style:{gridTemplateColumns:`repeat(${T}, 1fr)`,gridAutoRows:W},children:ao.map((a,c)=>(0,b.jsx)(M,{execution:a,isRemoving:O.has(a.executionId),removeReason:O.get(a.executionId),onStop:aa,onSessionEnd:ab,index:c,onRegisterControls:N},a.executionId))})})})}),(0,b.jsx)(y,{open:"nav"===D,panes:ao,selectedIndex:F,onSelect:ad,onClose:ah})]})}],989799)}];
2
2
 
3
3
  //# sourceMappingURL=src_app_missions_missions-client_tsx_11429lj._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[163778,a=>{"use strict";var b,c=a.i(728778),d=a.i(374637),e=a.i(553798),f=a.i(940271),g=a.i(699570),h=a.i(866718),i=a.i(487410),j=a.i(785259),k=a.i(43775),l=a.i(704494),m=a.i(668116),n=a.i(54384),o=a.i(648512),p=a.i(711796);let q=(0,p.default)("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]);var r=a.i(951192),s=a.i(368114);let t=[{adapterType:"claude_code",provider:"claude",label:"Claude CLI"},{adapterType:"codex_cli",provider:"codex",label:"Codex CLI"}];function u({results:a,onResult:b}){let{t:e}=(0,r.useI18n)(),[f,h]=(0,d.useState)({}),i=t.some(a=>f[a.provider]);async function k(a){if(!f[a.provider]){h(b=>({...b,[a.provider]:!0}));try{let c=await fetch("/api/adapters/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({adapterType:a.adapterType,provider:a.provider})}),d=await c.json();b(a.provider,d)}catch{b(a.provider,{ok:!1,checks:[{name:"network_error",passed:!1,message:"Network request failed"}]})}finally{h(b=>({...b,[a.provider]:!1}))}}}async function p(){await Promise.all(t.map(a=>k(a)))}return(0,c.jsxs)("div",{className:"space-y-3",children:[(0,c.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,c.jsx)("p",{className:"text-xs text-muted-foreground",children:e("onboarding.step2.passHint")}),(0,c.jsxs)(g.Button,{variant:"outline",onClick:p,disabled:i,children:[i?(0,c.jsx)(l.Loader2,{className:"h-4 w-4 animate-spin"}):(0,c.jsx)(o.Terminal,{className:"h-4 w-4"}),e("onboarding.step2.testAll")]})]}),(0,c.jsx)("div",{className:"grid grid-cols-2 gap-2",children:t.map(b=>{let d=!!f[b.provider],h=a[b.provider],i=h?.ok===!0,o=null!=h&&!h.ok,p=h?.checks.find(a=>!a.passed)?.message,r=d?e("settings.aiTools.testing"):i?e("settings.aiTools.testPassed"):o?p??e("settings.aiTools.testFailed"):e("onboarding.step2.notTested"),t=o?h.checks.filter(a=>!a.passed).map(a=>a.message).join("\n"):void 0;return(0,c.jsxs)("div",{className:(0,s.cn)("flex items-center gap-2.5 rounded-lg border px-3 py-2.5 transition-colors",i?"border-green-200 bg-green-50 dark:border-green-800 dark:bg-green-950/20":o?"border-red-200 bg-red-50 dark:border-red-800 dark:bg-red-950/20":"border-border bg-muted/30"),children:[(0,c.jsx)("span",{className:"flex h-5 w-5 shrink-0 items-center justify-center",children:d?(0,c.jsx)(l.Loader2,{className:"h-4 w-4 animate-spin text-muted-foreground"}):i?(0,c.jsx)(m.Check,{className:"h-4 w-4 text-green-600 dark:text-green-400"}):o?(0,c.jsx)(n.X,{className:"h-4 w-4 text-red-600 dark:text-red-400"}):(0,c.jsx)("span",{className:"h-2 w-2 rounded-full bg-muted-foreground/40"})}),(0,c.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,c.jsx)("p",{className:"truncate text-sm font-medium",children:b.label}),(0,c.jsx)("p",{className:(0,s.cn)("truncate text-xs",i?"text-green-700 dark:text-green-300":o?"text-red-700 dark:text-red-300":"text-muted-foreground"),title:t,children:r})]}),(0,c.jsxs)(j.Tooltip,{children:[(0,c.jsx)(j.TooltipTrigger,{render:(0,c.jsx)(g.Button,{variant:"ghost",size:"icon",className:"shrink-0 text-muted-foreground",onClick:()=>k(b),disabled:d,children:(0,c.jsx)(q,{className:"h-4 w-4"})})}),(0,c.jsx)(j.TooltipContent,{children:e("settings.aiTools.testConnection")})]})]},b.provider)})})]})}var v=a.i(979514);let w=(0,p.default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);var x=a.i(577565),y=a.i(264589),z=a.i(912868),A=a.i(10390),B=a.i(761052),C=a.i(86354);let D=(0,p.default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);var E=a.i(34252),F=a.i(774881),G=a.i(975231),H=a.i(347165),I=a.i(963326);a.s([],590211),a.i(590211);var J=a.i(535011),K=a.i(327104),L=a.i(74686),M=a.i(830067),N=a.i(140988),O=a.i(196692),P=a.i(420074);let Q=((b={}).checked="data-checked",b.unchecked="data-unchecked",b.indeterminate="data-indeterminate",b.disabled="data-disabled",b.readonly="data-readonly",b.required="data-required",b.valid="data-valid",b.invalid="data-invalid",b.touched="data-touched",b.dirty="data-dirty",b.filled="data-filled",b.focused="data-focused",b);var R=a.i(258802);function S(a){return d.useMemo(()=>({checked:b=>a.indeterminate?{}:b?{[Q.checked]:""}:{[Q.unchecked]:""},...R.fieldValidityMapping}),[a.indeterminate])}var T=a.i(213200),U=a.i(366752),V=a.i(475295),W=a.i(19926),X=a.i(166388),Y=a.i(411389),Z=a.i(233619),$=a.i(77469),_=a.i(584395),aa=a.i(163692),ab=a.i(778403),ac=a.i(862306);let ad=d.createContext(void 0);var ae=a.i(622047),af=a.i(100737),ag=a.i(706092);let ah=d.forwardRef(function(a,b){let{checked:e,className:f,defaultChecked:g=!1,"aria-labelledby":h,disabled:i=!1,id:j,indeterminate:k=!1,inputRef:l,name:m,onCheckedChange:n,parent:o=!1,readOnly:p=!1,render:q,required:r=!1,uncheckedValue:s,value:t,nativeButton:u=!1,...v}=a,{clearErrors:w}=(0,$.useFormContext)(),{disabled:x,name:y,setDirty:z,setFilled:A,setFocused:B,setTouched:C,state:D,validationMode:E,validityData:F,shouldValidateOnChange:G,validation:H}=(0,X.useFieldRootContext)(),I=(0,Y.useFieldItemContext)(),{labelId:Q,controlId:R,registerControlId:ac,getDescriptionProps:ah}=(0,_.useLabelableContext)(),ai=(0,ab.useCheckboxGroupContext)(),aj=ai?.parent,ak=aj&&ai.allValues,al=x||I.disabled||ai?.disabled||i,am=y??m,an=t??am,ao=(0,U.useBaseUiId)(),ap=(0,U.useBaseUiId)(),aq=R;ak?aq=o?ap:`${aj.id}-${an}`:j&&(aq=j);let ar={};ak&&(o?ar=ai.parent.getParentProps():an&&(ar=ai.parent.getChildProps(an)));let as=(0,L.useStableCallback)(n),{checked:at=e,indeterminate:au=k,onCheckedChange:av,...aw}=ar,ax=ai?.value,ay=ai?.setValue,az=ai?.defaultValue,aA=d.useRef(null),aB=(0,O.useRefWithInit)(()=>Symbol("checkbox-control")),aC=d.useRef(!1),{getButtonProps:aD,buttonRef:aE}=(0,W.useButton)({disabled:al,native:u}),aF=ai?.validation??H,[aG,aH]=(0,K.useControlled)({controlled:an&&ax&&!o?ax.includes(an):at,default:an&&az&&!o?az.includes(an):g,name:"Checkbox",state:"checked"});(0,M.useIsoLayoutEffect)(()=>{ac!==J.NOOP&&(aC.current=!0,ac(aB.current,aq))},[aq,ai,ac,o,aB]),d.useEffect(()=>{let a=aB.current;return()=>{aC.current&&ac!==J.NOOP&&(aC.current=!1,ac(a,void 0))}},[ac,aB]),(0,Z.useField)({enabled:!ai,id:ao,commit:aF.commit,value:aG,controlRef:aA,name:am,getValue:()=>aG});let aI=d.useRef(null),aJ=(0,N.useMergedRefs)(l,aI,aF.inputRef),aK=(0,aa.useAriaLabelledBy)(h,Q,aI,!u,aq??void 0);(0,M.useIsoLayoutEffect)(()=>{aI.current&&(aI.current.indeterminate=au,aG&&A(!0))},[aG,au,A]),(0,ag.useValueChanged)(aG,()=>{(!ai||o)&&(w(am),A(aG),z(aG!==F.initialValue),G()?aF.commit(aG):aF.commit(aG,!0))});let aL=(0,V.mergeProps)({checked:aG,disabled:al,name:o?void 0:am,id:u?void 0:aq??void 0,required:r,ref:aJ,style:am?P.visuallyHiddenInput:P.visuallyHidden,tabIndex:-1,type:"checkbox","aria-hidden":!0,onChange(a){if(a.nativeEvent.defaultPrevented)return;let b=a.target.checked,c=(0,ae.createChangeEventDetails)(af.REASONS.none,a.nativeEvent);av?.(b,c),as(b,c),!c.isCanceled&&(aH(b),an&&ax&&ay&&!o&&ay(b?[...ax,an]:ax.filter(a=>a!==an),c))},onFocus(){aA.current?.focus()}},void 0!==t?{value:(ai?aG&&t:t)||""}:J.EMPTY_OBJECT,ah,ai?aF.getValidationProps:aF.getInputValidationProps),aM=ak?!!at:aG,aN=ak&&au||k;d.useEffect(()=>{if(!aj||!an)return;let a=aj.disabledStatesRef.current;return a.set(an,al),()=>{a.delete(an)}},[aj,al,an]);let aO=d.useMemo(()=>({...D,checked:aM,disabled:al,readOnly:p,required:r,indeterminate:aN}),[D,aM,al,p,r,aN]),aP=S(aO),aQ=(0,T.useRenderElement)("span",a,{state:aO,ref:[aE,aA,b,ai?.registerControlRef],props:[{id:u?aq??void 0:ao,role:"checkbox","aria-checked":au?"mixed":aG,"aria-readonly":p||void 0,"aria-required":r||void 0,"aria-labelledby":aK,"data-parent":o?"":void 0,onFocus(){B(!0)},onBlur(){let a=aI.current;a&&(C(!0),B(!1),"onBlur"===E&&aF.commit(ai?ax:a.checked))},onClick(a){p||al||(a.preventDefault(),aI.current?.dispatchEvent(new PointerEvent("click",{bubbles:!0,shiftKey:a.shiftKey,ctrlKey:a.ctrlKey,altKey:a.altKey,metaKey:a.metaKey})))}},ah,aF.getValidationProps,v,aw,aD],stateAttributesMapping:aP});return(0,c.jsxs)(ad.Provider,{value:aO,children:[aQ,!aG&&!ai&&am&&!o&&void 0!==s&&(0,c.jsx)("input",{type:"hidden",name:am,value:s}),(0,c.jsx)("input",{...aL})]})});var ai=a.i(398312),aj=a.i(904531),ak=a.i(380562);let al=d.forwardRef(function(a,b){let{render:c,className:e,keepMounted:f=!1,...g}=a,h=function(){let a=d.useContext(ad);if(void 0===a)throw Error((0,ac.default)(14));return a}(),i=h.checked||h.indeterminate,{mounted:j,transitionStatus:k,setMounted:l}=(0,aj.useTransitionStatus)(i),m=d.useRef(null),n={...h,transitionStatus:k};(0,ai.useOpenChangeComplete)({open:i,ref:m,onComplete(){i||l(!1)}});let o=S(h),p=d.useMemo(()=>({...o,...ak.transitionStatusMapping,...R.fieldValidityMapping}),[o]),q=(0,T.useRenderElement)("span",a,{ref:[b,m],state:n,stateAttributesMapping:p,props:g});return f||j?q:null});a.s(["Indicator",0,al,"Root",0,ah],120012);var am=a.i(120012),am=am,an=a.i(706738);function ao({className:a,...b}){return(0,c.jsx)(am.Root,{"data-slot":"checkbox",className:(0,s.cn)("peer size-4 shrink-0 rounded-[4px] border border-input bg-background shadow-xs outline-none transition-[color,box-shadow] dark:bg-input/30","data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40","data-disabled:cursor-not-allowed data-disabled:opacity-50",a),...b,children:(0,c.jsx)(am.Indicator,{"data-slot":"checkbox-indicator",className:"flex items-center justify-center text-current",children:(0,c.jsx)(an.CheckIcon,{className:"size-3.5",strokeWidth:3})})})}var ap=a.i(953093),aq=a.i(338737),ar=a.i(780410);let as=(0,ar.createServerReference)("60055c035170d24b736f46a94e3432ed3060e75fb0",ar.callServer,void 0,ar.findSourceMapURL,"completeOnboarding"),at=(0,ar.createServerReference)("60bac43b8930ce1461a961a4aa62d3122b8ee95c7b",ar.callServer,void 0,ar.findSourceMapURL,"setOnboardingExtensions");function au({username:a,onComplete:b}){let{t:e}=(0,r.useI18n)(),f=(0,ap.listExtensionMetadata)(),[h,i]=(0,d.useState)(()=>new Set(f.map(a=>a.id))),[j,k]=(0,d.useState)(!1),m=f.length,n=h.size;async function o(){k(!0);let c=Array.from(h),d=[];if(c.length>0)for(let a of(await Promise.all(c.map(async a=>{try{let b=await (0,aq.installExtension)(a);return{id:a,success:b.success}}catch{return{id:a,success:!1}}}))))a.success&&d.push(a.id);await at(c,d),await as(a),k(!1),b()}return(0,c.jsxs)("div",{className:"space-y-6",children:[(0,c.jsxs)("div",{className:"space-y-2",children:[(0,c.jsx)("h2",{className:"text-xl font-semibold",children:e("onboarding.step4.title")}),(0,c.jsx)("p",{className:"text-sm text-muted-foreground",children:e("onboarding.step4.desc")})]}),(0,c.jsx)("div",{className:"space-y-2",children:f.map(a=>{let b=a.icon,d=h.has(a.id);return(0,c.jsxs)("label",{className:`flex items-start gap-3 rounded-lg border p-3 cursor-pointer transition-colors ${d?"border-primary/40 bg-primary/5 hover:bg-primary/10":"border-border bg-background hover:bg-accent/50"}`,children:[(0,c.jsx)(ao,{checked:d,onCheckedChange:()=>{var b;return b=a.id,void i(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},disabled:j,className:"mt-0.5"}),(0,c.jsxs)("div",{className:"flex flex-1 items-start gap-3 min-w-0",children:[(0,c.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-muted",children:(0,c.jsx)(b,{className:"h-4 w-4 text-muted-foreground"})}),(0,c.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,c.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,c.jsx)("span",{className:"text-sm font-medium",children:a.name}),(0,c.jsxs)("span",{className:"shrink-0 text-xs text-muted-foreground",children:["~",a.sizeMB," MB"]})]}),(0,c.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:a.description}),(0,c.jsxs)("a",{href:a.homepageUrl,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"mt-1 inline-flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground",children:[(0,c.jsx)(I.ExternalLink,{className:"h-3 w-3"}),e("settings.extensions.visitHomepage")]})]})]})]},a.id)})}),n<m&&(0,c.jsx)("p",{className:"text-xs text-muted-foreground italic",children:e("onboarding.step4.skipHint")}),(0,c.jsx)("div",{className:"flex justify-end",children:(0,c.jsx)(g.Button,{onClick:o,disabled:j,children:j?(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(l.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),e("onboarding.step4.installing")]}):0===n?e("onboarding.step4.continueWithoutInstall"):e("onboarding.step4.continue")})})]})}function av({step:a}){let b=[w,o.Terminal,x.GitBranch,y.Package][a-1]??w,d=["Profile","Connect","Configure","Extensions"][a-1]??"";return(0,c.jsxs)("div",{className:"relative h-full w-full overflow-hidden",children:[(0,c.jsx)("div",{className:"absolute inset-0 opacity-[0.07] text-white",style:{backgroundImage:"radial-gradient(circle, currentColor 1px, transparent 1px)",backgroundSize:"24px 24px"}}),(0,c.jsx)("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full",style:{width:"380px",height:"380px",background:"radial-gradient(circle, oklch(0.80 0.14 75 / 0.25) 0%, oklch(0.80 0.14 75 / 0.08) 45%, transparent 70%)",animation:"ob-pulse 6s ease-in-out infinite"}}),(0,c.jsx)("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full border border-amber-400/25",style:{width:"260px",height:"260px",animation:"ob-spin 20s linear infinite"},children:(0,c.jsx)("div",{className:"absolute -top-1.5 left-1/2 -translate-x-1/2 h-3 w-3 rounded-full bg-amber-400",style:{boxShadow:"0 0 16px oklch(0.80 0.14 75 / 0.7)"}})}),(0,c.jsxs)("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full border border-amber-400/15",style:{width:"380px",height:"380px",animation:"ob-spin 30s linear infinite reverse"},children:[(0,c.jsx)("div",{className:"absolute -top-1 left-1/2 -translate-x-1/2 h-2 w-2 rounded-full bg-amber-400/70"}),(0,c.jsx)("div",{className:"absolute -bottom-1 left-1/2 -translate-x-1/2 h-1.5 w-1.5 rounded-full bg-amber-400/50"})]}),(0,c.jsx)("svg",{className:"absolute",style:{top:"18%",right:"22%",animation:"ob-float 8s ease-in-out infinite"},width:"44",height:"50",viewBox:"0 0 40 46",fill:"none",children:(0,c.jsx)("path",{d:"M20 1 L38 12 L38 34 L20 45 L2 34 L2 12 Z",stroke:"oklch(0.80 0.14 75 / 0.4)",strokeWidth:"1.5",fill:"oklch(0.80 0.14 75 / 0.06)"})}),(0,c.jsx)("svg",{className:"absolute",style:{bottom:"22%",left:"18%",animation:"ob-float 10s ease-in-out 2s infinite"},width:"32",height:"36",viewBox:"0 0 40 46",fill:"none",children:(0,c.jsx)("path",{d:"M20 1 L38 12 L38 34 L20 45 L2 34 L2 12 Z",stroke:"oklch(0.80 0.14 75 / 0.3)",strokeWidth:"1.5",fill:"oklch(0.80 0.14 75 / 0.05)"})}),(0,c.jsx)("div",{className:"absolute h-3.5 w-3.5 rounded-full bg-amber-400/40",style:{top:"30%",left:"28%",animation:"ob-float 7s ease-in-out 1s infinite"}}),(0,c.jsx)("div",{className:"absolute h-2.5 w-2.5 rounded-full bg-amber-400/30",style:{top:"65%",right:"30%",animation:"ob-float 9s ease-in-out 3s infinite"}}),(0,c.jsx)("div",{className:"absolute h-2 w-2 rounded-full bg-amber-400/20",style:{top:"45%",right:"15%",animation:"ob-float 6s ease-in-out 0.5s infinite"}}),(0,c.jsxs)("svg",{className:"absolute inset-0 h-full w-full text-white opacity-[0.12]",children:[(0,c.jsx)("line",{x1:"30%",y1:"25%",x2:"70%",y2:"45%",stroke:"currentColor",strokeWidth:"1",strokeDasharray:"4 6",style:{animation:"ob-dash 12s linear infinite"}}),(0,c.jsx)("line",{x1:"65%",y1:"30%",x2:"35%",y2:"70%",stroke:"currentColor",strokeWidth:"1",strokeDasharray:"4 6",style:{animation:"ob-dash 15s linear infinite reverse"}})]}),(0,c.jsx)("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 flex items-center justify-center",children:(0,c.jsx)("div",{className:"flex h-16 w-16 items-center justify-center rounded-2xl border border-amber-400/35 bg-amber-500/10 backdrop-blur-sm transition-all duration-700",style:{boxShadow:"0 0 50px oklch(0.80 0.14 75 / 0.2)"},children:(0,c.jsx)(b,{className:"h-7 w-7 text-amber-400"})})}),(0,c.jsx)("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 translate-y-12 text-center",children:(0,c.jsx)("p",{className:"text-[11px] font-medium tracking-widest uppercase text-amber-400/60",children:d})})]})}let aw={host:"",ownerMatch:"*",localPathTemplate:""};a.s(["default",0,function(){let a,b,l,n=(0,e.useRouter)(),{t:p,locale:q,setLocale:s}=(0,r.useI18n)(),{theme:t,setTheme:I}=(0,f.useTheme)(),[J,K]=(0,d.useState)(!1),[L,M]=(0,d.useState)(1),[N,O]=(0,d.useState)(""),[P,Q]=(0,d.useState)({}),R=Object.values(P).some(a=>a.ok),[S,T]=(0,d.useState)([]),[U,V]=(0,d.useState)({...aw}),[W,X]=(0,d.useState)(!0),[Y,Z]=(0,d.useState)(0),[$,_]=(0,d.useState)(!1),[aa,ab]=(0,d.useState)(!1);(0,d.useEffect)(()=>K(!0),[]);let ac=[{value:"light",label:(0,c.jsx)(B.Sun,{className:"h-4 w-4"})},{value:"dark",label:(0,c.jsx)(C.Moon,{className:"h-4 w-4"})},{value:"system",label:(0,c.jsx)(D,{className:"h-4 w-4"})}];function ad(){M(a=>a+1)}function ae(){M(a=>Math.max(1,a-1))}let af=[{icon:w,label:p("onboarding.step1.title")},{icon:o.Terminal,label:p("onboarding.step2.title")},{icon:x.GitBranch,label:p("onboarding.step3.title")},{icon:y.Package,label:p("onboarding.step4.title")}];return(0,c.jsxs)("div",{className:"flex h-screen bg-background",children:[(0,c.jsx)("div",{className:"hidden xl:block xl:w-3/5 border-r border-border/50 bg-[oklch(0.13_0.006_260)]",children:(0,c.jsx)(av,{step:L})}),(0,c.jsx)("div",{className:"flex w-full flex-col items-center px-8 pt-[10vh] pb-10 xl:w-2/5 xl:px-16 overflow-y-auto",children:(0,c.jsxs)("div",{className:"w-full max-w-lg space-y-6",children:[(0,c.jsxs)("div",{className:"space-y-4",children:[(0,c.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,c.jsx)("img",{src:"/logo.png",alt:"Tower",className:"h-8 w-8 rounded-lg"}),(0,c.jsx)("span",{className:"text-lg font-semibold tracking-tight",children:"Tower"})]}),(0,c.jsx)("div",{className:"flex items-center gap-1.5",children:af.map((a,b)=>{let d=b+1,e=d===L,f=d<L,g=a.icon;return(0,c.jsxs)("div",{className:"flex items-center gap-1.5 shrink-0",children:[b>0&&(0,c.jsx)("div",{className:`h-px w-4 transition-colors duration-500 ${f?"bg-primary":"bg-border"}`}),(0,c.jsxs)("div",{className:`flex items-center gap-1 shrink-0 rounded-full px-2 py-1 text-[11px] font-medium whitespace-nowrap transition-all duration-500 ${e?"bg-primary text-primary-foreground shadow-sm":f?"bg-primary/10 text-primary":"bg-muted text-muted-foreground"}`,children:[f?(0,c.jsx)(m.Check,{className:"h-3 w-3 shrink-0"}):(0,c.jsx)(g,{className:"h-3 w-3 shrink-0"}),(0,c.jsx)("span",{children:a.label})]})]},b)})})]}),(0,c.jsxs)("div",{children:[1===L&&(0,c.jsxs)("div",{className:"space-y-7 animate-in fade-in slide-in-from-left-4 duration-500",children:[(0,c.jsxs)("div",{className:"space-y-1.5",children:[(0,c.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:p("onboarding.step1.title")}),(0,c.jsx)("p",{className:"text-sm text-muted-foreground leading-relaxed",children:p("onboarding.step1.desc")})]}),(0,c.jsxs)("div",{className:"space-y-2",children:[(0,c.jsx)("label",{htmlFor:"onboarding-username",className:"text-sm font-medium",children:p("onboarding.step1.usernameLabel")}),(0,c.jsx)("input",{id:"onboarding-username",type:"text",value:N,onChange:a=>O(a.target.value),placeholder:p("onboarding.step1.usernamePlaceholder"),className:"flex h-10 w-full rounded-lg border border-input bg-transparent px-3 py-2 text-sm shadow-sm transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50",maxLength:64,autoFocus:!0,autoComplete:"username"})]}),(0,c.jsxs)("div",{className:"grid grid-cols-2 gap-6",children:[(0,c.jsxs)("div",{className:"space-y-2.5",children:[(0,c.jsxs)("div",{className:"flex items-center gap-2",children:[(0,c.jsx)(E.Languages,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,c.jsx)("label",{className:"text-sm font-medium",children:p("settings.language")})]}),(0,c.jsx)(i.SegmentedControl,{options:[{value:"zh",label:"中文"},{value:"en",label:"English"}].map(a=>({value:a.value,label:a.label})),value:q,onChange:a=>s(a)})]}),(0,c.jsxs)("div",{className:"space-y-2.5",children:[(0,c.jsxs)("div",{className:"flex items-center gap-2",children:[(0,c.jsx)(B.Sun,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,c.jsx)("label",{className:"text-sm font-medium",children:p("settings.theme")})]}),J?(0,c.jsx)(i.SegmentedControl,{options:ac.map(a=>({value:a.value,label:a.label})),value:t??"system",onChange:a=>I(a)}):(0,c.jsx)("div",{className:"inline-flex h-8 rounded-md border border-border bg-muted p-1 gap-1 w-[120px]"})]})]}),(0,c.jsx)("div",{className:"flex justify-end pt-3",children:(0,c.jsxs)(g.Button,{onClick:ad,disabled:0===N.trim().length,className:"px-5",children:[p("onboarding.step1.next"),(0,c.jsx)(A.ChevronRight,{className:"h-4 w-4 ml-1"})]})})]}),2===L&&(0,c.jsxs)("div",{className:"space-y-7 animate-in fade-in slide-in-from-left-4 duration-500",children:[(0,c.jsxs)("div",{className:"space-y-1.5",children:[(0,c.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:p("onboarding.step2.title")}),(0,c.jsx)("p",{className:"text-sm text-muted-foreground leading-relaxed",children:p("onboarding.step2.desc")})]}),(0,c.jsx)(u,{results:P,onResult:(a,b)=>Q(c=>({...c,[a]:b}))}),(0,c.jsxs)("div",{className:"flex items-center justify-between pt-3",children:[(0,c.jsxs)(g.Button,{variant:"ghost",className:"text-muted-foreground",onClick:ae,children:[(0,c.jsx)(z.ChevronLeft,{className:"h-4 w-4 mr-1"}),p("onboarding.back")]}),(0,c.jsxs)(g.Button,{onClick:ad,disabled:!R,className:"px-5",children:[p("onboarding.step1.next"),(0,c.jsx)(A.ChevronRight,{className:"h-4 w-4 ml-1"})]})]})]}),3===L&&(0,c.jsxs)("div",{className:"space-y-5 animate-in fade-in slide-in-from-left-4 duration-500",children:[(0,c.jsxs)("div",{className:"space-y-1.5",children:[(0,c.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:p("onboarding.step3.title")}),(0,c.jsx)("p",{className:"text-sm text-muted-foreground leading-relaxed",children:p("onboarding.step3.desc")})]}),S.length>0&&(0,c.jsxs)("div",{className:"space-y-2",children:[(0,c.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:p("onboarding.step3.added").replace("{count}",String(S.length))}),S.map(a=>(0,c.jsxs)("div",{className:"flex items-center justify-between rounded-lg border border-border bg-muted/30 px-3 py-2",children:[(0,c.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,c.jsxs)("p",{className:"text-sm font-medium truncate",children:[a.host,(0,c.jsx)("span",{className:"text-muted-foreground",children:"*"!==a.ownerMatch?` / ${a.ownerMatch}`:""})]}),(0,c.jsx)("p",{className:"text-xs text-muted-foreground font-mono truncate",children:a.localPathTemplate})]}),(0,c.jsx)(g.Button,{variant:"ghost",size:"icon",className:"shrink-0 text-muted-foreground hover:text-destructive",onClick:()=>{var b;return b=a.id,void T(a=>a.filter(a=>a.id!==b))},children:(0,c.jsx)(G.Trash2,{className:"h-3.5 w-3.5"})})]},a.id))]}),W?(0,c.jsxs)("div",{className:"space-y-3 rounded-lg border border-border p-4",children:[(0,c.jsxs)("div",{className:"space-y-1.5",children:[(0,c.jsx)("label",{className:"text-xs font-medium",children:p("onboarding.step3.hostLabel")}),(0,c.jsx)(h.Input,{value:U.host,onChange:a=>V(b=>({...b,host:a.target.value})),placeholder:p("onboarding.step3.hostPlaceholder"),className:"h-9",autoFocus:!0})]}),(0,c.jsxs)("div",{className:"space-y-1.5",children:[(0,c.jsx)("label",{className:"text-xs font-medium",children:p("onboarding.step3.ownerLabel")}),(0,c.jsx)(h.Input,{value:U.ownerMatch,onChange:a=>V(b=>({...b,ownerMatch:a.target.value})),placeholder:p("onboarding.step3.ownerPlaceholder"),className:"h-9"})]}),(0,c.jsxs)("div",{className:"space-y-1.5",children:[(0,c.jsx)("label",{className:"block text-xs font-medium",children:p("onboarding.step3.pathLabel")}),(0,c.jsxs)("div",{className:"flex items-center gap-2",children:[(0,c.jsx)(h.Input,{value:U.localPathTemplate,onChange:a=>V(b=>({...b,localPathTemplate:a.target.value})),placeholder:p("onboarding.step3.pathPlaceholder"),className:"h-9 font-mono text-xs flex-1"}),(0,c.jsxs)(j.Tooltip,{children:[(0,c.jsx)(j.TooltipTrigger,{render:(0,c.jsx)(g.Button,{variant:$?"default":"outline",size:"sm",type:"button",onClick:()=>{_(a=>(a||Z(2),!a))},className:"shrink-0 font-mono",children:"{path}"})}),(0,c.jsx)(j.TooltipContent,{side:"top",className:"max-w-xs",children:(0,c.jsxs)("div",{className:"space-y-1 text-xs",children:[(0,c.jsx)("div",{className:"font-medium",children:p("settings.config.git.pathTooltipTitle")}),(0,c.jsx)("div",{className:"opacity-80",children:p("settings.config.git.pathTooltipDetail")})]})})]}),(0,c.jsxs)(j.Tooltip,{children:[(0,c.jsx)(j.TooltipTrigger,{render:(0,c.jsx)(g.Button,{variant:"outline",size:"icon",type:"button",onClick:()=>ab(!0),children:(0,c.jsx)(H.FolderOpen,{className:"h-4 w-4"})})}),(0,c.jsx)(j.TooltipContent,{children:p("settings.config.git.pickFolder")})]})]}),(0,c.jsx)("p",{className:"text-[11px] text-muted-foreground",children:p($?"onboarding.step3.pathHintFull":"onboarding.step3.pathHintRepo")})]}),U.localPathTemplate&&(a=U.localPathTemplate.trim().replace(/\/+$/,""),b=$?`${a}/{path}`:a,l=[{label:"GitHub SSH",url:"git@github.com:user/my-app.git"},{label:"GitHub HTTPS",url:"https://github.com/user/my-app.git"},{label:"GitLab Subgroup",url:"https://gitlab.com/org/team/sub/my-api.git"}],(0,c.jsxs)("div",{className:"space-y-2",children:[(0,c.jsx)("label",{className:"text-xs font-medium",children:p("onboarding.step3.previewLabel")}),(0,c.jsx)("div",{className:"flex gap-1 flex-wrap",children:l.map((a,b)=>(0,c.jsx)("button",{type:"button",onClick:()=>Z(b),className:`rounded-md px-2 py-1 text-[11px] font-medium transition-colors ${Y===b?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:a.label},b))}),(0,c.jsxs)("div",{className:"rounded-md bg-muted/50 px-3 py-2 space-y-1",children:[(0,c.jsx)("p",{className:"font-mono text-[11px] text-muted-foreground truncate",children:l[Y].url}),(0,c.jsxs)("p",{className:"font-mono text-xs",children:[(0,c.jsx)("span",{className:"text-muted-foreground",children:"→ "}),(0,c.jsx)("span",{className:"text-primary",children:function(a,b){if(!a||!b)return"";let c=b.trim(),d=[],e=c.match(/^git@[^:]+:(.+)$/);if(e)d=e[1].replace(/\.git\/?$/,"").split("/").filter(Boolean);else try{let a=new URL(c);d=decodeURIComponent(a.pathname).replace(/\.git\/?$/,"").split("/").filter(Boolean)}catch{return""}if(!d.length)return"";let f=d[0],g=d[d.length-1],h=d.join("/");if(a.includes("{path}"))return a.replace("{path}",h).replace("{owner}",f).replace("{repo}",g).replace(/\/+$/,"");let i=a.replace("{owner}",f).replace("{repo}","").replace(/\/+$/,"");return`${i}/${g}`}(b,l[Y].url)})]})]})]})),(0,c.jsxs)("div",{className:"flex justify-end gap-2 pt-1",children:[S.length>0&&(0,c.jsx)(g.Button,{variant:"ghost",onClick:()=>X(!1),children:p("settings.config.git.cancel")}),(0,c.jsxs)(g.Button,{onClick:function(){if(!U.host.trim()||!U.localPathTemplate.trim())return;let a=U.localPathTemplate.trim().replace(/\/+$/,""),b=$?`${a}/{path}`:a,c={id:crypto.randomUUID(),host:U.host.trim(),ownerMatch:U.ownerMatch.trim()||"*",localPathTemplate:b,priority:S.length};T(a=>[...a,c]),V({...aw}),_(!1),X(!1)},disabled:!U.host.trim()||!U.localPathTemplate.trim(),children:[(0,c.jsx)(m.Check,{className:"h-4 w-4 mr-1"}),p("settings.config.git.save")]})]})]}):(0,c.jsxs)(g.Button,{variant:"outline",onClick:()=>{V({...aw}),X(!0)},children:[(0,c.jsx)(F.Plus,{className:"h-4 w-4 mr-1"}),p("settings.config.git.addRule")]}),(0,c.jsxs)("div",{className:"flex items-center justify-between pt-3",children:[(0,c.jsxs)(g.Button,{variant:"ghost",className:"text-muted-foreground",onClick:ae,children:[(0,c.jsx)(z.ChevronLeft,{className:"h-4 w-4 mr-1"}),p("onboarding.back")]}),(0,c.jsxs)(g.Button,{onClick:async()=>{S.length>0&&await (0,v.setConfigValue)("git.pathMappingRules",S),M(a=>a+1)},className:"px-5",children:[p("onboarding.step1.next"),(0,c.jsx)(A.ChevronRight,{className:"h-4 w-4 ml-1"})]})]})]}),4===L&&(0,c.jsx)(au,{username:N,onComplete:()=>n.replace("/workspaces")})]}),(0,c.jsx)("div",{className:"pt-6 text-xs text-muted-foreground",children:p("onboarding.stepIndicator").replace("{current}",String(L)).replace("{total}",String(4))})]})}),(0,c.jsx)(k.FolderBrowserDialog,{open:aa,onOpenChange:ab,onSelect:a=>{V(b=>({...b,localPathTemplate:a})),ab(!1)}})]})}],163778)}];
1
+ module.exports=[163778,a=>{"use strict";var b,c=a.i(728778),d=a.i(374637),e=a.i(553798),f=a.i(940271),g=a.i(699570),h=a.i(866718),i=a.i(487410),j=a.i(785259),k=a.i(43775),l=a.i(704494),m=a.i(668116),n=a.i(54384),o=a.i(648512),p=a.i(711796);let q=(0,p.default)("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]);var r=a.i(951192),s=a.i(368114);let t=[{adapterType:"claude_code",provider:"claude",label:"Claude CLI"},{adapterType:"codex_cli",provider:"codex",label:"Codex CLI"}];function u({results:a,onResult:b}){let{t:e}=(0,r.useI18n)(),[f,h]=(0,d.useState)({}),i=t.some(a=>f[a.provider]);async function k(a){if(!f[a.provider]){h(b=>({...b,[a.provider]:!0}));try{let c=await fetch("/api/adapters/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({adapterType:a.adapterType,provider:a.provider})}),d=await c.json();b(a.provider,d)}catch{b(a.provider,{ok:!1,checks:[{name:"network_error",passed:!1,message:"Network request failed"}]})}finally{h(b=>({...b,[a.provider]:!1}))}}}async function p(){await Promise.all(t.map(a=>k(a)))}return(0,c.jsxs)("div",{className:"space-y-3",children:[(0,c.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,c.jsx)("p",{className:"text-xs text-muted-foreground",children:e("onboarding.step2.passHint")}),(0,c.jsxs)(g.Button,{variant:"outline",onClick:p,disabled:i,children:[i?(0,c.jsx)(l.Loader2,{className:"h-4 w-4 animate-spin"}):(0,c.jsx)(o.Terminal,{className:"h-4 w-4"}),e("onboarding.step2.testAll")]})]}),(0,c.jsx)("div",{className:"grid grid-cols-2 gap-2",children:t.map(b=>{let d=!!f[b.provider],h=a[b.provider],i=h?.ok===!0,o=null!=h&&!h.ok,p=h?.checks.find(a=>!a.passed)?.message,r=d?e("settings.aiTools.testing"):i?e("settings.aiTools.testPassed"):o?p??e("settings.aiTools.testFailed"):e("onboarding.step2.notTested"),t=o?h.checks.filter(a=>!a.passed).map(a=>a.message).join("\n"):void 0;return(0,c.jsxs)("div",{className:(0,s.cn)("flex items-center gap-2.5 rounded-lg border px-3 py-2.5 transition-colors",i?"border-green-200 bg-green-50 dark:border-green-800 dark:bg-green-950/20":o?"border-red-200 bg-red-50 dark:border-red-800 dark:bg-red-950/20":"border-border bg-muted/30"),children:[(0,c.jsx)("span",{className:"flex h-5 w-5 shrink-0 items-center justify-center",children:d?(0,c.jsx)(l.Loader2,{className:"h-4 w-4 animate-spin text-muted-foreground"}):i?(0,c.jsx)(m.Check,{className:"h-4 w-4 text-green-600 dark:text-green-400"}):o?(0,c.jsx)(n.X,{className:"h-4 w-4 text-red-600 dark:text-red-400"}):(0,c.jsx)("span",{className:"h-2 w-2 rounded-full bg-muted-foreground/40"})}),(0,c.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,c.jsx)("p",{className:"truncate text-sm font-medium",children:b.label}),(0,c.jsx)("p",{className:(0,s.cn)("truncate text-xs",i?"text-green-700 dark:text-green-300":o?"text-red-700 dark:text-red-300":"text-muted-foreground"),title:t,children:r})]}),(0,c.jsxs)(j.Tooltip,{children:[(0,c.jsx)(j.TooltipTrigger,{render:(0,c.jsx)(g.Button,{variant:"ghost",size:"icon",className:"shrink-0 text-muted-foreground",onClick:()=>k(b),disabled:d,children:(0,c.jsx)(q,{className:"h-4 w-4"})})}),(0,c.jsx)(j.TooltipContent,{children:e("settings.aiTools.testConnection")})]})]},b.provider)})})]})}var v=a.i(878171);let w=(0,p.default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);var x=a.i(577565),y=a.i(264589),z=a.i(912868),A=a.i(10390),B=a.i(761052),C=a.i(86354);let D=(0,p.default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);var E=a.i(34252),F=a.i(774881),G=a.i(975231),H=a.i(347165),I=a.i(963326);a.s([],590211),a.i(590211);var J=a.i(535011),K=a.i(327104),L=a.i(74686),M=a.i(830067),N=a.i(140988),O=a.i(196692),P=a.i(420074);let Q=((b={}).checked="data-checked",b.unchecked="data-unchecked",b.indeterminate="data-indeterminate",b.disabled="data-disabled",b.readonly="data-readonly",b.required="data-required",b.valid="data-valid",b.invalid="data-invalid",b.touched="data-touched",b.dirty="data-dirty",b.filled="data-filled",b.focused="data-focused",b);var R=a.i(258802);function S(a){return d.useMemo(()=>({checked:b=>a.indeterminate?{}:b?{[Q.checked]:""}:{[Q.unchecked]:""},...R.fieldValidityMapping}),[a.indeterminate])}var T=a.i(213200),U=a.i(366752),V=a.i(475295),W=a.i(19926),X=a.i(166388),Y=a.i(411389),Z=a.i(233619),$=a.i(77469),_=a.i(584395),aa=a.i(163692),ab=a.i(778403),ac=a.i(862306);let ad=d.createContext(void 0);var ae=a.i(622047),af=a.i(100737),ag=a.i(706092);let ah=d.forwardRef(function(a,b){let{checked:e,className:f,defaultChecked:g=!1,"aria-labelledby":h,disabled:i=!1,id:j,indeterminate:k=!1,inputRef:l,name:m,onCheckedChange:n,parent:o=!1,readOnly:p=!1,render:q,required:r=!1,uncheckedValue:s,value:t,nativeButton:u=!1,...v}=a,{clearErrors:w}=(0,$.useFormContext)(),{disabled:x,name:y,setDirty:z,setFilled:A,setFocused:B,setTouched:C,state:D,validationMode:E,validityData:F,shouldValidateOnChange:G,validation:H}=(0,X.useFieldRootContext)(),I=(0,Y.useFieldItemContext)(),{labelId:Q,controlId:R,registerControlId:ac,getDescriptionProps:ah}=(0,_.useLabelableContext)(),ai=(0,ab.useCheckboxGroupContext)(),aj=ai?.parent,ak=aj&&ai.allValues,al=x||I.disabled||ai?.disabled||i,am=y??m,an=t??am,ao=(0,U.useBaseUiId)(),ap=(0,U.useBaseUiId)(),aq=R;ak?aq=o?ap:`${aj.id}-${an}`:j&&(aq=j);let ar={};ak&&(o?ar=ai.parent.getParentProps():an&&(ar=ai.parent.getChildProps(an)));let as=(0,L.useStableCallback)(n),{checked:at=e,indeterminate:au=k,onCheckedChange:av,...aw}=ar,ax=ai?.value,ay=ai?.setValue,az=ai?.defaultValue,aA=d.useRef(null),aB=(0,O.useRefWithInit)(()=>Symbol("checkbox-control")),aC=d.useRef(!1),{getButtonProps:aD,buttonRef:aE}=(0,W.useButton)({disabled:al,native:u}),aF=ai?.validation??H,[aG,aH]=(0,K.useControlled)({controlled:an&&ax&&!o?ax.includes(an):at,default:an&&az&&!o?az.includes(an):g,name:"Checkbox",state:"checked"});(0,M.useIsoLayoutEffect)(()=>{ac!==J.NOOP&&(aC.current=!0,ac(aB.current,aq))},[aq,ai,ac,o,aB]),d.useEffect(()=>{let a=aB.current;return()=>{aC.current&&ac!==J.NOOP&&(aC.current=!1,ac(a,void 0))}},[ac,aB]),(0,Z.useField)({enabled:!ai,id:ao,commit:aF.commit,value:aG,controlRef:aA,name:am,getValue:()=>aG});let aI=d.useRef(null),aJ=(0,N.useMergedRefs)(l,aI,aF.inputRef),aK=(0,aa.useAriaLabelledBy)(h,Q,aI,!u,aq??void 0);(0,M.useIsoLayoutEffect)(()=>{aI.current&&(aI.current.indeterminate=au,aG&&A(!0))},[aG,au,A]),(0,ag.useValueChanged)(aG,()=>{(!ai||o)&&(w(am),A(aG),z(aG!==F.initialValue),G()?aF.commit(aG):aF.commit(aG,!0))});let aL=(0,V.mergeProps)({checked:aG,disabled:al,name:o?void 0:am,id:u?void 0:aq??void 0,required:r,ref:aJ,style:am?P.visuallyHiddenInput:P.visuallyHidden,tabIndex:-1,type:"checkbox","aria-hidden":!0,onChange(a){if(a.nativeEvent.defaultPrevented)return;let b=a.target.checked,c=(0,ae.createChangeEventDetails)(af.REASONS.none,a.nativeEvent);av?.(b,c),as(b,c),!c.isCanceled&&(aH(b),an&&ax&&ay&&!o&&ay(b?[...ax,an]:ax.filter(a=>a!==an),c))},onFocus(){aA.current?.focus()}},void 0!==t?{value:(ai?aG&&t:t)||""}:J.EMPTY_OBJECT,ah,ai?aF.getValidationProps:aF.getInputValidationProps),aM=ak?!!at:aG,aN=ak&&au||k;d.useEffect(()=>{if(!aj||!an)return;let a=aj.disabledStatesRef.current;return a.set(an,al),()=>{a.delete(an)}},[aj,al,an]);let aO=d.useMemo(()=>({...D,checked:aM,disabled:al,readOnly:p,required:r,indeterminate:aN}),[D,aM,al,p,r,aN]),aP=S(aO),aQ=(0,T.useRenderElement)("span",a,{state:aO,ref:[aE,aA,b,ai?.registerControlRef],props:[{id:u?aq??void 0:ao,role:"checkbox","aria-checked":au?"mixed":aG,"aria-readonly":p||void 0,"aria-required":r||void 0,"aria-labelledby":aK,"data-parent":o?"":void 0,onFocus(){B(!0)},onBlur(){let a=aI.current;a&&(C(!0),B(!1),"onBlur"===E&&aF.commit(ai?ax:a.checked))},onClick(a){p||al||(a.preventDefault(),aI.current?.dispatchEvent(new PointerEvent("click",{bubbles:!0,shiftKey:a.shiftKey,ctrlKey:a.ctrlKey,altKey:a.altKey,metaKey:a.metaKey})))}},ah,aF.getValidationProps,v,aw,aD],stateAttributesMapping:aP});return(0,c.jsxs)(ad.Provider,{value:aO,children:[aQ,!aG&&!ai&&am&&!o&&void 0!==s&&(0,c.jsx)("input",{type:"hidden",name:am,value:s}),(0,c.jsx)("input",{...aL})]})});var ai=a.i(398312),aj=a.i(904531),ak=a.i(380562);let al=d.forwardRef(function(a,b){let{render:c,className:e,keepMounted:f=!1,...g}=a,h=function(){let a=d.useContext(ad);if(void 0===a)throw Error((0,ac.default)(14));return a}(),i=h.checked||h.indeterminate,{mounted:j,transitionStatus:k,setMounted:l}=(0,aj.useTransitionStatus)(i),m=d.useRef(null),n={...h,transitionStatus:k};(0,ai.useOpenChangeComplete)({open:i,ref:m,onComplete(){i||l(!1)}});let o=S(h),p=d.useMemo(()=>({...o,...ak.transitionStatusMapping,...R.fieldValidityMapping}),[o]),q=(0,T.useRenderElement)("span",a,{ref:[b,m],state:n,stateAttributesMapping:p,props:g});return f||j?q:null});a.s(["Indicator",0,al,"Root",0,ah],120012);var am=a.i(120012),am=am,an=a.i(706738);function ao({className:a,...b}){return(0,c.jsx)(am.Root,{"data-slot":"checkbox",className:(0,s.cn)("peer size-4 shrink-0 rounded-[4px] border border-input bg-background shadow-xs outline-none transition-[color,box-shadow] dark:bg-input/30","data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40","data-disabled:cursor-not-allowed data-disabled:opacity-50",a),...b,children:(0,c.jsx)(am.Indicator,{"data-slot":"checkbox-indicator",className:"flex items-center justify-center text-current",children:(0,c.jsx)(an.CheckIcon,{className:"size-3.5",strokeWidth:3})})})}var ap=a.i(953093),aq=a.i(679317),ar=a.i(780410);let as=(0,ar.createServerReference)("60ae2acf84914a1879cb08641eb58340d607175630",ar.callServer,void 0,ar.findSourceMapURL,"completeOnboarding"),at=(0,ar.createServerReference)("608067b486f33e2002e74544371074d7538d75912e",ar.callServer,void 0,ar.findSourceMapURL,"setOnboardingExtensions");function au({username:a,onComplete:b}){let{t:e}=(0,r.useI18n)(),f=(0,ap.listExtensionMetadata)(),[h,i]=(0,d.useState)(()=>new Set(f.map(a=>a.id))),[j,k]=(0,d.useState)(!1),m=f.length,n=h.size;async function o(){k(!0);let c=Array.from(h),d=[];if(c.length>0)for(let a of(await Promise.all(c.map(async a=>{try{let b=await (0,aq.installExtension)(a);return{id:a,success:b.success}}catch{return{id:a,success:!1}}}))))a.success&&d.push(a.id);await at(c,d),await as(a),k(!1),b()}return(0,c.jsxs)("div",{className:"space-y-6",children:[(0,c.jsxs)("div",{className:"space-y-2",children:[(0,c.jsx)("h2",{className:"text-xl font-semibold",children:e("onboarding.step4.title")}),(0,c.jsx)("p",{className:"text-sm text-muted-foreground",children:e("onboarding.step4.desc")})]}),(0,c.jsx)("div",{className:"space-y-2",children:f.map(a=>{let b=a.icon,d=h.has(a.id);return(0,c.jsxs)("label",{className:`flex items-start gap-3 rounded-lg border p-3 cursor-pointer transition-colors ${d?"border-primary/40 bg-primary/5 hover:bg-primary/10":"border-border bg-background hover:bg-accent/50"}`,children:[(0,c.jsx)(ao,{checked:d,onCheckedChange:()=>{var b;return b=a.id,void i(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},disabled:j,className:"mt-0.5"}),(0,c.jsxs)("div",{className:"flex flex-1 items-start gap-3 min-w-0",children:[(0,c.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-muted",children:(0,c.jsx)(b,{className:"h-4 w-4 text-muted-foreground"})}),(0,c.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,c.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,c.jsx)("span",{className:"text-sm font-medium",children:a.name}),(0,c.jsxs)("span",{className:"shrink-0 text-xs text-muted-foreground",children:["~",a.sizeMB," MB"]})]}),(0,c.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:a.description}),(0,c.jsxs)("a",{href:a.homepageUrl,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"mt-1 inline-flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground",children:[(0,c.jsx)(I.ExternalLink,{className:"h-3 w-3"}),e("settings.extensions.visitHomepage")]})]})]})]},a.id)})}),n<m&&(0,c.jsx)("p",{className:"text-xs text-muted-foreground italic",children:e("onboarding.step4.skipHint")}),(0,c.jsx)("div",{className:"flex justify-end",children:(0,c.jsx)(g.Button,{onClick:o,disabled:j,children:j?(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(l.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),e("onboarding.step4.installing")]}):0===n?e("onboarding.step4.continueWithoutInstall"):e("onboarding.step4.continue")})})]})}function av({step:a}){let b=[w,o.Terminal,x.GitBranch,y.Package][a-1]??w,d=["Profile","Connect","Configure","Extensions"][a-1]??"";return(0,c.jsxs)("div",{className:"relative h-full w-full overflow-hidden",children:[(0,c.jsx)("div",{className:"absolute inset-0 opacity-[0.07] text-white",style:{backgroundImage:"radial-gradient(circle, currentColor 1px, transparent 1px)",backgroundSize:"24px 24px"}}),(0,c.jsx)("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full",style:{width:"380px",height:"380px",background:"radial-gradient(circle, oklch(0.80 0.14 75 / 0.25) 0%, oklch(0.80 0.14 75 / 0.08) 45%, transparent 70%)",animation:"ob-pulse 6s ease-in-out infinite"}}),(0,c.jsx)("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full border border-amber-400/25",style:{width:"260px",height:"260px",animation:"ob-spin 20s linear infinite"},children:(0,c.jsx)("div",{className:"absolute -top-1.5 left-1/2 -translate-x-1/2 h-3 w-3 rounded-full bg-amber-400",style:{boxShadow:"0 0 16px oklch(0.80 0.14 75 / 0.7)"}})}),(0,c.jsxs)("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full border border-amber-400/15",style:{width:"380px",height:"380px",animation:"ob-spin 30s linear infinite reverse"},children:[(0,c.jsx)("div",{className:"absolute -top-1 left-1/2 -translate-x-1/2 h-2 w-2 rounded-full bg-amber-400/70"}),(0,c.jsx)("div",{className:"absolute -bottom-1 left-1/2 -translate-x-1/2 h-1.5 w-1.5 rounded-full bg-amber-400/50"})]}),(0,c.jsx)("svg",{className:"absolute",style:{top:"18%",right:"22%",animation:"ob-float 8s ease-in-out infinite"},width:"44",height:"50",viewBox:"0 0 40 46",fill:"none",children:(0,c.jsx)("path",{d:"M20 1 L38 12 L38 34 L20 45 L2 34 L2 12 Z",stroke:"oklch(0.80 0.14 75 / 0.4)",strokeWidth:"1.5",fill:"oklch(0.80 0.14 75 / 0.06)"})}),(0,c.jsx)("svg",{className:"absolute",style:{bottom:"22%",left:"18%",animation:"ob-float 10s ease-in-out 2s infinite"},width:"32",height:"36",viewBox:"0 0 40 46",fill:"none",children:(0,c.jsx)("path",{d:"M20 1 L38 12 L38 34 L20 45 L2 34 L2 12 Z",stroke:"oklch(0.80 0.14 75 / 0.3)",strokeWidth:"1.5",fill:"oklch(0.80 0.14 75 / 0.05)"})}),(0,c.jsx)("div",{className:"absolute h-3.5 w-3.5 rounded-full bg-amber-400/40",style:{top:"30%",left:"28%",animation:"ob-float 7s ease-in-out 1s infinite"}}),(0,c.jsx)("div",{className:"absolute h-2.5 w-2.5 rounded-full bg-amber-400/30",style:{top:"65%",right:"30%",animation:"ob-float 9s ease-in-out 3s infinite"}}),(0,c.jsx)("div",{className:"absolute h-2 w-2 rounded-full bg-amber-400/20",style:{top:"45%",right:"15%",animation:"ob-float 6s ease-in-out 0.5s infinite"}}),(0,c.jsxs)("svg",{className:"absolute inset-0 h-full w-full text-white opacity-[0.12]",children:[(0,c.jsx)("line",{x1:"30%",y1:"25%",x2:"70%",y2:"45%",stroke:"currentColor",strokeWidth:"1",strokeDasharray:"4 6",style:{animation:"ob-dash 12s linear infinite"}}),(0,c.jsx)("line",{x1:"65%",y1:"30%",x2:"35%",y2:"70%",stroke:"currentColor",strokeWidth:"1",strokeDasharray:"4 6",style:{animation:"ob-dash 15s linear infinite reverse"}})]}),(0,c.jsx)("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 flex items-center justify-center",children:(0,c.jsx)("div",{className:"flex h-16 w-16 items-center justify-center rounded-2xl border border-amber-400/35 bg-amber-500/10 backdrop-blur-sm transition-all duration-700",style:{boxShadow:"0 0 50px oklch(0.80 0.14 75 / 0.2)"},children:(0,c.jsx)(b,{className:"h-7 w-7 text-amber-400"})})}),(0,c.jsx)("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 translate-y-12 text-center",children:(0,c.jsx)("p",{className:"text-[11px] font-medium tracking-widest uppercase text-amber-400/60",children:d})})]})}let aw={host:"",ownerMatch:"*",localPathTemplate:""};a.s(["default",0,function(){let a,b,l,n=(0,e.useRouter)(),{t:p,locale:q,setLocale:s}=(0,r.useI18n)(),{theme:t,setTheme:I}=(0,f.useTheme)(),[J,K]=(0,d.useState)(!1),[L,M]=(0,d.useState)(1),[N,O]=(0,d.useState)(""),[P,Q]=(0,d.useState)({}),R=Object.values(P).some(a=>a.ok),[S,T]=(0,d.useState)([]),[U,V]=(0,d.useState)({...aw}),[W,X]=(0,d.useState)(!0),[Y,Z]=(0,d.useState)(0),[$,_]=(0,d.useState)(!1),[aa,ab]=(0,d.useState)(!1);(0,d.useEffect)(()=>K(!0),[]);let ac=[{value:"light",label:(0,c.jsx)(B.Sun,{className:"h-4 w-4"})},{value:"dark",label:(0,c.jsx)(C.Moon,{className:"h-4 w-4"})},{value:"system",label:(0,c.jsx)(D,{className:"h-4 w-4"})}];function ad(){M(a=>a+1)}function ae(){M(a=>Math.max(1,a-1))}let af=[{icon:w,label:p("onboarding.step1.title")},{icon:o.Terminal,label:p("onboarding.step2.title")},{icon:x.GitBranch,label:p("onboarding.step3.title")},{icon:y.Package,label:p("onboarding.step4.title")}];return(0,c.jsxs)("div",{className:"flex h-screen bg-background",children:[(0,c.jsx)("div",{className:"hidden xl:block xl:w-3/5 border-r border-border/50 bg-[oklch(0.13_0.006_260)]",children:(0,c.jsx)(av,{step:L})}),(0,c.jsx)("div",{className:"flex w-full flex-col items-center px-8 pt-[10vh] pb-10 xl:w-2/5 xl:px-16 overflow-y-auto",children:(0,c.jsxs)("div",{className:"w-full max-w-lg space-y-6",children:[(0,c.jsxs)("div",{className:"space-y-4",children:[(0,c.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,c.jsx)("img",{src:"/logo.png",alt:"Tower",className:"h-8 w-8 rounded-lg"}),(0,c.jsx)("span",{className:"text-lg font-semibold tracking-tight",children:"Tower"})]}),(0,c.jsx)("div",{className:"flex items-center gap-1.5",children:af.map((a,b)=>{let d=b+1,e=d===L,f=d<L,g=a.icon;return(0,c.jsxs)("div",{className:"flex items-center gap-1.5 shrink-0",children:[b>0&&(0,c.jsx)("div",{className:`h-px w-4 transition-colors duration-500 ${f?"bg-primary":"bg-border"}`}),(0,c.jsxs)("div",{className:`flex items-center gap-1 shrink-0 rounded-full px-2 py-1 text-[11px] font-medium whitespace-nowrap transition-all duration-500 ${e?"bg-primary text-primary-foreground shadow-sm":f?"bg-primary/10 text-primary":"bg-muted text-muted-foreground"}`,children:[f?(0,c.jsx)(m.Check,{className:"h-3 w-3 shrink-0"}):(0,c.jsx)(g,{className:"h-3 w-3 shrink-0"}),(0,c.jsx)("span",{children:a.label})]})]},b)})})]}),(0,c.jsxs)("div",{children:[1===L&&(0,c.jsxs)("div",{className:"space-y-7 animate-in fade-in slide-in-from-left-4 duration-500",children:[(0,c.jsxs)("div",{className:"space-y-1.5",children:[(0,c.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:p("onboarding.step1.title")}),(0,c.jsx)("p",{className:"text-sm text-muted-foreground leading-relaxed",children:p("onboarding.step1.desc")})]}),(0,c.jsxs)("div",{className:"space-y-2",children:[(0,c.jsx)("label",{htmlFor:"onboarding-username",className:"text-sm font-medium",children:p("onboarding.step1.usernameLabel")}),(0,c.jsx)("input",{id:"onboarding-username",type:"text",value:N,onChange:a=>O(a.target.value),placeholder:p("onboarding.step1.usernamePlaceholder"),className:"flex h-10 w-full rounded-lg border border-input bg-transparent px-3 py-2 text-sm shadow-sm transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50",maxLength:64,autoFocus:!0,autoComplete:"username"})]}),(0,c.jsxs)("div",{className:"grid grid-cols-2 gap-6",children:[(0,c.jsxs)("div",{className:"space-y-2.5",children:[(0,c.jsxs)("div",{className:"flex items-center gap-2",children:[(0,c.jsx)(E.Languages,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,c.jsx)("label",{className:"text-sm font-medium",children:p("settings.language")})]}),(0,c.jsx)(i.SegmentedControl,{options:[{value:"zh",label:"中文"},{value:"en",label:"English"}].map(a=>({value:a.value,label:a.label})),value:q,onChange:a=>s(a)})]}),(0,c.jsxs)("div",{className:"space-y-2.5",children:[(0,c.jsxs)("div",{className:"flex items-center gap-2",children:[(0,c.jsx)(B.Sun,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,c.jsx)("label",{className:"text-sm font-medium",children:p("settings.theme")})]}),J?(0,c.jsx)(i.SegmentedControl,{options:ac.map(a=>({value:a.value,label:a.label})),value:t??"system",onChange:a=>I(a)}):(0,c.jsx)("div",{className:"inline-flex h-8 rounded-md border border-border bg-muted p-1 gap-1 w-[120px]"})]})]}),(0,c.jsx)("div",{className:"flex justify-end pt-3",children:(0,c.jsxs)(g.Button,{onClick:ad,disabled:0===N.trim().length,className:"px-5",children:[p("onboarding.step1.next"),(0,c.jsx)(A.ChevronRight,{className:"h-4 w-4 ml-1"})]})})]}),2===L&&(0,c.jsxs)("div",{className:"space-y-7 animate-in fade-in slide-in-from-left-4 duration-500",children:[(0,c.jsxs)("div",{className:"space-y-1.5",children:[(0,c.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:p("onboarding.step2.title")}),(0,c.jsx)("p",{className:"text-sm text-muted-foreground leading-relaxed",children:p("onboarding.step2.desc")})]}),(0,c.jsx)(u,{results:P,onResult:(a,b)=>Q(c=>({...c,[a]:b}))}),(0,c.jsxs)("div",{className:"flex items-center justify-between pt-3",children:[(0,c.jsxs)(g.Button,{variant:"ghost",className:"text-muted-foreground",onClick:ae,children:[(0,c.jsx)(z.ChevronLeft,{className:"h-4 w-4 mr-1"}),p("onboarding.back")]}),(0,c.jsxs)(g.Button,{onClick:ad,disabled:!R,className:"px-5",children:[p("onboarding.step1.next"),(0,c.jsx)(A.ChevronRight,{className:"h-4 w-4 ml-1"})]})]})]}),3===L&&(0,c.jsxs)("div",{className:"space-y-5 animate-in fade-in slide-in-from-left-4 duration-500",children:[(0,c.jsxs)("div",{className:"space-y-1.5",children:[(0,c.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:p("onboarding.step3.title")}),(0,c.jsx)("p",{className:"text-sm text-muted-foreground leading-relaxed",children:p("onboarding.step3.desc")})]}),S.length>0&&(0,c.jsxs)("div",{className:"space-y-2",children:[(0,c.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:p("onboarding.step3.added").replace("{count}",String(S.length))}),S.map(a=>(0,c.jsxs)("div",{className:"flex items-center justify-between rounded-lg border border-border bg-muted/30 px-3 py-2",children:[(0,c.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,c.jsxs)("p",{className:"text-sm font-medium truncate",children:[a.host,(0,c.jsx)("span",{className:"text-muted-foreground",children:"*"!==a.ownerMatch?` / ${a.ownerMatch}`:""})]}),(0,c.jsx)("p",{className:"text-xs text-muted-foreground font-mono truncate",children:a.localPathTemplate})]}),(0,c.jsx)(g.Button,{variant:"ghost",size:"icon",className:"shrink-0 text-muted-foreground hover:text-destructive",onClick:()=>{var b;return b=a.id,void T(a=>a.filter(a=>a.id!==b))},children:(0,c.jsx)(G.Trash2,{className:"h-3.5 w-3.5"})})]},a.id))]}),W?(0,c.jsxs)("div",{className:"space-y-3 rounded-lg border border-border p-4",children:[(0,c.jsxs)("div",{className:"space-y-1.5",children:[(0,c.jsx)("label",{className:"text-xs font-medium",children:p("onboarding.step3.hostLabel")}),(0,c.jsx)(h.Input,{value:U.host,onChange:a=>V(b=>({...b,host:a.target.value})),placeholder:p("onboarding.step3.hostPlaceholder"),className:"h-9",autoFocus:!0})]}),(0,c.jsxs)("div",{className:"space-y-1.5",children:[(0,c.jsx)("label",{className:"text-xs font-medium",children:p("onboarding.step3.ownerLabel")}),(0,c.jsx)(h.Input,{value:U.ownerMatch,onChange:a=>V(b=>({...b,ownerMatch:a.target.value})),placeholder:p("onboarding.step3.ownerPlaceholder"),className:"h-9"})]}),(0,c.jsxs)("div",{className:"space-y-1.5",children:[(0,c.jsx)("label",{className:"block text-xs font-medium",children:p("onboarding.step3.pathLabel")}),(0,c.jsxs)("div",{className:"flex items-center gap-2",children:[(0,c.jsx)(h.Input,{value:U.localPathTemplate,onChange:a=>V(b=>({...b,localPathTemplate:a.target.value})),placeholder:p("onboarding.step3.pathPlaceholder"),className:"h-9 font-mono text-xs flex-1"}),(0,c.jsxs)(j.Tooltip,{children:[(0,c.jsx)(j.TooltipTrigger,{render:(0,c.jsx)(g.Button,{variant:$?"default":"outline",size:"sm",type:"button",onClick:()=>{_(a=>(a||Z(2),!a))},className:"shrink-0 font-mono",children:"{path}"})}),(0,c.jsx)(j.TooltipContent,{side:"top",className:"max-w-xs",children:(0,c.jsxs)("div",{className:"space-y-1 text-xs",children:[(0,c.jsx)("div",{className:"font-medium",children:p("settings.config.git.pathTooltipTitle")}),(0,c.jsx)("div",{className:"opacity-80",children:p("settings.config.git.pathTooltipDetail")})]})})]}),(0,c.jsxs)(j.Tooltip,{children:[(0,c.jsx)(j.TooltipTrigger,{render:(0,c.jsx)(g.Button,{variant:"outline",size:"icon",type:"button",onClick:()=>ab(!0),children:(0,c.jsx)(H.FolderOpen,{className:"h-4 w-4"})})}),(0,c.jsx)(j.TooltipContent,{children:p("settings.config.git.pickFolder")})]})]}),(0,c.jsx)("p",{className:"text-[11px] text-muted-foreground",children:p($?"onboarding.step3.pathHintFull":"onboarding.step3.pathHintRepo")})]}),U.localPathTemplate&&(a=U.localPathTemplate.trim().replace(/\/+$/,""),b=$?`${a}/{path}`:a,l=[{label:"GitHub SSH",url:"git@github.com:user/my-app.git"},{label:"GitHub HTTPS",url:"https://github.com/user/my-app.git"},{label:"GitLab Subgroup",url:"https://gitlab.com/org/team/sub/my-api.git"}],(0,c.jsxs)("div",{className:"space-y-2",children:[(0,c.jsx)("label",{className:"text-xs font-medium",children:p("onboarding.step3.previewLabel")}),(0,c.jsx)("div",{className:"flex gap-1 flex-wrap",children:l.map((a,b)=>(0,c.jsx)("button",{type:"button",onClick:()=>Z(b),className:`rounded-md px-2 py-1 text-[11px] font-medium transition-colors ${Y===b?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:a.label},b))}),(0,c.jsxs)("div",{className:"rounded-md bg-muted/50 px-3 py-2 space-y-1",children:[(0,c.jsx)("p",{className:"font-mono text-[11px] text-muted-foreground truncate",children:l[Y].url}),(0,c.jsxs)("p",{className:"font-mono text-xs",children:[(0,c.jsx)("span",{className:"text-muted-foreground",children:"→ "}),(0,c.jsx)("span",{className:"text-primary",children:function(a,b){if(!a||!b)return"";let c=b.trim(),d=[],e=c.match(/^git@[^:]+:(.+)$/);if(e)d=e[1].replace(/\.git\/?$/,"").split("/").filter(Boolean);else try{let a=new URL(c);d=decodeURIComponent(a.pathname).replace(/\.git\/?$/,"").split("/").filter(Boolean)}catch{return""}if(!d.length)return"";let f=d[0],g=d[d.length-1],h=d.join("/");if(a.includes("{path}"))return a.replace("{path}",h).replace("{owner}",f).replace("{repo}",g).replace(/\/+$/,"");let i=a.replace("{owner}",f).replace("{repo}","").replace(/\/+$/,"");return`${i}/${g}`}(b,l[Y].url)})]})]})]})),(0,c.jsxs)("div",{className:"flex justify-end gap-2 pt-1",children:[S.length>0&&(0,c.jsx)(g.Button,{variant:"ghost",onClick:()=>X(!1),children:p("settings.config.git.cancel")}),(0,c.jsxs)(g.Button,{onClick:function(){if(!U.host.trim()||!U.localPathTemplate.trim())return;let a=U.localPathTemplate.trim().replace(/\/+$/,""),b=$?`${a}/{path}`:a,c={id:crypto.randomUUID(),host:U.host.trim(),ownerMatch:U.ownerMatch.trim()||"*",localPathTemplate:b,priority:S.length};T(a=>[...a,c]),V({...aw}),_(!1),X(!1)},disabled:!U.host.trim()||!U.localPathTemplate.trim(),children:[(0,c.jsx)(m.Check,{className:"h-4 w-4 mr-1"}),p("settings.config.git.save")]})]})]}):(0,c.jsxs)(g.Button,{variant:"outline",onClick:()=>{V({...aw}),X(!0)},children:[(0,c.jsx)(F.Plus,{className:"h-4 w-4 mr-1"}),p("settings.config.git.addRule")]}),(0,c.jsxs)("div",{className:"flex items-center justify-between pt-3",children:[(0,c.jsxs)(g.Button,{variant:"ghost",className:"text-muted-foreground",onClick:ae,children:[(0,c.jsx)(z.ChevronLeft,{className:"h-4 w-4 mr-1"}),p("onboarding.back")]}),(0,c.jsxs)(g.Button,{onClick:async()=>{S.length>0&&await (0,v.setConfigValue)("git.pathMappingRules",S),M(a=>a+1)},className:"px-5",children:[p("onboarding.step1.next"),(0,c.jsx)(A.ChevronRight,{className:"h-4 w-4 ml-1"})]})]})]}),4===L&&(0,c.jsx)(au,{username:N,onComplete:()=>n.replace("/workspaces")})]}),(0,c.jsx)("div",{className:"pt-6 text-xs text-muted-foreground",children:p("onboarding.stepIndicator").replace("{current}",String(L)).replace("{total}",String(4))})]})}),(0,c.jsx)(k.FolderBrowserDialog,{open:aa,onOpenChange:ab,onSelect:a=>{V(b=>({...b,localPathTemplate:a})),ab(!1)}})]})}],163778)}];
2
2
 
3
3
  //# sourceMappingURL=src_app_onboarding_page_tsx_0xf7hpz._.js.map