@auto-ai/agent 2.1.96 → 2.1.98
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.
- package/dist/404/index.html +1 -1
- package/dist/404.html +1 -1
- package/dist/_next/static/chunks/144582c34365b4a3.js +1 -0
- package/dist/_next/static/chunks/28e0ccfb90ce8236.js +1 -0
- package/dist/_next/static/chunks/32f1e2403e2f19ad.js +1 -0
- package/dist/_next/static/chunks/3e9de8191bf84a21.js +1 -0
- package/dist/_next/static/chunks/442d298f96035d5d.js +1 -0
- package/dist/_next/static/chunks/44cc31591bdf5683.js +1 -0
- package/dist/_next/static/chunks/52464e6ba324e8ed.js +1 -0
- package/dist/_next/static/chunks/6209b42cbfcf288a.js +1 -0
- package/dist/_next/static/chunks/69c7407ef6f8340c.js +1 -0
- package/dist/_next/static/chunks/6fa420f0e5f24320.js +1 -0
- package/dist/_next/static/chunks/{76a71d344cc15a9f.js → 84694f69e82cbdaf.js} +1 -1
- package/dist/_next/static/chunks/{ee0f6e98cf7f0a96.js → 8fe28f6505d26d57.js} +1 -1
- package/dist/_next/static/chunks/91c478c455e6fe7d.js +1 -0
- package/dist/_next/static/chunks/a79654d570ac30eb.js +1 -0
- package/dist/_next/static/chunks/{206c8733a2953f46.js → b0c54f44d770ac39.js} +1 -1
- package/dist/_next/static/chunks/b23f3d1216dcec54.js +1 -0
- package/dist/_next/static/chunks/b5241f9943854a05.js +1 -0
- package/dist/_next/static/chunks/bb79d02feaef9576.js +1 -0
- package/dist/_next/static/chunks/cc5b7f377dc3de45.css +1 -0
- package/dist/_next/static/chunks/cd622961f697016c.js +1 -0
- package/dist/_next/static/chunks/da9e5c89b442680d.js +1 -0
- package/dist/_next/static/chunks/e3cd46a9e9e97850.js +1 -0
- package/dist/_next/static/chunks/{6a750155591ba201.css → ecac6101bc7f0ad9.css} +1 -1
- package/dist/_next/static/chunks/ef1e3e3691ffdba4.js +1 -0
- package/dist/_next/static/chunks/fedb1cd789e83a36.js +1 -0
- package/dist/_next/static/chunks/{turbopack-030a42d60560a927.js → turbopack-be468c2a89b10d33.js} +1 -1
- package/dist/index.html +1 -1
- package/dist/index.txt +19 -19
- package/dist/manage/about/index.html +2 -2
- package/dist/manage/about/index.txt +35 -32
- package/dist/manage/add-account/basic/index.html +2 -2
- package/dist/manage/add-account/basic/index.txt +32 -34
- package/dist/manage/add-account/index.html +2 -2
- package/dist/manage/add-account/index.txt +33 -35
- package/dist/manage/add-account/prompt/index.html +2 -2
- package/dist/manage/add-account/prompt/index.txt +33 -35
- package/dist/manage/agent-teams/index.html +2 -2
- package/dist/manage/agent-teams/index.txt +33 -35
- package/dist/manage/env/index.html +2 -2
- package/dist/manage/env/index.txt +37 -35
- package/dist/manage/general/index.html +2 -2
- package/dist/manage/general/index.txt +35 -32
- package/dist/manage/index.html +1 -1
- package/dist/manage/index.txt +31 -28
- package/dist/manage/mcp/index.html +2 -2
- package/dist/manage/mcp/index.txt +37 -35
- package/dist/manage/permissions/index.html +2 -2
- package/dist/manage/permissions/index.txt +30 -32
- package/dist/manage/skills/index.html +2 -2
- package/dist/manage/skills/index.txt +38 -35
- package/dist/manage/task/index.html +2 -1
- package/dist/manage/task/index.txt +35 -33
- package/dist/manage/teams/index.html +1 -1
- package/dist/manage/teams/index.txt +35 -32
- package/dist/manage/tools/index.html +2 -2
- package/dist/manage/tools/index.txt +38 -35
- package/dist/ws-test.html +1 -1
- package/lib/launcher-env.js +2 -1
- package/mcps-runtime/claude-tuitui/.mcp.json +2 -2
- package/package.json +6 -6
- package/dist/_next/static/chunks/0b5fd45c6d5ed376.js +0 -1
- package/dist/_next/static/chunks/0c059f531456fce2.js +0 -1
- package/dist/_next/static/chunks/15734e910215c5c7.js +0 -1
- package/dist/_next/static/chunks/1f4af280db551c9d.js +0 -1
- package/dist/_next/static/chunks/24ad0472395a5554.js +0 -1
- package/dist/_next/static/chunks/2b6b9fdaaa345603.js +0 -1
- package/dist/_next/static/chunks/34b34d02b7d6b4cb.js +0 -1
- package/dist/_next/static/chunks/3740042834e8f1fa.js +0 -1
- package/dist/_next/static/chunks/3a17a1f5303a1c2c.js +0 -1
- package/dist/_next/static/chunks/4247f46093e522c6.js +0 -1
- package/dist/_next/static/chunks/4456351ffa1be45f.js +0 -1
- package/dist/_next/static/chunks/620e3011cd69dfc9.js +0 -1
- package/dist/_next/static/chunks/67c7406790a840c1.js +0 -1
- package/dist/_next/static/chunks/6831f547a9403a0f.js +0 -1
- package/dist/_next/static/chunks/763710bf823861a8.js +0 -1
- package/dist/_next/static/chunks/8d0a29ce5f05a73d.js +0 -1
- package/dist/_next/static/chunks/8dc694eabda7878d.js +0 -1
- package/dist/_next/static/chunks/c889d3f6eb8ab09e.css +0 -1
- package/dist/_next/static/chunks/d9726d84bd7d40ff.js +0 -1
- package/dist/_next/static/chunks/e4675b3a8b7605e4.js +0 -1
- /package/dist/_next/static/{q0is0IhxOAG7ogFx9qQFk → cTHBIunE3OANgRkUnrMUo}/_buildManifest.js +0 -0
- /package/dist/_next/static/{q0is0IhxOAG7ogFx9qQFk → cTHBIunE3OANgRkUnrMUo}/_clientMiddlewareManifest.json +0 -0
- /package/dist/_next/static/{q0is0IhxOAG7ogFx9qQFk → cTHBIunE3OANgRkUnrMUo}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
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),a=e.i(75157);function l(e){let{className:l,type:s="text",size:r="default",...n}=e;return(0,t.jsx)("input",{type:s,"data-slot":"input","data-size":r,className:(0,a.cn)("h-8 w-full appearance-none rounded-md border border-solid border-border bg-transparent px-3 text-sm 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})}},25310,e=>{"use strict";e.s(["AppUpload",()=>i]);var t=e.i(18050),a=e.i(71645),l=e.i(72064),s=e.i(75157),r=e.i(19455);function n(e){return e<1024?"".concat(e," B"):e<1048576?"".concat((e/1024).toFixed(1)," KB"):"".concat((e/1048576).toFixed(1)," MB")}function i(e){let{uploadUrl:i,accept:o,disabled:c=!1,multiple:d=!1,maxFileSize:u=0x3200000,autoUpload:p=!1,method:m="POST",transport:x="xhr",fieldName:f="file",headers:b,extraFormData:h,autoRetryTimes:v=0,autoRetryDelayMs:g=800,selectionOnly:j=!1,className:y,emptyTitle:N="点击或拖拽文件到此处",emptyHint:w="支持上传文件",onFilesChange:C,onUploadSuccess:T,onUploadError:k,onValidationError:S}=e,A=a.useId(),E=a.useRef(null),R=a.useRef(new Map),P=a.useRef(new Map),z=a.useRef([]),[M,O]=a.useState(!1),[B,U]=a.useState([]),_=a.useMemo(()=>o?o.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean):[],[o]);a.useEffect(()=>{z.current=B,null==C||C(B)},[B,C]),a.useEffect(()=>()=>{for(let e of R.current.values())e.abort();for(let e of P.current.values())e.abort();for(let e of z.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl)},[]);let D=a.useCallback((e,t)=>{U(a=>a.map(a=>a.id===e?{...a,...t}:a))},[]),I=a.useCallback(async(e,t)=>{let a=z.current.find(t=>t.id===e);if(!a||c)return;D(e,{status:t>0?"retrying":"uploading",progress:0,error:"",retryCount:t});let l=new FormData;if(h)for(let[e,t]of Object.entries(h))l.append(e,t);l.append(f,a.file);try{let t="";if("fetch"===x){let a=new AbortController;P.current.set(e,a);let s=await fetch(i,{method:m,headers:b,body:l,signal:a.signal}),r=await s.text();try{t=r?JSON.parse(r):""}catch(e){t=r}if(!s.ok)throw Error("上传失败:".concat(s.status," ").concat(s.statusText))}else t=await new Promise((t,a)=>{let s=new XMLHttpRequest;if(R.current.set(e,s),s.open(m,i,!0),b)for(let[e,t]of Object.entries(b))s.setRequestHeader(e,t);s.upload.onprogress=t=>{if(!t.lengthComputable)return;let a=Math.min(100,Math.round(t.loaded/t.total*100));D(e,{progress:a})},s.onerror=()=>a(Error("网络异常,上传失败")),s.onabort=()=>a(Error("__ABORTED__")),s.onload=()=>{s.status>=200&&s.status<300?t(function(e){let t=e.responseText||"";try{return JSON.parse(t)}catch(e){return t}}(s)):a(Error("上传失败:".concat(s.status," ").concat(s.statusText)))},s.send(l)});D(e,{status:"success",progress:100,error:""});let a=z.current.find(t=>t.id===e);a&&(null==T||T(a,t))}catch(s){let a=s instanceof Error?s.message:String(s);if("__ABORTED__"===a)return void D(e,{status:"selected",progress:0,error:""});if(t<v){D(e,{status:"retrying",error:"重试中(".concat(t+1,"/").concat(v,")")}),await new Promise(e=>window.setTimeout(e,g)),await I(e,t+1);return}D(e,{status:"error",error:a});let l=z.current.find(t=>t.id===e);l&&(null==k||k(l,a))}finally{R.current.delete(e),P.current.delete(e)}},[g,v,c,h,f,b,m,k,T,x,D,i]),H=a.useCallback(e=>{I(e,0)},[I]),L=a.useCallback(e=>{var t,a;null==(t=R.current.get(e))||t.abort(),null==(a=P.current.get(e))||a.abort()},[]),F=a.useCallback(()=>{for(let e of z.current)("selected"===e.status||"error"===e.status)&&H(e.id)},[H]),V=a.useCallback(e=>{if(c||!e.length)return;let t=new Set(z.current.map(e=>"".concat(e.file.name,"::").concat(e.file.size))),a=[];for(let l of e){let e="".concat(l.name,"::").concat(l.size);if(!t.has(e)){if(!function(e,t){if(!t.length)return!0;let a=e.name.toLowerCase(),l=(e.type||"").toLowerCase();return t.some(e=>e.startsWith(".")?a.endsWith(e):e.endsWith("/*")?l.startsWith("".concat(e.slice(0,-1))):l===e)}(l,_)){null==S||S("文件类型不支持:".concat(l.name));continue}if(l.size>u){null==S||S("文件过大(最大 ".concat(n(u),"):").concat(l.name));continue}t.add(e),a.push({id:"".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,8)),file:l,status:"selected",progress:0,error:"",retryCount:0,previewUrl:l.type.startsWith("image/")?URL.createObjectURL(l):""})}}if(!a.length)return;let l=d?[...z.current,...a]:[a[a.length-1]];if(!d)for(let e of z.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl);if(U(l),p&&!j)for(let e of a)H(e.id)},[_,p,c,u,d,S,j,H]),K=a.useCallback(e=>{let t=e.target.files;t&&(V(Array.from(t)),e.target.value="")},[V]),W=a.useCallback(e=>{var t;e.preventDefault(),e.stopPropagation(),O(!1),c||V(Array.from(null!=(t=e.dataTransfer.files)?t:[]))},[V,c]);return(0,t.jsxs)("div",{className:(0,s.cn)("flex min-h-0 w-full flex-col gap-3",y),children:[(0,t.jsx)("input",{ref:E,id:A,type:"file",hidden:!0,accept:o,multiple:d,disabled:c,onChange:K}),(0,t.jsxs)("label",{htmlFor:A,onDragOver:e=>{e.preventDefault(),c||O(!0)},onDragLeave:e=>{e.preventDefault(),O(!1)},onDrop:W,className:(0,s.cn)("flex min-h-[124px] cursor-pointer flex-col items-center justify-center gap-1 rounded-lg border border-dashed border-[var(--ds-border)] px-4 py-6 text-center transition-colors hover:border-[var(--ds-border-hover)] hover:bg-[var(--ds-main-tint)]",M&&"bg-[var(--ds-accent)]/5 border-[var(--ds-accent)]",c&&"cursor-not-allowed opacity-60"),children:[(0,t.jsx)(l.default,{name:"Upload",size:20,className:"text-[var(--ds-muted)]"}),(0,t.jsx)("div",{className:"text-base text-[var(--ds-text)]",children:N}),(0,t.jsx)("div",{className:"text-sm text-[var(--ds-muted)]",children:w})]}),B.length?(0,t.jsx)("div",{className:"space-y-2",children:B.map(e=>(0,t.jsx)("div",{className:"rounded-md border border-[var(--ds-border)] p-2.5",children:(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate text-base text-[var(--ds-text)]",children:e.file.name}),(0,t.jsx)("div",{className:"text-sm text-[var(--ds-muted)]",children:n(e.file.size)}),e.previewUrl?(0,t.jsx)("img",{src:e.previewUrl,alt:e.file.name,className:"mt-2 h-14 w-14 rounded object-cover"}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsx)("div",{className:"mt-2 h-1.5 w-full overflow-hidden rounded bg-[var(--ds-main-tint)]",children:(0,t.jsx)("div",{className:"h-full bg-[var(--ds-accent)] transition-all",style:{width:"".concat(e.progress,"%")}})}):null,"error"===e.status?(0,t.jsx)("div",{className:"mt-1 text-sm text-[var(--ds-danger)]",children:e.error||"上传失败"}):null]}),j?null:(0,t.jsxs)("div",{className:"flex items-center gap-1",children:["success"===e.status?(0,t.jsx)(l.default,{name:"CheckCircle2",size:16,className:"text-[var(--ds-accent)]"}):null,"selected"===e.status||"error"===e.status?(0,t.jsxs)(r.Button,{type:"button",size:"sm",variant:"outline",disabled:c,onClick:()=>H(e.id),children:["error"===e.status?(0,t.jsx)(l.default,{name:"RefreshCw",size:14,className:"mr-1"}):null,"error"===e.status?"重试":"上传"]}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsxs)(r.Button,{type:"button",size:"sm",variant:"outline",onClick:()=>L(e.id),children:[(0,t.jsx)(l.default,{name:"XCircle",size:14,className:"mr-1"}),"取消"]}):null]})]})},e.id))}):null,!j&&!p&&B.some(e=>"selected"===e.status||"error"===e.status)?(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(r.Button,{type:"button",size:"sm",onClick:F,disabled:c,children:"上传"})}):null]})}},85413,e=>{"use strict";e.s(["Empty",()=>s]);var t=e.i(18050),a=e.i(75157),l=e.i(72064);function s(e){let{text:s="暂无数据",className:r}=e;return(0,t.jsxs)("div",{className:(0,a.cn)("flex min-h-[180px] w-full flex-col items-center justify-center gap-2 py-4 text-base text-[var(--ds-muted)]",r),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:s})]})}},84774,e=>{"use strict";e.s(["Table",()=>s,"TableBody",()=>n,"TableCell",()=>c,"TableHead",()=>o,"TableHeader",()=>r,"TableRow",()=>i]);var t=e.i(18050),a=e.i(71645),l=e.i(75157);let s=a.forwardRef((e,a)=>{let{className:s,...r}=e;return(0,t.jsx)("div",{className:"relative w-full overflow-auto",children:(0,t.jsx)("table",{ref:a,className:(0,l.cn)("w-full caption-bottom border-collapse text-sm",s),...r})})});s.displayName="Table";let r=a.forwardRef((e,a)=>{let{className:s,...r}=e;return(0,t.jsx)("thead",{ref:a,className:(0,l.cn)("[&_tr]:table [&_tr]:w-full [&_tr]:table-fixed [&_tr]:border-b",s),...r})});r.displayName="TableHeader";let n=a.forwardRef((e,s)=>{let{className:r,viewportFit:n=!0,viewportReserveBottom:i=16,viewportPaginationReserve:o=0,style:c,...d}=e,u=a.useRef(null),p=a.useCallback(e=>{u.current=e,"function"==typeof s?s(e):s&&(s.current=e)},[s]),[m,x]=a.useState(void 0);return a.useLayoutEffect(()=>{var e,t;if(!n)return void x(void 0);let a=()=>{var e,t;let a=u.current;if(!a)return;let l=a.getBoundingClientRect().top;x(Math.max(80,Math.floor((null!=(t=null==(e=window.visualViewport)?void 0:e.height)?t:window.innerHeight)-l-(i+o))))};a();let l=new ResizeObserver(()=>{a()});try{l.observe(document.body)}catch(e){}return window.addEventListener("resize",a),null==(e=window.visualViewport)||e.addEventListener("resize",a),null==(t=window.visualViewport)||t.addEventListener("scroll",a),window.addEventListener("scroll",a,!0),()=>{var e,t;l.disconnect(),window.removeEventListener("resize",a),null==(e=window.visualViewport)||e.removeEventListener("resize",a),null==(t=window.visualViewport)||t.removeEventListener("scroll",a),window.removeEventListener("scroll",a,!0)}},[n,i,o]),(0,t.jsx)("tbody",{ref:p,className:(0,l.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",r),style:n&&void 0!==m?{...c,maxHeight:m}:c,...d})});n.displayName="TableBody";let i=a.forwardRef((e,a)=>{let{className:s,hoverable:r=!0,...n}=e;return(0,t.jsx)("tr",{ref:a,className:(0,l.cn)("border-b transition-colors [&>td]:transition-colors data-[state=selected]:[&>td]:bg-[var(--ds-item-active)]",r&&"hover:[&>td]:bg-[var(--ds-item-hover)]",s),...n})});i.displayName="TableRow";let o=a.forwardRef((e,a)=>{let{className:s,...r}=e;return(0,t.jsx)("th",{ref:a,className:(0,l.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",s),...r})});o.displayName="TableHead";let c=a.forwardRef((e,a)=>{let{className:s,...r}=e;return(0,t.jsx)("td",{ref:a,className:(0,l.cn)("border-x-0 border-b border-t-0 border-solid border-[var(--border-subtle)] p-3 align-middle",s),...r})});c.displayName="TableCell"},56708,e=>{"use strict";e.s(["ManageChromeHeaderActions",()=>i,"ManageFeatureChrome",()=>n]);var t=e.i(18050),a=e.i(71645),l=e.i(74080),s=e.i(72064);let r=(0,a.createContext)(null);function n(e){let{title:l,description:n,children:i,showTitle:o=!0,headerIcon:c}=e,[d,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:[o?(0,t.jsxs)("div",{className:"manage-page-title-block flex items-center",children:[c&&(0,t.jsx)("div",{className:"mr-3 rounded-md bg-[var(--green-light)] px-4 py-3",children:(0,t.jsx)(s.default,{name:c,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:l}),(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)(r.Provider,{value:d,children:i})})]})}function i(e){let{children:t}=e,s=(0,a.useContext)(r);return s?(0,l.createPortal)(t,s):null}},99375,e=>{"use strict";e.s(["Switch",()=>O],99375);var t=e.i(18050);e.s(["Root",()=>R,"Thumb",()=>P],39606),e.s([],37751),e.i(37751),e.i(47167);var a=e.i(71645),l=e.i(94349),s=e.i(76477),r=e.i(26292),n=e.i(977),i=e.i(62372),o=e.i(17514),c=e.i(27601),d=e.i(19805),u=e.i(89879),p=e.i(91730),m=e.i(67805);let x=a.createContext(void 0),f=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},h={disabled:!1,...b},v=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}({}),g={valid:e=>null===e?null:e?{[f.valid]:""}:{[f.invalid]:""},checked:e=>e?{[v.checked]:""}:{[v.unchecked]:""}},j=a.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:h,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 y(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],t=a.useContext(j);if(t.setValidityData===o.NOOP&&!e)throw Error((0,m.default)(28));return t}let N=a.createContext({formRef:{current:{fields:new Map}},errors:{},clearErrors:o.NOOP,validationMode:"onSubmit",submitAttemptedRef:{current:!1}}),w=a.createContext({controlId:void 0,registerControlId:o.NOOP,labelId:void 0,setLabelId:o.NOOP,messageIds:[],setMessageIds:o.NOOP,getDescriptionProps:e=>e});function C(){return a.useContext(w)}var T=e.i(30628),k=e.i(29315),S=e.i(5963),A=e.i(3404),E=e.i(19904);let R=a.forwardRef(function(e,m){let{checked:f,className:b,defaultChecked:h,"aria-labelledby":v,form:j,id:w,inputRef:R,name:P,nativeButton:z=!1,onCheckedChange:M,readOnly:O=!1,required:B=!1,disabled:U=!1,render:_,uncheckedValue:D,value:I,style:H,...L}=e,{clearErrors:F}=a.useContext(N),{state:V,setTouched:K,setDirty:W,validityData:J,setFilled:Y,setFocused:q,shouldValidateOnChange:Z,validationMode:Q,disabled:X,name:G,validation:$}=y(),{labelId:ee}=C(),et=X||U,ea=null!=G?G:P,el=(0,s.useStableCallback)(M),es=a.useRef(null),er=(0,r.useMergedRefs)(es,R,$.inputRef),en=a.useRef(null),ei=(0,u.useBaseUiId)(),eo=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{id:t,implicit:l=!1,controlRef:r}=e,{controlId:i,registerControlId:c}=C(),d=(0,u.useBaseUiId)(t),p=l?i:void 0,m=(0,T.useRefWithInit)(()=>Symbol("labelable-control")),x=a.useRef(!1),f=a.useRef(null!=t),b=(0,s.useStableCallback)(()=>{x.current&&c!==o.NOOP&&(x.current=!1,c(m.current,void 0))});return(0,n.useIsoLayoutEffect)(()=>{let e;if(c!==o.NOOP){if(l){let a=null==r?void 0:r.current;e=(0,k.isElement)(a)&&null!=a.closest("label")?null!=t?t:null:null!=p?p:d}else if(null!=t)f.current=!0,e=t;else{if(!f.current)return void b();e=d}if(void 0===e)return void b();x.current=!0,c(m.current,e)}},[t,r,p,c,l,d,m,b]),a.useEffect(()=>b,[b]),null!=i?i:d}({id:w,implicit:!1,controlRef:en}),ec=z?void 0:eo,[ed,eu]=(0,l.useControlled)({controlled:f,default:!!h,name:"Switch",state:"checked"});!function(e,t){let{enabled:l=!0,getValue:s,id:r,value:i}=t,{registerFieldControl:o}=y(),c=a.useRef(null);c.current||(c.current=Symbol()),(0,n.useIsoLayoutEffect)(()=>{let t=c.current;if(t&&l)return o(t,{controlRef:e,getValue:s,id:r,value:i}),()=>{o(t,void 0)}},[e,l,s,r,o,i])}(en,{id:ei,value:ed}),(0,n.useIsoLayoutEffect)(()=>{es.current&&Y(es.current.checked)},[es,Y]),(0,E.useValueChanged)(ed,()=>{F(ea),W(ed!==J.initialValue),Y(ed),Z()?$.commit(ed):$.commit(ed,!0)});let{getButtonProps:ep,buttonRef:em}=(0,p.useButton)({disabled:et,native:z}),ex=function(e,t,l){var s;let r=!(arguments.length>3)||void 0===arguments[3]||arguments[3],i=arguments.length>4?arguments[4]:void 0,[o,c]=a.useState(),d=(0,u.useBaseUiId)(i?"".concat(i,"-label"):void 0),p=null!=(s=null!=e?e:t)?s:o;return(0,n.useIsoLayoutEffect)(()=>{let a=e||t||!r?void 0:function(e,t){let a=function(e){if(!e)return;let t=e.parentElement;if(t&&"LABEL"===t.tagName)return t;let a=e.id;if(a){let t=e.nextElementSibling;if(t&&t.htmlFor===a)return t}let l=e.labels;return l&&l[0]}(e);if(a)return!a.id&&t&&(a.id=t),a.id||void 0}(l.current,d);o!==a&&c(a)}),p}(v,ee,es,!z,ec),ef=a.useMemo(()=>(0,d.mergeProps)({checked:ed,disabled:et,form:j,id:ec,name:ea,required:B,style:ea?i.visuallyHiddenInput:i.visuallyHidden,tabIndex:-1,type:"checkbox","aria-hidden":!0,ref:er,onChange(e){if(e.nativeEvent.defaultPrevented)return;if(O)return void e.preventDefault();let t=e.currentTarget.checked,a=(0,S.createChangeEventDetails)(A.REASONS.none,e.nativeEvent);null==el||el(t,a),a.isCanceled||eu(t)},onFocus(){var e;null==(e=en.current)||e.focus()}},$.getInputValidationProps,void 0!==I?{value:I}:o.EMPTY_OBJECT),[ed,et,j,er,ec,ea,el,O,B,eu,$,I]),eb=a.useMemo(()=>({...V,checked:ed,disabled:et,readOnly:O,required:B}),[V,ed,et,O,B]),eh=(0,c.useRenderElement)("span",e,{state:eb,ref:[m,en,em],props:[{id:z?eo:ei,role:"switch","aria-checked":ed,"aria-readonly":O||void 0,"aria-required":B||void 0,"aria-labelledby":ex,onFocus(){et||q(!0)},onBlur(){let e=es.current;e&&!et&&(K(!0),q(!1),"onBlur"===Q&&$.commit(e.checked))},onClick(e){var t;O||et||(e.preventDefault(),null==(t=es.current)||t.dispatchEvent(new PointerEvent("click",{bubbles:!0,shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey})))}},$.getValidationProps,L,ep],stateAttributesMapping:g});return(0,t.jsxs)(x.Provider,{value:eb,children:[eh,!ed&&ea&&void 0!==D&&(0,t.jsx)("input",{type:"hidden",form:j,name:ea,value:D}),(0,t.jsx)("input",{...ef,suppressHydrationWarning:!0})]})}),P=a.forwardRef(function(e,t){let{render:l,className:s,style:r,...n}=e,{state:i}=y(),o=function(){let e=a.useContext(x);if(void 0===e)throw Error((0,m.default)(63));return e}(),d={...i,...o};return(0,c.useRenderElement)("span",e,{state:d,ref:t,stateAttributesMapping:g,props:n})});var z=e.i(39606),z=z,M=e.i(75157);function O(e){let{className:a,thumbClassName:l,...s}=e;return(0,t.jsx)(z.Root,{"data-slot":"switch",className:(0,M.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",a),...s,children:(0,t.jsx)(z.Thumb,{className:(0,M.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)})})}},24687,e=>{"use strict";e.s(["Textarea",()=>l]);var t=e.i(18050),a=e.i(75157);function l(e){let{className:l,...s}=e;return(0,t.jsx)("textarea",{"data-slot":"textarea",className:(0,a.cn)("flex min-h-20 w-full rounded-md border border-solid border-border bg-transparent px-3 py-2 text-sm 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]",l),...s})}},98083,e=>{"use strict";e.s(["AgentManageView",()=>p],98083);var t=e.i(18050),a=e.i(71645),l=e.i(19455),s=e.i(13354),r=e.i(75157),n=e.i(24687);function i(e){let{value:a,onChange:l,loading:s=!1,className:i}=e;return(0,t.jsx)("div",{className:(0,r.cn)("flex min-h-[200px] flex-col",i),children:s?(0,t.jsx)("div",{className:"tool-files-state py-4",children:"加载 agent.md…"}):(0,t.jsx)(n.Textarea,{className:(0,r.cn)("agent-md-editor min-h-[110px] resize-y focus-visible:ring-1 focus-visible:ring-ring"),spellCheck:!1,value:a,onChange:e=>l(e.target.value),placeholder:"编辑当前 Agent 的提示词(agent.md)"})})}var o=e.i(38991),c=e.i(87243),d=e.i(2531),u=e.i(36845);function p(){let{agentMdText:e,setAgentMdText:r,agentLoading:n,loadAgentPrompt:p,saveAgentPrompt:m}=function(e){let t=(0,o.useAppStore)(e=>e.wsUrl),l=(0,o.useAppStore)(e=>e.apiBase),{currentAgent:r}=(0,c.useSession)(),[n,i]=(0,a.useState)(!1),[p,m]=(0,a.useState)(""),x=(0,a.useCallback)(async()=>{i(!0);try{let e=await (0,d.get)((0,u.buildAgentApiUrl)(t,l,r())),a=e.agent&&"string"==typeof e.agent.prompt?e.agent.prompt:"";m(a)}catch(e){s.appToast.error("加载 agent.md 失败:".concat(e instanceof Error?e.message:String(e)))}finally{i(!1)}},[t,l,r]),f=(0,a.useCallback)(async e=>{await (0,d.patch)((0,u.buildAgentApiUrl)(t,l,r()),{prompt:p}),(null==e?void 0:e.silent)||s.appToast.success("已保存 agent.md。")},[t,l,r,p]);return(0,a.useEffect)(()=>{x()},[x,void 0]),{agentMdText:p,setAgentMdText:m,agentLoading:n,loadAgentPrompt:x,saveAgentPrompt:f}}(),[x,f]=(0,a.useState)(!1),b=(0,a.useCallback)(async()=>{f(!0);try{await m()}catch(e){s.appToast.error("保存失败:".concat(e instanceof Error?e.message:String(e)))}finally{f(!1)}},[m]);return(0,t.jsxs)("div",{className:"manage-page-content flex min-h-0 flex-1 flex-col rounded-xl border bg-[#fff] shadow-[var(--shadow-md)]",children:[(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col p-4",children:(0,t.jsx)(i,{value:e,onChange:r,loading:n,className:"min-h-0 flex-1"})}),(0,t.jsxs)("div",{className:"flex shrink-0 justify-end gap-2 border-t border-[var(--ds-border)] px-4 py-3",children:[(0,t.jsx)(l.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:n||x,onClick:()=>void p(),children:"取消"}),(0,t.jsx)(l.Button,{type:"button",size:"lg",disabled:n||x,onClick:()=>void b(),children:"保存"})]})]})}},51459,e=>{"use strict";e.s(["AgentTeamsManageView",()=>x],51459);var t=e.i(18050),a=e.i(71645),l=e.i(38991),s=e.i(87243),r=e.i(2531),n=e.i(36845),i=e.i(50711),o=e.i(99375),c=e.i(84774),d=e.i(85413),u=e.i(75157);function p(e){let{saveBusy:a,pickerFilteredRows:l,pickerLoading:s,pickerSelected:r,onPickerToggle:n}=e;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,u.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:s?(0,t.jsx)("p",{className:"px-1 py-4 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):l.length?(0,t.jsxs)(c.Table,{children:[(0,t.jsx)(c.TableHeader,{children:(0,t.jsxs)(c.TableRow,{className:"border-[var(--ds-border)] hover:bg-[var(--ds-main-tint)]",children:[(0,t.jsx)(c.TableHead,{className:"text-base text-[var(--ds-muted)]",children:"名称"}),(0,t.jsx)(c.TableHead,{className:"text-base text-[var(--ds-muted)]",children:"详情"}),(0,t.jsx)(c.TableHead,{className:"w-64 text-right text-base text-[var(--ds-muted)]",children:"启用/未启用"})]})}),(0,t.jsx)(c.TableBody,{children:l.map(e=>{var l,s;return(0,t.jsxs)(c.TableRow,{className:"border-[var(--ds-border)]",children:[(0,t.jsx)(c.TableCell,{className:"w-[140px] text-base text-[var(--ds-text)]",children:null!=(l=e.displayName)?l:e.id}),(0,t.jsx)(c.TableCell,{className:"text-base text-[var(--ds-text)]",children:null!=(s=e.description)?s:"-"}),(0,t.jsx)(c.TableCell,{className:"w-[72px] py-2 text-right align-middle",children:(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsx)(o.Switch,{checked:r.includes(e.id),onCheckedChange:t=>n(e.id,t),disabled:a,"aria-label":"启用 ".concat(e.label),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)]"),thumbClassName:"data-[checked]:bg-white"})})})]},e.id)})})]}):(0,t.jsx)("div",{className:"py-6",children:(0,t.jsx)(d.Empty,{})})})})})}var m=e.i(13354);function x(){let e=(0,l.useAppStore)(e=>e.wsUrl),o=(0,l.useAppStore)(e=>e.apiBase),c=(0,l.useAppStore)(e=>e.agentId),d=(0,l.useAppStore)(e=>e.agentConfig),u=(0,l.useAppStore)(e=>e.setAgentConfig),{currentAgent:x,loadAgentConfig:f}=(0,s.useSession)(),b=(0,i.usePersistAgentConfigField)("agentTeams"),h=d.agentTeams,v=(0,a.useMemo)(()=>[...h].sort().join("\0"),[h]),[g,j]=(0,a.useState)([]),[y,N]=(0,a.useState)([]),[w,C]=(0,a.useState)(!1),[T,k]=(0,a.useState)(!1);(0,a.useEffect)(()=>{f()},[f]),(0,a.useEffect)(()=>{N([...h])},[v,h]),(0,a.useEffect)(()=>{C(!0),j([]),(0,r.get)((0,n.buildAgentTeamsListUrl)(e,o,x())).then(e=>{var t,a;j((null!=(a=null!=(t=e.teamAgentTypes)?t:e.agentTeams)?a:[]).map(e=>{var t,a,l,s,r,n;return{id:null!=(a=null!=(t=e.agentType)?t:e.name)?a:"",label:null!=(s=null!=(l=e.agentType)?l:e.name)?s:"",displayName:null!=(n=null!=(r=e.name)?r:e.agentType)?n:"",description:e.description}}).filter(e=>e.id.length>0))}).catch(e=>{j([]),m.appToast.error("加载可选 Agent Team 失败:".concat(e instanceof Error?e.message:String(e)))}).finally(()=>{C(!1)})},[e,o,c,x]);let S=(0,a.useCallback)(async(e,t)=>{k(!0);try{await b(e,{silent:t})}finally{k(!1)}},[b]),A=(0,a.useCallback)((e,t)=>{let a=l.useAppStore.getState(),s=new Set(a.agentConfig.agentTeams);t?s.add(e):s.delete(e);let r=[...s].sort();N(r),u({...a.agentConfig,agentTeams:r}),S(r,!0)},[u,S]);return(0,t.jsx)(p,{saveBusy:T,pickerFilteredRows:g,pickerLoading:w,pickerSelected:y,onPickerToggle:A})}},62849,e=>{"use strict";e.s(["EnvManageView",()=>v],62849);var t=e.i(18050),a=e.i(71645),l=e.i(38991),s=e.i(87243),r=e.i(2531),n=e.i(36845),i=e.i(19455),o=e.i(93479),c=e.i(67327),d=e.i(72064);let u={"Base URL":"ANTHROPIC_BASE_URL","Deployment Name":"ANTHROPIC_DEPLOYMENT_NAME","API Key":"ANTHROPIC_API_KEY"};var p=e.i(13354);let m="AZURE_OPENAI_BASE_URL",x="AZURE_OPENAI_DEPLOYMENT_NAME",f="AZURE_OPENAI_API_KEY";function b(){return"undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():"r-".concat(Date.now(),"-").concat(Math.random())}function h(e){return Object.keys(e).sort().map(t=>{var a;return{id:b(),key:t,value:null!=(a=e[t])?a:""}})}function v(){var e,v,g;let j=(0,l.useAppStore)(e=>e.wsUrl),y=(0,l.useAppStore)(e=>e.apiBase),N=(0,l.useAppStore)(e=>e.agentConfig),w=(0,l.useAppStore)(e=>e.setAgentConfig),C=(0,l.useAppStore)(e=>e.bridgeReady),T=(0,l.useAppStore)(e=>e.setStatus),{currentAgent:k,loadAgentConfig:S}=(0,s.useSession)(),{sendReloadAgentConfig:A}=(0,c.useWebSocketSender)(),[E,R]=(0,a.useState)(!0),[P,z]=(0,a.useState)(!1),[M,O]=(0,a.useState)([]),B=(0,a.useMemo)(()=>{let e={};for(let a of M){var t;let l=String(a.key||"").trim();l&&(e[l]=String(null!=(t=a.value)?t:""))}return e},[M]),U=(0,a.useMemo)(()=>new Set([m,x,f]),[]),_=(0,a.useMemo)(()=>M.filter(e=>{let t=String(e.key||"").trim();return!U.has(t)}),[M,U]);(0,a.useEffect)(()=>{R(!0),S().finally(()=>{R(!1)})},[S]),(0,a.useEffect)(()=>{O(h({...N.env}))},[N.env]);let D=(0,a.useCallback)((e,t)=>{O(a=>a.map(a=>a.id===e?{...a,...t}:a))},[]),I=(0,a.useCallback)(e=>{O(t=>t.filter(t=>t.id!==e))},[]),H=(0,a.useCallback)((e,t)=>{let a=String(e||"").trim();a&&O(e=>{let l=e.findIndex(e=>String(e.key||"").trim()===a);if(l>=0){let a=[...e];return a[l]={...a[l],value:t},a}return[...e,{id:b(),key:a,value:t}]})},[]),L=(0,a.useCallback)(()=>{O(e=>[...e,{id:b(),key:"",value:""}])},[]),F=(0,a.useCallback)(()=>{O(h({...N.env}))},[N.env]),V=(0,a.useCallback)(async()=>{let e=function(e){let t={},a=new Set;for(let s of e){var l;let e=String(s.key||"").trim(),r=String(null!=(l=s.value)?l:"");if(r.trim()||e){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(e))return{ok:!1,message:"环境变量名不合法:".concat(e,"(仅允许字母/数字/下划线,且不能数字开头)")};if(a.has(e))return{ok:!1,message:"存在重复环境变量名:".concat(e)};a.add(u[e]||e),t[e]=r}}return{ok:!0,env:t}}(M);if(!e.ok)return void p.appToast.info(e.message);z(!0);try{var t,a,s,i;let o=l.useAppStore.getState(),c={config:{tools:o.agentConfig.tools.slice(),disallowedTools:o.agentConfig.disallowedTools.slice(),mcpServers:o.agentConfig.mcpServers.slice(),skills:o.agentConfig.skills.slice(),agentTeams:o.agentConfig.agentTeams.slice(),model:o.agentConfig.model,rules:o.agentConfig.rules.slice(),effort:null!=(t=o.agentConfig.effort)?t:null,background:null!=(a=o.agentConfig.background)&&a,isolation:null!=(s=o.agentConfig.isolation)?s:"",whentouse:null!=(i=o.agentConfig.whentouse)?i:"",env:e.env}};await (0,r.patch)((0,n.buildAgentApiUrl)(j,y,k()),c),w({...o.agentConfig,env:{...e.env}}),l.useAppStore.getState().wsConnected&&A(),T("环境变量已保存"+(l.useAppStore.getState().wsConnected?",已请求 worker 重新加载配置":""),C?"ready":""),p.appToast.success(l.useAppStore.getState().wsConnected?"已保存到 agent.json,并已请求 worker 重新加载配置。":"已保存到 agent.json。重连 WebSocket 后子进程环境将同步。")}catch(e){p.appToast.error("保存环境变量失败:".concat(e instanceof Error?e.message:String(e)))}finally{z(!1)}},[M,j,y,k,w,A,T,C]);return(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden rounded-xl border border-[var(--ds-border)] bg-[#fff] shadow-[var(--shadow-md)]",children:[(0,t.jsx)("div",{className:"shrink-0 border-b border-[var(--ds-border)] px-4 py-4",children:(0,t.jsx)("p",{className:"mt-1 text-sm text-[var(--ds-muted)]",children:"仅影响当前 agent 的 session 子进程环境"})}),(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto px-4 py-4",children:E?(0,t.jsx)("div",{className:"py-8 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"mt-0 flex items-start justify-between gap-3",children:(0,t.jsx)("div",{children:(0,t.jsx)("h3",{className:"text-base font-semibold text-[var(--ds-text)]",children:"模型配置"})})}),(0,t.jsxs)("div",{className:"mt-3 divide-y divide-[var(--ds-border)]",children:[(0,t.jsxs)("div",{className:"grid items-center gap-3 py-3",style:{gridTemplateColumns:"240px 1fr"},children:[(0,t.jsx)("label",{className:"inline-flex h-10 items-center rounded-md border border-[var(--ds-border)] px-3 text-base text-[var(--ds-text)]",htmlFor:"azure-base-url",children:"Base URL"}),(0,t.jsx)(o.Input,{id:"azure-base-url",type:"text",spellCheck:!1,autoComplete:"off",placeholder:"https://example.openai.azure.com",className:"h-10 border-[var(--ds-border)] bg-[var(--ds-bg)] text-base placeholder:text-[var(--text-placeholder)]",value:null!=(e=B[m])?e:"",onChange:e=>H(m,e.target.value)})]}),(0,t.jsxs)("div",{className:"grid items-center gap-3 py-3",style:{gridTemplateColumns:"240px 1fr"},children:[(0,t.jsx)("label",{className:"inline-flex h-10 items-center rounded-md border border-[var(--ds-border)] px-3 text-base text-[var(--ds-text)]",htmlFor:"azure-deployment-name",children:"Deployment Name"}),(0,t.jsx)(o.Input,{id:"azure-deployment-name",type:"text",spellCheck:!1,autoComplete:"off",placeholder:"gpt-4o",className:"h-10 border-[var(--ds-border)] bg-[var(--ds-bg)] text-base placeholder:text-[var(--text-placeholder)]",value:null!=(v=B[x])?v:"",onChange:e=>H(x,e.target.value)})]}),(0,t.jsxs)("div",{className:"grid items-center gap-3 py-3",style:{gridTemplateColumns:"240px 1fr"},children:[(0,t.jsx)("label",{className:"inline-flex h-10 items-center rounded-md border border-[var(--ds-border)] px-3 text-base text-[var(--ds-text)]",htmlFor:"azure-api-key px-3",children:"API Key"}),(0,t.jsx)(o.Input,{id:"azure-api-key",type:"password",spellCheck:!1,autoComplete:"off",placeholder:"请输入 API Key",className:"h-10 border-[var(--ds-border)] bg-[var(--ds-bg)] text-base placeholder:text-[var(--text-placeholder)]",value:null!=(g=B[f])?g:"",onChange:e=>H(f,e.target.value)})]})]}),(0,t.jsx)("h3",{className:"mb-4 mt-8 text-base font-semibold text-[var(--ds-text)]",children:"自定义设置"}),(0,t.jsx)("div",{className:"mt-5",children:(0,t.jsx)(i.Button,{type:"button",variant:"outline",size:"lg",disabled:E||P,onClick:L,children:"新增变量"})}),(0,t.jsxs)("div",{className:"mb-2 mt-5 grid gap-2 text-sm text-[var(--ds-muted)]",style:{gridTemplateColumns:"1fr 1fr auto"},children:[(0,t.jsx)("span",{children:"KEY"}),(0,t.jsx)("span",{children:"VALUE"}),(0,t.jsx)("span",{children:"操作"})]}),(0,t.jsx)("div",{className:"flex flex-col gap-2",children:_.length?_.map(e=>(0,t.jsxs)("div",{className:"grid gap-2",style:{gridTemplateColumns:"1fr 1fr auto"},children:[(0,t.jsx)(o.Input,{type:"text",spellCheck:!1,autoComplete:"off",placeholder:"例如 API_KEY",className:"h-10 border-[var(--ds-border)] bg-[var(--ds-bg)] text-base placeholder:text-[var(--text-placeholder)]",value:e.key,onChange:t=>D(e.id,{key:t.target.value})}),(0,t.jsx)(o.Input,{type:"text",spellCheck:!1,autoComplete:"off",placeholder:"value",className:"h-10 border-[var(--ds-border)] bg-[var(--ds-bg)] text-base placeholder:text-[var(--text-placeholder)]",value:e.value,onChange:t=>D(e.id,{value:t.target.value})}),(0,t.jsx)(i.Button,{type:"button",variant:"plain",size:"icon",className:"h-8 w-8 text-red-600 hover:text-red-800 [&_svg]:!text-red-600 hover:[&_svg]:!text-red-800",onClick:()=>I(e.id),"aria-label":"删除 ".concat(e.key),children:(0,t.jsx)(d.default,{name:"Trash2",size:16})})]},e.id)):(0,t.jsx)("div",{className:"rounded-md border border-dashed border-[var(--ds-border)] py-8 text-center text-base text-[var(--ds-muted)]",children:"(暂无变量,点击「新增变量」)"})})]})}),(0,t.jsxs)("div",{className:"flex shrink-0 justify-end gap-[12px] border-t border-[var(--ds-border)] px-4 py-3",children:[(0,t.jsx)(i.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:E||P,onClick:F,children:"取消"}),(0,t.jsx)(i.Button,{type:"button",size:"lg",disabled:E||P,onClick:()=>void V(),children:"保存"})]})]})}},28583,e=>{"use strict";e.s(["ToolsManageView",()=>T],28583);var t=e.i(18050),a=e.i(71645),l=e.i(38991),s=e.i(87243),r=e.i(2531),n=e.i(13354),i=e.i(36845),o=e.i(50711),c=e.i(19455),d=e.i(46798),u=e.i(51419),p=e.i(84774),m=e.i(85413),x=e.i(75157),f=e.i(99375),b=e.i(72064);function h(e){let{items:a,saveBusy:l,onToggle:s,onExport:r,onRemove:n,className:i}=e;return(0,t.jsx)("div",{className:(0,x.cn)("overflow-hidden border border-[var(--ds-border)]",i),children:(0,t.jsxs)(p.Table,{children:[(0,t.jsx)(p.TableHeader,{children:(0,t.jsxs)(p.TableRow,{className:"bg-[var(--ds-main-tint)] hover:bg-[var(--ds-main-tint)]",children:[(0,t.jsx)(p.TableHead,{className:"text-base",children:"名称"}),(0,t.jsx)(p.TableHead,{className:"text-base",children:"详情"}),(0,t.jsx)(p.TableHead,{className:"text-base",children:"启用/未启用"}),(0,t.jsx)(p.TableHead,{className:"w-[128px] text-base",children:"操作"})]})}),(0,t.jsx)(p.TableBody,{children:a.length?a.map(e=>(0,t.jsxs)(p.TableRow,{children:[(0,t.jsx)(p.TableCell,{className:"text-base",children:e.name}),(0,t.jsx)(p.TableCell,{className:"text-base",children:e.description||"-"}),(0,t.jsx)(p.TableCell,{className:"whitespace-nowrap text-base text-[var(--ds-text)]",children:(0,t.jsx)("span",{className:"inline-flex items-center gap-2",children:(0,t.jsx)(f.Switch,{checked:!!e.enabled,disabled:l,className:"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)]",thumbClassName:"data-[checked]:bg-white",onCheckedChange:t=>s(e.name,t),"aria-label":"".concat(e.enabled?"禁用":"启用"," ").concat(e.name)})})}),(0,t.jsx)(p.TableCell,{className:"w-[128px]",children:(0,t.jsx)(d.TooltipProvider,{delayDuration:150,children:(0,t.jsxs)("div",{className:"inline-flex items-center justify-end gap-1",children:[(0,t.jsxs)(d.Tooltip,{children:[(0,t.jsx)(d.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(c.Button,{type:"button",variant:"plain",size:"icon",className:"h-8 w-8 text-[var(--ds-muted)] hover:text-[var(--ds-text)]",onClick:()=>r(e.name),"aria-label":"导出 ".concat(e.name),disabled:l,children:(0,t.jsx)(b.default,{name:"Download",size:16})})}),(0,t.jsx)(d.TooltipContent,{side:"bottom",align:"center",children:"导出"})]}),(0,t.jsxs)(d.Tooltip,{children:[(0,t.jsx)(d.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(c.Button,{type:"button",variant:"plain",size:"icon",className:"h-8 w-8 text-red-600 hover:text-red-800 [&_svg]:!text-red-600 hover:[&_svg]:!text-red-800",onClick:()=>{n(e.name)},"aria-label":"删除 ".concat(e.name),disabled:l,children:(0,t.jsx)(b.default,{name:"Trash2",size:16})})}),(0,t.jsx)(d.TooltipContent,{side:"bottom",align:"center",children:"删除"})]})]})})})]},"tools:".concat(e.name))):(0,t.jsx)(p.TableRow,{children:(0,t.jsx)(p.TableCell,{colSpan:4,className:"py-6",children:(0,t.jsx)(m.Empty,{})})})})]})})}var v=e.i(29619),g=e.i(76639),j=e.i(25310);function y(e){let{open:l,onOpenChange:s,wsUrl:r,apiBase:o,agent:d}=e,[u,p]=(0,a.useState)(!1),[m,x]=(0,a.useState)(null),f=(0,a.useCallback)(()=>{s(!1),x(null)},[s]),b=(0,a.useCallback)(async()=>{if(!m)return void n.appToast.info("请先选择 zip 文件");let e=new FormData;e.append("file",m),p(!0);try{let t=await (0,v.bridgeFetch)((0,i.buildToolsRuntimeImportUrl)(r,o,d),{method:"POST",body:e}),a=Number(t.imported||0),l=Number(t.overwritten||0),s=Array.isArray(t.rejected)?t.rejected.length:0;n.appToast.success("导入完成:导入 ".concat(a,",覆盖 ").concat(l)+(s>0?",拒绝 ".concat(s):"")),f()}catch(e){n.appToast.error("导入失败:".concat(e instanceof Error?e.message:String(e)))}finally{p(!1)}},[m,r,o,d,f]);return(0,t.jsx)(g.Dialog,{open:l,onOpenChange:e=>{s(e),e||x(null)},children:(0,t.jsxs)(g.DialogContent,{className:"flex min-h-[320px] max-w-[560px] flex-col",children:[(0,t.jsxs)(g.DialogHeader,{children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(g.DialogTitle,{children:"导入工具 zip"}),(0,t.jsx)(g.DialogDescription,{children:"选择一个 zip 文件并导入到 tools-runtime。"})]}),(0,t.jsx)(g.DialogClose,{className:"sidebar-icon-btn","aria-label":"关闭",onClick:f,children:"✕"})]}),(0,t.jsxs)("div",{className:"mb-3 ml-3 mr-3 mt-3 flex flex-1 flex-col gap-3",children:[(0,t.jsx)(j.AppUpload,{uploadUrl:(0,i.buildToolsRuntimeImportUrl)(r,o,d),accept:".zip,application/zip",maxFileSize:0x3200000,multiple:!1,disabled:u,selectionOnly:!0,emptyTitle:"点击或拖拽 zip 文件到此处",emptyHint:"支持 .zip 格式,最大 50MB",onFilesChange:e=>{var t,a;x(null!=(a=null==(t=e[0])?void 0:t.file)?a:null)},onValidationError:e=>{n.appToast.info(e)}},"".concat(l?"open":"closed","-").concat(d)),(0,t.jsxs)("div",{className:"mt-auto flex justify-end pt-2",children:[(0,t.jsx)(c.Button,{className:"mr-[12px]",type:"button",variant:"plain-outline",size:"lg",onClick:f,children:"取消"}),(0,t.jsx)(c.Button,{type:"button",size:"lg",variant:"default",disabled:u||null==m,onClick:()=>void b(),children:u?"导入中…":"确定"})]})]})]})})}var N=e.i(68499),w=e.i(56708);let C=[{value:"basic",label:"系统工具"},{value:"installed",label:"自定义工具"}];function T(){let e=(0,l.useAppStore)(e=>e.wsUrl),x=(0,l.useAppStore)(e=>e.apiBase),v=(0,l.useAppStore)(e=>e.agentConfig),g=(0,l.useAppStore)(e=>e.setAgentConfig),{currentAgent:j,loadAgentConfig:T}=(0,s.useSession)(),k=(0,o.usePersistAgentConfigField)("tools"),S=v.tools,A=(0,a.useMemo)(()=>[...S].sort().join("\0"),[S]),[E,R]=(0,a.useState)([]),[P,z]=(0,a.useState)([]),[M,O]=(0,a.useState)(!1),[B,U]=(0,a.useState)(!1),[_,D]=(0,a.useState)("basic"),[I,H]=(0,a.useState)(!1);(0,a.useEffect)(()=>{T()},[T]);let L=(0,a.useCallback)(async(e,t)=>{U(!0);try{await k(e,{silent:t})}finally{U(!1)}},[k]),F=(0,a.useCallback)(async()=>{R([]),O(!0),await (0,r.get)((0,i.buildToolsListUrl)(e,x,j())).then(e=>{var t;R((null!=(t=e.tools)?t:[]).map(e=>{var t,a;return{...e,id:e.name,label:(e.displayName&&e.displayName!==e.name?"".concat(e.displayName," · "):"")+e.name,description:null!=(a=null!=(t=e.description)?t:e.searchHint)?a:""}}))}).catch(e=>{R([]),n.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}).finally(()=>{O(!1)})},[e,x,j]),V=(0,a.useCallback)(async t=>{if(await (0,N.confirmAlertDialog)({title:"确认删除工具包?",description:"工具名:".concat(t),confirmText:"删除",cancelText:"取消"}))try{await (0,r.del)((0,i.buildToolsRuntimeDeleteUrl)(e,x,j(),t));let a=S.filter(e=>e!==t);z(e=>e.filter(e=>e!==t)),g({...v,tools:a}),await L(a,!0),await F()}catch(e){n.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[e,x,j,S,v,g,L,F]),K=(0,a.useCallback)(t=>{window.open((0,i.buildToolsRuntimeExportUrl)(e,x,j(),t),"_blank","noopener")},[e,x,j]);(0,a.useEffect)(()=>{("basic"===_||"installed"===_)&&F()},[_,F]),(0,a.useEffect)(()=>{"basic"===_&&z([...S])},[_,S,A]);let W=(0,a.useCallback)(e=>{let t=[...new Set(e)].sort();g({...v,tools:t}),L(t,!0)},[v,g,L]),J=(0,a.useCallback)((e,t)=>{let a=t?[...new Set([...S,e])].sort():S.filter(t=>t!==e).sort();g({...v,tools:a}),L(a,!0)},[S,v,g,L]),Y=(0,a.useMemo)(()=>E.filter(e=>!0===e.isRuntime).slice().sort((e,t)=>e.label.localeCompare(t.label)).map(e=>({name:e.id,description:e.description||"",enabled:S.includes(e.id)})),[E,S]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(w.ManageChromeHeaderActions,{children:(0,t.jsxs)(c.Button,{id:"btnAgentPickerToolImport",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>H(!0),children:[(0,t.jsx)(b.default,{name:"Import",size:16,className:"align-middle"}),"导入自定义工具"]})}),(0,t.jsxs)(u.AppTabs,{tabs:C,value:_,listVariant:"line",onChange:e=>D(e),children:[(0,t.jsx)(u.AppTabsPanel,{value:"basic",children:(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col gap-3",children:(0,t.jsx)("div",{className:"min-h-0 overflow-y-auto border border-[var(--ds-border)]",children:M?(0,t.jsx)("p",{className:"px-3 py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):E.length?(0,t.jsxs)(p.Table,{children:[(0,t.jsx)(p.TableHeader,{children:(0,t.jsxs)(p.TableRow,{className:"bg-[var(--ds-main-tint)] hover:bg-[var(--ds-main-tint)]",children:[(0,t.jsx)(p.TableHead,{className:"text-base text-[var(--ds-muted)]",children:"名称"}),(0,t.jsx)(p.TableHead,{className:"text-base text-[var(--ds-muted)]",children:"详情"}),(0,t.jsx)(p.TableHead,{className:"w-14 w-[112px] text-base text-[var(--ds-muted)]",children:"启用/未启用"}),(0,t.jsx)(p.TableHead,{className:"w-14 w-[72px] text-base text-[var(--ds-muted)]",children:"操作"})]})}),(0,t.jsx)(p.TableBody,{children:E.map(e=>(0,t.jsxs)(p.TableRow,{children:[(0,t.jsx)(p.TableCell,{className:"text-base text-[var(--ds-text)]",children:e.label}),(0,t.jsx)(p.TableCell,{className:"text-base text-[var(--ds-text)]",children:e.description||"-"}),(0,t.jsx)(p.TableCell,{className:"w-[112px] align-middle",children:(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsx)(f.Switch,{checked:P.includes(e.id),disabled:B,className:"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)]",thumbClassName:"data-[checked]:bg-white",onCheckedChange:t=>{let a=t?[...new Set([...P,e.id])]:P.filter(t=>t!==e.id);z(a),W(a)},"aria-label":"选择 ".concat(e.label)})})}),(0,t.jsx)(p.TableCell,{className:"w-[72px] align-middle",children:(0,t.jsx)(d.TooltipProvider,{delayDuration:150,children:(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsxs)(d.Tooltip,{children:[(0,t.jsx)(d.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(c.Button,{type:"button",variant:"plain",size:"icon",className:"h-8 w-8 text-red-600 hover:text-red-800 [&_svg]:!text-red-600 hover:[&_svg]:!text-red-800",disabled:B,onClick:()=>V(e.id),"aria-label":"删除 ".concat(e.label),children:(0,t.jsx)(b.default,{name:"Trash2",size:16})})}),(0,t.jsx)(d.TooltipContent,{side:"bottom",align:"center",children:"删除"})]})})})})]},e.id))})]}):(0,t.jsx)("div",{className:"py-6",children:(0,t.jsx)(m.Empty,{})})})})}),(0,t.jsx)(u.AppTabsPanel,{value:"installed",children:(0,t.jsx)(h,{items:Y,saveBusy:B,onToggle:J,onExport:K,onRemove:V})})]}),(0,t.jsx)(y,{open:I,onOpenChange:e=>{H(e),e||F()},wsUrl:e,apiBase:x,agent:j()})]})}},55242,e=>{"use strict";e.s(["AppDialog",()=>r]);var t=e.i(18050),a=e.i(71645),l=e.i(76639),s=e.i(75157);function r(e){let{open:r,onOpenChange:n,title:i,children:o,footer:c,width:d="max-w-3xl",minHeight:u}=e,p=(0,a.useId)();return(0,t.jsx)(l.Dialog,{open:r,onOpenChange:n,children:(0,t.jsxs)(l.DialogContent,{"aria-labelledby":p,className:(0,s.cn)(d,u?"!min-h-[--min-h]":""),style:u?{"--min-h":u}:void 0,children:[(0,t.jsxs)(l.DialogHeader,{children:[(0,t.jsx)(l.DialogTitle,{id:p,children:i}),(0,t.jsx)(l.DialogClose,{"aria-label":"关闭"})]}),(0,t.jsx)(l.DialogBody,{className:"!px-4 !py-3",children:o}),c?(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:c}):null]})})}},89530,e=>{"use strict";e.s(["McpManageView",()=>k],89530);var t=e.i(18050),a=e.i(71645),l=e.i(38991),s=e.i(87243),r=e.i(2531),n=e.i(13354),i=e.i(36845),o=e.i(50711),c=e.i(51419),d=e.i(55242),u=e.i(84774),p=e.i(85413),m=e.i(19455),x=e.i(99375),f=e.i(75157);function b(e){let{items:a,saveBusy:l,onToggleStatus:s,className:r}=e;return(0,t.jsx)("div",{className:(0,f.cn)("overflow-hidden border border-[var(--ds-border)]",r),children:(0,t.jsxs)(u.Table,{children:[(0,t.jsx)(u.TableHeader,{children:(0,t.jsxs)(u.TableRow,{className:"bg-[var(--ds-main-tint)] hover:bg-[var(--ds-main-tint)]",children:[(0,t.jsx)(u.TableHead,{className:"text-base",children:"名称"}),(0,t.jsx)(u.TableHead,{className:"text-base",children:"详情"}),(0,t.jsx)(u.TableHead,{className:"text-base",children:"来源"}),(0,t.jsx)(u.TableHead,{className:"text-base",children:"状态"})]})}),(0,t.jsx)(u.TableBody,{children:a.length?a.map(e=>(0,t.jsxs)(u.TableRow,{children:[(0,t.jsx)(u.TableCell,{className:"text-base",children:e.label||e.name}),(0,t.jsx)(u.TableCell,{className:"text-base",children:e.description||"-"}),(0,t.jsx)(u.TableCell,{className:"text-base",children:"远程"}),(0,t.jsx)(u.TableCell,{className:"whitespace-nowrap py-2 align-middle",children:s?(0,t.jsx)("span",{className:"inline-flex items-center justify-end gap-2 text-base text-[var(--ds-text)]",children:(0,t.jsx)(x.Switch,{checked:!e.disabled,disabled:l,className:"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)]",thumbClassName:"data-[checked]:bg-white",onCheckedChange:t=>{s(e.name,t)},"aria-label":"".concat(e.disabled?"启用":"禁用"," ").concat(e.name)})}):(0,t.jsx)("span",{className:"text-base text-[var(--ds-text)]",children:e.installed?"已安装":"未安装"})})]},"mcp:".concat(e.name))):(0,t.jsx)(u.TableRow,{children:(0,t.jsx)(u.TableCell,{colSpan:4,className:"py-6",children:(0,t.jsx)(p.Empty,{})})})})]})})}var h=e.i(29619),v=e.i(76639),g=e.i(25310);function j(e){let{open:l,onOpenChange:s,wsUrl:r,apiBase:o,agent:c}=e,[d,u]=(0,a.useState)(!1),[p,x]=(0,a.useState)(null),f=(0,a.useCallback)(()=>{s(!1),x(null)},[s]),b=(0,a.useCallback)(async()=>{if(!p)return void n.appToast.info("请先选择 zip 文件");let e=new FormData;e.append("file",p),u(!0);try{let t=await (0,h.bridgeFetch)((0,i.buildMcpRuntimeImportUrl)(r,o,c),{method:"POST",body:e}),a=Number(t.imported||0),l=Number(t.overwritten||0),s=Array.isArray(t.rejected)?t.rejected.length:0;n.appToast.success("导入完成:导入 ".concat(a,",覆盖 ").concat(l)+(s>0?",拒绝 ".concat(s):"")),f()}catch(e){n.appToast.error("导入失败:".concat(e instanceof Error?e.message:String(e)))}finally{u(!1)}},[p,r,o,c,f]);return(0,t.jsx)(v.Dialog,{open:l,onOpenChange:e=>{s(e),e||x(null)},children:(0,t.jsxs)(v.DialogContent,{className:"flex min-h-[320px] max-w-[560px] flex-col",children:[(0,t.jsxs)(v.DialogHeader,{children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(v.DialogTitle,{children:"导入 MCP zip"}),(0,t.jsx)(v.DialogDescription,{children:"选择一个 zip 文件并导入到 mcp-runtime。"})]}),(0,t.jsx)(v.DialogClose,{className:"sidebar-icon-btn","aria-label":"关闭",onClick:f,children:"✕"})]}),(0,t.jsxs)("div",{className:"m-3 flex flex-1 flex-col gap-3",children:[(0,t.jsx)(g.AppUpload,{uploadUrl:(0,i.buildMcpRuntimeImportUrl)(r,o,c),accept:".zip,application/zip",maxFileSize:0x3200000,multiple:!1,disabled:d,selectionOnly:!0,emptyTitle:"点击或拖拽 zip 文件到此处",emptyHint:"支持 .zip 格式,最大 50MB",onFilesChange:e=>{var t,a;x(null!=(a=null==(t=e[0])?void 0:t.file)?a:null)},onValidationError:e=>{n.appToast.info(e)}},"".concat(l?"open":"closed","-").concat(c)),(0,t.jsxs)("div",{className:"mt-auto flex justify-end pt-2",children:[(0,t.jsx)(m.Button,{className:"mr-[12px]",type:"button",variant:"plain-outline",size:"lg",onClick:f,children:"取消"}),(0,t.jsx)(m.Button,{type:"button",size:"lg",variant:"default",disabled:d||null==p,onClick:()=>void b(),children:d?"导入中…":"确定"})]})]})]})})}var y=e.i(68499),N=e.i(46798),w=e.i(72064),C=e.i(56708);let T=[{value:"basic",label:"本地MCP"},{value:"installed",label:"远程MCP"}];function k(){let e=(0,l.useAppStore)(e=>e.wsUrl),f=(0,l.useAppStore)(e=>e.apiBase),h=(0,l.useAppStore)(e=>e.agentConfig),v=(0,l.useAppStore)(e=>e.setAgentConfig),{currentAgent:g,loadAgentConfig:k}=(0,s.useSession)(),S=(0,o.usePersistAgentConfigField)("mcpServers"),A=h.mcpServers,E=(0,a.useMemo)(()=>[...A].sort().join("\0"),[A]),[R,P]=(0,a.useState)([]),[z,M]=(0,a.useState)([]),[O,B]=(0,a.useState)(!1),[U,_]=(0,a.useState)(!1),[D,I]=(0,a.useState)("basic"),[H,L]=(0,a.useState)(!1),[F,V]=(0,a.useState)(!1),[K,W]=(0,a.useState)(""),[J,Y]=(0,a.useState)(!1);(0,a.useEffect)(()=>{k()},[k]);let q=(0,a.useCallback)(async(e,t)=>{_(!0);try{await S(e,{silent:t})}finally{_(!1)}},[S]),Z=(0,a.useCallback)(async()=>{P([]),B(!0),await (0,r.get)((0,i.buildMcpServersListUrl)(e,f,g())).then(e=>{var t;P((null!=(t=e.servers)?t:[]).map(e=>{var t,a,l;return{...e,id:e.name,label:e.name+(e.disabled?"(已禁用)":""),description:null!=(a=null!=(t=e.description)?t:e.source)?a:"",source:null!=(l=e.source)?l:"",installed:!!e.installed}}))}).catch(e=>{P([]),n.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}).finally(()=>{B(!1)})},[e,f,g]),Q=(0,a.useCallback)(async t=>{var a;let l=R.find(e=>e.id===t),s=null!=(a=null==l?void 0:l.source)?a:"";if("runtime"!==s&&"remote"!==s)return void n.appToast.error("基础MCP不可删除");if(await (0,y.confirmAlertDialog)({title:"确认删除 MCP?",description:"服务器名:".concat(t),confirmText:"删除",cancelText:"取消"}))try{if("remote"===s){let a=await (0,r.get)((0,i.buildRemoteMcpJsonUrl)(e,f,g())),l={};try{l=JSON.parse(String(a.content||"{}"))}catch(e){l={mcpServers:{}}}(!l.mcpServers||Array.isArray(l.mcpServers)||"object"!=typeof l.mcpServers)&&(l.mcpServers={}),delete l.mcpServers[t],await (0,r.post)((0,i.buildRemoteMcpJsonUrl)(e,f,g()),{content:JSON.stringify(l,null,2)})}else await (0,r.del)((0,i.buildMcpRuntimeDeleteUrl)(e,f,g(),t));let a=A.filter(e=>e!==t);M(e=>e.filter(e=>e!==t)),v({...h,mcpServers:a}),await q(a,!0),await Z()}catch(e){n.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[R,e,f,g,A,h,v,q,Z]);(0,a.useEffect)(()=>{("basic"===D||"installed"===D)&&Z()},[D,Z]),(0,a.useEffect)(()=>{("basic"===D||"installed"===D)&&M([...A])},[D,A,E]);let X=(0,a.useCallback)(async e=>{let t=[...new Set(e)].sort();v({...h,mcpServers:t}),await q(t,!0)},[h,v,q]),G=(0,a.useCallback)(async(e,t)=>{let a=t?[...new Set([...z,e])]:z.filter(t=>t!==e);M(a);try{await X(a)}catch(e){M(z),n.appToast.error("切换启用状态失败: ".concat(e))}},[z,X]),$=(0,a.useMemo)(()=>R.filter(e=>"remote"!==e.source).slice().sort((e,t)=>e.id.localeCompare(t.id)),[R]),ee=(0,a.useMemo)(()=>R.filter(e=>"remote"===e.source).slice().sort((e,t)=>{let a=+!z.includes(e.id),l=+!z.includes(t.id);return a!==l?a-l:e.id.localeCompare(t.id)}).map(e=>({...e,name:e.id,label:e.label,description:e.description||"",installed:!0,source:e.source,disabled:!z.includes(e.id)})),[R,z]),et=(0,a.useCallback)(t=>{window.open((0,i.buildMcpRuntimeExportUrl)(e,f,g(),t),"_blank","noopener")},[e,f,g]),ea=(0,a.useCallback)(async(e,t)=>{let a=t?[...new Set([...z,e])]:z.filter(t=>t!==e);M(a);try{await X(a)}catch(e){M(z),n.appToast.error("切换启用状态失败: ".concat(e))}},[z,X]),el=(0,a.useCallback)(()=>{V(!0),W(""),(0,r.get)((0,i.buildRemoteMcpJsonUrl)(e,f,g())).then(e=>{W("string"==typeof e.content?e.content:"")}).catch(e=>{n.appToast.error("加载 mcp.json 失败:".concat(e instanceof Error?e.message:String(e))),V(!1)})},[e,f,g]),es=(0,a.useCallback)(async()=>{Y(!0);try{await (0,r.post)((0,i.buildRemoteMcpJsonUrl)(e,f,g()),{content:K}),n.appToast.success("已保存全局 mcp.json。"),V(!1)}catch(e){n.appToast.error("保存 mcp.json 失败:".concat(e instanceof Error?e.message:String(e)))}finally{Y(!1)}},[e,f,g,K]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(C.ManageChromeHeaderActions,{children:(0,t.jsxs)("div",{className:"flex flex-wrap items-center",children:[(0,t.jsxs)(m.Button,{type:"button",variant:"plain-outline",size:"lg",onClick:el,className:"mr-[12px]",children:[(0,t.jsx)(w.default,{name:"Edit",size:16,className:"align-middle"}),"编辑全局MCP"]}),(0,t.jsxs)(m.Button,{id:"btnAgentImportMcp",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>L(!0),children:[(0,t.jsx)(w.default,{name:"Import",size:16,className:"align-middle"}),"导入MCP"]})]})}),(0,t.jsxs)(c.AppTabs,{tabs:T,value:D,listVariant:"line",onChange:e=>I(e),children:[(0,t.jsx)(c.AppTabsPanel,{value:"basic",children:(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col gap-3",children:(0,t.jsx)("div",{className:"min-h-0 overflow-y-auto border border-[var(--ds-border)]",children:O?(0,t.jsx)("p",{className:"px-3 py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsxs)(u.Table,{children:[(0,t.jsx)(u.TableHeader,{children:(0,t.jsxs)(u.TableRow,{className:"bg-[var(--ds-main-tint)] hover:bg-[var(--ds-main-tint)]",children:[(0,t.jsx)(u.TableHead,{className:"text-base text-[var(--ds-muted)]",children:"名称"}),(0,t.jsx)(u.TableHead,{className:"text-base text-[var(--ds-muted)]",children:"详情"}),(0,t.jsx)(u.TableHead,{className:"w-14 w-[112px] text-right text-base text-[var(--ds-muted)]",children:"启用/未启用"}),(0,t.jsx)(u.TableHead,{className:"w-[128px] text-base text-[var(--ds-muted)]",children:"操作"})]})}),(0,t.jsx)(u.TableBody,{children:$.length?$.map(e=>{var a;let l=null!=(a=e.source)?a:"",s="runtime"===l,r="runtime"===l||"remote"===l;return(0,t.jsxs)(u.TableRow,{children:[(0,t.jsx)(u.TableCell,{className:"text-base text-[var(--ds-text)]",children:e.label}),(0,t.jsx)(u.TableCell,{className:"text-base text-[var(--ds-text)]",children:e.description||"-"}),(0,t.jsx)(u.TableCell,{className:"w-[112px] py-2 text-right align-middle",children:(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsx)(x.Switch,{checked:z.includes(e.id),disabled:U,className:"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)]",thumbClassName:"data-[checked]:bg-white",onCheckedChange:t=>{G(e.id,t)},"aria-label":"选择 ".concat(e.label)})})}),(0,t.jsx)(u.TableCell,{className:"w-[128px]",children:(0,t.jsx)(N.TooltipProvider,{delayDuration:150,children:(0,t.jsxs)("div",{className:"inline-flex items-center justify-end gap-1",children:[(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(m.Button,{type:"button",variant:"plain",size:"icon",className:"h-8 w-8 text-[var(--ds-muted)] hover:text-[var(--ds-text)]",onClick:()=>et(e.id),"aria-label":"导出 ".concat(e.label),disabled:U||!s,children:(0,t.jsx)(w.default,{name:"Download",size:16})})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",align:"center",children:s?"导出":"仅 runtime MCP 支持导出"})]}),(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(m.Button,{type:"button",variant:"plain",size:"icon",className:"h-8 w-8 text-red-600 hover:text-red-800 [&_svg]:!text-red-600 hover:[&_svg]:!text-red-800",onClick:()=>{Q(e.id)},"aria-label":"删除 ".concat(e.label),disabled:U||!r,children:(0,t.jsx)(w.default,{name:"Trash2",size:16,className:"text-red-500"})})}),(0,t.jsx)(N.TooltipContent,{side:"bottom",align:"center",children:r?"删除":"基础MCP不可删除"})]})]})})})]},e.id)}):(0,t.jsx)(u.TableRow,{children:(0,t.jsx)(u.TableCell,{colSpan:4,className:"py-6",children:(0,t.jsx)(p.Empty,{})})})})]})})})}),(0,t.jsx)(c.AppTabsPanel,{value:"installed",children:(0,t.jsx)(b,{items:ee,saveBusy:U,onExport:et,onRemove:Q,onToggleStatus:ea})})]}),(0,t.jsx)(j,{open:H,onOpenChange:e=>{L(e),e||Z()},wsUrl:e,apiBase:f,agent:g()}),(0,t.jsx)(d.AppDialog,{open:F,onOpenChange:V,title:"编辑全局MCP",width:"max-w-4xl",minHeight:"420px",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(m.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:J,onClick:()=>V(!1),children:"取消"}),(0,t.jsx)(m.Button,{type:"button",size:"lg",disabled:J,onClick:()=>void es(),children:"保存"})]}),children:(0,t.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:K,onChange:e=>W(e.target.value)})})]})}},98183,(e,t,a)=>{"use strict";function l(e){let t={};for(let[a,l]of e.entries()){let e=t[a];void 0===e?t[a]=l:Array.isArray(e)?e.push(l):t[a]=[e,l]}return t}function s(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function r(e){let t=new URLSearchParams;for(let[a,l]of Object.entries(e))if(Array.isArray(l))for(let e of l)t.append(a,s(e));else t.set(a,s(l));return t}function n(e){for(var t=arguments.length,a=Array(t>1?t-1:0),l=1;l<t;l++)a[l-1]=arguments[l];for(let t of a){for(let a of t.keys())e.delete(a);for(let[a,l]of t.entries())e.append(a,l)}return e}Object.defineProperty(a,"__esModule",{value:!0}),!function(e,t){for(var a in t)Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}(a,{assign:function(){return n},searchParamsToUrlQuery:function(){return l},urlQueryToSearchParams:function(){return r}})},95057,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),!function(e,t){for(var a in t)Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}(a,{formatUrl:function(){return r},formatWithValidation:function(){return i},urlObjectKeys:function(){return n}});let l=e.r(90809)._(e.r(98183)),s=/https?|ftp|gopher|file/;function r(e){let{auth:t,hostname:a}=e,r=e.protocol||"",n=e.pathname||"",i=e.hash||"",o=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:a&&(c=t+(~a.indexOf(":")?"["+a+"]":a),e.port&&(c+=":"+e.port)),o&&"object"==typeof o&&(o=String(l.urlQueryToSearchParams(o)));let d=e.search||o&&"?"+o||"";return r&&!r.endsWith(":")&&(r+=":"),e.slashes||(!r||s.test(r))&&!1!==c?(c="//"+(c||""),n&&"/"!==n[0]&&(n="/"+n)):c||(c=""),i&&"#"!==i[0]&&(i="#"+i),d&&"?"!==d[0]&&(d="?"+d),""+r+c+(n=n.replace(/[?#]/g,encodeURIComponent))+(d=d.replace("#","%23"))+i}let n=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function i(e){return r(e)}},18581,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"useMergedRef",{enumerable:!0,get:function(){return s}});let l=e.r(71645);function s(e,t){let a=(0,l.useRef)(null),s=(0,l.useRef)(null);return(0,l.useCallback)(l=>{if(null===l){let e=a.current;e&&(a.current=null,e());let t=s.current;t&&(s.current=null,t())}else e&&(a.current=r(e,l)),t&&(s.current=r(t,l))},[e,t])}function r(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let a=e(t);return"function"==typeof a?a:()=>e(null)}}("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),t.exports=a.default)},18967,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),!function(e,t){for(var a in t)Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}(a,{DecodeError:function(){return f},MiddlewareNotFoundError:function(){return g},MissingStaticPage:function(){return v},NormalizeError:function(){return b},PageNotFoundError:function(){return h},SP:function(){return m},ST:function(){return x},WEB_VITALS:function(){return l},execOnce:function(){return s},getDisplayName:function(){return c},getLocationOrigin:function(){return i},getURL:function(){return o},isAbsoluteUrl:function(){return n},isResSent:function(){return d},loadGetInitialProps:function(){return p},normalizeRepeatedSlashes:function(){return u},stringifyError:function(){return j}});let l=["CLS","FCP","FID","INP","LCP","TTFB"];function s(e){let t,a=!1;return function(){for(var l=arguments.length,s=Array(l),r=0;r<l;r++)s[r]=arguments[r];return a||(a=!0,t=e(...s)),t}}let r=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,n=e=>r.test(e);function i(){let{protocol:e,hostname:t,port:a}=window.location;return e+"//"+t+(a?":"+a:"")}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 d(e){return e.finished||e.headersSent}function u(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function p(e,t){let a=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await p(t.Component,t.ctx)}:{};let l=await e.getInitialProps(t);if(a&&d(a))return l;if(!l)throw Object.defineProperty(Error('"'+c(e)+'.getInitialProps()" should resolve to an object. But found "'+l+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return l}let m="undefined"!=typeof performance,x=m&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class f extends Error{}class b extends Error{}class h extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class v extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class g 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,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"isLocalURL",{enumerable:!0,get:function(){return r}});let l=e.r(18967),s=e.r(52817);function r(e){if(!(0,l.isAbsoluteUrl)(e))return!0;try{let t=(0,l.getLocationOrigin)(),a=new URL(e,t);return a.origin===t&&(0,s.hasBasePath)(a.pathname)}catch(e){return!1}}},84508,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"errorOnce",{enumerable:!0,get:function(){return l}});let l=e=>{}},22016,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),!function(e,t){for(var a in t)Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}(a,{default:function(){return b},useLinkStatus:function(){return v}});let l=e.r(90809),s=e.r(18050),r=l._(e.r(71645)),n=e.r(95057),i=e.r(8372),o=e.r(18581),c=e.r(18967),d=e.r(84395);e.r(33525);let u=e.r(91949),p=e.r(73668),m=e.r(99781);e.r(84508);let x=e.r(65165);function f(e){return"string"==typeof e?e:(0,n.formatUrl)(e)}function b(e){var t;let a,l,n,[b,v]=(0,r.useOptimistic)(u.IDLE_LINK_STATUS),g=(0,r.useRef)(null),{href:j,as:y,children:N,prefetch:w=null,passHref:C,replace:T,shallow:k,scroll:S,onClick:A,onMouseEnter:E,onTouchStart:R,legacyBehavior:P=!1,onNavigate:z,ref:M,unstable_dynamicOnHover:O,...B}=e;a=N,P&&("string"==typeof a||"number"==typeof a)&&(a=(0,s.jsx)("a",{children:a}));let U=r.default.useContext(i.AppRouterContext),_=!1!==w,D=!1!==w?null===(t=w)||"auto"===t?x.FetchStrategy.PPR:x.FetchStrategy.Full:x.FetchStrategy.PPR,{href:I,as:H}=r.default.useMemo(()=>{let e=f(j);return{href:e,as:y?f(y):e}},[j,y]);P&&(l=r.default.Children.only(a));let L=P?l&&"object"==typeof l&&l.ref:M,F=r.default.useCallback(e=>(null!==U&&(g.current=(0,u.mountLinkInstance)(e,I,U,D,_,v)),()=>{g.current&&((0,u.unmountLinkForCurrentNavigation)(g.current),g.current=null),(0,u.unmountPrefetchableInstance)(e)}),[_,I,U,D,v]),V={ref:(0,o.useMergedRef)(F,L),onClick(e){P||"function"!=typeof A||A(e),P&&l.props&&"function"==typeof l.props.onClick&&l.props.onClick(e),U&&(e.defaultPrevented||function(e,t,a,l,s,n,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}r.default.startTransition(()=>{(0,m.dispatchNavigateAction)(a||t,s?"replace":"push",null==n||n,l.current)})}}(e,I,H,g,T,S,z))},onMouseEnter(e){P||"function"!=typeof E||E(e),P&&l.props&&"function"==typeof l.props.onMouseEnter&&l.props.onMouseEnter(e),U&&_&&(0,u.onNavigationIntent)(e.currentTarget,!0===O)},onTouchStart:function(e){P||"function"!=typeof R||R(e),P&&l.props&&"function"==typeof l.props.onTouchStart&&l.props.onTouchStart(e),U&&_&&(0,u.onNavigationIntent)(e.currentTarget,!0===O)}};return(0,c.isAbsoluteUrl)(H)?V.href=H:P&&!C&&("a"!==l.type||"href"in l.props)||(V.href=(0,d.addBasePath)(H)),n=P?r.default.cloneElement(l,V):(0,s.jsx)("a",{...B,...V,children:a}),(0,s.jsx)(h.Provider,{value:b,children:n})}let h=(0,r.createContext)(u.IDLE_LINK_STATUS),v=()=>(0,r.useContext)(h);("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),t.exports=a.default)},20291,e=>{"use strict";e.s(["TaskView",()=>g],20291);var t=e.i(18050),a=e.i(71645),l=e.i(56708),s=e.i(19455),r=e.i(72064),n=e.i(22016),i=e.i(85413),o=e.i(84774),c=e.i(68499),d=e.i(13354),u=e.i(87243),p=e.i(2531),m=e.i(97249),x=e.i(92413),f=e.i(36845),b=e.i(75157),h=e.i(38991);function v(){let e=(0,h.useAppStore)(e=>e.wsUrl),l=(0,h.useAppStore)(e=>e.apiBase),r=(0,h.useAppStore)(e=>e.lastSessions),{currentAgent:v,loadSessions:g}=(0,u.useSession)(),[j,y]=(0,a.useState)([]),[N,w]=(0,a.useState)("local"),[C,T]=(0,a.useState)(!0),[k,S]=(0,a.useState)(null),[A,E]=(0,a.useState)(null),R=v(),P=(0,a.useMemo)(()=>"时区: ".concat(N||"local"," · 共 ").concat(j.length," 个任务"),[N,j.length]),z=(0,a.useCallback)(async()=>{T(!0),S(null);try{let t=await (0,p.get)((0,f.buildSchedulesUrl)(e,l,v()));y(Array.isArray(t.tasks)?t.tasks:[]),w("string"==typeof t.timezone?t.timezone:"local")}catch(t){let e=t instanceof Error?t.message:String(t);y([]),S(e),d.appToast.error("加载失败:".concat(e))}finally{T(!1)}},[e,l,v]);(0,a.useEffect)(()=>{(async()=>{await g(),await z()})()},[g,z]);let M=(0,a.useCallback)(()=>{z()},[z]),O=(0,a.useCallback)(async t=>{if(await (0,c.confirmAlertDialog)({title:"确认删除定时任务?",description:"任务 ID:".concat(t),confirmText:"删除",cancelText:"取消"})){E(t);try{await (0,p.del)((0,f.buildScheduleDeleteUrl)(e,l,v(),t)),d.appToast.success("已删除定时任务"),await z()}catch(e){d.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}finally{E(null)}}},[e,l,v,z]),B=(0,a.useCallback)(e=>(0,m.buildAppNavHref)("/",{ensureAgent:!0,agent:R,sessionId:e,preserveSessionId:!0}),[R]);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:P}),(0,t.jsx)(s.Button,{type:"button",variant:"plain-outline",size:"sm",onClick:M,disabled:C,className:"cursor-pointer",children:"刷新"})]}),(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-auto p-4",children:C?(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:"加载中…"}):k?(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:["加载失败:",k]}),(0,t.jsx)(s.Button,{type:"button",variant:"outline",size:"sm",onClick:M,children:"重试"})]}):(0,t.jsxs)(o.Table,{children:[(0,t.jsx)(o.TableHeader,{children:(0,t.jsxs)(o.TableRow,{children:[(0,t.jsx)(o.TableHead,{className:"w-[120px]",children:"ID"}),(0,t.jsx)(o.TableHead,{className:"w-[140px]",children:"会话"}),(0,t.jsx)(o.TableHead,{className:"w-[120px]",children:"Cron"}),(0,t.jsx)(o.TableHead,{className:"w-[160px]",children:"下次执行"}),(0,t.jsx)(o.TableHead,{children:"Prompt"}),(0,t.jsx)(o.TableHead,{className:"w-[80px]",children:"类型"}),(0,t.jsx)(o.TableHead,{className:"w-[80px] text-right",children:"操作"})]})}),(0,t.jsx)(o.TableBody,{children:0===j.length?(0,t.jsx)(o.TableRow,{hoverable:!1,children:(0,t.jsx)(o.TableCell,{colSpan:7,className:"py-6",children:(0,t.jsx)(i.Empty,{text:"暂无定时任务"})})}):j.map(e=>{var a;if(!(null==e?void 0:e.id))return null;let l=function(e,t){let a=String(e||"").trim();if(!a)return"—";let l=t.find(e=>e.sessionId===a);return l?(0,x.sessionTitle)(l):(0,x.shortUuidTitle)(a)}(e.sessionId,r);return(0,t.jsxs)(o.TableRow,{children:[(0,t.jsx)(o.TableCell,{className:"font-mono text-xs",children:e.id}),(0,t.jsx)(o.TableCell,{children:(0,t.jsx)(n.default,{href:B(e.sessionId),title:e.sessionId,className:(0,b.cn)("cursor-pointer text-sm text-primary underline-offset-4 hover:underline"),children:l})}),(0,t.jsx)(o.TableCell,{className:"text-sm",children:e.cron||"—"}),(0,t.jsx)(o.TableCell,{className:"text-sm",children:function(e){if("number"!=typeof e||!Number.isFinite(e))return"—";try{return new Date(e).toLocaleString()}catch(t){return String(e)}}(e.nextFireAt)}),(0,t.jsx)(o.TableCell,{className:"max-w-[280px] truncate text-sm",title:null!=(a=e.prompt)?a:"",children:e.prompt||""}),(0,t.jsx)(o.TableCell,{className:"text-sm",children:e.recurring?"循环":"一次性"}),(0,t.jsx)(o.TableCell,{className:"text-right",children:(0,t.jsx)(s.Button,{type:"button",variant:"outline",size:"sm",disabled:A===e.id,onClick:()=>void O(e.id),className:"cursor-pointer",children:"删除"})})]},e.id)})})]})})]})}function g(){let[,e]=(0,a.useState)(!1),n=(0,a.useCallback)(()=>{e(!0)},[]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l.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:n,className:"mr-[12px]",children:[(0,t.jsx)(r.default,{name:"Create",size:16,className:"align-middle"}),"新建任务"]})})}),(0,t.jsx)(v,{})]})}},47079,e=>{"use strict";e.s(["SkillsManageView",()=>P],47079);var t=e.i(18050),a=e.i(71645),l=e.i(38991),s=e.i(87243),r=e.i(2531),n=e.i(13354),i=e.i(36845),o=e.i(50711),c=e.i(51419),d=e.i(84774),u=e.i(85413),p=e.i(19455),m=e.i(46798),x=e.i(99375),f=e.i(72064),b=e.i(93479),h=e.i(75157);function v(e){let{className:a,...l}=e;return(0,t.jsx)("nav",{role:"navigation","aria-label":"pagination","data-slot":"pagination",className:(0,h.cn)("flex w-full justify-end",a),...l})}let g=a.forwardRef((e,a)=>{let{className:l,...s}=e;return(0,t.jsx)("ul",{ref:a,"data-slot":"pagination-content",className:(0,h.cn)("flex flex-row flex-wrap items-center justify-end gap-1",l),...s})});g.displayName="PaginationContent";let j=a.forwardRef((e,a)=>{let{className:l,...s}=e;return(0,t.jsx)("li",{ref:a,"data-slot":"pagination-item",className:(0,h.cn)("",l),...s})});function y(e){let{active:l,wsUrl:s,apiBase:o,agent:c,onAfterInstall:m,className:x}=e,[h,y]=(0,a.useState)(""),[N,w]=(0,a.useState)(1),[C,T]=(0,a.useState)(0),[k,S]=(0,a.useState)([]),[A,E]=(0,a.useState)(!1),[R,P]=(0,a.useState)(""),[z,M]=(0,a.useState)({}),O=(0,a.useRef)(0),B=(0,a.useCallback)(async()=>{let e=++O.current;E(!0),P("");try{let t=await (0,r.get)((0,i.buildCloudSkillCatalogUrl)(s,o,c,h,N,10));if(e!==O.current)return;let a=Array.isArray(t.items)?t.items:[],l=[];for(let e of a)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});S(l),T(Number(t.totalPages||0))}catch(t){if(e!==O.current)return;S([]),T(0),P(t instanceof Error?t.message:String(t))}finally{e===O.current&&E(!1)}},[s,o,c,h,N]);(0,a.useEffect)(()=>{if(!l){y(""),w(1),T(0),S([]),P(""),M({}),O.current+=1;return}B()},[l,B]);let U=(0,a.useMemo)(()=>{if(A)return"加载中…";if(R)return"加载失败:".concat(R);let e=k.reduce((e,t)=>e+ +!!t.installed,0);return"已安装 ".concat(e," 项")},[A,R,k]),_=(0,a.useCallback)(async(e,t)=>{M(t=>({...t,[e]:!0}));try{await (0,r.post)((0,i.buildCloudSkillInstallUrl)(s,o,c),{id:e}),n.appToast.success("云端技能已安装:".concat(t)),await B(),null==m||m()}catch(e){n.appToast.error("安装失败:".concat(e instanceof Error?e.message:String(e)))}finally{M(t=>{let a={...t};return delete a[e],a})}},[s,o,c,B,m]),D=(0,a.useCallback)(e=>{w(1),y(e)},[]);if(!l)return null;let I=C>0?"第 ".concat(N,"/").concat(C," 页"):"第 0/0 页",H=A||N<=1,L=A||C<=0||N>=C;return(0,t.jsx)("div",{className:x,children:(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsx)(b.Input,{type:"search",value:h,onChange:e=>D(e.target.value),placeholder:"搜索云端技能…",className:"h-10 border-[var(--ds-border)] bg-[var(--ds-bg)] text-base"}),(0,t.jsx)("div",{className:"text-sm text-[var(--ds-muted)]",children:U}),(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto rounded-md border border-[var(--ds-border)]",children:k.length?(0,t.jsxs)(d.Table,{children:[(0,t.jsx)(d.TableHeader,{children:(0,t.jsxs)(d.TableRow,{className:"bg-[var(--ds-main-tint)] hover:bg-[var(--ds-main-tint)]",children:[(0,t.jsx)(d.TableHead,{className:"text-base",children:"名称"}),(0,t.jsx)(d.TableHead,{className:"text-base",children:"详情"}),(0,t.jsx)(d.TableHead,{className:"text-base",children:"状态"}),(0,t.jsx)(d.TableHead,{className:"w-[96px] text-right text-base",children:"操作"})]})}),(0,t.jsx)(d.TableBody,{viewportPaginationReserve:64,children:k.map(e=>{let a=!!z[e.id],l=!!e.installed;return(0,t.jsxs)(d.TableRow,{children:[(0,t.jsx)(d.TableCell,{className:"text-base text-[var(--ds-text)]",children:e.skillName?"".concat(e.skillName):e.id}),(0,t.jsxs)(d.TableCell,{className:"text-base text-[var(--ds-text)]",children:[e.title,e.description?" — ".concat(e.description):""]}),(0,t.jsx)(d.TableCell,{className:"whitespace-nowrap text-base text-[var(--ds-text)]",children:l?"已安装":"未安装"}),(0,t.jsx)(d.TableCell,{className:"w-[116px] text-right",children:a||!l?(0,t.jsx)(p.Button,{type:"button",size:"sm",variant:"outline",disabled:a||l,onClick:()=>void _(e.id,e.title||e.skillName||e.id),children:a?"安装中…":l?"已安装":"安装"}):"-"})]},e.id)})})]}):(0,t.jsx)("div",{className:"p-6",children:A?(0,t.jsx)("p",{className:"text-center text-base",children:"加载中…"}):(0,t.jsx)(u.Empty,{})})}),(0,t.jsx)(v,{className:"mx-0 w-full",children:(0,t.jsxs)(g,{className:"w-full flex-wrap justify-end gap-2",children:[(0,t.jsx)(j,{children:(0,t.jsxs)(p.Button,{type:"button",variant:"outline",size:"sm",disabled:H,className:"gap-1",onClick:()=>w(e=>Math.max(1,e-1)),"aria-label":"上一页",children:[(0,t.jsx)(f.default,{name:"ChevronLeft",size:16,className:"shrink-0"}),"上一页"]})}),(0,t.jsx)(j,{children:(0,t.jsx)("span",{className:"flex h-9 min-w-[6.5rem] items-center justify-center text-sm text-[var(--ds-muted)]",children:I})}),(0,t.jsx)(j,{children:(0,t.jsxs)(p.Button,{type:"button",variant:"outline",size:"sm",disabled:L,className:"gap-1",onClick:()=>w(e=>e+1),"aria-label":"下一页",children:["下一页",(0,t.jsx)(f.default,{name:"ChevronRight",size:16,className:"shrink-0",strokeWidth:1})]})})]})})]})})}j.displayName="PaginationItem",a.forwardRef((e,a)=>{let{className:l,isActive:s,size:r="icon",...n}=e;return(0,t.jsx)("a",{ref:a,"aria-current":s?"page":void 0,"data-slot":"pagination-link","data-active":s?"true":void 0,className:(0,h.cn)((0,p.buttonVariants)({variant:s?"outline":"ghost",size:r}),l),...n})}).displayName="PaginationLink";var N=e.i(29619),w=e.i(76639),C=e.i(25310);function T(e){let{open:l,onOpenChange:s,wsUrl:r,apiBase:o,agent:c}=e,[d,u]=(0,a.useState)(!1),[m,x]=(0,a.useState)(null),f=(0,a.useCallback)(()=>{s(!1),x(null)},[s]),b=(0,a.useCallback)(async()=>{if(!m)return void n.appToast.info("请先选择 zip 文件");let e=new FormData;e.append("file",m),u(!0);try{let t=await (0,N.bridgeFetch)((0,i.buildSkillsRuntimeImportUrl)(r,o,c),{method:"POST",body:e}),a=Number(t.imported||0),l=Number(t.overwritten||0),s=Array.isArray(t.rejected)?t.rejected.length:0;n.appToast.success("导入完成:导入 ".concat(a,",覆盖 ").concat(l)+(s>0?",拒绝 ".concat(s):"")),f()}catch(e){n.appToast.error("导入失败:".concat(e instanceof Error?e.message:String(e)))}finally{u(!1)}},[m,r,o,c,f]);return(0,t.jsx)(w.Dialog,{open:l,onOpenChange:e=>{s(e),e||x(null)},children:(0,t.jsxs)(w.DialogContent,{className:"flex min-h-[320px] max-w-[560px] flex-col",children:[(0,t.jsxs)(w.DialogHeader,{children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(w.DialogTitle,{children:"导入 Skill zip"}),(0,t.jsx)(w.DialogDescription,{children:"选择一个 zip 文件并导入到 skills-runtime。"})]}),(0,t.jsx)(w.DialogClose,{className:"sidebar-icon-btn","aria-label":"关闭",onClick:f,children:"✕"})]}),(0,t.jsxs)("div",{className:"m-3 flex flex-1 flex-col gap-3",children:[(0,t.jsx)(C.AppUpload,{uploadUrl:(0,i.buildSkillsRuntimeImportUrl)(r,o,c),accept:".zip,application/zip",maxFileSize:0x3200000,multiple:!1,disabled:d,selectionOnly:!0,emptyTitle:"点击或拖拽 zip 文件到此处",emptyHint:"支持 .zip 格式,最大 50MB",onFilesChange:e=>{var t,a;x(null!=(a=null==(t=e[0])?void 0:t.file)?a:null)},onValidationError:e=>{n.appToast.info(e)}},"".concat(l?"open":"closed","-").concat(c)),(0,t.jsxs)("div",{className:"mt-auto flex justify-end pt-2",children:[(0,t.jsx)(p.Button,{className:"mr-[12px]",type:"button",variant:"plain-outline",size:"lg",onClick:f,children:"取消"}),(0,t.jsx)(p.Button,{type:"button",size:"lg",variant:"default",disabled:d||null==m,onClick:()=>void b(),children:d?"导入中…":"确定"})]})]})]})})}function k(e){let{items:a,saveBusy:l,onToggleEnabled:s,onExport:r,onRemove:n,className:i}=e;return(0,t.jsx)("div",{className:(0,h.cn)("overflow-hidden border border-[var(--ds-border)]",i),children:(0,t.jsxs)(d.Table,{children:[(0,t.jsx)(d.TableHeader,{children:(0,t.jsxs)(d.TableRow,{className:"bg-[var(--ds-main-tint)] hover:bg-[var(--ds-main-tint)]",children:[(0,t.jsx)(d.TableHead,{className:"text-base",children:"名称"}),(0,t.jsx)(d.TableHead,{className:"text-base",children:"详情"}),(0,t.jsx)(d.TableHead,{className:"w-[160px] text-base",children:"状态"}),(0,t.jsx)(d.TableHead,{className:"w-[160px] text-right text-base",children:"启用/未启用"}),(0,t.jsx)(d.TableHead,{className:"w-[128px] text-base",children:"操作"})]})}),(0,t.jsx)(d.TableBody,{children:a.length?a.map(e=>(0,t.jsxs)(d.TableRow,{children:[(0,t.jsx)(d.TableCell,{className:"text-base",children:e.name}),(0,t.jsx)(d.TableCell,{className:"text-base",children:e.description||"-"}),(0,t.jsx)(d.TableCell,{className:"w-[160px] text-base text-[var(--ds-text)]",children:"已安装"}),(0,t.jsx)(d.TableCell,{className:"w-[160px] py-2 text-right align-middle",children:(0,t.jsx)("span",{className:"inline-flex items-center justify-end gap-2",children:(0,t.jsx)(x.Switch,{checked:e.enabled,disabled:l,className:"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)]",thumbClassName:"data-[checked]:bg-white",onCheckedChange:t=>s(e.name,t),"aria-label":"".concat(e.enabled?"禁用":"启用"," ").concat(e.name)})})}),(0,t.jsx)(d.TableCell,{className:"w-[128px]",children:(0,t.jsx)(m.TooltipProvider,{delayDuration:150,children:(0,t.jsxs)("div",{className:"inline-flex items-center justify-end gap-1",children:[(0,t.jsxs)(m.Tooltip,{children:[(0,t.jsx)(m.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(p.Button,{type:"button",variant:"plain",size:"icon",className:"h-8 w-8 text-[var(--ds-muted)] hover:text-[var(--ds-text)]",onClick:()=>r(e.name),"aria-label":"导出 ".concat(e.name),disabled:l,children:(0,t.jsx)(f.default,{name:"Download",size:16})})}),(0,t.jsx)(m.TooltipContent,{side:"bottom",align:"center",children:"导出"})]}),(0,t.jsxs)(m.Tooltip,{children:[(0,t.jsx)(m.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(p.Button,{type:"button",variant:"plain",size:"icon",className:"h-8 w-8 text-red-600 hover:text-red-800 [&_svg]:!text-red-600 hover:[&_svg]:!text-red-800",onClick:()=>{n(e.name)},"aria-label":"删除 ".concat(e.name),disabled:l,children:(0,t.jsx)(f.default,{name:"Trash2",size:16})})}),(0,t.jsx)(m.TooltipContent,{side:"bottom",align:"center",children:"删除"})]})]})})})]},"skills:".concat(e.name))):(0,t.jsx)(d.TableRow,{children:(0,t.jsx)(d.TableCell,{colSpan:4,className:"py-6",children:(0,t.jsx)(u.Empty,{})})})})]})})}var S=e.i(68499);let A=[{key:"label",name:"名称"},{key:"description",name:"详情"},{key:"enabled",name:"启用/未启用",className:"w-[112px] text-right"},{key:"actions",name:"操作",className:"w-[72px] text-right"}];var E=e.i(56708);let R=[{value:"basic",label:"基础Skill"},{value:"installed",label:"已安装Skill"},{value:"cloud_catalog",label:"Skill商店"}];function P(){let e=(0,l.useAppStore)(e=>e.wsUrl),b=(0,l.useAppStore)(e=>e.apiBase),h=(0,l.useAppStore)(e=>e.agentConfig),v=(0,l.useAppStore)(e=>e.setAgentConfig),{currentAgent:g,loadAgentConfig:j}=(0,s.useSession)(),N=(0,o.usePersistAgentConfigField)("skills"),w=h.skills,C=(0,a.useMemo)(()=>[...w].sort().join("\0"),[w]),[P,z]=(0,a.useState)([]),[M,O]=(0,a.useState)([]),[B,U]=(0,a.useState)(!1),[_,D]=(0,a.useState)(!1),[I,H]=(0,a.useState)("basic"),[L,F]=(0,a.useState)(!1);(0,a.useEffect)(()=>{j()},[j]);let V=(0,a.useCallback)(async(e,t)=>{D(!0);try{await N(e,{silent:t})}finally{D(!1)}},[N]),K=(0,a.useCallback)(async()=>{z([]),U(!0),await (0,r.get)((0,i.getSkillsList)(e,b,g())).then(e=>{var t;z((null!=(t=e.skills)?t:[]).map(e=>{var t,a;return{...e,id:e.name,label:"".concat(e.name),description:null!=(a=null!=(t=e.description)?t:e.whenToUse)?a:"",isRuntime:!!e.isRuntime}}))}).catch(e=>{z([]),n.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}).finally(()=>{U(!1)})},[e,b,g]),W=(0,a.useCallback)(async t=>{let a=P.find(e=>e.id===t);if(!(null==a?void 0:a.isRuntime))return void n.appToast.info("仅 skills-runtime 中的技能可删除");if(await (0,S.confirmAlertDialog)({title:"确认删除 Skill 包?",description:"Skill:".concat(t),confirmText:"删除",cancelText:"取消"}))try{await (0,r.del)((0,i.buildSkillsRuntimeDeleteUrl)(e,b,g(),t));let a=w.filter(e=>e!==t);O(e=>e.filter(e=>e!==t)),v({...h,skills:a}),await V(a,!0),await K()}catch(e){n.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[P,e,b,g,w,h,v,V,K]);(0,a.useEffect)(()=>{("basic"===I||"installed"===I)&&K()},[I,K]);let J=(0,a.useCallback)(()=>{K()},[K]);(0,a.useEffect)(()=>{"basic"===I&&O([...w])},[I,w,C]);let Y=(0,a.useCallback)(e=>{let t=[...new Set(e)].sort();v({...h,skills:t}),V(t,!0)},[h,v,V]),q=(0,a.useMemo)(()=>P.filter(e=>!e.isRuntime),[P]),Z=(0,a.useMemo)(()=>P.filter(e=>!0===e.isRuntime).slice().sort((e,t)=>e.label.localeCompare(t.label)).map(e=>({name:e.id,installed:!0,description:e.description||"",enabled:w.includes(e.id)})),[P,w]),Q=(0,a.useCallback)((e,t)=>{let a=t?[...new Set([...w,e])].sort():w.filter(t=>t!==e);v({...h,skills:a}),O(a),V(a,!0)},[w,h,v,V]),X=(0,a.useCallback)(t=>{window.open((0,i.buildSkillsRuntimeExportUrl)(e,b,g(),t),"_blank","noopener")},[e,b,g]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(E.ManageChromeHeaderActions,{children:(0,t.jsxs)(p.Button,{id:"btnAgentImportSkill",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>F(!0),children:[(0,t.jsx)(f.default,{name:"Import",size:16,className:"align-middle"}),"导入Skill"]})}),(0,t.jsxs)(c.AppTabs,{tabs:R,value:I,listVariant:"line",onChange:e=>H(e),children:[(0,t.jsx)(c.AppTabsPanel,{value:"basic",children:(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col gap-3",children:(0,t.jsx)("div",{className:"min-h-0 overflow-y-auto border border-[var(--ds-border)]",children:B?(0,t.jsx)("p",{className:"px-3 py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsxs)(d.Table,{children:[(0,t.jsx)(d.TableHeader,{children:(0,t.jsx)(d.TableRow,{className:"bg-[var(--ds-main-tint)] hover:bg-[var(--ds-main-tint)]",children:A.map((e,a)=>(0,t.jsx)(d.TableHead,{className:"text-base text-[var(--ds-muted)] ".concat(e.className),children:e.name},"".concat(e.key,"-").concat(a)))})}),(0,t.jsx)(d.TableBody,{children:q.length?q.map(e=>(0,t.jsxs)(d.TableRow,{children:[(0,t.jsx)(d.TableCell,{className:"text-base text-[var(--ds-text)]",children:e.label}),(0,t.jsx)(d.TableCell,{className:"text-base text-[var(--ds-text)]",children:e.description||"-"}),(0,t.jsx)(d.TableCell,{className:"w-[72px] py-2 text-right align-middle",children:(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsx)(x.Switch,{checked:M.includes(e.id),disabled:_,className:"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)]",thumbClassName:"data-[checked]:bg-white",onCheckedChange:t=>{let a=t?[...new Set([...M,e.id])]:M.filter(t=>t!==e.id);O(a),Y(a)},"aria-label":"选择 ".concat(e.label)})})}),(0,t.jsx)(d.TableCell,{className:"w-[72px] py-2 text-right align-middle",children:(0,t.jsx)(m.TooltipProvider,{delayDuration:150,children:(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsxs)(m.Tooltip,{children:[(0,t.jsx)(m.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(p.Button,{type:"button",variant:"plain",size:"icon",className:"h-8 w-8 text-red-600 hover:text-red-800 [&_svg]:!text-red-600 hover:[&_svg]:!text-red-800",disabled:_,onClick:()=>{W(e.id)},"aria-label":"删除 ".concat(e.label),children:(0,t.jsx)(f.default,{name:"Trash2",size:16})})}),(0,t.jsx)(m.TooltipContent,{side:"bottom",align:"center",children:"删除"})]})})})})]},e.id)):(0,t.jsx)(d.TableRow,{children:(0,t.jsx)(d.TableCell,{colSpan:4,className:"py-6",children:(0,t.jsx)(u.Empty,{})})})})]})})})}),(0,t.jsx)(c.AppTabsPanel,{value:"installed",children:(0,t.jsx)(k,{items:Z,saveBusy:_,onToggleEnabled:Q,onExport:X,onRemove:W})}),(0,t.jsx)(c.AppTabsPanel,{value:"cloud_catalog",className:"flex min-h-0 flex-1 flex-col",children:(0,t.jsx)(y,{active:"cloud_catalog"===I,wsUrl:e,apiBase:b,agent:g(),onAfterInstall:J,className:"min-h-0 flex-1"})})]}),(0,t.jsx)(T,{open:L,onOpenChange:e=>{F(e),e||K()},wsUrl:e,apiBase:b,agent:g()})]})}},69230,e=>{"use strict";e.s(["SettingsRouteBoundary",()=>i]);var t=e.i(18050),a=e.i(22016),l=e.i(18566),s=e.i(82787),r=e.i(97249),n=e.i(38991);function i(e){let{children:i}=e,o=(0,l.usePathname)(),c=(0,n.useAppStore)(e=>e.agentId),d=(0,r.buildAppNavHref)(s.MANAGE_DEFAULT_HREF,{ensureAgent:!0,agent:c});return o&&!(0,s.isManageRouteEnabled)(o)?(0,t.jsxs)("div",{className:"manage-page-wrap flex min-h-0 flex-1 flex-col",children:[(0,t.jsx)("div",{className:"manage-page-header flex shrink-0 items-start justify-between gap-4 pb-4",children:(0,t.jsxs)("div",{className:"manage-page-title-block",children:[(0,t.jsx)("h1",{className:"manage-page-title",children:"页面不可用"}),(0,t.jsx)("p",{className:"manage-page-desc",children:"当前设置页未开放或已被禁用。"})]})}),(0,t.jsx)("div",{className:"manage-page-body flex min-h-0 min-w-0 flex-1 flex-col items-center justify-center gap-3 text-sm text-[var(--ds-muted)]",children:(0,t.jsx)(a.default,{className:"text-zinc-900 underline underline-offset-4",href:d,children:"返回默认设置页"})})]}):(0,t.jsx)(t.Fragment,{children:i})}}]);
|