agent-tower 0.7.2-beta.6 → 0.7.2-beta.7

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 (195) hide show
  1. package/dist/web/assets/AgentDemoPage-CaR_Yk9_.js +1 -0
  2. package/dist/web/assets/{AgentEnvironmentSettingsPage-BnWVgvNe.js → AgentEnvironmentSettingsPage-SnxiaHvN.js} +1 -1
  3. package/dist/web/assets/BranchSelect-D-kqavDG.js +1 -0
  4. package/dist/web/assets/BrandLogo-CC1alVsd.js +1 -0
  5. package/dist/web/assets/ConversationPage-RWKLxe1j.js +3 -0
  6. package/dist/web/assets/CreateTaskInput-SHJ1YpRe.js +1 -0
  7. package/dist/web/assets/{DemoPage-BwX2SvcN.js → DemoPage-BHbnnZFF.js} +1 -1
  8. package/dist/web/assets/DesignSystemPage-ChCrzeKT.js +12 -0
  9. package/dist/web/assets/EditableTaskTitle-CGVeZUSt.js +70 -0
  10. package/dist/web/assets/{ExecutionPermissionSelector-DeeNd4Kh.js → ExecutionPermissionSelector-DcC4IBOF.js} +10 -10
  11. package/dist/web/assets/GeneralSettingsPage-C_tkwpmF.js +1 -0
  12. package/dist/web/assets/{LoadingPreviewPage-BxEFnEQh.js → LoadingPreviewPage-dE_jyl19.js} +1 -1
  13. package/dist/web/assets/McpSettingsPage-CIuQ4bvy.js +1 -0
  14. package/dist/web/assets/MemberAvatar-BG0VDZKf.js +1 -0
  15. package/dist/web/assets/MobileTaskDetail-DxE6ZDAS.js +5 -0
  16. package/dist/web/assets/NotificationSettingsPage-B-Ot2OMg.js +1 -0
  17. package/dist/web/assets/ProfileSettingsPage-Dn1lrjJr.js +3 -0
  18. package/dist/web/assets/ProjectKanbanPage-jcW8sA7x.js +12 -0
  19. package/dist/web/assets/ProjectSettingsPage-BFPty2eA.js +2 -0
  20. package/dist/web/assets/ProviderSettingsPage-DLq-GBxp.js +67 -0
  21. package/dist/web/assets/SettingsMasterDetail-UfyoKAum.js +1 -0
  22. package/dist/web/assets/TaskDetail-a1jalILy.js +3 -0
  23. package/dist/web/assets/TeamSettingsPage-BxGc4W7K.js +1 -0
  24. package/dist/web/assets/{arc-Bm_QIbJA.js → arc-dhk0OSs5.js} +1 -1
  25. package/dist/web/assets/{architectureDiagram-3BPJPVTR-B5EIiXuX.js → architectureDiagram-3BPJPVTR-BCNj6ZWE.js} +1 -1
  26. package/dist/web/assets/{at-sign-BE17rU5b.js → at-sign-C4VhWike.js} +1 -1
  27. package/dist/web/assets/{blockDiagram-GPEHLZMM-GFwnvSLM.js → blockDiagram-GPEHLZMM-D1kmB9gz.js} +1 -1
  28. package/dist/web/assets/{c4Diagram-AAUBKEIU-iJfLTxEa.js → c4Diagram-AAUBKEIU-DbWKTkSe.js} +1 -1
  29. package/dist/web/assets/channel-K0AG6Tl1.js +1 -0
  30. package/dist/web/assets/check-DYlb0A_N.js +1 -0
  31. package/dist/web/assets/{chevron-up-D0y6skqr.js → chevron-up-DOkDFvIc.js} +1 -1
  32. package/dist/web/assets/{chunk-2J33WTMH-CDxRPp-8.js → chunk-2J33WTMH-B3TA0-LD.js} +1 -1
  33. package/dist/web/assets/{chunk-4BX2VUAB-mzPbgyiz.js → chunk-4BX2VUAB-CvPTiBSV.js} +1 -1
  34. package/dist/web/assets/{chunk-55IACEB6-KNAJbQyw.js → chunk-55IACEB6-xGe9Fu9Z.js} +1 -1
  35. package/dist/web/assets/{chunk-727SXJPM-BqGfqkDK.js → chunk-727SXJPM-H8pz3amK.js} +1 -1
  36. package/dist/web/assets/{chunk-AQP2D5EJ-D27ue-H0.js → chunk-AQP2D5EJ-BmYYNxcL.js} +1 -1
  37. package/dist/web/assets/{chunk-FMBD7UC4-DRza-3q8.js → chunk-FMBD7UC4-BmOEsLTE.js} +1 -1
  38. package/dist/web/assets/{chunk-ND2GUHAM-CUgkviLu.js → chunk-ND2GUHAM-C5MfA0xc.js} +1 -1
  39. package/dist/web/assets/{chunk-QZHKN3VN-BAlOJwZb.js → chunk-QZHKN3VN-BcrGYZ7V.js} +1 -1
  40. package/dist/web/assets/classDiagram-4FO5ZUOK-BTJ44hwx.js +1 -0
  41. package/dist/web/assets/classDiagram-v2-Q7XG4LA2-BTJ44hwx.js +1 -0
  42. package/dist/web/assets/code-block-OCS4YCEC-DLPrDBDy.js +2 -0
  43. package/dist/web/assets/confirm-dialog-BRkrtULz.js +1 -0
  44. package/dist/web/assets/content-DPCGELMz.js +2 -0
  45. package/dist/web/assets/{copy-DejkmIHZ.js → copy-CdzVE3kf.js} +1 -1
  46. package/dist/web/assets/{cose-bilkent-S5V4N54A-8TBY7BP_.js → cose-bilkent-S5V4N54A-CLQ-m71G.js} +1 -1
  47. package/dist/web/assets/cssMode-ChMyv9Nj.js +1 -0
  48. package/dist/web/assets/{dagre-BM42HDAG-CkMzDiim.js → dagre-BM42HDAG-CmDqxOfn.js} +1 -1
  49. package/dist/web/assets/{diagram-2AECGRRQ-CAOQJ2N1.js → diagram-2AECGRRQ-D-fSbEll.js} +1 -1
  50. package/dist/web/assets/{diagram-5GNKFQAL-DKhE0hiI.js → diagram-5GNKFQAL-HPywThAf.js} +1 -1
  51. package/dist/web/assets/{diagram-KO2AKTUF-DBdkXSpa.js → diagram-KO2AKTUF-DAzLhllz.js} +1 -1
  52. package/dist/web/assets/{diagram-LMA3HP47-DRi2t32c.js → diagram-LMA3HP47-DXYB9h8L.js} +1 -1
  53. package/dist/web/assets/{diagram-OG6HWLK6-DtP92tI1.js → diagram-OG6HWLK6-vv4kz4Zo.js} +1 -1
  54. package/dist/web/assets/dialog-B_vC5R4B.js +5 -0
  55. package/dist/web/assets/{erDiagram-TEJ5UH35-DWFKXtst.js → erDiagram-TEJ5UH35-Cu6aVKAa.js} +1 -1
  56. package/dist/web/assets/{flowDiagram-I6XJVG4X-LDE0h4ri.js → flowDiagram-I6XJVG4X-BKDe8WSQ.js} +1 -1
  57. package/dist/web/assets/{freemarker2-CLksOOZX.js → freemarker2-DI2giuAo.js} +2 -2
  58. package/dist/web/assets/{ganttDiagram-6RSMTGT7-DD2RfdyV.js → ganttDiagram-6RSMTGT7-DMVLzmAE.js} +1 -1
  59. package/dist/web/assets/{gitGraphDiagram-PVQCEYII-DkKrR8ex.js → gitGraphDiagram-PVQCEYII-vogzYdKn.js} +1 -1
  60. package/dist/web/assets/{globe-CD4g63c9.js → globe-Rnn-nKw-.js} +1 -1
  61. package/dist/web/assets/handlebars-B9tmKQPV.js +1 -0
  62. package/dist/web/assets/hooks-DK4m7-FN.js +1 -0
  63. package/dist/web/assets/html-B_E2U0g5.js +1 -0
  64. package/dist/web/assets/htmlMode-DRHM_Cwq.js +1 -0
  65. package/dist/web/assets/icon-button-CuSuXgr_.js +1 -0
  66. package/dist/web/assets/index-B6Lvy5Sr.js +1 -0
  67. package/dist/web/assets/{index-D_QVcsLn.js → index-B88xAivn.js} +4 -4
  68. package/dist/web/assets/index-BCV57B4O.js +41 -0
  69. package/dist/web/assets/index-CMjLMilU.js +1 -0
  70. package/dist/web/assets/index-CTG-4w90.js +1 -0
  71. package/dist/web/assets/index-Cz73HpYH.js +122 -0
  72. package/dist/web/assets/index-CzvAGoau.css +1 -0
  73. package/dist/web/assets/index-DENY_U7o.js +1 -0
  74. package/dist/web/assets/index-ZO2tqdha.js +1 -0
  75. package/dist/web/assets/{infoDiagram-5YYISTIA-BdPA9Xfi.js → infoDiagram-5YYISTIA-CEfSHkNq.js} +1 -1
  76. package/dist/web/assets/{ishikawaDiagram-YF4QCWOH-220u4uiv.js → ishikawaDiagram-YF4QCWOH-BXKZuWtD.js} +1 -1
  77. package/dist/web/assets/javascript-ClWqjgn3.js +1 -0
  78. package/dist/web/assets/{journeyDiagram-JHISSGLW-BvE0Y3tZ.js → journeyDiagram-JHISSGLW-wsOUYlu7.js} +1 -1
  79. package/dist/web/assets/{jsonMode-Dz0hnnvg.js → jsonMode-DVAoDfae.js} +2 -2
  80. package/dist/web/assets/{kanban-definition-UN3LZRKU-Q0JH1P6D.js → kanban-definition-UN3LZRKU-DNsuvOrU.js} +1 -1
  81. package/dist/web/assets/kbd-B3m64lRd.js +1 -0
  82. package/dist/web/assets/{key-round-DZm1FLLr.js → key-round-DpYSyeDH.js} +1 -1
  83. package/dist/web/assets/{layers-Dda7MM7a.js → layers-CxqMQVmH.js} +1 -1
  84. package/dist/web/assets/{linear-Dr6SfnSn.js → linear-BmmCZdOQ.js} +1 -1
  85. package/dist/web/assets/{link-BUeSP3T7.js → link-DbSpzB1w.js} +1 -1
  86. package/dist/web/assets/liquid-CZf3xdoq.js +1 -0
  87. package/dist/web/assets/{lspLanguageFeatures-Bbp4PWlJ.js → lspLanguageFeatures-WhdC7zdf.js} +1 -1
  88. package/dist/web/assets/mdx-xzVEPP01.js +1 -0
  89. package/dist/web/assets/menu-0A0v_lRV.js +1 -0
  90. package/dist/web/assets/menu-styles-DWynpVVz.js +1 -0
  91. package/dist/web/assets/{mermaid-NOHMQCX5-C72362la.js → mermaid-NOHMQCX5-DmKVQY9m.js} +55 -55
  92. package/dist/web/assets/{message-square-CFriSt4D.js → message-square-CfNb-MTd.js} +1 -1
  93. package/dist/web/assets/{mindmap-definition-RKZ34NQL-bvDaNfKs.js → mindmap-definition-RKZ34NQL-0RzXjZ9G.js} +1 -1
  94. package/dist/web/assets/modal-Kpqn-nDO.js +1 -0
  95. package/dist/web/assets/{monaco-BuDK9Fat.js → monaco-I1fXAMIt.js} +3 -3
  96. package/dist/web/assets/{paperclip-BOSklTt7.js → paperclip-BBrzKZQC.js} +1 -1
  97. package/dist/web/assets/{pencil-BRQ9W_a-.js → pencil-pzVKblxj.js} +1 -1
  98. package/dist/web/assets/people-C6b3eeLq.js +1 -0
  99. package/dist/web/assets/{pieDiagram-4H26LBE5-BQCca9Cq.js → pieDiagram-4H26LBE5-Bcvzb8TW.js} +1 -1
  100. package/dist/web/assets/popover-BYz89aiY.js +1 -0
  101. package/dist/web/assets/python-DL05HvW4.js +1 -0
  102. package/dist/web/assets/{quadrantDiagram-W4KKPZXB-BEM2U7Cd.js → quadrantDiagram-W4KKPZXB-DwNhxMxj.js} +1 -1
  103. package/dist/web/assets/razor-BCZ3_uDf.js +1 -0
  104. package/dist/web/assets/{requirementDiagram-4Y6WPE33-CcmFIALZ.js → requirementDiagram-4Y6WPE33-D2wSGYn2.js} +1 -1
  105. package/dist/web/assets/{sankeyDiagram-5OEKKPKP-D9Nrfbqk.js → sankeyDiagram-5OEKKPKP-l3LLF--T.js} +1 -1
  106. package/dist/web/assets/search-field-B5czD2Pl.js +1 -0
  107. package/dist/web/assets/select-DGwKE4l0.js +1 -0
  108. package/dist/web/assets/select-yem-xN9Z.js +1 -0
  109. package/dist/web/assets/{sequenceDiagram-3UESZ5HK-5udQDi0x.js → sequenceDiagram-3UESZ5HK-BAGsbTS_.js} +1 -1
  110. package/dist/web/assets/{server-DJaSJ9m1.js → server-BIPZ9Ka-.js} +1 -1
  111. package/dist/web/assets/{stateDiagram-AJRCARHV-D-cF1NGV.js → stateDiagram-AJRCARHV-C0BHmXYX.js} +1 -1
  112. package/dist/web/assets/stateDiagram-v2-BHNVJYJU-Be3UCkeQ.js +1 -0
  113. package/dist/web/assets/{textarea-Ft9KMoEI.js → textarea-Bnfq7adW.js} +1 -1
  114. package/dist/web/assets/{timeline-definition-PNZ67QCA-DXS236a-.js → timeline-definition-PNZ67QCA-Dt-DcRrG.js} +1 -1
  115. package/dist/web/assets/toggles-DxNDJZsN.js +1 -0
  116. package/dist/web/assets/tooltip-CHOgkFbE.js +1 -0
  117. package/dist/web/assets/track-B_K578io.js +1 -0
  118. package/dist/web/assets/{trash-2-Bc-URu8c.js → trash-2-ALAYDudv.js} +1 -1
  119. package/dist/web/assets/tsMode-kXxq-Lw7.js +11 -0
  120. package/dist/web/assets/typescript-E3_QcT_u.js +1 -0
  121. package/dist/web/assets/{upload-C9Z4jLtv.js → upload-D7hKT2VA.js} +1 -1
  122. package/dist/web/assets/use-attachments-CK7y5KsN.js +2 -0
  123. package/dist/web/assets/use-profiles-Ncqxdw7S.js +1 -0
  124. package/dist/web/assets/{use-projects-DI27nNwl.js → use-projects-Dwy9AfAG.js} +1 -1
  125. package/dist/web/assets/{use-providers-DB9ghBPq.js → use-providers-BRyZjuBG.js} +1 -1
  126. package/dist/web/assets/use-workspaces-BBbahdwU.js +1 -0
  127. package/dist/web/assets/useNormalizedLogs-CRHRedwp.js +1 -0
  128. package/dist/web/assets/useTokenUsage-YwiF0xnT.js +1 -0
  129. package/dist/web/assets/{vennDiagram-CIIHVFJN-BzyNrP06.js → vennDiagram-CIIHVFJN-Cr55FtiY.js} +1 -1
  130. package/dist/web/assets/{wardley-L42UT6IY-BQ4SyU9_.js → wardley-L42UT6IY-CtwMk9MJ.js} +1 -1
  131. package/dist/web/assets/{wardleyDiagram-YWT4CUSO-CcCqmB58.js → wardleyDiagram-YWT4CUSO-BeyHmTu3.js} +1 -1
  132. package/dist/web/assets/xml-DxKND8qX.js +1 -0
  133. package/dist/web/assets/{xychartDiagram-2RQKCTM6-RWm1MtQk.js → xychartDiagram-2RQKCTM6-9g34Lq8E.js} +1 -1
  134. package/dist/web/assets/yaml-BqpCqTY6.js +1 -0
  135. package/dist/web/index.html +2 -2
  136. package/package.json +1 -1
  137. package/dist/web/assets/AgentDemoPage-D0LQRcXm.js +0 -1
  138. package/dist/web/assets/AgentLogo-BDyW3ihb.js +0 -1
  139. package/dist/web/assets/BranchSelect-Dmp5hq0i.js +0 -1
  140. package/dist/web/assets/BrandLogo-YGT4Vlw5.js +0 -1
  141. package/dist/web/assets/ConversationPage-BhapUYGe.js +0 -3
  142. package/dist/web/assets/CreateTaskInput-GLF3Oyc1.js +0 -1
  143. package/dist/web/assets/DesignSystemPage-j-1-1JtQ.js +0 -16
  144. package/dist/web/assets/EditableTaskTitle-mHT39coo.js +0 -70
  145. package/dist/web/assets/GeneralSettingsPage-BBe3EXcj.js +0 -1
  146. package/dist/web/assets/McpSettingsPage-DDA8yUxu.js +0 -1
  147. package/dist/web/assets/MemberAvatar-CCRbS97s.js +0 -1
  148. package/dist/web/assets/MobileTaskDetail-BOIFPybn.js +0 -5
  149. package/dist/web/assets/NotificationSettingsPage-B2kUnE8w.js +0 -1
  150. package/dist/web/assets/ProfileSettingsPage-DPZpUoFd.js +0 -3
  151. package/dist/web/assets/ProjectKanbanPage-DQnwUBFg.js +0 -12
  152. package/dist/web/assets/ProjectSettingsPage-CcXAOYb7.js +0 -2
  153. package/dist/web/assets/ProviderSettingsPage-BAIRvcAS.js +0 -67
  154. package/dist/web/assets/SettingsMasterDetail-BuxwsR9R.js +0 -1
  155. package/dist/web/assets/TaskDetail-B3pOSx3f.js +0 -3
  156. package/dist/web/assets/TeamSettingsPage-DoWmzvKu.js +0 -1
  157. package/dist/web/assets/agent-meta-MzuGtqxl.js +0 -1
  158. package/dist/web/assets/arrow-down-BVePf1ZM.js +0 -1
  159. package/dist/web/assets/channel-CYYV7_Oi.js +0 -1
  160. package/dist/web/assets/check-qs0S_9rB.js +0 -1
  161. package/dist/web/assets/chevron-down-BaQEBzp3.js +0 -1
  162. package/dist/web/assets/circle-alert-Cbvy2cMo.js +0 -1
  163. package/dist/web/assets/classDiagram-4FO5ZUOK-Cl-3ikxt.js +0 -1
  164. package/dist/web/assets/classDiagram-v2-Q7XG4LA2-Cl-3ikxt.js +0 -1
  165. package/dist/web/assets/code-block-OCS4YCEC-CO23R1Os.js +0 -2
  166. package/dist/web/assets/confirm-dialog-BrgNTypL.js +0 -1
  167. package/dist/web/assets/cssMode-hzDRnxMx.js +0 -1
  168. package/dist/web/assets/gauge-CPlvCZUV.js +0 -1
  169. package/dist/web/assets/handlebars-C1M9t0Lo.js +0 -1
  170. package/dist/web/assets/html-DKVKQovh.js +0 -1
  171. package/dist/web/assets/htmlMode-BSWjg5ir.js +0 -1
  172. package/dist/web/assets/index-BnqdwOEH.css +0 -1
  173. package/dist/web/assets/index-CMJV-mgF.js +0 -122
  174. package/dist/web/assets/javascript-WwrMY2Bg.js +0 -1
  175. package/dist/web/assets/liquid-CzGEh0ls.js +0 -1
  176. package/dist/web/assets/mdx-y6S3OMMk.js +0 -1
  177. package/dist/web/assets/modal-DeigO7aN.js +0 -1
  178. package/dist/web/assets/play-Mxkwq69n.js +0 -1
  179. package/dist/web/assets/python-CMnGKsU9.js +0 -1
  180. package/dist/web/assets/razor-mLurbGgY.js +0 -1
  181. package/dist/web/assets/select-DKS02St6.js +0 -1
  182. package/dist/web/assets/stateDiagram-v2-BHNVJYJU-a4ugQnZs.js +0 -1
  183. package/dist/web/assets/status-styles-sQm4KLdp.js +0 -1
  184. package/dist/web/assets/switch-7LWQ_sEx.js +0 -1
  185. package/dist/web/assets/task-CDYaC_No.js +0 -42
  186. package/dist/web/assets/task-priority-acVgTiil.js +0 -1
  187. package/dist/web/assets/tsMode-Vr3bndW1.js +0 -11
  188. package/dist/web/assets/typescript-BfjoaUSn.js +0 -1
  189. package/dist/web/assets/use-attachments-EypT-7PI.js +0 -2
  190. package/dist/web/assets/use-profiles-nMPGwy3v.js +0 -1
  191. package/dist/web/assets/use-workspaces-d4n9m9cX.js +0 -1
  192. package/dist/web/assets/useNormalizedLogs-DRoPbP0w.js +0 -1
  193. package/dist/web/assets/useTokenUsage-4qTDa8SY.js +0 -1
  194. package/dist/web/assets/xml-BGVoPR0b.js +0 -1
  195. package/dist/web/assets/yaml-eFhNavrs.js +0 -1
