agent-tower 0.7.1-beta.4 → 0.7.1

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 (119) hide show
  1. package/dist/runtime/__tests__/codex-runtime-resolution.test.js +0 -2
  2. package/dist/runtime/__tests__/codex-runtime-resolution.test.js.map +1 -1
  3. package/dist/web/assets/{AgentDemoPage-B__0_CPX.js → AgentDemoPage-Gr8q6VxC.js} +1 -1
  4. package/dist/web/assets/{AgentEnvironmentSettingsPage-uSnG5iV3.js → AgentEnvironmentSettingsPage-b0XzUzna.js} +1 -1
  5. package/dist/web/assets/{AgentLogo-CoAT8dNB.js → AgentLogo-q8Chady2.js} +1 -1
  6. package/dist/web/assets/{ConversationPage-BOfzGTyj.js → ConversationPage-DQRA8WuD.js} +1 -1
  7. package/dist/web/assets/CreateTaskInput-Dr6Lvllw.js +1 -0
  8. package/dist/web/assets/{DemoPage-CuDLCuUQ.js → DemoPage-DaDC_MIJ.js} +1 -1
  9. package/dist/web/assets/{ExecutionPermissionSelector-Cu7Z72Yk.js → ExecutionPermissionSelector-DglILGVC.js} +1 -1
  10. package/dist/web/assets/{GeneralSettingsPage-CmG_TW4-.js → GeneralSettingsPage-BKRf-usO.js} +1 -1
  11. package/dist/web/assets/{Icons-B6q-ul89.js → Icons-7lThaqQv.js} +1 -1
  12. package/dist/web/assets/{LoadingPreviewPage-Db5WcYw_.js → LoadingPreviewPage-BHAQCQDA.js} +1 -1
  13. package/dist/web/assets/{McpSettingsPage-CQV1RaHW.js → McpSettingsPage-CVOEPwCv.js} +1 -1
  14. package/dist/web/assets/{MemberAvatar-BQA5sE4L.js → MemberAvatar-DUXHTIXf.js} +1 -1
  15. package/dist/web/assets/{NotificationSettingsPage-BGKJ6wO0.js → NotificationSettingsPage-DBe1YCNN.js} +1 -1
  16. package/dist/web/assets/{ProfileSettingsPage-dTvp-LFa.js → ProfileSettingsPage-DwziCseV.js} +1 -1
  17. package/dist/web/assets/ProjectKanbanPage-Dcz8KXWU.js +86 -0
  18. package/dist/web/assets/{ProjectSettingsPage-CwLXTwwe.js → ProjectSettingsPage-hzSrj79M.js} +1 -1
  19. package/dist/web/assets/{ProviderSettingsPage-Ced1VN2f.js → ProviderSettingsPage-CC3zkdf6.js} +1 -1
  20. package/dist/web/assets/{SettingsMasterDetail-CEZsOwjq.js → SettingsMasterDetail-D5lNH2f6.js} +1 -1
  21. package/dist/web/assets/{TeamSettingsPage-lErIz31n.js → TeamSettingsPage-Cdbvh2ne.js} +1 -1
  22. package/dist/web/assets/{arc-CgQPLQJF.js → arc-d2D24uRQ.js} +1 -1
  23. package/dist/web/assets/{architectureDiagram-3BPJPVTR-BRns2_cB.js → architectureDiagram-3BPJPVTR-C_p9_AH2.js} +1 -1
  24. package/dist/web/assets/{blockDiagram-GPEHLZMM-DUIPlzPN.js → blockDiagram-GPEHLZMM-CKsR1Tax.js} +1 -1
  25. package/dist/web/assets/{c4Diagram-AAUBKEIU-BfWsGU4R.js → c4Diagram-AAUBKEIU-BBUKt2FW.js} +1 -1
  26. package/dist/web/assets/channel-D0hF47LU.js +1 -0
  27. package/dist/web/assets/check-BqhuHtHP.js +1 -0
  28. package/dist/web/assets/{chevron-down-Dz61D9cJ.js → chevron-down-Bw_76CB_.js} +1 -1
  29. package/dist/web/assets/{chevron-right-q_hHAFb1.js → chevron-right-DbcFf_Dw.js} +1 -1
  30. package/dist/web/assets/{chevron-up-ChWM4fJS.js → chevron-up-x1n3MhC-.js} +1 -1
  31. package/dist/web/assets/{chunk-2J33WTMH-DOverrRX.js → chunk-2J33WTMH-BcGNhDoU.js} +1 -1
  32. package/dist/web/assets/{chunk-4BX2VUAB-BakE7rwb.js → chunk-4BX2VUAB-9dL7TVjW.js} +1 -1
  33. package/dist/web/assets/{chunk-55IACEB6-BJY_hqWJ.js → chunk-55IACEB6-CzJzh0tH.js} +1 -1
  34. package/dist/web/assets/{chunk-727SXJPM-Bz_y_ixN.js → chunk-727SXJPM-Bp5EOgoG.js} +1 -1
  35. package/dist/web/assets/{chunk-AQP2D5EJ-DPrP1E5u.js → chunk-AQP2D5EJ-BaLnh9ac.js} +1 -1
  36. package/dist/web/assets/{chunk-FMBD7UC4--yjwIi92.js → chunk-FMBD7UC4-BcbzC8r4.js} +1 -1
  37. package/dist/web/assets/{chunk-ND2GUHAM-BlN7Zpnx.js → chunk-ND2GUHAM-DkT5Stbd.js} +1 -1
  38. package/dist/web/assets/{chunk-QZHKN3VN-b97Y7iON.js → chunk-QZHKN3VN-DszScpAV.js} +1 -1
  39. package/dist/web/assets/{circle-alert-B3BU6yxp.js → circle-alert-ChWS5BPS.js} +1 -1
  40. package/dist/web/assets/classDiagram-4FO5ZUOK-ulXJsBKw.js +1 -0
  41. package/dist/web/assets/classDiagram-v2-Q7XG4LA2-ulXJsBKw.js +1 -0
  42. package/dist/web/assets/{code-block-OCS4YCEC-pXxp6Ipb.js → code-block-OCS4YCEC-G8tEtSdL.js} +1 -1
  43. package/dist/web/assets/{confirm-dialog-CeNfH2ZR.js → confirm-dialog-0vHzUzvI.js} +1 -1
  44. package/dist/web/assets/{cose-bilkent-S5V4N54A-BE-ASlGZ.js → cose-bilkent-S5V4N54A-DueZsNr5.js} +1 -1
  45. package/dist/web/assets/{cssMode-B8d06lCF.js → cssMode-Dqx3XDOC.js} +1 -1
  46. package/dist/web/assets/{dagre-BM42HDAG-lAvNJn8H.js → dagre-BM42HDAG-BkQGrA8s.js} +1 -1
  47. package/dist/web/assets/{diagram-2AECGRRQ-DBgI60j-.js → diagram-2AECGRRQ-D4qtEjjj.js} +1 -1
  48. package/dist/web/assets/{diagram-5GNKFQAL-BqFMhpcI.js → diagram-5GNKFQAL-ZuFk-7GO.js} +1 -1
  49. package/dist/web/assets/{diagram-KO2AKTUF-8dtMJ7XC.js → diagram-KO2AKTUF-kwBr5lw0.js} +1 -1
  50. package/dist/web/assets/{diagram-LMA3HP47-CEbAGy_U.js → diagram-LMA3HP47-m88-mNyr.js} +1 -1
  51. package/dist/web/assets/{diagram-OG6HWLK6-BTy4Wqho.js → diagram-OG6HWLK6-B9gV1dxA.js} +1 -1
  52. package/dist/web/assets/{erDiagram-TEJ5UH35-Fe0pjB7H.js → erDiagram-TEJ5UH35-De_DsoOX.js} +1 -1
  53. package/dist/web/assets/{flowDiagram-I6XJVG4X-Cn5xoMyS.js → flowDiagram-I6XJVG4X-9VwLS0b3.js} +1 -1
  54. package/dist/web/assets/{folder-picker-DlJ9hExj.js → folder-picker-B0khMt7A.js} +1 -1
  55. package/dist/web/assets/{freemarker2-WBCTYbCf.js → freemarker2-CLp1Yffb.js} +1 -1
  56. package/dist/web/assets/{ganttDiagram-6RSMTGT7-Bwf7sOJW.js → ganttDiagram-6RSMTGT7-DoOyYr5i.js} +1 -1
  57. package/dist/web/assets/{gitGraphDiagram-PVQCEYII-DEqHf_N3.js → gitGraphDiagram-PVQCEYII-CMGuTxMz.js} +1 -1
  58. package/dist/web/assets/{handlebars-aoMw8XNP.js → handlebars-CmLfR6Uy.js} +1 -1
  59. package/dist/web/assets/{html-mP4L-gn5.js → html-D34UDOLc.js} +1 -1
  60. package/dist/web/assets/{htmlMode-BRkGssBX.js → htmlMode-qjrvkZFJ.js} +1 -1
  61. package/dist/web/assets/{index-DxE1UagD.js → index-DI7lHrAR.js} +4 -4
  62. package/dist/web/assets/{index-_mroLJ3-.js → index-DrzmyANC.js} +8 -8
  63. package/dist/web/assets/index-MMCbS8_L.css +1 -0
  64. package/dist/web/assets/{infoDiagram-5YYISTIA-BzITBBR6.js → infoDiagram-5YYISTIA-gUCDmQX7.js} +1 -1
  65. package/dist/web/assets/{ishikawaDiagram-YF4QCWOH-Bd9MT4ne.js → ishikawaDiagram-YF4QCWOH-CmfFhhIz.js} +1 -1
  66. package/dist/web/assets/javascript-D5tp0LcO.js +1 -0
  67. package/dist/web/assets/{journeyDiagram-JHISSGLW-CR2x5gV0.js → journeyDiagram-JHISSGLW-BvV5GoR_.js} +1 -1
  68. package/dist/web/assets/{jsonMode-BixD4b0P.js → jsonMode-BbjYNQ7Q.js} +1 -1
  69. package/dist/web/assets/{kanban-definition-UN3LZRKU-DZx-6dHw.js → kanban-definition-UN3LZRKU-BpTm0MC-.js} +1 -1
  70. package/dist/web/assets/{layers-DOM1D0GC.js → layers-DslPQJ3T.js} +1 -1
  71. package/dist/web/assets/{linear-BBLqccsD.js → linear-BJ_g8wqu.js} +1 -1
  72. package/dist/web/assets/{liquid-DGETTZ3q.js → liquid-DBu3_6XS.js} +1 -1
  73. package/dist/web/assets/{lspLanguageFeatures-DLBGi3go.js → lspLanguageFeatures-PSX0tqnR.js} +1 -1
  74. package/dist/web/assets/{mdx-Co95_1jL.js → mdx-Bb4nrA8s.js} +1 -1
  75. package/dist/web/assets/{mermaid-NOHMQCX5-K1Nm51AP.js → mermaid-NOHMQCX5-B44shuzc.js} +4 -4
  76. package/dist/web/assets/{message-square-eTP8tZLX.js → message-square-C-22K3oa.js} +1 -1
  77. package/dist/web/assets/{mindmap-definition-RKZ34NQL-BuB-92St.js → mindmap-definition-RKZ34NQL-DS5GLydx.js} +1 -1
  78. package/dist/web/assets/{modal-CSnK65Cb.js → modal-CFVLBZ5p.js} +1 -1
  79. package/dist/web/assets/{monaco-C17UmdbS.js → monaco-CkaUvvB4.js} +3 -3
  80. package/dist/web/assets/{pencil-l1-UifOH.js → pencil-DB3VPszm.js} +1 -1
  81. package/dist/web/assets/{pieDiagram-4H26LBE5--40xP_i_.js → pieDiagram-4H26LBE5-C1PJJGsh.js} +1 -1
  82. package/dist/web/assets/{python-CQw9WtC1.js → python-BfodDYt4.js} +1 -1
  83. package/dist/web/assets/{quadrantDiagram-W4KKPZXB-BxiOfFTG.js → quadrantDiagram-W4KKPZXB-CzDfs-TQ.js} +1 -1
  84. package/dist/web/assets/{razor-Du_XbZEg.js → razor-DdED1MBH.js} +1 -1
  85. package/dist/web/assets/{requirementDiagram-4Y6WPE33-GR0Dtr4T.js → requirementDiagram-4Y6WPE33-qHbU7oZa.js} +1 -1
  86. package/dist/web/assets/{sankeyDiagram-5OEKKPKP-tWpKambG.js → sankeyDiagram-5OEKKPKP-BfRgrEeN.js} +1 -1
  87. package/dist/web/assets/{select-DB6L9-KB.js → select-CL78HCY0.js} +1 -1
  88. package/dist/web/assets/{sequenceDiagram-3UESZ5HK-ByVTWC_r.js → sequenceDiagram-3UESZ5HK-CGTNzKk3.js} +1 -1
  89. package/dist/web/assets/{server-CrODl9NC.js → server-Cd7APx6v.js} +1 -1
  90. package/dist/web/assets/{stateDiagram-AJRCARHV-Bd8b6zV5.js → stateDiagram-AJRCARHV-BY1LJ4b7.js} +1 -1
  91. package/dist/web/assets/stateDiagram-v2-BHNVJYJU-BV_JKRZC.js +1 -0
  92. package/dist/web/assets/{switch-DvXJc47w.js → switch-DmQ0Brgd.js} +1 -1
  93. package/dist/web/assets/{textarea-CSKljQWP.js → textarea-DOte4pMQ.js} +1 -1
  94. package/dist/web/assets/{timeline-definition-PNZ67QCA-BZhaE4Q8.js → timeline-definition-PNZ67QCA-BBhCKsly.js} +1 -1
  95. package/dist/web/assets/{trash-2-DdOhDOCv.js → trash-2-BSAHXKfW.js} +1 -1
  96. package/dist/web/assets/{tsMode-D9Lc5Ctp.js → tsMode-B6rHoWny.js} +1 -1
  97. package/dist/web/assets/{typescript-jsG0idOk.js → typescript-C2A3q8UY.js} +1 -1
  98. package/dist/web/assets/{upload-9nN5Lg83.js → upload-e87qV_RH.js} +1 -1
  99. package/dist/web/assets/{use-profiles-8YJrKR2I.js → use-profiles-Cv2zBJOC.js} +1 -1
  100. package/dist/web/assets/{use-projects-BdSJ4zPv.js → use-projects-C8WDJXdj.js} +1 -1
  101. package/dist/web/assets/{use-providers-BlqWIGOP.js → use-providers-CnpIgITQ.js} +1 -1
  102. package/dist/web/assets/{useNormalizedLogs-B_LoDoiT.js → useNormalizedLogs-AbIXa8s-.js} +1 -1
  103. package/dist/web/assets/{vennDiagram-CIIHVFJN-COnwMBZG.js → vennDiagram-CIIHVFJN-DrDrt_Jg.js} +1 -1
  104. package/dist/web/assets/{wardley-L42UT6IY-DnIbpfhs.js → wardley-L42UT6IY-CMYQm14y.js} +1 -1
  105. package/dist/web/assets/{wardleyDiagram-YWT4CUSO-QNFL1GWo.js → wardleyDiagram-YWT4CUSO-COLA9A80.js} +1 -1
  106. package/dist/web/assets/{xml-C_Zqe3tk.js → xml-D4xDxfjR.js} +1 -1
  107. package/dist/web/assets/{xychartDiagram-2RQKCTM6-CW7FVlM3.js → xychartDiagram-2RQKCTM6-BDegkKoT.js} +1 -1
  108. package/dist/web/assets/{yaml-CETOqGaS.js → yaml-yJExA7tq.js} +1 -1
  109. package/dist/web/index.html +2 -2
  110. package/package.json +1 -1
  111. package/dist/web/assets/CreateTaskInput-DwQsAlWX.js +0 -1
  112. package/dist/web/assets/ProjectKanbanPage-CHZc9WB7.js +0 -92
  113. package/dist/web/assets/channel-CYUMBIeW.js +0 -1
  114. package/dist/web/assets/check-C_RQ5zOf.js +0 -1
  115. package/dist/web/assets/classDiagram-4FO5ZUOK-KLi01tMF.js +0 -1
  116. package/dist/web/assets/classDiagram-v2-Q7XG4LA2-KLi01tMF.js +0 -1
  117. package/dist/web/assets/index-BoQh7Rhc.css +0 -1
  118. package/dist/web/assets/javascript-CzeLwCQy.js +0 -1
  119. package/dist/web/assets/stateDiagram-v2-BHNVJYJU-A6YN_ZNd.js +0 -1
