@auto-ai/agent 2.1.182 → 2.1.187

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/dist/safe-a/404/index.html +1 -1
  2. package/dist/safe-a/404.html +1 -1
  3. package/dist/safe-a/_next/static/chunks/074a7a892d554827.js +1 -0
  4. package/dist/safe-a/_next/static/chunks/{e42498eec0c8d570.js → 0fde2a8866dd02fc.js} +1 -1
  5. package/dist/safe-a/_next/static/chunks/26f5809c84b263c0.css +7 -0
  6. package/dist/safe-a/_next/static/chunks/2ba468c7afb852bd.js +1 -0
  7. package/dist/safe-a/_next/static/chunks/{5434628aad5e5bc3.js → 2bac8f0a4e762326.js} +1 -1
  8. package/dist/safe-a/_next/static/chunks/{7f341bc0fb5ff708.js → 2d7f6aa6628bccd0.js} +1 -1
  9. package/dist/safe-a/_next/static/chunks/33678ff357855160.js +1 -0
  10. package/dist/safe-a/_next/static/chunks/5022180fa579a73a.js +1 -0
  11. package/dist/safe-a/_next/static/chunks/518d4c901787979a.js +1 -0
  12. package/dist/safe-a/_next/static/chunks/811897ffb3636359.js +1 -0
  13. package/dist/safe-a/_next/static/chunks/96feacf5b8cde310.js +1 -0
  14. package/dist/safe-a/_next/static/chunks/a56ab101155b1427.js +1 -0
  15. package/dist/safe-a/_next/static/chunks/a5b851b271052e89.js +1 -0
  16. package/dist/safe-a/_next/static/chunks/a6aafbc087d75717.js +1 -0
  17. package/dist/safe-a/_next/static/chunks/ceead8f438e931f7.js +1 -0
  18. package/dist/safe-a/_next/static/chunks/d16ae4f1eb111da5.js +1 -0
  19. package/dist/safe-a/_next/static/chunks/d47487bdc4a277fd.css +1 -0
  20. package/dist/safe-a/_next/static/chunks/e00679a7df05e016.js +1 -0
  21. package/dist/safe-a/_next/static/chunks/f1dde9052e8d1d3d.js +1 -0
  22. package/dist/safe-a/index.html +2 -2
  23. package/dist/safe-a/index.txt +26 -27
  24. package/dist/safe-a/manage/about/index.html +2 -2
  25. package/dist/safe-a/manage/about/index.txt +11 -11
  26. package/dist/safe-a/manage/env/index.html +2 -2
  27. package/dist/safe-a/manage/env/index.txt +13 -13
  28. package/dist/safe-a/manage/geelib/index.html +2 -2
  29. package/dist/safe-a/manage/geelib/index.txt +13 -13
  30. package/dist/safe-a/manage/general/index.html +2 -2
  31. package/dist/safe-a/manage/general/index.txt +11 -11
  32. package/dist/safe-a/manage/git/index.html +2 -2
  33. package/dist/safe-a/manage/git/index.txt +13 -13
  34. package/dist/safe-a/manage/im/index.html +2 -2
  35. package/dist/safe-a/manage/im/index.txt +13 -13
  36. package/dist/safe-a/manage/index.html +2 -2
  37. package/dist/safe-a/manage/index.txt +8 -8
  38. package/dist/safe-a/manage/library/index.html +2 -2
  39. package/dist/safe-a/manage/library/index.txt +11 -11
  40. package/dist/safe-a/manage/mcp/index.html +2 -2
  41. package/dist/safe-a/manage/mcp/index.txt +11 -11
  42. package/dist/safe-a/manage/permissions/index.html +2 -2
  43. package/dist/safe-a/manage/permissions/index.txt +11 -11
  44. package/dist/safe-a/manage/skills/index.html +2 -2
  45. package/dist/safe-a/manage/skills/index.txt +11 -11
  46. package/dist/safe-a/manage/system/index.html +2 -2
  47. package/dist/safe-a/manage/system/index.txt +13 -13
  48. package/dist/safe-a/manage/task/index.html +2 -2
  49. package/dist/safe-a/manage/task/index.txt +11 -11
  50. package/dist/safe-a/manage/teams/index.html +2 -2
  51. package/dist/safe-a/manage/teams/index.txt +11 -11
  52. package/dist/safe-a/manage/tools/index.html +2 -2
  53. package/dist/safe-a/manage/tools/index.txt +11 -11
  54. package/dist/ws-test/ws-test.css +89 -1
  55. package/dist/ws-test/ws-test.html +1 -0
  56. package/dist/ws-test/ws-test.js +276 -26
  57. package/mcps-runtime/claude-ws-channel/.mcp.json +18 -0
  58. package/mcps-runtime/claude-ws-channel/server/boot.mjs +30 -0
  59. package/mcps-runtime/claude-ws-channel/server/gateway.bundle.mjs +410306 -0
  60. package/mcps-runtime/claude-ws-channel/server/index.mjs +144 -0
  61. package/package.json +6 -6
  62. package/dist/safe-a/_next/static/chunks/044a195f3374d4b6.js +0 -1
  63. package/dist/safe-a/_next/static/chunks/0a7d5a51593d8c2f.js +0 -1
  64. package/dist/safe-a/_next/static/chunks/12fa90667e8fb0e3.js +0 -1
  65. package/dist/safe-a/_next/static/chunks/4682815462207a37.js +0 -1
  66. package/dist/safe-a/_next/static/chunks/5b44bdce5e5ebd06.js +0 -1
  67. package/dist/safe-a/_next/static/chunks/5b50a8c524507ee0.js +0 -1
  68. package/dist/safe-a/_next/static/chunks/66cdfa3e49dc50f3.js +0 -1
  69. package/dist/safe-a/_next/static/chunks/6b646b7144f0eb9e.js +0 -1
  70. package/dist/safe-a/_next/static/chunks/804376464cecbc36.css +0 -7
  71. package/dist/safe-a/_next/static/chunks/812fc979171f7ded.js +0 -1
  72. package/dist/safe-a/_next/static/chunks/8f31f818efd25c0f.js +0 -1
  73. package/dist/safe-a/_next/static/chunks/9edf76a11bf93bcc.js +0 -1
  74. package/dist/safe-a/_next/static/chunks/b63afdaa820ddad4.js +0 -1
  75. package/dist/safe-a/_next/static/chunks/b9590be9854a83fb.js +0 -1
  76. package/dist/safe-a/_next/static/chunks/dc7a9ce680ab0ce4.css +0 -1
  77. package/dist/safe-a/_next/static/chunks/dd98ccfeaf6ec72e.js +0 -1
  78. package/dist/safe-a/_next/static/chunks/e847138f5b487d3d.js +0 -1
  79. package/dist/safe-a/_next/static/chunks/f3c9f6b778f4cf1a.js +0 -1
  80. package/dist/safe-a/_next/static/chunks/fa686b4028e991a5.js +0 -1
  81. /package/dist/safe-a/_next/static/{CAF1wzpCLjCuxKaGvx09h → BDdAEI0K2Jg8YCxVKfY0_}/_buildManifest.js +0 -0
  82. /package/dist/safe-a/_next/static/{CAF1wzpCLjCuxKaGvx09h → BDdAEI0K2Jg8YCxVKfY0_}/_clientMiddlewareManifest.json +0 -0
  83. /package/dist/safe-a/_next/static/{CAF1wzpCLjCuxKaGvx09h → BDdAEI0K2Jg8YCxVKfY0_}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,2839,e=>{"use strict";e.s(["Loading",()=>l],2839);var t=e.i(18050),r=e.i(57688);let a={src:e.i(51239).default,width:951,height:482,blurWidth:8,blurHeight:4,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAYAAACzzX7wAAAAj0lEQVR42gGEAHv/AAAAAAANERAObXJwYaGko5N/gYBwDg8PCgAAAAAAAAAAAAMEBAJic2xp2+3m7fL8+P7l6ujjUlhWTAYGBgUAAAAAADM3NTG6x8LB7fr1/vD89/7f9+3+wNXNzycpKB4AAAAAAJ+qpozL2dO/0NvWx9Td2c6gzrzRpcq8u2FpZk8CAgIBCRI7kCfNfAcAAAAASUVORK5CYII="};var n=e.i(87968),i=e.i(75157);function l(e){let{text:l="加载中",className:s,showImage:o=!0,imageSrc:d=a,imageAlt:c="加载中",imageSize:u=180,imageClassName:f}=e,p="string"==typeof d?{width:u,height:u}:{width:d.width,height:d.height};return(0,t.jsxs)("div",{className:(0,i.cn)("flex min-h-[180px] w-full flex-col items-center justify-center gap-2 py-4 text-[var(--ds-muted)]",s),role:"status","aria-live":"polite",children:[o?(0,t.jsx)("span",{className:(0,i.cn)("block shrink-0",f),style:{width:u},children:(0,t.jsx)(r.default,{src:d,alt:c,width:p.width,height:p.height,unoptimized:!0,draggable:!1,sizes:"".concat(u,"px"),className:"h-auto w-full object-contain"})}):null,(0,t.jsxs)("span",{className:"flex items-center",children:[(0,t.jsx)(n.Spinner,{className:"mr-2"}),l]})]})}},96920,e=>{e.v("/app/_next/static/media/no-data.48c973b9.png")},51239,e=>{e.v("/app/_next/static/media/data-loading.be8d921a.png")},93479,e=>{"use strict";e.s(["Input",()=>a]);var t=e.i(18050),r=e.i(75157);function a(e){let{className:a,type:n="text",size:i="default",...l}=e;return(0,t.jsx)("input",{type:n,"data-slot":"input","data-size":i,className:(0,r.cn)("h-9 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-[var(--border-hover)] 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-9 data-[size=lg]:h-10 data-[size=sm]:h-7",a),...l})}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return n}});let a=e.r(71645);function n(e,t){let r=(0,a.useRef)(null),n=(0,a.useRef)(null);return(0,a.useCallback)(a=>{if(null===a){let e=r.current;e&&(r.current=null,e());let t=n.current;t&&(n.current=null,t())}else e&&(r.current=i(e,a)),t&&(n.current=i(t,a))},[e,t])}function i(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},88143,(e,t,r)=>{"use strict";function a(e){let{widthInt:t,heightInt:r,blurWidth:a,blurHeight:n,blurDataURL:i,objectFit:l}=e,s=a?40*a:t,o=n?40*n:r,d=s&&o?"viewBox='0 0 "+s+" "+o+"'":"";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+d+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+(d?"none":"contain"===l?"xMidYMid":"cover"===l?"xMidYMid slice":"none")+"' style='filter: url(%23b);' href='"+i+"'/%3E%3C/svg%3E"}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return a}})},87690,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{VALID_LOADERS:function(){return a},imageConfigDefault:function(){return n}});let a=["default","imgix","cloudinary","akamai","custom"],n={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumResponseBody:5e7,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:void 0,unoptimized:!1}},8927,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return o}}),e.r(33525);let a=e.r(88143),n=e.r(87690),i=["-moz-initial","fill","none","scale-down",void 0];function l(e){return void 0!==e.default}function s(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function o(e,t){var r,o;let d,c,u,{src:f,sizes:p,unoptimized:m=!1,priority:g=!1,loading:v,className:h,quality:b,width:x,height:y,fill:w=!1,style:j,overrideSrc:C,onLoad:A,onLoadingComplete:S,placeholder:N="empty",blurDataURL:k,fetchPriority:R,decoding:O="async",layout:M,objectFit:E,objectPosition:_,lazyBoundary:P,lazyRoot:T,...z}=e,{imgConf:I,showAltText:D,blurComplete:U,defaultLoader:B}=t,L=I||n.imageConfigDefault;if("allSizes"in L)d=L;else{let e=[...L.deviceSizes,...L.imageSizes].sort((e,t)=>e-t),t=L.deviceSizes.sort((e,t)=>e-t),a=null==(r=L.qualities)?void 0:r.sort((e,t)=>e-t);d={...L,allSizes:e,deviceSizes:t,qualities:a}}if(void 0===B)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let F=z.loader||B;delete z.loader,delete z.srcSet;let J="__next_img_default"in F;if(J){if("custom"===d.loader)throw Object.defineProperty(Error('Image with src "'+f+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader'),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=F;F=t=>{let{config:r,...a}=t;return e(a)}}if(M){"fill"===M&&(w=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[M];e&&(j={...j,...e});let t={responsive:"100vw",fill:"100vw"}[M];t&&!p&&(p=t)}let V="",H=s(x),K=s(y);if((o=f)&&"object"==typeof o&&(l(o)||void 0!==o.src)){let e=l(f)?f.default:f;if(!e.src)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(e)),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!e.height||!e.width)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(e)),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(c=e.blurWidth,u=e.blurHeight,k=k||e.blurDataURL,V=e.src,!w)if(H||K){if(H&&!K){let t=H/e.width;K=Math.round(e.height*t)}else if(!H&&K){let t=K/e.height;H=Math.round(e.width*t)}}else H=e.width,K=e.height}let G=!g&&("lazy"===v||void 0===v);(!(f="string"==typeof f?f:V)||f.startsWith("data:")||f.startsWith("blob:"))&&(m=!0,G=!1),d.unoptimized&&(m=!0),J&&!d.dangerouslyAllowSVG&&f.split("?",1)[0].endsWith(".svg")&&(m=!0);let W=s(b),q=Object.assign(w?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:E,objectPosition:_}:{},D?{}:{color:"transparent"},j),Y=U||"empty"===N?null:"blur"===N?'url("data:image/svg+xml;charset=utf-8,'+(0,a.getImageBlurSvg)({widthInt:H,heightInt:K,blurWidth:c,blurHeight:u,blurDataURL:k||"",objectFit:q.objectFit})+'")':'url("'+N+'")',X=i.includes(q.objectFit)?"fill"===q.objectFit?"100% 100%":"cover":q.objectFit,Q=Y?{backgroundSize:X,backgroundPosition:q.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:Y}:{},$=function(e){let{config:t,src:r,unoptimized:a,width:n,quality:i,sizes:l,loader:s}=e;if(a)return{src:r,srcSet:void 0,sizes:void 0};let{widths:o,kind:d}=function(e,t,r){let{deviceSizes:a,allSizes:n}=e;if(r){let e=/(^|\s)(1?\d?\d)vw/g,t=[];for(let a;a=e.exec(r);)t.push(parseInt(a[2]));if(t.length){let e=.01*Math.min(...t);return{widths:n.filter(t=>t>=a[0]*e),kind:"w"}}return{widths:n,kind:"w"}}return"number"!=typeof t?{widths:a,kind:"w"}:{widths:[...new Set([t,2*t].map(e=>n.find(t=>t>=e)||n[n.length-1]))],kind:"x"}}(t,n,l),c=o.length-1;return{sizes:l||"w"!==d?l:"100vw",srcSet:o.map((e,a)=>s({config:t,src:r,quality:i,width:e})+" "+("w"===d?e:a+1)+d).join(", "),src:s({config:t,src:r,quality:i,width:o[c]})}}({config:d,src:f,unoptimized:m,width:H,quality:W,sizes:p,loader:F});return{props:{...z,loading:G?"lazy":v,fetchPriority:R,width:H,height:K,decoding:O,className:h,style:{...q,...Q},sizes:$.sizes,srcSet:$.srcSet,src:C||$.src},meta:{unoptimized:m,priority:g,placeholder:N,fill:w}}}},98879,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return s}});let a=e.r(71645),n="undefined"==typeof window,i=n?()=>{}:a.useLayoutEffect,l=n?()=>{}:a.useEffect;function s(e){let{headManager:t,reduceComponentsToState:r}=e;function s(){if(t&&t.mountedInstances){let n=a.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(n,e))}}if(n){var o;null==t||null==(o=t.mountedInstances)||o.add(e.children),s()}return i(()=>{var r;return null==t||null==(r=t.mountedInstances)||r.add(e.children),()=>{var r;null==t||null==(r=t.mountedInstances)||r.delete(e.children)}}),i(()=>(t&&(t._pendingUpdate=s),()=>{t&&(t._pendingUpdate=s)})),l(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},58908,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"AmpStateContext",{enumerable:!0,get:function(){return a}});let a=e.r(55682)._(e.r(71645)).default.createContext({})},15986,(e,t,r)=>{"use strict";function a(e){let{ampFirst:t=!1,hybrid:r=!1,hasQuery:a=!1}=void 0===e?{}:e;return t||r&&a}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isInAmpMode",{enumerable:!0,get:function(){return a}})},25633,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{default:function(){return g},defaultHead:function(){return u}});let a=e.r(55682),n=e.r(90809),i=e.r(18050),l=n._(e.r(71645)),s=a._(e.r(98879)),o=e.r(58908),d=e.r(42732),c=e.r(15986);function u(e){void 0===e&&(e=!1);let t=[(0,i.jsx)("meta",{charSet:"utf-8"},"charset")];return e||t.push((0,i.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")),t}function f(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===l.default.Fragment?e.concat(l.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(33525);let p=["name","httpEquiv","charSet","itemProp"];function m(e,t){let{inAmpMode:r}=t;return e.reduce(f,[]).reverse().concat(u(r).reverse()).filter(function(){let e=new Set,t=new Set,r=new Set,a={};return n=>{let i=!0,l=!1;if(n.key&&"number"!=typeof n.key&&n.key.indexOf("$")>0){l=!0;let t=n.key.slice(n.key.indexOf("$")+1);e.has(t)?i=!1:e.add(t)}switch(n.type){case"title":case"base":t.has(n.type)?i=!1:t.add(n.type);break;case"meta":for(let e=0,t=p.length;e<t;e++){let t=p[e];if(n.props.hasOwnProperty(t))if("charSet"===t)r.has(t)?i=!1:r.add(t);else{let e=n.props[t],r=a[t]||new Set;("name"!==t||!l)&&r.has(e)?i=!1:(r.add(e),a[t]=r)}}}return i}}()).reverse().map((e,t)=>{let r=e.key||t;return l.default.cloneElement(e,{key:r})})}let g=function(e){let{children:t}=e,r=(0,l.useContext)(o.AmpStateContext),a=(0,l.useContext)(d.HeadManagerContext);return(0,i.jsx)(s.default,{reduceComponentsToState:m,headManager:a,inAmpMode:(0,c.isInAmpMode)(r),children:t})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18556,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return i}});let a=e.r(55682)._(e.r(71645)),n=e.r(87690),i=a.default.createContext(n.imageConfigDefault)},65856,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return a}});let a=e.r(55682)._(e.r(71645)).default.createContext(null)},1948,(e,t,r)=>{"use strict";function a(e){var t;let{config:r,src:a,width:n,quality:i}=e,l=i||(null==(t=r.qualities)?void 0:t.reduce((e,t)=>Math.abs(t-75)<Math.abs(e-75)?t:e))||75;return r.path+"?url="+encodeURIComponent(a)+"&w="+n+"&q="+l+(a.startsWith("/_next/static/media/"),"")}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return n}}),a.__next_img_default=!0;let n=a},5500,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return y}});let a=e.r(55682),n=e.r(90809),i=e.r(18050),l=n._(e.r(71645)),s=a._(e.r(74080)),o=a._(e.r(25633)),d=e.r(8927),c=e.r(87690),u=e.r(18556);e.r(33525);let f=e.r(65856),p=a._(e.r(1948)),m=e.r(18581),g={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/app/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function v(e,t,r,a,n,i,l){let s=null==e?void 0:e.src;e&&e["data-loaded-src"]!==s&&(e["data-loaded-src"]=s,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&n(!0),null==r?void 0:r.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let a=!1,n=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>a,isPropagationStopped:()=>n,persist:()=>{},preventDefault:()=>{a=!0,t.preventDefault()},stopPropagation:()=>{n=!0,t.stopPropagation()}})}(null==a?void 0:a.current)&&a.current(e)}}))}function h(e){return l.use?{fetchPriority:e}:{fetchpriority:e}}"undefined"==typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let b=(0,l.forwardRef)((e,t)=>{let{src:r,srcSet:a,sizes:n,height:s,width:o,decoding:d,className:c,style:u,fetchPriority:f,placeholder:p,loading:g,unoptimized:b,fill:x,onLoadRef:y,onLoadingCompleteRef:w,setBlurComplete:j,setShowAltText:C,sizesInput:A,onLoad:S,onError:N,...k}=e,R=(0,l.useCallback)(e=>{e&&(N&&(e.src=e.src),e.complete&&v(e,p,y,w,j,b,A))},[r,p,y,w,j,N,b,A]),O=(0,m.useMergedRef)(t,R);return(0,i.jsx)("img",{...k,...h(f),loading:g,width:o,height:s,decoding:d,"data-nimg":x?"fill":"1",className:c,style:u,sizes:n,srcSet:a,src:r,ref:O,onLoad:e=>{v(e.currentTarget,p,y,w,j,b,A)},onError:e=>{C(!0),"empty"!==p&&j(!0),N&&N(e)}})});function x(e){let{isAppRouter:t,imgAttributes:r}=e,a={as:"image",imageSrcSet:r.srcSet,imageSizes:r.sizes,crossOrigin:r.crossOrigin,referrerPolicy:r.referrerPolicy,...h(r.fetchPriority)};return t&&s.default.preload?(s.default.preload(r.src,a),null):(0,i.jsx)(o.default,{children:(0,i.jsx)("link",{rel:"preload",href:r.srcSet?void 0:r.src,...a},"__nimg-"+r.src+r.srcSet+r.sizes)})}let y=(0,l.forwardRef)((e,t)=>{let r=(0,l.useContext)(f.RouterContext),a=(0,l.useContext)(u.ImageConfigContext),n=(0,l.useMemo)(()=>{var e;let t=g||a||c.imageConfigDefault,r=[...t.deviceSizes,...t.imageSizes].sort((e,t)=>e-t),n=t.deviceSizes.sort((e,t)=>e-t),i=null==(e=t.qualities)?void 0:e.sort((e,t)=>e-t);return{...t,allSizes:r,deviceSizes:n,qualities:i}},[a]),{onLoad:s,onLoadingComplete:o}=e,m=(0,l.useRef)(s);(0,l.useEffect)(()=>{m.current=s},[s]);let v=(0,l.useRef)(o);(0,l.useEffect)(()=>{v.current=o},[o]);let[h,y]=(0,l.useState)(!1),[w,j]=(0,l.useState)(!1),{props:C,meta:A}=(0,d.getImgProps)(e,{defaultLoader:p.default,imgConf:n,blurComplete:h,showAltText:w});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(b,{...C,unoptimized:A.unoptimized,placeholder:A.placeholder,fill:A.fill,onLoadRef:m,onLoadingCompleteRef:v,setBlurComplete:y,setShowAltText:j,sizesInput:e.sizes,ref:t}),A.priority?(0,i.jsx)(x,{isAppRouter:!r,imgAttributes:C}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},94909,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{default:function(){return o},getImageProps:function(){return s}});let a=e.r(55682),n=e.r(8927),i=e.r(5500),l=a._(e.r(1948));function s(e){let{props:t}=(0,n.getImgProps)(e,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/app/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let o=i.Image},57688,(e,t,r)=>{t.exports=e.r(94909)},85413,e=>{"use strict";e.s(["Empty",()=>i],85413);var t=e.i(18050),r=e.i(57688);let a={src:e.i(96920).default,width:973,height:482,blurWidth:8,blurHeight:4,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAYAAACzzX7wAAAAj0lEQVR42gGEAHv/AAAAAAATGRcXg4uIgcjJycORlJOKDxEQDAAAAAAAAAAAAAQEBANfa2Zj5fTu9ff9+/7q8u7uc3p3cgoLCwkAAAAAAEJGRELH1M/S4/jw/tD25v7U9ef+1ubf4jg8OjAAAAAAAHqBfmqxvLiisMG7rK7GvLKxxb2wpbKtoVNYVlADAwMC5U08HYgBOJwAAAAASUVORK5CYII="};var n=e.i(75157);function i(e){let{text:i="暂无数据",className:l,showImage:s=!0,imageSrc:o=a,imageAlt:d="暂无数据",imageSize:c=180,imageClassName:u}=e,f="string"==typeof o?{width:c,height:c}:{width:o.width,height:o.height};return(0,t.jsxs)("div",{className:(0,n.cn)("flex min-h-[180px] w-full flex-col items-center justify-center gap-2 py-4 text-[var(--ds-muted)]",l),role:"status","aria-live":"polite",children:[s?(0,t.jsx)("span",{className:(0,n.cn)("block shrink-0",u),style:{width:c},children:(0,t.jsx)(r.default,{src:o,alt:d,width:f.width,height:f.height,unoptimized:!0,draggable:!1,sizes:"".concat(c,"px"),className:"h-auto w-full object-contain"})}):null,(0,t.jsx)("span",{children:i})]})}},94197,e=>{"use strict";e.s(["IconTooltipButton",()=>s]);var t=e.i(18050),r=e.i(72064),a=e.i(19455),n=e.i(46798),i=e.i(75157);let l={muted:"text-[var(--ds-muted)] hover:text-[var(--ds-text)]",danger:"text-red-600 hover:text-red-800 [&_svg]:!text-red-600 hover:[&_svg]:!text-red-800"};function s(e){let{icon:s,label:o,ariaLabel:d,tone:c="muted",disabled:u,className:f,iconClassName:p,onClick:m}=e;return(0,t.jsx)(n.TooltipProvider,{delayDuration:150,children:(0,t.jsxs)(n.Tooltip,{children:[(0,t.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(a.Button,{type:"button",variant:"plain",size:"icon",className:(0,i.cn)("icon-tooltip-btn","h-4 w-4 border-none p-0",l[c],f),disabled:u,"aria-label":null!=d?d:o,onClick:m,children:(0,t.jsx)(r.default,{name:s,size:16,className:p})})}),(0,t.jsx)(n.TooltipContent,{side:"bottom",align:"center",className:"",children:o})]})})}},56708,e=>{"use strict";e.s(["ManageChromeHeaderActions",()=>s,"ManageFeatureChrome",()=>l]);var t=e.i(18050),r=e.i(71645),a=e.i(74080),n=e.i(72064);let i=(0,r.createContext)(null);function l(e){let{title:a,description:l,children:s,showTitle:o=!0,headerIcon:d}=e,[c,u]=(0,r.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:[d&&(0,t.jsx)("div",{className:"mr-[16px] rounded-md bg-[var(--green-light)] px-4 py-3",children:(0,t.jsx)(n.default,{name:d,size:24,className:"text-[var(--green-dark)]",strokeWidth:1.5})}),(0,t.jsxs)("div",{className:"pt-2",children:[(0,t.jsx)("h1",{className:"manage-page-title",children:a}),(0,t.jsx)("p",{className:"manage-page-desc",children:l})]})]}):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)(i.Provider,{value:c,children:s})})]})}function s(e){let{children:t}=e,n=(0,r.useContext)(i);return(0,r.useSyncExternalStore)(()=>()=>{},()=>!0,()=>!1)&&n?(0,a.createPortal)(t,n):null}},36413,e=>{"use strict";e.s(["StatusBadge",()=>s],36413);var t=e.i(18050),r=e.i(25913),a=e.i(75157);let n=(0,r.cva)("inline-flex shrink-0 items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-colors focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] [&>svg]:pointer-events-none [&>svg]:size-3",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-white",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function i(e){let{className:r,variant:i,...l}=e;return(0,t.jsx)("span",{"data-slot":"badge",className:(0,a.cn)(n({variant:i}),r),...l})}let l={success:{root:"border-transparent bg-[var(--green-light)] text-[var(--green-dark)]",dot:"bg-[var(--ds-ok)]"},danger:{root:"border-transparent bg-[#fef2f2] text-[var(--ds-danger)]",dot:"bg-[var(--ds-danger)]"},default:{root:"border-transparent bg-[var(--surface-2)] text-[var(--ds-muted)]",dot:"bg-[var(--ds-muted)]"},progress:{root:"border-transparent bg-[color-mix(in_srgb,var(--blue)_12%,var(--surface-1))] text-[var(--blue)]",dot:"bg-[var(--blue)]"},warning:{root:"border-transparent bg-[color-mix(in_srgb,var(--amber)_14%,var(--surface-1))] text-[var(--amber)]",dot:"bg-[var(--amber)]"}};function s(e){let{tone:r="default",showDot:n=!0,dotClassName:s,className:o,children:d,...c}=e,u=l[r];return(0,t.jsxs)(i,{variant:"outline",className:(0,a.cn)("gap-1.5",u.root,o),...c,children:[n?(0,t.jsx)("span",{className:(0,a.cn)("size-1.5 shrink-0 rounded-full",u.dot,s),"aria-hidden":!0}):null,d]})}},53925,e=>{"use strict";e.s(["ResourceImportDialog",()=>u],53925);var t=e.i(18050),r=e.i(71645),a=e.i(72064),n=e.i(75157),i=e.i(19455);function l(e){return e<1024?"".concat(e," B"):e<1048576?"".concat((e/1024).toFixed(1)," KB"):"".concat((e/1048576).toFixed(1)," MB")}function s(e){let{uploadUrl:s,accept:o,disabled:d=!1,multiple:c=!1,maxFileSize:u=0x3200000,autoUpload:f=!1,method:p="POST",transport:m="xhr",fieldName:g="file",headers:v,extraFormData:h,autoRetryTimes:b=0,autoRetryDelayMs:x=800,selectionOnly:y=!1,className:w,emptyTitle:j="点击或拖拽文件到此处",emptyHint:C="支持上传文件",onFilesChange:A,onUploadSuccess:S,onUploadError:N,onValidationError:k}=e,R=r.useId(),O=r.useRef(null),M=r.useRef(new Map),E=r.useRef(new Map),_=r.useRef([]),[P,T]=r.useState(!1),[z,I]=r.useState([]),D=r.useMemo(()=>o?o.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean):[],[o]);r.useEffect(()=>{_.current=z,null==A||A(z)},[z,A]),r.useEffect(()=>()=>{for(let e of M.current.values())e.abort();for(let e of E.current.values())e.abort();for(let e of _.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl)},[]);let U=r.useCallback((e,t)=>{I(r=>r.map(r=>r.id===e?{...r,...t}:r))},[]),B=r.useCallback(async(e,t)=>{let r=_.current.find(t=>t.id===e);if(!r||d)return;U(e,{status:t>0?"retrying":"uploading",progress:0,error:"",retryCount:t});let a=new FormData;if(h)for(let[e,t]of Object.entries(h))a.append(e,t);a.append(g,r.file);try{let t="";if("fetch"===m){let r=new AbortController;E.current.set(e,r);let n=await fetch(s,{method:p,headers:v,body:a,signal:r.signal}),i=await n.text();try{t=i?JSON.parse(i):""}catch(e){t=i}if(!n.ok)throw Error("上传失败:".concat(n.status," ").concat(n.statusText))}else t=await new Promise((t,r)=>{let n=new XMLHttpRequest;if(M.current.set(e,n),n.open(p,s,!0),v)for(let[e,t]of Object.entries(v))n.setRequestHeader(e,t);n.upload.onprogress=t=>{if(!t.lengthComputable)return;let r=Math.min(100,Math.round(t.loaded/t.total*100));U(e,{progress:r})},n.onerror=()=>r(Error("网络异常,上传失败")),n.onabort=()=>r(Error("__ABORTED__")),n.onload=()=>{n.status>=200&&n.status<300?t(function(e){let t=e.responseText||"";try{return JSON.parse(t)}catch(e){return t}}(n)):r(Error("上传失败:".concat(n.status," ").concat(n.statusText)))},n.send(a)});U(e,{status:"success",progress:100,error:""});let r=_.current.find(t=>t.id===e);r&&(null==S||S(r,t))}catch(n){let r=n instanceof Error?n.message:String(n);if("__ABORTED__"===r)return void U(e,{status:"selected",progress:0,error:""});if(t<b){U(e,{status:"retrying",error:"重试中(".concat(t+1,"/").concat(b,")")}),await new Promise(e=>window.setTimeout(e,x)),await B(e,t+1);return}U(e,{status:"error",error:r});let a=_.current.find(t=>t.id===e);a&&(null==N||N(a,r))}finally{M.current.delete(e),E.current.delete(e)}},[x,b,d,h,g,v,p,N,S,m,U,s]),L=r.useCallback(e=>{B(e,0)},[B]),F=r.useCallback(e=>{var t,r;null==(t=M.current.get(e))||t.abort(),null==(r=E.current.get(e))||r.abort()},[]),J=r.useCallback(()=>{for(let e of _.current)("selected"===e.status||"error"===e.status)&&L(e.id)},[L]),V=r.useCallback(e=>{if(d||!e.length)return;let t=new Set(_.current.map(e=>"".concat(e.file.name,"::").concat(e.file.size))),r=[];for(let a of e){let e="".concat(a.name,"::").concat(a.size);if(!t.has(e)){if(!function(e,t){if(!t.length)return!0;let r=e.name.toLowerCase(),a=(e.type||"").toLowerCase();return t.some(e=>e.startsWith(".")?r.endsWith(e):e.endsWith("/*")?a.startsWith("".concat(e.slice(0,-1))):a===e)}(a,D)){null==k||k("文件类型不支持:".concat(a.name));continue}if(a.size>u){null==k||k("文件过大(最大 ".concat(l(u),"):").concat(a.name));continue}t.add(e),r.push({id:"".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,8)),file:a,status:"selected",progress:0,error:"",retryCount:0,previewUrl:a.type.startsWith("image/")?URL.createObjectURL(a):""})}}if(!r.length)return;let a=c?[..._.current,...r]:[r[r.length-1]];if(!c)for(let e of _.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl);if(I(a),f&&!y)for(let e of r)L(e.id)},[D,f,d,u,c,k,y,L]),H=r.useCallback(e=>{let t=e.target.files;t&&(V(Array.from(t)),e.target.value="")},[V]),K=r.useCallback(e=>{var t;e.preventDefault(),e.stopPropagation(),T(!1),d||V(Array.from(null!=(t=e.dataTransfer.files)?t:[]))},[V,d]);return(0,t.jsxs)("div",{className:(0,n.cn)("flex min-h-0 w-full flex-col gap-3",w),children:[(0,t.jsx)("input",{ref:O,id:R,type:"file",hidden:!0,accept:o,multiple:c,disabled:d,onChange:H}),(0,t.jsxs)("label",{htmlFor:R,onDragOver:e=>{e.preventDefault(),d||T(!0)},onDragLeave:e=>{e.preventDefault(),T(!1)},onDrop:K,className:(0,n.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)]",P&&"bg-[var(--ds-accent)]/5 border-[var(--ds-accent)]",d&&"cursor-not-allowed opacity-60"),children:[(0,t.jsx)(a.default,{name:"Upload",size:20,className:"text-[var(--ds-muted)]"}),(0,t.jsx)("div",{className:"text-[var(--ds-text)]",children:j}),(0,t.jsx)("div",{className:"text-[var(--ds-muted)]",children:C})]}),z.length?(0,t.jsx)("div",{className:"space-y-2",children:z.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-[var(--ds-text)]",children:e.file.name}),(0,t.jsx)("div",{className:"text-[var(--ds-muted)]",children:l(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-[var(--ds-danger)]",children:e.error||"上传失败"}):null]}),y?null:(0,t.jsxs)("div",{className:"flex items-center gap-1",children:["success"===e.status?(0,t.jsx)(a.default,{name:"CheckCircle2",size:16,className:"text-[var(--ds-accent)]"}):null,"selected"===e.status||"error"===e.status?(0,t.jsxs)(i.Button,{type:"button",size:"sm",variant:"outline",disabled:d,onClick:()=>L(e.id),children:["error"===e.status?(0,t.jsx)(a.default,{name:"RefreshCw",size:14,className:"mr-1"}):null,"error"===e.status?"重试":"上传"]}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsxs)(i.Button,{type:"button",size:"sm",variant:"outline",onClick:()=>F(e.id),children:[(0,t.jsx)(a.default,{name:"XCircle",size:14,className:"mr-1"}),"取消"]}):null]})]})},e.id))}):null,!y&&!f&&z.some(e=>"selected"===e.status||"error"===e.status)?(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(i.Button,{type:"button",size:"sm",onClick:J,disabled:d,children:"上传"})}):null]})}var o=e.i(76639),d=e.i(13354),c=e.i(29250);function u(e){let{open:a,onOpenChange:n,title:l,description:u,uploadUrl:f,resetKey:p}=e,[m,g]=(0,r.useState)(!1),[v,h]=(0,r.useState)(null),b=(0,r.useCallback)(()=>{n(!1),h(null)},[n]),x=(0,r.useCallback)(async()=>{if(!v)return void d.appToast.info("请先选择 zip 文件");let e=new FormData;e.append("file",v),g(!0);try{let t=await (0,c.bridgeFetch)(f,{method:"POST",body:e}),r=Number(t.imported||0),a=Number(t.overwritten||0),n=Array.isArray(t.rejected)?t.rejected.length:0;d.appToast.success("导入完成:导入 ".concat(r,",覆盖 ").concat(a)+(n>0?",拒绝 ".concat(n):"")),b()}catch(e){d.appToast.error("导入失败:".concat(e instanceof Error?e.message:String(e)))}finally{g(!1)}},[b,v,f]);return(0,t.jsx)(o.Dialog,{open:a,onOpenChange:e=>{n(e),e||h(null)},children:(0,t.jsxs)(o.DialogContent,{className:"flex min-h-[320px] max-w-[560px] flex-col",children:[(0,t.jsxs)(o.DialogHeader,{children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(o.DialogTitle,{children:l}),(0,t.jsx)(o.DialogDescription,{children:u})]}),(0,t.jsx)(o.DialogClose,{className:"sidebar-icon-btn","aria-label":"关闭",onClick:b,children:"✕"})]}),(0,t.jsxs)("div",{className:"m-3 flex flex-1 flex-col gap-3",children:[(0,t.jsx)(s,{uploadUrl:f,accept:".zip,application/zip",maxFileSize:0x3200000,multiple:!1,disabled:m,selectionOnly:!0,emptyTitle:"点击或拖拽 zip 文件到此处",emptyHint:"支持 .zip 格式,最大 50MB",onFilesChange:e=>{var t,r;h(null!=(r=null==(t=e[0])?void 0:t.file)?r:null)},onValidationError:e=>{d.appToast.info(e)}},"".concat(a?"open":"closed","-").concat(null!=p?p:f)),(0,t.jsxs)("div",{className:"mt-auto flex justify-end pt-2",children:[(0,t.jsx)(i.Button,{className:"mr-[12px]",type:"button",variant:"plain-outline",size:"lg",onClick:b,children:"取消"}),(0,t.jsx)(i.Button,{type:"button",size:"lg",variant:"default",disabled:m||null==v,onClick:()=>void x(),children:m?"导入中…":"确定"})]})]})]})})}},94055,e=>{"use strict";e.s(["AccentSwitch",()=>D],94055);var t=e.i(18050);e.s(["Root",()=>_,"Thumb",()=>P],39606),e.s([],37751),e.i(37751),e.i(47167);var r=e.i(71645),a=e.i(94349),n=e.i(26292),i=e.i(977),l=e.i(62372),s=e.i(17514),o=e.i(33848),d=e.i(69095),c=e.i(19805),u=e.i(86790),f=e.i(53402),p=e.i(67805);let m=r.createContext(void 0),g=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}({}),v={valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},h={disabled:!1,...v},b=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}({}),x={valid:e=>null===e?null:e?{[g.valid]:""}:{[g.invalid]:""},checked:e=>e?{[b.checked]:""}:{[b.unchecked]:""}},y={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:s.NOOP,disabled:void 0,touched:v.touched,setTouched:s.NOOP,dirty:v.dirty,setDirty:s.NOOP,filled:v.filled,setFilled:s.NOOP,focused:v.focused,setFocused:s.NOOP,validate:()=>null,validationMode:"onSubmit",validationDebounceTime:0,shouldValidateOnChange:()=>!1,state:h,markedDirtyRef:{current:!1},registerFieldControl:s.NOOP,validation:{getValidationProps:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s.EMPTY_OBJECT;return e},getInputValidationProps:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s.EMPTY_OBJECT;return e},inputRef:{current:null},commit:async()=>{}}},w=r.createContext(y);function j(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],t=r.useContext(w);if(t.setValidityData===s.NOOP&&!e)throw Error((0,p.default)(28));return t}let C=r.createContext({formRef:{current:{fields:new Map}},errors:{},clearErrors:s.NOOP,validationMode:"onSubmit",submitAttemptedRef:{current:!1}}),A=r.createContext({controlId:void 0,registerControlId:s.NOOP,labelId:void 0,setLabelId:s.NOOP,messageIds:[],setMessageIds:s.NOOP,getDescriptionProps:e=>e});function S(){return r.useContext(A)}var N=e.i(76477),k=e.i(30628),R=e.i(29315),O=e.i(31888),M=e.i(71403),E=e.i(73577);let _=r.forwardRef(function(e,p){let{checked:g,className:v,defaultChecked:h,"aria-labelledby":b,form:y,id:w,inputRef:A,name:_,nativeButton:P=!1,onCheckedChange:T,readOnly:z=!1,required:I=!1,disabled:D=!1,render:U,uncheckedValue:B,value:L,style:F,...J}=e,{clearErrors:V}=r.useContext(C),{state:H,setTouched:K,setDirty:G,validityData:W,setFilled:q,setFocused:Y,shouldValidateOnChange:X,validationMode:Q,disabled:$,name:Z,validation:ee}=j(),{labelId:et}=S(),er=$||D,ea=null!=Z?Z:_,en=r.useRef(null),ei=(0,n.useMergedRefs)(en,A,ee.inputRef),el=r.useRef(null),es=(0,u.useBaseUiId)(),eo=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{id:t,implicit:a=!1,controlRef:n}=e,{controlId:l,registerControlId:o}=S(),d=(0,u.useBaseUiId)(t),c=a?l:void 0,f=(0,k.useRefWithInit)(()=>Symbol("labelable-control")),p=r.useRef(!1),m=r.useRef(null!=t),g=(0,N.useStableCallback)(()=>{p.current&&o!==s.NOOP&&(p.current=!1,o(f.current,void 0))});return(0,i.useIsoLayoutEffect)(()=>{let e;if(o!==s.NOOP){if(a){let r=null==n?void 0:n.current;e=(0,R.isElement)(r)&&null!=r.closest("label")?null!=t?t:null:null!=c?c:d}else if(null!=t)m.current=!0,e=t;else{if(!m.current)return void g();e=d}if(void 0===e)return void g();p.current=!0,o(f.current,e)}},[t,n,c,o,a,d,f,g]),r.useEffect(()=>g,[g]),null!=l?l:d}({id:w,implicit:!1,controlRef:el}),ed=P?void 0:eo,[ec,eu]=(0,a.useControlled)({controlled:g,default:!!h,name:"Switch",state:"checked"});!function(e,t,a,n){let l=!(arguments.length>4)||void 0===arguments[4]||arguments[4],{registerFieldControl:s}=j(),o=r.useRef(null);o.current||(o.current=Symbol()),(0,i.useIsoLayoutEffect)(()=>{let r=o.current;if(r&&l)return s(r,{controlRef:e,getValue:n,id:t,value:a}),()=>{s(r,void 0)}},[e,l,n,t,s,a])}(el,es,ec),(0,i.useIsoLayoutEffect)(()=>{en.current&&q(en.current.checked)},[en,q]),(0,E.useValueChanged)(ec,()=>{V(ea),G(ec!==W.initialValue),q(ec),X()?ee.commit(ec):ee.commit(ec,!0)});let{getButtonProps:ef,buttonRef:ep}=(0,f.useButton)({disabled:er,native:P}),em=function(e,t,a){var n;let l=!(arguments.length>3)||void 0===arguments[3]||arguments[3],s=arguments.length>4?arguments[4]:void 0,[o,d]=r.useState(),c=(0,u.useBaseUiId)(s?"".concat(s,"-label"):void 0),f=null!=(n=null!=e?e:t)?n:o;return(0,i.useIsoLayoutEffect)(()=>{let r=e||t||!l?void 0:function(e,t){let r=function(e){if(!e)return;let t=e.parentElement;if(t&&"LABEL"===t.tagName)return t;let r=e.id;if(r){let t=e.nextElementSibling;if(t&&t.htmlFor===r)return t}let a=e.labels;return a&&a[0]}(e);if(r)return!r.id&&t&&(r.id=t),r.id||void 0}(a.current,c);o!==r&&d(r)}),f}(b,et,en,!P,ed),eg=(0,c.mergeProps)({checked:ec,disabled:er,form:y,id:ed,name:ea,required:I,style:ea?l.visuallyHiddenInput:l.visuallyHidden,tabIndex:-1,type:"checkbox","aria-hidden":!0,ref:ei,onChange(e){if(e.nativeEvent.defaultPrevented)return;if(z)return void e.preventDefault();let t=e.currentTarget.checked,r=(0,O.createChangeEventDetails)(M.REASONS.none,e.nativeEvent);null==T||T(t,r),r.isCanceled||eu(t)},onFocus(){var e;null==(e=el.current)||e.focus()}},ee.getInputValidationProps,void 0!==L?{value:L}:s.EMPTY_OBJECT),ev=r.useMemo(()=>({...H,checked:ec,disabled:er,readOnly:z,required:I}),[H,ec,er,z,I]),eh=(0,d.useRenderElement)("span",e,{state:ev,ref:[p,el,ep],props:[{id:P?eo:es,role:"switch","aria-checked":ec,"aria-readonly":z||void 0,"aria-required":I||void 0,"aria-labelledby":em,onFocus(){er||Y(!0)},onBlur(){let e=en.current;e&&!er&&(K(!0),Y(!1),"onBlur"===Q&&ee.commit(e.checked))},onClick(e){if(z||er)return;e.preventDefault();let t=en.current;t&&t.dispatchEvent(new((0,o.ownerWindow)(t)).PointerEvent("click",{bubbles:!0,shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey}))}},ee.getValidationProps,J,ef],stateAttributesMapping:x});return(0,t.jsxs)(m.Provider,{value:ev,children:[eh,!ec&&ea&&void 0!==B&&(0,t.jsx)("input",{type:"hidden",form:y,name:ea,value:B}),(0,t.jsx)("input",{...eg,suppressHydrationWarning:!0})]})}),P=r.forwardRef(function(e,t){let{render:a,className:n,style:i,...l}=e,s=function(){let e=r.useContext(m);if(void 0===e)throw Error((0,p.default)(63));return e}();return(0,d.useRenderElement)("span",e,{state:s,ref:t,stateAttributesMapping:x,props:l})});var T=e.i(39606),T=T,z=e.i(75157);function I(e){let{className:r,thumbClassName:a,...n}=e;return(0,t.jsx)(T.Root,{"data-slot":"switch",className:(0,z.cn)("shadow-xs focus-visible:ring-ring/50 dark:data-[unchecked]:bg-input/80 peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border border-transparent bg-input outline-none transition-colors focus-visible:border-ring focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[checked]:bg-primary",r),...n,children:(0,t.jsx)(T.Thumb,{className:(0,z.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",a)})})}function D(e){let{className:r,thumbClassName:a,...n}=e;return(0,t.jsx)(I,{className:(0,z.cn)("focus-visible:border-[var(--ds-accent)]/50 focus-visible:ring-[var(--ds-accent)]/35 data-[checked]:border-[var(--ds-accent)] data-[checked]:bg-[var(--ds-accent)]",r),thumbClassName:(0,z.cn)("data-[checked]:bg-white",a),...n})}},92715,e=>{"use strict";e.s(["AppTable",()=>u],92715);var t=e.i(18050),r=e.i(85413),a=e.i(71645),n=e.i(75157);let i=a.forwardRef((e,r)=>{let{className:a,...i}=e;return(0,t.jsx)("div",{className:"relative w-full overflow-auto",children:(0,t.jsx)("table",{ref:r,className:(0,n.cn)("w-full caption-bottom border-collapse",a),...i})})});i.displayName="Table";let l=a.forwardRef((e,r)=>{let{className:a,...i}=e;return(0,t.jsx)("thead",{ref:r,className:(0,n.cn)("[&_tr]:table [&_tr]:w-full [&_tr]:table-fixed [&_tr]:border-b",a),...i})});l.displayName="TableHeader";let s=a.forwardRef((e,r)=>{let{className:i,viewportFit:l=!0,viewportReserveBottom:s=16,viewportPaginationReserve:o=0,style:d,...c}=e,u=a.useRef(null),f=a.useCallback(e=>{u.current=e,"function"==typeof r?r(e):r&&(r.current=e)},[r]),[p,m]=a.useState(void 0);return a.useLayoutEffect(()=>{var e,t;if(!l)return void m(void 0);let r=()=>{var e,t;let r=u.current;if(!r)return;let a=r.getBoundingClientRect().top;m(Math.max(80,Math.floor((null!=(t=null==(e=window.visualViewport)?void 0:e.height)?t:window.innerHeight)-a-(s+o))))};r();let a=new ResizeObserver(()=>{r()});try{a.observe(document.body)}catch(e){}return window.addEventListener("resize",r),null==(e=window.visualViewport)||e.addEventListener("resize",r),null==(t=window.visualViewport)||t.addEventListener("scroll",r),window.addEventListener("scroll",r,!0),()=>{var e,t;a.disconnect(),window.removeEventListener("resize",r),null==(e=window.visualViewport)||e.removeEventListener("resize",r),null==(t=window.visualViewport)||t.removeEventListener("scroll",r),window.removeEventListener("scroll",r,!0)}},[l,s,o]),(0,t.jsx)("tbody",{ref:f,className:(0,n.cn)("block overflow-y-auto [&_tr:last-child]:border-b-0 [&_tr:last-child_td]:border-b-0 [&_tr]:table [&_tr]:w-full [&_tr]:table-fixed",i),style:l&&void 0!==p?{...d,maxHeight:p}:d,...c})});s.displayName="TableBody";let o=a.forwardRef((e,r)=>{let{className:a,hoverable:i=!0,...l}=e;return(0,t.jsx)("tr",{ref:r,className:(0,n.cn)("border-b transition-colors [&>td]:transition-colors data-[state=selected]:[&>td]:!bg-[var(--ds-item-active)]",i&&"group/table-row",a),...l})});o.displayName="TableRow";let d=a.forwardRef((e,r)=>{let{className:a,...i}=e;return(0,t.jsx)("th",{ref:r,className:(0,n.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",a),...i})});d.displayName="TableHead";let c=a.forwardRef((e,r)=>{let{className:a,...i}=e;return(0,t.jsx)("td",{ref:r,className:(0,n.cn)("border-x-0 border-b border-t-0 border-solid border-[var(--border-subtle)] p-3 align-middle transition-colors group-has-[td:hover]/table-row:!bg-[var(--ds-item-hover)]",a),...i})});function u(e){let{rows:a,columns:u,getRowKey:f,className:p,rowClassName:m,headerRowClassName:g,emptyText:v,emptyNode:h,bodyProps:b}=e;return(0,t.jsx)("div",{className:(0,n.cn)("overflow-hidden border border-[var(--ds-border)]",p),children:(0,t.jsxs)(i,{children:[(0,t.jsx)(l,{children:(0,t.jsx)(o,{className:(0,n.cn)("bg-[var(--ds-main-tint)] hover:bg-[var(--ds-main-tint)]",g),children:u.map(e=>(0,t.jsx)(d,{className:e.headerClassName,children:e.title},e.key))})}),(0,t.jsx)(s,{...b,children:a.length?a.map(e=>(0,t.jsx)(o,{className:"function"==typeof m?m(e):m,children:u.map(r=>(0,t.jsx)(c,{className:r.cellClassName,children:r.render(e)},r.key))},f(e))):(0,t.jsx)(o,{hoverable:!1,children:(0,t.jsx)(c,{colSpan:u.length,className:"py-6",children:null!=h?h:(0,t.jsx)(r.Empty,{text:v})})})})]})})}c.displayName="TableCell"},62427,e=>{"use strict";e.s(["clearRuntimeMcpItemConfig",()=>w,"deleteRuntimeMcp",()=>f,"deleteRuntimeSkill",()=>j,"deleteRuntimeTool",()=>u,"exportRuntimeMcpUrl",()=>m,"exportRuntimeSkillUrl",()=>C,"exportRuntimeToolUrl",()=>p,"importRuntimeMcp",()=>v,"importRuntimeTool",()=>g,"installCloudSkill",()=>S,"listBaseSkills",()=>i,"listCloudSkillCatalog",()=>A,"listInstalledSkills",()=>l,"listInstalledTools",()=>n,"listMcpServers",()=>a,"listRuntimeMcpPackages",()=>c,"listRuntimeTools",()=>d,"loadBaseSkillMd",()=>s,"loadRemoteMcpJson",()=>h,"loadRuntimeMcpItemConfig",()=>x,"saveBaseSkillMd",()=>o,"saveRemoteMcpJson",()=>b,"saveRuntimeMcpItemConfig",()=>y]);var t=e.i(29250),r=e.i(36845);async function a(e,a,n){let i=await (0,t.get)((0,r.buildMcpServersListUrl)(e,a,n));return{servers:Array.isArray(i.servers)?i.servers:[]}}async function n(e,a,n){let i=await (0,t.get)((0,r.buildToolInstalledListUrl)(e,a,n));return{tools:Array.isArray(i.tools)?i.tools:[]}}async function i(e,a,n){let i=await (0,t.get)((0,r.buildSkillBaseListUrl)(e,a,n));return{skills:Array.isArray(i.skills)?i.skills:[]}}async function l(e,a,n){let i=await (0,t.get)((0,r.buildSkillInstalledListUrl)(e,a,n));return{skills:Array.isArray(i.skills)?i.skills:[]}}async function s(e,a,n,i){return(0,t.get)((0,r.buildBaseSkillMdUrl)(e,a,n,i))}async function o(e,a,n,i,l){await (0,t.put)((0,r.buildBaseSkillMdUrl)(e,a,n,i),{content:l})}async function d(e,a,n){let i=await (0,t.get)((0,r.buildToolsRuntimeFilesUrl)(e,a,n));return{runtimeToolsDir:"string"==typeof i.runtimeToolsDir?i.runtimeToolsDir:"",items:Array.isArray(i.items)?i.items.filter(e=>!!(e&&e.id)):[]}}async function c(e,a,n){let i=await (0,t.get)((0,r.buildMcpRuntimeFilesUrl)(e,a,n));return{mcpRuntimeDir:"string"==typeof i.mcpRuntimeDir?i.mcpRuntimeDir:"",items:Array.isArray(i.items)?i.items.filter(e=>!!(e&&e.id)):[]}}async function u(e,a,n,i){return(0,t.del)((0,r.buildToolsRuntimeDeleteUrl)(e,a,n,i))}async function f(e,a,n,i){return(0,t.del)((0,r.buildMcpRuntimeDeleteUrl)(e,a,n,i))}function p(e,t,a,n){return(0,r.buildToolsRuntimeExportUrl)(e,t,a,n)}function m(e,t,a,n){return(0,r.buildMcpRuntimeExportUrl)(e,t,a,n)}async function g(e,a,n,i){let l=new FormData;return l.append("file",i),(0,t.post)((0,r.buildToolsRuntimeImportUrl)(e,a,n),l,{type:"file"})}async function v(e,a,n,i){let l=new FormData;return l.append("file",i),(0,t.post)((0,r.buildMcpRuntimeImportUrl)(e,a,n),l,{type:"file"})}async function h(e,a,n){return(0,t.get)((0,r.buildRemoteMcpJsonUrl)(e,a,n))}async function b(e,a,n,i){await (0,t.post)((0,r.buildRemoteMcpJsonUrl)(e,a,n),{content:i})}async function x(e,a,n,i,l){return(0,t.get)((0,r.buildRuntimeMcpItemConfigUrl)(e,a,n,i,l))}async function y(e,a,n,i,l,s){await (0,t.put)((0,r.buildRuntimeMcpItemConfigUrl)(e,a,n,i,l),{server:s})}async function w(e,a,n,i,l){await (0,t.del)((0,r.buildRuntimeMcpItemConfigUrl)(e,a,n,i,l))}async function j(e,a,n,i){return(0,t.del)((0,r.buildSkillsRuntimeDeleteUrl)(e,a,n,i))}function C(e,t,a,n){return(0,r.buildSkillsRuntimeExportUrl)(e,t,a,n)}async function A(e,a,n,i,l,s){let o=await (0,t.get)((0,r.buildCloudSkillCatalogUrl)(e,a,n,i,l,s));return{items:Array.isArray(o.items)?o.items:[],totalPages:Number(o.totalPages||0)}}async function S(e,a,n,i){await (0,t.post)((0,r.buildCloudSkillInstallUrl)(e,a,n),{id:i})}},55242,e=>{"use strict";e.s(["AppDialog",()=>i]);var t=e.i(18050),r=e.i(71645),a=e.i(76639),n=e.i(75157);function i(e){let{open:i,onOpenChange:l,title:s,children:o,footer:d,width:c="max-w-3xl",minHeight:u}=e,f=(0,r.useId)();return(0,t.jsx)(a.Dialog,{open:i,onOpenChange:l,children:(0,t.jsxs)(a.DialogContent,{"aria-labelledby":f,className:(0,n.cn)(c,u?"!min-h-[--min-h]":""),style:u?{"--min-h":u}:void 0,children:[(0,t.jsxs)(a.DialogHeader,{children:[(0,t.jsx)(a.DialogTitle,{id:f,children:s}),(0,t.jsx)(a.DialogClose,{"aria-label":"关闭"})]}),(0,t.jsx)(a.DialogBody,{className:"!px-4 !py-3",children:o}),d?(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:d}):null]})})}},37991,e=>{"use strict";e.s(["McpManageView",()=>A],37991);var t=e.i(18050),r=e.i(71645),a=e.i(65934),n=e.i(87243),i=e.i(13354),l=e.i(50711),s=e.i(55242),o=e.i(92715),d=e.i(2839),c=e.i(36413),u=e.i(19455),f=e.i(93479),p=e.i(94055),m=e.i(94197),g=e.i(36845),v=e.i(53925);function h(e){let{open:r,onOpenChange:a,wsUrl:n,apiBase:i,agent:l}=e;return(0,t.jsx)(v.ResourceImportDialog,{open:r,onOpenChange:a,title:"导入 MCP zip",description:"选择一个 zip 文件并导入到 mcp-runtime。",uploadUrl:(0,g.buildMcpRuntimeImportUrl)(n,i,l),resetKey:l})}var b=e.i(62427);function x(e){return(null!=e.packageId?String(e.packageId).trim():"")||e.id}function y(e){let{open:a,onOpenChange:n,itemId:l,source:o,wsUrl:d,apiBase:c,agent:f,onSaved:p}=e,[m,g]=(0,r.useState)(""),[v,h]=(0,r.useState)(!1),[x,y]=(0,r.useState)(!1),w="remote"===o?"remote":"runtime";(0,r.useEffect)(()=>{if(!a||!l.trim())return;let e=!1;return h(!0),g("加载中…"),(0,b.loadRuntimeMcpItemConfig)(d,c,f,l,w).then(t=>{if(e)return;let r=t.overlay;r&&"object"==typeof r&&!Array.isArray(r)?g(JSON.stringify(r,null,2)):g("{}")}).catch(t=>{e||(i.appToast.error("加载 MCP 配置失败:".concat(t instanceof Error?t.message:String(t))),n(!1))}).finally(()=>{e||h(!1)}),()=>{e=!0}},[a,l,d,c,f,w,n]);let j=(0,r.useCallback)(async()=>{let e;if(!l.trim())return;let t=m.trim();try{e=t?JSON.parse(t):{}}catch(e){i.appToast.error("JSON 解析失败:".concat(e instanceof Error?e.message:String(e)));return}if(!e||"object"!=typeof e||Array.isArray(e))return void i.appToast.error("配置必须是 JSON 对象");if("mcpServers"in e&&null!=e.mcpServers)return void i.appToast.error("请填写标准 server 配置(command/args/env),不要嵌套 mcpServers");let r=0===Object.keys(e).length;y(!0);try{r?await (0,b.clearRuntimeMcpItemConfig)(d,c,f,l,w):await (0,b.saveRuntimeMcpItemConfig)(d,c,f,l,w,e),i.appToast.success("MCP 配置已保存"),n(!1),null==p||p()}catch(e){i.appToast.error("保存失败:".concat(e instanceof Error?e.message:String(e)))}finally{y(!1)}},[l,m,d,c,f,w,n,p]);return(0,t.jsx)(s.AppDialog,{open:a,onOpenChange:n,title:"编辑 MCP 配置 · ".concat(l),width:"max-w-4xl",minHeight:"420px",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(u.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:x,onClick:()=>n(!1),children:"取消"}),(0,t.jsx)(u.Button,{type:"button",size:"lg",disabled:x||v,onClick:()=>void j(),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 font-mono leading-6 text-[var(--ds-text)] outline-none focus-visible:ring-2",spellCheck:!1,value:m,disabled:v,onChange:e=>g(e.target.value)})})}var w=e.i(68499),j=e.i(72064),C=e.i(56708);function A(){let e=(0,a.useAppStore)(e=>e.wsUrl),g=(0,a.useAppStore)(e=>e.apiBase),v=(0,a.useAppStore)(e=>e.agentConfig),A=(0,a.useAppStore)(e=>e.setAgentConfig),{currentAgent:S,loadAgentConfig:N}=(0,n.useSession)(),k=(0,l.usePersistAgentConfigField)("mcpServers"),R=v.mcpServers,O=(0,r.useMemo)(()=>[...R].sort().join("\0"),[R]),[M,E]=(0,r.useState)([]),[_,P]=(0,r.useState)([]),[T,z]=(0,r.useState)(!1),[I,D]=(0,r.useState)(!1),[U,B]=(0,r.useState)(!1),[L,F]=(0,r.useState)(!1),[J,V]=(0,r.useState)(""),[H,K]=(0,r.useState)(!1),[G,W]=(0,r.useState)(""),[q,Y]=(0,r.useState)(),[X,Q]=(0,r.useState)(!1),[$,Z]=(0,r.useState)("");(0,r.useEffect)(()=>{N()},[N]);let ee=(0,r.useCallback)(async(e,t)=>{D(!0);try{await k(e,{silent:t})}finally{D(!1)}},[k]),et=(0,r.useCallback)(e=>M.find(t=>t.id===e),[M]),er=(0,r.useCallback)(e=>{let t=et(e);W(e),Y(null==t?void 0:t.source),Q(!0)},[et]),ea=(0,r.useCallback)(async()=>{E([]),z(!0);try{var t;let r=await (0,b.listMcpServers)(e,g,S());E((null!=(t=r.servers)?t:[]).map(e=>{var t,r,a;return{...e,id:e.name,label:e.name,description:null!=(r=null!=(t=e.description)?t:e.source)?r:"",source:null!=(a=e.source)?a:"",installed:!!e.installed,packageId:e.packageId}}))}catch(e){E([]),i.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{z(!1)}},[e,g,S]),en=(0,r.useCallback)(async t=>{var r;let a=et(t),n=null!=(r=null==a?void 0:a.source)?r:"";if("runtime"!==n&&"remote"!==n)return void i.appToast.error("基础MCP不可删除");if(await (0,w.confirmAlertDialog)({title:"确认删除 MCP?",description:"服务器名:".concat(t),confirmText:"删除",cancelText:"取消"}))try{if("remote"===n){let r=await (0,b.loadRemoteMcpJson)(e,g,S()),a={};try{a=JSON.parse(String(r.content||"{}"))}catch(e){a={mcpServers:{}}}(!a.mcpServers||Array.isArray(a.mcpServers)||"object"!=typeof a.mcpServers)&&(a.mcpServers={}),delete a.mcpServers[t],await (0,b.saveRemoteMcpJson)(e,g,S(),JSON.stringify(a,null,2))}else{let r=a?x(a):t;await (0,b.deleteRuntimeMcp)(e,g,S(),r)}let r=R.filter(e=>e!==t);P(e=>e.filter(e=>e!==t)),A({...v,mcpServers:r}),await ee(r,!0),await ea()}catch(e){i.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[et,e,g,S,R,v,A,ee,ea]);(0,r.useEffect)(()=>{ea()},[ea]),(0,r.useEffect)(()=>{P([...R])},[R,O]);let ei=(0,r.useCallback)(async e=>{let t=[...new Set(e)].sort();A({...v,mcpServers:t}),await ee(t,!0)},[v,A,ee]),el=(0,r.useCallback)(async(e,t)=>{let r=t?[...new Set([..._,e])]:_.filter(t=>t!==e);P(r);try{await ei(r),await ea()}catch(e){P(_),i.appToast.error("切换启用状态失败: ".concat(e))}},[_,ei,ea]),es=(0,r.useMemo)(()=>M.slice().sort((e,t)=>{var r,a;let n=String(null!=(r=e.source)?r:"").localeCompare(String(null!=(a=t.source)?a:""));if(0!==n)return n;let i=+!_.includes(e.id),l=+!_.includes(t.id);return i!==l?i-l:e.id.localeCompare(t.id)}),[M,_]),eo=(0,r.useMemo)(()=>es.filter(e=>(function(e,t){var r;let a=t.trim().toLowerCase();if(!a)return!0;let n="remote"===e.source?"远程":"本地";return"".concat(e.id," ").concat(e.label," ").concat(null!=(r=e.description)?r:""," ").concat(n).toLowerCase().includes(a)})(e,$)),[es,$]),ed=(0,r.useCallback)(t=>{window.open((0,b.exportRuntimeMcpUrl)(e,g,S(),x(t)),"_blank","noopener")},[e,g,S]),ec=(0,r.useCallback)(()=>{F(!0),V(""),(0,b.loadRemoteMcpJson)(e,g,S()).then(e=>{V("string"==typeof e.content?e.content:'{\n "mcpServers": {}\n}\n')}).catch(e=>{i.appToast.error("加载 mcp.json 失败:".concat(e instanceof Error?e.message:String(e))),F(!1)})},[e,g,S]),eu=(0,r.useCallback)(async()=>{let t=function(e){let t,r=e.trim();if(!r)return"请输入 JSON 配置内容";try{t=JSON.parse(r)}catch(e){return"JSON 解析失败:".concat(e instanceof Error?e.message:String(e))}if(!t||"object"!=typeof t||Array.isArray(t))return"JSON 根节点必须是对象";let a=t.mcpServers;if(!a||"object"!=typeof a||Array.isArray(a))return"mcpServers 不能为空,且需包含至少一个 server";let n=Object.keys(a).filter(e=>e.trim());if(!n.length)return"mcpServers 不能为空,且需包含至少一个 server";let i=new Set;for(let e of n){let t=e.trim();!t||i.has(t)||i.add(t)}return i.size?null:"未解析到有效的 server 名称"}(J);if(t)return void i.appToast.error(t);K(!0);try{await (0,b.saveRemoteMcpJson)(e,g,S(),J.trim()),i.appToast.success("已保存全局 mcp.json。"),F(!1),await ea()}catch(e){i.appToast.error("保存 mcp.json 失败:".concat(e instanceof Error?e.message:String(e)))}finally{K(!1)}},[e,g,S,J,ea]),ef=[{key:"name",title:"名称",headerClassName:" text-[var(--ds-muted)]",cellClassName:" text-[var(--ds-text)]",render:e=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)("span",{children:e.label}),(0,t.jsx)(c.StatusBadge,{tone:e.disabled?"default":"success",children:e.disabled?"未启用":"启用"})]})},{key:"description",title:"详情",headerClassName:" text-[var(--ds-muted)]",cellClassName:" text-[var(--ds-text)]",render:e=>e.description||"-"},{key:"source",title:"来源",headerClassName:"w-[96px] text-[var(--ds-muted)]",cellClassName:"w-[96px] text-[var(--ds-text)]",render:e=>"remote"===e.source?"远程":"本地"},{key:"enabled",title:"启用/未启用",headerClassName:"w-14 w-[112px] text-right text-[var(--ds-muted)]",cellClassName:"w-[112px] py-2 text-right align-middle",render:e=>(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsx)(p.AccentSwitch,{checked:_.includes(e.id),disabled:I,onCheckedChange:t=>{el(e.id,t)},"aria-label":"选择 ".concat(e.label)})})},{key:"actions",title:"操作",headerClassName:"w-[168px] text-[var(--ds-muted)]",cellClassName:"w-[168px]",render:e=>{var r;let a=null!=(r=e.source)?r:"",n="runtime"===a,i="runtime"===a||"remote"===a;return(0,t.jsxs)("div",{className:"inline-flex items-center justify-end gap-1",children:[(0,t.jsx)(m.IconTooltipButton,{icon:"Download",label:n?"导出":"仅 runtime MCP 支持导出",ariaLabel:"导出 ".concat(e.label),disabled:I||!n,onClick:()=>ed(e)}),(0,t.jsx)(m.IconTooltipButton,{icon:"Edit",label:"编辑 MCP 配置",ariaLabel:"编辑 ".concat(e.label),disabled:I,onClick:()=>er(e.id)}),(0,t.jsx)(m.IconTooltipButton,{icon:"Trash2",label:i?"删除":"基础MCP不可删除",tone:"danger",ariaLabel:"删除 ".concat(e.label),disabled:I||!i,onClick:()=>{en(e.id)},iconClassName:"text-red-500"})]})}}],ep=$.trim();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)(u.Button,{type:"button",variant:"plain-outline",size:"lg",onClick:ec,className:"mr-[12px]",children:[(0,t.jsx)(j.default,{name:"Edit",size:16,className:"align-middle"}),"编辑远程MCP"]}),(0,t.jsxs)(u.Button,{id:"btnAgentImportMcp",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>B(!0),children:[(0,t.jsx)(j.default,{name:"Import",size:16,className:"align-middle"}),"导入本地MCP"]})]})}),(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-3",children:[(0,t.jsxs)("div",{className:"relative max-w-md",children:[(0,t.jsx)(f.Input,{type:"search",value:$,onChange:e=>Z(e.target.value),placeholder:"搜索名称 / 详情 / 来源",className:"h-8 pl-8","aria-label":"搜索 MCP"}),(0,t.jsx)(j.default,{name:"Search",size:16,className:"pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-[var(--ds-muted)]"})]}),(0,t.jsx)("div",{className:"min-h-0",children:T?(0,t.jsx)(d.Loading,{text:"加载中",className:"min-h-[180px]"}):(0,t.jsx)(o.AppTable,{rows:eo,columns:ef,getRowKey:e=>e.id,emptyText:ep?"未找到匹配 MCP":void 0})})]}),(0,t.jsx)(h,{open:U,onOpenChange:e=>{B(e),e||ea()},wsUrl:e,apiBase:g,agent:S()}),(0,t.jsx)(y,{open:X,onOpenChange:Q,itemId:G,source:q,wsUrl:e,apiBase:g,agent:S(),onSaved:()=>{ea(),ee(v.mcpServers,!0)}}),(0,t.jsx)(s.AppDialog,{open:L,onOpenChange:F,title:"编辑全局MCP",width:"max-w-4xl",minHeight:"420px",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(u.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:H,onClick:()=>F(!1),children:"取消"}),(0,t.jsx)(u.Button,{type:"button",size:"lg",disabled:H,onClick:()=>void eu(),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 leading-6 text-[var(--ds-text)] outline-none focus-visible:ring-2",spellCheck:!1,value:J,onChange:e=>V(e.target.value)})})]})}}]);