@auto-ai/agent 2.1.121 → 2.1.122

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 (82) hide show
  1. package/.env.example +2 -1
  2. package/dist/404/index.html +1 -1
  3. package/dist/404.html +1 -1
  4. package/dist/_next/static/chunks/19aa69c07b3642d5.js +1 -0
  5. package/dist/_next/static/chunks/24459c7365a2b28b.js +1 -0
  6. package/dist/_next/static/chunks/{d3e2070a86378cfb.js → 33eeef286c328da0.js} +1 -1
  7. package/dist/_next/static/chunks/3407244006d6a98a.js +1 -0
  8. package/dist/_next/static/chunks/566e152e480b267a.js +1 -0
  9. package/dist/_next/static/chunks/6ad4268160f361a6.js +1 -0
  10. package/dist/_next/static/chunks/{d9a278a2a26e8ee5.js → 6f9a48a7f83e669a.js} +1 -1
  11. package/dist/_next/static/chunks/7658b5b9c2865eb1.js +1 -0
  12. package/dist/_next/static/chunks/7a5fd448b280dd64.js +1 -0
  13. package/dist/_next/static/chunks/{fa677aa06f1c0539.js → 98f0c5604e839ba2.js} +1 -1
  14. package/dist/_next/static/chunks/a38eccf0bb5ca1e9.js +1 -0
  15. package/dist/_next/static/chunks/b29a354245bfc377.css +1 -0
  16. package/dist/_next/static/chunks/b76778c5811ef7a1.js +1 -0
  17. package/dist/_next/static/chunks/c2bed9d5fa7be4bd.js +1 -0
  18. package/dist/_next/static/chunks/c5a4977aae6a008c.js +1 -0
  19. package/dist/_next/static/chunks/e7bd145455a541af.css +4 -0
  20. package/dist/_next/static/chunks/f2bb685629307d4d.js +1 -0
  21. package/dist/_next/static/chunks/f7e71ce1c236f806.js +1 -0
  22. package/dist/_next/static/chunks/{67acc15b8a448e1a.js → fc4be3bcf72559a0.js} +1 -1
  23. package/dist/index.html +1 -1
  24. package/dist/index.txt +16 -16
  25. package/dist/manage/about/index.html +2 -2
  26. package/dist/manage/about/index.txt +19 -19
  27. package/dist/manage/add-account/basic/index.html +2 -2
  28. package/dist/manage/add-account/basic/index.txt +21 -21
  29. package/dist/manage/add-account/index.html +2 -2
  30. package/dist/manage/add-account/index.txt +21 -21
  31. package/dist/manage/agent-teams/index.html +2 -2
  32. package/dist/manage/agent-teams/index.txt +21 -21
  33. package/dist/manage/env/index.html +2 -2
  34. package/dist/manage/env/index.txt +21 -21
  35. package/dist/manage/general/index.html +2 -2
  36. package/dist/manage/general/index.txt +19 -19
  37. package/dist/manage/index.html +1 -1
  38. package/dist/manage/index.txt +16 -16
  39. package/dist/manage/mcp/index.html +2 -2
  40. package/dist/manage/mcp/index.txt +21 -21
  41. package/dist/manage/permissions/index.html +2 -2
  42. package/dist/manage/permissions/index.txt +19 -19
  43. package/dist/manage/skills/index.html +2 -2
  44. package/dist/manage/skills/index.txt +21 -21
  45. package/dist/manage/task/index.html +2 -2
  46. package/dist/manage/task/index.txt +19 -19
  47. package/dist/manage/teams/index.html +2 -2
  48. package/dist/manage/teams/index.txt +19 -19
  49. package/dist/manage/tools/index.html +2 -2
  50. package/dist/manage/tools/index.txt +21 -21
  51. package/dist/ws-test.html +90 -64
  52. package/mcps-runtime/claude-geelib-channel/.mcp.json +18 -0
  53. package/mcps-runtime/claude-geelib-channel/server/boot.mjs +32 -0
  54. package/mcps-runtime/claude-geelib-channel/server/geelib-api.mjs +192 -0
  55. package/mcps-runtime/claude-geelib-channel/server/geelib-auth.mjs +147 -0
  56. package/mcps-runtime/claude-geelib-channel/server/geelib-client.mjs +63 -0
  57. package/mcps-runtime/claude-geelib-channel/server/index.mjs +451 -0
  58. package/mcps-runtime/claude-geelib-channel/server/poll.mjs +457 -0
  59. package/mcps-runtime/claude-geelib-channel/server/state.mjs +216 -0
  60. package/package.json +6 -6
  61. package/tools-runtime/git-tool/index.cjs +51 -3
  62. package/tools-runtime/git-tool/src/workspace.ts +101 -4
  63. package/dist/_next/static/chunks/249606605eed1993.js +0 -1
  64. package/dist/_next/static/chunks/424d3f3f176d43d7.js +0 -1
  65. package/dist/_next/static/chunks/4302af16b34bf750.js +0 -1
  66. package/dist/_next/static/chunks/4a073924e062c459.css +0 -1
  67. package/dist/_next/static/chunks/6209b42cbfcf288a.js +0 -1
  68. package/dist/_next/static/chunks/83bf6e4bc0aad48b.css +0 -4
  69. package/dist/_next/static/chunks/8b34d657c6bbb8df.js +0 -1
  70. package/dist/_next/static/chunks/904ad158fd721117.js +0 -1
  71. package/dist/_next/static/chunks/99063f8d79783308.js +0 -1
  72. package/dist/_next/static/chunks/9cd912a1967f10df.js +0 -1
  73. package/dist/_next/static/chunks/c52dcbe269bb02d0.js +0 -1
  74. package/dist/_next/static/chunks/d01957b1055b357a.js +0 -1
  75. package/dist/_next/static/chunks/dacc94cf10289334.js +0 -1
  76. package/dist/_next/static/chunks/fff9d250e482f00e.js +0 -1
  77. package/skills-runtime/geelib/SKILL.md +0 -229
  78. package/skills-runtime/geelib/geelib-poller-state.json +0 -17
  79. package/skills-runtime/geelib/geelib.mjs +0 -762
  80. /package/dist/_next/static/{Uk25KzeENFNl8wcmEtL4K → pVB1xZbEW09ksdJlV12Zn}/_buildManifest.js +0 -0
  81. /package/dist/_next/static/{Uk25KzeENFNl8wcmEtL4K → pVB1xZbEW09ksdJlV12Zn}/_clientMiddlewareManifest.json +0 -0
  82. /package/dist/_next/static/{Uk25KzeENFNl8wcmEtL4K → pVB1xZbEW09ksdJlV12Zn}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,93479,e=>{"use strict";e.s(["Input",()=>l]);var t=e.i(18050),r=e.i(75157);function l(e){let{className:l,type:n="text",size:i="default",...s}=e;return(0,t.jsx)("input",{type:n,"data-slot":"input","data-size":i,className:(0,r.cn)("h-8 w-full appearance-none rounded-md border border-solid border-border bg-transparent px-3 text-base outline-none transition-[color,box-shadow,border-color] duration-150 ease-in-out placeholder:text-muted-foreground hover:border-[#e0e0e0] focus-visible:border-[var(--border-focus)] focus-visible:[box-shadow:var(--ring-focus-sm)] read-only:focus-visible:border-border read-only:focus-visible:[box-shadow:none] disabled:cursor-not-allowed disabled:opacity-50 disabled:focus-visible:border-border disabled:focus-visible:[box-shadow:none] data-[size=default]:h-8 data-[size=lg]:h-10 data-[size=sm]:h-7",l),...s})}},20783,e=>{"use strict";e.s(["composeRefs",()=>l,"useComposedRefs",()=>n]);var t=e.i(71645);function r(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function l(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return e=>{let l=!1,n=t.map(t=>{let n=r(t,e);return l||"function"!=typeof n||(l=!0),n});if(l)return()=>{for(let e=0;e<n.length;e++){let l=n[e];"function"==typeof l?l():r(t[e],null)}}}}function n(){for(var e=arguments.length,r=Array(e),n=0;n<e;n++)r[n]=arguments[n];return t.useCallback(l(...r),r)}},92715,85413,e=>{"use strict";e.s(["AppTable",()=>m],92715);var t=e.i(18050);e.s(["Empty",()=>n],85413);var r=e.i(75157),l=e.i(72064);function n(e){let{text:n="暂无数据",className:i}=e;return(0,t.jsxs)("div",{className:(0,r.cn)("flex min-h-[180px] w-full flex-col items-center justify-center gap-2 py-4 text-base text-[var(--ds-muted)]",i),role:"status","aria-live":"polite",children:[(0,t.jsx)(l.default,{name:"NoData",size:80,color:"var(--ds-muted)",className:"opacity-90"}),(0,t.jsx)("span",{children:n})]})}var i=e.i(71645);let s=i.forwardRef((e,l)=>{let{className:n,...i}=e;return(0,t.jsx)("div",{className:"relative w-full overflow-auto",children:(0,t.jsx)("table",{ref:l,className:(0,r.cn)("w-full caption-bottom border-collapse text-sm",n),...i})})});s.displayName="Table";let a=i.forwardRef((e,l)=>{let{className:n,...i}=e;return(0,t.jsx)("thead",{ref:l,className:(0,r.cn)("[&_tr]:table [&_tr]:w-full [&_tr]:table-fixed [&_tr]:border-b",n),...i})});a.displayName="TableHeader";let o=i.forwardRef((e,l)=>{let{className:n,viewportFit:s=!0,viewportReserveBottom:a=16,viewportPaginationReserve:o=0,style:u,...d}=e,c=i.useRef(null),m=i.useCallback(e=>{c.current=e,"function"==typeof l?l(e):l&&(l.current=e)},[l]),[f,p]=i.useState(void 0);return i.useLayoutEffect(()=>{var e,t;if(!s)return void p(void 0);let r=()=>{var e,t;let r=c.current;if(!r)return;let l=r.getBoundingClientRect().top;p(Math.max(80,Math.floor((null!=(t=null==(e=window.visualViewport)?void 0:e.height)?t:window.innerHeight)-l-(a+o))))};r();let l=new ResizeObserver(()=>{r()});try{l.observe(document.body)}catch(e){}return window.addEventListener("resize",r),null==(e=window.visualViewport)||e.addEventListener("resize",r),null==(t=window.visualViewport)||t.addEventListener("scroll",r),window.addEventListener("scroll",r,!0),()=>{var e,t;l.disconnect(),window.removeEventListener("resize",r),null==(e=window.visualViewport)||e.removeEventListener("resize",r),null==(t=window.visualViewport)||t.removeEventListener("scroll",r),window.removeEventListener("scroll",r,!0)}},[s,a,o]),(0,t.jsx)("tbody",{ref:m,className:(0,r.cn)("block overflow-y-auto [&_tr:last-child]:border-b-0 [&_tr:last-child_td]:border-b-0 [&_tr]:table [&_tr]:w-full [&_tr]:table-fixed",n),style:s&&void 0!==f?{...u,maxHeight:f}:u,...d})});o.displayName="TableBody";let u=i.forwardRef((e,l)=>{let{className:n,hoverable:i=!0,...s}=e;return(0,t.jsx)("tr",{ref:l,className:(0,r.cn)("border-b transition-colors [&>td]:transition-colors data-[state=selected]:[&>td]:!bg-[var(--ds-item-active)]",i&&"group/table-row",n),...s})});u.displayName="TableRow";let d=i.forwardRef((e,l)=>{let{className:n,...i}=e;return(0,t.jsx)("th",{ref:l,className:(0,r.cn)("h-10 border-b border-[var(--border-subtle)] bg-[var(--surface-2)] px-3 text-left align-middle text-[14px] font-medium !text-[var(--ds-text)] text-muted-foreground",n),...i})});d.displayName="TableHead";let c=i.forwardRef((e,l)=>{let{className:n,...i}=e;return(0,t.jsx)("td",{ref:l,className:(0,r.cn)("border-x-0 border-b border-t-0 border-solid border-[var(--border-subtle)] p-3 align-middle text-base transition-colors group-has-[td:hover]/table-row:!bg-[var(--ds-item-hover)]",n),...i})});function m(e){let{rows:l,columns:i,getRowKey:m,className:f,rowClassName:p,headerRowClassName:b,emptyText:y,emptyNode:g,bodyProps:v}=e;return(0,t.jsx)("div",{className:(0,r.cn)("overflow-hidden border border-[var(--ds-border)]",f),children:(0,t.jsxs)(s,{children:[(0,t.jsx)(a,{children:(0,t.jsx)(u,{className:(0,r.cn)("bg-[var(--ds-main-tint)] hover:bg-[var(--ds-main-tint)]",b),children:i.map(e=>(0,t.jsx)(d,{className:e.headerClassName,children:e.title},e.key))})}),(0,t.jsx)(o,{...v,children:l.length?l.map(e=>(0,t.jsx)(u,{className:"function"==typeof p?p(e):p,children:i.map(r=>(0,t.jsx)(c,{className:r.cellClassName,children:r.render(e)},r.key))},m(e))):(0,t.jsx)(u,{hoverable:!1,children:(0,t.jsx)(c,{colSpan:i.length,className:"py-6",children:null!=g?g:(0,t.jsx)(n,{text:y})})})})]})})}c.displayName="TableCell"},62427,e=>{"use strict";e.s(["clearRuntimeMcpItemConfig",()=>R,"deleteRuntimeMcp",()=>f,"deleteRuntimeSkill",()=>j,"deleteRuntimeTool",()=>m,"exportRuntimeMcpUrl",()=>b,"exportRuntimeSkillUrl",()=>A,"exportRuntimeToolUrl",()=>p,"importRuntimeMcp",()=>g,"importRuntimeTool",()=>y,"installCloudSkill",()=>k,"listAgentTeams",()=>u,"listBaseSkills",()=>i,"listCloudSkillCatalog",()=>S,"listInstalledSkills",()=>s,"listInstalledTools",()=>n,"listMcpServers",()=>l,"listRuntimeMcpPackages",()=>c,"listRuntimeTools",()=>d,"loadBaseSkillMd",()=>a,"loadRemoteMcpJson",()=>v,"loadRuntimeMcpItemConfig",()=>x,"saveBaseSkillMd",()=>o,"saveRemoteMcpJson",()=>h,"saveRuntimeMcpItemConfig",()=>w]);var t=e.i(29250),r=e.i(36845);async function l(e,l,n){let i=await (0,t.get)((0,r.buildMcpServersListUrl)(e,l,n));return{servers:Array.isArray(i.servers)?i.servers:[]}}async function n(e,l,n){let i=await (0,t.get)((0,r.buildToolInstalledListUrl)(e,l,n));return{tools:Array.isArray(i.tools)?i.tools:[]}}async function i(e,l,n){let i=await (0,t.get)((0,r.buildSkillBaseListUrl)(e,l,n));return{skills:Array.isArray(i.skills)?i.skills:[]}}async function s(e,l,n){let i=await (0,t.get)((0,r.buildSkillInstalledListUrl)(e,l,n));return{skills:Array.isArray(i.skills)?i.skills:[]}}async function a(e,l,n,i){return(0,t.get)((0,r.buildBaseSkillMdUrl)(e,l,n,i))}async function o(e,l,n,i,s){await (0,t.put)((0,r.buildBaseSkillMdUrl)(e,l,n,i),{content:s})}async function u(e,l,n){let i=await (0,t.get)((0,r.buildAgentTeamsListUrl)(e,l,n));return{teamAgentTypes:Array.isArray(i.teamAgentTypes)?i.teamAgentTypes:[],agentTeams:Array.isArray(i.agentTeams)?i.agentTeams:[]}}async function d(e,l,n){let i=await (0,t.get)((0,r.buildToolsRuntimeFilesUrl)(e,l,n));return{runtimeToolsDir:"string"==typeof i.runtimeToolsDir?i.runtimeToolsDir:"",items:Array.isArray(i.items)?i.items.filter(e=>!!(e&&e.id)):[]}}async function c(e,l,n){let i=await (0,t.get)((0,r.buildMcpRuntimeFilesUrl)(e,l,n));return{mcpRuntimeDir:"string"==typeof i.mcpRuntimeDir?i.mcpRuntimeDir:"",items:Array.isArray(i.items)?i.items.filter(e=>!!(e&&e.id)):[]}}async function m(e,l,n,i){return(0,t.del)((0,r.buildToolsRuntimeDeleteUrl)(e,l,n,i))}async function f(e,l,n,i){return(0,t.del)((0,r.buildMcpRuntimeDeleteUrl)(e,l,n,i))}function p(e,t,l,n){return(0,r.buildToolsRuntimeExportUrl)(e,t,l,n)}function b(e,t,l,n){return(0,r.buildMcpRuntimeExportUrl)(e,t,l,n)}async function y(e,l,n,i){let s=new FormData;return s.append("file",i),(0,t.post)((0,r.buildToolsRuntimeImportUrl)(e,l,n),s,{type:"file"})}async function g(e,l,n,i){let s=new FormData;return s.append("file",i),(0,t.post)((0,r.buildMcpRuntimeImportUrl)(e,l,n),s,{type:"file"})}async function v(e,l,n){return(0,t.get)((0,r.buildRemoteMcpJsonUrl)(e,l,n))}async function h(e,l,n,i){await (0,t.post)((0,r.buildRemoteMcpJsonUrl)(e,l,n),{content:i})}async function x(e,l,n,i,s){return(0,t.get)((0,r.buildRuntimeMcpItemConfigUrl)(e,l,n,i,s))}async function w(e,l,n,i,s,a){await (0,t.put)((0,r.buildRuntimeMcpItemConfigUrl)(e,l,n,i,s),{server:a})}async function R(e,l,n,i,s){await (0,t.del)((0,r.buildRuntimeMcpItemConfigUrl)(e,l,n,i,s))}async function j(e,l,n,i){return(0,t.del)((0,r.buildSkillsRuntimeDeleteUrl)(e,l,n,i))}function A(e,t,l,n){return(0,r.buildSkillsRuntimeExportUrl)(e,t,l,n)}async function S(e,l,n,i,s,a){let o=await (0,t.get)((0,r.buildCloudSkillCatalogUrl)(e,l,n,i,s,a));return{items:Array.isArray(o.items)?o.items:[],totalPages:Number(o.totalPages||0)}}async function k(e,l,n,i){await (0,t.post)((0,r.buildCloudSkillInstallUrl)(e,l,n),{id:i})}},55242,e=>{"use strict";e.s(["AppDialog",()=>i]);var t=e.i(18050),r=e.i(71645),l=e.i(76639),n=e.i(75157);function i(e){let{open:i,onOpenChange:s,title:a,children:o,footer:u,width:d="max-w-3xl",minHeight:c}=e,m=(0,r.useId)();return(0,t.jsx)(l.Dialog,{open:i,onOpenChange:s,children:(0,t.jsxs)(l.DialogContent,{"aria-labelledby":m,className:(0,n.cn)(d,c?"!min-h-[--min-h]":""),style:c?{"--min-h":c}:void 0,children:[(0,t.jsxs)(l.DialogHeader,{children:[(0,t.jsx)(l.DialogTitle,{id:m,children:a}),(0,t.jsx)(l.DialogClose,{"aria-label":"关闭"})]}),(0,t.jsx)(l.DialogBody,{className:"!px-4 !py-3",children:o}),u?(0,t.jsx)("div",{className:"flex flex-shrink-0 justify-end gap-2 border-t border-[var(--ds-border)] bg-[var(--ds-sidebar)] px-4 py-3",children:u}):null]})})}},18900,69051,e=>{"use strict";function t(e){let t=null==e?"":String(e);return""===t?'""':/[\s#"'\\\n]/.test(t)||t!==t.trim()?'"'.concat(t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):t}function r(e){let t=String(e).split(/\r?\n/),r={},l=/^\s*(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=\s*(.*)$/;for(let e=0;e<t.length;e++){let n=t[e],i=l.exec(n);i&&(r[i[1]]=function(e){let t=e.trimEnd();return t.length>=2&&'"'===t[0]&&'"'===t[t.length-1]?t.slice(1,-1).replace(/\\(.)/g,(e,t)=>"n"===t?"\n":'"'===t?'"':"\\"===t?"\\":"\\".concat(t)):t.length>=2&&"'"===t[0]&&"'"===t[t.length-1]?t.slice(1,-1):e}(i[2]))}return r}function l(e,r){let l=Array.isArray(e)?e:[],n=new Set;for(let e=0;e<l.length;e++){let t=l[e];t&&"object"==typeof t&&"string"==typeof t.key&&n.add(t.key)}let i=[];for(let e=0;e<l.length;e++){let n=l[e];if(!n||"object"!=typeof n||"string"!=typeof n.key)continue;let s=n.key;if(!Object.prototype.hasOwnProperty.call(r,s))continue;let a=r[s];null!=a&&""!==String(a).trim()&&i.push("".concat(s,"=").concat(t(String(a))))}let s=Object.keys(r).filter(e=>!n.has(e)).sort();for(let e=0;e<s.length;e++){let l=s[e],n=r[l];null!=n&&""!==String(n).trim()&&i.push("".concat(l,"=").concat(t(String(n))))}let a=i.join("\n");return a.length>0?"".concat(a,"\n"):""}e.s(["buildEnvFileContentFromForm",()=>l,"parseEnvContentToMap",()=>r],18900),e.s(["loadDemoSingleMessage",()=>u,"loadSystemEnv",()=>s,"saveSystemEnv",()=>a,"saveSystemMcpJson",()=>o],69051);var n=e.i(29250),i=e.i(36845);async function s(e,t,r){return(0,n.get)((0,i.buildSystemEnvApiUrl)(e,t,r))}async function a(e,t,r,l){await (0,n.patch)((0,i.buildSystemEnvApiUrl)(e,t,r),{content:l})}async function o(e,t,r,l){await (0,n.patch)((0,i.buildSystemMcpJsonApiUrl)(e,t,r),{content:l})}async function u(){return(0,n.get)("/api/demo/single-message")}}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,93479,e=>{"use strict";e.s(["Input",()=>l]);var a=e.i(18050),t=e.i(75157);function l(e){let{className:l,type:s="text",size:i="default",...n}=e;return(0,a.jsx)("input",{type:s,"data-slot":"input","data-size":i,className:(0,t.cn)("h-8 w-full appearance-none rounded-md border border-solid border-border bg-transparent px-3 text-base outline-none transition-[color,box-shadow,border-color] duration-150 ease-in-out placeholder:text-muted-foreground hover:border-[#e0e0e0] focus-visible:border-[var(--border-focus)] focus-visible:[box-shadow:var(--ring-focus-sm)] read-only:focus-visible:border-border read-only:focus-visible:[box-shadow:none] disabled:cursor-not-allowed disabled:opacity-50 disabled:focus-visible:border-border disabled:focus-visible:[box-shadow:none] data-[size=default]:h-8 data-[size=lg]:h-10 data-[size=sm]:h-7",l),...n})}},55242,e=>{"use strict";e.s(["AppDialog",()=>i]);var a=e.i(18050),t=e.i(71645),l=e.i(76639),s=e.i(75157);function i(e){let{open:i,onOpenChange:n,title:r,children:o,footer:c,width:d="max-w-3xl",minHeight:u}=e,x=(0,t.useId)();return(0,a.jsx)(l.Dialog,{open:i,onOpenChange:n,children:(0,a.jsxs)(l.DialogContent,{"aria-labelledby":x,className:(0,s.cn)(d,u?"!min-h-[--min-h]":""),style:u?{"--min-h":u}:void 0,children:[(0,a.jsxs)(l.DialogHeader,{children:[(0,a.jsx)(l.DialogTitle,{id:x,children:r}),(0,a.jsx)(l.DialogClose,{"aria-label":"关闭"})]}),(0,a.jsx)(l.DialogBody,{className:"!px-4 !py-3",children:o}),c?(0,a.jsx)("div",{className:"flex flex-shrink-0 justify-end gap-2 border-t border-[var(--ds-border)] bg-[var(--ds-sidebar)] px-4 py-3",children:c}):null]})})}},47079,e=>{"use strict";e.s(["SkillsManageView",()=>I],47079);var a=e.i(18050),t=e.i(71645),l=e.i(65934),s=e.i(87243),i=e.i(13354),n=e.i(50711),r=e.i(51419),o=e.i(92715),c=e.i(19455),d=e.i(94055),u=e.i(94197),x=e.i(72064),p=e.i(93479),m=e.i(75157);function b(e){let{className:t,...l}=e;return(0,a.jsx)("nav",{role:"navigation","aria-label":"pagination","data-slot":"pagination",className:(0,m.cn)("flex w-full justify-end",t),...l})}let h=t.forwardRef((e,t)=>{let{className:l,...s}=e;return(0,a.jsx)("ul",{ref:t,"data-slot":"pagination-content",className:(0,m.cn)("flex flex-row flex-wrap items-center justify-end gap-1",l),...s})});h.displayName="PaginationContent";let g=t.forwardRef((e,t)=>{let{className:l,...s}=e;return(0,a.jsx)("li",{ref:t,"data-slot":"pagination-item",className:(0,m.cn)("",l),...s})});g.displayName="PaginationItem",t.forwardRef((e,t)=>{let{className:l,isActive:s,size:i="icon",...n}=e;return(0,a.jsx)("a",{ref:t,"aria-current":s?"page":void 0,"data-slot":"pagination-link","data-active":s?"true":void 0,className:(0,m.cn)((0,c.buttonVariants)({variant:s?"outline":"ghost",size:i}),l),...n})}).displayName="PaginationLink";var f=e.i(62427);function v(e){let{active:l,wsUrl:s,apiBase:n,agent:r,onAfterInstall:d,className:u}=e,[m,v]=(0,t.useState)(""),[y,k]=(0,t.useState)(1),[j,C]=(0,t.useState)(0),[N,w]=(0,t.useState)([]),[S,T]=(0,t.useState)(!1),[A,B]=(0,t.useState)(""),[I,z]=(0,t.useState)({}),R=(0,t.useRef)(0),E=(0,t.useCallback)(async()=>{let e=++R.current;T(!0),B("");try{let a=await (0,f.listCloudSkillCatalog)(s,n,r,m,y,10);if(e!==R.current)return;let t=Array.isArray(a.items)?a.items:[],l=[];for(let e of t)e&&"object"==typeof e&&e.id&&l.push({id:String(e.id),title:String(e.title||""),skillName:String(e.skillName||""),description:"string"==typeof e.description?e.description:"",installed:!!e.installed});w(l),C(a.totalPages)}catch(a){if(e!==R.current)return;w([]),C(0),B(a instanceof Error?a.message:String(a))}finally{e===R.current&&T(!1)}},[s,n,r,m,y]);(0,t.useEffect)(()=>{if(!l){v(""),k(1),C(0),w([]),B(""),z({}),R.current+=1;return}E()},[l,E]);let P=(0,t.useMemo)(()=>{if(S)return"加载中…";if(A)return"加载失败:".concat(A);let e=N.reduce((e,a)=>e+ +!!a.installed,0);return"已安装 ".concat(e," 项")},[S,A,N]),L=(0,t.useCallback)(async(e,a)=>{z(a=>({...a,[e]:!0}));try{await (0,f.installCloudSkill)(s,n,r,e),i.appToast.success("云端技能已安装:".concat(a)),await E(),null==d||d()}catch(e){i.appToast.error("安装失败:".concat(e instanceof Error?e.message:String(e)))}finally{z(a=>{let t={...a};return delete t[e],t})}},[s,n,r,E,d]),D=(0,t.useCallback)(e=>{k(1),v(e)},[]);if(!l)return null;let M=j>0?"第 ".concat(y,"/").concat(j," 页"):"第 0/0 页",U=S||y<=1,K=S||j<=0||y>=j,O=[{key:"name",title:"名称",headerClassName:"text-base",cellClassName:"text-base text-[var(--ds-text)]",render:e=>e.skillName?"".concat(e.skillName):e.id},{key:"description",title:"详情",headerClassName:"text-base",cellClassName:"text-base text-[var(--ds-text)]",render:e=>(0,a.jsxs)(a.Fragment,{children:[e.title,e.description?" — ".concat(e.description):""]})},{key:"status",title:"状态",headerClassName:"text-base",cellClassName:"whitespace-nowrap text-base text-[var(--ds-text)]",render:e=>e.installed?"已安装":"未安装"},{key:"actions",title:"操作",headerClassName:"w-[96px] text-right text-base",cellClassName:"w-[116px] text-right",render:e=>{let t=!!I[e.id],l=!!e.installed;return!t&&l?"-":(0,a.jsx)(c.Button,{type:"button",size:"sm",variant:"outline",disabled:t||l,onClick:()=>void L(e.id,e.title||e.skillName||e.id),children:t?"安装中…":l?"已安装":"安装"})}}];return(0,a.jsx)("div",{className:u,children:(0,a.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,a.jsx)(p.Input,{type:"search",value:m,onChange:e=>D(e.target.value),placeholder:"搜索云端技能…",className:"h-10 border-[var(--ds-border)] bg-[var(--ds-bg)] text-base"}),(0,a.jsx)("div",{className:"text-sm text-[var(--ds-muted)]",children:P}),(0,a.jsx)(o.AppTable,{rows:N,columns:O,getRowKey:e=>e.id,className:"min-h-0 flex-1 rounded-md",bodyProps:{viewportPaginationReserve:64},emptyNode:S?(0,a.jsx)("p",{className:"text-center text-base",children:"加载中…"}):void 0}),(0,a.jsx)(b,{className:"mx-0 w-full",children:(0,a.jsxs)(h,{className:"w-full flex-wrap justify-end gap-2",children:[(0,a.jsx)(g,{children:(0,a.jsxs)(c.Button,{type:"button",variant:"outline",size:"sm",disabled:U,className:"gap-1",onClick:()=>k(e=>Math.max(1,e-1)),"aria-label":"上一页",children:[(0,a.jsx)(x.default,{name:"ChevronLeft",size:16,className:"shrink-0"}),"上一页"]})}),(0,a.jsx)(g,{children:(0,a.jsx)("span",{className:"flex h-9 min-w-[6.5rem] items-center justify-center text-sm text-[var(--ds-muted)]",children:M})}),(0,a.jsx)(g,{children:(0,a.jsxs)(c.Button,{type:"button",variant:"outline",size:"sm",disabled:K,className:"gap-1",onClick:()=>k(e=>e+1),"aria-label":"下一页",children:["下一页",(0,a.jsx)(x.default,{name:"ChevronRight",size:16,className:"shrink-0",strokeWidth:1})]})})]})})]})})}var y=e.i(36845),k=e.i(53925);function j(e){let{open:t,onOpenChange:l,wsUrl:s,apiBase:i,agent:n}=e;return(0,a.jsx)(k.ResourceImportDialog,{open:t,onOpenChange:l,title:"导入 Skill zip",description:"选择一个 zip 文件并导入到 skills-runtime。",uploadUrl:(0,y.buildSkillsRuntimeImportUrl)(s,i,n),resetKey:n})}var C=e.i(55242);function N(e){let{open:l,onOpenChange:s,skillName:n,wsUrl:r,apiBase:o,agent:d,onSaved:u}=e,[x,p]=(0,t.useState)(""),[m,b]=(0,t.useState)(!1),[h,g]=(0,t.useState)(!1);(0,t.useEffect)(()=>{if(!l||!n.trim())return;let e=!1;return b(!0),p(""),(0,f.loadBaseSkillMd)(r,o,d,n).then(a=>{e||p("string"==typeof a.content?a.content:"")}).catch(a=>{e||(i.appToast.error("加载 SKILL.md 失败:".concat(a instanceof Error?a.message:String(a))),s(!1))}).finally(()=>{e||b(!1)}),()=>{e=!0}},[l,n,r,o,d,s]);let v=(0,t.useCallback)(async()=>{if(n.trim()){g(!0);try{await (0,f.saveBaseSkillMd)(r,o,d,n,x),i.appToast.success("SKILL.md 已保存"),s(!1),null==u||u()}catch(e){i.appToast.error("保存失败:".concat(e instanceof Error?e.message:String(e)))}finally{g(!1)}}},[n,r,o,d,x,s,u]);return(0,a.jsx)(C.AppDialog,{open:l,onOpenChange:s,title:"编辑 SKILL.md · /".concat(n),width:"max-w-4xl",minHeight:"420px",footer:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(c.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:m||h,onClick:()=>s(!1),children:"取消"}),(0,a.jsx)(c.Button,{type:"button",size:"lg",disabled:m||h,onClick:()=>void v(),children:"保存"})]}),children:m?(0,a.jsx)("p",{className:"py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,a.jsx)("textarea",{className:"focus-visible:ring-[var(--ds-accent)]/30 min-h-[320px] w-full resize-y rounded-md border border-[var(--ds-border)] bg-[var(--ds-bg)] p-3 text-base leading-6 text-[var(--ds-text)] outline-none focus-visible:ring-2",spellCheck:!1,value:x,placeholder:"Markdown 源码…",onChange:e=>p(e.target.value)})})}function w(e){let{items:t,saveBusy:l,onToggleEnabled:s,onExport:i,onRemove:n,className:r}=e,c=[{key:"name",title:"名称",headerClassName:"text-base",cellClassName:"text-base",render:e=>"/".concat(e.name)},{key:"description",title:"详情",headerClassName:"text-base",cellClassName:"text-base",render:e=>e.description||"-"},{key:"status",title:"状态",headerClassName:"w-[160px] text-base",cellClassName:"w-[160px] text-base text-[var(--ds-text)]",render:()=>"已安装"},{key:"enabled",title:"启用/未启用",headerClassName:"w-[160px] text-right text-base",cellClassName:"w-[160px] py-2 text-right align-middle",render:e=>(0,a.jsx)("span",{className:"inline-flex items-center justify-end gap-2",children:(0,a.jsx)(d.AccentSwitch,{checked:e.enabled,disabled:l,onCheckedChange:a=>s(e.name,a),"aria-label":"".concat(e.enabled?"禁用":"启用"," ").concat(e.name)})})},{key:"actions",title:"操作",headerClassName:"w-[128px] text-base",cellClassName:"w-[128px]",render:e=>(0,a.jsxs)("div",{className:"inline-flex items-center justify-end gap-1",children:[(0,a.jsx)(u.IconTooltipButton,{icon:"Download",label:"导出",ariaLabel:"导出 ".concat(e.name),disabled:l,onClick:()=>i(e.name)}),(0,a.jsx)(u.IconTooltipButton,{icon:"Trash2",label:"删除",tone:"danger",ariaLabel:"删除 ".concat(e.name),disabled:l,onClick:()=>{n(e.name)}})]})}];return(0,a.jsx)(o.AppTable,{rows:t,columns:c,getRowKey:e=>"skills:".concat(e.name),className:r})}var S=e.i(68499),T=e.i(56708);function A(e,a){var t,l,s;let i=(s=null!=(l=null!=(t=e.description)?t:e.whenToUse)?l:"")?s.length>100?s.slice(0,100):s:"";return{...e,id:e.name,label:"/".concat(e.name),description:i,isRuntime:a,canManage:e.canManage}}let B=[{value:"basic",label:"基础Skill"},{value:"installed",label:"已安装Skill"},{value:"cloud_catalog",label:"Skill商店"}];function I(){let e=(0,l.useAppStore)(e=>e.wsUrl),p=(0,l.useAppStore)(e=>e.apiBase),m=(0,l.useAppStore)(e=>e.agentConfig),b=(0,l.useAppStore)(e=>e.patchAgentConfig),{currentAgent:h,loadAgentConfig:g}=(0,s.useSession)(),y=(0,n.usePersistAgentConfigField)("skills"),k=m.skills,C=(0,t.useMemo)(()=>[...k].sort().join("\0"),[k]),[I,z]=(0,t.useState)([]),[R,E]=(0,t.useState)([]),[P,L]=(0,t.useState)([]),[D,M]=(0,t.useState)(!1),[U,K]=(0,t.useState)(!1),[O,F]=(0,t.useState)(!1),[_,H]=(0,t.useState)("basic"),[V,W]=(0,t.useState)(!1),[q,G]=(0,t.useState)(""),[J,Q]=(0,t.useState)(!1);(0,t.useEffect)(()=>{g()},[g]);let X=(0,t.useCallback)(async(e,a)=>{F(!0);try{await y(e,{silent:a})}finally{F(!1)}},[y]),Y=(0,t.useCallback)(async()=>{z([]),M(!0);try{var a;let t=await (0,f.listBaseSkills)(e,p,h());z((null!=(a=t.skills)?a:[]).map(e=>A(e,!1)))}catch(e){z([]),i.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{M(!1)}},[e,p,h]),Z=(0,t.useCallback)(async()=>{E([]),K(!0);try{var a;let t=await (0,f.listInstalledSkills)(e,p,h());E((null!=(a=t.skills)?a:[]).map(e=>A(e,!0)))}catch(e){E([]),i.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{K(!1)}},[e,p,h]),$=(0,t.useCallback)(async()=>{await Promise.all([Y(),Z()])},[Y,Z]),ee=(0,t.useCallback)(async a=>{if(await (0,S.confirmAlertDialog)({title:"确认删除 Skill 包?",description:"Skill:".concat(a),confirmText:"删除",cancelText:"取消"}))try{await (0,f.deleteRuntimeSkill)(e,p,h(),a);let t=k.filter(e=>e!==a);L(e=>e.filter(e=>e!==a)),b({skills:t}),await X(t,!0),await $()}catch(e){i.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[e,p,h,k,b,X,$]);(0,t.useEffect)(()=>{"basic"===_&&Y(),"installed"===_&&Z()},[_,Y,Z]);let ea=(0,t.useCallback)(()=>{$()},[$]);(0,t.useEffect)(()=>{"basic"===_&&L([...k])},[_,k,C]);let et=(0,t.useCallback)(e=>{let a=[...new Set(e)].sort();b({skills:a}),X(a,!0)},[b,X]),el=(0,t.useMemo)(()=>R.slice().sort((e,a)=>e.label.localeCompare(a.label)).map(e=>({name:e.id,installed:!0,description:e.description||"",enabled:k.includes(e.id)})),[R,k]),es=(0,t.useCallback)((e,a)=>{let t=a?[...new Set([...k,e])].sort():k.filter(a=>a!==e);b({skills:t}),L(t),X(t,!0)},[k,b,X]),ei=(0,t.useCallback)(a=>{window.open((0,f.exportRuntimeSkillUrl)(e,p,h(),a),"_blank","noopener")},[e,p,h]),en=(0,t.useCallback)(e=>{G(e.id),Q(!0)},[]),er=[{key:"name",title:"名称",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"text-base text-[var(--ds-text)]",render:e=>e.label},{key:"description",title:"详情",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"text-base text-[var(--ds-text)]",render:e=>e.description||"-"},{key:"enabled",title:"启用/未启用",headerClassName:"w-[102px] text-right text-base text-[var(--ds-muted)]",cellClassName:"w-[102px] py-2 text-right align-middle",render:e=>(0,a.jsx)("span",{className:"inline-flex justify-end",children:(0,a.jsx)(d.AccentSwitch,{checked:P.includes(e.id),disabled:O,onCheckedChange:a=>{let t=a?[...new Set([...P,e.id])]:P.filter(a=>a!==e.id);L(t),et(t)},"aria-label":"选择 ".concat(e.label)})})},{key:"actions",title:"操作",headerClassName:"w-[104px] text-right text-base text-[var(--ds-muted)]",cellClassName:"w-[104px] py-2 text-right align-middle",render:e=>(0,a.jsxs)("span",{className:"inline-flex justify-end gap-1",children:[(0,a.jsx)(u.IconTooltipButton,{icon:"Edit",label:"编辑",disabled:O,ariaLabel:"编辑 ".concat(e.label),onClick:()=>en(e)}),(0,a.jsx)(u.IconTooltipButton,{icon:"Trash2",label:"系统技能不可删除",tone:"danger",disabled:!0,ariaLabel:"删除 ".concat(e.label)})]})}];return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(T.ManageChromeHeaderActions,{children:(0,a.jsxs)(c.Button,{id:"btnAgentImportSkill",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>W(!0),children:[(0,a.jsx)(x.default,{name:"Import",size:16,className:"align-middle"}),"导入Skill"]})}),(0,a.jsxs)(r.AppTabs,{tabs:B,value:_,listVariant:"line",onChange:e=>H(e),children:[(0,a.jsx)(r.AppTabsPanel,{value:"basic",children:(0,a.jsx)("div",{className:"flex min-h-0 flex-1 flex-col gap-3",children:(0,a.jsx)("div",{className:"min-h-0",children:D?(0,a.jsx)("p",{className:"px-3 py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,a.jsx)(o.AppTable,{rows:I,columns:er,getRowKey:e=>e.id})})})}),(0,a.jsx)(r.AppTabsPanel,{value:"installed",children:U?(0,a.jsx)("p",{className:"px-3 py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,a.jsx)(w,{items:el,saveBusy:O,onToggleEnabled:es,onExport:ei,onRemove:ee})}),(0,a.jsx)(r.AppTabsPanel,{value:"cloud_catalog",className:"flex min-h-0 flex-1 flex-col",children:(0,a.jsx)(v,{active:"cloud_catalog"===_,wsUrl:e,apiBase:p,agent:h(),onAfterInstall:ea,className:"min-h-0 flex-1"})})]}),(0,a.jsx)(j,{open:V,onOpenChange:e=>{W(e),e||$()},wsUrl:e,apiBase:p,agent:h()}),(0,a.jsx)(N,{open:J,onOpenChange:Q,skillName:q,wsUrl:e,apiBase:p,agent:h(),onSaved:()=>void $()})]})}}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,98183,(e,t,r)=>{"use strict";function n(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function s(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function a(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,s(e));else t.set(r,s(n));return t}function l(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];for(let t of r){for(let r of t.keys())e.delete(r);for(let[r,n]of t.entries())e.append(r,n)}return e}Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{assign:function(){return l},searchParamsToUrlQuery:function(){return n},urlQueryToSearchParams:function(){return a}})},95057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{formatUrl:function(){return a},formatWithValidation:function(){return i},urlObjectKeys:function(){return l}});let n=e.r(90809)._(e.r(98183)),s=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:r}=e,a=e.protocol||"",l=e.pathname||"",i=e.hash||"",o=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?"["+r+"]":r),e.port&&(c+=":"+e.port)),o&&"object"==typeof o&&(o=String(n.urlQueryToSearchParams(o)));let u=e.search||o&&"?"+o||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||s.test(a))&&!1!==c?(c="//"+(c||""),l&&"/"!==l[0]&&(l="/"+l)):c||(c=""),i&&"#"!==i[0]&&(i="#"+i),u&&"?"!==u[0]&&(u="?"+u),""+a+c+(l=l.replace(/[?#]/g,encodeURIComponent))+(u=u.replace("#","%23"))+i}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function i(e){return a(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return s}});let n=e.r(71645);function s(e,t){let r=(0,n.useRef)(null),s=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=s.current;t&&(s.current=null,t())}else e&&(r.current=a(e,n)),t&&(s.current=a(t,n))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{DecodeError:function(){return h},MiddlewareNotFoundError:function(){return v},MissingStaticPage:function(){return b},NormalizeError:function(){return x},PageNotFoundError:function(){return g},SP:function(){return m},ST:function(){return f},WEB_VITALS:function(){return n},execOnce:function(){return s},getDisplayName:function(){return c},getLocationOrigin:function(){return i},getURL:function(){return o},isAbsoluteUrl:function(){return l},isResSent:function(){return u},loadGetInitialProps:function(){return p},normalizeRepeatedSlashes:function(){return d},stringifyError:function(){return j}});let n=["CLS","FCP","FID","INP","LCP","TTFB"];function s(e){let t,r=!1;return function(){for(var n=arguments.length,s=Array(n),a=0;a<n;a++)s[a]=arguments[a];return r||(r=!0,t=e(...s)),t}}let a=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>a.test(e);function i(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function o(){let{href:e}=window.location,t=i();return e.substring(t.length)}function c(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function u(e){return e.finished||e.headersSent}function d(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function p(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await p(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&u(r))return n;if(!n)throw Object.defineProperty(Error('"'+c(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let m="undefined"!=typeof performance,f=m&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class x extends Error{}class g extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class b extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class v extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function j(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=e.r(18967),s=e.r(52817);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,s.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{default:function(){return x},useLinkStatus:function(){return b}});let n=e.r(90809),s=e.r(18050),a=n._(e.r(71645)),l=e.r(95057),i=e.r(8372),o=e.r(18581),c=e.r(18967),u=e.r(84395);e.r(33525);let d=e.r(91949),p=e.r(73668),m=e.r(99781);e.r(84508);let f=e.r(65165);function h(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function x(e){var t;let r,n,l,[x,b]=(0,a.useOptimistic)(d.IDLE_LINK_STATUS),v=(0,a.useRef)(null),{href:j,as:y,children:N,prefetch:C=null,passHref:w,replace:S,shallow:k,scroll:T,onClick:A,onMouseEnter:I,onTouchStart:M,legacyBehavior:P=!1,onNavigate:E,ref:D,unstable_dynamicOnHover:_,...F}=e;r=N,P&&("string"==typeof r||"number"==typeof r)&&(r=(0,s.jsx)("a",{children:r}));let O=a.default.useContext(i.AppRouterContext),U=!1!==C,L=!1!==C?null===(t=C)||"auto"===t?f.FetchStrategy.PPR:f.FetchStrategy.Full:f.FetchStrategy.PPR,{href:V,as:R}=a.default.useMemo(()=>{let e=h(j);return{href:e,as:y?h(y):e}},[j,y]);P&&(n=a.default.Children.only(r));let z=P?n&&"object"==typeof n&&n.ref:D,B=a.default.useCallback(e=>(null!==O&&(v.current=(0,d.mountLinkInstance)(e,V,O,L,U,b)),()=>{v.current&&((0,d.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,d.unmountPrefetchableInstance)(e)}),[U,V,O,L,b]),K={ref:(0,o.useMergedRef)(B,z),onClick(e){P||"function"!=typeof A||A(e),P&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(e),O&&(e.defaultPrevented||function(e,t,r,n,s,l,i){let{nodeName:o}=e.currentTarget;if(!("A"===o.toUpperCase()&&function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||e.currentTarget.hasAttribute("download"))){if(!(0,p.isLocalURL)(t)){s&&(e.preventDefault(),location.replace(t));return}if(e.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}a.default.startTransition(()=>{(0,m.dispatchNavigateAction)(r||t,s?"replace":"push",null==l||l,n.current)})}}(e,V,R,v,S,T,E))},onMouseEnter(e){P||"function"!=typeof I||I(e),P&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),O&&U&&(0,d.onNavigationIntent)(e.currentTarget,!0===_)},onTouchStart:function(e){P||"function"!=typeof M||M(e),P&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),O&&U&&(0,d.onNavigationIntent)(e.currentTarget,!0===_)}};return(0,c.isAbsoluteUrl)(R)?K.href=R:P&&!w&&("a"!==n.type||"href"in n.props)||(K.href=(0,u.addBasePath)(R)),l=P?a.default.cloneElement(n,K):(0,s.jsx)("a",{...F,...K,children:r}),(0,s.jsx)(g.Provider,{value:x,children:l})}let g=(0,a.createContext)(d.IDLE_LINK_STATUS),b=()=>(0,a.useContext)(g);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},20291,e=>{"use strict";e.s(["TaskView",()=>K],20291);var t=e.i(18050),r=e.i(71645),n=e.i(56708),s=e.i(19455),a=e.i(72064),l=e.i(53145),i=e.i(57428),o=e.i(87676),c=e.i(76639),u=e.i(93479),d=e.i(10204),p=e.i(67489),m=e.i(24687),f=e.i(46798),h=e.i(13354),x=e.i(87243),g=e.i(92413),b=e.i(75157),v=e.i(65934);let j=[{id:"delay",label:"单次延时",description:"在指定时间后执行一次"},{id:"cron",label:"Cron 定时",description:"按照 Cron 表达式定时执行"}],y=[{value:"minutes",label:"分钟"},{value:"hours",label:"小时"}],N=[{value:"Asia/Shanghai",label:"(UTC+8) 北京,重庆,香港特别行政区,乌鲁木齐"},{value:"UTC",label:"(UTC+0) 协调世界时"}],C=[{key:"total",label:"总任务数",tone:"success",iconName:"Task"},{key:"running",label:"运行中",tone:"success",iconName:"Play"},{key:"paused",label:"已暂停",tone:"neutral",iconName:"Pause"},{key:"error",label:"执行异常",tone:"danger",iconName:"CircleAlert"}];var w=e.i(29250),S=e.i(36845);async function k(e,t,r){return(0,w.get)((0,S.buildSchedulesUrl)(e,t,r))}async function T(e,t,r,n){return(0,w.del)((0,S.buildScheduleDeleteUrl)(e,t,r,n))}async function A(e,t,r,n){return(0,w.post)((0,S.buildSchedulesUrl)(e,t,r),n)}function I(e){let{children:r,hint:n,className:a}=e;return(0,t.jsxs)("div",{className:(0,b.cn)("mb-2 flex items-center gap-1.5",a),children:[(0,t.jsx)(d.Label,{className:"text-sm font-medium text-[var(--ds-text)]",children:r}),n?(0,t.jsx)(f.TooltipProvider,{delayDuration:150,children:(0,t.jsxs)(f.Tooltip,{children:[(0,t.jsx)(f.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(s.Button,{type:"button",variant:"plain",size:"icon-xs",className:"inline-flex size-5 cursor-pointer items-center justify-center rounded-full p-0 text-[var(--ds-muted)] hover:bg-transparent hover:text-[var(--ds-text)]","aria-label":n})}),(0,t.jsx)(f.TooltipContent,{side:"top",className:"max-w-[240px]",children:n})]})}):null]})}function M(e){let{open:n,onOpenChange:f,onCreated:C}=e,w=(0,v.useAppStore)(e=>e.wsUrl),S=(0,v.useAppStore)(e=>e.apiBase),k=(0,v.useAppStore)(e=>e.sessionId),{currentAgent:T,loadSessions:M}=(0,x.useSession)(),[P,E]=(0,r.useState)(!1),[D,_]=(0,r.useState)([]),F=(0,r.useRef)(M);(0,r.useEffect)(()=>{F.current=M},[M]);let O=T(),U=(0,l.useForm)({defaultValues:{sessionId:"",templateId:"inspect",prompt:"",triggerMode:"interval",delayMinutes:"5",recurring:!1,cron:"*/5 * * * *",intervalValue:"5",intervalUnit:"minutes",startAt:"",stopMode:"permanent",endAt:"",timezone:"Asia/Shanghai"},mode:"onChange"}),L=U.watch("sessionId"),V=U.watch("triggerMode"),R=U.watch("delayMinutes"),z=U.watch("cron"),B=U.watch("intervalValue"),K=U.watch("intervalUnit"),W=U.watch("startAt"),H=U.watch("stopMode"),q=U.watch("endAt"),Q=U.watch("timezone"),Z=(0,r.useMemo)(()=>(function(e,t){let r=t.trim();return e.length>0||!r?e:[{sessionId:r}]})(D,L.trim()||k.trim()),[D,L,k]),G=(0,r.useCallback)(()=>{U.reset({sessionId:"",templateId:"inspect",prompt:"",triggerMode:"delay",delayMinutes:"5",recurring:!1,cron:"*/5 * * * *",intervalValue:"5",intervalUnit:"minutes",startAt:"",stopMode:"permanent",endAt:"",timezone:"Asia/Shanghai"})},[U]);(0,r.useEffect)(()=>{if(!n)return;let e=!1;return G(),_([]),(async()=>{var t;if(await F.current(),e)return;let r=v.useAppStore.getState().lastSessions;_(r);let n=v.useAppStore.getState().sessionId.trim(),s=(n&&r.some(e=>e.sessionId===n)?n:"")||(null==(t=r[0])?void 0:t.sessionId)||"";s&&U.setValue("sessionId",s,{shouldDirty:!1})})(),()=>{e=!0}},[n,G,U]);let J=(0,r.useCallback)(()=>{f(!1)},[f]),X=(0,r.useCallback)(async e=>{let t,r=e.sessionId.trim(),n=e.prompt.trim();if(!r)return void h.appToast.error("请选择关联会话");if(!n)return void h.appToast.error("请填写执行指令");try{t=function(e){let t={sessionId:e.sessionId.trim(),prompt:e.prompt.trim(),recurring:!1};if("cron"===e.triggerMode){let r=e.cron.trim();if(!r)throw Error("请填写 Cron 表达式");return{...t,cron:r,recurring:!0}}let r=Number(e.delayMinutes);if(!Number.isFinite(r)||r<1)throw Error("delayMinutes 必须是 >= 1 的整数");return{...t,delayMinutes:Math.floor(r),recurring:!1}}({sessionId:r,prompt:n,delayMinutes:e.delayMinutes,..."cron"===e.triggerMode&&{cron:e.cron},recurring:e.recurring})}catch(e){h.appToast.error(e instanceof Error?e.message:String(e));return}E(!0);try{await A(w,S,O,t),h.appToast.success("定时任务已创建"),J(),await (null==C?void 0:C())}catch(e){h.appToast.error("创建失败:".concat(e instanceof Error?e.message:String(e)))}finally{E(!1)}},[w,S,O,J,C]),Y=(0,r.useMemo)(()=>{let e=Number(B);return!Number.isFinite(e)||e<1?5:"hours"===K?60*e:e},[B,K]);return(0,t.jsx)(c.Dialog,{open:n,onOpenChange:f,children:(0,t.jsxs)(c.DialogContent,{className:"max-w-[720px]","aria-labelledby":"create-schedule-title",children:[(0,t.jsxs)(c.DialogHeader,{className:"items-start gap-3",children:[(0,t.jsx)("div",{className:"flex min-w-0 flex-1 items-start gap-3",children:(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)(c.DialogTitle,{id:"create-schedule-title",children:"新建定时任务"}),(0,t.jsx)(c.DialogDescription,{className:"mt-1",children:"用于自动巡检、定期追问与会话自动执行"})]})}),(0,t.jsx)(c.DialogClose,{"aria-label":"关闭"})]}),(0,t.jsx)(o.Form,{...U,children:(0,t.jsxs)("form",{onSubmit:U.handleSubmit(X),children:[(0,t.jsxs)(c.DialogBody,{className:"max-h-[min(68vh,640px)] overflow-y-auto !px-5 !py-4",children:[(0,t.jsxs)("section",{className:"mb-5",children:[(0,t.jsx)(I,{children:"关联会话"}),(0,t.jsx)(o.FormField,{control:U.control,name:"sessionId",render:e=>{let{field:r}=e;return(0,t.jsxs)(o.FormItem,{className:"min-w-0",children:[Z.length>1?(0,t.jsxs)(p.Select,{value:r.value,onValueChange:r.onChange,children:[(0,t.jsx)(o.FormControl,{children:(0,t.jsx)(p.SelectTrigger,{className:"mb-2 h-8 w-full",children:(0,t.jsx)(p.SelectValue,{placeholder:"选择会话"})})}),(0,t.jsx)(p.SelectContent,{children:Z.map(e=>(0,t.jsx)(p.SelectItem,{value:e.sessionId,children:(0,g.sessionTitle)(e)},e.sessionId))})]}):null,(0,t.jsx)(o.FormMessage,{})]})}})]}),(0,t.jsxs)("section",{className:"mb-5",children:[(0,t.jsx)(I,{children:"执行指令"}),(0,t.jsx)(o.FormField,{control:U.control,name:"prompt",render:e=>{let{field:r}=e;return(0,t.jsxs)(o.FormItem,{className:"min-w-0",children:[(0,t.jsx)(o.FormControl,{children:(0,t.jsx)(m.Textarea,{...r,maxLength:2e3,placeholder:"请描述 Agent 需要在每次执行时完成的具体任务、输出内容与注意事项。",className:"min-h-[120px] border-[var(--green-dark)] focus-visible:border-[var(--green-dark)]"})}),(0,t.jsx)(o.FormMessage,{})]})}})]}),(0,t.jsxs)("section",{children:[(0,t.jsx)(I,{className:"mb-0 shrink-0",children:"触发方式"}),(0,t.jsx)("div",{className:"mb-4 mt-2 grid grid-cols-1 gap-2 sm:grid-cols-2",children:j.map(e=>{let r=V===e.id,n="delay"===e.id?"Delay":"Cron";return(0,t.jsxs)(s.Button,{type:"button",variant:"plain-outline",onClick:()=>U.setValue("triggerMode",e.id,{shouldDirty:!0}),className:(0,b.cn)("relative h-auto cursor-pointer !rounded-md border bg-white p-3 !px-3 !py-3 text-left transition-colors",r?"!border-[var(--green-dark)] shadow-[var(--shadow-sm)] hover:bg-transparent":"border-[var(--ds-border)] hover:border-[var(--green-dark)] hover:bg-transparent"),children:[r?(0,t.jsx)("span",{className:"absolute bottom-2 right-2 text-[var(--green-dark)] [&_svg_path]:!fill-none",children:(0,t.jsx)(a.default,{name:"Check",className:"size-4 text-[var(--green-dark)]",strokeWidth:2.5})}):null,(0,t.jsx)(a.default,{name:n,className:(0,b.cn)("mb-2 mr-2 size-8",r?"text-[var(--green-dark)]":"text-[var(--ds-muted)]"),strokeWidth:1.5}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mt-0 text-sm font-medium text-[var(--ds-text)]",children:e.label}),(0,t.jsx)("p",{className:"mb-0 mt-0.5 text-xs text-[var(--ds-muted)]",children:e.description})]})]},e.id)})}),(0,t.jsx)(o.FormField,{control:U.control,name:"recurring",render:e=>{let{field:r}=e;return(0,t.jsxs)(o.FormItem,{className:"flex flex-row items-center gap-2 space-y-0",children:[(0,t.jsx)(o.FormControl,{children:(0,t.jsx)(i.Checkbox,{checked:r.value,onChange:e=>r.onChange(e.target.checked)})}),(0,t.jsx)(o.FormLabel,{className:"cursor-pointer text-sm font-normal",children:"循环执行"})]})}}),(0,t.jsx)("div",{className:"flex flex-wrap items-center justify-between gap-3 rounded-xl border border-[var(--ds-border)] bg-[var(--surface-1)] py-4",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(d.Label,{className:"shrink-0 text-sm",children:"延迟分钟"}),(0,t.jsx)(u.Input,{type:"number",min:1,max:10080,value:R,onChange:e=>U.setValue("delayMinutes",e.target.value,{shouldDirty:!0}),className:"w-[140px]"}),(0,t.jsx)("span",{className:"text-sm text-[var(--ds-muted)]",children:"(1~10080)"})]})}),"cron"===V?(0,t.jsx)("div",{className:"space-y-3 rounded-xl border border-[var(--ds-border)] bg-[var(--surface-1)] py-4",children:(0,t.jsxs)("div",{children:[(0,t.jsx)(d.Label,{className:"mb-2 block text-sm",children:"Cron(5 段,本地时区)"}),(0,t.jsx)(u.Input,{value:z,onChange:e=>U.setValue("cron",e.target.value,{shouldDirty:!0}),placeholder:"30 9 * * *"}),(0,t.jsx)("span",{className:"text-sm text-[var(--ds-muted)]",children:"格式:分 时 日 月 星期"})]})}):null,"interval"===V?(0,t.jsxs)("div",{className:"space-y-4 rounded-xl border border-[var(--ds-border)] bg-[var(--surface-1)] p-4",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-end gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(d.Label,{className:"mb-2 block text-sm",children:"巡检间隔"}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(u.Input,{type:"number",min:1,value:B,onChange:e=>U.setValue("intervalValue",e.target.value,{shouldDirty:!0}),className:"w-20"}),(0,t.jsxs)(p.Select,{value:K,onValueChange:e=>U.setValue("intervalUnit",e,{shouldDirty:!0}),children:[(0,t.jsx)(p.SelectTrigger,{className:"h-8 w-[88px]",children:(0,t.jsx)(p.SelectValue,{})}),(0,t.jsx)(p.SelectContent,{children:y.map(e=>(0,t.jsx)(p.SelectItem,{value:e.value,children:e.label},e.value))})]})]})]}),(0,t.jsxs)("div",{className:"min-w-[220px] flex-1",children:[(0,t.jsx)(d.Label,{className:"mb-2 block text-sm",children:"生效时间(开始时间)"}),(0,t.jsx)(u.Input,{type:"datetime-local",value:W,onChange:e=>U.setValue("startAt",e.target.value,{shouldDirty:!0})})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.Label,{className:"mb-2 block text-sm",children:"停止条件"}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-4 text-sm",children:[(0,t.jsxs)("label",{className:"inline-flex cursor-pointer items-center gap-2",children:[(0,t.jsx)("input",{type:"radio",name:"scheduleStopMode",checked:"permanent"===H,onChange:()=>U.setValue("stopMode","permanent",{shouldDirty:!0}),className:"accent-[var(--green-dark)]"}),"永久运行"]}),(0,t.jsxs)("label",{className:"inline-flex cursor-pointer items-center gap-2",children:[(0,t.jsx)("input",{type:"radio",name:"scheduleStopMode",checked:"endTime"===H,onChange:()=>U.setValue("stopMode","endTime",{shouldDirty:!0}),className:"accent-[var(--green-dark)]"}),"截止时间"]}),(0,t.jsx)(u.Input,{type:"datetime-local",value:q,onChange:e=>U.setValue("endAt",e.target.value,{shouldDirty:!0}),disabled:"endTime"!==H,className:"h-8 max-w-[220px]"}),(0,t.jsxs)("label",{className:"inline-flex cursor-pointer items-center gap-2",children:[(0,t.jsx)("input",{type:"radio",name:"scheduleStopMode",checked:"condition"===H,onChange:()=>U.setValue("stopMode","condition",{shouldDirty:!0}),className:"accent-[var(--green-dark)]"}),"达成条件后停止"]}),(0,t.jsx)(s.Button,{type:"button",variant:"outline",size:"sm",disabled:"condition"!==H,className:"cursor-pointer",children:"配置条件"})]}),"permanent"!==H?(0,t.jsx)("p",{className:"mt-2 text-xs text-[var(--ds-muted)]",children:"停止条件仅作展示,当前版本创建任务时按循环 Cron 提交。"}):null]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.Label,{className:"mb-2 block text-sm",children:"时区"}),(0,t.jsxs)(p.Select,{value:Q,onValueChange:e=>U.setValue("timezone",e,{shouldDirty:!0}),children:[(0,t.jsx)(p.SelectTrigger,{className:"h-8 w-full",children:(0,t.jsx)(p.SelectValue,{})}),(0,t.jsx)(p.SelectContent,{children:N.map(e=>(0,t.jsx)(p.SelectItem,{value:e.value,children:e.label},e.value))})]})]}),(0,t.jsxs)("div",{className:"rounded-lg bg-[var(--green-light)] px-3 py-2 text-sm text-[var(--green-dark)]",children:["下次执行预览:",function(e){let t=new Date(Date.now()+6e4*e),r=String(t.getHours()).padStart(2,"0"),n=String(t.getMinutes()).padStart(2,"0");return"今天 ".concat(r,":").concat(n," (UTC+8)")}(Y),W?" · 计划开始:".concat(W.replace("T"," ")):""]})]}):null]})]}),(0,t.jsxs)("div",{className:"flex shrink-0 justify-end gap-2 border-t border-[var(--ds-border)] bg-[var(--ds-sidebar)] px-5 py-3",children:[(0,t.jsx)(s.Button,{type:"button",variant:"plain-outline",onClick:J,size:"lg",disabled:P,className:"cursor-pointer",children:"取消"}),(0,t.jsx)(s.Button,{type:"submit",variant:"default",size:"lg",disabled:P||!L,className:"cursor-pointer",children:P?"创建中…":"创建任务"})]})]})})]})})}var P=e.i(22016),E=e.i(92715),D=e.i(94197),_=e.i(68499),F=e.i(97249);function O(e){let{schedule:n}=e,l=(0,v.useAppStore)(e=>e.wsUrl),i=(0,v.useAppStore)(e=>e.apiBase),o=(0,v.useAppStore)(e=>e.lastSessions),{currentAgent:c}=(0,x.useSession)(),{tasks:u,timezone:d,loading:p,error:m,deletingId:j,setDeletingId:y,loadScheduleTasks:N}=n,C=c(),w=(0,r.useMemo)(()=>"时区: ".concat(d||"local"),[d]),S=(0,r.useCallback)(()=>{N()},[N]),k=(0,r.useCallback)(async e=>{if(await (0,_.confirmAlertDialog)({title:"确认删除定时任务?",description:"任务 ID:".concat(e),confirmText:"删除",cancelText:"取消"})){y(e);try{await T(l,i,c(),e),h.appToast.success("已删除定时任务"),await N()}catch(e){h.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}finally{y(null)}}},[l,i,c,N,y]),A=(0,r.useCallback)(e=>(0,F.buildAppNavHref)("/",{ensureAgent:!0,agent:C,sessionId:e,preserveSessionId:!0}),[C]),I=[{key:"id",title:"ID",headerClassName:"w-[120px]",cellClassName:"w-[120px] font-mono",render:e=>e.id},{key:"session",title:"会话",headerClassName:"w-[140px]",cellClassName:"w-[140px]",render:e=>(0,t.jsx)(P.default,{href:A(e.sessionId),title:e.sessionId,prefetch:!1,className:(0,b.cn)("cursor-pointer text-[var(--ds-ok)] underline-offset-4 hover:underline"),children:function(e,t){let r=String(e||"").trim();if(!r)return"—";let n=t.find(e=>e.sessionId===r);return n?(0,g.sessionTitle)(n):(0,g.shortUuidTitle)(r)}(e.sessionId,o)})},{key:"cron",title:"Cron",headerClassName:"w-[120px]",cellClassName:"w-[120px]",render:e=>e.cron||"—"},{key:"nextFireAt",title:"下次执行",headerClassName:"w-[160px]",cellClassName:"w-[160px]",render:e=>(function(e){if("number"!=typeof e||!Number.isFinite(e))return"—";try{return new Date(e).toLocaleString()}catch(t){return String(e)}})(e.nextFireAt)},{key:"prompt",title:"Prompt",cellClassName:"max-w-[280px] truncate",render:e=>{var r;return(0,t.jsx)("span",{title:null!=(r=e.prompt)?r:"",children:e.prompt||""})}},{key:"type",title:"类型",headerClassName:"w-[80px]",cellClassName:"w-[80px]",render:e=>e.recurring?"循环":"一次性"},{key:"actions",title:"操作",headerClassName:"w-[120px] text-right",cellClassName:"w-[120px] text-right",render:e=>(0,t.jsx)(D.IconTooltipButton,{icon:"Trash2",label:"删除任务",tone:"danger",disabled:j===e.id,ariaLabel:"删除 ".concat(e.id),iconClassName:"text-red-500",onClick:()=>void k(e.id)})}];return(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col rounded-xl border border-[var(--ds-border)] bg-white shadow-[var(--shadow-sm)]",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 border-b border-[var(--ds-border)] px-4 py-3",children:[(0,t.jsx)("p",{className:"text-sm text-[var(--ds-muted)]",children:w}),(0,t.jsx)(f.TooltipProvider,{delayDuration:150,children:(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsxs)(f.Tooltip,{children:[(0,t.jsx)(f.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(s.Button,{type:"button",variant:"plain-outline",size:"icon",onClick:S,disabled:p,className:"cursor-pointer",children:(0,t.jsx)(a.default,{name:"Refresh",size:20,className:"shrink-0"})})}),(0,t.jsx)(f.TooltipContent,{side:"bottom",align:"center",children:"刷新任务"})]})})})]}),(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-auto p-4",children:p?(0,t.jsx)("div",{className:"flex min-h-[200px] items-center justify-center text-sm text-[var(--ds-muted)]",role:"status","aria-live":"polite",children:"加载中…"}):m?(0,t.jsxs)("div",{className:"flex min-h-[200px] flex-col items-center justify-center gap-3 text-sm text-destructive",role:"alert",children:[(0,t.jsxs)("span",{children:["加载失败:",m]}),(0,t.jsx)(s.Button,{type:"button",variant:"outline",size:"sm",onClick:S,children:"重试"})]}):(0,t.jsx)(E.AppTable,{rows:u.filter(e=>!!(null==e?void 0:e.id)),columns:I,getRowKey:e=>e.id,className:"border-0",headerRowClassName:"bg-transparent hover:bg-transparent",emptyText:"暂无定时任务"})})]})}var U=e.i(25913);let L=(0,U.cva)("flex min-w-0 flex-1 items-center gap-3 rounded-xl border bg-[var(--surface-1)] px-4 py-3.5 text-left transition-[border-color,box-shadow,background-color]",{variants:{clickable:{true:"cursor-pointer hover:border-[var(--border-hover)] hover:bg-[var(--surface-3)] hover:shadow-[var(--shadow-sm)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ds-accent)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",false:"cursor-default"},active:{true:"border-[var(--ds-accent)] shadow-[var(--shadow-sm)]",false:"border-[var(--ds-border)]"}},defaultVariants:{clickable:!1,active:!1}}),V=(0,U.cva)("flex size-10 shrink-0 items-center justify-center rounded-full [&_svg]:size-5",{variants:{tone:{success:"bg-[var(--green-light)] text-[var(--green-dark)]",neutral:"bg-[var(--surface-2)] text-[var(--ds-muted)]",danger:"bg-[#fef2f2] text-[var(--ds-danger)]"}},defaultVariants:{tone:"success"}});function R(e){let{label:r,value:n,icon:s,tone:a="success",clickable:l=!1,active:i=!1,onClick:o,className:c,disabled:u}=e,d=(0,t.jsxs)(t.Fragment,{children:[s?(0,t.jsx)("span",{className:(0,b.cn)(V({tone:a})),"aria-hidden":"true",children:s}):null,(0,t.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,t.jsx)("span",{className:"block truncate text-sm text-[var(--ds-muted)]",children:r}),(0,t.jsx)("span",{className:"mt-0.5 block truncate text-2xl font-semibold leading-none text-[var(--ds-text)]",children:n})]})]});return l?(0,t.jsx)("button",{type:"button","data-slot":"card-tab",disabled:u,"aria-pressed":!!i||void 0,className:(0,b.cn)(L({clickable:l,active:i}),c),onClick:o,children:d}):(0,t.jsx)("div",{"data-slot":"card-tab",className:(0,b.cn)(L({clickable:l,active:i}),c),children:d})}function z(e){let{className:r,children:n,...s}=e;return(0,t.jsx)("div",{"data-slot":"card-tabs",className:(0,b.cn)("flex flex-wrap gap-3",r),...s,children:n})}function B(e){let{tasks:n,className:s}=e,l=(0,r.useMemo)(()=>(function(e){let t={total:e.length,running:0,paused:0,error:0};for(let r of e){let e=function(e){if("string"!=typeof e)return null;let t=e.trim().toLowerCase();return"running"===t||"active"===t||"scheduled"===t?"running":"paused"===t||"pause"===t||"stopped"===t?"paused":"error"===t||"failed"===t||"abnormal"===t||"exception"===t?"error":null}(r.status);e&&(t[e]+=1)}return t})(n),[n]);return(0,t.jsx)(z,{className:s,children:C.map(e=>{let{key:r,label:n,tone:s,iconName:i}=e;return(0,t.jsx)(R,{label:n,value:l[r],tone:s,icon:(0,t.jsx)(a.default,{name:i,size:20,className:"shrink-0"})},r)})})}function K(){let[e,l]=(0,r.useState)(!1),i=function(){let e=(0,v.useAppStore)(e=>e.wsUrl),t=(0,v.useAppStore)(e=>e.apiBase),n=(0,v.useAppStore)(e=>e.agentId),{loadSessions:s}=(0,x.useSession)(),[a,l]=(0,r.useState)([]),[i,o]=(0,r.useState)("local"),[c,u]=(0,r.useState)(!0),[d,p]=(0,r.useState)(null),[m,f]=(0,r.useState)(null),g=(0,r.useCallback)(async()=>{u(!0),p(null);try{let r=v.useAppStore.getState().agentId.trim()||"qihoo",n=await k(e,t,r);l(Array.isArray(n.tasks)?n.tasks:[]),o("string"==typeof n.timezone?n.timezone:"local")}catch(t){let e=t instanceof Error?t.message:String(t);l([]),p(e),h.appToast.error("加载失败:".concat(e))}finally{u(!1)}},[e,t]);return(0,r.useEffect)(()=>{(0,F.isAgentUrlStoreSyncPending)(n)||(async()=>{await s(),await g()})()},[n,s,g]),{tasks:a,timezone:i,loading:c,error:d,deletingId:m,setDeletingId:f,loadScheduleTasks:g}}(),o=(0,r.useCallback)(()=>{l(!0)},[]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.ManageChromeHeaderActions,{children:(0,t.jsx)("div",{className:"flex flex-wrap items-center",children:(0,t.jsxs)(s.Button,{type:"button",variant:"default",size:"lg",onClick:o,className:"mr-[12px]",children:[(0,t.jsx)(a.default,{name:"Create",size:16,className:"align-middle"}),"新建定时任务"]})})}),(0,t.jsx)(B,{tasks:i.tasks,className:"mb-4"}),(0,t.jsx)(O,{schedule:i}),(0,t.jsx)(M,{open:e,onOpenChange:l,onCreated:i.loadScheduleTasks})]})}}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,98183,(e,t,r)=>{"use strict";function n(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function s(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function a(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,s(e));else t.set(r,s(n));return t}function l(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];for(let t of r){for(let r of t.keys())e.delete(r);for(let[r,n]of t.entries())e.append(r,n)}return e}Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{assign:function(){return l},searchParamsToUrlQuery:function(){return n},urlQueryToSearchParams:function(){return a}})},95057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{formatUrl:function(){return a},formatWithValidation:function(){return i},urlObjectKeys:function(){return l}});let n=e.r(90809)._(e.r(98183)),s=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:r}=e,a=e.protocol||"",l=e.pathname||"",i=e.hash||"",o=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?"["+r+"]":r),e.port&&(c+=":"+e.port)),o&&"object"==typeof o&&(o=String(n.urlQueryToSearchParams(o)));let u=e.search||o&&"?"+o||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||s.test(a))&&!1!==c?(c="//"+(c||""),l&&"/"!==l[0]&&(l="/"+l)):c||(c=""),i&&"#"!==i[0]&&(i="#"+i),u&&"?"!==u[0]&&(u="?"+u),""+a+c+(l=l.replace(/[?#]/g,encodeURIComponent))+(u=u.replace("#","%23"))+i}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function i(e){return a(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return s}});let n=e.r(71645);function s(e,t){let r=(0,n.useRef)(null),s=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=s.current;t&&(s.current=null,t())}else e&&(r.current=a(e,n)),t&&(s.current=a(t,n))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{DecodeError:function(){return h},MiddlewareNotFoundError:function(){return v},MissingStaticPage:function(){return b},NormalizeError:function(){return x},PageNotFoundError:function(){return g},SP:function(){return m},ST:function(){return f},WEB_VITALS:function(){return n},execOnce:function(){return s},getDisplayName:function(){return c},getLocationOrigin:function(){return i},getURL:function(){return o},isAbsoluteUrl:function(){return l},isResSent:function(){return u},loadGetInitialProps:function(){return p},normalizeRepeatedSlashes:function(){return d},stringifyError:function(){return j}});let n=["CLS","FCP","FID","INP","LCP","TTFB"];function s(e){let t,r=!1;return function(){for(var n=arguments.length,s=Array(n),a=0;a<n;a++)s[a]=arguments[a];return r||(r=!0,t=e(...s)),t}}let a=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>a.test(e);function i(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function o(){let{href:e}=window.location,t=i();return e.substring(t.length)}function c(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function u(e){return e.finished||e.headersSent}function d(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function p(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await p(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&u(r))return n;if(!n)throw Object.defineProperty(Error('"'+c(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let m="undefined"!=typeof performance,f=m&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class x extends Error{}class g extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class b extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class v extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function j(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=e.r(18967),s=e.r(52817);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,s.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{default:function(){return x},useLinkStatus:function(){return b}});let n=e.r(90809),s=e.r(18050),a=n._(e.r(71645)),l=e.r(95057),i=e.r(8372),o=e.r(18581),c=e.r(18967),u=e.r(84395);e.r(33525);let d=e.r(91949),p=e.r(73668),m=e.r(99781);e.r(84508);let f=e.r(65165);function h(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function x(e){var t;let r,n,l,[x,b]=(0,a.useOptimistic)(d.IDLE_LINK_STATUS),v=(0,a.useRef)(null),{href:j,as:y,children:N,prefetch:C=null,passHref:S,replace:w,shallow:k,scroll:T,onClick:A,onMouseEnter:I,onTouchStart:M,legacyBehavior:P=!1,onNavigate:E,ref:D,unstable_dynamicOnHover:_,...F}=e;r=N,P&&("string"==typeof r||"number"==typeof r)&&(r=(0,s.jsx)("a",{children:r}));let O=a.default.useContext(i.AppRouterContext),U=!1!==C,L=!1!==C?null===(t=C)||"auto"===t?f.FetchStrategy.PPR:f.FetchStrategy.Full:f.FetchStrategy.PPR,{href:V,as:R}=a.default.useMemo(()=>{let e=h(j);return{href:e,as:y?h(y):e}},[j,y]);P&&(n=a.default.Children.only(r));let z=P?n&&"object"==typeof n&&n.ref:D,B=a.default.useCallback(e=>(null!==O&&(v.current=(0,d.mountLinkInstance)(e,V,O,L,U,b)),()=>{v.current&&((0,d.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,d.unmountPrefetchableInstance)(e)}),[U,V,O,L,b]),K={ref:(0,o.useMergedRef)(B,z),onClick(e){P||"function"!=typeof A||A(e),P&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(e),O&&(e.defaultPrevented||function(e,t,r,n,s,l,i){let{nodeName:o}=e.currentTarget;if(!("A"===o.toUpperCase()&&function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||e.currentTarget.hasAttribute("download"))){if(!(0,p.isLocalURL)(t)){s&&(e.preventDefault(),location.replace(t));return}if(e.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}a.default.startTransition(()=>{(0,m.dispatchNavigateAction)(r||t,s?"replace":"push",null==l||l,n.current)})}}(e,V,R,v,w,T,E))},onMouseEnter(e){P||"function"!=typeof I||I(e),P&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),O&&U&&(0,d.onNavigationIntent)(e.currentTarget,!0===_)},onTouchStart:function(e){P||"function"!=typeof M||M(e),P&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),O&&U&&(0,d.onNavigationIntent)(e.currentTarget,!0===_)}};return(0,c.isAbsoluteUrl)(R)?K.href=R:P&&!S&&("a"!==n.type||"href"in n.props)||(K.href=(0,u.addBasePath)(R)),l=P?a.default.cloneElement(n,K):(0,s.jsx)("a",{...F,...K,children:r}),(0,s.jsx)(g.Provider,{value:x,children:l})}let g=(0,a.createContext)(d.IDLE_LINK_STATUS),b=()=>(0,a.useContext)(g);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},20291,e=>{"use strict";e.s(["TaskView",()=>K],20291);var t=e.i(18050),r=e.i(71645),n=e.i(56708),s=e.i(19455),a=e.i(72064),l=e.i(53145),i=e.i(57428),o=e.i(87676),c=e.i(76639),u=e.i(93479),d=e.i(10204),p=e.i(67489),m=e.i(24687),f=e.i(46798),h=e.i(13354),x=e.i(87243),g=e.i(92413),b=e.i(75157),v=e.i(65934);let j=[{id:"delay",label:"单次延时",description:"在指定时间后执行一次"},{id:"cron",label:"Cron 定时",description:"按照 Cron 表达式定时执行"}],y=[{value:"minutes",label:"分钟"},{value:"hours",label:"小时"}],N=[{value:"Asia/Shanghai",label:"(UTC+8) 北京,重庆,香港特别行政区,乌鲁木齐"},{value:"UTC",label:"(UTC+0) 协调世界时"}],C=[{key:"total",label:"总任务数",tone:"success",iconName:"Task"},{key:"running",label:"运行中",tone:"success",iconName:"Play"},{key:"paused",label:"已暂停",tone:"neutral",iconName:"Pause"},{key:"error",label:"执行异常",tone:"danger",iconName:"CircleAlert"}];var S=e.i(29250),w=e.i(36845);async function k(e,t,r){return(0,S.get)((0,w.buildSchedulesUrl)(e,t,r))}async function T(e,t,r,n){return(0,S.del)((0,w.buildScheduleDeleteUrl)(e,t,r,n))}async function A(e,t,r,n){return(0,S.post)((0,w.buildSchedulesUrl)(e,t,r),n)}function I(e){let{children:r,hint:n,className:a}=e;return(0,t.jsxs)("div",{className:(0,b.cn)("mb-2 flex items-center gap-1.5",a),children:[(0,t.jsx)(d.Label,{className:"text-sm font-medium text-[var(--ds-text)]",children:r}),n?(0,t.jsx)(f.TooltipProvider,{delayDuration:150,children:(0,t.jsxs)(f.Tooltip,{children:[(0,t.jsx)(f.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(s.Button,{type:"button",variant:"plain",size:"icon-xs",className:"inline-flex size-5 cursor-pointer items-center justify-center rounded-full p-0 text-[var(--ds-muted)] hover:bg-transparent hover:text-[var(--ds-text)]","aria-label":n})}),(0,t.jsx)(f.TooltipContent,{side:"top",className:"max-w-[240px]",children:n})]})}):null]})}function M(e){let{open:n,onOpenChange:f,onCreated:C}=e,S=(0,v.useAppStore)(e=>e.wsUrl),w=(0,v.useAppStore)(e=>e.apiBase),k=(0,v.useAppStore)(e=>e.sessionId),{currentAgent:T,loadSessions:M}=(0,x.useSession)(),[P,E]=(0,r.useState)(!1),[D,_]=(0,r.useState)([]),F=(0,r.useRef)(M);(0,r.useEffect)(()=>{F.current=M},[M]);let O=T(),U=(0,l.useForm)({defaultValues:{sessionId:"",templateId:"inspect",prompt:"",triggerMode:"interval",delayMinutes:"5",recurring:!1,cron:"*/5 * * * *",intervalValue:"5",intervalUnit:"minutes",startAt:"",stopMode:"permanent",endAt:"",timezone:"Asia/Shanghai"},mode:"onChange"}),L=U.watch("sessionId"),V=U.watch("triggerMode"),R=U.watch("delayMinutes"),z=U.watch("cron"),B=U.watch("intervalValue"),K=U.watch("intervalUnit"),W=U.watch("startAt"),H=U.watch("stopMode"),q=U.watch("endAt"),Q=U.watch("timezone"),Z=(0,r.useMemo)(()=>(function(e,t){let r=t.trim();return e.length>0||!r?e:[{sessionId:r}]})(D,L.trim()||k.trim()),[D,L,k]),G=(0,r.useCallback)(()=>{U.reset({sessionId:"",templateId:"inspect",prompt:"",triggerMode:"delay",delayMinutes:"5",recurring:!1,cron:"*/5 * * * *",intervalValue:"5",intervalUnit:"minutes",startAt:"",stopMode:"permanent",endAt:"",timezone:"Asia/Shanghai"})},[U]);(0,r.useEffect)(()=>{if(!n)return;let e=!1;return G(),_([]),(async()=>{var t;if(await F.current(),e)return;let r=v.useAppStore.getState().lastSessions;_(r);let n=v.useAppStore.getState().sessionId.trim(),s=(n&&r.some(e=>e.sessionId===n)?n:"")||(null==(t=r[0])?void 0:t.sessionId)||"";s&&U.setValue("sessionId",s,{shouldDirty:!1})})(),()=>{e=!0}},[n,G,U]);let J=(0,r.useCallback)(()=>{f(!1)},[f]),X=(0,r.useCallback)(async e=>{let t,r=e.sessionId.trim(),n=e.prompt.trim();if(!r)return void h.appToast.error("请选择关联会话");if(!n)return void h.appToast.error("请填写执行指令");try{t=function(e){let t={sessionId:e.sessionId.trim(),prompt:e.prompt.trim(),recurring:!1};if("cron"===e.triggerMode){let r=e.cron.trim();if(!r)throw Error("请填写 Cron 表达式");return{...t,cron:r,recurring:!0}}let r=Number(e.delayMinutes);if(!Number.isFinite(r)||r<1)throw Error("delayMinutes 必须是 >= 1 的整数");return{...t,delayMinutes:Math.floor(r),recurring:!1}}({sessionId:r,prompt:n,delayMinutes:e.delayMinutes,..."cron"===e.triggerMode&&{cron:e.cron},recurring:e.recurring})}catch(e){h.appToast.error(e instanceof Error?e.message:String(e));return}E(!0);try{await A(S,w,O,t),h.appToast.success("定时任务已创建"),J(),await (null==C?void 0:C())}catch(e){h.appToast.error("创建失败:".concat(e instanceof Error?e.message:String(e)))}finally{E(!1)}},[S,w,O,J,C]),Y=(0,r.useMemo)(()=>{let e=Number(B);return!Number.isFinite(e)||e<1?5:"hours"===K?60*e:e},[B,K]);return(0,t.jsx)(c.Dialog,{open:n,onOpenChange:f,children:(0,t.jsxs)(c.DialogContent,{className:"max-w-[720px]","aria-labelledby":"create-schedule-title",children:[(0,t.jsxs)(c.DialogHeader,{className:"items-start gap-3",children:[(0,t.jsx)("div",{className:"flex min-w-0 flex-1 items-start gap-3",children:(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)(c.DialogTitle,{id:"create-schedule-title",children:"新建定时任务"}),(0,t.jsx)(c.DialogDescription,{className:"mt-1",children:"用于自动巡检、定期追问与会话自动执行"})]})}),(0,t.jsx)(c.DialogClose,{"aria-label":"关闭"})]}),(0,t.jsx)(o.Form,{...U,children:(0,t.jsxs)("form",{onSubmit:U.handleSubmit(X),children:[(0,t.jsxs)(c.DialogBody,{className:"max-h-[min(68vh,640px)] overflow-y-auto !px-5 !py-4",children:[(0,t.jsxs)("section",{className:"mb-5",children:[(0,t.jsx)(I,{children:"关联会话"}),(0,t.jsx)(o.FormField,{control:U.control,name:"sessionId",render:e=>{let{field:r}=e;return(0,t.jsxs)(o.FormItem,{className:"min-w-0",children:[Z.length>1?(0,t.jsxs)(p.Select,{value:r.value,onValueChange:r.onChange,children:[(0,t.jsx)(o.FormControl,{children:(0,t.jsx)(p.SelectTrigger,{className:"mb-2 h-8 w-full",children:(0,t.jsx)(p.SelectValue,{placeholder:"选择会话"})})}),(0,t.jsx)(p.SelectContent,{children:Z.map(e=>(0,t.jsx)(p.SelectItem,{value:e.sessionId,children:(0,g.sessionTitle)(e)},e.sessionId))})]}):null,(0,t.jsx)(o.FormMessage,{})]})}})]}),(0,t.jsxs)("section",{className:"mb-5",children:[(0,t.jsx)(I,{children:"执行指令"}),(0,t.jsx)(o.FormField,{control:U.control,name:"prompt",render:e=>{let{field:r}=e;return(0,t.jsxs)(o.FormItem,{className:"min-w-0",children:[(0,t.jsx)(o.FormControl,{children:(0,t.jsx)(m.Textarea,{...r,maxLength:2e3,placeholder:"请描述 Agent 需要在每次执行时完成的具体任务、输出内容与注意事项。",className:"min-h-[120px] border-[var(--green-dark)] focus-visible:border-[var(--green-dark)]"})}),(0,t.jsx)(o.FormMessage,{})]})}})]}),(0,t.jsxs)("section",{children:[(0,t.jsx)(I,{className:"mb-0 shrink-0",children:"触发方式"}),(0,t.jsx)("div",{className:"mb-4 mt-2 grid grid-cols-1 gap-2 sm:grid-cols-2",children:j.map(e=>{let r=V===e.id,n="delay"===e.id?"Delay":"Cron";return(0,t.jsxs)(s.Button,{type:"button",variant:"plain-outline",onClick:()=>U.setValue("triggerMode",e.id,{shouldDirty:!0}),className:(0,b.cn)("relative h-auto cursor-pointer !rounded-md border bg-white p-3 !px-3 !py-3 text-left transition-colors",r?"!border-[var(--green-dark)] shadow-[var(--shadow-sm)] hover:bg-transparent":"border-[var(--ds-border)] hover:border-[var(--green-dark)] hover:bg-transparent"),children:[r?(0,t.jsx)("span",{className:"absolute bottom-2 right-2 text-[var(--green-dark)] [&_svg_path]:!fill-none",children:(0,t.jsx)(a.default,{name:"Check",className:"size-4 text-[var(--green-dark)]",strokeWidth:2.5})}):null,(0,t.jsx)(a.default,{name:n,className:(0,b.cn)("mb-2 mr-2 size-8",r?"text-[var(--green-dark)]":"text-[var(--ds-muted)]"),strokeWidth:1.5}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mt-0 text-sm font-medium text-[var(--ds-text)]",children:e.label}),(0,t.jsx)("p",{className:"mb-0 mt-0.5 text-xs text-[var(--ds-muted)]",children:e.description})]})]},e.id)})}),(0,t.jsx)(o.FormField,{control:U.control,name:"recurring",render:e=>{let{field:r}=e;return(0,t.jsxs)(o.FormItem,{className:"flex flex-row items-center gap-2 space-y-0",children:[(0,t.jsx)(o.FormControl,{children:(0,t.jsx)(i.Checkbox,{checked:r.value,onChange:e=>r.onChange(e.target.checked)})}),(0,t.jsx)(o.FormLabel,{className:"cursor-pointer text-sm font-normal",children:"循环执行"})]})}}),(0,t.jsx)("div",{className:"flex flex-wrap items-center justify-between gap-3 rounded-xl border border-[var(--ds-border)] bg-[var(--surface-1)] py-4",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(d.Label,{className:"shrink-0 text-sm",children:"延迟分钟"}),(0,t.jsx)(u.Input,{type:"number",min:1,max:10080,value:R,onChange:e=>U.setValue("delayMinutes",e.target.value,{shouldDirty:!0}),className:"w-[140px]"}),(0,t.jsx)("span",{className:"text-sm text-[var(--ds-muted)]",children:"(1~10080)"})]})}),"cron"===V?(0,t.jsx)("div",{className:"space-y-3 rounded-xl border border-[var(--ds-border)] bg-[var(--surface-1)] py-4",children:(0,t.jsxs)("div",{children:[(0,t.jsx)(d.Label,{className:"mb-2 block text-sm",children:"Cron(5 段,本地时区)"}),(0,t.jsx)(u.Input,{value:z,onChange:e=>U.setValue("cron",e.target.value,{shouldDirty:!0}),placeholder:"30 9 * * *"}),(0,t.jsx)("span",{className:"text-sm text-[var(--ds-muted)]",children:"格式:分 时 日 月 星期"})]})}):null,"interval"===V?(0,t.jsxs)("div",{className:"space-y-4 rounded-xl border border-[var(--ds-border)] bg-[var(--surface-1)] p-4",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-end gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(d.Label,{className:"mb-2 block text-sm",children:"巡检间隔"}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(u.Input,{type:"number",min:1,value:B,onChange:e=>U.setValue("intervalValue",e.target.value,{shouldDirty:!0}),className:"w-20"}),(0,t.jsxs)(p.Select,{value:K,onValueChange:e=>U.setValue("intervalUnit",e,{shouldDirty:!0}),children:[(0,t.jsx)(p.SelectTrigger,{className:"h-8 w-[88px]",children:(0,t.jsx)(p.SelectValue,{})}),(0,t.jsx)(p.SelectContent,{children:y.map(e=>(0,t.jsx)(p.SelectItem,{value:e.value,children:e.label},e.value))})]})]})]}),(0,t.jsxs)("div",{className:"min-w-[220px] flex-1",children:[(0,t.jsx)(d.Label,{className:"mb-2 block text-sm",children:"生效时间(开始时间)"}),(0,t.jsx)(u.Input,{type:"datetime-local",value:W,onChange:e=>U.setValue("startAt",e.target.value,{shouldDirty:!0})})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.Label,{className:"mb-2 block text-sm",children:"停止条件"}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-4 text-sm",children:[(0,t.jsxs)("label",{className:"inline-flex cursor-pointer items-center gap-2",children:[(0,t.jsx)("input",{type:"radio",name:"scheduleStopMode",checked:"permanent"===H,onChange:()=>U.setValue("stopMode","permanent",{shouldDirty:!0}),className:"accent-[var(--green-dark)]"}),"永久运行"]}),(0,t.jsxs)("label",{className:"inline-flex cursor-pointer items-center gap-2",children:[(0,t.jsx)("input",{type:"radio",name:"scheduleStopMode",checked:"endTime"===H,onChange:()=>U.setValue("stopMode","endTime",{shouldDirty:!0}),className:"accent-[var(--green-dark)]"}),"截止时间"]}),(0,t.jsx)(u.Input,{type:"datetime-local",value:q,onChange:e=>U.setValue("endAt",e.target.value,{shouldDirty:!0}),disabled:"endTime"!==H,className:"h-8 max-w-[220px]"}),(0,t.jsxs)("label",{className:"inline-flex cursor-pointer items-center gap-2",children:[(0,t.jsx)("input",{type:"radio",name:"scheduleStopMode",checked:"condition"===H,onChange:()=>U.setValue("stopMode","condition",{shouldDirty:!0}),className:"accent-[var(--green-dark)]"}),"达成条件后停止"]}),(0,t.jsx)(s.Button,{type:"button",variant:"outline",size:"sm",disabled:"condition"!==H,className:"cursor-pointer",children:"配置条件"})]}),"permanent"!==H?(0,t.jsx)("p",{className:"mt-2 text-xs text-[var(--ds-muted)]",children:"停止条件仅作展示,当前版本创建任务时按循环 Cron 提交。"}):null]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.Label,{className:"mb-2 block text-sm",children:"时区"}),(0,t.jsxs)(p.Select,{value:Q,onValueChange:e=>U.setValue("timezone",e,{shouldDirty:!0}),children:[(0,t.jsx)(p.SelectTrigger,{className:"h-8 w-full",children:(0,t.jsx)(p.SelectValue,{})}),(0,t.jsx)(p.SelectContent,{children:N.map(e=>(0,t.jsx)(p.SelectItem,{value:e.value,children:e.label},e.value))})]})]}),(0,t.jsxs)("div",{className:"rounded-lg bg-[var(--green-light)] px-3 py-2 text-sm text-[var(--green-dark)]",children:["下次执行预览:",function(e){let t=new Date(Date.now()+6e4*e),r=String(t.getHours()).padStart(2,"0"),n=String(t.getMinutes()).padStart(2,"0");return"今天 ".concat(r,":").concat(n," (UTC+8)")}(Y),W?" · 计划开始:".concat(W.replace("T"," ")):""]})]}):null]})]}),(0,t.jsxs)("div",{className:"flex shrink-0 justify-end gap-2 border-t border-[var(--ds-border)] bg-[var(--ds-sidebar)] px-5 py-3",children:[(0,t.jsx)(s.Button,{type:"button",variant:"plain-outline",onClick:J,size:"lg",disabled:P,className:"cursor-pointer",children:"取消"}),(0,t.jsx)(s.Button,{type:"submit",variant:"default",size:"lg",disabled:P||!L,className:"cursor-pointer",children:P?"创建中…":"创建任务"})]})]})})]})})}var P=e.i(22016),E=e.i(92715),D=e.i(94197),_=e.i(68499),F=e.i(97249);function O(e){let{schedule:n}=e,l=(0,v.useAppStore)(e=>e.wsUrl),i=(0,v.useAppStore)(e=>e.apiBase),o=(0,v.useAppStore)(e=>e.lastSessions),{currentAgent:c}=(0,x.useSession)(),{tasks:u,timezone:d,loading:p,error:m,deletingId:j,setDeletingId:y,loadScheduleTasks:N}=n,C=c(),S=(0,r.useMemo)(()=>"时区: ".concat(d||"local"),[d]),w=(0,r.useCallback)(()=>{N()},[N]),k=(0,r.useCallback)(async e=>{if(await (0,_.confirmAlertDialog)({title:"确认删除定时任务?",description:"任务 ID:".concat(e),confirmText:"删除",cancelText:"取消"})){y(e);try{await T(l,i,c(),e),h.appToast.success("已删除定时任务"),await N()}catch(e){h.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}finally{y(null)}}},[l,i,c,N,y]),A=(0,r.useCallback)(e=>(0,F.buildAppNavHref)("/",{ensureAgent:!0,agent:C,sessionId:e,preserveSessionId:!0}),[C]),I=[{key:"id",title:"ID",headerClassName:"w-[120px]",cellClassName:"w-[120px] font-mono",render:e=>e.id},{key:"session",title:"会话",headerClassName:"w-[140px]",cellClassName:"w-[140px]",render:e=>(0,t.jsx)(P.default,{href:A(e.sessionId),title:e.sessionId,prefetch:!1,className:(0,b.cn)("cursor-pointer text-[var(--ds-ok)] underline-offset-4 hover:underline"),children:function(e,t){let r=String(e||"").trim();if(!r)return"—";let n=t.find(e=>e.sessionId===r);return n?(0,g.sessionTitle)(n):(0,g.shortUuidTitle)(r)}(e.sessionId,o)})},{key:"cron",title:"Cron",headerClassName:"w-[120px]",cellClassName:"w-[120px]",render:e=>e.cron||"—"},{key:"nextFireAt",title:"下次执行",headerClassName:"w-[160px]",cellClassName:"w-[160px]",render:e=>(function(e){if("number"!=typeof e||!Number.isFinite(e))return"—";try{return new Date(e).toLocaleString()}catch(t){return String(e)}})(e.nextFireAt)},{key:"prompt",title:"Prompt",cellClassName:"max-w-[280px] truncate",render:e=>{var r;return(0,t.jsx)("span",{title:null!=(r=e.prompt)?r:"",children:e.prompt||""})}},{key:"type",title:"类型",headerClassName:"w-[80px]",cellClassName:"w-[80px]",render:e=>e.recurring?"循环":"一次性"},{key:"actions",title:"操作",headerClassName:"w-[120px] text-right",cellClassName:"w-[120px] text-right",render:e=>(0,t.jsx)(D.IconTooltipButton,{icon:"Trash2",label:"删除任务",tone:"danger",disabled:j===e.id,ariaLabel:"删除 ".concat(e.id),iconClassName:"text-red-500",onClick:()=>void k(e.id)})}];return(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col rounded-xl border border-[var(--ds-border)] bg-white shadow-[var(--shadow-sm)]",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 border-b border-[var(--ds-border)] px-4 py-3",children:[(0,t.jsx)("p",{className:"text-sm text-[var(--ds-muted)]",children:S}),(0,t.jsx)(f.TooltipProvider,{delayDuration:150,children:(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsxs)(f.Tooltip,{children:[(0,t.jsx)(f.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(s.Button,{type:"button",variant:"plain-outline",size:"icon",onClick:w,disabled:p,className:"cursor-pointer",children:(0,t.jsx)(a.default,{name:"Refresh",size:20,className:"shrink-0"})})}),(0,t.jsx)(f.TooltipContent,{side:"bottom",align:"center",children:"刷新任务"})]})})})]}),(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-auto p-4",children:p?(0,t.jsx)("div",{className:"flex min-h-[200px] items-center justify-center text-sm text-[var(--ds-muted)]",role:"status","aria-live":"polite",children:"加载中…"}):m?(0,t.jsxs)("div",{className:"flex min-h-[200px] flex-col items-center justify-center gap-3 text-sm text-destructive",role:"alert",children:[(0,t.jsxs)("span",{children:["加载失败:",m]}),(0,t.jsx)(s.Button,{type:"button",variant:"outline",size:"sm",onClick:w,children:"重试"})]}):(0,t.jsx)(E.AppTable,{rows:u.filter(e=>!!(null==e?void 0:e.id)),columns:I,getRowKey:e=>e.id,className:"border-0",headerRowClassName:"bg-transparent hover:bg-transparent",emptyText:"暂无定时任务"})})]})}var U=e.i(25913);let L=(0,U.cva)("flex min-w-0 flex-1 items-center gap-3 rounded-xl border bg-[var(--surface-1)] px-4 py-3.5 text-left transition-[border-color,box-shadow,background-color]",{variants:{clickable:{true:"cursor-pointer hover:border-[var(--border-hover)] hover:bg-[var(--surface-3)] hover:shadow-[var(--shadow-sm)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ds-accent)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",false:"cursor-default"},active:{true:"border-[var(--ds-accent)] shadow-[var(--shadow-sm)]",false:"border-[var(--ds-border)]"}},defaultVariants:{clickable:!1,active:!1}}),V=(0,U.cva)("flex size-10 shrink-0 items-center justify-center rounded-full [&_svg]:size-5",{variants:{tone:{success:"bg-[var(--green-light)] text-[var(--green-dark)]",neutral:"bg-[var(--surface-2)] text-[var(--ds-muted)]",danger:"bg-[#fef2f2] text-[var(--ds-danger)]"}},defaultVariants:{tone:"success"}});function R(e){let{label:r,value:n,icon:s,tone:a="success",clickable:l=!1,active:i=!1,onClick:o,className:c,disabled:u}=e,d=(0,t.jsxs)(t.Fragment,{children:[s?(0,t.jsx)("span",{className:(0,b.cn)(V({tone:a})),"aria-hidden":"true",children:s}):null,(0,t.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,t.jsx)("span",{className:"block truncate text-sm text-[var(--ds-muted)]",children:r}),(0,t.jsx)("span",{className:"mt-0.5 block truncate text-2xl font-semibold leading-none text-[var(--ds-text)]",children:n})]})]});return l?(0,t.jsx)("button",{type:"button","data-slot":"card-tab",disabled:u,"aria-pressed":!!i||void 0,className:(0,b.cn)(L({clickable:l,active:i}),c),onClick:o,children:d}):(0,t.jsx)("div",{"data-slot":"card-tab",className:(0,b.cn)(L({clickable:l,active:i}),c),children:d})}function z(e){let{className:r,children:n,...s}=e;return(0,t.jsx)("div",{"data-slot":"card-tabs",className:(0,b.cn)("flex flex-wrap gap-3",r),...s,children:n})}function B(e){let{tasks:n,className:s}=e,l=(0,r.useMemo)(()=>(function(e){let t={total:e.length,running:0,paused:0,error:0};for(let r of e){let e=function(e){if("string"!=typeof e)return null;let t=e.trim().toLowerCase();return"running"===t||"active"===t||"scheduled"===t?"running":"paused"===t||"pause"===t||"stopped"===t?"paused":"error"===t||"failed"===t||"abnormal"===t||"exception"===t?"error":null}(r.status);e&&(t[e]+=1)}return t})(n),[n]);return(0,t.jsx)(z,{className:s,children:C.map(e=>{let{key:r,label:n,tone:s,iconName:i}=e;return(0,t.jsx)(R,{label:n,value:l[r],tone:s,icon:(0,t.jsx)(a.default,{name:i,size:20,className:"shrink-0"})},r)})})}function K(){let[e,l]=(0,r.useState)(!1),i=function(){let e=(0,v.useAppStore)(e=>e.wsUrl),t=(0,v.useAppStore)(e=>e.apiBase),n=(0,v.useAppStore)(e=>e.agentId),s=(0,v.useAppStore)(e=>e.agentSelectionResolved),a=(0,v.useAppStore)(e=>e.agentSelectionError),{loadSessions:l}=(0,x.useSession)(),[i,o]=(0,r.useState)([]),[c,u]=(0,r.useState)("local"),[d,p]=(0,r.useState)(!0),[m,f]=(0,r.useState)(null),[g,b]=(0,r.useState)(null),j=(0,r.useCallback)(async()=>{p(!0),f(null);try{let r=v.useAppStore.getState().agentId.trim()||"qihoo",n=await k(e,t,r);o(Array.isArray(n.tasks)?n.tasks:[]),u("string"==typeof n.timezone?n.timezone:"local")}catch(t){let e=t instanceof Error?t.message:String(t);o([]),f(e),h.appToast.error("加载失败:".concat(e))}finally{p(!1)}},[e,t]);return(0,r.useEffect)(()=>{if(!(0,F.isAgentUrlStoreSyncPending)(n)){if(!s){a&&(o([]),f(a),p(!1));return}(async()=>{await l(),await j()})()}},[n,s,a,l,j]),{tasks:i,timezone:c,loading:d,error:m,deletingId:g,setDeletingId:b,loadScheduleTasks:j}}(),o=(0,r.useCallback)(()=>{l(!0)},[]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.ManageChromeHeaderActions,{children:(0,t.jsx)("div",{className:"flex flex-wrap items-center",children:(0,t.jsxs)(s.Button,{type:"button",variant:"default",size:"lg",onClick:o,className:"mr-[12px]",children:[(0,t.jsx)(a.default,{name:"Create",size:16,className:"align-middle"}),"新建定时任务"]})})}),(0,t.jsx)(B,{tasks:i.tasks,className:"mb-4 mt-4"}),(0,t.jsx)(O,{schedule:i}),(0,t.jsx)(M,{open:e,onOpenChange:l,onCreated:i.loadScheduleTasks})]})}}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,94197,e=>{"use strict";e.s(["IconTooltipButton",()=>i]);var t=e.i(18050),a=e.i(72064),r=e.i(19455),s=e.i(46798),o=e.i(75157);let n={muted:"text-[var(--ds-muted)] hover:text-[var(--ds-text)]",danger:"text-red-600 hover:text-red-800 [&_svg]:!text-red-600 hover:[&_svg]:!text-red-800"};function i(e){let{icon:i,label:l,ariaLabel:d,tone:c="muted",disabled:u,className:b,iconClassName:h,onClick:f}=e;return(0,t.jsx)(s.TooltipProvider,{delayDuration:150,children:(0,t.jsxs)(s.Tooltip,{children:[(0,t.jsx)(s.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(r.Button,{type:"button",variant:"plain",size:"icon",className:(0,o.cn)("icon-tooltip-btn","h-4 w-4",n[c],b),disabled:u,"aria-label":null!=d?d:l,onClick:f,children:(0,t.jsx)(a.default,{name:i,size:16,className:h})})}),(0,t.jsx)(s.TooltipContent,{side:"bottom",align:"center",className:"text-base",children:l})]})})}},56708,e=>{"use strict";e.s(["ManageChromeHeaderActions",()=>i,"ManageFeatureChrome",()=>n]);var t=e.i(18050),a=e.i(71645),r=e.i(74080),s=e.i(72064);let o=(0,a.createContext)(null);function n(e){let{title:r,description:n,children:i,showTitle:l=!0,headerIcon:d}=e,[c,u]=(0,a.useState)(null);return(0,t.jsxs)("div",{className:"manage-page-wrap flex min-h-0 flex-1 flex-col",children:[(0,t.jsxs)("div",{className:"manage-page-header flex shrink-0 items-start justify-between gap-[var(--space-4)] pb-[var(--space-4)]",children:[l?(0,t.jsxs)("div",{className:"manage-page-title-block flex items-center",children:[d&&(0,t.jsx)("div",{className:"mr-3 rounded-md bg-[var(--green-light)] px-4 py-3",children:(0,t.jsx)(s.default,{name:d,size:24,className:"text-[var(--green-dark)]",strokeWidth:1.5})}),(0,t.jsxs)("div",{className:"pt-3",children:[(0,t.jsx)("h1",{className:"manage-page-title",children:r}),(0,t.jsx)("p",{className:"manage-page-desc",children:n})]})]}):null,(0,t.jsx)("div",{ref:u,className:"manage-page-header-actions self-start"})]}),(0,t.jsx)("div",{className:"manage-page-body flex min-h-0 min-w-0 flex-1 flex-col",children:(0,t.jsx)(o.Provider,{value:c,children:i})})]})}function i(e){let{children:t}=e,s=(0,a.useContext)(o);return(0,a.useSyncExternalStore)(()=>()=>{},()=>!0,()=>!1)&&s?(0,r.createPortal)(t,s):null}},93479,e=>{"use strict";e.s(["Input",()=>r]);var t=e.i(18050),a=e.i(75157);function r(e){let{className:r,type:s="text",size:o="default",...n}=e;return(0,t.jsx)("input",{type:s,"data-slot":"input","data-size":o,className:(0,a.cn)("h-8 w-full appearance-none rounded-md border border-solid border-border bg-transparent px-3 text-base outline-none transition-[color,box-shadow,border-color] duration-150 ease-in-out placeholder:text-muted-foreground hover:border-[#e0e0e0] focus-visible:border-[var(--border-focus)] focus-visible:[box-shadow:var(--ring-focus-sm)] read-only:focus-visible:border-border read-only:focus-visible:[box-shadow:none] disabled:cursor-not-allowed disabled:opacity-50 disabled:focus-visible:border-border disabled:focus-visible:[box-shadow:none] data-[size=default]:h-8 data-[size=lg]:h-10 data-[size=sm]:h-7",r),...n})}},20783,e=>{"use strict";e.s(["composeRefs",()=>r,"useComposedRefs",()=>s]);var t=e.i(71645);function a(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function r(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return e=>{let r=!1,s=t.map(t=>{let s=a(t,e);return r||"function"!=typeof s||(r=!0),s});if(r)return()=>{for(let e=0;e<s.length;e++){let r=s[e];"function"==typeof r?r():a(t[e],null)}}}}function s(){for(var e=arguments.length,a=Array(e),s=0;s<e;s++)a[s]=arguments[s];return t.useCallback(r(...a),a)}},57428,e=>{"use strict";e.s(["Checkbox",()=>o]);var t=e.i(18050),a=e.i(71645),r=e.i(72064),s=e.i(75157);let o=a.forwardRef(function(e,o){let{className:n,size:i="default",checked:l,defaultChecked:d,disabled:c,id:u,onChange:b,...h}=e,f=void 0!==l,[x,m]=a.useState(!!d),p=f?!!l:x;return(0,t.jsxs)("span",{"data-slot":"checkbox","data-size":i,"data-checked":p?"true":"false",className:(0,s.cn)("relative inline-flex shrink-0 items-center justify-center rounded-sm border border-solid border-border bg-transparent outline-none transition-[color,box-shadow,border-color,background-color] duration-150 ease-in-out","has-[:focus-visible]:border-[var(--border-focus)] has-[:focus-visible]:[box-shadow:var(--ring-focus-sm)]","has-[:disabled]:cursor-not-allowed has-[:disabled]:opacity-50","data-[size=default]:size-4 data-[size=sm]:size-3.5",p?"border-[var(--ds-accent)] bg-[var(--ds-accent)]":"bg-transparent",n),children:[p?(0,t.jsx)(r.default,{name:"Check",className:(0,s.cn)("pointer-events-none text-[var(--surface-1)] [&_path]:!fill-none","sm"===i?"size-3":"size-3.5"),strokeWidth:2.25,"aria-hidden":"true"}):null,(0,t.jsx)("input",{ref:o,id:u,type:"checkbox",checked:f?l:void 0,defaultChecked:f?void 0:d,disabled:c,className:"absolute inset-0 m-0 size-full cursor-pointer opacity-0 disabled:cursor-not-allowed",onChange:e=>{f||m(e.target.checked),null==b||b(e)},...h})]})})}]);
@@ -0,0 +1 @@
1
+ *,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent;--tw-shadow:0 0 transparent;--tw-shadow-colored:0 0 transparent;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent;--tw-shadow:0 0 transparent;--tw-shadow-colored:0 0 transparent;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.theme{--font-heading:var(--font-display);--font-sans:var(--font-body);--font-mono:var(--font-mono)}:root{--background:#fff;--foreground:#0a0a0a;--card:#fff;--card-foreground:#0a0a0a;--popover:#fff;--popover-foreground:#0a0a0a;--primary:#171717;--primary-foreground:#fafafa;--secondary:#f5f5f5;--secondary-foreground:#171717;--muted:#f5f5f5;--muted-foreground:#737373;--accent:#f5f5f5;--accent-foreground:#171717;--destructive:#e40014;--destructive-foreground:#fafafa;--border:#e5e5e5;--input:#e5e5e5;--ring:#a1a1a1;--chart-1:#d4d4d4;--chart-2:#737373;--chart-3:#525252;--chart-4:#404040;--chart-5:#262626;--radius:.625rem;--sidebar:#fafafa;--sidebar-foreground:#0a0a0a;--sidebar-primary:#171717;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#f5f5f5;--sidebar-accent-foreground:#171717;--sidebar-border:#e5e5e5;--sidebar-ring:#a1a1a1}@supports (color:color(display-p3 0 0 0)){:root{--background:color(display-p3 1 1 1);--foreground:color(display-p3 .0393882 .0393882 .0393882);--card:color(display-p3 1 1 1);--card-foreground:color(display-p3 .0393882 .0393882 .0393882);--popover:color(display-p3 1 1 1);--popover-foreground:color(display-p3 .0393882 .0393882 .0393882);--primary:color(display-p3 .0905274 .0905274 .0905274);--primary-foreground:color(display-p3 .980256 .980256 .980256);--secondary:color(display-p3 .960587 .960587 .960587);--secondary-foreground:color(display-p3 .0905274 .0905274 .0905274);--muted:color(display-p3 .960587 .960587 .960587);--muted-foreground:color(display-p3 .451519 .451519 .451519);--accent:color(display-p3 .960587 .960587 .960587);--accent-foreground:color(display-p3 .0905274 .0905274 .0905274);--destructive:color(display-p3 .830323 .140383 .133196);--destructive-foreground:color(display-p3 .980256 .980256 .980256);--border:color(display-p3 .898161 .898161 .898161);--input:color(display-p3 .898161 .898161 .898161);--ring:color(display-p3 .630163 .630163 .630163);--chart-1:color(display-p3 .831444 .831444 .831444);--chart-2:color(display-p3 .451519 .451519 .451519);--chart-3:color(display-p3 .321993 .321993 .321993);--chart-4:color(display-p3 .250471 .250471 .250471);--chart-5:color(display-p3 .149382 .149382 .149382);--sidebar:color(display-p3 .980256 .980256 .980256);--sidebar-foreground:color(display-p3 .0393882 .0393882 .0393882);--sidebar-primary:color(display-p3 .0905274 .0905274 .0905274);--sidebar-primary-foreground:color(display-p3 .980256 .980256 .980256);--sidebar-accent:color(display-p3 .960587 .960587 .960587);--sidebar-accent-foreground:color(display-p3 .0905274 .0905274 .0905274);--sidebar-border:color(display-p3 .898161 .898161 .898161);--sidebar-ring:color(display-p3 .630163 .630163 .630163)}}@supports (color:lab(0% 0 0)){:root{--background:lab(100% 0 0);--foreground:lab(2.75381% 0 0);--card:lab(100% 0 0);--card-foreground:lab(2.75381% 0 0);--popover:lab(100% 0 0);--popover-foreground:lab(2.75381% 0 0);--primary:lab(7.78201% -.0000149012 0);--primary-foreground:lab(98.26% 0 0);--secondary:lab(96.52% -.0000298023 .0000119209);--secondary-foreground:lab(7.78201% -.0000149012 0);--muted:lab(96.52% -.0000298023 .0000119209);--muted-foreground:lab(48.496% 0 0);--accent:lab(96.52% -.0000298023 .0000119209);--accent-foreground:lab(7.78201% -.0000149012 0);--destructive:lab(48.4493% 77.4328 61.5452);--destructive-foreground:lab(98.26% 0 0);--border:lab(90.952% 0 -.0000119209);--input:lab(90.952% 0 -.0000119209);--ring:lab(66.128% -.0000298023 .0000119209);--chart-1:lab(84.92% 0 -.0000119209);--chart-2:lab(48.496% 0 0);--chart-3:lab(34.924% 0 0);--chart-4:lab(27.036% 0 0);--chart-5:lab(15.204% 0 -.00000596046);--sidebar:lab(98.26% 0 0);--sidebar-foreground:lab(2.75381% 0 0);--sidebar-primary:lab(7.78201% -.0000149012 0);--sidebar-primary-foreground:lab(98.26% 0 0);--sidebar-accent:lab(96.52% -.0000298023 .0000119209);--sidebar-accent-foreground:lab(7.78201% -.0000149012 0);--sidebar-border:lab(90.952% 0 -.0000119209);--sidebar-ring:lab(66.128% -.0000298023 .0000119209)}}.dark{--background:#0a0a0a;--foreground:#fafafa;--card:#171717;--card-foreground:#fafafa;--popover:#171717;--popover-foreground:#fafafa;--primary:#e5e5e5;--primary-foreground:#171717;--secondary:#262626;--secondary-foreground:#fafafa;--muted:#262626;--muted-foreground:#a1a1a1;--accent:#00c37b;--accent-foreground:#fafafa;--destructive:#ff6568;--destructive-foreground:#fafafa;--border:rgba(255,255,255,.1);--input:rgba(255,255,255,.15);--ring:#737373;--chart-1:#d4d4d4;--chart-2:#737373;--chart-3:#525252;--chart-4:#404040;--chart-5:#262626;--sidebar:#171717;--sidebar-foreground:#fafafa;--sidebar-primary:#1447e6;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#262626;--sidebar-accent-foreground:#fafafa;--sidebar-border:rgba(255,255,255,.1);--sidebar-ring:#737373}@supports (color:color(display-p3 0 0 0)){.dark{--background:color(display-p3 .0393882 .0393882 .0393882);--foreground:color(display-p3 .980256 .980256 .980256);--card:color(display-p3 .0905274 .0905274 .0905274);--card-foreground:color(display-p3 .980256 .980256 .980256);--popover:color(display-p3 .0905274 .0905274 .0905274);--popover-foreground:color(display-p3 .980256 .980256 .980256);--primary:color(display-p3 .898161 .898161 .898161);--primary-foreground:color(display-p3 .0905274 .0905274 .0905274);--secondary:color(display-p3 .149382 .149382 .149382);--secondary-foreground:color(display-p3 .980256 .980256 .980256);--muted:color(display-p3 .149382 .149382 .149382);--muted-foreground:color(display-p3 .630163 .630163 .630163);--accent:color(display-p3 .339841 .754462 .503519);--accent-foreground:color(display-p3 .980256 .980256 .980256);--destructive:color(display-p3 .933534 .431676 .423491);--destructive-foreground:color(display-p3 .980256 .980256 .980256);--border:color(display-p3 1 1 1/.1);--input:color(display-p3 1 1 1/.15);--ring:color(display-p3 .451519 .451519 .451519);--chart-1:color(display-p3 .831444 .831444 .831444);--chart-2:color(display-p3 .451519 .451519 .451519);--chart-3:color(display-p3 .321993 .321993 .321993);--chart-4:color(display-p3 .250471 .250471 .250471);--chart-5:color(display-p3 .149382 .149382 .149382);--sidebar:color(display-p3 .0905274 .0905274 .0905274);--sidebar-foreground:color(display-p3 .980256 .980256 .980256);--sidebar-primary:color(display-p3 .1379 .274983 .867624);--sidebar-primary-foreground:color(display-p3 .980256 .980256 .980256);--sidebar-accent:color(display-p3 .149382 .149382 .149382);--sidebar-accent-foreground:color(display-p3 .980256 .980256 .980256);--sidebar-border:color(display-p3 1 1 1/.1);--sidebar-ring:color(display-p3 .451519 .451519 .451519)}}@supports (color:lab(0% 0 0)){.dark{--background:lab(2.75381% 0 0);--foreground:lab(98.26% 0 0);--card:lab(7.78201% -.0000149012 0);--card-foreground:lab(98.26% 0 0);--popover:lab(7.78201% -.0000149012 0);--popover-foreground:lab(98.26% 0 0);--primary:lab(90.952% 0 -.0000119209);--primary-foreground:lab(7.78201% -.0000149012 0);--secondary:lab(15.204% 0 -.00000596046);--secondary-foreground:lab(98.26% 0 0);--muted:lab(15.204% 0 -.00000596046);--muted-foreground:lab(66.128% -.0000298023 .0000119209);--accent:lab(69.7395% -56.1647 24.7025);--accent-foreground:lab(98.26% 0 0);--destructive:lab(63.7053% 60.745 31.3109);--destructive-foreground:lab(98.26% 0 0);--border:lab(100% 0 0/.1);--input:lab(100% 0 0/.15);--ring:lab(48.496% 0 0);--chart-1:lab(84.92% 0 -.0000119209);--chart-2:lab(48.496% 0 0);--chart-3:lab(34.924% 0 0);--chart-4:lab(27.036% 0 0);--chart-5:lab(15.204% 0 -.00000596046);--sidebar:lab(7.78201% -.0000149012 0);--sidebar-foreground:lab(98.26% 0 0);--sidebar-primary:lab(36.9089% 35.0961 -85.6872);--sidebar-primary-foreground:lab(98.26% 0 0);--sidebar-accent:lab(15.204% 0 -.00000596046);--sidebar-accent-foreground:lab(98.26% 0 0);--sidebar-border:lab(100% 0 0/.1);--sidebar-ring:lab(48.496% 0 0)}}*{border-color:var(--border)}body{background-color:var(--background);color:var(--foreground)}html{font-family:var(--font-body),ui-sans-serif,system-ui,sans-serif}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;bottom:0;left:0;right:0}.-left-\[22px\]{left:-22px}.-left-\[24px\]{left:-24px}.-left-\[39px\]{left:-39px}.-left-\[40px\]{left:-40px}.-right-3{right:-.75rem}.-top-0\.5{top:-.125rem}.-top-1\.5{top:-.375rem}.bottom-1{bottom:.25rem}.bottom-2{bottom:.5rem}.bottom-full{bottom:100%}.left-0{left:0}.left-2{left:.5rem}.left-2\.5{left:.625rem}.right-0{right:0}.right-2{right:.5rem}.top-0\.5{top:.125rem}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-6{top:1.5rem}.top-full{top:100%}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.z-\[10000\]{z-index:10000}.z-\[10001\]{z-index:10001}.z-\[10050\]{z-index:10050}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.z-\[60\]{z-index:60}.m-0{margin:0}.m-3{margin:.75rem}.m-\[\.15rem_\.35rem_0\]{margin:.15rem .35rem 0}.m-\[\.35rem_\.35rem_0\]{margin:.35rem .35rem 0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.\!mr-1{margin-right:.25rem!important}.\!mt-\[1\.25rem\]{margin-top:1.25rem!important}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-\[-2px\]{margin-bottom:-2px}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-\[12px\]{margin-right:12px}.mr-\[16px\]{margin-right:16px}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[0\.75rem\]{margin-top:.75rem}.mt-auto{margin-top:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.\!size-3\.5{width:.875rem!important;height:.875rem!important}.\!size-4{width:1rem!important;height:1rem!important}.size-1\.5{width:.375rem;height:.375rem}.size-10{width:2.5rem;height:2.5rem}.size-3{width:.75rem;height:.75rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.size-7{width:1.75rem;height:1.75rem}.size-8{width:2rem;height:2rem}.size-9{width:2.25rem;height:2.25rem}.size-full{width:100%;height:100%}.\!h-4{height:1rem!important}.\!h-7{height:1.75rem!important}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[14px\]{height:14px}.h-\[calc\(100\%-2px\)\]{height:calc(100% - 2px)}.h-\[min\(68vh\,520px\)\]{height:min(68vh,520px)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.max-h-0{max-height:0}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-96{max-height:24rem}.max-h-\[2000px\]{max-height:2000px}.max-h-\[240px\]{max-height:240px}.max-h-\[300px\]{max-height:300px}.max-h-\[6000px\]{max-height:6000px}.max-h-\[92vh\]{max-height:92vh}.max-h-\[min\(50vh\,22rem\)\]{max-height:min(50vh,22rem)}.max-h-\[min\(50vh\,360px\)\]{max-height:min(50vh,360px)}.max-h-\[min\(68vh\,640px\)\]{max-height:min(68vh,640px)}.max-h-dvh{max-height:100dvh}.\!min-h-\[--min-h\]{min-height:var(--min-h)!important}.min-h-0{min-height:0}.min-h-20{min-height:5rem}.min-h-5{min-height:1.25rem}.min-h-9{min-height:2.25rem}.min-h-\[110px\]{min-height:110px}.min-h-\[120px\]{min-height:120px}.min-h-\[124px\]{min-height:124px}.min-h-\[180px\]{min-height:180px}.min-h-\[200px\]{min-height:200px}.min-h-\[220px\]{min-height:220px}.min-h-\[240px\]{min-height:240px}.min-h-\[320px\]{min-height:320px}.min-h-\[40vh\]{min-height:40vh}.min-h-\[80px\]{min-height:80px}.min-h-\[88px\]{min-height:88px}.\!w-4{width:1rem!important}.\!w-7{width:1.75rem!important}.\!w-fit{width:-moz-fit-content!important;width:fit-content!important}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[102px\]{width:102px}.w-\[104px\]{width:104px}.w-\[112px\]{width:112px}.w-\[116px\]{width:116px}.w-\[120px\]{width:120px}.w-\[128px\]{width:128px}.w-\[140px\]{width:140px}.w-\[14px\]{width:14px}.w-\[160px\]{width:160px}.w-\[168px\]{width:168px}.w-\[172px\]{width:172px}.w-\[260px\]{width:260px}.w-\[72px\]{width:72px}.w-\[80px\]{width:80px}.w-\[88px\]{width:88px}.w-\[96px\]{width:96px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.\!min-w-0{min-width:0!important}.min-w-0{min-width:0}.min-w-24{min-width:6rem}.min-w-32{min-width:8rem}.min-w-\[172px\]{min-width:172px}.min-w-\[200px\]{min-width:200px}.min-w-\[220px\]{min-width:220px}.min-w-\[6\.5rem\]{min-width:6.5rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[96px\]{min-width:96px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.\!max-w-\[400px\]{max-width:400px!important}.max-w-36{max-width:9rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[280px\]{max-width:280px}.max-w-\[300px\]{max-width:300px}.max-w-\[460px\]{max-width:460px}.max-w-\[480px\]{max-width:480px}.max-w-\[520px\]{max-width:520px}.max-w-\[560px\]{max-width:560px}.max-w-\[720px\]{max-width:720px}.max-w-\[760px\]{max-width:760px}.max-w-\[840px\]{max-width:840px}.max-w-\[920px\]{max-width:920px}.max-w-\[min\(100vw-24px\,160px\)\]{max-width:min(100vw - 24px,160px)}.max-w-\[min\(100vw-24px\,260px\)\]{max-width:min(100vw - 24px,260px)}.max-w-\[min\(100vw-32px\,320px\)\]{max-width:min(100vw - 32px,320px)}.max-w-\[min\(540px\,100\%\)\]{max-width:min(540px,100%)}.max-w-full{max-width:100%}.max-w-none{max-width:none}.max-w-xs{max-width:20rem}.\!flex-none{flex:none!important}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.animate-\[backdropIn_0\.2s_ease-out\]{animation:.2s ease-out backdropIn}.animate-\[modalIn_0\.2s_ease-out\]{animation:.2s ease-out modalIn}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.\!justify-start{justify-content:flex-start!important}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-\[10px\]{gap:10px}.gap-\[12px\]{gap:12px}.gap-\[var\(--space-4\)\]{gap:var(--space-4)}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-4{row-gap:1rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-\[var\(--ds-border\)\]>:not([hidden])~:not([hidden]){border-color:var(--ds-border)}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overscroll-contain{overscroll-behavior:contain}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.\!rounded{border-radius:.25rem!important}.\!rounded-md{border-radius:calc(var(--radius) - 2px)!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[4px\]{border-radius:4px}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md),10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md),12px)}.rounded-\[min\(var\(--radius-md\)\,14px\)\]{border-radius:min(var(--radius-md),14px)}.rounded-\[var\(--ds-radius-sm\)\]{border-radius:var(--ds-radius-sm)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.\!border{border-width:1px!important}.\!border-0{border-width:0!important}.border{border-width:1px}.border-0{border-width:0}.border-x-0{border-left-width:0;border-right-width:0}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0}.\!border-solid{border-style:solid!important}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.\!border-none{border-style:none!important}.border-none{border-style:none}.\!border-\[\#1677FF\]{--tw-border-opacity:1!important;border-color:rgba(22,119,255,var(--tw-border-opacity,1))!important}.\!border-\[\#52C51A\]{--tw-border-opacity:1!important;border-color:rgba(82,197,26,var(--tw-border-opacity,1))!important}.\!border-\[\#FAAD14\]{--tw-border-opacity:1!important;border-color:rgba(250,173,20,var(--tw-border-opacity,1))!important}.\!border-\[\#FF4D50\]{--tw-border-opacity:1!important;border-color:rgba(255,77,80,var(--tw-border-opacity,1))!important}.\!border-\[\#e5e5e5\]{--tw-border-opacity:1!important;border-color:rgba(229,229,229,var(--tw-border-opacity,1))!important}.\!border-\[var\(--border-default\)\]{border-color:var(--border-default)!important}.\!border-\[var\(--ds-accent\)\]{border-color:var(--ds-accent)!important}.\!border-\[var\(--green-dark\)\]{border-color:var(--green-dark)!important}.border-\[\#223044\]{--tw-border-opacity:1;border-color:rgba(34,48,68,var(--tw-border-opacity,1))}.border-\[\#e2e6ee\]{--tw-border-opacity:1;border-color:rgba(226,230,238,var(--tw-border-opacity,1))}.border-\[\#e4dfc8\]{--tw-border-opacity:1;border-color:rgba(228,223,200,var(--tw-border-opacity,1))}.border-\[\#efefef\]{--tw-border-opacity:1;border-color:rgba(239,239,239,var(--tw-border-opacity,1))}.border-\[color\:var\(--ds-accent\)\]{border-color:var(--ds-accent)}.border-\[color\:var\(--ds-border\)\]{border-color:var(--ds-border)}.border-\[var\(--border-subtle\)\]{border-color:var(--border-subtle)}.border-\[var\(--ds-accent\)\]{border-color:var(--ds-accent)}.border-\[var\(--ds-border\)\]{border-color:var(--ds-border)}.border-\[var\(--ds-border\,var\(--input\)\)\]{border-color:var(--ds-border,var(--input))}.border-\[var\(--green-dark\)\]{border-color:var(--green-dark)}.border-amber-500\/40{border-color:rgba(245,158,11,.4)}.border-black\/5{border-color:rgba(0,0,0,.05)}.border-black\/\[0\.06\]{border-color:rgba(0,0,0,.06)}.border-border{border-color:var(--border)}.border-emerald-500\/40{border-color:rgba(16,185,129,.4)}.border-red-200{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity,1))}.border-red-500\/40{border-color:rgba(239,68,68,.4)}.border-transparent{border-color:transparent}.border-white\/5{border-color:rgba(255,255,255,.05)}.\!bg-\[\#E7F4FF\]{--tw-bg-opacity:1!important;background-color:rgba(231,244,255,var(--tw-bg-opacity,1))!important}.\!bg-\[\#F6FFED\]{--tw-bg-opacity:1!important;background-color:rgba(246,255,237,var(--tw-bg-opacity,1))!important}.\!bg-\[\#FFF3F1\]{--tw-bg-opacity:1!important;background-color:rgba(255,243,241,var(--tw-bg-opacity,1))!important}.\!bg-\[\#FFFBE6\]{--tw-bg-opacity:1!important;background-color:rgba(255,251,230,var(--tw-bg-opacity,1))!important}.\!bg-\[\#fbfbfc\]{--tw-bg-opacity:1!important;background-color:rgba(251,251,252,var(--tw-bg-opacity,1))!important}.\!bg-transparent{background-color:transparent!important}.bg-\[\#111\]{--tw-bg-opacity:1;background-color:rgba(17,17,17,var(--tw-bg-opacity,1))}.bg-\[\#e9e9e9\]{--tw-bg-opacity:1;background-color:rgba(233,233,233,var(--tw-bg-opacity,1))}.bg-\[\#efefef\]{--tw-bg-opacity:1;background-color:rgba(239,239,239,var(--tw-bg-opacity,1))}.bg-\[\#f6f7fa\]{--tw-bg-opacity:1;background-color:rgba(246,247,250,var(--tw-bg-opacity,1))}.bg-\[\#f9f9f7\]{--tw-bg-opacity:1;background-color:rgba(249,249,247,var(--tw-bg-opacity,1))}.bg-\[\#f9f9f9\]{--tw-bg-opacity:1;background-color:rgba(249,249,249,var(--tw-bg-opacity,1))}.bg-\[\#fafafa\]{--tw-bg-opacity:1;background-color:rgba(250,250,250,var(--tw-bg-opacity,1))}.bg-\[\#fbfbfc\]{--tw-bg-opacity:1;background-color:rgba(251,251,252,var(--tw-bg-opacity,1))}.bg-\[\#fef2f2\]{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity,1))}.bg-\[\#fff\]{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity,1))}.bg-\[rgba\(120\,30\,30\,\.07\)\]{background-color:rgba(120,30,30,.07)}.bg-\[rgba\(50\,100\,180\,\.07\)\]{background-color:rgba(50,100,180,.07)}.bg-\[var\(--border-hover\)\]{background-color:var(--border-hover)}.bg-\[var\(--ds-accent\)\]{background-color:var(--ds-accent)}.bg-\[var\(--ds-bg\)\]{background-color:var(--ds-bg)}.bg-\[var\(--ds-border\)\]{background-color:var(--ds-border)}.bg-\[var\(--ds-item-active\)\]{background-color:var(--ds-item-active)}.bg-\[var\(--ds-item-hover\)\]{background-color:var(--ds-item-hover)}.bg-\[var\(--ds-log-bg\)\]{background-color:var(--ds-log-bg)}.bg-\[var\(--ds-main-tint\)\]{background-color:var(--ds-main-tint)}.bg-\[var\(--ds-sidebar\)\]{background-color:var(--ds-sidebar)}.bg-\[var\(--green-light\)\]{background-color:var(--green-light)}.bg-\[var\(--surface-1\)\]{background-color:var(--surface-1)}.bg-\[var\(--surface-2\)\]{background-color:var(--surface-2)}.bg-amber-500\/15{background-color:rgba(245,158,11,.15)}.bg-amber-500\/5{background-color:rgba(245,158,11,.05)}.bg-background{background-color:var(--background)}.bg-black\/45{background-color:rgba(0,0,0,.45)}.bg-black\/70{background-color:rgba(0,0,0,.7)}.bg-border{background-color:var(--border)}.bg-emerald-500\/10{background-color:rgba(16,185,129,.1)}.bg-emerald-500\/15{background-color:rgba(16,185,129,.15)}.bg-emerald-500\/5{background-color:rgba(16,185,129,.05)}.bg-gray-800{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity,1))}.bg-input{background-color:var(--input)}.bg-popover{background-color:var(--popover)}.bg-red-50{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity,1))}.bg-red-500\/10{background-color:rgba(239,68,68,.1)}.bg-red-500\/15{background-color:rgba(239,68,68,.15)}.bg-red-500\/5{background-color:rgba(239,68,68,.05)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity,1))}.bg-white\/\[\.012\]{background-color:rgba(255,255,255,.01)}.object-cover{-o-object-fit:cover;object-fit:cover}.\!p-0{padding:0!important}.\!p-3{padding:.75rem!important}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-\[\.45rem_\.75rem\]{padding:.45rem .75rem}.p-\[1rem_\.75rem\]{padding:1rem .75rem}.p-\[24px\]{padding:24px}.p-\[var\(--space-1\)\]{padding:var(--space-1)}.\!px-1{padding-left:.25rem!important;padding-right:.25rem!important}.\!px-3{padding-left:.75rem!important;padding-right:.75rem!important}.\!px-4{padding-left:1rem!important;padding-right:1rem!important}.\!px-5{padding-left:1.25rem!important;padding-right:1.25rem!important}.\!py-3{padding-top:.75rem!important;padding-bottom:.75rem!important}.\!py-4{padding-top:1rem!important;padding-bottom:1rem!important}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-\[24px\]{padding-left:24px;padding-right:24px}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[\.85rem\]{padding-top:.85rem;padding-bottom:.85rem}.\!pl-\[16px\]{padding-left:16px!important}.\!pr-\[16px\]{padding-right:16px!important}.\!pt-2{padding-top:.5rem!important}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-\[1px\]{padding-bottom:1px}.pb-\[var\(--space-4\)\]{padding-bottom:var(--space-4)}.pl-1{padding-left:.25rem}.pl-1\.5{padding-left:.375rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pl-\[0\]{padding-left:0}.pr-1{padding-right:.25rem}.pr-3{padding-right:.75rem}.pr-5{padding-right:1.25rem}.pr-8{padding-right:2rem}.pr-\[0\]{padding-right:0}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono),ui-monospace,monospace}.font-sans{font-family:var(--font-body),ui-sans-serif,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.78rem\]{font-size:.78rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[14px\]{font-size:14px}.text-\[9\.5px\]{font-size:9.5px}.text-base{font-size:var(--text-base);line-height:1.5}.text-lg{font-size:var(--text-lg);line-height:1.4}.text-sm{font-size:var(--text-sm);line-height:1.4}.text-xs{font-size:var(--text-xs);line-height:1.4}.\!font-normal{font-weight:400!important}.font-\[600\]{font-weight:600}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-\[1\.5\]{line-height:1.5}.leading-\[1\.6\]{line-height:1.6}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.\!text-\[\#1677FF\]{--tw-text-opacity:1!important;color:rgba(22,119,255,var(--tw-text-opacity,1))!important}.\!text-\[\#1C1E1F\]{--tw-text-opacity:1!important;color:rgba(28,30,31,var(--tw-text-opacity,1))!important}.\!text-\[\#52C51A\]{--tw-text-opacity:1!important;color:rgba(82,197,26,var(--tw-text-opacity,1))!important}.\!text-\[\#6e6e6e\]{--tw-text-opacity:1!important;color:rgba(110,110,110,var(--tw-text-opacity,1))!important}.\!text-\[\#A32D2D\]{--tw-text-opacity:1!important;color:rgba(163,45,45,var(--tw-text-opacity,1))!important}.\!text-\[\#FAAD14\]{--tw-text-opacity:1!important;color:rgba(250,173,20,var(--tw-text-opacity,1))!important}.\!text-\[\#FF4D50\]{--tw-text-opacity:1!important;color:rgba(255,77,80,var(--tw-text-opacity,1))!important}.\!text-\[\#e6e6e6\]{--tw-text-opacity:1!important;color:rgba(230,230,230,var(--tw-text-opacity,1))!important}.\!text-\[var\(--ds-text\)\]{color:var(--ds-text)!important}.\!text-\[var\(--text-secondary\)\]{color:var(--text-secondary)!important}.\!text-zinc-500{--tw-text-opacity:1!important;color:rgba(113,113,122,var(--tw-text-opacity,1))!important}.text-\[\#252e3e\]{--tw-text-opacity:1;color:rgba(37,46,62,var(--tw-text-opacity,1))}.text-\[\#2e5a38\]{--tw-text-opacity:1;color:rgba(46,90,56,var(--tw-text-opacity,1))}.text-\[\#303a4a\]{--tw-text-opacity:1;color:rgba(48,58,74,var(--tw-text-opacity,1))}.text-\[\#343d52\]{--tw-text-opacity:1;color:rgba(52,61,82,var(--tw-text-opacity,1))}.text-\[\#353f52\]{--tw-text-opacity:1;color:rgba(53,63,82,var(--tw-text-opacity,1))}.text-\[\#3B6D11\]{--tw-text-opacity:1;color:rgba(59,109,17,var(--tw-text-opacity,1))}.text-\[\#4d80c4\]{--tw-text-opacity:1;color:rgba(77,128,196,var(--tw-text-opacity,1))}.text-\[\#535353\]{--tw-text-opacity:1;color:rgba(83,83,83,var(--tw-text-opacity,1))}.text-\[\#5a8ec4\]{--tw-text-opacity:1;color:rgba(90,142,196,var(--tw-text-opacity,1))}.text-\[\#626a77\]{--tw-text-opacity:1;color:rgba(98,106,119,var(--tw-text-opacity,1))}.text-\[\#6e2828\]{--tw-text-opacity:1;color:rgba(110,40,40,var(--tw-text-opacity,1))}.text-\[\#6e6e6e\]{--tw-text-opacity:1;color:rgba(110,110,110,var(--tw-text-opacity,1))}.text-\[\#8A8985\]{--tw-text-opacity:1;color:rgba(138,137,133,var(--tw-text-opacity,1))}.text-\[\#A32D2D\]{--tw-text-opacity:1;color:rgba(163,45,45,var(--tw-text-opacity,1))}.text-\[\#b0bac8\]{--tw-text-opacity:1;color:rgba(176,186,200,var(--tw-text-opacity,1))}.text-\[\#b4c4b9\]{--tw-text-opacity:1;color:rgba(180,196,185,var(--tw-text-opacity,1))}.text-\[var\(--ds-accent\)\]{color:var(--ds-accent)}.text-\[var\(--ds-danger\)\]{color:var(--ds-danger)}.text-\[var\(--ds-muted\)\]{color:var(--ds-muted)}.text-\[var\(--ds-ok\)\]{color:var(--ds-ok)}.text-\[var\(--ds-text\)\]{color:var(--ds-text)}.text-\[var\(--green-dark\)\]{color:var(--green-dark)}.text-\[var\(--icon-color\)\]{color:var(--icon-color)}.text-\[var\(--surface-1\)\]{color:var(--surface-1)}.text-\[var\(--text-placeholder\)\]{color:var(--text-placeholder)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--text-tertiary\)\]{color:var(--text-tertiary)}.text-amber-600{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity,1))}.text-destructive{color:var(--destructive)}.text-emerald-600{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity,1))}.text-foreground{color:var(--foreground)}.text-gray-500{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity,1))}.text-muted-foreground{color:var(--muted-foreground)}.text-orange-600{--tw-text-opacity:1;color:rgba(234,88,12,var(--tw-text-opacity,1))}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-red-500{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity,1))}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity,1))}.text-zinc-400{--tw-text-opacity:1;color:rgba(161,161,170,var(--tw-text-opacity,1))}.text-zinc-500{--tw-text-opacity:1;color:rgba(113,113,122,var(--tw-text-opacity,1))}.text-zinc-700{--tw-text-opacity:1;color:rgba(63,63,70,var(--tw-text-opacity,1))}.text-zinc-900{--tw-text-opacity:1;color:rgba(24,24,27,var(--tw-text-opacity,1))}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.accent-\[var\(--green-dark\)\]{accent-color:var(--green-dark)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-90{opacity:.9}.\!shadow-none{--tw-shadow:0 0 transparent!important;--tw-shadow-colored:0 0 transparent!important;box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)!important}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 transparent;--tw-shadow-colored:0 0 transparent;box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.shadow-\[var\(--shadow-float\)\]{--tw-shadow-color:var(--shadow-float);--tw-shadow:var(--tw-shadow-colored)}.shadow-\[var\(--shadow-lg\)\]{--tw-shadow-color:var(--shadow-lg);--tw-shadow:var(--tw-shadow-colored)}.shadow-\[var\(--shadow-md\)\]{--tw-shadow-color:var(--shadow-md);--tw-shadow:var(--tw-shadow-colored)}.shadow-\[var\(--shadow-sm\)\]{--tw-shadow-color:var(--shadow-sm);--tw-shadow:var(--tw-shadow-colored)}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.filter{filter:var(--tw-blur)var(--tw-brightness)var(--tw-contrast)var(--tw-grayscale)var(--tw-hue-rotate)var(--tw-invert)var(--tw-saturate)var(--tw-sepia)var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,-webkit-text-decoration-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[border-color\,background-color\]{transition-property:border-color,background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[border-color\,box-shadow\,background-color\]{transition-property:border-color,box-shadow,background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[border-color\,box-shadow\]{transition-property:border-color,box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[color\,box-shadow\,border-color\,background-color\]{transition-property:color,box-shadow,border-color,background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[color\,box-shadow\,border-color\]{transition-property:color,box-shadow,border-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,-webkit-text-decoration-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.will-change-transform{will-change:transform}[data-slot=dropdown-menu-positioner]{border-radius:var(--radius);box-shadow:var(--shadow-float);overflow:visible}.ds-soft-shadow{box-shadow:var(--shadow-sm)}.ds-soft-shadow:hover,.ds-soft-shadow:focus-within{box-shadow:var(--shadow-composer)}:root{--font-body:"DM Sans","PingFang SC","Microsoft YaHei",sans-serif;--font-sans:var(--font-body);--font-anthropic-sans:"Anthropic Sans",system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-anthropic-serif:"Anthropic Serif",Georgia,"Arial Hebrew","Noto Sans Hebrew","Times New Roman",Times,"Hiragino Sans","Yu Gothic",Meiryo,"Noto Sans CJK JP","PingFang TC","Microsoft JhengHei","Noto Sans CJK TC","PingFang SC","Microsoft YaHei","Noto Sans CJK SC","Apple SD Gothic Neo","Malgun Gothic","Noto Sans CJK KR",serif;--font-anthropic-mono:"Anthropic Mono",ui-monospace,monospace;--font-open-dyslexic:"OpenDyslexic","Comic Sans MS",ui-serif,serif;--accent:#1db887}.outline-none{outline-offset:0;outline:none}p,h1,h2,h3,h4,h5,h6{margin:0;padding:0}ul,li{margin:0;padding:0;list-style:none}[data-slot=tabs-list][data-variant=line] [data-slot=tabs-trigger][data-state=active],[data-slot=tabs-list][data-variant=line] [data-slot=tabs-trigger][data-active]:not([data-active=false]),[data-slot=tabs-list][data-variant=line] [data-slot=tabs-trigger][aria-selected=true]{color:var(--ds-main,#1db887);border-bottom:2px solid var(--ds-main,#1db887)}.placeholder\:text-\[var\(--text-placeholder\)\]::placeholder{color:var(--text-placeholder)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.first\:mt-0:first-child{margin-top:0}.hover\:\!border-\[\#e5e5e5\]:hover{--tw-border-opacity:1!important;border-color:rgba(229,229,229,var(--tw-border-opacity,1))!important}.hover\:\!border-\[var\(--ds-accent\)\]:hover{border-color:var(--ds-accent)!important}.hover\:border-\[\#e0e0e0\]:hover{--tw-border-opacity:1;border-color:rgba(224,224,224,var(--tw-border-opacity,1))}.hover\:border-\[color\:var\(--ds-accent\)\]:hover{border-color:var(--ds-accent)}.hover\:border-\[color\:var\(--ds-border-hover\)\]:hover{border-color:var(--ds-border-hover)}.hover\:border-\[var\(--border-hover\)\]:hover{border-color:var(--border-hover)}.hover\:border-\[var\(--ds-accent-hover\)\]:hover{border-color:var(--ds-accent-hover)}.hover\:border-\[var\(--ds-border-hover\)\]:hover{border-color:var(--ds-border-hover)}.hover\:border-\[var\(--green-dark\)\]:hover{border-color:var(--green-dark)}.hover\:bg-\[\#333\]:hover{--tw-bg-opacity:1;background-color:rgba(51,51,51,var(--tw-bg-opacity,1))}.hover\:bg-\[\#fff1f1\]:hover{--tw-bg-opacity:1;background-color:rgba(255,241,241,var(--tw-bg-opacity,1))}.hover\:bg-\[var\(--ds-accent-hover\)\]:hover{background-color:var(--ds-accent-hover)}.hover\:bg-\[var\(--ds-item-active\)\]:hover{background-color:var(--ds-item-active)}.hover\:bg-\[var\(--ds-item-bg-hover\)\]:hover{background-color:var(--ds-item-bg-hover)}.hover\:bg-\[var\(--ds-item-hover\)\]:hover{background-color:var(--ds-item-hover)}.hover\:bg-\[var\(--ds-main-tint\)\]:hover{background-color:var(--ds-main-tint)}.hover\:bg-\[var\(--green-light\)\]:hover{background-color:var(--green-light)}.hover\:bg-\[var\(--surface-1\)\]:hover{background-color:var(--surface-1)}.hover\:bg-\[var\(--surface-2\)\]:hover{background-color:var(--surface-2)}.hover\:bg-\[var\(--surface-3\)\]:hover{background-color:var(--surface-3)}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-transparent:hover{background-color:transparent}.hover\:bg-white\/70:hover{background-color:rgba(255,255,255,.7)}.hover\:\!text-\[\#cfcfcf\]:hover{--tw-text-opacity:1!important;color:rgba(207,207,207,var(--tw-text-opacity,1))!important}.hover\:text-\[\#343d52\]:hover{--tw-text-opacity:1;color:rgba(52,61,82,var(--tw-text-opacity,1))}.hover\:text-\[color\:var\(--ds-accent\)\]:hover,.hover\:text-\[var\(--ds-accent\)\]:hover{color:var(--ds-accent)}.hover\:text-\[var\(--ds-accent-hover\)\]:hover{color:var(--ds-accent-hover)}.hover\:text-\[var\(--ds-text\)\]:hover{color:var(--ds-text)}.hover\:text-\[var\(--surface-1\)\]:hover{color:var(--surface-1)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-red-800:hover{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity,1))}.hover\:text-zinc-600:hover{--tw-text-opacity:1;color:rgba(82,82,91,var(--tw-text-opacity,1))}.hover\:text-zinc-700:hover{--tw-text-opacity:1;color:rgba(63,63,70,var(--tw-text-opacity,1))}.hover\:text-zinc-900:hover{--tw-text-opacity:1;color:rgba(24,24,27,var(--tw-text-opacity,1))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.hover\:shadow-\[0_2px_12px_rgba\(0\,0\,0\,0\.06\)\]:hover{--tw-shadow:0 2px 12px rgba(0,0,0,.06);--tw-shadow-colored:0 2px 12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.hover\:shadow-\[var\(--shadow-sm\)\]:hover{--tw-shadow-color:var(--shadow-sm);--tw-shadow:var(--tw-shadow-colored)}.focus\:bg-\[\#fff1f1\]:focus{--tw-bg-opacity:1;background-color:rgba(255,241,241,var(--tw-bg-opacity,1))}.focus\:bg-\[var\(--ds-item-hover\)\]:focus{background-color:var(--ds-item-hover)}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid transparent}.focus-visible\:border-0:focus-visible{border-width:0}.focus-visible\:\!border-\[\#e5e5e5\]:focus-visible{--tw-border-opacity:1!important;border-color:rgba(229,229,229,var(--tw-border-opacity,1))!important}.focus-visible\:border-\[var\(--border-focus\)\]:focus-visible{border-color:var(--border-focus)}.focus-visible\:border-\[var\(--green-dark\)\]:focus-visible{border-color:var(--green-dark)}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid transparent}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.focus-visible\:ring-\[var\(--ds-accent\)\]:focus-visible{--tw-ring-color:var(--ds-accent)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:\[box-shadow\:var\(--ring-focus-sm\)\]:focus-visible{box-shadow:var(--ring-focus-sm)}.read-only\:focus-visible\:border-border:focus-visible:-moz-read-only{border-color:var(--border)}.read-only\:focus-visible\:border-border:focus-visible:read-only{border-color:var(--border)}.read-only\:focus-visible\:\[box-shadow\:none\]:focus-visible:-moz-read-only{box-shadow:none}.read-only\:focus-visible\:\[box-shadow\:none\]:focus-visible:read-only{box-shadow:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:focus-visible\:border-\[var\(--ds-border\,var\(--input\)\)\]:focus-visible:disabled{border-color:var(--ds-border,var(--input))}.disabled\:focus-visible\:border-border:focus-visible:disabled{border-color:var(--border)}.disabled\:focus-visible\:\[box-shadow\:none\]:focus-visible:disabled{box-shadow:none}.group:focus-within .group-focus-within\:pointer-events-auto{pointer-events:auto}.group:focus-within .group-focus-within\:visible{visibility:visible}.group:focus-within .group-focus-within\:opacity-100{opacity:1}.group:hover .group-hover\:pointer-events-auto{pointer-events:auto}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:opacity-100{opacity:1}.group\/dropdown-menu-item:focus .group-focus\/dropdown-menu-item\:text-accent-foreground{color:var(--accent-foreground)}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\:disabled\]\:cursor-not-allowed:has(:disabled){cursor:not-allowed}.has-\[\:focus-visible\]\:border-\[var\(--border-focus\)\]:has(:focus-visible){border-color:var(--border-focus)}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.has-\[\:focus-visible\]\:\[box-shadow\:var\(--ring-focus-sm\)\]:has(:focus-visible){box-shadow:var(--ring-focus-sm)}.group\/table-row:has(td:hover) .group-has-\[td\:hover\]\/table-row\:\!bg-\[var\(--ds-item-hover\)\]{background-color:var(--ds-item-hover)!important}.aria-expanded\:border-\[var\(--ds-accent-hover\)\][aria-expanded=true]{border-color:var(--ds-accent-hover)}.aria-expanded\:bg-\[var\(--surface-1\)\][aria-expanded=true]{background-color:var(--surface-1)}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-\[var\(--ds-accent-hover\)\][aria-expanded=true]{color:var(--ds-accent-hover)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[size\=default\]\:size-4[data-size=default]{width:1rem;height:1rem}.data-\[size\=sm\]\:size-3\.5[data-size=sm]{width:.875rem;height:.875rem}.data-\[size\=default\]\:h-8[data-size=default]{height:2rem}.data-\[size\=lg\]\:h-10[data-size=lg]{height:2.5rem}.data-\[size\=sm\]\:h-7[data-size=sm]{height:1.75rem}.data-\[checked\]\:translate-x-4[data-checked]{--tw-translate-x:1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.data-\[unchecked\]\:translate-x-0\.5[data-unchecked]{--tw-translate-x:.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.data-\[checked\]\:border-\[var\(--ds-accent\)\][data-checked]{border-color:var(--ds-accent)}.data-\[state\=open\]\:border-\[var\(--border-focus\)\][data-state=open]{border-color:var(--border-focus)}.data-\[checked\]\:bg-\[var\(--ds-accent\)\][data-checked]{background-color:var(--ds-accent)}.data-\[checked\]\:bg-primary[data-checked]{background-color:var(--primary)}.data-\[checked\]\:bg-primary-foreground[data-checked]{background-color:var(--primary-foreground)}.data-\[checked\]\:bg-white[data-checked]{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity,1))}.data-\[active\]\:font-medium[data-active]{font-weight:500}.data-\[active\]\:text-\[var\(--ds-accent\)\][data-active]{color:var(--ds-accent)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:\[box-shadow\:var\(--ring-focus-sm\)\][data-state=open]{box-shadow:var(--ring-focus-sm)}.data-\[active\]\:after\:absolute[data-active]:after{content:var(--tw-content);position:absolute}.data-\[active\]\:after\:bottom-\[-1px\][data-active]:after{content:var(--tw-content);bottom:-1px}.data-\[active\]\:after\:left-0[data-active]:after{content:var(--tw-content);left:0}.data-\[active\]\:after\:right-0[data-active]:after{content:var(--tw-content);right:0}.data-\[active\]\:after\:h-\[2px\][data-active]:after{content:var(--tw-content);height:2px}.data-\[active\]\:after\:bg-\[var\(--ds-accent\)\][data-active]:after{content:var(--tw-content);background-color:var(--ds-accent)}.data-\[active\]\:after\:content-\[\"\"\][data-active]:after{--tw-content:"";content:var(--tw-content)}.data-\[variant\=destructive\]\:focus\:text-destructive:focus[data-variant=destructive]{color:var(--destructive)}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:mb-0{margin-bottom:0}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:mr-0{margin-right:0}.group\/tabs-list[data-variant=default] .group-data-\[variant\=default\]\/tabs-list\:h-8{height:2rem}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:h-9{height:2.25rem}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:rounded-full{border-radius:9999px}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:px-5{padding-left:1.25rem;padding-right:1.25rem}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:pb-0{padding-bottom:0}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:text-sm{font-size:var(--text-sm);line-height:1.4}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:font-semibold{font-weight:600}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:text-\[\#828282\]{--tw-text-opacity:1;color:rgba(130,130,130,var(--tw-text-opacity,1))}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:data-\[active\]\:bg-\[\#fff\][data-active]{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity,1))}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:data-\[active\]\:font-bold[data-active]{font-weight:700}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:data-\[active\]\:text-\[\#333333\][data-active]{--tw-text-opacity:1;color:rgba(51,51,51,var(--tw-text-opacity,1))}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:data-\[active\]\:shadow-\[0_2px_10px_rgba\(15\,23\,42\,0\.08\)\][data-active]{--tw-shadow:0 2px 10px rgba(15,23,42,.08);--tw-shadow-colored:0 2px 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:data-\[active\]\:after\:\[content\:none\][data-active]:after{content:none}@media (min-width:640px){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:inline{display:inline}.sm\:min-w-\[140px\]{min-width:140px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:pl-2\.5{padding-left:.625rem}.sm\:pr-2\.5{padding-right:.625rem}}@media (min-width:768px){.md\:w-\[300px\]{width:300px}.md\:flex-row{flex-direction:row}.md\:border-b-0{border-bottom-width:0}.md\:border-r{border-right-width:1px}}@media (min-width:1024px){.lg\:flex-nowrap{flex-wrap:nowrap}}@media (prefers-color-scheme:dark){.dark\:border-input{border-color:var(--input)}}.\[\&\>td\]\:transition-colors>td{transition-property:color,background-color,border-color,-webkit-text-decoration-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.data-\[state\=selected\]\:\[\&\>td\]\:\!bg-\[var\(--ds-item-active\)\]>td[data-state=selected]{background-color:var(--ds-item-active)!important}.\[\&_path\]\:\!fill-none path{fill:none!important}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:.75rem;height:.75rem}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:.875rem;height:.875rem}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:1rem;height:1rem}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-5 svg{width:1.25rem;height:1.25rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\]\:stroke-current svg{stroke:currentColor}.\[\&_svg\]\:align-middle svg{vertical-align:middle}.\[\&_svg\]\:\!text-red-600 svg{--tw-text-opacity:1!important;color:rgba(220,38,38,var(--tw-text-opacity,1))!important}.hover\:\[\&_svg\]\:\!text-red-800 svg:hover{--tw-text-opacity:1!important;color:rgba(153,27,27,var(--tw-text-opacity,1))!important}.\[\&_svg_path\]\:\!fill-current svg path{fill:currentColor!important}.\[\&_svg_path\]\:\!fill-none svg path{fill:none!important}.\[\&_tr\:last-child\]\:border-b-0 tr:last-child,.\[\&_tr\:last-child_td\]\:border-b-0 tr:last-child td{border-bottom-width:0}.\[\&_tr\]\:table tr{display:table}.\[\&_tr\]\:w-full tr{width:100%}.\[\&_tr\]\:table-fixed tr{table-layout:fixed}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,31862,e=>{"use strict";let t;e.s(["TeamsView",()=>ea],31862);var a=e.i(18050),s=e.i(71645),r=e.i(56708),l=e.i(19455),n=e.i(72064),i=e.i(53145),o=e.i(74080),d=e.i(94197),c=e.i(13354),m=e.i(24687),x=e.i(75157);let u={expand:!0,copy:!0};function p(e){let{value:t,onChange:r,minLines:l,placeholder:n,readOnly:i,className:o}=e,d=(0,s.useRef)(null),c=(0,s.useRef)(null),u=Math.max(t.split("\n").length,l),p=(0,s.useCallback)(()=>{d.current&&c.current&&(c.current.scrollTop=d.current.scrollTop)},[]);return(0,a.jsxs)("div",{className:(0,x.cn)("flex min-h-0 flex-1",o),children:[(0,a.jsx)("div",{ref:c,"aria-hidden":!0,className:"w-10 shrink-0 overflow-hidden border-r border-[var(--ds-border)] bg-[#fafafa] py-3 text-right font-mono text-xs leading-[1.5] text-[var(--ds-muted)]",children:Array.from({length:u},(e,t)=>(0,a.jsx)("div",{className:"px-2",children:t+1},t))}),(0,a.jsx)(m.Textarea,{ref:d,spellCheck:!1,readOnly:i,value:t,onChange:e=>r(e.target.value),onScroll:p,placeholder:n,className:"agent-md-editor min-h-0 flex-1 resize-none rounded-none border-0 bg-white px-4 py-3 shadow-none focus-visible:ring-0"})]})}function h(e){let{actions:t,copyDisabled:s,onCopy:r,className:l}=e;return t.copy?(0,a.jsx)("div",{className:(0,x.cn)("flex items-center gap-0.5",l),children:(0,a.jsx)(d.IconTooltipButton,{icon:"Copy",label:"复制内容",disabled:s,onClick:r})}):null}function b(e){let{show:t,expanded:s,onToggleExpand:r,className:l}=e;return t?(0,a.jsx)("div",{className:(0,x.cn)("flex items-center",l),children:(0,a.jsx)(d.IconTooltipButton,{icon:s?"Minimize2":"Maximize2",label:s?"收起编辑器":"展开编辑器",onClick:r})}):null}function f(e){let{value:t,onChange:r,minLines:l=20,className:n,placeholder:i="编辑 Markdown 内容",readOnly:d=!1,actions:m,expandTitle:f="编辑 Markdown",copySuccessMessage:v="已复制到剪贴板",copyEmptyMessage:g="暂无内容可复制"}=e,[j,N]=(0,s.useState)(!1),y=!1===m?{expand:!1,copy:!1}:{...u,...m},w=(0,s.useCallback)(()=>{if(!t.trim())return void c.appToast.error(g);("undefined"!=typeof navigator&&navigator.clipboard&&"function"==typeof navigator.clipboard.writeText?navigator.clipboard.writeText(t):"undefined"==typeof document?Promise.reject(Error("Clipboard unavailable")):new Promise((e,a)=>{let s=document.createElement("textarea");s.value=t,s.setAttribute("readonly",""),s.style.position="fixed",s.style.top="-9999px",s.style.opacity="0",document.body.appendChild(s),s.focus(),s.select();let r=document.execCommand("copy");if(document.body.removeChild(s),r)return void e();a(Error("Clipboard copy failed"))})).then(()=>{c.appToast.success(v)},()=>{c.appToast.error("复制失败,请手动选择复制")})},[t,v,g]),C=(0,s.useCallback)(()=>{N(e=>!e)},[]);(0,s.useEffect)(()=>{if(!j)return;let e=e=>{"Escape"===e.key&&N(!1)};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[j]);let k=(0,x.cn)("relative flex min-h-[320px] flex-1 flex-col overflow-hidden rounded-lg border border-[var(--ds-border)] bg-white",n),T=!t.trim()||d,A=(0,a.jsxs)("div",{className:k,children:[(0,a.jsx)(h,{actions:y,copyDisabled:T,onCopy:w,className:"absolute right-2 top-2 z-[1]"}),(0,a.jsx)(p,{value:t,onChange:r,minLines:l,placeholder:i,readOnly:d}),(0,a.jsx)(b,{show:y.expand,expanded:!1,onToggleExpand:C,className:"absolute bottom-2 right-2 z-[1]"})]}),S=j&&"undefined"!=typeof document?(0,o.createPortal)((0,a.jsxs)("div",{className:"fixed inset-0 z-[100] flex flex-col bg-[var(--surface-2)]",role:"dialog","aria-modal":"true","aria-label":f,children:[(0,a.jsx)("header",{className:"flex shrink-0 items-center border-b border-[var(--ds-border)] px-5 py-4",children:(0,a.jsx)("h2",{className:"truncate text-lg font-semibold text-[var(--ds-text)]",children:f})}),(0,a.jsx)("div",{className:"flex min-h-0 flex-1 flex-col p-5",children:(0,a.jsxs)("div",{className:"relative flex min-h-0 flex-1 flex-col overflow-hidden rounded-lg border border-[var(--ds-border)] bg-white",children:[(0,a.jsx)(h,{actions:y,copyDisabled:T,onCopy:w,className:"absolute right-2 top-2 z-[1]"}),(0,a.jsx)(p,{value:t,onChange:r,minLines:l,placeholder:i,readOnly:d,className:"min-h-0 flex-1"}),(0,a.jsx)(b,{show:y.expand,expanded:!0,onToggleExpand:C,className:"absolute bottom-2 right-2 z-[1]"})]})})]}),document.body):null;return(0,a.jsxs)(a.Fragment,{children:[A,S]})}var v=e.i(51419),g=e.i(87676),j=e.i(93479),N=e.i(77572),y=e.i(65934),w=e.i(61196),C=e.i(52727);let k=/^[a-zA-Z0-9_-]{1,64}$/,T=[{id:"all",label:"全部"},{id:"joined_other",label:"已加入其他团队"}];function A(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:80,a=String(e||"").replace(/\s+/g," ").trim();return a?a.length<=t?a:"".concat(a.slice(0,t-1),"…"):"暂无使用说明"}var S=e.i(46798),z=e.i(8279);let F={sm:"h-7 w-7 text-xs",md:"h-9 w-9 text-sm"};function E(e){let{label:t,size:s="md",className:r}=e,l=(0,z.initialsFromLabel)(t);return(0,a.jsx)(S.TooltipProvider,{delayDuration:150,children:(0,a.jsxs)(S.Tooltip,{children:[(0,a.jsx)(S.TooltipTrigger,{asChild:!0,children:(0,a.jsx)("span",{className:(0,x.cn)("inline-flex shrink-0 cursor-default items-center justify-center rounded-full font-semibold text-white",F[s],r),style:{background:(0,z.avatarBgForLabel)(t)},"aria-label":t,children:l})}),(0,a.jsx)(S.TooltipContent,{side:"bottom",align:"center",className:"text-base",children:t})]})})}let D=[{value:"basic",label:"基本信息"}],M=[{value:"agents",label:"AGENTS"}];function B(e){let{mode:t,editAgentId:r,onClose:o,onSaved:d}=e,u=(0,y.useAppStore)(e=>e.wsUrl),p=(0,y.useAppStore)(e=>e.apiBase),h=(0,w.useStageThreadFlyoutStore)(e=>e.setFlyoutDirty),b=(0,w.useStageThreadFlyoutStore)(e=>e.requestCloseFlyout),T="edit"===t,[A,S]=(0,s.useState)(!1),[z,F]=(0,s.useState)(T),[B,I]=(0,s.useState)(null),[R,_]=(0,s.useState)("basic"),L=(0,s.useRef)(null),O=(0,i.useForm)({defaultValues:{id:"",whentouse:"",prompt:""},mode:"onChange"}),{isDirty:P}=(0,i.useFormState)({control:O.control}),H=O.watch("id"),U=T?"编辑 Agent · ".concat(null!=r?r:H):"新建Agent",G=A?T?"保存中…":"创建中…":"保存",V=(0,s.useCallback)(async()=>{let e=null==r?void 0:r.trim();if(e){F(!0),I(null);try{let t=await (0,C.getAgentDetail)(u,p,e);L.current=t.config,O.reset({id:t.id,whentouse:t.whentouse,prompt:t.prompt})}catch(t){let e=t instanceof Error?t.message:String(t);I(e),c.appToast.error("加载失败:".concat(e))}finally{F(!1)}}},[r,u,p,O]);(0,s.useEffect)(()=>{T&&V()},[T,V]),(0,s.useEffect)(()=>(h(P),()=>h(!1)),[P,h]);let q=(0,s.useCallback)(()=>{b()},[b]),K=(0,s.useCallback)(async e=>{let t=(T&&null!=r?r:e.id).trim();if(t){if(!T&&!k.test(String(t||"").trim()))return void c.appToast.error("Agent ID 仅支持字母、数字、下划线和中划线,长度 1~64");S(!0);try{T?(await (0,C.updateAgent)(u,p,{id:t,prompt:e.prompt,whentouse:e.whentouse,baseConfig:L.current}),c.appToast.success("已保存")):(await (0,C.createAgent)(u,p,{id:t,whentouse:e.whentouse,prompt:e.prompt}),c.appToast.success("已创建")),await (null==d?void 0:d()),o()}catch(t){let e=T?"保存":"创建";c.appToast.error("".concat(e,"失败:").concat(t instanceof Error?t.message:String(t)))}finally{S(!1)}}},[T,r,u,p,o,d]);return(0,a.jsx)(g.Form,{...O,children:(0,a.jsxs)("form",{className:"flex h-full min-h-0 flex-col bg-[var(--surface-2)]",onSubmit:O.handleSubmit(K),children:[(0,a.jsxs)("header",{className:"shrink-0 border-b border-[var(--ds-border)] bg-[var(--surface-2)] px-5 pb-4 pt-5",children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[(0,a.jsx)(l.Button,{type:"button",variant:"plain",size:"icon",onClick:q,disabled:A,className:"shrink-0 cursor-pointer px-2 text-[var(--ds-text)] hover:bg-transparent hover:text-[color:var(--ds-accent)] [&_svg_path]:!fill-current","aria-label":"返回",children:(0,a.jsx)(n.default,{name:"Back",size:16})}),(0,a.jsx)("h2",{className:"truncate text-lg font-semibold text-[var(--ds-text)]",children:U})]}),(0,a.jsx)(l.Button,{type:"submit",variant:"default",size:"lg",disabled:A||z||!!B,className:"shrink-0 cursor-pointer rounded-lg bg-[#111] px-5 hover:bg-[#333]",children:G})]}),(0,a.jsx)("div",{className:"mt-4 flex items-center gap-3",children:(0,a.jsx)(N.Tabs,{value:R,onValueChange:_,className:"min-w-0 flex-1",children:(0,a.jsx)(N.TabsList,{variant:"pill",className:"mx-auto w-fit",children:D.map(e=>(0,a.jsx)(N.TabsTrigger,{value:e.value,disabled:e.disabled,children:e.label},e.value))})})})]}),(0,a.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-y-auto px-5 py-4",children:z?(0,a.jsx)("div",{className:"flex min-h-[240px] flex-1 items-center justify-center text-sm text-[var(--ds-muted)]",role:"status","aria-live":"polite",children:"加载中…"}):B?(0,a.jsxs)("div",{className:"flex min-h-[240px] flex-1 flex-col items-center justify-center gap-3 text-sm text-destructive",role:"alert",children:[(0,a.jsxs)("span",{children:["加载失败:",B]}),(0,a.jsx)(l.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>void V(),children:"重试"})]}):"basic"===R?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("section",{className:"rounded-xl border border-[var(--ds-border)] bg-white p-4",children:(0,a.jsxs)("div",{className:"flex gap-4",children:[(0,a.jsx)("div",{className:"flex shrink-0 flex-col items-center gap-2",children:(0,a.jsx)("div",{className:"relative",children:(0,a.jsx)(E,{label:H.trim()||"Agent",className:"h-16 w-16 text-lg"})})}),(0,a.jsxs)("div",{className:"min-w-0 flex-1 space-y-3",children:[(0,a.jsx)(g.FormField,{control:O.control,name:"id",render:e=>{let{field:t}=e;return(0,a.jsxs)(g.FormItem,{children:[(0,a.jsx)(g.FormControl,{children:(0,a.jsx)(j.Input,{...t,readOnly:T,spellCheck:!1,placeholder:"例如 my-agent",autoComplete:"off",className:(0,x.cn)("h-10 rounded-md border-[var(--ds-border)] bg-[var(--ds-bg)] text-base",T&&"cursor-default text-[var(--ds-muted)]")})}),(0,a.jsx)(g.FormMessage,{})]})}}),(0,a.jsx)(g.FormField,{control:O.control,name:"whentouse",render:e=>{let{field:t}=e;return(0,a.jsxs)(g.FormItem,{children:[(0,a.jsx)(g.FormControl,{children:(0,a.jsx)(m.Textarea,{...t,spellCheck:!1,placeholder:"用一句话说明它的身份 + 它主要帮你做什么",className:"min-h-[88px] resize-none rounded-md border-[var(--ds-border)] bg-[var(--ds-bg)] text-base leading-relaxed"})}),(0,a.jsx)(g.FormMessage,{})]})}})]})]})}),(0,a.jsx)(v.AppTabs,{tabs:M,defaultValue:"agents",listVariant:"line",listClassName:"mt-4",className:"min-h-0 flex-1",children:(0,a.jsx)(v.AppTabsPanel,{value:"agents",className:"mt-4 flex min-h-0 flex-1 flex-col",children:(0,a.jsx)(g.FormField,{control:O.control,name:"prompt",render:e=>{let{field:t}=e;return(0,a.jsxs)(g.FormItem,{className:"flex min-h-0 flex-1 flex-col",children:[(0,a.jsx)(g.FormControl,{children:(0,a.jsx)(f,{value:t.value,onChange:t.onChange,className:"min-h-[320px]",placeholder:"编辑 Agent 提示词(agent.md)",expandTitle:"编辑 (agent.md)"})}),(0,a.jsx)(g.FormMessage,{})]})}})})})]}):(0,a.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-[var(--ds-muted)]",children:"敬请期待"})})]})})}var I=e.i(68499),R=e.i(55146),_=e.i(97249);function L(e){let{label:t,hint:s,icon:r,onClick:l}=e,i=(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.default,{name:r,size:14,className:"shrink-0 text-[var(--ds-muted)]"}),(0,a.jsx)("span",{children:s})]}),o=(0,x.cn)("inline-flex min-h-9 w-fit max-w-full items-center justify-center gap-1.5 rounded-lg border border-dashed border-[var(--ds-border)] !bg-transparent px-3 text-base text-[var(--ds-muted)]",l&&"cursor-pointer hover:border-[color:var(--ds-border-hover)] hover:bg-[var(--ds-main-tint)]");return l?(0,a.jsx)("button",{type:"button",className:o,onClick:l,"aria-label":t,children:i}):(0,a.jsx)("div",{className:o,"aria-label":t,children:i})}let O=(0,e.i(75254).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);var P=e.i(57428),H=e.i(76639);let U={captain:null,members:[]};function G(e){return{id:e.id,displayName:e.displayName.trim()||e.id}}function V(e,t,a,s){for(let l of a){var r;if(l.id===t)continue;let a=s(l.id);if((null==(r=a.captain)?void 0:r.id)===e||a.members.some(t=>t.id===e))return l.id}return null}function q(e){let{member:t,subtitle:s,onRemove:r,badge:l}=e;return(0,a.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-[var(--ds-border)] bg-[var(--ds-bg)] px-2.5 py-2",children:[(0,a.jsx)(E,{label:t.displayName,size:"sm"}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("p",{className:"mb-0 truncate text-sm font-medium text-[var(--ds-text)]",children:t.displayName}),(0,a.jsx)("p",{className:"mb-0 truncate text-xs text-[var(--ds-muted)]",children:s})]}),l?(0,a.jsx)("span",{className:"shrink-0 rounded bg-[var(--green-light)] px-1.5 py-0.5 text-[10px] font-medium text-[var(--green-dark)]",children:l}):null,r?(0,a.jsx)(d.IconTooltipButton,{icon:"Close",label:"移除agent",className:"!h-7 !w-7 shrink-0 bg-transparent text-[var(--ds-muted)] hover:bg-transparent hover:text-[color:var(--ds-accent)]",iconClassName:"!size-3.5",onClick:r}):null]})}function K(e){let{open:t,onOpenChange:r,team:i,allAgents:o,rosters:d,onConfirm:m,onAgentsRefresh:u}=e,p=(0,y.useAppStore)(e=>e.wsUrl),h=(0,y.useAppStore)(e=>e.apiBase),b=i.id,f=d.getRoster,[v,g]=(0,s.useState)(""),[N,w]=(0,s.useState)("all"),[k,S]=(0,s.useState)([]),[z,F]=(0,s.useState)(!1),D=(0,s.useMemo)(()=>G(i),[i]);(0,s.useEffect)(()=>{if(!t)return;let e=f(b);g(""),w("all"),S(e.members.filter(e=>e.id!==b).map(e=>e.id))},[t,b,f]);let M=(0,s.useMemo)(()=>k.map(e=>o.find(t=>t.id===e)).filter(e=>null!=e).map(G),[k,o]),B=(0,s.useMemo)(()=>o.filter(e=>{if(!function(e,t){let a=t.trim().toLowerCase();return!a||"".concat(e.id," ").concat(e.displayName," ").concat(e.whentouse).toLowerCase().includes(a)}(e,v))return!1;let t=e.id===b,a=V(e.id,b,o,f);return"available"===N?!t:"joined_other"===N?!!a:"recommended"!==N||!a&&!t}),[o,v,N,b,f]),I=(0,s.useCallback)((e,t)=>{e!==b&&S(a=>t?a.includes(e)?a:[...a,e]:a.filter(t=>t!==e))},[b]),R=(0,s.useCallback)(()=>{S([])},[]),_=(0,s.useCallback)(()=>{r(!1)},[r]),L=(0,s.useCallback)(()=>{(async()=>{let e=b.trim();if(!e||z)return;let t=f(b).members.map(e=>e.id),a=k.filter(e=>!t.includes(e)),s=t.filter(e=>!k.includes(e));if(0===a.length&&0===s.length)return _();F(!0);try{for(let t of s)await (0,C.removeTeamMember)(p,h,e,t);for(let t of a)await (0,C.addTeamMember)(p,h,e,t);await (null==u?void 0:u()),m({captain:D,members:M}),a.length>0&&0===s.length?c.appToast.success(1===a.length?"已添加队员 ".concat(a[0]):"已添加 ".concat(a.length," 名队员")):c.appToast.success("已更新队员"),_()}catch(e){c.appToast.error("添加队员失败:".concat(e instanceof Error?e.message:String(e)))}finally{F(!1)}})()},[b,z,f,k,p,h,u,m,D,M,_]);return(0,a.jsx)(H.Dialog,{open:t,onOpenChange:r,children:(0,a.jsxs)(H.DialogContent,{className:"max-w-[920px]","aria-labelledby":"add-team-members-title",children:[(0,a.jsxs)(H.DialogHeader,{className:"items-start gap-3",children:[(0,a.jsx)(H.DialogTitle,{id:"add-team-members-title",className:"text-lg",children:"添加队员"}),(0,a.jsx)(H.DialogClose,{"aria-label":"关闭"})]}),(0,a.jsx)(H.DialogBody,{className:"!p-0",children:(0,a.jsxs)("div",{className:"flex h-[min(68vh,520px)] min-h-0 flex-col px-[24px] md:flex-row",children:[(0,a.jsxs)("div",{className:"mr-[16px] flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden border-b border-[var(--ds-border)] md:border-b-0 md:border-r",children:[(0,a.jsxs)("div",{className:"shrink-0 space-y-3 border-b border-[var(--ds-border)] pb-4",children:[(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)(O,{className:"pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-[var(--ds-muted)]","aria-hidden":!0}),(0,a.jsx)(j.Input,{value:v,onChange:e=>g(e.target.value),placeholder:"搜索成员名称 / 能力 / 标签",className:"h-8 pl-8"})]}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:T.map(e=>{let t=N===e.id;return(0,a.jsx)(l.Button,{type:"button",variant:"plain-outline",size:"sm",className:(0,x.cn)("cursor-pointer rounded-full px-3",t&&"border-[color:var(--ds-accent)] bg-[var(--green-light)] text-[var(--green-dark)] hover:bg-[var(--green-light)]"),onClick:()=>w(e.id),children:e.label},e.id)})})]}),(0,a.jsx)("ul",{className:"m-0 min-h-0 flex-1 list-none space-y-4 overflow-y-auto",role:"listbox","aria-label":"可选队员",children:B.map(e=>{let t=e.id===b,s=k.includes(e.id),r=V(e.id,b,o,f),l=function(e){let t=A(e,24);return"暂无使用说明"===t?[]:t.split(/[,,、\s]+/).filter(Boolean).slice(0,2)}(e.whentouse),i=A(e.whentouse,32);return(0,a.jsx)("li",{children:(0,a.jsxs)("label",{className:(0,x.cn)("flex cursor-pointer items-center gap-3 rounded-lg border border-solid bg-[var(--ds-bg)] px-2 py-2.5 transition-[border-color,background-color]","border-[color:var(--ds-border)]",t?"cursor-not-allowed opacity-60":"hover:border-[color:var(--ds-border-hover)] hover:bg-[var(--ds-main-tint)]",s&&!t&&"bg-[var(--green-light)]/40 border-[color:var(--ds-accent)]"),children:[(0,a.jsx)(P.Checkbox,{checked:!t&&s,disabled:t,onChange:t=>I(e.id,t.target.checked),"aria-label":"选择 ".concat(e.displayName)}),(0,a.jsx)(E,{label:e.displayName,size:"md"}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsxs)("p",{className:"mb-0 truncate font-medium text-[var(--ds-text)]",children:[e.displayName,t?(0,a.jsx)("span",{className:"ml-1 text-xs font-normal text-[var(--ds-muted)]",children:"(当前团队)"}):null]}),(0,a.jsx)("p",{className:"mb-0 mt-0.5 truncate text-base text-[var(--ds-muted)]",children:i}),l.length>0?(0,a.jsx)("div",{className:"mt-1 flex flex-wrap gap-1",children:l.map(e=>(0,a.jsx)("span",{className:"rounded bg-[var(--surface-2)] px-1.5 py-0.5 text-[10px] text-[var(--ds-muted)]",children:e},e))}):null]}),(0,a.jsx)("div",{className:"shrink-0 text-right",children:t?(0,a.jsx)("span",{className:"text-xs text-[var(--ds-muted)]",children:"不可选"}):r?(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs text-amber-600",children:[(0,a.jsx)(n.default,{name:"Info",size:14}),"已加入其他团队"]}):(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs text-[var(--green-dark)]",children:[(0,a.jsx)("span",{className:"size-1.5 rounded-full bg-[var(--ds-accent)]"}),"可用 Agent"]})})]})},e.id)})}),(0,a.jsxs)("div",{className:"shrink-0 border-t border-[var(--ds-border)] px-4 py-2.5 text-sm text-[var(--ds-muted)]",children:["已选择 ",k.length," 名队员"]})]}),(0,a.jsx)("div",{className:"flex min-h-0 w-full shrink-0 flex-col overflow-hidden bg-[var(--ds-log-bg)] md:w-[300px]",children:(0,a.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden p-4",children:(0,a.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,a.jsxs)("div",{className:"mb-2 flex shrink-0 items-center justify-between gap-2",children:[(0,a.jsxs)("span",{className:"text-sm font-medium text-[var(--ds-text)]",children:["已选成员(",M.length,")"]}),(0,a.jsx)(l.Button,{type:"button",variant:"plain",size:"sm",disabled:0===M.length,className:"h-auto cursor-pointer !px-1 text-xs text-[var(--ds-accent)] hover:bg-transparent hover:text-[var(--ds-text)] disabled:cursor-not-allowed",onClick:R,children:"清空"})]}),(0,a.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto",children:M.length>0?(0,a.jsx)("div",{className:"space-y-4",children:M.map(e=>{let t=o.find(t=>t.id===e.id),s=t?A(t.whentouse,28):e.id;return(0,a.jsx)(q,{member:e,subtitle:s,onRemove:()=>I(e.id,!1)},e.id)})}):(0,a.jsx)("p",{className:"mb-0 text-xs text-[var(--ds-muted)]",children:"请从左侧勾选队员"})})]})})})]})}),(0,a.jsxs)("div",{className:"flex shrink-0 justify-end gap-2 border-t border-[var(--ds-border)] bg-[var(--ds-sidebar)] px-5 py-3",children:[(0,a.jsx)(l.Button,{type:"button",variant:"plain-outline",size:"lg",onClick:_,className:"cursor-pointer",children:"取消"}),(0,a.jsx)(l.Button,{type:"button",variant:"default",size:"lg",onClick:L,disabled:z,className:"cursor-pointer disabled:cursor-not-allowed",children:z?"添加中…":"确认添加"})]})]})})}function W(e){let{open:t,onOpenChange:r,title:n,description:i,candidates:o,onPick:d}=e,[c,m]=(0,s.useState)("");(0,s.useEffect)(()=>{t&&m("")},[t]);let u=(0,s.useCallback)(()=>{r(!1)},[r]),p=(0,s.useCallback)(()=>{let e=o.find(e=>e.id===c);e&&(d(e),u())},[o,c,d,u]),h=(0,s.useMemo)(()=>o.length>0?null:"暂无可选 Agent",[o.length]);return(0,a.jsx)(H.Dialog,{open:t,onOpenChange:r,children:(0,a.jsxs)(H.DialogContent,{className:"max-w-[480px]","aria-labelledby":"pick-team-member-title",children:[(0,a.jsxs)(H.DialogHeader,{className:"items-start gap-3",children:[(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)(H.DialogTitle,{id:"pick-team-member-title",children:n}),(0,a.jsx)(H.DialogDescription,{className:"mt-1",children:i})]}),(0,a.jsx)(H.DialogClose,{"aria-label":"关闭"})]}),(0,a.jsx)(H.DialogBody,{className:"max-h-[min(50vh,360px)] overflow-y-auto !px-5 !py-4",children:h?(0,a.jsx)("p",{className:"mb-0 text-center text-sm text-[var(--ds-muted)]",children:h}):(0,a.jsx)("ul",{className:"m-0 list-none space-y-1 p-0",role:"listbox",children:o.map(e=>{let t=c===e.id,s=G(e);return(0,a.jsx)("li",{children:(0,a.jsxs)("button",{type:"button",role:"option","aria-selected":t,className:(0,x.cn)("flex w-full cursor-pointer items-center gap-3 rounded-lg border border-solid px-3 py-2.5 text-left transition-colors",t?"border-[color:var(--ds-accent)] bg-[var(--green-light)]":"border-[color:var(--ds-border)] bg-[var(--ds-bg)] hover:bg-[var(--ds-main-tint)]"),onClick:()=>m(e.id),children:[(0,a.jsx)(E,{label:s.displayName,size:"md"}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("p",{className:"mb-0 truncate text-sm font-medium text-[var(--ds-text)]",children:s.displayName}),(0,a.jsx)("p",{className:"mb-0 mt-0.5 truncate text-xs text-[var(--ds-muted)]",children:e.id})]})]})},e.id)})})}),(0,a.jsxs)("div",{className:"flex shrink-0 justify-end gap-2 border-t border-[var(--ds-border)] bg-[var(--ds-sidebar)] px-5 py-3",children:[(0,a.jsx)(l.Button,{type:"button",variant:"plain-outline",size:"lg",onClick:u,className:"cursor-pointer",children:"取消"}),(0,a.jsx)(l.Button,{type:"button",variant:"default",size:"lg",disabled:!c,onClick:p,className:"cursor-pointer",children:"确定"})]})]})})}function Y(e){let{member:t,onRemove:s}=e;return(0,a.jsxs)("span",{className:(0,x.cn)("] relative inline-flex w-fit items-center rounded-full",s&&"pr-5"),children:[(0,a.jsx)(E,{label:t.displayName,size:"sm"}),s?(0,a.jsx)(d.IconTooltipButton,{icon:"CircleX",label:"移除 ".concat(t.displayName),tone:"muted",className:"absolute -right-3 -top-1.5 !h-4 !w-4 shrink-0",iconClassName:"!size-3.5 !text-[var(--text-secondary)]",onClick:s}):null]})}function $(e){let{members:t,onRemoveMember:r}=e,[l,n]=(0,s.useState)(!1),i=(0,s.useCallback)(e=>()=>{r(e)},[r]);return(0,a.jsxs)("div",{className:"relative shrink-0",onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),children:[(0,a.jsxs)("span",{className:"inline-flex cursor-default items-center rounded-full border border-[var(--ds-border)] bg-[var(--surface-2)] px-2.5 py-1 text-sm font-medium text-[var(--ds-muted)]","aria-label":"还有 ".concat(t.length," 名队员"),children:["+",t.length]}),l?(0,a.jsx)("div",{className:"absolute left-0 top-full z-[60] pt-1.5",children:(0,a.jsxs)("div",{className:(0,x.cn)("min-w-[200px] max-w-[min(100vw-32px,320px)]","rounded-xl border border-[var(--ds-border)] bg-[var(--ds-bg)] p-2 shadow-[var(--shadow-float)]"),role:"tooltip",children:[(0,a.jsxs)("p",{className:"mb-2 px-1 text-xs text-[var(--ds-muted)]",children:["其余队员(",t.length,")"]}),(0,a.jsx)("div",{className:"flex max-h-[240px] flex-col gap-2 overflow-y-auto",children:t.map(e=>(0,a.jsx)(Y,{member:e,onRemove:i(e.id)},e.id))})]})}):null]})}function X(e){let{leaderId:t,members:r,onAgentsRefresh:l}=e,n=(0,y.useAppStore)(e=>e.wsUrl),i=(0,y.useAppStore)(e=>e.apiBase),[o,d]=(0,s.useState)(null),m=(0,s.useCallback)(e=>{(async()=>{let a=e.trim(),s=t.trim();if(s&&a&&!o&&await (0,I.confirmAlertDialog)({title:"确定移除队员?",description:"确定移除队员「".concat(a,"」?"),confirmText:"移除",cancelText:"取消"})){d(a);try{await (0,C.removeTeamMember)(n,i,s,a),await (null==l?void 0:l()),c.appToast.success("已移除队员")}catch(e){c.appToast.error("移除队员失败:".concat(e instanceof Error?e.message:String(e)))}finally{d(null)}}})()},[t,o,n,i,l]),x=r.slice(0,8),u=r.slice(8);return(0,a.jsxs)("div",{className:"flex min-w-0 max-w-full flex-wrap items-center gap-2",children:[x.map(e=>(0,a.jsx)(Y,{member:e},e.id)),u.length>0?(0,a.jsx)($,{members:u,onRemoveMember:m}):null]})}function Z(e){let{onEdit:t,onDelete:r,deleting:l=!1}=e,[i,o]=(0,s.useState)(!1);return(0,a.jsxs)(R.DropdownMenu,{open:i,onOpenChange:o,children:[(0,a.jsx)(R.DropdownMenuTrigger,{type:"button",className:"inline-flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center rounded-md border-0 bg-transparent p-0 text-[var(--ds-muted)] hover:bg-transparent hover:text-[color:var(--ds-accent)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ds-accent)]","aria-label":"更多",onClick:e=>{e.stopPropagation()},children:(0,a.jsx)(n.default,{name:"More",size:20})}),(0,a.jsxs)(R.DropdownMenuContent,{align:"end",side:"bottom",sideOffset:6,className:"w-[172px] min-w-[172px] rounded-[var(--ds-radius-sm)] border border-[var(--ds-border)] bg-[var(--ds-bg)] p-1.5",children:[(0,a.jsxs)(R.DropdownMenuItem,{className:"h-9 rounded-xl px-2.5 text-base text-[var(--ds-text)] hover:bg-[var(--ds-item-active)] focus:bg-[var(--ds-item-hover)]",onClick:()=>{o(!1),t()},children:[(0,a.jsx)(n.default,{name:"Edit",size:16,className:"text-[var(--ds-muted)]"}),"编辑 Agent"]}),(0,a.jsx)(R.DropdownMenuSeparator,{className:"mx-1 my-1 bg-[var(--ds-border)]"}),(0,a.jsxs)(R.DropdownMenuItem,{variant:"destructive",disabled:l,className:"h-9 rounded-xl px-2.5 text-base hover:bg-[#fff1f1] focus:bg-[#fff1f1]",onClick:()=>{o(!1),r()},children:[(0,a.jsx)(n.default,{name:"Trash2",size:16}),"删除 Agent"]})]})]})}function J(e){let{team:r,allAgents:l,rosters:n,onAgentSaved:i}=e,o=(0,y.useAppStore)(e=>e.agentId),m=(0,y.useAppStore)(e=>e.wsUrl),u=(0,y.useAppStore)(e=>e.apiBase),p=o.trim()||"qihoo",h=r.id===p,b=n.getRoster(r.id),f=A(r.whentouse),v=(0,z.initialsFromLabel)(r.id).slice(0,1),[g,j]=(0,s.useState)(!1),[N,k]=(0,s.useState)(!1),[T,S]=(0,s.useState)(!1),F=n.getAvailableCandidates(r.id,l),E=(0,s.useCallback)(e=>{n.setCaptain(r.id,G(e))},[n,r.id]),D=(0,s.useCallback)(e=>{n.applyRoster(r.id,e)},[n,r.id]),M=(0,s.useCallback)(()=>{let e=r.id.trim();if(!e||e===p)return;let t=(0,_.buildAppNavHref)("/",{ensureAgent:!0,agent:e}),a=_.BASE_PATH.replace(/\/+$/,""),s="".concat(window.location.origin).concat(a).concat(t);window.open(s,"_blank","noopener")},[r.id,p]),R=(0,s.useCallback)(()=>{!function(e){var s;let r=e.agentId.trim();if(!r)return;let{openFlyout:l,closeFlyout:n}=w.useStageThreadFlyoutStore.getState(),i=null!=(s=e.onSaved)?s:t;l({width:w.CREATE_AGENT_FLYOUT_WIDTH,hideHeader:!0,bodyClassName:"!p-0 overflow-hidden",navigationGuard:!0,content:(0,a.jsx)(B,{mode:"edit",editAgentId:r,onClose:n,onSaved:i})})}({agentId:r.id,onSaved:i})},[r.id,i]),O=(0,s.useCallback)(async()=>{let e=r.id.trim();if(e&&await (0,I.confirmAlertDialog)({title:"确定删除 Agent?",description:"Agent「".concat(e,"」将被永久删除,此操作不可恢复。"),confirmText:"删除",cancelText:"取消"})){S(!0);try{await (0,C.deleteAgentItem)(m,u,e),c.appToast.success("已删除"),await (null==i?void 0:i())}catch(e){c.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}finally{S(!1)}}},[r.id,m,u,i]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:(0,x.cn)("flex w-full flex-wrap items-center gap-4 rounded-xl border border-solid bg-[var(--ds-bg)] px-4 py-3.5 lg:flex-nowrap","border-[color:var(--ds-border)] transition-[border-color,box-shadow]","hover:shadow-[0_2px_12px_rgba(0,0,0,0.06)]"),children:[(0,a.jsxs)("div",{className:"flex min-w-[200px] flex-1 items-center gap-4",children:[(0,a.jsx)("span",{className:"inline-flex h-11 w-11 shrink-0 items-center justify-center rounded-lg text-lg font-semibold text-white",style:{background:(0,z.avatarBgForLabel)(r.id)},"aria-hidden":!0,children:v}),(0,a.jsxs)("div",{className:"min-w-0 flex-1 text-left",children:[(0,a.jsx)("button",{type:"button",onClick:M,disabled:h,className:(0,x.cn)("mb-0 block w-full truncate border-0 bg-transparent p-0 text-left text-base font-semibold text-[var(--ds-text)]",h?"cursor-default":"cursor-pointer hover:text-[color:var(--ds-accent)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ds-accent)]"),"aria-current":h?"true":void 0,"aria-label":h?"当前 Agent:".concat(r.id):"在新标签页切换到 Agent ".concat(r.id),children:r.id}),(0,a.jsx)("p",{className:"mb-0 mt-1 truncate text-sm text-[var(--ds-muted)]",children:f})]})]}),(0,a.jsxs)("div",{className:"flex min-w-0 max-w-full flex-1 flex-col gap-1.5",children:[(0,a.jsx)("span",{className:"text-base text-[var(--ds-muted)]",children:"队员"}),(0,a.jsxs)("div",{className:"flex min-w-0 max-w-full flex-wrap items-center gap-2",children:[b.members.length>0?(0,a.jsx)(X,{leaderId:r.id,members:b.members,onAgentsRefresh:i}):(0,a.jsx)(L,{label:"队员列表",hint:"暂无队员",icon:"Team"}),(0,a.jsx)(d.IconTooltipButton,{icon:"Create",label:"添加队员",disabled:l.length<=1,className:(0,x.cn)("h-8 w-8 shrink-0 border border-dashed border-[color:var(--ds-border)] hover:border-[color:var(--ds-accent)] hover:text-[color:var(--ds-accent)]",l.length>1&&"text-[var(--ds-accent)] hover:bg-[var(--green-light)]"),iconClassName:"!size-4",onClick:()=>k(!0)})]})]}),(0,a.jsx)(Z,{onEdit:R,onDelete:()=>void O(),deleting:T})]}),(0,a.jsx)(W,{open:g,onOpenChange:j,title:"设置队长",description:"从可选 Agent 中选择一名作为队长",candidates:F,onPick:E}),(0,a.jsx)(K,{open:N,onOpenChange:k,team:r,allAgents:l,rosters:n,onConfirm:D,onAgentsRefresh:i})]})}function Q(e){let{agentsState:t}=e,{agents:r,loading:l,error:n}=t,i=function(e){let[t,a]=(0,s.useState)({});(0,s.useEffect)(()=>{a(t=>{let a={...t};for(let r of e){var s;let l=null!=(s=t[r.id])?s:U;a[r.id]={captain:l.captain,members:function(e,t){return e.agentTeamMembers.map(e=>{let a=t.find(t=>t.id===e.agentType);return{id:e.agentType,displayName:(null==a?void 0:a.displayName.trim())||e.agentType}})}(r,e)}}return a})},[e]);let r=(0,s.useCallback)(e=>{var a;return null!=(a=t[e])?a:U},[t]),l=(0,s.useCallback)((e,t)=>{a(a=>{var s;let r=(null!=(s=a[e])?s:U).members.filter(e=>e.id!==t.id);return{...a,[e]:{captain:t,members:r}}})},[]),n=(0,s.useCallback)(e=>{a(t=>{var a;let s=null!=(a=t[e])?a:U;return{...t,[e]:{...s,captain:null}}})},[]),i=(0,s.useCallback)((e,t)=>{a(a=>{var s,r;let l=null!=(r=a[e])?r:U;return(null==(s=l.captain)?void 0:s.id)===t.id||l.members.some(e=>e.id===t.id)?a:{...a,[e]:{...l,members:[...l.members,t]}}})},[]),o=(0,s.useCallback)((e,t)=>{a(a=>{var s;let r=null!=(s=a[e])?s:U;return{...a,[e]:{...r,members:r.members.filter(e=>e.id!==t)}}})},[]);return{getRoster:r,setCaptain:l,removeCaptain:n,addMember:i,removeMember:o,applyRoster:(0,s.useCallback)((e,t)=>{let s=t.captain,r=t.members.filter(e=>e.id!==(null==s?void 0:s.id));a(t=>({...t,[e]:{captain:s,members:r}}))},[]),getAvailableCandidates:(0,s.useCallback)((e,a)=>{var s;let r=null!=(s=t[e])?s:U,l=new Set([e,...r.captain?[r.captain.id]:[],...r.members.map(e=>e.id)]);return a.filter(e=>!l.has(e.id))},[t])}}(r);return(0,a.jsx)("div",{className:"flex min-h-0 flex-1 flex-col rounded-xl border border-[var(--ds-border)] bg-[var(--ds-bg)] shadow-[var(--shadow-sm)]",children:(0,a.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto p-3",children:l?(0,a.jsx)("div",{className:"flex min-h-[200px] items-center justify-center text-sm text-[var(--ds-muted)]",children:"加载中…"}):n?(0,a.jsxs)("div",{className:"flex min-h-[200px] items-center justify-center px-4 text-center text-sm text-red-600",children:["加载失败:",n]}):0===r.length?(0,a.jsx)("div",{className:"flex min-h-[200px] items-center justify-center px-4 text-center text-sm text-[var(--ds-muted)]",children:"暂无 Agent,点击右上角「新建 Agent」创建"}):(0,a.jsx)("ul",{className:"m-0 list-none space-y-4 p-0",role:"list",children:r.map(e=>(0,a.jsx)("li",{children:(0,a.jsx)(J,{team:e,allAgents:r,rosters:i,onAgentSaved:t.loadAgents})},e.id))})})})}function ee(e){let{label:t,value:s,hint:r,icon:l}=e;return(0,a.jsxs)("div",{className:"mt-2 flex min-w-0 flex-1 items-center gap-4 rounded-xl border border-[var(--ds-border)] bg-white px-4 py-3.5 shadow-[var(--shadow-sm)]",children:[(0,a.jsx)("span",{className:"flex size-10 shrink-0 items-center justify-center rounded-full bg-[var(--ds-border)]","aria-hidden":!0,children:(0,a.jsx)(n.default,{name:l,size:20,className:"text-[var(--ds-text)]"})}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("span",{className:"block text-sm text-[var(--ds-muted)]",children:t}),(0,a.jsx)("span",{className:"mt-1 block text-2xl font-semibold leading-none text-[var(--ds-text)]",children:s}),(0,a.jsx)("span",{className:"mt-1 block text-xs text-[var(--ds-muted)]",children:r})]})]})}function et(e){let{agents:t,className:r}=e,l=(0,s.useMemo)(()=>{let e=t.length;return[{label:"团队总数",value:t.filter(e=>e.agentTeamMembers.length>=1).length,icon:"Teams",hint:"队员数大于 1 的 Agent 编组"},{label:"成员总数",value:e,icon:"Agent",hint:"角色、能力和工具的智能执行体"}]},[t]);return(0,a.jsx)("div",{className:(0,x.cn)("flex flex-wrap gap-3",r),children:l.map(e=>(0,a.jsx)(ee,{...e},e.label))})}function ea(){let e=function(){let e=(0,y.useAppStore)(e=>e.wsUrl),t=(0,y.useAppStore)(e=>e.apiBase),[a,r]=(0,s.useState)([]),[l,n]=(0,s.useState)(!0),[i,o]=(0,s.useState)(null),d=(0,s.useCallback)(async()=>{n(!0),o(null);try{let a=await (0,C.listAgentsForManage)(e,t);r(a)}catch(t){let e=t instanceof Error?t.message:String(t);r([]),o(e),c.appToast.error("加载失败:".concat(e))}finally{n(!1)}},[e,t]);return(0,s.useEffect)(()=>{d()},[d]),{agents:a,loading:l,error:i,loadAgents:d}}();(0,s.useEffect)(()=>(t=e.loadAgents,()=>{t=void 0}),[e.loadAgents]);let i=(0,s.useCallback)(()=>{!function(){var e;let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{openFlyout:r,closeFlyout:l}=w.useStageThreadFlyoutStore.getState(),n=null!=(e=s.onSaved)?e:t;r({width:w.CREATE_AGENT_FLYOUT_WIDTH,hideHeader:!0,bodyClassName:"!p-0 overflow-hidden",navigationGuard:!0,content:(0,a.jsx)(B,{mode:"create",onClose:l,onSaved:n})})}()},[]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(r.ManageChromeHeaderActions,{children:(0,a.jsx)("div",{className:"flex flex-wrap items-center",children:(0,a.jsxs)(l.Button,{type:"button",variant:"default",size:"lg",onClick:i,className:"mr-[12px] cursor-pointer",children:[(0,a.jsx)(n.default,{name:"Create",size:16,className:"align-middle"}),"新建 Agent"]})})}),(0,a.jsx)(et,{agents:e.agents,className:"mb-4"}),(0,a.jsx)(Q,{agentsState:e})]})}}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,92715,85413,e=>{"use strict";e.s(["AppTable",()=>m],92715);var t=e.i(18050);e.s(["Empty",()=>i],85413);var r=e.i(75157),l=e.i(72064);function i(e){let{text:i="暂无数据",className:a}=e;return(0,t.jsxs)("div",{className:(0,r.cn)("flex min-h-[180px] w-full flex-col items-center justify-center gap-2 py-4 text-base text-[var(--ds-muted)]",a),role:"status","aria-live":"polite",children:[(0,t.jsx)(l.default,{name:"NoData",size:80,color:"var(--ds-muted)",className:"opacity-90"}),(0,t.jsx)("span",{children:i})]})}var a=e.i(71645);let n=a.forwardRef((e,l)=>{let{className:i,...a}=e;return(0,t.jsx)("div",{className:"relative w-full overflow-auto",children:(0,t.jsx)("table",{ref:l,className:(0,r.cn)("w-full caption-bottom border-collapse text-sm",i),...a})})});n.displayName="Table";let s=a.forwardRef((e,l)=>{let{className:i,...a}=e;return(0,t.jsx)("thead",{ref:l,className:(0,r.cn)("[&_tr]:table [&_tr]:w-full [&_tr]:table-fixed [&_tr]:border-b",i),...a})});s.displayName="TableHeader";let o=a.forwardRef((e,l)=>{let{className:i,viewportFit:n=!0,viewportReserveBottom:s=16,viewportPaginationReserve:o=0,style:d,...u}=e,c=a.useRef(null),m=a.useCallback(e=>{c.current=e,"function"==typeof l?l(e):l&&(l.current=e)},[l]),[f,p]=a.useState(void 0);return a.useLayoutEffect(()=>{var e,t;if(!n)return void p(void 0);let r=()=>{var e,t;let r=c.current;if(!r)return;let l=r.getBoundingClientRect().top;p(Math.max(80,Math.floor((null!=(t=null==(e=window.visualViewport)?void 0:e.height)?t:window.innerHeight)-l-(s+o))))};r();let l=new ResizeObserver(()=>{r()});try{l.observe(document.body)}catch(e){}return window.addEventListener("resize",r),null==(e=window.visualViewport)||e.addEventListener("resize",r),null==(t=window.visualViewport)||t.addEventListener("scroll",r),window.addEventListener("scroll",r,!0),()=>{var e,t;l.disconnect(),window.removeEventListener("resize",r),null==(e=window.visualViewport)||e.removeEventListener("resize",r),null==(t=window.visualViewport)||t.removeEventListener("scroll",r),window.removeEventListener("scroll",r,!0)}},[n,s,o]),(0,t.jsx)("tbody",{ref:m,className:(0,r.cn)("block overflow-y-auto [&_tr:last-child]:border-b-0 [&_tr:last-child_td]:border-b-0 [&_tr]:table [&_tr]:w-full [&_tr]:table-fixed",i),style:n&&void 0!==f?{...d,maxHeight:f}:d,...u})});o.displayName="TableBody";let d=a.forwardRef((e,l)=>{let{className:i,hoverable:a=!0,...n}=e;return(0,t.jsx)("tr",{ref:l,className:(0,r.cn)("border-b transition-colors [&>td]:transition-colors data-[state=selected]:[&>td]:!bg-[var(--ds-item-active)]",a&&"group/table-row",i),...n})});d.displayName="TableRow";let u=a.forwardRef((e,l)=>{let{className:i,...a}=e;return(0,t.jsx)("th",{ref:l,className:(0,r.cn)("h-10 border-b border-[var(--border-subtle)] bg-[var(--surface-2)] px-3 text-left align-middle text-[14px] font-medium !text-[var(--ds-text)] text-muted-foreground",i),...a})});u.displayName="TableHead";let c=a.forwardRef((e,l)=>{let{className:i,...a}=e;return(0,t.jsx)("td",{ref:l,className:(0,r.cn)("border-x-0 border-b border-t-0 border-solid border-[var(--border-subtle)] p-3 align-middle text-base transition-colors group-has-[td:hover]/table-row:!bg-[var(--ds-item-hover)]",i),...a})});function m(e){let{rows:l,columns:a,getRowKey:m,className:f,rowClassName:p,headerRowClassName:v,emptyText:b,emptyNode:g,bodyProps:h}=e;return(0,t.jsx)("div",{className:(0,r.cn)("overflow-hidden border border-[var(--ds-border)]",f),children:(0,t.jsxs)(n,{children:[(0,t.jsx)(s,{children:(0,t.jsx)(d,{className:(0,r.cn)("bg-[var(--ds-main-tint)] hover:bg-[var(--ds-main-tint)]",v),children:a.map(e=>(0,t.jsx)(u,{className:e.headerClassName,children:e.title},e.key))})}),(0,t.jsx)(o,{...h,children:l.length?l.map(e=>(0,t.jsx)(d,{className:"function"==typeof p?p(e):p,children:a.map(r=>(0,t.jsx)(c,{className:r.cellClassName,children:r.render(e)},r.key))},m(e))):(0,t.jsx)(d,{hoverable:!1,children:(0,t.jsx)(c,{colSpan:a.length,className:"py-6",children:null!=g?g:(0,t.jsx)(i,{text:b})})})})]})})}c.displayName="TableCell"},62427,e=>{"use strict";e.s(["clearRuntimeMcpItemConfig",()=>k,"deleteRuntimeMcp",()=>f,"deleteRuntimeSkill",()=>R,"deleteRuntimeTool",()=>m,"exportRuntimeMcpUrl",()=>v,"exportRuntimeSkillUrl",()=>C,"exportRuntimeToolUrl",()=>p,"importRuntimeMcp",()=>g,"importRuntimeTool",()=>b,"installCloudSkill",()=>T,"listAgentTeams",()=>d,"listBaseSkills",()=>a,"listCloudSkillCatalog",()=>N,"listInstalledSkills",()=>n,"listInstalledTools",()=>i,"listMcpServers",()=>l,"listRuntimeMcpPackages",()=>c,"listRuntimeTools",()=>u,"loadBaseSkillMd",()=>s,"loadRemoteMcpJson",()=>h,"loadRuntimeMcpItemConfig",()=>x,"saveBaseSkillMd",()=>o,"saveRemoteMcpJson",()=>y,"saveRuntimeMcpItemConfig",()=>w]);var t=e.i(29250),r=e.i(36845);async function l(e,l,i){let a=await (0,t.get)((0,r.buildMcpServersListUrl)(e,l,i));return{servers:Array.isArray(a.servers)?a.servers:[]}}async function i(e,l,i){let a=await (0,t.get)((0,r.buildToolInstalledListUrl)(e,l,i));return{tools:Array.isArray(a.tools)?a.tools:[]}}async function a(e,l,i){let a=await (0,t.get)((0,r.buildSkillBaseListUrl)(e,l,i));return{skills:Array.isArray(a.skills)?a.skills:[]}}async function n(e,l,i){let a=await (0,t.get)((0,r.buildSkillInstalledListUrl)(e,l,i));return{skills:Array.isArray(a.skills)?a.skills:[]}}async function s(e,l,i,a){return(0,t.get)((0,r.buildBaseSkillMdUrl)(e,l,i,a))}async function o(e,l,i,a,n){await (0,t.put)((0,r.buildBaseSkillMdUrl)(e,l,i,a),{content:n})}async function d(e,l,i){let a=await (0,t.get)((0,r.buildAgentTeamsListUrl)(e,l,i));return{teamAgentTypes:Array.isArray(a.teamAgentTypes)?a.teamAgentTypes:[],agentTeams:Array.isArray(a.agentTeams)?a.agentTeams:[]}}async function u(e,l,i){let a=await (0,t.get)((0,r.buildToolsRuntimeFilesUrl)(e,l,i));return{runtimeToolsDir:"string"==typeof a.runtimeToolsDir?a.runtimeToolsDir:"",items:Array.isArray(a.items)?a.items.filter(e=>!!(e&&e.id)):[]}}async function c(e,l,i){let a=await (0,t.get)((0,r.buildMcpRuntimeFilesUrl)(e,l,i));return{mcpRuntimeDir:"string"==typeof a.mcpRuntimeDir?a.mcpRuntimeDir:"",items:Array.isArray(a.items)?a.items.filter(e=>!!(e&&e.id)):[]}}async function m(e,l,i,a){return(0,t.del)((0,r.buildToolsRuntimeDeleteUrl)(e,l,i,a))}async function f(e,l,i,a){return(0,t.del)((0,r.buildMcpRuntimeDeleteUrl)(e,l,i,a))}function p(e,t,l,i){return(0,r.buildToolsRuntimeExportUrl)(e,t,l,i)}function v(e,t,l,i){return(0,r.buildMcpRuntimeExportUrl)(e,t,l,i)}async function b(e,l,i,a){let n=new FormData;return n.append("file",a),(0,t.post)((0,r.buildToolsRuntimeImportUrl)(e,l,i),n,{type:"file"})}async function g(e,l,i,a){let n=new FormData;return n.append("file",a),(0,t.post)((0,r.buildMcpRuntimeImportUrl)(e,l,i),n,{type:"file"})}async function h(e,l,i){return(0,t.get)((0,r.buildRemoteMcpJsonUrl)(e,l,i))}async function y(e,l,i,a){await (0,t.post)((0,r.buildRemoteMcpJsonUrl)(e,l,i),{content:a})}async function x(e,l,i,a,n){return(0,t.get)((0,r.buildRuntimeMcpItemConfigUrl)(e,l,i,a,n))}async function w(e,l,i,a,n,s){await (0,t.put)((0,r.buildRuntimeMcpItemConfigUrl)(e,l,i,a,n),{server:s})}async function k(e,l,i,a,n){await (0,t.del)((0,r.buildRuntimeMcpItemConfigUrl)(e,l,i,a,n))}async function R(e,l,i,a){return(0,t.del)((0,r.buildSkillsRuntimeDeleteUrl)(e,l,i,a))}function C(e,t,l,i){return(0,r.buildSkillsRuntimeExportUrl)(e,t,l,i)}async function N(e,l,i,a,n,s){let o=await (0,t.get)((0,r.buildCloudSkillCatalogUrl)(e,l,i,a,n,s));return{items:Array.isArray(o.items)?o.items:[],totalPages:Number(o.totalPages||0)}}async function T(e,l,i,a){await (0,t.post)((0,r.buildCloudSkillInstallUrl)(e,l,i),{id:a})}},94055,e=>{"use strict";e.s(["AccentSwitch",()=>P],94055);var t=e.i(18050);e.s(["Root",()=>M,"Thumb",()=>j],39606),e.s([],37751),e.i(37751),e.i(47167);var r=e.i(71645),l=e.i(94349),i=e.i(76477),a=e.i(26292),n=e.i(977),s=e.i(62372),o=e.i(17514),d=e.i(27601),u=e.i(19805),c=e.i(89879),m=e.i(91730),f=e.i(67805);let p=r.createContext(void 0),v=function(e){return e.disabled="data-disabled",e.valid="data-valid",e.invalid="data-invalid",e.touched="data-touched",e.dirty="data-dirty",e.filled="data-filled",e.focused="data-focused",e}({}),b={valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},g={disabled:!1,...b},h=function(e){return e.checked="data-checked",e.unchecked="data-unchecked",e.disabled="data-disabled",e.readonly="data-readonly",e.required="data-required",e.valid="data-valid",e.invalid="data-invalid",e.touched="data-touched",e.dirty="data-dirty",e.filled="data-filled",e.focused="data-focused",e}({}),y={valid:e=>null===e?null:e?{[v.valid]:""}:{[v.invalid]:""},checked:e=>e?{[h.checked]:""}:{[h.unchecked]:""}},x=r.createContext({invalid:void 0,name:void 0,validityData:{state:{badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},errors:[],error:"",value:"",initialValue:null},setValidityData:o.NOOP,disabled:void 0,touched:b.touched,setTouched:o.NOOP,dirty:b.dirty,setDirty:o.NOOP,filled:b.filled,setFilled:o.NOOP,focused:b.focused,setFocused:o.NOOP,validate:()=>null,validationMode:"onSubmit",validationDebounceTime:0,shouldValidateOnChange:()=>!1,state:g,markedDirtyRef:{current:!1},registerFieldControl:o.NOOP,validation:{getValidationProps:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.EMPTY_OBJECT;return e},getInputValidationProps:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.EMPTY_OBJECT;return e},inputRef:{current:null},commit:async()=>{}}});function w(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],t=r.useContext(x);if(t.setValidityData===o.NOOP&&!e)throw Error((0,f.default)(28));return t}let k=r.createContext({formRef:{current:{fields:new Map}},errors:{},clearErrors:o.NOOP,validationMode:"onSubmit",submitAttemptedRef:{current:!1}}),R=r.createContext({controlId:void 0,registerControlId:o.NOOP,labelId:void 0,setLabelId:o.NOOP,messageIds:[],setMessageIds:o.NOOP,getDescriptionProps:e=>e});function C(){return r.useContext(R)}var N=e.i(30628),T=e.i(29315),S=e.i(5963),A=e.i(3404),E=e.i(19904);let M=r.forwardRef(function(e,f){let{checked:v,className:b,defaultChecked:g,"aria-labelledby":h,form:x,id:R,inputRef:M,name:j,nativeButton:O=!1,onCheckedChange:U,readOnly:I=!1,required:P=!1,disabled:L=!1,render:B,uncheckedValue:D,value:V,style:_,...F}=e,{clearErrors:K}=r.useContext(k),{state:z,setTouched:H,setDirty:J,validityData:q,setFilled:Y,setFocused:W,shouldValidateOnChange:G,validationMode:Q,disabled:X,name:Z,validation:$}=w(),{labelId:ee}=C(),et=X||L,er=null!=Z?Z:j,el=(0,i.useStableCallback)(U),ei=r.useRef(null),ea=(0,a.useMergedRefs)(ei,M,$.inputRef),en=r.useRef(null),es=(0,c.useBaseUiId)(),eo=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{id:t,implicit:l=!1,controlRef:a}=e,{controlId:s,registerControlId:d}=C(),u=(0,c.useBaseUiId)(t),m=l?s:void 0,f=(0,N.useRefWithInit)(()=>Symbol("labelable-control")),p=r.useRef(!1),v=r.useRef(null!=t),b=(0,i.useStableCallback)(()=>{p.current&&d!==o.NOOP&&(p.current=!1,d(f.current,void 0))});return(0,n.useIsoLayoutEffect)(()=>{let e;if(d!==o.NOOP){if(l){let r=null==a?void 0:a.current;e=(0,T.isElement)(r)&&null!=r.closest("label")?null!=t?t:null:null!=m?m:u}else if(null!=t)v.current=!0,e=t;else{if(!v.current)return void b();e=u}if(void 0===e)return void b();p.current=!0,d(f.current,e)}},[t,a,m,d,l,u,f,b]),r.useEffect(()=>b,[b]),null!=s?s:u}({id:R,implicit:!1,controlRef:en}),ed=O?void 0:eo,[eu,ec]=(0,l.useControlled)({controlled:v,default:!!g,name:"Switch",state:"checked"});!function(e,t){let{enabled:l=!0,getValue:i,id:a,value:s}=t,{registerFieldControl:o}=w(),d=r.useRef(null);d.current||(d.current=Symbol()),(0,n.useIsoLayoutEffect)(()=>{let t=d.current;if(t&&l)return o(t,{controlRef:e,getValue:i,id:a,value:s}),()=>{o(t,void 0)}},[e,l,i,a,o,s])}(en,{id:es,value:eu}),(0,n.useIsoLayoutEffect)(()=>{ei.current&&Y(ei.current.checked)},[ei,Y]),(0,E.useValueChanged)(eu,()=>{K(er),J(eu!==q.initialValue),Y(eu),G()?$.commit(eu):$.commit(eu,!0)});let{getButtonProps:em,buttonRef:ef}=(0,m.useButton)({disabled:et,native:O}),ep=function(e,t,l){var i;let a=!(arguments.length>3)||void 0===arguments[3]||arguments[3],s=arguments.length>4?arguments[4]:void 0,[o,d]=r.useState(),u=(0,c.useBaseUiId)(s?"".concat(s,"-label"):void 0),m=null!=(i=null!=e?e:t)?i:o;return(0,n.useIsoLayoutEffect)(()=>{let r=e||t||!a?void 0:function(e,t){let r=function(e){if(!e)return;let t=e.parentElement;if(t&&"LABEL"===t.tagName)return t;let r=e.id;if(r){let t=e.nextElementSibling;if(t&&t.htmlFor===r)return t}let l=e.labels;return l&&l[0]}(e);if(r)return!r.id&&t&&(r.id=t),r.id||void 0}(l.current,u);o!==r&&d(r)}),m}(h,ee,ei,!O,ed),ev=r.useMemo(()=>(0,u.mergeProps)({checked:eu,disabled:et,form:x,id:ed,name:er,required:P,style:er?s.visuallyHiddenInput:s.visuallyHidden,tabIndex:-1,type:"checkbox","aria-hidden":!0,ref:ea,onChange(e){if(e.nativeEvent.defaultPrevented)return;if(I)return void e.preventDefault();let t=e.currentTarget.checked,r=(0,S.createChangeEventDetails)(A.REASONS.none,e.nativeEvent);null==el||el(t,r),r.isCanceled||ec(t)},onFocus(){var e;null==(e=en.current)||e.focus()}},$.getInputValidationProps,void 0!==V?{value:V}:o.EMPTY_OBJECT),[eu,et,x,ea,ed,er,el,I,P,ec,$,V]),eb=r.useMemo(()=>({...z,checked:eu,disabled:et,readOnly:I,required:P}),[z,eu,et,I,P]),eg=(0,d.useRenderElement)("span",e,{state:eb,ref:[f,en,ef],props:[{id:O?eo:es,role:"switch","aria-checked":eu,"aria-readonly":I||void 0,"aria-required":P||void 0,"aria-labelledby":ep,onFocus(){et||W(!0)},onBlur(){let e=ei.current;e&&!et&&(H(!0),W(!1),"onBlur"===Q&&$.commit(e.checked))},onClick(e){var t;I||et||(e.preventDefault(),null==(t=ei.current)||t.dispatchEvent(new PointerEvent("click",{bubbles:!0,shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey})))}},$.getValidationProps,F,em],stateAttributesMapping:y});return(0,t.jsxs)(p.Provider,{value:eb,children:[eg,!eu&&er&&void 0!==D&&(0,t.jsx)("input",{type:"hidden",form:x,name:er,value:D}),(0,t.jsx)("input",{...ev,suppressHydrationWarning:!0})]})}),j=r.forwardRef(function(e,t){let{render:l,className:i,style:a,...n}=e,{state:s}=w(),o=function(){let e=r.useContext(p);if(void 0===e)throw Error((0,f.default)(63));return e}(),u={...s,...o};return(0,d.useRenderElement)("span",e,{state:u,ref:t,stateAttributesMapping:y,props:n})});var O=e.i(39606),O=O,U=e.i(75157);function I(e){let{className:r,thumbClassName:l,...i}=e;return(0,t.jsx)(O.Root,{"data-slot":"switch",className:(0,U.cn)("shadow-xs focus-visible:ring-ring/50 dark:data-[unchecked]:bg-input/80 peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border border-transparent bg-input outline-none transition-colors focus-visible:border-ring focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[checked]:bg-primary",r),...i,children:(0,t.jsx)(O.Thumb,{className:(0,U.cn)("pointer-events-none block size-4 rounded-full bg-background ring-0 transition-transform will-change-transform data-[checked]:translate-x-4 data-[unchecked]:translate-x-0.5 data-[checked]:bg-primary-foreground",l)})})}function P(e){let{className:r,thumbClassName:l,...i}=e;return(0,t.jsx)(I,{className:(0,U.cn)("focus-visible:border-[var(--ds-accent)]/50 focus-visible:ring-[var(--ds-accent)]/35 data-[checked]:border-[var(--ds-accent)] data-[checked]:bg-[var(--ds-accent)]",r),thumbClassName:(0,U.cn)("data-[checked]:bg-white",l),...i})}},51459,e=>{"use strict";e.s(["AgentTeamsManageView",()=>f],51459);var t=e.i(18050),r=e.i(71645),l=e.i(65934),i=e.i(87243),a=e.i(50711),n=e.i(94055),s=e.i(92715),o=e.i(85413),d=e.i(75157);function u(e){let{saveBusy:r,pickerFilteredRows:l,pickerLoading:i,pickerSelected:a,onPickerToggle:u}=e,c=[{key:"name",title:"名称",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"w-[140px] text-base text-[var(--ds-text)]",render:e=>{var t;return null!=(t=e.displayName)?t:e.id}},{key:"description",title:"详情",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"text-base text-[var(--ds-text)]",render:e=>{var t;return null!=(t=e.description)?t:"-"}},{key:"enabled",title:"启用/未启用",headerClassName:"w-64 text-right text-base text-[var(--ds-muted)]",cellClassName:"w-[72px] py-2 text-right align-middle",render:e=>(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsx)(n.AccentSwitch,{checked:a.includes(e.id),onCheckedChange:t=>u(e.id,t),disabled:r,"aria-label":"启用 ".concat(e.label)})})}];return(0,t.jsx)("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col gap-4",children:(0,t.jsx)("div",{className:(0,d.cn)("flex min-h-0 flex-1 flex-col overflow-hidden rounded-xl border bg-[#fff] p-[24px] shadow-[var(--shadow-md)]","border-[var(--ds-border)]"),children:(0,t.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-y-auto",children:i?(0,t.jsx)("p",{className:"px-1 py-4 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):l.length?(0,t.jsx)(s.AppTable,{rows:l,columns:c,getRowKey:e=>e.id,className:"border-0",rowClassName:"border-[var(--ds-border)]",headerRowClassName:"border-[var(--ds-border)]"}):(0,t.jsx)("div",{className:"py-6",children:(0,t.jsx)(o.Empty,{})})})})})}var c=e.i(13354),m=e.i(62427);function f(){let e=(0,l.useAppStore)(e=>e.wsUrl),n=(0,l.useAppStore)(e=>e.apiBase),s=(0,l.useAppStore)(e=>e.agentId),o=(0,l.useAppStore)(e=>e.agentConfig),d=(0,l.useAppStore)(e=>e.setAgentConfig),{currentAgent:f,loadAgentConfig:p}=(0,i.useSession)(),v=(0,a.usePersistAgentConfigField)("agentTeams"),b=o.agentTeams,g=(0,r.useMemo)(()=>[...b].sort().join("\0"),[b]),[h,y]=(0,r.useState)([]),[x,w]=(0,r.useState)([]),[k,R]=(0,r.useState)(!1),[C,N]=(0,r.useState)(!1);(0,r.useEffect)(()=>{p()},[p]),(0,r.useEffect)(()=>{w([...b])},[g,b]),(0,r.useEffect)(()=>{R(!0),y([]),(0,m.listAgentTeams)(e,n,f()).then(e=>{var t,r;y((null!=(r=null!=(t=e.teamAgentTypes)?t:e.agentTeams)?r:[]).map(e=>{var t,r,l,i,a,n;return{id:null!=(r=null!=(t=e.agentType)?t:e.name)?r:"",label:null!=(i=null!=(l=e.agentType)?l:e.name)?i:"",displayName:null!=(n=null!=(a=e.name)?a:e.agentType)?n:"",description:e.description}}).filter(e=>e.id.length>0))}).catch(e=>{y([]),c.appToast.error("加载可选 Agent Team 失败:".concat(e instanceof Error?e.message:String(e)))}).finally(()=>{R(!1)})},[e,n,s,f]);let T=(0,r.useCallback)(async(e,t)=>{N(!0);try{await v(e,{silent:t})}finally{N(!1)}},[v]),S=(0,r.useCallback)((e,t)=>{let r=l.useAppStore.getState(),i=new Set(r.agentConfig.agentTeams);t?i.add(e):i.delete(e);let a=[...i].sort();w(a),d({...r.agentConfig,agentTeams:a}),T(a,!0)},[d,T]);return(0,t.jsx)(u,{saveBusy:C,pickerFilteredRows:h,pickerLoading:k,pickerSelected:x,onPickerToggle:S})}}]);