@@ -1,3 +1,3 @@
1
- import{u as T,r as g,j as e,S,g as J,v as M,w,I as U,B as E,x as p,l as P}from"./index-_mroLJ3-.js";import{u as _,a as z,b as B,c as F}from"./use-profiles-8YJrKR2I.js";import{M as G}from"./modal-CSnK65Cb.js";import{C as $}from"./confirm-dialog-CeNfH2ZR.js";import{T as R}from"./textarea-CSKljQWP.js";import{L as H}from"./layers-DOM1D0GC.js";import{C as q}from"./chevron-down-Dz61D9cJ.js";import{P as K,T as Q}from"./trash-2-DdOhDOCv.js";import{P as W}from"./pencil-l1-UifOH.js";function X(t){const a=Object.entries(t);return a.length===0?"(empty)":a.map(([m,c])=>`${m}: ${JSON.stringify(c)}`).join(", ")}const y={CLAUDE_CODE:"Claude Code",GEMINI_CLI:"Gemini CLI",CURSOR_AGENT:"Cursor Agent"};function Y({agentType:t,variants:a,isBuiltIn:m,onEdit:c,onNew:h,onDelete:j}){const{t:n}=T(),[r,b]=g.useState(!0),u=Object.entries(a);return e.jsxs("div",{className:"overflow-hidden rounded-lg border border-border",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 bg-muted/40 px-4 py-3",children:[e.jsxs("button",{type:"button",onClick:()=>b(i=>!i),"aria-expanded":r,className:"flex items-center gap-3 rounded-md transition-opacity hover:opacity-80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60",children:[e.jsx("h3",{className:"text-[13px] font-semibold text-foreground",children:y[t]??t}),e.jsxs("span",{className:"text-[11px] text-muted-foreground",children:[u.length," ",n("个变体")]}),e.jsx(q,{size:14,"aria-hidden":"true",className:P("text-muted-foreground transition-transform motion-reduce:transition-none",r&&"rotate-180")})]}),e.jsxs("button",{type:"button",onClick:h,className:"flex items-center gap-1 rounded-md px-2 py-1 text-[11px] text-muted-foreground transition-colors hover:bg-background hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60",children:[e.jsx(K,{size:12,"aria-hidden":"true"}),n("新增")]})]}),r&&e.jsxs("div",{className:"divide-y divide-border/60",children:[u.map(([i,x])=>{const f=m(i);return e.jsxs("div",{className:"flex items-center gap-3 px-4 py-2.5 transition-colors hover:bg-muted/40",children:[e.jsx("span",{className:P("inline-flex shrink-0 items-center rounded px-2 py-0.5 text-[11px] font-semibold tracking-wide",i==="DEFAULT"?"bg-primary/[0.06] text-primary":"bg-muted text-muted-foreground"),children:i}),e.jsx("span",{className:"min-w-0 flex-1 truncate font-mono text-xs text-muted-foreground",children:X(x)}),f&&e.jsx("span",{className:"shrink-0 text-[10px] font-medium text-muted-foreground/70",children:n("内置")}),e.jsxs("div",{className:"flex shrink-0 items-center gap-1",children:[e.jsx("button",{onClick:()=>c(i,x),className:"flex h-6 w-6 items-center justify-center rounded text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60",title:n("编辑"),"aria-label":n("编辑"),children:e.jsx(W,{size:12})}),!f&&e.jsx("button",{onClick:()=>j(i),className:"flex h-6 w-6 items-center justify-center rounded text-muted-foreground transition-colors hover:bg-destructive/10 hover:text-destructive focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60",title:n("删除"),"aria-label":n("删除"),children:e.jsx(Q,{size:12})})]})]},i)}),u.length===0&&e.jsx("div",{className:"px-4 py-4 text-center text-xs text-muted-foreground",children:n("暂无变体")})]})]})}function Z(){return e.jsxs("div",{role:"status","aria-label":"Loading",children:[e.jsx(p,{className:"h-7 w-36"}),e.jsx(p,{className:"mt-2 h-3.5 w-72 max-w-full"}),e.jsx("div",{className:"mt-5 space-y-3",children:Array.from({length:2}).map((t,a)=>e.jsxs("div",{className:"overflow-hidden rounded-lg border border-border",children:[e.jsxs("div",{className:"flex items-center gap-3 bg-muted/40 px-4 py-3",children:[e.jsx(p,{className:"h-4 w-28"}),e.jsx(p,{className:"h-3 w-14"})]}),e.jsx("div",{className:"divide-y divide-border/60",children:Array.from({length:2}).map((m,c)=>e.jsxs("div",{className:"flex items-center gap-3 px-4 py-2.5",children:[e.jsx(p,{className:"h-5 w-16 rounded"}),e.jsx(p,{className:"h-3.5 flex-1"})]},c))})]},a))})]})}function de(){const{t}=T(),{data:a,isLoading:m}=_(),{data:c}=z(),h=B(),j=F(),[n,r]=g.useState(null),[b,u]=g.useState(""),[i,x]=g.useState(""),[f,v]=g.useState(""),[o,N]=g.useState(null),k=(s,l,d)=>{r({agentType:s,variant:l,config:d,isNew:!1}),x(l),u(JSON.stringify(d,null,2)),v("")},O=s=>{r({agentType:s,variant:"",config:{},isNew:!0}),x(""),u(`{
1
+ import{u as T,r as g,j as e,S,g as J,v as M,w,I as U,B as E,x as p,l as P}from"./index-DrzmyANC.js";import{u as _,a as z,b as B,c as F}from"./use-profiles-Cv2zBJOC.js";import{M as G}from"./modal-CFVLBZ5p.js";import{C as $}from"./confirm-dialog-0vHzUzvI.js";import{T as R}from"./textarea-DOte4pMQ.js";import{L as H}from"./layers-DslPQJ3T.js";import{C as q}from"./chevron-down-Bw_76CB_.js";import{P as K,T as Q}from"./trash-2-BSAHXKfW.js";import{P as W}from"./pencil-DB3VPszm.js";function X(t){const a=Object.entries(t);return a.length===0?"(empty)":a.map(([m,c])=>`${m}: ${JSON.stringify(c)}`).join(", ")}const y={CLAUDE_CODE:"Claude Code",GEMINI_CLI:"Gemini CLI",CURSOR_AGENT:"Cursor Agent"};function Y({agentType:t,variants:a,isBuiltIn:m,onEdit:c,onNew:h,onDelete:j}){const{t:n}=T(),[r,b]=g.useState(!0),u=Object.entries(a);return e.jsxs("div",{className:"overflow-hidden rounded-lg border border-border",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 bg-muted/40 px-4 py-3",children:[e.jsxs("button",{type:"button",onClick:()=>b(i=>!i),"aria-expanded":r,className:"flex items-center gap-3 rounded-md transition-opacity hover:opacity-80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60",children:[e.jsx("h3",{className:"text-[13px] font-semibold text-foreground",children:y[t]??t}),e.jsxs("span",{className:"text-[11px] text-muted-foreground",children:[u.length," ",n("个变体")]}),e.jsx(q,{size:14,"aria-hidden":"true",className:P("text-muted-foreground transition-transform motion-reduce:transition-none",r&&"rotate-180")})]}),e.jsxs("button",{type:"button",onClick:h,className:"flex items-center gap-1 rounded-md px-2 py-1 text-[11px] text-muted-foreground transition-colors hover:bg-background hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60",children:[e.jsx(K,{size:12,"aria-hidden":"true"}),n("新增")]})]}),r&&e.jsxs("div",{className:"divide-y divide-border/60",children:[u.map(([i,x])=>{const f=m(i);return e.jsxs("div",{className:"flex items-center gap-3 px-4 py-2.5 transition-colors hover:bg-muted/40",children:[e.jsx("span",{className:P("inline-flex shrink-0 items-center rounded px-2 py-0.5 text-[11px] font-semibold tracking-wide",i==="DEFAULT"?"bg-primary/[0.06] text-primary":"bg-muted text-muted-foreground"),children:i}),e.jsx("span",{className:"min-w-0 flex-1 truncate font-mono text-xs text-muted-foreground",children:X(x)}),f&&e.jsx("span",{className:"shrink-0 text-[10px] font-medium text-muted-foreground/70",children:n("内置")}),e.jsxs("div",{className:"flex shrink-0 items-center gap-1",children:[e.jsx("button",{onClick:()=>c(i,x),className:"flex h-6 w-6 items-center justify-center rounded text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60",title:n("编辑"),"aria-label":n("编辑"),children:e.jsx(W,{size:12})}),!f&&e.jsx("button",{onClick:()=>j(i),className:"flex h-6 w-6 items-center justify-center rounded text-muted-foreground transition-colors hover:bg-destructive/10 hover:text-destructive focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60",title:n("删除"),"aria-label":n("删除"),children:e.jsx(Q,{size:12})})]})]},i)}),u.length===0&&e.jsx("div",{className:"px-4 py-4 text-center text-xs text-muted-foreground",children:n("暂无变体")})]})]})}function Z(){return e.jsxs("div",{role:"status","aria-label":"Loading",children:[e.jsx(p,{className:"h-7 w-36"}),e.jsx(p,{className:"mt-2 h-3.5 w-72 max-w-full"}),e.jsx("div",{className:"mt-5 space-y-3",children:Array.from({length:2}).map((t,a)=>e.jsxs("div",{className:"overflow-hidden rounded-lg border border-border",children:[e.jsxs("div",{className:"flex items-center gap-3 bg-muted/40 px-4 py-3",children:[e.jsx(p,{className:"h-4 w-28"}),e.jsx(p,{className:"h-3 w-14"})]}),e.jsx("div",{className:"divide-y divide-border/60",children:Array.from({length:2}).map((m,c)=>e.jsxs("div",{className:"flex items-center gap-3 px-4 py-2.5",children:[e.jsx(p,{className:"h-5 w-16 rounded"}),e.jsx(p,{className:"h-3.5 flex-1"})]},c))})]},a))})]})}function de(){const{t}=T(),{data:a,isLoading:m}=_(),{data:c}=z(),h=B(),j=F(),[n,r]=g.useState(null),[b,u]=g.useState(""),[i,x]=g.useState(""),[f,v]=g.useState(""),[o,N]=g.useState(null),k=(s,l,d)=>{r({agentType:s,variant:l,config:d,isNew:!1}),x(l),u(JSON.stringify(d,null,2)),v("")},O=s=>{r({agentType:s,variant:"",config:{},isNew:!0}),x(""),u(`{
2
2
 
3
3
  }`),v("")},D=()=>{if(!(!n||!i.trim()))try{const s=JSON.parse(b);v(""),h.mutate({agentType:n.agentType,variant:i.trim().toUpperCase(),config:s},{onSuccess:()=>r(null)})}catch{v(t("JSON 格式错误"))}},L=(s,l)=>{N({agentType:s,variant:l})},A=()=>{o&&j.mutate({agentType:o.agentType,variant:o.variant},{onSettled:()=>N(null)})},I=(s,l)=>!!c?.executors[s]?.[l];if(m)return e.jsx(S,{children:e.jsx(Z,{})});const C=a?.executors??{};return e.jsxs(S,{children:[e.jsx(J,{title:t("Profile 配置"),description:t("管理 Agent 执行器的配置变体。每个变体定义一组运行参数。"),className:"mb-4"}),e.jsx("div",{className:"space-y-3",children:Object.entries(C).map(([s,l])=>e.jsx(Y,{agentType:s,variants:l,isBuiltIn:d=>I(s,d),onEdit:(d,V)=>k(s,d,V),onNew:()=>O(s),onDelete:d=>L(s,d)},s))}),Object.keys(C).length===0&&e.jsx(M,{icon:H,message:t("暂无 Profile 配置")}),e.jsx(G,{isOpen:!!n,onClose:()=>r(null),title:n?.isNew?t("新增 Variant — {agentType}",{agentType:y[n.agentType]??n.agentType}):t("编辑 {variant}",{variant:n?.variant??""}),action:e.jsxs(e.Fragment,{children:[e.jsx(E,{variant:"outline",onClick:()=>r(null),children:t("取消")}),e.jsx(E,{onClick:D,disabled:h.isPending,children:h.isPending?t("保存中..."):t("保存")})]}),children:e.jsxs("div",{className:"space-y-4",children:[e.jsx(w,{label:t("Variant 名称"),htmlFor:"profile-variant-name",children:e.jsx(U,{id:"profile-variant-name",value:i,onChange:s=>x(s.target.value),disabled:!n?.isNew,placeholder:t("例如: CUSTOM"),className:"font-mono"})}),e.jsxs(w,{label:t("配置 (JSON)"),htmlFor:"profile-variant-json",children:[e.jsx(R,{id:"profile-variant-json",value:b,onChange:s=>{u(s.target.value),v("")},rows:6,className:"resize-none font-mono","aria-invalid":!!f}),f&&e.jsx("p",{role:"alert",className:"mt-1 text-xs text-destructive",children:f})]})]})}),e.jsx($,{isOpen:o!==null,onClose:()=>{j.isPending||N(null)},onConfirm:A,title:t("删除 Profile Variant"),description:o?t('确定删除 "{name}"?此操作不可撤销。',{name:`${y[o.agentType]??o.agentType} / ${o.variant}`}):"",confirmText:t("删除"),cancelText:t("取消"),variant:"danger",isLoading:j.isPending})]})}export{de as ProfileSettingsPage};