@@ -0,0 +1,3 @@
1
+ import{u as je,r as t,ae as Ut,j as e,B as ee,af as Ft,ag as _t,D as Xs,ah as Kt,ai as qt,aj as Vt,ak as Gt,al as Ht,am as Qt,an as B,ao as $t,q as Xt,v as Js,s as be,ap as Jt,aq as Yt,ar as Zt,ab as Ys,ad as Zs,ac as z,as as en,w as sn,at as et,au as tn,av as nn,aw as A,V as rn,ax as on}from"./index-Cz73HpYH.js";import{a as st,Q as an,s as ln}from"./mermaid-NOHMQCX5-DmKVQY9m.js";import{u as cn,a as dn,R as un,P as mn,T as pn}from"./useTokenUsage-YwiF0xnT.js";import{u as fn,a as xn,L as tt,T as nt}from"./useNormalizedLogs-CRHRedwp.js";import{g as gn}from"./ExecutionPermissionSelector-DcC4IBOF.js";import{u as hn,A as bn}from"./use-attachments-CK7y5KsN.js";import{T as vn,u as jn,a as yn,b as kn,c as Cn,d as wn,e as Nn,S as rt}from"./CreateTaskInput-SHJ1YpRe.js";import{u as Sn,r as In,c as Rn,g as Le,a as Tn,b as An,d as En,e as Wn,f as Mn,W as Dn,E as Pn,h as On,S as Ln,R as Bn,T as zn,i as Un,j as Fn,k as _n,l as Kn}from"./EditableTaskTitle-CGVeZUSt.js";import{u as qn,a as Vn,b as Gn,c as Hn,d as Qn,e as $n}from"./use-workspaces-BBbahdwU.js";import{u as Xn}from"./use-providers-BRyZjuBG.js";import{M as Jn}from"./modal-Kpqn-nDO.js";import{C as Yn}from"./confirm-dialog-BRkrtULz.js";import{D as Zn}from"./ProjectKanbanPage-jcW8sA7x.js";import{C as er,P as cs}from"./content-DPCGELMz.js";import{P as ot,T as sr}from"./trash-2-ALAYDudv.js";import{P as tr}from"./paperclip-BBrzKZQC.js";import"./tooltip-CHOgkFbE.js";import"./kbd-B3m64lRd.js";import"./index-B6Lvy5Sr.js";import"./index-CTG-4w90.js";import"./index-CMjLMilU.js";import"./menu-0A0v_lRV.js";import"./menu-styles-DWynpVVz.js";import"./check-DYlb0A_N.js";import"./index-ZO2tqdha.js";import"./index-BCV57B4O.js";import"./index-DENY_U7o.js";import"./track-B_K578io.js";import"./use-projects-Dwy9AfAG.js";import"./MemberAvatar-BG0VDZKf.js";import"./people-C6b3eeLq.js";import"./BrandLogo-CC1alVsd.js";import"./hooks-DK4m7-FN.js";import"./chevron-up-DOkDFvIc.js";import"./at-sign-C4VhWike.js";import"./select-DGwKE4l0.js";import"./select-yem-xN9Z.js";import"./layers-CxqMQVmH.js";import"./message-square-CfNb-MTd.js";import"./textarea-Bnfq7adW.js";import"./server-BIPZ9Ka-.js";import"./icon-button-CuSuXgr_.js";import"./search-field-B5czD2Pl.js";import"./popover-BYz89aiY.js";import"./upload-D7hKT2VA.js";import"./globe-Rnn-nKw-.js";import"./BranchSelect-D-kqavDG.js";import"./pencil-pzVKblxj.js";import"./dialog-B_vC5R4B.js";import"./copy-CdzVE3kf.js";function nr({isOpen:n,onClose:l,taskId:M}){const{t:c}=je(),[C,u]=t.useState("AUTO"),[S,o]=t.useState(null),[d,D]=t.useState([]),[ye,P]=t.useState(null),ke=Ut();t.useEffect(()=>{n&&(u("AUTO"),o(null),D([]),P(null))},[n]);const I=ke.isPending,Be=!!S||d.length>0,se=async()=>{if(!I){if(!S&&d.length===0){P(c("请选择至少一个团队模板或成员预设。"));return}P(null);try{await ke.mutateAsync({taskId:M,mode:C,...S?{teamTemplateId:S}:{},...d.length>0?{memberPresetIds:d}:{}}),l()}catch(O){if(O instanceof Ft&&O.status===409){P(c("该任务已经存在 TeamRun。请刷新后再试。"));return}P(O instanceof Error?O.message:c("创建 TeamRun 失败"))}}},ze=I||!Be;return e.jsxs(Jn,{isOpen:n,onClose:I?()=>{}:l,title:c("创建 TeamRun"),className:"max-w-5xl",action:e.jsxs(e.Fragment,{children:[e.jsx(ee,{type:"button",variant:"outline",onClick:l,disabled:I,children:c("取消")}),e.jsx(ee,{type:"button",onClick:se,disabled:ze,children:c(I?"处理中...":"创建 TeamRun")})]}),children:[e.jsx(vn,{mode:C,setMode:u,selectedTemplateId:S,setSelectedTemplateId:o,selectedMemberPresetIds:d,setSelectedMemberPresetIds:D,disabled:I}),ye&&e.jsx("div",{role:"alert",className:"rounded-lg border border-destructive/25 bg-destructive/10 px-4 py-3 text-sm text-destructive-ink",children:ye})]})}function rr({workspaceId:n,gitStatus:l,onResolve:M}){const{t:c}=je(),C=qn();if(l.operation==="idle"||l.conflictedFiles.length===0)return null;const u=l.operation==="rebase"?"Rebase":"Merge";return e.jsx(_t,{tone:"warning",className:"mx-6 mt-3 items-center",title:e.jsxs("span",{className:"flex items-center gap-2",children:[u," ",c("冲突"),e.jsxs(Kt,{tone:"warning",className:"tabular-nums",children:[l.conflictedFiles.length," ",c("个文件")]})]}),action:e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx(Xs,{variant:"ghost",onClick:()=>C.mutate(n),loading:C.isPending,children:c("中止操作")}),e.jsx(Xs,{variant:"primary",onClick:M,children:c("解决冲突")})]})})}const or=rn(),ar=n=>n.includes("://")||n.startsWith("/api/")?n:n.startsWith("/")?`${or}/attachments/by-path?path=${encodeURIComponent(n)}`:n,Z=520,ds=48,ir=4,lr=420;function cr(){const{t:n}=je();return e.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center bg-background text-muted-foreground select-none",children:[e.jsx("div",{className:"w-16 h-16 bg-muted/50 rounded-xl border border-border/60 flex items-center justify-center mb-6",children:e.jsxs("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"text-muted-foreground",children:[e.jsx("path",{d:"M12 2L2 7L12 12L22 7L12 2Z",fill:"currentColor"}),e.jsx("path",{d:"M2 17L12 22L22 17",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),e.jsx("path",{d:"M2 12L12 17L22 12",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})}),e.jsx("h3",{className:"text-foreground font-medium mb-2 text-[15px]",children:"Agent Tower"}),e.jsx("p",{className:"text-sm max-w-sm text-center text-muted-foreground leading-relaxed",children:n("Select a task from the sidebar to view logs, monitor execution, or interact with an agent.")})]})}function ve(n){const l=on[n].icon;return e.jsx(l,{className:"size-3"})}const at=[{status:A.Review,className:"bg-warning/10 text-warning-ink",hoverClass:"hover:bg-warning/15",icon:ve(A.Review)},{status:A.Running,className:"bg-info/10 text-info-ink",hoverClass:"hover:bg-info/15",icon:ve(A.Running)},{status:A.Pending,className:"bg-muted/50 text-muted-foreground",hoverClass:"hover:bg-muted",icon:ve(A.Pending)},{status:A.Done,className:"bg-success/10 text-success-ink",hoverClass:"hover:bg-success/15",icon:ve(A.Done)},{status:A.Cancelled,className:"bg-muted/50 text-muted-foreground",hoverClass:"hover:bg-border",icon:ve(A.Cancelled)}];function dr({status:n,onChangeStatus:l}){const{t:M}=je(),[c,C]=t.useState(!1),u=t.useRef(null);t.useEffect(()=>{if(!c)return;const o=d=>{u.current&&!u.current.contains(d.target)&&C(!1)};return document.addEventListener("mousedown",o),()=>document.removeEventListener("mousedown",o)},[c]);const S=at.find(o=>o.status===n);return e.jsxs("div",{className:"relative",ref:u,children:[e.jsxs("button",{onClick:()=>l&&C(o=>!o),className:`flex items-center gap-1.5 px-2.5 py-1 rounded-full text-xs font-medium transition-colors ${S.className} ${l?"cursor-pointer hover:opacity-80":""}`,children:[S.icon,e.jsx("span",{children:M(n)}),l&&e.jsx("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"currentColor",className:`ml-0.5 transition-transform ${c?"rotate-180":""}`,children:e.jsx("path",{d:"M2 3.5L5 6.5L8 3.5",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})})]}),c&&e.jsx("div",{className:"absolute right-0 top-full mt-2 w-40 bg-background rounded-lg border border-border shadow-popover z-50 py-1 animate-in fade-in zoom-in-95 duration-100",children:at.filter(o=>o.status!==n).map(o=>e.jsxs("button",{onClick:()=>{l?.(o.status),C(!1)},className:`w-full flex items-center gap-2 px-3 py-2 text-xs font-medium transition-colors ${o.hoverClass}`,children:[e.jsx("span",{className:o.className.split(" ").find(d=>d.startsWith("text-")),children:o.icon}),e.jsx("span",{className:"text-foreground/80",children:M(o.status)})]},o.status))})]})}function io({task:n,onDeleteTask:l,isDeleting:M,onTaskStatusChange:c,onTaskPriorityChange:C,autoStartState:u,onAutoStartRecovered:S}){const{t:o}=je(),[d,D]=t.useState(""),[ye,P]=t.useState(!1),[ke,I]=t.useState(!1),[Be,se]=t.useState(!1),[ze,O]=t.useState(!1),[it,us]=t.useState(!1),[lt,ms]=t.useState(!1),[ps,fs]=t.useState(null),Ce=t.useRef(null),[Ue,te]=t.useState(!1),[R,Fe]=t.useState(null),[ne,re]=t.useState(void 0),[q,we]=t.useState(!1),_e=t.useRef(null),Ke=t.useRef(null),oe=t.useRef(null),xs=t.useRef(null),{scrollRef:U,contentRef:gs,isAtBottom:hs,scrollToBottom:Ne,stopScroll:bs}=cn({resize:"smooth",initial:"instant"}),[E,vs]=t.useState(!1),[qe,ae]=t.useState(Z),[Se,js]=t.useState(!1),ys=t.useRef(0),ks=t.useRef(Z),Cs=t.useRef(null),Ve=t.useCallback((s,r,i)=>{Ce.current?.openFile(s,r,i)},[]),{data:a,isLoading:ct}=Vn(n?.id??""),ie=Sn(n?.id),ws=ie?.status==="completed"&&u?.status!=="failed"?null:u,Ge=!!(ws||ie&&ie.status!=="completed"),{data:le}=qt(n?.id??""),{data:dt}=Vt(le?.id??""),Ns=Gt(le?.id??""),p=le??null,He=!!p,ce=n?.isGitRepo!==!1&&n?.worktreeReady!==!1,Ie=le===null&&ce,ut=!!(n?.id&&le===null),{data:V,isLoading:Ss}=Ht(n?.id??"",ut);t.useEffect(()=>{we(!1),Fe(null),re(void 0)},[n?.id]);const F=t.useMemo(()=>In(a,p,ne),[ne,p,a]);t.useEffect(()=>{ne&&!a?.some(s=>s.id===ne)&&re(void 0)},[ne,a]);const j=t.useMemo(()=>a?.find(s=>s.id===F),[F,a]),N=j?.status===Qt.ACTIVE?j.id:void 0,de=ce&&Rn(j,p);t.useEffect(()=>{if(!q||!a)return;a.some(r=>r.status==="ACTIVE"&&r.sessions&&r.sessions.length>0)&&we(!1)},[a,q]);const f=t.useMemo(()=>{if(q||!a)return null;const s=h=>{const ls=h.createdAt,he=h.endedAt??h.startedAt??ls;if(!he)return 0;const Y=Date.parse(he);return Number.isNaN(Y)?0:Y},r=(h,ls)=>{const he=h.filter(Y=>ls.includes(Y.status));return he.length===0?null:he.sort((Y,zt)=>s(zt)-s(Y))[0]??null},i=a.filter(h=>h.status==="ACTIVE"&&Array.isArray(h.sessions)).flatMap(h=>h.sessions??[]),x=r(i,[B.RUNNING])??r(i,[B.PENDING])??r(i,[B.COMPLETED,B.FAILED,B.CANCELLED]);if(x)return x;const g=a.filter(h=>(h.status==="MERGED"||h.status==="ABANDONED"||h.status==="HIBERNATED")&&Array.isArray(h.sessions)).flatMap(h=>h.sessions??[]);return r(g,[B.COMPLETED,B.FAILED,B.CANCELLED])},[a,q]),G=f?.id??"",y=He?R??"":G,mt=t.useMemo(()=>{if(!R||!a)return null;for(const s of a){const r=s.sessions?.find(i=>i.id===R);if(r)return r}return null},[R,a]),Qe=t.useMemo(()=>{if(!R||!p?.invocations)return null;const s=p.invocations.filter(r=>r.sessionId===R);return s.length===0?null:s.sort((r,i)=>{const x=Date.parse(r.updatedAt??r.createdAt??""),g=Date.parse(i.updatedAt??i.createdAt??"");return(Number.isNaN(g)?0:g)-(Number.isNaN(x)?0:x)})[0]??null},[R,p?.invocations]),pt=t.useMemo(()=>!Qe?.memberId||!p?.members?null:p.members.find(s=>s.id===Qe.memberId)??null,[Qe?.memberId,p?.members]),b=R?mt:f??null,H=b?.id,Q=t.useMemo(()=>{if(b?.workspaceId)return b.workspaceId;if(!(!b||!a))return a.find(s=>s.sessions?.some(r=>r.id===b.id))?.id},[b,a]),Re=t.useCallback((s,r)=>{const x=(r&&a?.some(g=>g.id===r)?r:void 0)??Q??F??void 0;x&&re(x),Ce.current?.openPreview(s,x)},[Q,F,a]),$e=t.useCallback((s,r)=>{Re({kind:"web",url:s},r)},[Re]),Xe=t.useCallback((s,r,i)=>{Re({kind:"visualization",sessionId:s,file:r},i)},[Re]),Is=t.useCallback(s=>{$e(s,Q)},[Q,$e]),Rs=t.useCallback(s=>{H&&Xe(H,s,Q)},[H,Q,Xe]),{isActive:ue,isCancelling:me}=jn(H??"",b?.status),m=!!n?.projectArchivedAt,Ts=!!n?.projectRepoDeletedAt,Je=o(Ts?"项目已删除,本地仓库文件也已清理。恢复项目并重新绑定仓库后才能继续操作。":"项目已删除。恢复项目后才能继续创建会话或修改任务。"),{data:$}=Xn(),[Te,As]=t.useState(null),Ae=f?gn($,Te??f.providerId):void 0;t.useEffect(()=>{As(f?.providerId??null)},[f?.providerId]);const ft=t.useMemo(()=>!f||!a?!1:!a.some(r=>r.status==="ACTIVE"&&r.sessions?.some(i=>i.id===f.id)),[f,a]),w=t.useMemo(()=>{if(!(!a||q)){if(j)return Le(j);for(const s of a)if(s.status==="ACTIVE"&&Le(s))return Le(s);return Le(a[0])}},[q,j,a]),_=yn({agentType:f?.agentType,workingDir:w,input:d,setInput:D,textareaRef:oe,minHeight:60,maxHeight:300}),K=Tn({agentType:f?.agentType,workingDir:w,input:d,setInput:D,textareaRef:oe,minHeight:60,maxHeight:300}),Ye=$t(s=>s.setVisibleContext),pe=!!(de&&N&&w&&!m),{data:T,isLoading:xt}=Gn(N??"",{enabled:pe}),{data:gt}=An(w,{enabled:pe});t.useEffect(()=>{if(!(E||!pe||!N||!w))return Ye({workspaceId:N,workingDir:w,tab:"changes"}),()=>{Ye(null)}},[E,N,Ye,pe,w]);const ht=j?.sessions??[],Ze=En(j),Es=j?.commitMessage,es=t.useMemo(()=>Wn(j,a,n?.mainBranch??""),[j,n?.mainBranch,a]),k=t.useMemo(()=>T?.conflictOp&&T.conflictedFiles.length>0?{conflictOp:T.conflictOp,conflictedFiles:T.conflictedFiles}:ps,[T?.conflictOp,T?.conflictedFiles,ps]),Ws=k?.targetWorkspaceId??N,bt=k?.targetWorktreePath??j?.worktreePath,vt=k?.sourceBranch??Ze,jt=k?.targetBranch??es,v=Xt(),Ee=t.useCallback(async()=>n?.id?v.fetchQuery({queryKey:be.tasks.body(n.id),queryFn:()=>Js.get(`/tasks/${n.id}/body`)}):null,[v,n?.id]),Ms=t.useCallback(()=>n?.id?v.invalidateQueries({queryKey:be.workspaces.list(n.id)}):Promise.resolve(),[n?.id,v]);t.useEffect(()=>{if(!Ue)return;const s=r=>{Ke.current&&!Ke.current.contains(r.target)&&te(!1)};return document.addEventListener("mousedown",s),()=>document.removeEventListener("mousedown",s)},[Ue]);const We=kn(),Ds=Hn(),Ps=Jt(),Os=Qn(n?.id??""),Ls=Cn(),ss=$n(),fe=t.useMemo(()=>!a||a.some(r=>r.status==="ACTIVE")?null:a.find(r=>r.status==="HIBERNATED")??null,[a]),ts=t.useRef(null);t.useEffect(()=>{fe&&ts.current!==fe.id&&(ss.isPending||(ts.current=fe.id,ss.mutate(fe.id,{onSettled:()=>{ts.current=null}})))},[fe,ss]);const yt=t.useCallback(async()=>{if(!n?.id)return;const s=f?.providerId??$?.find(r=>r.availability.type!=="NOT_FOUND")?.provider.id;if(s){O(!1),us(!0);try{const i=(await Ee())?.prompt??n.title;await Ps.mutateAsync(n.id),we(!0);const x=await Os.mutateAsync({workspaceKind:ce?void 0:Yt.MAIN_DIRECTORY}),g=await Js.post(`/workspaces/${x.id}/sessions`,{providerId:s,prompt:i});await Ls.mutateAsync(g.id),await v.invalidateQueries({queryKey:be.workspaces.list(n.id)})}catch(r){console.error("[retry] failed:",r),we(!1)}finally{us(!1)}}},[n?.id,n?.title,ce,f?.providerId,$,Ee,Ps,Os,Ls,v]),ns=t.useCallback(async()=>{n?.id&&(await Ee(),P(!0))},[Ee,n?.id]),kt=t.useCallback(()=>{j?.id&&Ds.mutate({workspaceId:j.id})},[Ds,j?.id]),Ct=t.useCallback(()=>{!n?.id||!l||(l(n.id),se(!1))},[n?.id,l]),Bs=t.useCallback(s=>{Fe(s),requestAnimationFrame(()=>{Ne()})},[Ne]),wt=t.useCallback(()=>{Fe(null)},[]),Me=t.useCallback(s=>{fs(s??null),ms(!0)},[]),Nt=t.useCallback(s=>Ns.mutateAsync(s),[Ns]),X=t.useCallback(()=>{v.invalidateQueries({queryKey:Zt.all})},[v]),{isConnected:zs,isLoadingSnapshot:Us,isOutputActive:Fs,lastExitAt:_s,logs:xe,entries:St,attach:De}=fn({sessionId:y,sessionStatus:b?.status,sessionStartedAt:b?.startedAt??b?.createdAt,sessionEndedAt:b?.endedAt??(ue?null:b?.updatedAt),onExit:t.useCallback(()=>{v.invalidateQueries({queryKey:["workspaces"]})},[v])});t.useEffect(()=>{if(!n?.id)return;const s=Ys.connect();s.emit(Zs.SUBSCRIBE,{topic:"task",id:n.id});const r=g=>{g.taskId===n.id&&(v.invalidateQueries({queryKey:["tasks"]}),X())},i=g=>{g.taskId===n.id&&(v.invalidateQueries({queryKey:be.workspaces.list(n.id)}),X())},x=g=>{g.taskId===n.id&&(v.invalidateQueries({queryKey:be.workspaces.list(n.id)}),X())};return s.on(z.TASK_UPDATED,r),s.on(z.WORKSPACE_COMMIT_MESSAGE_UPDATED,i),s.on(z.WORKSPACE_HIBERNATED,x),()=>{s.off(z.TASK_UPDATED,r),s.off(z.WORKSPACE_COMMIT_MESSAGE_UPDATED,i),s.off(z.WORKSPACE_HIBERNATED,x),s.emit(Zs.UNSUBSCRIBE,{topic:"task",id:n.id})}},[n?.id,v,X]),t.useEffect(()=>{if(!y)return;const s=Ys.connect(),r=i=>{i.sessionId===y&&(v.invalidateQueries({queryKey:["workspaces"]}),X())};return s.on(z.SESSION_COMPLETED,r),()=>{s.off(z.SESSION_COMPLETED,r)}},[y,v,X]);const{todos:Pe}=xn(St),{files:It,addFiles:J,removeFile:Rt,clear:Ks,buildMarkdownLinks:qs,hasFiles:ge,isUploading:Oe}=hn(),Tt=t.useMemo(()=>Mn(b),[b?.tokenUsage]),Vs=dn(xe,Tt);t.useEffect(()=>{y&&zs&&De()},[y,zs,De]);const Gs=t.useRef(n?.id);t.useEffect(()=>{if(Gs.current!==n?.id&&U.current){const s=U.current;requestAnimationFrame(()=>{s.scrollTop=s.scrollHeight})}Gs.current=n?.id},[n?.id,U]);const L=wn(),rs=t.useRef(!1),Hs=t.useCallback(async()=>{if(!d.trim()&&!ge||!y||rs.current||L.isPending||me||Oe||Ae)return;rs.current=!0;const s=qs(),r=[d.trim(),s].filter(Boolean).join(`
2
+
3
+ `);D(""),Ks(),oe.current&&(oe.current.style.height="60px"),We.mutate({id:y,message:r,providerId:Te??void 0},{onSuccess:()=>{De()},onError:()=>{D(i=>i||r)},onSettled:()=>{rs.current=!1}})},[d,y,We,De,ge,Oe,qs,Ks,Te,Ae,L.isPending,me]),At=t.useCallback(()=>{!y||L.isPending||L.mutate(y)},[y,L]),Et=t.useCallback(s=>{const r=s.target.files;r&&r.length>0&&J(Array.from(r)),s.target.value=""},[J]),Wt=t.useCallback(s=>{const r=s.clipboardData.items,i=[];for(const x of r)if(x.kind==="file"){const g=x.getAsFile();g&&i.push(g)}i.length>0&&(s.preventDefault(),J(i))},[J]),[Qs,os]=t.useState(!1),Mt=t.useCallback(s=>{s.preventDefault(),os(!0)},[]),Dt=t.useCallback(s=>{s.preventDefault(),os(!1)},[]),Pt=t.useCallback(s=>{s.preventDefault(),os(!1);const r=s.dataTransfer.files;r.length>0&&J(Array.from(r))},[J]),W=t.useCallback(s=>{const r=Cs.current?.getBoundingClientRect().width??(typeof window<"u"?window.innerWidth:void 0),i=r?Math.max(Z,r-ds-ir-lr):Z;return Math.max(Z,Math.min(Math.round(s),i))},[]),as=t.useCallback(s=>{const r=s.clientX-ys.current;ae(W(ks.current-r))},[W]),is=t.useCallback(()=>{js(!1),document.body.style.cursor="",document.body.style.userSelect=""},[]);t.useEffect(()=>{if(Se)return document.addEventListener("mousemove",as),document.addEventListener("mouseup",is),document.body.style.cursor="col-resize",document.body.style.userSelect="none",()=>{document.removeEventListener("mousemove",as),document.removeEventListener("mouseup",is),document.body.style.cursor="",document.body.style.userSelect=""}},[is,as,Se]);const Ot=t.useCallback(s=>{s.preventDefault(),ys.current=s.clientX,ks.current=qe,js(!0)},[qe]);t.useEffect(()=>{!E||Se||ae(s=>W(s))},[W,E,Se]),t.useEffect(()=>{if(!E)return;const s=()=>{ae(r=>W(r))};return window.addEventListener("resize",s),()=>window.removeEventListener("resize",s)},[W,E]);const Lt=t.useCallback(()=>{ae(s=>W(s)),vs(!0),requestAnimationFrame(()=>{Ce.current?.setTab("review")})},[W]),Bt=t.useCallback(s=>{D(s.target.value);const r=s.target;r.style.height="auto";const i=r.scrollHeight;r.style.height=`${Math.max(60,Math.min(i,300))}px`},[]),$s=pe&&N?e.jsx(Dn,{projectId:n?.projectId??"",workspaceId:N,branchName:Ze,targetBranch:es,commitMessage:Es,changes:gt,gitStatus:T,isGitStatusLoading:xt,canRunGitOperations:de,onOpenChanges:Lt,onRefreshCommitMessage:Ms,onConflict:Me,className:"mb-1.5"}):null;return n?e.jsxs("div",{className:"flex-1 flex flex-col h-full bg-background relative overflow-hidden",children:[e.jsxs("div",{className:"px-6 py-3 flex items-center justify-between border-b border-border/60 bg-background z-20 flex-shrink-0",children:[e.jsxs("div",{className:"flex flex-col min-w-0 flex-1 mr-4",children:[e.jsxs("div",{className:"flex items-center gap-1.5 mb-0.5",children:[e.jsx("span",{className:`w-2 h-2 rounded-full shrink-0 ${n.projectColor.replace("text-","bg-")}`}),e.jsx("span",{className:"text-xs text-muted-foreground truncate",children:n.projectName}),n.projectArchivedAt&&e.jsx("span",{className:"rounded-full bg-muted px-2 py-0.5 text-xs font-medium text-muted-foreground shrink-0",children:n.projectRepoDeletedAt?o("源码已删除"):o("已删除")}),e.jsx("span",{className:"text-muted-foreground text-xs",children:"/"}),e.jsx("span",{className:"text-xs text-muted-foreground font-mono truncate",children:n.branch})]}),e.jsx(Pn,{taskId:n.id,title:n.title,readOnly:m})]}),e.jsxs("div",{className:"flex items-center gap-3 flex-shrink-0",children:[e.jsx(dr,{status:n.status,onChangeStatus:!m&&c?s=>c(n.id,s):void 0}),e.jsx(Nn,{value:n.priority,onChange:!m&&C?s=>C(n.id,s):void 0}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("button",{onClick:kt,disabled:!w||m,className:"w-8 h-8 flex items-center justify-center rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors disabled:opacity-30 disabled:cursor-not-allowed",title:o("Open in IDE"),children:e.jsx(er,{size:16})}),(l||Ie)&&!m&&e.jsxs("div",{className:"relative",ref:Ke,children:[e.jsx("button",{onClick:()=>te(s=>!s),className:"w-8 h-8 flex items-center justify-center rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",title:o("More actions"),children:e.jsx(On,{size:16})}),Ue&&e.jsxs("div",{className:"absolute right-0 top-full mt-2 w-44 bg-background rounded-lg border border-border shadow-popover z-50 py-1",children:[Ie&&e.jsxs("button",{onClick:()=>{I(!0),te(!1)},className:"w-full flex items-center gap-2 px-3 py-2 text-sm text-foreground/80 hover:bg-muted/50 transition-colors",children:[e.jsx(ot,{size:15}),e.jsx("span",{children:o("创建 TeamRun")})]}),e.jsxs("button",{onClick:()=>{O(!0),te(!1)},className:"w-full flex items-center gap-2 px-3 py-2 text-sm text-foreground/80 hover:bg-muted/50 transition-colors",children:[e.jsx(en,{size:15}),e.jsx("span",{children:o("重新开始")})]}),l&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"my-1 border-t border-border/60"}),e.jsxs("button",{onClick:()=>{se(!0),te(!1)},className:"w-full flex items-center gap-2 px-3 py-2 text-sm text-destructive-ink hover:bg-destructive/10 transition-colors",children:[e.jsx(sr,{size:15}),e.jsx("span",{children:o("删除任务")})]})]})]})]})]})]})]}),de&&N&&T&&e.jsx(rr,{workspaceId:N,gitStatus:T,onResolve:()=>Me()}),e.jsxs("div",{ref:Cs,className:"flex-1 flex overflow-hidden",children:[e.jsx("div",{className:"flex min-w-0 flex-1 flex-col bg-background relative",children:He&&p?R?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"relative z-20 flex shrink-0 items-center justify-between gap-3 overflow-visible border-b border-border px-4 py-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-xs font-semibold text-foreground",children:o("Invocation details")}),e.jsx("div",{className:"truncate text-[11px] text-muted-foreground",children:R})]}),e.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[e.jsx(Ln,{session:b,providers:$,usage:Vs,providerIdFallback:pt?.providerId,agentTypeFallback:b?.agentType,tokenTooltipSide:"bottom"}),e.jsxs(ee,{type:"button",size:"sm",variant:"ghost",className:"h-7 gap-1 rounded-lg border border-border/70 bg-background/60 px-2 text-xs font-medium text-muted-foreground hover:border-muted-foreground/40 hover:bg-muted hover:text-foreground",onClick:wt,children:[e.jsx(sn,{size:13}),e.jsx("span",{children:o("Team room")})]})]})]}),e.jsxs("div",{className:"relative flex-1 min-h-0",children:[e.jsx("div",{ref:U,className:"h-full overflow-y-auto scrollbar-app-thin px-6 pt-6 pb-4",children:e.jsx("div",{ref:gs,className:"w-full max-w-4xl mx-auto",children:Us?e.jsxs("div",{className:"flex items-center justify-center py-12 gap-3 text-muted-foreground",children:[e.jsxs("svg",{className:"animate-spin motion-reduce:[animation-duration:2.4s] h-5 w-5",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[e.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),e.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),e.jsx("span",{className:"text-sm",children:o("Loading logs...")})]}):xe.length===0?e.jsx("div",{className:"text-muted-foreground text-center py-8",children:o(ue?"Waiting for agent output...":"No logs recorded for this session.")}):e.jsx(tt,{children:e.jsx(st,{logs:xe,downloadSessionId:H,isOutputActive:Fs,lastExitAt:_s,onUserToggleDetails:bs,workingDir:w,scrollElementRef:U,onOpenWorkspaceFile:Ve,onOpenPreviewUrl:Is,onOpenVisualization:Rs})})})}),!hs&&e.jsxs("button",{onClick:()=>Ne(),className:"absolute bottom-3 left-1/2 -translate-x-1/2 z-10 flex items-center gap-1.5 px-3 py-1.5 bg-background/90 backdrop-blur-sm border border-border rounded-full shadow-raised text-xs text-muted-foreground hover:bg-background hover:text-foreground transition-all","aria-label":o("Scroll to bottom"),children:[e.jsx(et,{size:14}),e.jsx("span",{children:o("回到底部")})]})]}),Pe.length>0&&e.jsx("div",{className:"px-6 pt-2 pb-1 bg-background flex-shrink-0 border-t border-border/60",children:e.jsx("div",{className:"max-w-4xl mx-auto",children:e.jsx(nt,{todos:Pe})})})]}):e.jsx(Bn,{teamRun:p,messages:dt??p.messages??[],readOnly:m,readOnlyMessage:Je,onSendMessage:Nt,onViewInvocationSession:Bs,changeSummaryBar:$s,centered:!0,workingDir:w,onOpenWorkspaceFile:Ve,onOpenPreviewUrl:$e,onOpenVisualization:Xe}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"relative flex-1 min-h-0",children:[e.jsx("div",{ref:U,className:"h-full overflow-y-auto scrollbar-app-thin px-6 pt-6 pb-4",children:e.jsxs("div",{ref:gs,className:"w-full min-w-0 max-w-4xl mx-auto",children:[(Ss||V?.body)&&e.jsx("div",{className:"mb-4 pb-4 border-b border-border/60 min-w-0",children:Ss?e.jsx("p",{className:"text-sm text-muted-foreground italic",children:o("Loading...")}):V?.body?e.jsx("div",{className:"text-sm text-muted-foreground leading-relaxed prose prose-sm max-w-none break-words overflow-hidden",children:e.jsx(an,{urlTransform:ar,components:ln,children:V.body})}):null}),!m&&e.jsx(zn,{state:ws,setupProgress:ie,sessionStarted:!!f?.startedAt,onRetry:G&&u?.status==="failed"?ns:void 0},n.id),ct?(!Ge||m)&&e.jsxs("div",{className:"flex items-center justify-center py-12 gap-3 text-muted-foreground",children:[e.jsxs("svg",{className:"animate-spin motion-reduce:[animation-duration:2.4s] h-5 w-5",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[e.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),e.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),e.jsx("span",{className:"text-sm",children:o("Loading...")})]}):G?Us?e.jsxs("div",{className:"flex items-center justify-center py-12 gap-3 text-muted-foreground",children:[e.jsxs("svg",{className:"animate-spin motion-reduce:[animation-duration:2.4s] h-5 w-5",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[e.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),e.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),e.jsx("span",{className:"text-sm",children:o("Loading logs...")})]}):xe.length===0?e.jsx("div",{className:"text-muted-foreground text-center py-8",children:o(ue?"Waiting for agent output...":"No logs recorded for this session.")}):e.jsx(tt,{children:e.jsx(st,{logs:xe,downloadSessionId:H,isOutputActive:Fs,lastExitAt:_s,onUserToggleDetails:bs,workingDir:w,scrollElementRef:U,onOpenWorkspaceFile:Ve,onOpenPreviewUrl:Is,onOpenVisualization:Rs})}):!Ge||u?.status==="failed"||ie?.status==="failed"||m?e.jsxs("div",{className:"flex flex-col items-center justify-center py-16 text-center",children:[(!Ge||m)&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"w-14 h-14 bg-muted/50 rounded-xl border border-border/60 flex items-center justify-center mb-5",children:e.jsx(cs,{size:24,className:"text-muted-foreground/70 ml-0.5"})}),e.jsx("h3",{className:"text-base font-medium text-foreground mb-1.5",children:o(m?"项目为只读历史":"尚未启动 Agent")}),e.jsx("p",{className:"text-sm text-muted-foreground mb-6 max-w-xs",children:m?Je:o("选择一个 Agent 来执行此任务,Agent 将自动创建工作空间并开始工作。")})]}),!m&&(!u||u.status==="failed")&&e.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-3",children:[e.jsxs(ee,{onClick:ns,disabled:!!(u&&u.status!=="failed"),children:[e.jsx(cs,{size:16,className:"mr-1.5"}),u?.status==="failed"?o("重试启动 Agent"):o("启动 Agent")]}),Ie&&e.jsxs(ee,{variant:"outline",onClick:()=>I(!0),children:[e.jsx(ot,{size:16,className:"mr-1.5"}),o("创建 TeamRun")]})]})]}):null]})}),!hs&&e.jsxs("button",{onClick:()=>Ne(),className:"absolute bottom-3 left-1/2 -translate-x-1/2 z-10 flex items-center gap-1.5 px-3 py-1.5 bg-background/90 backdrop-blur-sm border border-border rounded-full shadow-raised text-xs text-muted-foreground hover:bg-background hover:text-foreground transition-all","aria-label":o("Scroll to bottom"),children:[e.jsx(et,{size:14}),e.jsx("span",{children:o("回到底部")})]})]}),Pe.length>0&&e.jsx("div",{className:"px-6 pt-2 pb-1 bg-background flex-shrink-0 border-t border-border/60",children:e.jsx("div",{className:"max-w-4xl mx-auto",children:e.jsx(nt,{todos:Pe})})}),m?e.jsx("div",{className:"p-6 pt-3 bg-background flex-shrink-0 w-full z-10 pb-6 border-t border-border/60",children:e.jsx("div",{className:"max-w-4xl mx-auto",children:e.jsx("div",{className:"bg-muted/50 rounded-xl border border-border px-4 py-3 text-sm text-muted-foreground",children:Je})})}):ft?e.jsx("div",{className:"p-6 pt-3 bg-background flex-shrink-0 w-full z-10 pb-6 border-t border-border/60",children:e.jsx("div",{className:"max-w-4xl mx-auto",children:e.jsxs("div",{className:"flex items-center justify-between bg-muted/50 rounded-xl border border-border px-4 py-3",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:o("代码已合并,以上为历史沟通记录")}),e.jsxs(ee,{size:"sm",onClick:ns,children:[e.jsx(cs,{size:14,className:"mr-1.5"}),o("启动新 Agent")]})]})})}):e.jsxs("div",{className:"p-6 pt-2 bg-background flex-shrink-0 w-full z-10 pb-6 border-t border-transparent",onDragOver:Mt,onDragLeave:Dt,onDrop:Pt,children:[e.jsxs("div",{className:"max-w-4xl mx-auto",children:[$s,y?e.jsx(un,{sessionId:y}):null,e.jsxs("div",{ref:_e,className:`relative bg-background rounded-xl border hover:border-ring/40 focus-within:border-ring/60 transition-colors duration-200 ${Qs?"border-foreground/40 bg-foreground/[0.02]":"border-border"}`,children:[e.jsx(bn,{files:It,onRemove:Rt}),e.jsx("textarea",{ref:oe,value:d,onChange:Bt,onPaste:Wt,onKeyDown:s=>{K.handleKeyDown(s)||_.handleKeyDown(s)||s.key==="Enter"&&!s.shiftKey&&!s.repeat&&!s.nativeEvent.isComposing&&s.nativeEvent.keyCode!==229&&(s.preventDefault(),Hs())},rows:1,placeholder:o(Qs?"Drop files here...":G&&!ue?"Continue conversation...":"Message Agent..."),className:"w-full px-4 pt-4 pb-2 bg-transparent border-none focus:outline-none resize-none text-sm text-foreground placeholder-muted-foreground/70 leading-relaxed",style:{minHeight:"60px",maxHeight:"300px"}}),e.jsx("input",{ref:xs,type:"file",multiple:!0,className:"hidden",onChange:Et}),e.jsxs("div",{className:"flex items-center justify-between px-2 pb-2 pt-1",children:[e.jsx("div",{className:"flex items-center gap-1",children:e.jsx("button",{onClick:()=>xs.current?.click(),className:"p-2 text-muted-foreground hover:text-muted-foreground hover:bg-muted rounded-lg transition-colors",title:o("Upload file"),children:e.jsx(tr,{size:18})})}),e.jsxs("div",{className:"flex items-center gap-2",children:[f&&$&&e.jsx(mn,{providers:$,currentProviderId:Te,agentType:f.agentType,runtimeType:f.runtimeType,onSelect:As}),e.jsx(pn,{usage:Vs}),ue&&!d.trim()&&!ge?e.jsx("button",{onClick:At,disabled:L.isPending||me,"aria-label":o("Stop"),title:o("Stop"),className:"p-2 rounded-lg transition-all duration-200 bg-destructive-ink text-white hover:bg-destructive-ink/90 disabled:opacity-50",children:e.jsx(tn,{size:14})}):e.jsx("button",{onClick:Hs,disabled:!d.trim()&&!ge||Oe||We.isPending||L.isPending||me||!!Ae,className:`p-2 rounded-lg transition-all duration-200 ${(d.trim()||ge)&&!Oe&&!We.isPending&&!L.isPending&&!me&&!Ae?"bg-primary text-primary-foreground hover:bg-primary/90":"bg-transparent text-muted-foreground cursor-not-allowed"}`,children:e.jsx(nn,{size:18})})]})]})]})]}),e.jsx(rt,{open:_.query!==null,anchorRef:_e,commands:_.filteredCommands,selectedIndex:_.selectedIndex,query:_.query??"",hasCatalog:_.allCommands.length>0,onSelect:_.applyCommand}),e.jsx(rt,{open:K.query!==null,anchorRef:_e,commands:K.filteredSkills,selectedIndex:K.selectedIndex,query:K.query??"",hasCatalog:K.allSkills.length>0,title:"Skills",queryPrefix:"$",emptyCatalogMessage:"No skills catalog for this agent yet.",onSelect:K.applySkill})]})]})}),E&&e.jsx("div",{className:"w-1 cursor-col-resize hover:bg-border active:bg-ring/40 transition-colors z-50 -ml-[2px] flex-shrink-0 h-full",onMouseDown:Ot,role:"separator","aria-orientation":"vertical","aria-label":o("调整工作区宽度")}),e.jsx("div",{className:"flex h-full flex-shrink-0 bg-background",style:{width:E?ds+qe:ds},children:e.jsx(Un,{sessionId:G||void 0,workspaceId:F,workingDir:w,projectId:n.projectId,readOnly:m,repoDeleted:Ts,teamRun:p,teamStatus:p?e.jsx(Fn,{teamRun:p,workspaces:a,selectedWorkspaceId:F,onSelectWorkspace:re,onViewInvocationSession:Bs}):void 0,workspaces:a,selectedWorkspaceId:F,onSelectWorkspace:re,variant:"rail",expanded:E,onExpandedChange:s=>{s&&ae(r=>W(r)),vs(s)},minContentWidth:Z,tabRef:Ce,gitAvailable:ce,gitProps:de&&N?{branchName:Ze,targetBranch:es,commitMessage:Es,canRunGitOperations:!0,onRefreshCommitMessage:Ms,onConflict:Me,onResolveConflicts:()=>Me()}:void 0})})]}),!m&&e.jsx(_n,{isOpen:ye,onClose:()=>P(!1),taskId:n.id,projectId:n.projectId,taskTitle:V?.title??n.title,taskDescription:V?.body??"",taskPrompt:V?.prompt,projectIsGitRepo:n.isGitRepo,projectWorktreeReady:n.worktreeReady,projectGitReason:n.reason,onStarted:()=>S?.(n.id)}),Ie&&!m&&e.jsx(nr,{isOpen:ke,onClose:()=>I(!1),taskId:n.id}),de&&Ws&&k&&e.jsx(Kn,{open:lt,onOpenChange:s=>{ms(s),s||fs(null)},workspaceId:Ws,conflictOp:k.conflictOp,conflictedFiles:k.conflictedFiles,sourceBranch:vt,targetBranch:jt,operation:T?.operation,worktreePath:bt,mergeAborted:k.mergeAborted,mergeStrategy:k.mergeStrategy,sourceWorkspaceId:k.sourceWorkspaceId,targetWorkspaceId:k.targetWorkspaceId,sourceWorktreePath:k.sourceWorktreePath,targetWorktreePath:k.targetWorktreePath,sessions:ht,currentSessionId:He?void 0:G,teamRunId:p?.id}),e.jsx(Yn,{isOpen:ze,onClose:()=>O(!1),onConfirm:yt,title:o("重新开始任务"),description:e.jsx("p",{children:o("将归档当前工作区并自动在新 Worktree 中重新启动 Agent,旧工作区内容保留供参考。")}),confirmText:o("确认重试"),variant:"default",isLoading:it}),e.jsx(Zn,{isOpen:Be,onClose:()=>se(!1),onConfirm:Ct,taskId:n.id,taskTitle:n.title,workspaces:a,isLoading:M})]}):e.jsx(cr,{})}export{io as TaskDetail};
@@ -0,0 +1 @@
1
+ import{u as Re,F as gt,H as bt,J as ft,K as ht,M as vt,N as jt,O as yt,Q as Pt,r as l,j as e,T as Nt,i as Ee,U as kt,k as Tt,n as B,w as Ae,B as p,x as _e,t as c,V as wt}from"./index-Cz73HpYH.js";import{C as Fe}from"./confirm-dialog-BRkrtULz.js";import{M as Ct}from"./modal-Kpqn-nDO.js";import{S as $}from"./select-DGwKE4l0.js";import"./mermaid-NOHMQCX5-DmKVQY9m.js";import"./use-attachments-CK7y5KsN.js";import{M as U}from"./MemberAvatar-BG0VDZKf.js";import{u as It}from"./use-providers-BRyZjuBG.js";import{T as ue,P as R}from"./trash-2-ALAYDudv.js";import{C as St}from"./chevron-up-DOkDFvIc.js";import{C as Mt}from"./index-B6Lvy5Sr.js";import"./dialog-B_vC5R4B.js";import"./index-BCV57B4O.js";import"./select-yem-xN9Z.js";import"./menu-styles-DWynpVVz.js";import"./check-DYlb0A_N.js";import"./index-ZO2tqdha.js";import"./index-CTG-4w90.js";import"./index-CMjLMilU.js";import"./tooltip-CHOgkFbE.js";import"./kbd-B3m64lRd.js";import"./people-C6b3eeLq.js";const o="/avatars/presets",Et=[{id:"developer",label:"Developer",src:`${o}/avatar-preset-01-developer.png`},{id:"architect",label:"Architect",src:`${o}/avatar-preset-02-architect.png`},{id:"tester",label:"Tester",src:`${o}/avatar-preset-03-tester.png`},{id:"devops",label:"DevOps",src:`${o}/avatar-preset-04-devops.png`},{id:"data-scientist",label:"Data scientist",src:`${o}/avatar-preset-05-data-scientist.png`},{id:"frontend",label:"Frontend",src:`${o}/avatar-preset-06-frontend.png`},{id:"backend",label:"Backend",src:`${o}/avatar-preset-07-backend.png`},{id:"security",label:"Security",src:`${o}/avatar-preset-08-security.png`},{id:"project-manager",label:"Project manager",src:`${o}/avatar-preset-09-project-manager.png`},{id:"product-manager",label:"Product manager",src:`${o}/avatar-preset-10-product-manager.png`},{id:"scrum-master",label:"Scrum master",src:`${o}/avatar-preset-11-scrum-master.png`},{id:"tech-lead",label:"Tech lead",src:`${o}/avatar-preset-12-tech-lead.png`},{id:"coordinator",label:"Coordinator",src:`${o}/avatar-preset-13-coordinator.png`},{id:"mentor",label:"Mentor",src:`${o}/avatar-preset-14-mentor.png`},{id:"reviewer",label:"Reviewer",src:`${o}/avatar-preset-15-reviewer.png`},{id:"ui-designer",label:"UI designer",src:`${o}/avatar-preset-16-ui-designer.png`},{id:"ux-researcher",label:"UX researcher",src:`${o}/avatar-preset-17-ux-researcher.png`},{id:"documenter",label:"Documenter",src:`${o}/avatar-preset-18-documenter.png`},{id:"translator",label:"Translator",src:`${o}/avatar-preset-19-translator.png`},{id:"analyst",label:"Analyst",src:`${o}/avatar-preset-20-analyst.png`},{id:"consultant",label:"Consultant",src:`${o}/avatar-preset-21-consultant.png`},{id:"creative-director",label:"Creative director",src:`${o}/avatar-preset-22-creative-director.png`},{id:"support",label:"Support",src:`${o}/avatar-preset-23-support.png`},{id:"assistant",label:"Assistant",src:`${o}/avatar-preset-24-assistant.png`},{id:"robot",label:"Robot",src:`${o}/avatar-preset-25-robot.png`}],De=wt(),At=2*1024*1024,_t=[],Ft=[],Ot=[],ze=[{key:"readRoom",label:"读房间"},{key:"postRoomMessage",label:"发房间消息"},{key:"mentionMembers",label:"提及成员"},{key:"stopMemberWork",label:"停止成员工作"},{key:"markReadyForReview",label:"标记可审查"},{key:"readFiles",label:"读文件"},{key:"writeFiles",label:"写文件"},{key:"runCommands",label:"运行命令"},{key:"readDiff",label:"读 diff"},{key:"mergeWorkspace",label:"合并工作区"}],Le={readRoom:!1,postRoomMessage:!1,mentionMembers:!1,stopMemberWork:!1,markReadyForReview:!1,readFiles:!1,writeFiles:!1,runCommands:!1,readDiff:!1,mergeWorkspace:!1},Oe=[{value:"none",label:"无"},{value:"shared",label:"共享"},{value:"dedicated",label:"独占"}],$t=[{value:"MENTION_ONLY",label:"仅提及"},{value:"USER_MESSAGES",label:"所有用户消息"}],Rt=[{value:"new_per_request",label:"每次新会话"},{value:"resume_last",label:"复用上次会话"}],Dt=[{value:"own_only",label:"仅自己队列"},{value:"team_pending",label:"全队列待处理"}];function Y(){return{name:"",aliasesText:"",providerId:"",rolePrompt:"",capabilities:{...Le},workspacePolicy:"none",triggerPolicy:"MENTION_ONLY",sessionPolicy:"new_per_request",queueManagementPolicy:"own_only",avatar:""}}function xe(r){return{name:r.name,aliasesText:r.aliases.join(", "),providerId:r.providerId,rolePrompt:r.rolePrompt,capabilities:{...Le,...r.capabilities},workspacePolicy:r.workspacePolicy,triggerPolicy:r.triggerPolicy,sessionPolicy:r.sessionPolicy,queueManagementPolicy:r.queueManagementPolicy,avatar:r.avatar??""}}function q(){return{name:"",heartbeatTimeoutMinutes:10,memberPresetIds:[]}}function pe(r){return{name:r.name,heartbeatTimeoutMinutes:r.heartbeatTimeoutMinutes??10,memberPresetIds:r.members?.map(i=>i.memberPresetId)??[]}}function zt(r,i,d,m){if(d.filter(A=>A===m).length<=1)return r;const W=d.slice(0,i+1).filter(A=>A===m).length;return`${r} #${W}`}function Lt(r){return Array.from(new Set(r.split(/[\n,]/).map(i=>i.trim()).filter(Boolean)))}function Bt(r){return r.trim()||null}function $e(r){return ze.reduce((i,d)=>i+(r[d.key]?1:0),0)}function E(r,i){return r instanceof Error?r.message:i}function Ut(r){return["image/png","image/jpeg","image/webp"].includes(r.type)}async function Yt(r){const i=new FormData;i.append("file",r);const d=await fetch(`${De}/attachments/upload`,{method:"POST",body:i});if(!d.ok){const m=await d.json().catch(()=>({}));throw new Error(m.error||m.message||`Upload failed (${d.status})`)}return d.json()}function G({title:r,error:i,isFetching:d,onRetry:m}){const{t:T}=Re();return e.jsx("div",{role:"alert",className:"rounded-lg border border-destructive/30 bg-destructive/10 px-4 py-3 text-sm text-destructive-ink",children:e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"font-medium",children:r}),e.jsx("div",{className:"mt-1 text-xs text-destructive-ink",children:E(i,T("请稍后重试。"))})]}),e.jsx(p,{type:"button",size:"sm",variant:"outline",onClick:m,disabled:d,children:T(d?"加载中...":"重试")})]})})}function ur(){const{t:r}=Re(),{data:i,error:d,isError:m,isFetching:T,isLoading:W,refetch:A}=It(),{data:Be,error:ge,isError:w,isFetching:be,isLoading:V,refetch:fe}=gt(),{data:Ue,error:Ye,isError:D,isFetching:qe,isLoading:H,refetch:Ge}=bt(),Q=ft(),J=ht(),he=vt(),K=jt(),X=yt(),ve=Pt(),[Z,je]=l.useState("presets"),[C,ee]=l.useState("edit"),[h,te]=l.useState(null),[a,j]=l.useState(Y()),[ye,_]=l.useState(!1),[y,re]=l.useState(null),[We,se]=l.useState(!1),[Pe,Ne]=l.useState(!1),ke=l.useRef(null),[I,ae]=l.useState("edit"),[v,ne]=l.useState(null),[g,b]=l.useState(q()),[Te,P]=l.useState(!1),[N,oe]=l.useState(null),[we,F]=l.useState(!1),u=Be??_t,f=Ue??Ft,z=i??Ot,O=l.useMemo(()=>new Map(u.map(t=>[t.id,t])),[u]),le=l.useMemo(()=>new Map(f.map(t=>[t.id,t])),[f]),Ve=l.useMemo(()=>{const t=z.map(({provider:s,availability:n})=>({value:s.id,label:s.name+(n.type==="NOT_FOUND"?r(" (不可用)"):""),icon:e.jsx(Nt,{agentType:s.agentType,className:"size-4"}),disabled:n.type==="NOT_FOUND"}));return a.providerId&&!t.some(s=>s.value===a.providerId)&&t.unshift({value:a.providerId,label:`${a.providerId}${r(" (不可用)")}`,disabled:!0}),t},[a.providerId,z,r]),ie=h?O.get(h)??null:null,de=v?le.get(v)??null:null,He=l.useMemo(()=>new Map(z.map(({provider:t,availability:s})=>[t.id,t.name+(s.type==="NOT_FOUND"?r(" (不可用)"):"")])),[z,r]);if(l.useEffect(()=>{if(!(V||w||ye)){if(C==="create"){j(Y());return}if(h){const t=O.get(h);t&&j(xe(t));return}if(u.length>0){const t=u[0];te(t.id),ee("edit"),j(xe(t));return}ee("create"),te(null),j(Y())}},[O,ye,C,u,w,V,h]),l.useEffect(()=>{if(!(H||D||Te)){if(I==="create"){b(q());return}if(v){const t=le.get(v);t&&b(pe(t));return}if(f.length>0){const t=f[0];ne(t.id),ae("edit"),b(pe(t));return}ae("create"),ne(null),b(q())}},[v,le,Te,I,f,D,H]),W||V||H)return e.jsx(Ee,{className:"max-w-6xl",children:e.jsx(kt,{cards:6})});const x=(t,s)=>{j(n=>({...n,[t]:s})),_(!0)},Qe=(t,s)=>{j(n=>({...n,capabilities:{...n.capabilities,[t]:s}})),_(!0)},Je=t=>{x("avatar",t),se(!1)},Ke=()=>{x("avatar","")},Xe=async t=>{const s=t.target.files?.[0];if(t.target.value="",!!s){if(!Ut(s)){c.error(r("仅支持 PNG、JPG、WebP 头像。"));return}if(s.size>At){c.error(r("头像图片不能超过 2MB。"));return}Ne(!0);try{const n=await Yt(s);x("avatar",`${De}${n.url}`),c.success(r("头像已上传"))}catch(n){c.error(E(n,r("头像上传失败")))}finally{Ne(!1)}}},S=(t,s)=>{ee(t),te(s?.id??null),j(s?xe(s):Y()),_(!1)},Ce=(t,s)=>{b(n=>({...n,[t]:s})),P(!0)},M=(t,s)=>{ae(t),ne(s?.id??null),b(s?pe(s):q()),P(!1)},Ze=async()=>{const t={name:a.name.trim(),aliases:Lt(a.aliasesText),providerId:a.providerId.trim(),rolePrompt:a.rolePrompt.trim(),capabilities:{...a.capabilities},workspacePolicy:a.workspacePolicy,triggerPolicy:a.triggerPolicy,sessionPolicy:a.sessionPolicy,queueManagementPolicy:a.queueManagementPolicy,avatar:Bt(a.avatar)};try{if(C==="create"||!h){const s=await Q.mutateAsync(t);S("edit",s),c.success(r("已创建"))}else{const s=await J.mutateAsync({id:h,data:t});S("edit",s),c.success(r("已保存"))}}catch(s){c.error(E(s,r("保存失败")))}},et=async()=>{if(y)try{await he.mutateAsync(y.id),c.success(r("Deleted"));const t=u.filter(s=>s.id!==y.id);h===y.id&&(t.length>0?S("edit",t[0]):S("create",null)),re(null)}catch(t){c.error(E(t,r("删除失败")))}},tt=async()=>{const t={name:g.name.trim(),heartbeatTimeoutMinutes:g.heartbeatTimeoutMinutes,memberPresetIds:g.memberPresetIds};try{if(I==="create"||!v){const s=await K.mutateAsync(t);M("edit",s),c.success(r("已创建"))}else{const s=await X.mutateAsync({id:v,data:t});M("edit",s),c.success(r("已保存"))}}catch(s){c.error(E(s,r("保存失败")))}},rt=async()=>{if(N)try{await ve.mutateAsync(N.id),c.success(r("Deleted"));const t=f.filter(s=>s.id!==N.id);v===N.id&&(t.length>0?M("edit",t[0]):M("create",null)),oe(null)}catch(t){c.error(E(t,r("删除失败")))}},st=$e(a.capabilities),at=!!a.name.trim()&&!!a.providerId.trim()&&!!a.rolePrompt.trim()&&!m&&!w&&!Q.isPending&&!J.isPending,nt=!!g.name.trim()&&!D&&!w&&!K.isPending&&!X.isPending,ce=g.memberPresetIds.map(t=>O.get(t)).filter(t=>!!t),ot=t=>{_(!1),S("edit",t)},lt=()=>{_(!1),S("create",null)},it=t=>{P(!1),M("edit",t)},dt=()=>{P(!1),M("create",null)},ct=t=>{b(s=>({...s,memberPresetIds:[...s.memberPresetIds,t]})),P(!0)},mt=t=>{b(s=>({...s,memberPresetIds:s.memberPresetIds.filter((n,k)=>k!==t)})),P(!0)},Ie=(t,s)=>{b(n=>{const k=t+s;if(k<0||k>=n.memberPresetIds.length)return n;const me=[...n.memberPresetIds],[pt]=me.splice(t,1);return me.splice(k,0,pt),{...n,memberPresetIds:me}}),P(!0)},ut=t=>{ot(t),F(!0)},Se=()=>{lt(),F(!0)},xt=t=>{it(t),F(!0)},Me=()=>{dt(),F(!0)},L=()=>F(!1);return e.jsxs(Ee,{className:"max-w-6xl",children:[e.jsx(Tt,{title:r("团队协作设置"),actions:e.jsxs("div",{className:"inline-flex rounded-lg border border-border bg-muted/80 p-0.5",children:[e.jsx("button",{type:"button",onClick:()=>{je("presets"),L()},className:B("rounded-md px-3 py-1.5 text-[12px] font-medium transition-all",Z==="presets"?"bg-background text-foreground shadow-raised":"text-muted-foreground hover:text-foreground"),children:r("成员预设")}),e.jsx("button",{type:"button",onClick:()=>{je("templates"),L()},className:B("rounded-md px-3 py-1.5 text-[12px] font-medium transition-all",Z==="templates"?"bg-background text-foreground shadow-raised":"text-muted-foreground hover:text-foreground"),children:r("团队模板")})]})}),m&&e.jsx(G,{title:r("Provider 列表加载失败"),error:d,isFetching:T,onRetry:()=>{A()}}),Z==="presets"?we?e.jsxs("div",{className:"rounded-xl border border-border bg-background",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 border-b border-border/60 px-5 py-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("button",{onClick:L,className:"flex items-center gap-1.5 text-xs text-muted-foreground hover:text-foreground transition-colors",children:[e.jsx(Ae,{size:14}),r("返回")]}),e.jsx("span",{className:"text-muted-foreground",children:"|"}),e.jsx("h3",{className:"text-[13px] font-semibold text-foreground",children:C==="create"?r("创建新预设"):ie?.name??r("编辑预设")})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[C==="edit"&&ie&&e.jsx("button",{onClick:()=>re(ie),className:"flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground hover:text-destructive hover:bg-destructive/10 transition-colors",title:r("删除"),children:e.jsx(ue,{size:14})}),e.jsx(p,{size:"sm",onClick:Ze,disabled:!at,children:Q.isPending||J.isPending?r("保存中..."):r(C==="create"?"创建":"保存")})]})]}),e.jsxs("div",{className:"p-5 space-y-5",children:[e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsxs("div",{className:"shrink-0",children:[e.jsx(U,{name:a.name||r("Agent"),avatar:a.avatar,className:"h-14 w-14 text-sm"}),e.jsxs("div",{className:"flex justify-center gap-1 mt-2",children:[e.jsx("button",{type:"button",onClick:()=>se(!0),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:r("选择")}),e.jsx("span",{className:"text-[10px] text-muted-foreground",children:"·"}),e.jsx("button",{type:"button",onClick:()=>ke.current?.click(),disabled:Pe,className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:r(Pe?"...":"上传")}),a.avatar.trim()&&e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"text-[10px] text-muted-foreground",children:"·"}),e.jsx("button",{type:"button",onClick:Ke,className:"text-xs text-muted-foreground hover:text-destructive-ink transition-colors",children:r("清除")})]})]}),e.jsx("input",{ref:ke,type:"file",accept:"image/png,image/jpeg,image/webp",className:"hidden",onChange:Xe})]}),e.jsxs("div",{className:"flex-1 min-w-0 grid gap-3 sm:grid-cols-2",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-[12px] font-medium text-muted-foreground mb-1",children:r("名称")}),e.jsx("input",{value:a.name,onChange:t=>x("name",t.target.value),className:"w-full rounded-lg border border-border bg-background px-3 py-2 text-sm transition-colors focus:border-ring focus:outline-none"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-[12px] font-medium text-muted-foreground mb-1",children:r("别名")}),e.jsx("input",{value:a.aliasesText,onChange:t=>x("aliasesText",t.target.value),placeholder:r("alice, a, reviewer"),className:"w-full rounded-lg border border-border bg-background px-3 py-2 text-sm transition-colors focus:border-ring focus:outline-none"})]})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-[12px] font-medium text-muted-foreground mb-1",children:r("Provider")}),e.jsx($,{value:a.providerId,onChange:t=>x("providerId",t),options:Ve,disabled:m}),m&&e.jsx("p",{className:"mt-1 text-xs text-destructive-ink",children:r("Provider 列表加载失败。")})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-[12px] font-medium text-muted-foreground mb-1",children:r("角色提示词")}),e.jsx("textarea",{value:a.rolePrompt,onChange:t=>x("rolePrompt",t.target.value),rows:4,className:"w-full rounded-lg border border-border bg-muted/50 px-3 py-2 text-sm font-mono transition-colors focus:border-ring focus:bg-background focus:outline-none resize-y"})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-end justify-between gap-3 mb-2",children:[e.jsx("label",{className:"text-[12px] font-medium text-muted-foreground",children:r("可用能力")}),e.jsxs("span",{className:"text-[11px] text-muted-foreground",children:[st,"/10"]})]}),e.jsx("div",{className:"grid gap-1 sm:grid-cols-2 xl:grid-cols-3",children:ze.map(t=>e.jsxs("label",{className:"flex items-center gap-2 rounded px-2.5 py-1.5 text-[12px] text-foreground hover:bg-muted transition-colors cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:a.capabilities[t.key],onChange:s=>Qe(t.key,s.target.checked),className:"h-3.5 w-3.5 rounded border-border"}),e.jsx("span",{children:r(t.label)})]},t.key))})]}),e.jsxs("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-[12px] font-medium text-muted-foreground mb-1",children:r("工作区")}),e.jsx($,{value:a.workspacePolicy,onChange:t=>x("workspacePolicy",t),options:Oe.map(t=>({value:t.value,label:r(t.label)}))})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-[12px] font-medium text-muted-foreground mb-1",children:r("触发")}),e.jsx($,{value:a.triggerPolicy,onChange:t=>x("triggerPolicy",t),options:$t.map(t=>({value:t.value,label:r(t.label)}))})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-[12px] font-medium text-muted-foreground mb-1",children:r("会话")}),e.jsx($,{value:a.sessionPolicy,onChange:t=>x("sessionPolicy",t),options:Rt.map(t=>({value:t.value,label:r(t.label)}))})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-[12px] font-medium text-muted-foreground mb-1",children:r("队列")}),e.jsx($,{value:a.queueManagementPolicy,onChange:t=>x("queueManagementPolicy",t),options:Dt.map(t=>({value:t.value,label:r(t.label)}))})]})]})]})]}):e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 mb-4",children:[e.jsx("span",{className:"text-[12px] text-muted-foreground",children:r("{count} 个成员预设",{count:u.length})}),e.jsxs(p,{size:"sm",variant:"outline",onClick:Se,children:[e.jsx(R,{size:13})," ",r("新增预设")]})]}),w?e.jsx(G,{title:r("加载失败"),error:ge,isFetching:be,onRetry:()=>{fe()}}):u.length===0?e.jsx(_e,{message:r("暂无成员预设"),action:e.jsxs(p,{size:"sm",onClick:Se,children:[e.jsx(R,{size:13,className:"mr-1"})," ",r("新增预设")]})}):e.jsx("div",{className:"grid gap-3 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",children:u.map(t=>{const s=$e(t.capabilities);return e.jsxs("button",{type:"button",onClick:()=>ut(t),className:"flex items-start gap-3 rounded-xl border border-border bg-background p-4 text-left transition-all hover:border-border hover:shadow-raised",children:[e.jsx(U,{name:t.name,avatar:t.avatar,className:"h-10 w-10 text-xs shrink-0"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("div",{className:"truncate text-[13px] font-semibold text-foreground",children:t.name}),t.aliases.length>0&&e.jsx("div",{className:"truncate text-xs text-muted-foreground mt-0.5",children:t.aliases.join(", ")}),e.jsx("div",{className:"truncate text-xs text-muted-foreground mt-1",children:He.get(t.providerId)??t.providerId}),e.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 mt-2",children:[e.jsx("span",{className:"rounded bg-muted px-1.5 py-0.5 text-xs font-medium text-muted-foreground",children:r(Oe.find(n=>n.value===t.workspacePolicy)?.label??t.workspacePolicy)}),e.jsxs("span",{className:"rounded bg-muted px-1.5 py-0.5 text-xs font-medium text-muted-foreground",children:[s,"/10 ",r("能力")]})]})]})]},t.id)})})]}):we?e.jsxs("div",{className:"rounded-xl border border-border bg-background",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 border-b border-border/60 px-5 py-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("button",{onClick:L,className:"flex items-center gap-1.5 text-xs text-muted-foreground hover:text-foreground transition-colors",children:[e.jsx(Ae,{size:14}),r("返回")]}),e.jsx("span",{className:"text-muted-foreground",children:"|"}),e.jsx("h3",{className:"text-[13px] font-semibold text-foreground",children:I==="create"?r("创建新模板"):de?.name??r("编辑模板")})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[I==="edit"&&de&&e.jsx("button",{onClick:()=>oe(de),className:"flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground hover:text-destructive hover:bg-destructive/10 transition-colors",title:r("删除"),children:e.jsx(ue,{size:14})}),e.jsx(p,{size:"sm",onClick:tt,disabled:!nt,children:K.isPending||X.isPending?r("保存中..."):r(I==="create"?"创建":"保存")})]})]}),e.jsxs("div",{className:"p-5 space-y-5",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-[12px] font-medium text-muted-foreground mb-1",children:r("模板名称")}),e.jsx("input",{value:g.name,onChange:t=>Ce("name",t.target.value),className:"w-full rounded-lg border border-border bg-background px-3 py-2 text-sm transition-colors focus:border-ring focus:outline-none"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-[12px] font-medium text-muted-foreground mb-1",children:r("成员心跳检测时间(分钟)")}),e.jsx("input",{type:"number",min:1,max:120,step:1,value:g.heartbeatTimeoutMinutes,onChange:t=>Ce("heartbeatTimeoutMinutes",Math.min(120,Math.max(1,Number(t.target.value)||1))),className:"w-full rounded-lg border border-border bg-background px-3 py-2 text-sm transition-colors focus:border-ring focus:outline-none"})]}),e.jsxs("div",{className:"grid gap-4 xl:grid-cols-2",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-[12px] font-medium text-muted-foreground mb-2",children:r("可用预设")}),e.jsx("div",{className:"max-h-[400px] space-y-1 overflow-y-auto scrollbar-app-thin",children:w?e.jsx(G,{title:r("加载失败"),error:ge,isFetching:be,onRetry:()=>{fe()}}):u.length===0?e.jsx("div",{className:"rounded-lg border border-dashed border-border p-3 text-center text-[12px] text-muted-foreground",children:r("先创建成员预设")}):u.map(t=>{const s=g.memberPresetIds.filter(n=>n===t.id).length;return e.jsxs("button",{type:"button",onClick:()=>ct(t.id),className:B("flex w-full items-center gap-2.5 rounded-lg border px-3 py-2 text-left transition-all",s>0?"border-foreground bg-muted":"border-border bg-background hover:border-border"),children:[e.jsx(U,{name:t.name,avatar:t.avatar,className:"h-7 w-7 text-[10px] shrink-0"}),e.jsx("div",{className:"min-w-0 flex-1",children:e.jsx("div",{className:"truncate text-[12px] font-medium text-foreground",children:t.name})}),e.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[s>0&&e.jsxs("span",{className:"rounded-full bg-primary px-1.5 py-0.5 text-[11px] font-medium text-primary-foreground",children:["x",s]}),e.jsx(R,{size:13,className:"text-muted-foreground"})]})]},t.id)})})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-[12px] font-medium text-muted-foreground mb-2",children:r("已选成员")}),e.jsx("div",{className:"max-h-[400px] space-y-1 overflow-y-auto scrollbar-app-thin",children:ce.length===0?e.jsx("div",{className:"rounded-lg border border-dashed border-border p-3 text-center text-[12px] text-muted-foreground",children:r("尚未选择")}):ce.map((t,s)=>e.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-lg border border-border bg-background px-3 py-2",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx(U,{name:t.name,avatar:t.avatar,className:"h-7 w-7 text-[10px] shrink-0"}),e.jsx("span",{className:"truncate text-[12px] font-medium text-foreground",children:zt(t.name,s,g.memberPresetIds,t.id)})]}),e.jsxs("div",{className:"flex items-center gap-0.5 shrink-0",children:[e.jsx(p,{type:"button",variant:"ghost",size:"icon-sm",onClick:()=>Ie(s,-1),disabled:s===0,children:e.jsx(St,{size:13})}),e.jsx(p,{type:"button",variant:"ghost",size:"icon-sm",onClick:()=>Ie(s,1),disabled:s===ce.length-1,children:e.jsx(Mt,{size:13})}),e.jsx(p,{type:"button",variant:"ghost",size:"icon-sm",onClick:()=>mt(s),children:e.jsx(ue,{size:13})})]})]},`${t.id}-${s}`))})]})]})]})]}):e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 mb-4",children:[e.jsx("span",{className:"text-[12px] text-muted-foreground",children:r("{count} 个团队模板",{count:f.length})}),e.jsxs(p,{size:"sm",variant:"outline",onClick:Me,children:[e.jsx(R,{size:13})," ",r("新增模板")]})]}),D?e.jsx(G,{title:r("加载失败"),error:Ye,isFetching:qe,onRetry:()=>{Ge()}}):f.length===0?e.jsx(_e,{message:r("暂无团队模板"),action:e.jsxs(p,{size:"sm",onClick:Me,children:[e.jsx(R,{size:13,className:"mr-1"})," ",r("新增模板")]})}):e.jsx("div",{className:"grid gap-3 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",children:f.map(t=>{const s=t.members?.length??0,n=(t.members??[]).slice(0,3).map(k=>O.get(k.memberPresetId)?.name).filter(Boolean);return e.jsxs("button",{type:"button",onClick:()=>xt(t),className:"flex flex-col rounded-xl border border-border bg-background p-4 text-left transition-all hover:border-border hover:shadow-raised",children:[e.jsx("div",{className:"truncate text-[13px] font-semibold text-foreground",children:t.name}),e.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:r("{count} 个成员",{count:s})}),n.length>0&&e.jsxs("div",{className:"truncate text-xs text-muted-foreground mt-1.5",children:[n.join(", "),s>3?` +${s-3}`:""]})]},t.id)})})]}),e.jsx(Fe,{isOpen:!!y,onClose:()=>re(null),onConfirm:et,title:r("删除"),description:y?r('确定删除 "{name}"?此操作不可撤销。',{name:y.name}):"",variant:"danger",confirmText:r("删除"),cancelText:r("取消"),isLoading:he.isPending}),e.jsx(Ct,{isOpen:We,onClose:()=>se(!1),title:r("选择预设头像"),className:"max-w-2xl",children:e.jsx("div",{className:"grid grid-cols-4 gap-2 sm:grid-cols-5",children:Et.map(t=>{const s=a.avatar===t.src;return e.jsxs("button",{type:"button",onClick:()=>Je(t.src),className:B("group rounded-xl border bg-background p-2 text-center transition-all hover:border-foreground/20 hover:bg-muted focus:outline-none focus:ring-2 focus:ring-ring/60",s?"border-foreground ring-2 ring-foreground":"border-border"),"aria-pressed":s,"aria-label":r("选择 {name} 头像",{name:t.label}),children:[e.jsx("img",{src:t.src,alt:t.label,loading:"lazy",className:"mx-auto h-14 w-14 rounded-full object-cover sm:h-16 sm:w-16"}),e.jsx("span",{className:"mt-1 block truncate text-xs font-medium text-muted-foreground",children:t.label})]},t.id)})})}),e.jsx(Fe,{isOpen:!!N,onClose:()=>oe(null),onConfirm:rt,title:r("删除"),description:N?r('确定删除 "{name}"?此操作不可撤销。',{name:N.name}):"",variant:"danger",confirmText:r("删除"),cancelText:r("取消"),isLoading:ve.isPending})]})}export{ur as TeamSettingsPage};
@@ -1 +1 @@
1
- import{S as ln,T as an,V as z,W as S,X,Y as un,$ as y,a0 as tn,a1 as F,a2 as _,a3 as rn,a4 as o,a5 as on,a6 as sn,a7 as fn}from"./index-D_QVcsLn.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,E,q,v,A,Y,a){var I=E-l,i=q-h,n=Y-v,d=a-A,u=d*I-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*I,h+u*i]}function M(l,h,E,q,v,A,Y){var a=l-E,I=h-q,i=(Y?A:-A)/F(a*a+I*I),n=i*I,d=-i*a,u=l+n,s=h+d,f=E+n,c=q+d,$=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,O=(g<0?-1:1)*F(on(0,T*T*R-P*P)),V=(P*g-m*O)/R,W=(-P*m-g*O)/R,w=(P*g+m*O)/R,p=(-P*m+g*O)/R,x=V-$,e=W-t,r=w-$,j=p-t;return x*x+e*e>r*r+j*j&&(V=w,W=p),{cx:V,cy:W,x01:-n,y01:-d,x11:V*(v/T-1),y11:W*(v/T-1)}}function hn(){var l=cn,h=yn,E=X(0),q=null,v=gn,A=dn,Y=mn,a=null,I=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,$=rn(c-f),t=c>f;if(a||(a=n=I()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if($>tn-y)a.moveTo(s*z(f),s*S(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*z(c),u*S(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=$,O=$,V=Y.apply(this,arguments)/2,W=V>y&&(q?+q.apply(this,arguments):F(u*u+s*s)),w=_(rn(s-u)/2,+E.apply(this,arguments)),p=w,x=w,e,r;if(W>y){var j=sn(W/u*S(V)),G=sn(W/s*S(V));(P-=j*2)>y?(j*=t?1:-1,R+=j,T-=j):(P=0,R=T=(f+c)/2),(O-=G*2)>y?(G*=t?1:-1,m+=G,g-=G):(O=0,m=g=(f+c)/2)}var B=s*z(m),C=s*S(m),H=u*z(T),J=u*S(T);if(w>y){var K=s*z(g),L=s*S(g),N=u*z(R),Q=u*S(R),D;if($<an)if(D=pn(B,C,N,Q,K,L,H,J)){var U=B-D[0],Z=C-D[1],k=K-D[0],b=L-D[1],nn=1/S(fn((U*k+Z*b)/(F(U*U+Z*Z)*F(k*k+b*b)))/2),en=F(D[0]*D[0]+D[1]*D[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}O>y?x>y?(e=M(N,Q,B,C,s,x,t),r=M(K,L,H,J,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(B,C),a.arc(0,0,s,m,g,!t)):a.moveTo(B,C),!(u>y)||!(P>y)?a.lineTo(H,J):p>y?(e=M(H,J,K,L,u,-p,t),r=M(B,C,N,Q,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[z(d)*n,S(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:X(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:X(+n),i):h},i.cornerRadius=function(n){return arguments.length?(E=typeof n=="function"?n:X(+n),i):E},i.padRadius=function(n){return arguments.length?(q=n==null?null:typeof n=="function"?n:X(+n),i):q},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:X(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:X(+n),i):A},i.padAngle=function(n){return arguments.length?(Y=typeof n=="function"?n:X(+n),i):Y},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
1
+ import{S as ln,T as an,V as z,W as S,X,Y as un,$ as y,a0 as tn,a1 as F,a2 as _,a3 as rn,a4 as o,a5 as on,a6 as sn,a7 as fn}from"./index-B88xAivn.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,E,q,v,A,Y,a){var I=E-l,i=q-h,n=Y-v,d=a-A,u=d*I-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*I,h+u*i]}function M(l,h,E,q,v,A,Y){var a=l-E,I=h-q,i=(Y?A:-A)/F(a*a+I*I),n=i*I,d=-i*a,u=l+n,s=h+d,f=E+n,c=q+d,$=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,O=(g<0?-1:1)*F(on(0,T*T*R-P*P)),V=(P*g-m*O)/R,W=(-P*m-g*O)/R,w=(P*g+m*O)/R,p=(-P*m+g*O)/R,x=V-$,e=W-t,r=w-$,j=p-t;return x*x+e*e>r*r+j*j&&(V=w,W=p),{cx:V,cy:W,x01:-n,y01:-d,x11:V*(v/T-1),y11:W*(v/T-1)}}function hn(){var l=cn,h=yn,E=X(0),q=null,v=gn,A=dn,Y=mn,a=null,I=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,$=rn(c-f),t=c>f;if(a||(a=n=I()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if($>tn-y)a.moveTo(s*z(f),s*S(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*z(c),u*S(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=$,O=$,V=Y.apply(this,arguments)/2,W=V>y&&(q?+q.apply(this,arguments):F(u*u+s*s)),w=_(rn(s-u)/2,+E.apply(this,arguments)),p=w,x=w,e,r;if(W>y){var j=sn(W/u*S(V)),G=sn(W/s*S(V));(P-=j*2)>y?(j*=t?1:-1,R+=j,T-=j):(P=0,R=T=(f+c)/2),(O-=G*2)>y?(G*=t?1:-1,m+=G,g-=G):(O=0,m=g=(f+c)/2)}var B=s*z(m),C=s*S(m),H=u*z(T),J=u*S(T);if(w>y){var K=s*z(g),L=s*S(g),N=u*z(R),Q=u*S(R),D;if($<an)if(D=pn(B,C,N,Q,K,L,H,J)){var U=B-D[0],Z=C-D[1],k=K-D[0],b=L-D[1],nn=1/S(fn((U*k+Z*b)/(F(U*U+Z*Z)*F(k*k+b*b)))/2),en=F(D[0]*D[0]+D[1]*D[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}O>y?x>y?(e=M(N,Q,B,C,s,x,t),r=M(K,L,H,J,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(B,C),a.arc(0,0,s,m,g,!t)):a.moveTo(B,C),!(u>y)||!(P>y)?a.lineTo(H,J):p>y?(e=M(H,J,K,L,u,-p,t),r=M(B,C,N,Q,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[z(d)*n,S(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:X(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:X(+n),i):h},i.cornerRadius=function(n){return arguments.length?(E=typeof n=="function"?n:X(+n),i):E},i.padRadius=function(n){return arguments.length?(q=n==null?null:typeof n=="function"?n:X(+n),i):q},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:X(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:X(+n),i):A},i.padAngle=function(n){return arguments.length?(Y=typeof n=="function"?n:X(+n),i):Y},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};