blade-code 0.10.83 → 0.10.85

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 (55) hide show
  1. package/dist/blade.js +2 -2
  2. package/dist/{chunk-8215sm79.js → chunk-0nsrw84g.js} +1 -1
  3. package/dist/{chunk-t5ysd5z8.js → chunk-1gv7095w.js} +1 -1
  4. package/dist/{chunk-xepdd9yj.js → chunk-1jyr0t4q.js} +1 -1
  5. package/dist/{chunk-bd5e1n5z.js → chunk-1khv7fp2.js} +1 -1
  6. package/dist/{chunk-r4mjdkzv.js → chunk-1q3z3ryy.js} +1 -1
  7. package/dist/{chunk-t6phsb5h.js → chunk-21rjwgc2.js} +1 -1
  8. package/dist/{chunk-m0a75642.js → chunk-72th07qj.js} +1 -1
  9. package/dist/{chunk-aqkexfag.js → chunk-7md9r31q.js} +1 -1
  10. package/dist/{chunk-xp3ad15c.js → chunk-7ne59gra.js} +1 -1
  11. package/dist/{chunk-hqsqk5dp.js → chunk-7qa8rfmy.js} +1 -1
  12. package/dist/{chunk-69rpb78b.js → chunk-7wjqw574.js} +1 -1
  13. package/dist/{chunk-mgtcjwhy.js → chunk-99h419nm.js} +1 -1
  14. package/dist/{chunk-q14mgye7.js → chunk-9ye1s8tj.js} +1 -1
  15. package/dist/{chunk-d4k4v959.js → chunk-a0nb3aad.js} +1 -1
  16. package/dist/{chunk-73j10ezs.js → chunk-ax95qw8w.js} +1 -1
  17. package/dist/{chunk-k50z8903.js → chunk-bvzzq0jb.js} +1 -1
  18. package/dist/{chunk-fs9j9gas.js → chunk-c7sx7pa4.js} +1 -1
  19. package/dist/{chunk-js3j00ka.js → chunk-cxe0ghk2.js} +1 -1
  20. package/dist/{chunk-1htd858b.js → chunk-d7v34g3f.js} +2 -2
  21. package/dist/{chunk-4pksah0q.js → chunk-fevtj34k.js} +1 -1
  22. package/dist/{chunk-zp27f256.js → chunk-ff5y1ba2.js} +1 -1
  23. package/dist/{chunk-g832dwdm.js → chunk-h1gapq0a.js} +1 -1
  24. package/dist/{chunk-4rq0jhf4.js → chunk-hm782j80.js} +1 -1
  25. package/dist/{chunk-mq2nx77s.js → chunk-htt5c847.js} +1 -1
  26. package/dist/{chunk-a14vnxrf.js → chunk-jw8zwqyg.js} +1 -1
  27. package/dist/{chunk-r51ds5qw.js → chunk-knwa4gmn.js} +1 -1
  28. package/dist/chunk-kvk1bbqj.js +1 -0
  29. package/dist/{chunk-qb242y47.js → chunk-kzzzzymt.js} +1 -1
  30. package/dist/{chunk-p9a3d507.js → chunk-mhq9p8mm.js} +1 -1
  31. package/dist/{chunk-xy67pj74.js → chunk-ppyqrdqc.js} +3 -3
  32. package/dist/{chunk-fkwfymb6.js → chunk-q4c1nv7m.js} +1 -1
  33. package/dist/{chunk-cchk5xrs.js → chunk-rg3bvddy.js} +1 -1
  34. package/dist/{chunk-rmqksw1e.js → chunk-syg4pnbr.js} +1 -1
  35. package/dist/{chunk-3p808rrt.js → chunk-tbbc90bs.js} +1 -1
  36. package/dist/{chunk-2b7zryg3.js → chunk-xkb0zrjj.js} +1 -1
  37. package/dist/{chunk-xzgqyzmy.js → chunk-y8fswz6h.js} +35 -35
  38. package/dist/chunk-znv9g3mt.js +1 -0
  39. package/dist/web/assets/{ChatView-DRn47Y3l.js → ChatView-DMPNX1fC.js} +3 -3
  40. package/dist/web/assets/{CodeBlockHighlighter-DxATdO6i.js → CodeBlockHighlighter-DeJNC14V.js} +1 -1
  41. package/dist/web/assets/FilePreview-qWMpc2P_.js +8 -0
  42. package/dist/web/assets/{KanbanBoard-DEUuLh0H.js → KanbanBoard-DvHAwhcw.js} +1 -1
  43. package/dist/web/assets/{MarkdownRenderer-BA9VgOyM.js → MarkdownRenderer-BY51R1Fj.js} +3 -3
  44. package/dist/web/assets/{SettingsModal-CXq3qDgQ.js → SettingsModal-CZGKcV1S.js} +1 -1
  45. package/dist/web/assets/{TaskSwitcher-CUcZEUQH.js → TaskSwitcher-DgeqVRAB.js} +1 -1
  46. package/dist/web/assets/{TerminalPanel-CcC6f3H_.js → TerminalPanel-KOLgH_tg.js} +1 -1
  47. package/dist/web/assets/index-BNeDPN7E.css +1 -0
  48. package/dist/web/assets/{index-CfVQVVVI.js → index-DHX-G3RT.js} +4 -4
  49. package/dist/web/assets/{teamService-BX1zdQBb.js → teamService-Bxs4R7Al.js} +1 -1
  50. package/dist/web/index.html +2 -2
  51. package/package.json +1 -1
  52. package/dist/chunk-mbt25rs5.js +0 -1
  53. package/dist/chunk-znhjr51w.js +0 -1
  54. package/dist/web/assets/FilePreview-D21mo4fn.js +0 -8
  55. package/dist/web/assets/index-8G4ejlcH.css +0 -1
@@ -1,4 +1,4 @@
1
- import{r as n,e as Qe,g as It,j as e}from"./vendor-react-DG5dkZ_t.js";import{u as ge,j as D,x as q,D as $e,e as Ie,y as Je,g as Ke,z as Zt,A as ea,E as ta,S as aa,a as Le,v as Kt,F as Pe,l as sa,b as na,n as ra,K as la,G as oa}from"./index-CfVQVVVI.js";import{_ as ie,n as se,o as je,p as ct,q as ut,r as _t}from"./vendor-radix-DXRuAJHH.js";import{a as Me,i as We,f as Ue,L as ne,l as ia,$ as jt,C as ht,D as xt,X as He,z as Ut,ac as da,a4 as ca,P as mt,T as ze,ag as ua,ah as xa,v as gt,_ as zt,Q as ma,ai as pa,aj as fa,ak as ha}from"./vendor-icons-DovdPN7M.js";import{t as rt}from"./team-QZ9byb3E.js";import"./session-events-Bgir_Gl_.js";var ga=function(t){return function(a,s){var l=n.useRef(!1);t(function(){return function(){l.current=!1}},[]),t(function(){if(!l.current)l.current=!0;else return a()},s)}},Ht=function(t){return typeof t=="function"},Ee=function(t){var a=n.useRef(t);a.current=n.useMemo(function(){return t},[t]);var s=n.useRef(void 0);return s.current||(s.current=function(){for(var l=[],r=0;r<arguments.length;r++)l[r]=arguments[r];return a.current.apply(this,l)}),s.current};const at=ga(n.useEffect);var Gt=function(t,a){var s=a.manual,l=a.ready,r=l===void 0?!0:l,x=a.defaultParams,h=x===void 0?[]:x,g=a.refreshDeps,u=g===void 0?[]:g,i=a.refreshDepsAction,N=n.useRef(!1);return N.current=!1,at(function(){!s&&r&&(N.current=!0,t.run.apply(t,ie([],se(h),!1)))},[r]),at(function(){N.current||s||(N.current=!0,i?i():t.refresh())},ie([],se(u),!1)),{onBefore:function(){if(!r)return{stopNow:!0}}}};Gt.onInit=function(t){var a=t.ready,s=a===void 0?!0:a,l=t.manual;return{loading:!l&&s}};function pt(t,a){if(t===a)return!0;for(var s=0;s<t.length;s++)if(!Object.is(t[s],a[s]))return!1;return!0}var qt=function(t,a){var s=n.useRef({deps:a,obj:void 0,initialized:!1}).current;return(s.initialized===!1||!pt(s.deps,a))&&(s.deps=a,s.obj=t(),s.initialized=!0),s.obj};function nt(t){var a=n.useRef(t);return a.current=t,a}var Ye=function(t){var a=nt(t);n.useEffect(function(){return function(){a.current()}},[])},Xe=new Map,ba=function(t,a,s){var l=Xe.get(t);l!=null&&l.timer&&clearTimeout(l.timer);var r=void 0;a>-1&&(r=setTimeout(function(){Xe.delete(t)},a)),Xe.set(t,je(je({},s),{timer:r}))},va=function(t){return Xe.get(t)},Ze=new Map,ja=function(t){return Ze.get(t)},ka=function(t,a){Ze.set(t,a),a.then(function(s){return Ze.delete(t),s}).catch(function(){Ze.delete(t)})},De={},ya=function(t,a){De[t]&&De[t].forEach(function(s){return s(a)})},lt=function(t,a){return De[t]||(De[t]=[]),De[t].push(a),function(){var l=De[t].indexOf(a);De[t].splice(l,1)}},Na=function(t,a){var s=a.cacheKey,l=a.cacheTime,r=l===void 0?5*60*1e3:l,x=a.staleTime,h=x===void 0?0:x,g=a.setCache,u=a.getCache,i=n.useRef(void 0),N=n.useRef(void 0),c=function(j,p){g?g(p):ba(j,r,p),ya(j,p.data)},b=function(j,p){return p===void 0&&(p=[]),u?u(p):va(j)};return qt(function(){if(s){var j=b(s);j&&Object.hasOwnProperty.call(j,"data")&&(t.state.data=j.data,t.state.params=j.params,(h===-1||Date.now()-j.time<=h)&&(t.state.loading=!1)),i.current=lt(s,function(p){t.setState({data:p})})}},[]),Ye(function(){var j;(j=i.current)===null||j===void 0||j.call(i)}),s?{onBefore:function(j){var p=b(s,j);return!p||!Object.hasOwnProperty.call(p,"data")?{}:h===-1||Date.now()-p.time<=h?{loading:!1,data:p==null?void 0:p.data,error:void 0,returnNow:!0}:{data:p==null?void 0:p.data,error:void 0}},onRequest:function(j,p){var E=ja(s);return E&&E!==N.current?{servicePromise:E}:(E=j.apply(void 0,ie([],se(p),!1)),N.current=E,ka(s,E),{servicePromise:E})},onSuccess:function(j,p){var E;s&&((E=i.current)===null||E===void 0||E.call(i),c(s,{data:j,params:p,time:Date.now()}),i.current=lt(s,function(w){t.setState({data:w})}))},onMutate:function(j){var p;s&&((p=i.current)===null||p===void 0||p.call(i),c(s,{data:j,params:t.state.params,time:Date.now()}),i.current=lt(s,function(E){t.setState({data:E})}))}}:{}};function Ea(t){var a=typeof t;return t!=null&&(a=="object"||a=="function")}var bt=Ea,wa=typeof Qe=="object"&&Qe&&Qe.Object===Object&&Qe,Ca=wa,Sa=Ca,Aa=typeof self=="object"&&self&&self.Object===Object&&self,Fa=Sa||Aa||Function("return this")(),Wt=Fa,Pa=Wt,Ba=function(){return Pa.Date.now()},Ta=Ba,Ma=/\s/;function Ra(t){for(var a=t.length;a--&&Ma.test(t.charAt(a)););return a}var Oa=Ra,Da=Oa,La=/^\s+/;function $a(t){return t&&t.slice(0,Da(t)+1).replace(La,"")}var Ia=$a,Ka=Wt,_a=Ka.Symbol,Jt=_a,kt=Jt,Yt=Object.prototype,Ua=Yt.hasOwnProperty,za=Yt.toString,qe=kt?kt.toStringTag:void 0;function Ha(t){var a=Ua.call(t,qe),s=t[qe];try{t[qe]=void 0;var l=!0}catch{}var r=za.call(t);return l&&(a?t[qe]=s:delete t[qe]),r}var Ga=Ha,qa=Object.prototype,Wa=qa.toString;function Ja(t){return Wa.call(t)}var Ya=Ja,yt=Jt,Va=Ga,Qa=Ya,Xa="[object Null]",Za="[object Undefined]",Nt=yt?yt.toStringTag:void 0;function es(t){return t==null?t===void 0?Za:Xa:Nt&&Nt in Object(t)?Va(t):Qa(t)}var ts=es;function as(t){return t!=null&&typeof t=="object"}var ss=as,ns=ts,rs=ss,ls="[object Symbol]";function os(t){return typeof t=="symbol"||rs(t)&&ns(t)==ls}var is=os,ds=Ia,Et=bt,cs=is,wt=NaN,us=/^[-+]0x[0-9a-f]+$/i,xs=/^0b[01]+$/i,ms=/^0o[0-7]+$/i,ps=parseInt;function fs(t){if(typeof t=="number")return t;if(cs(t))return wt;if(Et(t)){var a=typeof t.valueOf=="function"?t.valueOf():t;t=Et(a)?a+"":a}if(typeof t!="string")return t===0?t:+t;t=ds(t);var s=xs.test(t);return s||ms.test(t)?ps(t.slice(2),s?2:8):us.test(t)?wt:+t}var hs=fs,gs=bt,ot=Ta,Ct=hs,bs="Expected a function",vs=Math.max,js=Math.min;function ks(t,a,s){var l,r,x,h,g,u,i=0,N=!1,c=!1,b=!0;if(typeof t!="function")throw new TypeError(bs);a=Ct(a)||0,gs(s)&&(N=!!s.leading,c="maxWait"in s,x=c?vs(Ct(s.maxWait)||0,a):x,b="trailing"in s?!!s.trailing:b);function j(A){var F=l,R=r;return l=r=void 0,i=A,h=t.apply(R,F),h}function p(A){return i=A,g=setTimeout(B,a),N?j(A):h}function E(A){var F=A-u,R=A-i,k=a-F;return c?js(k,x-R):k}function w(A){var F=A-u,R=A-i;return u===void 0||F>=a||F<0||c&&R>=x}function B(){var A=ot();if(w(A))return I(A);g=setTimeout(B,E(A))}function I(A){return g=void 0,b&&l?j(A):(l=r=void 0,h)}function y(){g!==void 0&&clearTimeout(g),i=0,l=u=r=g=void 0}function S(){return g===void 0?h:I(ot())}function U(){var A=ot(),F=w(A);if(l=arguments,r=this,u=A,F){if(g===void 0)return p(u);if(c)return clearTimeout(g),g=setTimeout(B,a),j(u)}return g===void 0&&(g=setTimeout(B,a)),h}return U.cancel=y,U.flush=S,U}var Vt=ks;const Qt=It(Vt);var ys=function(t,a){var s=a.debounceWait,l=a.debounceLeading,r=a.debounceTrailing,x=a.debounceMaxWait,h=n.useRef(void 0),g=n.useMemo(function(){var u={};return l!==void 0&&(u.leading=l),r!==void 0&&(u.trailing=r),x!==void 0&&(u.maxWait=x),u},[l,r,x]);return n.useEffect(function(){if(s){var u=t.runAsync.bind(t);return h.current=Qt(function(i){i()},s,g),t.runAsync=function(){for(var i=[],N=0;N<arguments.length;N++)i[N]=arguments[N];return new Promise(function(c,b){var j;(j=h.current)===null||j===void 0||j.call(h,function(){u.apply(void 0,ie([],se(i),!1)).then(c).catch(b)})})},function(){var i;(i=h.current)===null||i===void 0||i.cancel(),t.runAsync=u}}},[s,g]),s?{onCancel:function(){var u;(u=h.current)===null||u===void 0||u.cancel()}}:{}},Ns=function(t,a){var s=a.loadingDelay,l=a.ready,r=n.useRef(void 0);if(!s)return{};var x=function(){r.current&&clearTimeout(r.current)};return{onBefore:function(){return x(),l!==!1&&(r.current=setTimeout(function(){t.setState({loading:!0})},s)),{loading:!1}},onFinally:function(){x()},onCancel:function(){x()}}},Ve=!!(typeof window<"u"&&window.document&&window.document.createElement);function vt(){return Ve?document.visibilityState!=="hidden":!0}var et=new Set;function Es(t){return et.add(t),function(){et.has(t)&&et.delete(t)}}if(Ve){var ws=function(){vt()&&et.forEach(function(t){return t()})};window.addEventListener("visibilitychange",ws,!1)}var Cs=function(t,a){var s=a.pollingInterval,l=a.pollingWhenHidden,r=l===void 0?!0:l,x=a.pollingErrorRetryCount,h=x===void 0?-1:x,g=n.useRef(void 0),u=n.useRef(void 0),i=n.useRef(0),N=function(){var c;g.current&&clearTimeout(g.current),(c=u.current)===null||c===void 0||c.call(u)};return at(function(){s||N()},[s]),s?{onBefore:function(){N()},onError:function(){i.current+=1},onSuccess:function(){i.current=0},onFinally:function(){h===-1||h!==-1&&i.current<=h?g.current=setTimeout(function(){!r&&!vt()?u.current=Es(function(){t.refresh()}):t.refresh()},s):i.current=0},onCancel:function(){N()}}:{}};function Ss(t,a){var s=!1;return function(){for(var l=[],r=0;r<arguments.length;r++)l[r]=arguments[r];s||(s=!0,t.apply(void 0,ie([],se(l),!1)),setTimeout(function(){s=!1},a))}}var As=function(){return Ve&&typeof navigator.onLine<"u"?navigator.onLine:!0},tt=new Set;function Fs(t){return tt.add(t),function(){tt.has(t)&&tt.delete(t)}}if(Ve){var St=function(){!vt()||!As()||tt.forEach(function(t){return t()})};window.addEventListener("visibilitychange",St,!1),window.addEventListener("focus",St,!1)}var Ps=function(t,a){var s=a.refreshOnWindowFocus,l=a.focusTimespan,r=l===void 0?5e3:l,x=n.useRef(void 0),h=function(){var g;(g=x.current)===null||g===void 0||g.call(x)};return n.useEffect(function(){if(s){var g=Ss(t.refresh.bind(t),r);x.current=Fs(function(){g()})}return function(){h()}},[s,r]),Ye(function(){h()}),{}},Bs=function(t,a){var s=a.retryInterval,l=a.retryCount,r=n.useRef(void 0),x=n.useRef(0),h=n.useRef(!1);return l?{onBefore:function(){h.current||(x.current=0),h.current=!1,r.current&&clearTimeout(r.current)},onSuccess:function(){x.current=0},onError:function(){if(x.current+=1,l===-1||x.current<=l){var g=s??Math.min(1e3*Math.pow(2,x.current),3e4);r.current=setTimeout(function(){h.current=!0,t.refresh()},g)}else x.current=0},onCancel:function(){x.current=0,r.current&&clearTimeout(r.current)}}:{}},Ts=Vt,Ms=bt,Rs="Expected a function";function Os(t,a,s){var l=!0,r=!0;if(typeof t!="function")throw new TypeError(Rs);return Ms(s)&&(l="leading"in s?!!s.leading:l,r="trailing"in s?!!s.trailing:r),Ts(t,a,{leading:l,maxWait:a,trailing:r})}var Ds=Os;const Ls=It(Ds);var $s=function(t,a){var s=a.throttleWait,l=a.throttleLeading,r=a.throttleTrailing,x=n.useRef(void 0),h={};return l!==void 0&&(h.leading=l),r!==void 0&&(h.trailing=r),n.useEffect(function(){if(s){var g=t.runAsync.bind(t);return x.current=Ls(function(u){u()},s,h),t.runAsync=function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];return new Promise(function(N,c){var b;(b=x.current)===null||b===void 0||b.call(x,function(){g.apply(void 0,ie([],se(u),!1)).then(N).catch(c)})})},function(){var u;t.runAsync=g,(u=x.current)===null||u===void 0||u.cancel()}}},[s,l,r]),s?{onCancel:function(){var g;(g=x.current)===null||g===void 0||g.cancel()}}:{}},Is=function(t){n.useEffect(function(){var a=t==null?void 0:t();if(!(a&&typeof a=="object"&&typeof a.then=="function"))return a},[])},Ks=function(){var t=se(n.useState({}),2),a=t[1];return Ee(function(){return a({})})},_s=function(){function t(a,s,l,r){r===void 0&&(r={}),this.serviceRef=a,this.options=s,this.subscribe=l,this.initState=r,this.pluginImpls=[],this.count=0,this.state={loading:!1,params:void 0,data:void 0,error:void 0},this.state=je(je(je({},this.state),{loading:!s.manual}),r)}return t.prototype.setState=function(a){a===void 0&&(a={}),this.state=je(je({},this.state),a),this.subscribe()},t.prototype.runPluginHandler=function(a){for(var s=[],l=1;l<arguments.length;l++)s[l-1]=arguments[l];var r=this.pluginImpls.map(function(x){var h;return(h=x[a])===null||h===void 0?void 0:h.call.apply(h,ie([x],se(s),!1))}).filter(Boolean);return Object.assign.apply(Object,ie([{}],se(r),!1))},t.prototype.runAsync=function(){for(var a=[],s=0;s<arguments.length;s++)a[s]=arguments[s];return ct(this,void 0,void 0,function(){var l,r,x,h,g,u,i,N,c,b,j,p,E,w,B,I,y,S,U,A,F;return ut(this,function(R){switch(R.label){case 0:if(this.count+=1,l=this.count,r=this.runPluginHandler("onBefore",a),x=r.stopNow,h=x===void 0?!1:x,g=r.returnNow,u=g===void 0?!1:g,i=_t(r,["stopNow","returnNow"]),h)return[2,Promise.resolve(i.data)];if(this.setState(je({loading:!0,params:a},i)),u)return[2,Promise.resolve(i.data)];(E=(p=this.options).onBefore)===null||E===void 0||E.call(p,a),R.label=1;case 1:return R.trys.push([1,3,,4]),N=this.runPluginHandler("onRequest",this.serviceRef.current,a).servicePromise,N||(N=(j=this.serviceRef).current.apply(j,ie([],se(a),!1))),[4,N];case 2:return c=R.sent(),l!==this.count?[2,new Promise(function(){})]:(this.setState({data:c,error:void 0,loading:!1}),(B=(w=this.options).onSuccess)===null||B===void 0||B.call(w,c,a),this.runPluginHandler("onSuccess",c,a),(y=(I=this.options).onFinally)===null||y===void 0||y.call(I,a,c,void 0),l===this.count&&this.runPluginHandler("onFinally",a,c,void 0),[2,c]);case 3:if(b=R.sent(),l!==this.count)return[2,new Promise(function(){})];throw this.setState({error:b,loading:!1}),(U=(S=this.options).onError)===null||U===void 0||U.call(S,b,a),this.runPluginHandler("onError",b,a),(F=(A=this.options).onFinally)===null||F===void 0||F.call(A,a,void 0,b),l===this.count&&this.runPluginHandler("onFinally",a,void 0,b),b;case 4:return[2]}})})},t.prototype.run=function(){for(var a=this,s=[],l=0;l<arguments.length;l++)s[l]=arguments[l];this.runAsync.apply(this,ie([],se(s),!1)).catch(function(r){a.options.onError||console.error(r)})},t.prototype.cancel=function(){this.count+=1,this.setState({loading:!1}),this.runPluginHandler("onCancel")},t.prototype.refresh=function(){this.run.apply(this,ie([],se(this.state.params||[]),!1))},t.prototype.refreshAsync=function(){return this.runAsync.apply(this,ie([],se(this.state.params||[]),!1))},t.prototype.mutate=function(a){var s=Ht(a)?a(this.state.data):a;this.runPluginHandler("onMutate",s),this.setState({data:s})},t}();function Us(t,a,s){a===void 0&&(a={}),s===void 0&&(s=[]);var l=a.manual,r=l===void 0?!1:l,x=a.ready,h=x===void 0?!0:x,g=_t(a,["manual","ready"]),u=je({manual:r,ready:h},g),i=nt(t),N=Ks(),c=qt(function(){var b=s.map(function(j){var p;return(p=j==null?void 0:j.onInit)===null||p===void 0?void 0:p.call(j,u)}).filter(Boolean);return new _s(i,u,N,Object.assign.apply(Object,ie([{}],se(b),!1)))},[]);return c.options=u,c.pluginImpls=s.map(function(b){return b(c,u)}),Is(function(){if(!r&&h){var b=c.state.params||a.defaultParams||[];c.run.apply(c,ie([],se(b),!1))}}),Ye(function(){c.cancel()}),{loading:c.state.loading,data:c.state.data,error:c.state.error,params:c.state.params||[],cancel:Ee(c.cancel.bind(c)),refresh:Ee(c.refresh.bind(c)),refreshAsync:Ee(c.refreshAsync.bind(c)),run:Ee(c.run.bind(c)),runAsync:Ee(c.runAsync.bind(c)),mutate:Ee(c.mutate.bind(c))}}function _e(t,a,s){return Us(t,a,ie(ie([],se([]),!1),[ys,Ns,Cs,Ps,$s,Gt,Na,Bs],!1))}function st(t,a){if(Ve){if(!t)return a;var s;return Ht(t)?s=t():"current"in t?s=t.current:s=t,s}}var zs=function(t){var a=function(s,l,r){var x=n.useRef(!1),h=n.useRef([]),g=n.useRef([]),u=n.useRef(void 0);t(function(){var i,N=Array.isArray(r)?r:[r],c=N.map(function(b){return st(b)});if(!x.current){x.current=!0,h.current=c,g.current=l,u.current=s();return}(c.length!==h.current.length||!pt(h.current,c)||!pt(g.current,l))&&((i=u.current)===null||i===void 0||i.call(u),h.current=c,g.current=l,u.current=s())}),Ye(function(){var i;(i=u.current)===null||i===void 0||i.call(u),x.current=!1})};return a},Hs=zs(n.useEffect);function Gs(){var t=(typeof global>"u"?"undefined":typeof global)=="object"&&global&&global.Object===Object&&global,a=typeof self=="object"&&self&&self.Object===Object&&self;return t||a}Gs()||(global.Date=Date);function qs(t,a){var s,l=nt(t),r=(s=a==null?void 0:a.wait)!==null&&s!==void 0?s:1e3,x=n.useMemo(function(){return Qt(function(){for(var h=[],g=0;g<arguments.length;g++)h[g]=arguments[g];return l.current.apply(l,ie([],se(h),!1))},r,a)},[]);return Ye(function(){x.cancel()}),{run:x,cancel:x.cancel,flush:x.flush}}function Ws(t,a,s){s===void 0&&(s={});var l=s.enable,r=l===void 0?!0:l,x=nt(a);Hs(function(){if(r){var h=st(s.target,window);if(h!=null&&h.addEventListener){var g=function(i){return x.current(i)},u=Array.isArray(t)?t:[t];return u.forEach(function(i){h.addEventListener(i,g,{capture:s.capture,once:s.once,passive:s.passive})}),function(){u.forEach(function(i){h.removeEventListener(i,g,{capture:s.capture})})}}}},[t,s.capture,s.once,s.passive,r],s.target)}var Js=function(t){return t===document||t===document.documentElement||t===document.body?Math.max(window.pageYOffset,document.documentElement.scrollTop,document.body.scrollTop):t.scrollTop},At=function(t){return t.scrollHeight||Math.max(document.documentElement.scrollHeight,document.body.scrollHeight)},Ys=function(t){return t.clientHeight||Math.max(document.documentElement.clientHeight,document.body.clientHeight)},Vs=function(t,a){a===void 0&&(a={});var s=a.target,l=a.isNoMore,r=a.threshold,x=r===void 0?100:r,h=a.direction,g=h===void 0?"bottom":h,u=a.reloadDeps,i=u===void 0?[]:u,N=a.manual,c=a.onBefore,b=a.onSuccess,j=a.onError,p=a.onFinally,E=se(n.useState(),2),w=E[0],B=E[1],I=se(n.useState(!1),2),y=I[0],S=I[1],U=g==="top",A=n.useRef(void 0),F=n.useRef(0),R=n.useMemo(function(){return l?l(w):!1},[w]),k=_e(function(L){return ct(void 0,void 0,void 0,function(){var C;return ut(this,function(v){switch(v.label){case 0:return[4,t(L)];case 1:return C=v.sent(),[2,{currentData:C,lastData:L}]}})})},{manual:N,onFinally:function(L,C,v){S(!1),p==null||p(C==null?void 0:C.currentData,v)},onBefore:function(){return c==null?void 0:c()},onSuccess:function(L){var C,v,M;L.lastData?B(je(je({},L.currentData),{list:U?ie(ie([],se(L.currentData.list),!1),se((v=L.lastData.list)!==null&&v!==void 0?v:[]),!1):ie(ie([],se((M=L.lastData.list)!==null&&M!==void 0?M:[]),!1),se(L.currentData.list),!1)})):B(je(je({},L.currentData),{list:ie([],se((C=L.currentData.list)!==null&&C!==void 0?C:[]),!1)})),setTimeout(function(){requestAnimationFrame(function(){if(U){var V=st(s);if(V=V===document?document.documentElement:V,V){var pe=At(V);V.scrollTo(0,pe-F.current)}}else te()})}),b==null||b(L.currentData)},onError:function(L){return j==null?void 0:j(L)}}),O=k.loading,Q=k.error,Y=k.run,Z=k.runAsync,ee=k.cancel,J=Ee(function(){R||(S(!0),Y(w))}),X=function(L){return ct(void 0,void 0,void 0,function(){var C;return ut(this,function(v){switch(v.label){case 0:return[4,Z(L)];case 1:return C=v.sent(),[2,C.currentData]}})})},T=Ee(function(){return R?Promise.reject():(S(!0),X(w))}),K=function(){return S(!1),Y()},G=function(){return S(!1),X()},te=function(){var L=st(s);if(L){var C=L===document?document.documentElement:L,v=Js(C),M=At(C),V=Ys(C);U?(A.current!==void 0&&A.current>v&&v<=x&&J(),A.current=v,F.current=M-v):M-v<=V+x&&J()}};return Ws("scroll",function(){O||y||te()},{target:s}),at(function(){Y()},ie([],se(i),!1)),{data:w,loading:!y&&O,error:Q,loadingMore:y,noMore:R,loadMore:J,loadMoreAsync:T,reload:Ee(K),reloadAsync:Ee(G),mutate:B,cancel:ee}};const Ft={connected:"text-[#16A34A] dark:text-[#22C55E]",connecting:"text-[#2563eb] dark:text-[#3b82f6]",reconnecting:"text-[#2563eb] dark:text-[#60a5fa]",offline:"text-[#f59e0b]",error:"text-[#ef4444]"},Qs={connected:"mcp.status.connected",connecting:"mcp.status.connecting",reconnecting:"mcp.status.reconnecting",offline:"mcp.status.offline",error:"mcp.status.error"},Xs={disabled:"mcp.oauth.status.disabled",unavailable:"mcp.oauth.status.unavailable",unauthenticated:"mcp.oauth.status.unauthenticated",authorizing:"mcp.oauth.status.authorizing",authenticated:"mcp.oauth.status.authenticated",error:"mcp.oauth.status.error"},Zs={Official:"mcp.catalog.tag.official",Popular:"mcp.catalog.tag.popular",Community:"mcp.catalog.tag.community"},Pt=20,en=["debug","info","notice","warning","error","critical","alert","emergency"],Bt=(t,a)=>t.status!=="reconnecting"||!t.recovery?a(Qs[t.status]):a("mcp.status.recoveringAttempt",{attempt:t.recovery.attempt,max:t.recovery.maxAttempts}),tn=async()=>q("/mcp"),an=async t=>q(`/mcp/${encodeURIComponent(t)}/logs?limit=20`),sn="mcp server @modelcontextprotocol",nn=3,Xt=t=>{var a;return((a=t.split("/").pop())==null?void 0:a.replace(/^server-/,""))||t},rn=async(t,a)=>{const s=t&&t.length>=nn?t:sn,l=`https://registry.npmjs.org/-/v1/search?text=${encodeURIComponent(s)}&size=${Pt}&from=${a}`,r=await q(l);return{list:r.objects.map(x=>x.package),total:r.total,hasMore:a+Pt<r.total}};function ln({active:t}){const a=ge(),[s,l]=n.useState("installed"),[r,x]=n.useState(!1),[h,g]=n.useState(null),[u,i]=n.useState(""),[N,c]=n.useState(null),[b,j]=n.useState(null),[p,E]=n.useState(null),[w,B]=n.useState(null),[I,y]=n.useState(null),[S,U]=n.useState(""),[A,F]=n.useState(null),[R,k]=n.useState(!1),[O,Q]=n.useState(null),[Y,Z]=n.useState(null),[ee,J]=n.useState(""),[X,T]=n.useState(""),[K,G]=n.useState(null),[te,L]=n.useState(null),C=n.useRef(null),{run:v}=qs(d=>{T(d)},{wait:500}),{data:M=[],loading:V,error:pe,run:Ae,runAsync:le}=_e(tn,{refreshDeps:[t],ready:t,onSuccess:d=>{d.length>0&&!h&&g(d[0].id)}}),{data:he,loading:we,error:ce,runAsync:Ce}=_e(an,{manual:!0}),{data:de,loading:re,loadingMore:f,noMore:_,error:ae,reload:oe}=Vs(async d=>{var H;const W=((H=d==null?void 0:d.list)==null?void 0:H.length)??0;return rn(X,W)},{target:C,isNoMore:d=>!(d!=null&&d.hasMore),reloadDeps:[X],manual:!t||s!=="catalog"}),{runAsync:me,loading:fe,error:be}=_e(async d=>{await q("/mcp",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:d.name,config:d})})},{manual:!0,onSuccess:()=>{le(),x(!1),L(null),G(null)},onError:()=>{G(null)}}),Fe=n.useMemo(()=>{const d=u.trim().toLowerCase();return d?M.filter(W=>[W.name,W.endpoint,W.description].some(H=>H.toLowerCase().includes(d))):M},[u,M]),P=n.useMemo(()=>Fe.find(d=>d.id===h)??Fe[0],[Fe,h]),Be=n.useMemo(()=>{if(!P)return[];const d=(P.prompts??[]).flatMap(H=>H.arguments.map(ye=>({key:`prompt:${H.name}:${ye.name}`,label:`${H.name}.${ye.name}`,reference:{type:"prompt",name:H.name},argument:ye.name}))),W=(P.resourceTemplates??[]).flatMap(H=>(H.variables??[]).map(ye=>({key:`resource:${H.uriTemplate}:${ye}`,label:`${H.uriTemplate} · ${ye}`,reference:{type:"resource",uri:H.uriTemplate},argument:ye})));return[...d,...W]},[P]),ve=Be.find(d=>d.key===I)??Be[0];n.useEffect(()=>{if(!t||!M.some(W=>W.oauthStatus==="authorizing"||W.status==="connecting"||W.status==="reconnecting"))return;const d=window.setInterval(()=>{le()},1e3);return()=>window.clearInterval(d)},[t,le,M]),n.useEffect(()=>{b&&M.some(d=>d.name===b.serverName&&(d.oauthStatus==="authenticated"||d.oauthStatus==="disabled"||d.oauthStatus==="unavailable"))&&j(null)},[b,M]),n.useEffect(()=>{!t||s!=="installed"||!P||Ce(P.name).catch(()=>{})},[t,Ce,P,s]);const Re=async(d,W)=>{E({type:d,name:W}),c(null);try{const H=d==="delete"?"":`/${d}`;await q(`/mcp/${encodeURIComponent(W)}${H}`,{method:d==="delete"?"DELETE":"POST"}),await le(),d==="delete"&&(Z(null),g(null))}catch(H){c(H instanceof Error?H.message:a(d==="connect"?"mcp.error.connectFailed":d==="disconnect"?"mcp.error.disconnectFailed":"mcp.error.deleteFailed"))}finally{E(null)}},m=async(d,W)=>{E({type:d,name:W.name}),c(null);try{if(d==="login"){const H=await q(`/mcp/${encodeURIComponent(W.name)}/oauth/login`,{method:"POST"});j({serverName:W.name,url:H.authorizationUrl})}else await q(`/mcp/${encodeURIComponent(W.name)}/oauth/logout`,{method:"POST"}),j(null);await le()}catch(H){c(H instanceof Error?H.message:a(d==="login"?"mcp.error.loginFailed":"mcp.error.logoutFailed"))}finally{E(null)}},ue=async(d,W)=>{B(W),c(null);try{await q(`/mcp/${encodeURIComponent(d.name)}/logging-level`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({level:W})}),await le(),Ce(d.name).catch(()=>{})}catch(H){c(H instanceof Error?H.message:a("mcp.error.loggingLevelFailed"))}finally{B(null)}},Ne=async d=>{if(ve){k(!0),Q(null),F(null);try{const W=await q(`/mcp/${encodeURIComponent(d.name)}/complete`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({reference:ve.reference,argument:{name:ve.argument,value:S}})});F(W)}catch(W){Q(W instanceof Error?W.message:a("mcp.error.completionFailed"))}finally{k(!1)}}},ke=n.useMemo(()=>new Set(M.map(d=>d.name.toLowerCase())),[M]),o=d=>{L(d)},$=d=>d.startsWith("@modelcontextprotocol/"),z=d=>$(d.name)?"Official":"Community";return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex h-full min-h-0 flex-col",children:e.jsxs("div",{className:"flex overflow-hidden flex-col flex-1 gap-4 p-4 min-h-0 sm:gap-5 sm:p-8",children:[e.jsxs("div",{className:"flex justify-between items-center shrink-0",children:[e.jsx("h2",{className:"text-lg font-semibold text-[#111827] dark:text-[#E5E5E5] font-mono",children:"MCP"}),e.jsxs("div",{className:"flex gap-2 items-center",children:[e.jsx("button",{onClick:Ae,"aria-label":a("mcp.action.refreshServers"),className:"h-8 w-8 rounded-md text-[#9CA3AF] hover:text-[#111827] hover:bg-[#E5E7EB] dark:text-[#71717a] dark:hover:text-[#E5E5E5] dark:hover:bg-[#27272a] transition-colors flex items-center justify-center",disabled:V,children:e.jsx(Me,{className:D("h-4 w-4",V&&"animate-spin")})}),e.jsxs("button",{"data-mcp-add-server-trigger":!0,onClick:()=>x(!0),className:"h-8 px-3 rounded-md bg-[#E5E7EB] text-[#111827] dark:bg-[#27272a] dark:text-[#E5E5E5] text-xs font-mono font-semibold flex items-center gap-1 hover:bg-[#D1D5DB] dark:hover:bg-[#32323a]",children:[e.jsx(We,{className:"h-3.5 w-3.5"}),a("mcp.action.addServer")]})]})]}),e.jsxs("div",{className:"flex items-center gap-2 p-1 rounded-md bg-[#F3F4F6] dark:bg-[#18181b] w-fit shrink-0",children:[e.jsx(Tt,{active:s==="installed",onClick:()=>l("installed"),children:a("mcp.tab.installed",{count:M.length})}),e.jsx(Tt,{active:s==="catalog",onClick:()=>{l("catalog"),de||oe()},children:a("mcp.tab.catalog")})]}),N&&e.jsxs("div",{role:"alert",className:"flex shrink-0 items-start gap-2 rounded-md border border-red-200 bg-red-50 px-3 py-2 text-[11px] font-mono text-red-700 dark:border-red-900/60 dark:bg-red-950/30 dark:text-red-300",children:[e.jsx(Ue,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),e.jsx("span",{className:"flex-1 min-w-0",children:N}),e.jsx("button",{type:"button",onClick:()=>c(null),className:"underline shrink-0",children:a("mcp.action.dismiss")})]}),s==="installed"?e.jsxs("div",{className:"flex overflow-hidden flex-col flex-1 gap-3 min-h-0 sm:flex-row sm:gap-5",children:[e.jsxs("div",{className:"flex h-[180px] w-full shrink-0 flex-col gap-3 overflow-hidden sm:h-auto sm:w-[220px]",children:[e.jsx("span",{className:"text-sm font-mono font-semibold text-[#111827] dark:text-[#E5E5E5] shrink-0",children:a("mcp.servers.title")}),e.jsx("input",{type:"search","aria-label":a("mcp.servers.searchAria"),value:u,onChange:d=>i(d.target.value),placeholder:a("mcp.servers.searchPlaceholder"),className:"h-8 shrink-0 rounded-md border border-transparent bg-[#F3F4F6] px-3 text-[12px] font-mono text-[#111827] outline-none placeholder:text-[#9CA3AF] focus:border-[#D1D5DB] dark:bg-[#18181b] dark:text-[#E5E5E5] dark:placeholder:text-[#71717a] dark:focus:border-[#3f3f46]"}),e.jsxs("div",{className:"flex overflow-y-auto flex-col flex-1 gap-2 pr-1 min-h-0",children:[V&&M.length===0&&e.jsxs("div",{role:"status",className:"flex items-center justify-center gap-2 py-8 text-sm font-mono text-[#9CA3AF] dark:text-[#71717a]",children:[e.jsx(ne,{className:"w-4 h-4 animate-spin"}),a("mcp.servers.loading")]}),pe&&!V&&e.jsxs("div",{role:"alert",className:"flex flex-col gap-2 items-center py-6 font-mono text-xs text-center text-red-600 dark:text-red-400",children:[e.jsx("span",{children:pe.message}),e.jsx("button",{type:"button",onClick:Ae,className:"rounded-md border border-red-200 px-2.5 py-1 text-[11px] dark:border-red-900",children:a("mcp.action.retry")})]}),!pe&&!V&&Fe.length===0&&e.jsx("div",{className:"text-center py-8 text-[#9CA3AF] dark:text-[#71717a] text-sm font-mono",children:a(u?"mcp.servers.noMatch":"mcp.servers.none")}),Fe.map(d=>e.jsxs("button",{onClick:()=>{g(d.id),Z(null),c(null),y(null),U(""),F(null),Q(null)},className:D("text-left rounded-lg px-3 py-2 flex flex-col gap-1 transition-colors shrink-0",d.id===(P==null?void 0:P.id)?"bg-[#E5E7EB] dark:bg-[#111827]":"bg-white dark:bg-[#0C0C0C] hover:bg-[#F3F4F6] dark:hover:bg-[#18181b]"),children:[e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsx("span",{className:"text-[13px] font-mono font-semibold text-[#111827] dark:text-[#E5E5E5]",children:d.name}),e.jsx("span",{className:D("text-[11px] font-mono font-semibold",Ft[d.status]),children:Bt(d,a)})]}),e.jsx("span",{className:"text-[11px] font-mono text-[#6B7280] dark:text-[#94a3b8] truncate",children:d.endpoint})]},d.id))]})]}),P?e.jsxs("div",{className:"flex overflow-y-auto flex-col flex-1 gap-3 pr-2 min-h-0",children:[e.jsxs("div",{className:"flex justify-between items-center shrink-0",children:[e.jsx("span",{className:"text-base font-mono font-semibold text-[#111827] dark:text-[#E5E5E5]",children:P.name}),e.jsx("span",{className:D("text-xs font-mono font-semibold",Ft[P.status]),children:Bt(P,a)})]}),e.jsx("p",{className:"text-[12px] font-mono text-[#6B7280] dark:text-[#94a3b8]",children:P.description}),P.error&&e.jsx("p",{className:"text-[12px] font-mono text-[#ef4444]",children:a("mcp.server.errorLabel",{error:P.error})}),P.instructions&&e.jsxs("div",{className:"rounded-md bg-[#F3F4F6] px-3 py-2 dark:bg-[#18181b]",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsx("span",{className:"text-[10px] font-mono uppercase tracking-wide text-[#9CA3AF] dark:text-[#71717a]",children:a("mcp.instructions.title")}),e.jsxs("span",{className:"truncate text-[9px] font-mono text-[#9CA3AF] dark:text-[#71717a]",children:["sha256 ",P.instructions.sha256]})]}),e.jsx("pre",{className:"mt-1 max-h-36 overflow-y-auto whitespace-pre-wrap break-words text-[11px] font-mono text-[#374151] dark:text-[#d4d4d8]",children:P.instructions.text??a("mcp.instructions.detailsOmittedByPolicy")}),(P.instructions.truncated||P.instructions.detailsOmitted)&&e.jsx("span",{className:"mt-1 block text-[9px] font-mono text-amber-600 dark:text-amber-400",children:P.instructions.detailsOmitted?a("mcp.instructions.detailsOmitted"):a("mcp.instructions.truncated")})]}),P.tasks&&e.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-md bg-[#F3F4F6] px-3 py-2 dark:bg-[#18181b]",children:[e.jsxs("div",{className:"flex min-w-0 flex-col gap-0.5",children:[e.jsx("span",{className:"text-[10px] font-mono uppercase tracking-wide text-[#9CA3AF] dark:text-[#71717a]",children:a("mcp.tasks.title")}),e.jsx("span",{className:"text-[11px] font-mono text-[#6B7280] dark:text-[#a1a1aa]",children:P.tasks.enabled?a("mcp.tasks.summary",{count:P.tasks.maxTasksPerSession,interval:P.tasks.pollIntervalMs}):a("mcp.tasks.disabledByDefault")})]}),e.jsx("span",{className:D("text-[10px] font-mono font-semibold uppercase",P.tasks.enabled?"text-[#16A34A] dark:text-[#22C55E]":"text-[#9CA3AF] dark:text-[#71717a]"),children:P.tasks.enabled?a("mcp.tasks.enabled"):a("mcp.tasks.disabled")})]}),P.oauthEnabled&&e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2 rounded-md bg-[#F3F4F6] px-3 py-2 dark:bg-[#18181b]",children:[e.jsxs("div",{className:"flex min-w-0 flex-col gap-0.5",children:[e.jsx("span",{className:"text-[10px] font-mono uppercase tracking-wide text-[#9CA3AF] dark:text-[#71717a]",children:"OAuth"}),e.jsx("span",{role:P.oauthStatus==="authorizing"?"status":void 0,className:D("text-[11px] font-mono",P.oauthStatus==="authenticated"?"text-[#16A34A] dark:text-[#22C55E]":P.oauthStatus==="error"?"text-[#ef4444]":"text-[#6B7280] dark:text-[#a1a1aa]"),children:a(Xs[P.oauthStatus])})]}),P.oauthStatus==="authenticated"?e.jsx("button",{type:"button",onClick:()=>void m("logout",P),disabled:p!==null,className:"h-7 rounded-md border border-[#D1D5DB] px-2.5 text-[11px] font-mono text-[#374151] disabled:opacity-50 dark:border-[#3f3f46] dark:text-[#d4d4d8]",children:(p==null?void 0:p.type)==="logout"?a("mcp.oauth.signingOut"):a("mcp.oauth.signOut")}):P.oauthStatus==="authorizing"?e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ne,{className:"h-3.5 w-3.5 animate-spin text-[#2563eb]","aria-hidden":"true"}),(b==null?void 0:b.serverName)===P.name?e.jsx("a",{href:b.url,target:"_blank",rel:"noopener noreferrer",className:"inline-flex h-7 items-center rounded-md bg-[#2563eb] px-2.5 text-[11px] font-mono font-semibold text-white dark:bg-[#3b82f6]",children:a("mcp.oauth.continueAuthorization")}):e.jsx("button",{type:"button",onClick:()=>void m("login",P),disabled:p!==null,className:"h-7 rounded-md border border-[#D1D5DB] px-2.5 text-[11px] font-mono text-[#374151] disabled:opacity-50 dark:border-[#3f3f46] dark:text-[#d4d4d8]",children:a("mcp.oauth.resumeAuthorization")})]}):P.oauthStatus==="unavailable"?null:e.jsx("button",{type:"button",onClick:()=>void m("login",P),disabled:p!==null,className:"h-7 rounded-md bg-[#2563eb] px-2.5 text-[11px] font-mono font-semibold text-white disabled:opacity-50 dark:bg-[#3b82f6]",children:(p==null?void 0:p.type)==="login"?a("mcp.oauth.opening"):a("mcp.oauth.authorize")})]}),e.jsxs("div",{className:"flex gap-2 items-center",children:[P.status==="connected"||P.status==="reconnecting"?e.jsx("button",{onClick:()=>void Re("disconnect",P.name),disabled:p!==null,className:"h-7 px-3 rounded-md bg-[#E5E7EB] text-[#111827] dark:bg-[#27272a] dark:text-[#E5E5E5] text-[11px] font-mono font-semibold",children:(p==null?void 0:p.type)==="disconnect"&&p.name===P.name?a("mcp.action.disconnecting"):P.status==="reconnecting"?a("mcp.action.stopRecovery"):a("mcp.action.disconnect")}):e.jsx("button",{onClick:()=>void Re("connect",P.name),disabled:p!==null||P.oauthEnabled&&P.oauthStatus!=="authenticated",className:"h-7 px-3 rounded-md bg-[#16A34A] dark:bg-[#22C55E] text-white dark:text-[#0C0C0C] text-[11px] font-mono font-semibold",children:(p==null?void 0:p.type)==="connect"&&p.name===P.name?a("mcp.action.connecting"):P.oauthEnabled&&P.oauthStatus!=="authenticated"?a("mcp.action.authorizeFirst"):a("mcp.action.connect")}),e.jsx("button",{onClick:()=>Z(P.name),disabled:p!==null,className:"h-7 px-3 rounded-md bg-[#F3F4F6] dark:bg-[#18181b] text-[#ef4444] text-[11px] font-mono font-semibold",children:a("mcp.action.delete")})]}),Y===P.name&&e.jsxs("div",{role:"alertdialog","aria-label":a("mcp.server.deleteAria",{name:P.name}),className:"flex flex-wrap gap-2 justify-between items-center px-3 py-2 bg-red-50 rounded-md border border-red-200 dark:border-red-900/60 dark:bg-red-950/30",children:[e.jsx("span",{className:"text-[11px] font-mono text-red-700 dark:text-red-300",children:a("mcp.delete.confirm")}),e.jsxs("div",{className:"flex gap-2 items-center",children:[e.jsx("button",{type:"button",onClick:()=>Z(null),className:"h-7 rounded-md px-2.5 text-[11px] font-mono text-[#6B7280] dark:text-[#a1a1aa]",children:a("mcp.action.cancel")}),e.jsx("button",{type:"button",onClick:()=>void Re("delete",P.name),disabled:p!==null,className:"h-7 rounded-md bg-red-600 px-2.5 text-[11px] font-mono font-semibold text-white disabled:opacity-60",children:(p==null?void 0:p.type)==="delete"?a("mcp.action.deleting"):a("mcp.action.deleteServer")})]})]}),e.jsx("span",{className:"text-sm font-mono font-semibold text-[#111827] dark:text-[#E5E5E5]",children:a("mcp.tools.title",{count:P.tools.length})}),e.jsx("div",{className:"flex flex-wrap gap-2",children:P.tools.length===0?e.jsx("span",{className:"text-[12px] font-mono text-[#9CA3AF] dark:text-[#71717a]",children:a("mcp.tools.none")}):P.tools.map(d=>e.jsx("span",{className:"px-2 py-1 rounded-md bg-[#F3F4F6] dark:bg-[#18181b] text-[11px] font-mono text-[#111827] dark:text-[#E5E5E5]",children:d},d))}),e.jsx("span",{className:"text-sm font-mono font-semibold text-[#111827] dark:text-[#E5E5E5]",children:a("mcp.completion.title")}),P.status!=="connected"?e.jsx("span",{className:"text-[12px] font-mono text-[#9CA3AF] dark:text-[#71717a]",children:a("mcp.completion.connectPrompt")}):P.completionSupported?Be.length===0?e.jsx("span",{className:"text-[12px] font-mono text-[#9CA3AF] dark:text-[#71717a]",children:a("mcp.completion.noTargets")}):e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx("div",{"aria-label":a("mcp.completion.targetAria"),className:"flex max-h-20 flex-wrap gap-1 overflow-y-auto",children:Be.map(d=>e.jsx("button",{type:"button","aria-pressed":(ve==null?void 0:ve.key)===d.key,onClick:()=>{y(d.key),F(null),Q(null)},className:D("max-w-full truncate rounded px-2 py-1 text-[10px] font-mono",(ve==null?void 0:ve.key)===d.key?"bg-[#111827] text-white dark:bg-[#E5E5E5] dark:text-[#111827]":"bg-[#F3F4F6] text-[#6B7280] dark:bg-[#18181b] dark:text-[#a1a1aa]"),children:d.label},d.key))}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{type:"text","aria-label":a("mcp.completion.partialAria"),value:S,onChange:d=>U(d.target.value),placeholder:a("mcp.completion.partialPlaceholder"),className:"h-8 min-w-0 flex-1 rounded-md border border-transparent bg-[#F3F4F6] px-3 text-[11px] font-mono text-[#111827] outline-none placeholder:text-[#9CA3AF] focus:border-[#D1D5DB] dark:bg-[#18181b] dark:text-[#E5E5E5] dark:placeholder:text-[#71717a] dark:focus:border-[#3f3f46]"}),e.jsx("button",{type:"button",onClick:()=>void Ne(P),disabled:R,className:"h-8 shrink-0 rounded-md bg-[#2563eb] px-3 text-[11px] font-mono font-semibold text-white disabled:opacity-50 dark:bg-[#3b82f6]",children:a(R?"mcp.completion.completing":"mcp.completion.complete")})]}),O&&e.jsx("span",{role:"alert",className:"text-[11px] font-mono text-red-600 dark:text-red-400",children:O}),A&&e.jsxs("div",{"aria-label":a("mcp.completion.suggestionsAria"),className:"rounded-md bg-[#F3F4F6] p-2 dark:bg-[#18181b]",children:[e.jsx("div",{className:"flex flex-wrap gap-1",children:A.values.length>0?A.values.map(d=>e.jsx("span",{className:"rounded bg-white px-2 py-1 text-[10px] font-mono text-[#111827] dark:bg-[#0C0C0C] dark:text-[#E5E5E5]",children:d||a("mcp.completion.empty")},d)):e.jsx("span",{className:"text-[10px] font-mono text-[#9CA3AF]",children:a("mcp.completion.noSuggestions")})}),e.jsxs("span",{className:"mt-1 block truncate text-[9px] font-mono text-[#9CA3AF] dark:text-[#71717a]",children:["sha256 ",A.sha256,A.truncated?a("mcp.meta.truncatedSuffix"):""]})]})]}):e.jsx("span",{className:"text-[12px] font-mono text-[#9CA3AF] dark:text-[#71717a]",children:a("mcp.completion.unsupported")}),e.jsxs("div",{className:"mt-1 flex items-center justify-between gap-2",children:[e.jsx("span",{className:"text-sm font-mono font-semibold text-[#111827] dark:text-[#E5E5E5]",children:a("mcp.diagnostics.title")}),e.jsx("button",{type:"button","aria-label":a("mcp.diagnostics.refreshAria",{name:P.name}),onClick:()=>void Ce(P.name),disabled:we,className:"flex h-7 w-7 items-center justify-center rounded-md text-[#9CA3AF] transition-colors hover:bg-[#E5E7EB] hover:text-[#111827] disabled:opacity-50 dark:text-[#71717a] dark:hover:bg-[#27272a] dark:hover:text-[#E5E5E5]",children:e.jsx(Me,{className:D("h-3.5 w-3.5",we&&"animate-spin")})})]}),e.jsx("div",{"aria-label":a("mcp.log.levelAria"),className:"flex flex-wrap gap-1",children:en.map(d=>{var W,H;return e.jsx("button",{type:"button",onClick:()=>void ue(P,d),disabled:P.status!=="connected"||w!==null,"aria-pressed":(((W=P.logging)==null?void 0:W.level)??"warning")===d,className:D("rounded px-2 py-1 text-[10px] font-mono transition-colors disabled:opacity-40",(((H=P.logging)==null?void 0:H.level)??"warning")===d?"bg-[#111827] text-white dark:bg-[#E5E5E5] dark:text-[#111827]":"bg-[#F3F4F6] text-[#6B7280] hover:text-[#111827] dark:bg-[#18181b] dark:text-[#a1a1aa] dark:hover:text-[#E5E5E5]"),children:w===d?a("mcp.log.setting"):d},d)})}),ce?e.jsx("div",{role:"alert",className:"rounded-md bg-red-50 px-3 py-2 text-[11px] font-mono text-red-700 dark:bg-red-950/30 dark:text-red-300",children:ce.message}):he!=null&&he.entries.length?e.jsx("div",{"aria-label":a("mcp.diagnostics.logsAria",{name:P.name}),className:"flex max-h-52 flex-col gap-1.5 overflow-y-auto rounded-md bg-[#F3F4F6] p-2 dark:bg-[#18181b]",children:he.entries.map(d=>e.jsxs("div",{className:"rounded bg-white px-2.5 py-2 dark:bg-[#0C0C0C]",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsx("span",{className:D("text-[10px] font-mono font-semibold uppercase",["error","critical","alert","emergency"].includes(d.level)?"text-red-600 dark:text-red-400":d.level==="warning"?"text-amber-600 dark:text-amber-400":"text-[#2563eb] dark:text-[#60a5fa]"),children:d.level}),e.jsxs("span",{className:"truncate text-[10px] font-mono text-[#9CA3AF] dark:text-[#71717a]",children:[d.logger||P.name," · r",d.revision]})]}),e.jsx("pre",{className:"mt-1 whitespace-pre-wrap break-words text-[11px] font-mono text-[#374151] dark:text-[#d4d4d8]",children:d.message}),e.jsxs("span",{className:"mt-1 block truncate text-[9px] font-mono text-[#9CA3AF] dark:text-[#71717a]",children:["sha256 ",d.dataSha256,d.truncated?a("mcp.meta.truncatedSuffix"):"",d.detailsOmitted?a("mcp.meta.detailsOmittedSuffix"):""]})]},d.revision))}):e.jsx("span",{className:"text-[11px] font-mono text-[#9CA3AF] dark:text-[#71717a]",children:a(we?"mcp.log.loading":"mcp.log.none")})]}):e.jsx("div",{className:"flex flex-1 justify-center items-center",children:e.jsx("span",{className:"text-[#9CA3AF] dark:text-[#71717a] text-sm font-mono",children:a("mcp.server.selectPrompt")})})]}):e.jsxs("div",{className:"flex flex-col flex-1 gap-4 min-h-0",children:[e.jsx("div",{className:"flex gap-3 items-center shrink-0",children:e.jsxs("div",{className:"flex-1 h-8 rounded-md bg-[#F3F4F6] dark:bg-[#18181b] flex items-center px-3 gap-2",children:[e.jsx(ia,{className:"h-3.5 w-3.5 text-[#9CA3AF] dark:text-[#71717a]"}),e.jsx("input",{type:"text","aria-label":a("mcp.catalog.searchAria"),value:ee,onChange:d=>{J(d.target.value),v(d.target.value)},placeholder:a("mcp.catalog.searchPlaceholder"),className:"flex-1 bg-transparent text-[12px] font-mono text-[#111827] dark:text-[#E5E5E5] placeholder:text-[#9CA3AF] dark:placeholder:text-[#71717a] focus:outline-none"})]})}),e.jsxs("div",{ref:C,className:"overflow-y-auto flex-1 min-h-0",children:[ae?e.jsxs("div",{role:"alert",className:"flex flex-col gap-3 items-center py-12 font-mono text-center",children:[e.jsx(Ue,{className:"w-6 h-6 text-red-500"}),e.jsx("span",{className:"text-xs text-red-600 dark:text-red-400",children:ae.message}),e.jsx("button",{type:"button",onClick:oe,className:"rounded-md border border-[#E5E7EB] px-3 py-1.5 text-[11px] text-[#6B7280] dark:border-[#27272a] dark:text-[#a1a1aa]",children:a("mcp.catalog.retry")})]}):re&&!de?e.jsx("div",{className:"flex justify-center items-center py-12",children:e.jsx(ne,{className:"h-6 w-6 text-[#9CA3AF] dark:text-[#71717a] animate-spin"})}):e.jsxs("div",{className:"grid grid-cols-1 gap-3 pb-4 sm:grid-cols-2",children:[de==null?void 0:de.list.map(d=>{var xe,Ge;const W=ke.has(Xt(d.name).toLowerCase()),H=K===d.name,ye=z(d);return e.jsxs("div",{className:"rounded-lg bg-white dark:bg-[#0C0C0C] p-4 flex flex-col gap-2",children:[e.jsxs("div",{className:"flex gap-2 justify-between items-center",children:[e.jsx("span",{className:"text-[13px] font-mono font-semibold text-[#111827] dark:text-[#E5E5E5] truncate",children:d.name}),e.jsx("span",{className:D("text-[10px] font-mono px-2 py-0.5 rounded shrink-0",ye==="Official"?"bg-[#16A34A]/20 dark:bg-[#22C55E]/20 text-[#16A34A] dark:text-[#22C55E]":"bg-[#3b82f6]/20 text-[#3b82f6]"),children:a(Zs[ye])})]}),e.jsx("p",{className:"text-[11px] font-mono text-[#6B7280] dark:text-[#94a3b8] line-clamp-2",children:d.description||a("mcp.catalog.noDescription")}),e.jsxs("div",{className:"flex items-center gap-2 text-[10px] font-mono text-[#9CA3AF] dark:text-[#71717a]",children:[e.jsxs("span",{children:["v",d.version]}),((xe=d.publisher)==null?void 0:xe.username)&&e.jsxs(e.Fragment,{children:[e.jsx("span",{children:"•"}),e.jsx("span",{children:a("mcp.catalog.byAuthor",{author:d.publisher.username})})]})]}),e.jsxs("div",{className:"flex justify-between items-center pt-2 mt-auto",children:[e.jsxs("a",{href:((Ge=d.links)==null?void 0:Ge.npm)||`https://www.npmjs.com/package/${d.name}`,target:"_blank",rel:"noopener noreferrer",className:"text-[10px] font-mono text-[#9CA3AF] dark:text-[#71717a] hover:text-[#111827] dark:hover:text-[#E5E5E5] flex items-center gap-1",children:[e.jsx(jt,{className:"w-3 h-3"}),"npm"]}),W?e.jsxs("span",{className:"text-[11px] font-mono text-[#16A34A] dark:text-[#22C55E] flex items-center gap-1",children:[e.jsx(ht,{className:"w-3 h-3"}),a("mcp.catalog.installed")]}):e.jsxs("button",{onClick:()=>o(d),disabled:H,className:"h-6 px-2 rounded-md bg-[#E5E7EB] text-[#111827] dark:bg-[#27272a] dark:text-[#E5E5E5] text-[10px] font-mono font-semibold flex items-center gap-1 hover:bg-[#D1D5DB] dark:hover:bg-[#32323a] disabled:opacity-50",children:[e.jsx(xt,{className:D("h-3 w-3",H&&"animate-pulse")}),a(H?"mcp.catalog.installing":"mcp.catalog.install")]})]})]},d.name)}),(de==null?void 0:de.list.length)===0&&e.jsx("div",{className:"col-span-full py-12 text-center text-xs font-mono text-[#9CA3AF] dark:text-[#71717a]",children:a("mcp.catalog.noPackages")})]}),f&&e.jsx("div",{className:"flex justify-center items-center py-4",children:e.jsx(ne,{className:"h-5 w-5 text-[#9CA3AF] dark:text-[#71717a] animate-spin"})}),_&&de&&de.list.length>0&&e.jsx("div",{className:"text-center py-4 text-[11px] font-mono text-[#9CA3AF] dark:text-[#71717a]",children:a("mcp.catalog.noMore")})]}),e.jsxs("div",{className:"flex items-center justify-between pt-2 border-t border-[#E5E7EB] dark:border-[#1f2937] shrink-0",children:[e.jsx("span",{className:"text-[11px] font-mono text-[#9CA3AF] dark:text-[#71717a]",children:a("mcp.catalog.packagesFound",{count:(de==null?void 0:de.total)??0})}),e.jsxs("a",{href:"https://glama.ai/mcp/servers",target:"_blank",rel:"noopener noreferrer",className:"text-[11px] font-mono text-[#3b82f6] hover:underline flex items-center gap-1",children:[a("mcp.catalog.browseGlama"),e.jsx(jt,{className:"w-3 h-3"})]})]})]})]})}),e.jsx(on,{open:r,onOpenChange:x,onAdd:me,saving:fe,error:(be==null?void 0:be.message)??null}),te&&e.jsx(dn,{pkg:te,onClose:()=>L(null),installing:fe,error:(be==null?void 0:be.message)??null,onInstall:d=>(G(te.name),me(d))})]})}function Tt({active:t,children:a,onClick:s}){return e.jsx("button",{onClick:s,className:D("px-3 py-1 rounded text-[12px] font-mono font-semibold transition-colors",t?"bg-[#E5E7EB] text-[#111827] dark:bg-[#27272a] dark:text-[#E5E5E5]":"text-[#6B7280] dark:text-[#a1a1aa]"),children:a})}function on({open:t,onOpenChange:a,onAdd:s,saving:l,error:r}){const x=ge(),[h,g]=n.useState("form"),[u,i]=n.useState(""),[N,c]=n.useState(""),[b,j]=n.useState(""),[p,E]=n.useState(null),[w,B]=n.useState(`{
1
+ import{r as n,e as Qe,g as It,j as e}from"./vendor-react-DG5dkZ_t.js";import{u as ge,j as D,x as q,D as $e,e as Ie,y as Je,g as Ke,z as Zt,A as ea,E as ta,S as aa,a as Le,v as Kt,F as Pe,l as sa,b as na,n as ra,K as la,G as oa}from"./index-DHX-G3RT.js";import{_ as ie,n as se,o as je,p as ct,q as ut,r as _t}from"./vendor-radix-DXRuAJHH.js";import{a as Me,i as We,f as Ue,L as ne,l as ia,$ as jt,C as ht,D as xt,X as He,z as Ut,ac as da,a4 as ca,P as mt,T as ze,ag as ua,ah as xa,v as gt,_ as zt,Q as ma,ai as pa,aj as fa,ak as ha}from"./vendor-icons-DovdPN7M.js";import{t as rt}from"./team-QZ9byb3E.js";import"./session-events-Bgir_Gl_.js";var ga=function(t){return function(a,s){var l=n.useRef(!1);t(function(){return function(){l.current=!1}},[]),t(function(){if(!l.current)l.current=!0;else return a()},s)}},Ht=function(t){return typeof t=="function"},Ee=function(t){var a=n.useRef(t);a.current=n.useMemo(function(){return t},[t]);var s=n.useRef(void 0);return s.current||(s.current=function(){for(var l=[],r=0;r<arguments.length;r++)l[r]=arguments[r];return a.current.apply(this,l)}),s.current};const at=ga(n.useEffect);var Gt=function(t,a){var s=a.manual,l=a.ready,r=l===void 0?!0:l,x=a.defaultParams,h=x===void 0?[]:x,g=a.refreshDeps,u=g===void 0?[]:g,i=a.refreshDepsAction,N=n.useRef(!1);return N.current=!1,at(function(){!s&&r&&(N.current=!0,t.run.apply(t,ie([],se(h),!1)))},[r]),at(function(){N.current||s||(N.current=!0,i?i():t.refresh())},ie([],se(u),!1)),{onBefore:function(){if(!r)return{stopNow:!0}}}};Gt.onInit=function(t){var a=t.ready,s=a===void 0?!0:a,l=t.manual;return{loading:!l&&s}};function pt(t,a){if(t===a)return!0;for(var s=0;s<t.length;s++)if(!Object.is(t[s],a[s]))return!1;return!0}var qt=function(t,a){var s=n.useRef({deps:a,obj:void 0,initialized:!1}).current;return(s.initialized===!1||!pt(s.deps,a))&&(s.deps=a,s.obj=t(),s.initialized=!0),s.obj};function nt(t){var a=n.useRef(t);return a.current=t,a}var Ye=function(t){var a=nt(t);n.useEffect(function(){return function(){a.current()}},[])},Xe=new Map,ba=function(t,a,s){var l=Xe.get(t);l!=null&&l.timer&&clearTimeout(l.timer);var r=void 0;a>-1&&(r=setTimeout(function(){Xe.delete(t)},a)),Xe.set(t,je(je({},s),{timer:r}))},va=function(t){return Xe.get(t)},Ze=new Map,ja=function(t){return Ze.get(t)},ka=function(t,a){Ze.set(t,a),a.then(function(s){return Ze.delete(t),s}).catch(function(){Ze.delete(t)})},De={},ya=function(t,a){De[t]&&De[t].forEach(function(s){return s(a)})},lt=function(t,a){return De[t]||(De[t]=[]),De[t].push(a),function(){var l=De[t].indexOf(a);De[t].splice(l,1)}},Na=function(t,a){var s=a.cacheKey,l=a.cacheTime,r=l===void 0?5*60*1e3:l,x=a.staleTime,h=x===void 0?0:x,g=a.setCache,u=a.getCache,i=n.useRef(void 0),N=n.useRef(void 0),c=function(j,p){g?g(p):ba(j,r,p),ya(j,p.data)},b=function(j,p){return p===void 0&&(p=[]),u?u(p):va(j)};return qt(function(){if(s){var j=b(s);j&&Object.hasOwnProperty.call(j,"data")&&(t.state.data=j.data,t.state.params=j.params,(h===-1||Date.now()-j.time<=h)&&(t.state.loading=!1)),i.current=lt(s,function(p){t.setState({data:p})})}},[]),Ye(function(){var j;(j=i.current)===null||j===void 0||j.call(i)}),s?{onBefore:function(j){var p=b(s,j);return!p||!Object.hasOwnProperty.call(p,"data")?{}:h===-1||Date.now()-p.time<=h?{loading:!1,data:p==null?void 0:p.data,error:void 0,returnNow:!0}:{data:p==null?void 0:p.data,error:void 0}},onRequest:function(j,p){var E=ja(s);return E&&E!==N.current?{servicePromise:E}:(E=j.apply(void 0,ie([],se(p),!1)),N.current=E,ka(s,E),{servicePromise:E})},onSuccess:function(j,p){var E;s&&((E=i.current)===null||E===void 0||E.call(i),c(s,{data:j,params:p,time:Date.now()}),i.current=lt(s,function(w){t.setState({data:w})}))},onMutate:function(j){var p;s&&((p=i.current)===null||p===void 0||p.call(i),c(s,{data:j,params:t.state.params,time:Date.now()}),i.current=lt(s,function(E){t.setState({data:E})}))}}:{}};function Ea(t){var a=typeof t;return t!=null&&(a=="object"||a=="function")}var bt=Ea,wa=typeof Qe=="object"&&Qe&&Qe.Object===Object&&Qe,Ca=wa,Sa=Ca,Aa=typeof self=="object"&&self&&self.Object===Object&&self,Fa=Sa||Aa||Function("return this")(),Wt=Fa,Pa=Wt,Ba=function(){return Pa.Date.now()},Ta=Ba,Ma=/\s/;function Ra(t){for(var a=t.length;a--&&Ma.test(t.charAt(a)););return a}var Oa=Ra,Da=Oa,La=/^\s+/;function $a(t){return t&&t.slice(0,Da(t)+1).replace(La,"")}var Ia=$a,Ka=Wt,_a=Ka.Symbol,Jt=_a,kt=Jt,Yt=Object.prototype,Ua=Yt.hasOwnProperty,za=Yt.toString,qe=kt?kt.toStringTag:void 0;function Ha(t){var a=Ua.call(t,qe),s=t[qe];try{t[qe]=void 0;var l=!0}catch{}var r=za.call(t);return l&&(a?t[qe]=s:delete t[qe]),r}var Ga=Ha,qa=Object.prototype,Wa=qa.toString;function Ja(t){return Wa.call(t)}var Ya=Ja,yt=Jt,Va=Ga,Qa=Ya,Xa="[object Null]",Za="[object Undefined]",Nt=yt?yt.toStringTag:void 0;function es(t){return t==null?t===void 0?Za:Xa:Nt&&Nt in Object(t)?Va(t):Qa(t)}var ts=es;function as(t){return t!=null&&typeof t=="object"}var ss=as,ns=ts,rs=ss,ls="[object Symbol]";function os(t){return typeof t=="symbol"||rs(t)&&ns(t)==ls}var is=os,ds=Ia,Et=bt,cs=is,wt=NaN,us=/^[-+]0x[0-9a-f]+$/i,xs=/^0b[01]+$/i,ms=/^0o[0-7]+$/i,ps=parseInt;function fs(t){if(typeof t=="number")return t;if(cs(t))return wt;if(Et(t)){var a=typeof t.valueOf=="function"?t.valueOf():t;t=Et(a)?a+"":a}if(typeof t!="string")return t===0?t:+t;t=ds(t);var s=xs.test(t);return s||ms.test(t)?ps(t.slice(2),s?2:8):us.test(t)?wt:+t}var hs=fs,gs=bt,ot=Ta,Ct=hs,bs="Expected a function",vs=Math.max,js=Math.min;function ks(t,a,s){var l,r,x,h,g,u,i=0,N=!1,c=!1,b=!0;if(typeof t!="function")throw new TypeError(bs);a=Ct(a)||0,gs(s)&&(N=!!s.leading,c="maxWait"in s,x=c?vs(Ct(s.maxWait)||0,a):x,b="trailing"in s?!!s.trailing:b);function j(A){var F=l,R=r;return l=r=void 0,i=A,h=t.apply(R,F),h}function p(A){return i=A,g=setTimeout(B,a),N?j(A):h}function E(A){var F=A-u,R=A-i,k=a-F;return c?js(k,x-R):k}function w(A){var F=A-u,R=A-i;return u===void 0||F>=a||F<0||c&&R>=x}function B(){var A=ot();if(w(A))return I(A);g=setTimeout(B,E(A))}function I(A){return g=void 0,b&&l?j(A):(l=r=void 0,h)}function y(){g!==void 0&&clearTimeout(g),i=0,l=u=r=g=void 0}function S(){return g===void 0?h:I(ot())}function U(){var A=ot(),F=w(A);if(l=arguments,r=this,u=A,F){if(g===void 0)return p(u);if(c)return clearTimeout(g),g=setTimeout(B,a),j(u)}return g===void 0&&(g=setTimeout(B,a)),h}return U.cancel=y,U.flush=S,U}var Vt=ks;const Qt=It(Vt);var ys=function(t,a){var s=a.debounceWait,l=a.debounceLeading,r=a.debounceTrailing,x=a.debounceMaxWait,h=n.useRef(void 0),g=n.useMemo(function(){var u={};return l!==void 0&&(u.leading=l),r!==void 0&&(u.trailing=r),x!==void 0&&(u.maxWait=x),u},[l,r,x]);return n.useEffect(function(){if(s){var u=t.runAsync.bind(t);return h.current=Qt(function(i){i()},s,g),t.runAsync=function(){for(var i=[],N=0;N<arguments.length;N++)i[N]=arguments[N];return new Promise(function(c,b){var j;(j=h.current)===null||j===void 0||j.call(h,function(){u.apply(void 0,ie([],se(i),!1)).then(c).catch(b)})})},function(){var i;(i=h.current)===null||i===void 0||i.cancel(),t.runAsync=u}}},[s,g]),s?{onCancel:function(){var u;(u=h.current)===null||u===void 0||u.cancel()}}:{}},Ns=function(t,a){var s=a.loadingDelay,l=a.ready,r=n.useRef(void 0);if(!s)return{};var x=function(){r.current&&clearTimeout(r.current)};return{onBefore:function(){return x(),l!==!1&&(r.current=setTimeout(function(){t.setState({loading:!0})},s)),{loading:!1}},onFinally:function(){x()},onCancel:function(){x()}}},Ve=!!(typeof window<"u"&&window.document&&window.document.createElement);function vt(){return Ve?document.visibilityState!=="hidden":!0}var et=new Set;function Es(t){return et.add(t),function(){et.has(t)&&et.delete(t)}}if(Ve){var ws=function(){vt()&&et.forEach(function(t){return t()})};window.addEventListener("visibilitychange",ws,!1)}var Cs=function(t,a){var s=a.pollingInterval,l=a.pollingWhenHidden,r=l===void 0?!0:l,x=a.pollingErrorRetryCount,h=x===void 0?-1:x,g=n.useRef(void 0),u=n.useRef(void 0),i=n.useRef(0),N=function(){var c;g.current&&clearTimeout(g.current),(c=u.current)===null||c===void 0||c.call(u)};return at(function(){s||N()},[s]),s?{onBefore:function(){N()},onError:function(){i.current+=1},onSuccess:function(){i.current=0},onFinally:function(){h===-1||h!==-1&&i.current<=h?g.current=setTimeout(function(){!r&&!vt()?u.current=Es(function(){t.refresh()}):t.refresh()},s):i.current=0},onCancel:function(){N()}}:{}};function Ss(t,a){var s=!1;return function(){for(var l=[],r=0;r<arguments.length;r++)l[r]=arguments[r];s||(s=!0,t.apply(void 0,ie([],se(l),!1)),setTimeout(function(){s=!1},a))}}var As=function(){return Ve&&typeof navigator.onLine<"u"?navigator.onLine:!0},tt=new Set;function Fs(t){return tt.add(t),function(){tt.has(t)&&tt.delete(t)}}if(Ve){var St=function(){!vt()||!As()||tt.forEach(function(t){return t()})};window.addEventListener("visibilitychange",St,!1),window.addEventListener("focus",St,!1)}var Ps=function(t,a){var s=a.refreshOnWindowFocus,l=a.focusTimespan,r=l===void 0?5e3:l,x=n.useRef(void 0),h=function(){var g;(g=x.current)===null||g===void 0||g.call(x)};return n.useEffect(function(){if(s){var g=Ss(t.refresh.bind(t),r);x.current=Fs(function(){g()})}return function(){h()}},[s,r]),Ye(function(){h()}),{}},Bs=function(t,a){var s=a.retryInterval,l=a.retryCount,r=n.useRef(void 0),x=n.useRef(0),h=n.useRef(!1);return l?{onBefore:function(){h.current||(x.current=0),h.current=!1,r.current&&clearTimeout(r.current)},onSuccess:function(){x.current=0},onError:function(){if(x.current+=1,l===-1||x.current<=l){var g=s??Math.min(1e3*Math.pow(2,x.current),3e4);r.current=setTimeout(function(){h.current=!0,t.refresh()},g)}else x.current=0},onCancel:function(){x.current=0,r.current&&clearTimeout(r.current)}}:{}},Ts=Vt,Ms=bt,Rs="Expected a function";function Os(t,a,s){var l=!0,r=!0;if(typeof t!="function")throw new TypeError(Rs);return Ms(s)&&(l="leading"in s?!!s.leading:l,r="trailing"in s?!!s.trailing:r),Ts(t,a,{leading:l,maxWait:a,trailing:r})}var Ds=Os;const Ls=It(Ds);var $s=function(t,a){var s=a.throttleWait,l=a.throttleLeading,r=a.throttleTrailing,x=n.useRef(void 0),h={};return l!==void 0&&(h.leading=l),r!==void 0&&(h.trailing=r),n.useEffect(function(){if(s){var g=t.runAsync.bind(t);return x.current=Ls(function(u){u()},s,h),t.runAsync=function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];return new Promise(function(N,c){var b;(b=x.current)===null||b===void 0||b.call(x,function(){g.apply(void 0,ie([],se(u),!1)).then(N).catch(c)})})},function(){var u;t.runAsync=g,(u=x.current)===null||u===void 0||u.cancel()}}},[s,l,r]),s?{onCancel:function(){var g;(g=x.current)===null||g===void 0||g.cancel()}}:{}},Is=function(t){n.useEffect(function(){var a=t==null?void 0:t();if(!(a&&typeof a=="object"&&typeof a.then=="function"))return a},[])},Ks=function(){var t=se(n.useState({}),2),a=t[1];return Ee(function(){return a({})})},_s=function(){function t(a,s,l,r){r===void 0&&(r={}),this.serviceRef=a,this.options=s,this.subscribe=l,this.initState=r,this.pluginImpls=[],this.count=0,this.state={loading:!1,params:void 0,data:void 0,error:void 0},this.state=je(je(je({},this.state),{loading:!s.manual}),r)}return t.prototype.setState=function(a){a===void 0&&(a={}),this.state=je(je({},this.state),a),this.subscribe()},t.prototype.runPluginHandler=function(a){for(var s=[],l=1;l<arguments.length;l++)s[l-1]=arguments[l];var r=this.pluginImpls.map(function(x){var h;return(h=x[a])===null||h===void 0?void 0:h.call.apply(h,ie([x],se(s),!1))}).filter(Boolean);return Object.assign.apply(Object,ie([{}],se(r),!1))},t.prototype.runAsync=function(){for(var a=[],s=0;s<arguments.length;s++)a[s]=arguments[s];return ct(this,void 0,void 0,function(){var l,r,x,h,g,u,i,N,c,b,j,p,E,w,B,I,y,S,U,A,F;return ut(this,function(R){switch(R.label){case 0:if(this.count+=1,l=this.count,r=this.runPluginHandler("onBefore",a),x=r.stopNow,h=x===void 0?!1:x,g=r.returnNow,u=g===void 0?!1:g,i=_t(r,["stopNow","returnNow"]),h)return[2,Promise.resolve(i.data)];if(this.setState(je({loading:!0,params:a},i)),u)return[2,Promise.resolve(i.data)];(E=(p=this.options).onBefore)===null||E===void 0||E.call(p,a),R.label=1;case 1:return R.trys.push([1,3,,4]),N=this.runPluginHandler("onRequest",this.serviceRef.current,a).servicePromise,N||(N=(j=this.serviceRef).current.apply(j,ie([],se(a),!1))),[4,N];case 2:return c=R.sent(),l!==this.count?[2,new Promise(function(){})]:(this.setState({data:c,error:void 0,loading:!1}),(B=(w=this.options).onSuccess)===null||B===void 0||B.call(w,c,a),this.runPluginHandler("onSuccess",c,a),(y=(I=this.options).onFinally)===null||y===void 0||y.call(I,a,c,void 0),l===this.count&&this.runPluginHandler("onFinally",a,c,void 0),[2,c]);case 3:if(b=R.sent(),l!==this.count)return[2,new Promise(function(){})];throw this.setState({error:b,loading:!1}),(U=(S=this.options).onError)===null||U===void 0||U.call(S,b,a),this.runPluginHandler("onError",b,a),(F=(A=this.options).onFinally)===null||F===void 0||F.call(A,a,void 0,b),l===this.count&&this.runPluginHandler("onFinally",a,void 0,b),b;case 4:return[2]}})})},t.prototype.run=function(){for(var a=this,s=[],l=0;l<arguments.length;l++)s[l]=arguments[l];this.runAsync.apply(this,ie([],se(s),!1)).catch(function(r){a.options.onError||console.error(r)})},t.prototype.cancel=function(){this.count+=1,this.setState({loading:!1}),this.runPluginHandler("onCancel")},t.prototype.refresh=function(){this.run.apply(this,ie([],se(this.state.params||[]),!1))},t.prototype.refreshAsync=function(){return this.runAsync.apply(this,ie([],se(this.state.params||[]),!1))},t.prototype.mutate=function(a){var s=Ht(a)?a(this.state.data):a;this.runPluginHandler("onMutate",s),this.setState({data:s})},t}();function Us(t,a,s){a===void 0&&(a={}),s===void 0&&(s=[]);var l=a.manual,r=l===void 0?!1:l,x=a.ready,h=x===void 0?!0:x,g=_t(a,["manual","ready"]),u=je({manual:r,ready:h},g),i=nt(t),N=Ks(),c=qt(function(){var b=s.map(function(j){var p;return(p=j==null?void 0:j.onInit)===null||p===void 0?void 0:p.call(j,u)}).filter(Boolean);return new _s(i,u,N,Object.assign.apply(Object,ie([{}],se(b),!1)))},[]);return c.options=u,c.pluginImpls=s.map(function(b){return b(c,u)}),Is(function(){if(!r&&h){var b=c.state.params||a.defaultParams||[];c.run.apply(c,ie([],se(b),!1))}}),Ye(function(){c.cancel()}),{loading:c.state.loading,data:c.state.data,error:c.state.error,params:c.state.params||[],cancel:Ee(c.cancel.bind(c)),refresh:Ee(c.refresh.bind(c)),refreshAsync:Ee(c.refreshAsync.bind(c)),run:Ee(c.run.bind(c)),runAsync:Ee(c.runAsync.bind(c)),mutate:Ee(c.mutate.bind(c))}}function _e(t,a,s){return Us(t,a,ie(ie([],se([]),!1),[ys,Ns,Cs,Ps,$s,Gt,Na,Bs],!1))}function st(t,a){if(Ve){if(!t)return a;var s;return Ht(t)?s=t():"current"in t?s=t.current:s=t,s}}var zs=function(t){var a=function(s,l,r){var x=n.useRef(!1),h=n.useRef([]),g=n.useRef([]),u=n.useRef(void 0);t(function(){var i,N=Array.isArray(r)?r:[r],c=N.map(function(b){return st(b)});if(!x.current){x.current=!0,h.current=c,g.current=l,u.current=s();return}(c.length!==h.current.length||!pt(h.current,c)||!pt(g.current,l))&&((i=u.current)===null||i===void 0||i.call(u),h.current=c,g.current=l,u.current=s())}),Ye(function(){var i;(i=u.current)===null||i===void 0||i.call(u),x.current=!1})};return a},Hs=zs(n.useEffect);function Gs(){var t=(typeof global>"u"?"undefined":typeof global)=="object"&&global&&global.Object===Object&&global,a=typeof self=="object"&&self&&self.Object===Object&&self;return t||a}Gs()||(global.Date=Date);function qs(t,a){var s,l=nt(t),r=(s=a==null?void 0:a.wait)!==null&&s!==void 0?s:1e3,x=n.useMemo(function(){return Qt(function(){for(var h=[],g=0;g<arguments.length;g++)h[g]=arguments[g];return l.current.apply(l,ie([],se(h),!1))},r,a)},[]);return Ye(function(){x.cancel()}),{run:x,cancel:x.cancel,flush:x.flush}}function Ws(t,a,s){s===void 0&&(s={});var l=s.enable,r=l===void 0?!0:l,x=nt(a);Hs(function(){if(r){var h=st(s.target,window);if(h!=null&&h.addEventListener){var g=function(i){return x.current(i)},u=Array.isArray(t)?t:[t];return u.forEach(function(i){h.addEventListener(i,g,{capture:s.capture,once:s.once,passive:s.passive})}),function(){u.forEach(function(i){h.removeEventListener(i,g,{capture:s.capture})})}}}},[t,s.capture,s.once,s.passive,r],s.target)}var Js=function(t){return t===document||t===document.documentElement||t===document.body?Math.max(window.pageYOffset,document.documentElement.scrollTop,document.body.scrollTop):t.scrollTop},At=function(t){return t.scrollHeight||Math.max(document.documentElement.scrollHeight,document.body.scrollHeight)},Ys=function(t){return t.clientHeight||Math.max(document.documentElement.clientHeight,document.body.clientHeight)},Vs=function(t,a){a===void 0&&(a={});var s=a.target,l=a.isNoMore,r=a.threshold,x=r===void 0?100:r,h=a.direction,g=h===void 0?"bottom":h,u=a.reloadDeps,i=u===void 0?[]:u,N=a.manual,c=a.onBefore,b=a.onSuccess,j=a.onError,p=a.onFinally,E=se(n.useState(),2),w=E[0],B=E[1],I=se(n.useState(!1),2),y=I[0],S=I[1],U=g==="top",A=n.useRef(void 0),F=n.useRef(0),R=n.useMemo(function(){return l?l(w):!1},[w]),k=_e(function(L){return ct(void 0,void 0,void 0,function(){var C;return ut(this,function(v){switch(v.label){case 0:return[4,t(L)];case 1:return C=v.sent(),[2,{currentData:C,lastData:L}]}})})},{manual:N,onFinally:function(L,C,v){S(!1),p==null||p(C==null?void 0:C.currentData,v)},onBefore:function(){return c==null?void 0:c()},onSuccess:function(L){var C,v,M;L.lastData?B(je(je({},L.currentData),{list:U?ie(ie([],se(L.currentData.list),!1),se((v=L.lastData.list)!==null&&v!==void 0?v:[]),!1):ie(ie([],se((M=L.lastData.list)!==null&&M!==void 0?M:[]),!1),se(L.currentData.list),!1)})):B(je(je({},L.currentData),{list:ie([],se((C=L.currentData.list)!==null&&C!==void 0?C:[]),!1)})),setTimeout(function(){requestAnimationFrame(function(){if(U){var V=st(s);if(V=V===document?document.documentElement:V,V){var pe=At(V);V.scrollTo(0,pe-F.current)}}else te()})}),b==null||b(L.currentData)},onError:function(L){return j==null?void 0:j(L)}}),O=k.loading,Q=k.error,Y=k.run,Z=k.runAsync,ee=k.cancel,J=Ee(function(){R||(S(!0),Y(w))}),X=function(L){return ct(void 0,void 0,void 0,function(){var C;return ut(this,function(v){switch(v.label){case 0:return[4,Z(L)];case 1:return C=v.sent(),[2,C.currentData]}})})},T=Ee(function(){return R?Promise.reject():(S(!0),X(w))}),K=function(){return S(!1),Y()},G=function(){return S(!1),X()},te=function(){var L=st(s);if(L){var C=L===document?document.documentElement:L,v=Js(C),M=At(C),V=Ys(C);U?(A.current!==void 0&&A.current>v&&v<=x&&J(),A.current=v,F.current=M-v):M-v<=V+x&&J()}};return Ws("scroll",function(){O||y||te()},{target:s}),at(function(){Y()},ie([],se(i),!1)),{data:w,loading:!y&&O,error:Q,loadingMore:y,noMore:R,loadMore:J,loadMoreAsync:T,reload:Ee(K),reloadAsync:Ee(G),mutate:B,cancel:ee}};const Ft={connected:"text-[#16A34A] dark:text-[#22C55E]",connecting:"text-[#2563eb] dark:text-[#3b82f6]",reconnecting:"text-[#2563eb] dark:text-[#60a5fa]",offline:"text-[#f59e0b]",error:"text-[#ef4444]"},Qs={connected:"mcp.status.connected",connecting:"mcp.status.connecting",reconnecting:"mcp.status.reconnecting",offline:"mcp.status.offline",error:"mcp.status.error"},Xs={disabled:"mcp.oauth.status.disabled",unavailable:"mcp.oauth.status.unavailable",unauthenticated:"mcp.oauth.status.unauthenticated",authorizing:"mcp.oauth.status.authorizing",authenticated:"mcp.oauth.status.authenticated",error:"mcp.oauth.status.error"},Zs={Official:"mcp.catalog.tag.official",Popular:"mcp.catalog.tag.popular",Community:"mcp.catalog.tag.community"},Pt=20,en=["debug","info","notice","warning","error","critical","alert","emergency"],Bt=(t,a)=>t.status!=="reconnecting"||!t.recovery?a(Qs[t.status]):a("mcp.status.recoveringAttempt",{attempt:t.recovery.attempt,max:t.recovery.maxAttempts}),tn=async()=>q("/mcp"),an=async t=>q(`/mcp/${encodeURIComponent(t)}/logs?limit=20`),sn="mcp server @modelcontextprotocol",nn=3,Xt=t=>{var a;return((a=t.split("/").pop())==null?void 0:a.replace(/^server-/,""))||t},rn=async(t,a)=>{const s=t&&t.length>=nn?t:sn,l=`https://registry.npmjs.org/-/v1/search?text=${encodeURIComponent(s)}&size=${Pt}&from=${a}`,r=await q(l);return{list:r.objects.map(x=>x.package),total:r.total,hasMore:a+Pt<r.total}};function ln({active:t}){const a=ge(),[s,l]=n.useState("installed"),[r,x]=n.useState(!1),[h,g]=n.useState(null),[u,i]=n.useState(""),[N,c]=n.useState(null),[b,j]=n.useState(null),[p,E]=n.useState(null),[w,B]=n.useState(null),[I,y]=n.useState(null),[S,U]=n.useState(""),[A,F]=n.useState(null),[R,k]=n.useState(!1),[O,Q]=n.useState(null),[Y,Z]=n.useState(null),[ee,J]=n.useState(""),[X,T]=n.useState(""),[K,G]=n.useState(null),[te,L]=n.useState(null),C=n.useRef(null),{run:v}=qs(d=>{T(d)},{wait:500}),{data:M=[],loading:V,error:pe,run:Ae,runAsync:le}=_e(tn,{refreshDeps:[t],ready:t,onSuccess:d=>{d.length>0&&!h&&g(d[0].id)}}),{data:he,loading:we,error:ce,runAsync:Ce}=_e(an,{manual:!0}),{data:de,loading:re,loadingMore:f,noMore:_,error:ae,reload:oe}=Vs(async d=>{var H;const W=((H=d==null?void 0:d.list)==null?void 0:H.length)??0;return rn(X,W)},{target:C,isNoMore:d=>!(d!=null&&d.hasMore),reloadDeps:[X],manual:!t||s!=="catalog"}),{runAsync:me,loading:fe,error:be}=_e(async d=>{await q("/mcp",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:d.name,config:d})})},{manual:!0,onSuccess:()=>{le(),x(!1),L(null),G(null)},onError:()=>{G(null)}}),Fe=n.useMemo(()=>{const d=u.trim().toLowerCase();return d?M.filter(W=>[W.name,W.endpoint,W.description].some(H=>H.toLowerCase().includes(d))):M},[u,M]),P=n.useMemo(()=>Fe.find(d=>d.id===h)??Fe[0],[Fe,h]),Be=n.useMemo(()=>{if(!P)return[];const d=(P.prompts??[]).flatMap(H=>H.arguments.map(ye=>({key:`prompt:${H.name}:${ye.name}`,label:`${H.name}.${ye.name}`,reference:{type:"prompt",name:H.name},argument:ye.name}))),W=(P.resourceTemplates??[]).flatMap(H=>(H.variables??[]).map(ye=>({key:`resource:${H.uriTemplate}:${ye}`,label:`${H.uriTemplate} · ${ye}`,reference:{type:"resource",uri:H.uriTemplate},argument:ye})));return[...d,...W]},[P]),ve=Be.find(d=>d.key===I)??Be[0];n.useEffect(()=>{if(!t||!M.some(W=>W.oauthStatus==="authorizing"||W.status==="connecting"||W.status==="reconnecting"))return;const d=window.setInterval(()=>{le()},1e3);return()=>window.clearInterval(d)},[t,le,M]),n.useEffect(()=>{b&&M.some(d=>d.name===b.serverName&&(d.oauthStatus==="authenticated"||d.oauthStatus==="disabled"||d.oauthStatus==="unavailable"))&&j(null)},[b,M]),n.useEffect(()=>{!t||s!=="installed"||!P||Ce(P.name).catch(()=>{})},[t,Ce,P,s]);const Re=async(d,W)=>{E({type:d,name:W}),c(null);try{const H=d==="delete"?"":`/${d}`;await q(`/mcp/${encodeURIComponent(W)}${H}`,{method:d==="delete"?"DELETE":"POST"}),await le(),d==="delete"&&(Z(null),g(null))}catch(H){c(H instanceof Error?H.message:a(d==="connect"?"mcp.error.connectFailed":d==="disconnect"?"mcp.error.disconnectFailed":"mcp.error.deleteFailed"))}finally{E(null)}},m=async(d,W)=>{E({type:d,name:W.name}),c(null);try{if(d==="login"){const H=await q(`/mcp/${encodeURIComponent(W.name)}/oauth/login`,{method:"POST"});j({serverName:W.name,url:H.authorizationUrl})}else await q(`/mcp/${encodeURIComponent(W.name)}/oauth/logout`,{method:"POST"}),j(null);await le()}catch(H){c(H instanceof Error?H.message:a(d==="login"?"mcp.error.loginFailed":"mcp.error.logoutFailed"))}finally{E(null)}},ue=async(d,W)=>{B(W),c(null);try{await q(`/mcp/${encodeURIComponent(d.name)}/logging-level`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({level:W})}),await le(),Ce(d.name).catch(()=>{})}catch(H){c(H instanceof Error?H.message:a("mcp.error.loggingLevelFailed"))}finally{B(null)}},Ne=async d=>{if(ve){k(!0),Q(null),F(null);try{const W=await q(`/mcp/${encodeURIComponent(d.name)}/complete`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({reference:ve.reference,argument:{name:ve.argument,value:S}})});F(W)}catch(W){Q(W instanceof Error?W.message:a("mcp.error.completionFailed"))}finally{k(!1)}}},ke=n.useMemo(()=>new Set(M.map(d=>d.name.toLowerCase())),[M]),o=d=>{L(d)},$=d=>d.startsWith("@modelcontextprotocol/"),z=d=>$(d.name)?"Official":"Community";return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex h-full min-h-0 flex-col",children:e.jsxs("div",{className:"flex overflow-hidden flex-col flex-1 gap-4 p-4 min-h-0 sm:gap-5 sm:p-8",children:[e.jsxs("div",{className:"flex justify-between items-center shrink-0",children:[e.jsx("h2",{className:"text-lg font-semibold text-[#111827] dark:text-[#E5E5E5] font-mono",children:"MCP"}),e.jsxs("div",{className:"flex gap-2 items-center",children:[e.jsx("button",{onClick:Ae,"aria-label":a("mcp.action.refreshServers"),className:"h-8 w-8 rounded-md text-[#9CA3AF] hover:text-[#111827] hover:bg-[#E5E7EB] dark:text-[#71717a] dark:hover:text-[#E5E5E5] dark:hover:bg-[#27272a] transition-colors flex items-center justify-center",disabled:V,children:e.jsx(Me,{className:D("h-4 w-4",V&&"animate-spin")})}),e.jsxs("button",{"data-mcp-add-server-trigger":!0,onClick:()=>x(!0),className:"h-8 px-3 rounded-md bg-[#E5E7EB] text-[#111827] dark:bg-[#27272a] dark:text-[#E5E5E5] text-xs font-mono font-semibold flex items-center gap-1 hover:bg-[#D1D5DB] dark:hover:bg-[#32323a]",children:[e.jsx(We,{className:"h-3.5 w-3.5"}),a("mcp.action.addServer")]})]})]}),e.jsxs("div",{className:"flex items-center gap-2 p-1 rounded-md bg-[#F3F4F6] dark:bg-[#18181b] w-fit shrink-0",children:[e.jsx(Tt,{active:s==="installed",onClick:()=>l("installed"),children:a("mcp.tab.installed",{count:M.length})}),e.jsx(Tt,{active:s==="catalog",onClick:()=>{l("catalog"),de||oe()},children:a("mcp.tab.catalog")})]}),N&&e.jsxs("div",{role:"alert",className:"flex shrink-0 items-start gap-2 rounded-md border border-red-200 bg-red-50 px-3 py-2 text-[11px] font-mono text-red-700 dark:border-red-900/60 dark:bg-red-950/30 dark:text-red-300",children:[e.jsx(Ue,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),e.jsx("span",{className:"flex-1 min-w-0",children:N}),e.jsx("button",{type:"button",onClick:()=>c(null),className:"underline shrink-0",children:a("mcp.action.dismiss")})]}),s==="installed"?e.jsxs("div",{className:"flex overflow-hidden flex-col flex-1 gap-3 min-h-0 sm:flex-row sm:gap-5",children:[e.jsxs("div",{className:"flex h-[180px] w-full shrink-0 flex-col gap-3 overflow-hidden sm:h-auto sm:w-[220px]",children:[e.jsx("span",{className:"text-sm font-mono font-semibold text-[#111827] dark:text-[#E5E5E5] shrink-0",children:a("mcp.servers.title")}),e.jsx("input",{type:"search","aria-label":a("mcp.servers.searchAria"),value:u,onChange:d=>i(d.target.value),placeholder:a("mcp.servers.searchPlaceholder"),className:"h-8 shrink-0 rounded-md border border-transparent bg-[#F3F4F6] px-3 text-[12px] font-mono text-[#111827] outline-none placeholder:text-[#9CA3AF] focus:border-[#D1D5DB] dark:bg-[#18181b] dark:text-[#E5E5E5] dark:placeholder:text-[#71717a] dark:focus:border-[#3f3f46]"}),e.jsxs("div",{className:"flex overflow-y-auto flex-col flex-1 gap-2 pr-1 min-h-0",children:[V&&M.length===0&&e.jsxs("div",{role:"status",className:"flex items-center justify-center gap-2 py-8 text-sm font-mono text-[#9CA3AF] dark:text-[#71717a]",children:[e.jsx(ne,{className:"w-4 h-4 animate-spin"}),a("mcp.servers.loading")]}),pe&&!V&&e.jsxs("div",{role:"alert",className:"flex flex-col gap-2 items-center py-6 font-mono text-xs text-center text-red-600 dark:text-red-400",children:[e.jsx("span",{children:pe.message}),e.jsx("button",{type:"button",onClick:Ae,className:"rounded-md border border-red-200 px-2.5 py-1 text-[11px] dark:border-red-900",children:a("mcp.action.retry")})]}),!pe&&!V&&Fe.length===0&&e.jsx("div",{className:"text-center py-8 text-[#9CA3AF] dark:text-[#71717a] text-sm font-mono",children:a(u?"mcp.servers.noMatch":"mcp.servers.none")}),Fe.map(d=>e.jsxs("button",{onClick:()=>{g(d.id),Z(null),c(null),y(null),U(""),F(null),Q(null)},className:D("text-left rounded-lg px-3 py-2 flex flex-col gap-1 transition-colors shrink-0",d.id===(P==null?void 0:P.id)?"bg-[#E5E7EB] dark:bg-[#111827]":"bg-white dark:bg-[#0C0C0C] hover:bg-[#F3F4F6] dark:hover:bg-[#18181b]"),children:[e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsx("span",{className:"text-[13px] font-mono font-semibold text-[#111827] dark:text-[#E5E5E5]",children:d.name}),e.jsx("span",{className:D("text-[11px] font-mono font-semibold",Ft[d.status]),children:Bt(d,a)})]}),e.jsx("span",{className:"text-[11px] font-mono text-[#6B7280] dark:text-[#94a3b8] truncate",children:d.endpoint})]},d.id))]})]}),P?e.jsxs("div",{className:"flex overflow-y-auto flex-col flex-1 gap-3 pr-2 min-h-0",children:[e.jsxs("div",{className:"flex justify-between items-center shrink-0",children:[e.jsx("span",{className:"text-base font-mono font-semibold text-[#111827] dark:text-[#E5E5E5]",children:P.name}),e.jsx("span",{className:D("text-xs font-mono font-semibold",Ft[P.status]),children:Bt(P,a)})]}),e.jsx("p",{className:"text-[12px] font-mono text-[#6B7280] dark:text-[#94a3b8]",children:P.description}),P.error&&e.jsx("p",{className:"text-[12px] font-mono text-[#ef4444]",children:a("mcp.server.errorLabel",{error:P.error})}),P.instructions&&e.jsxs("div",{className:"rounded-md bg-[#F3F4F6] px-3 py-2 dark:bg-[#18181b]",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsx("span",{className:"text-[10px] font-mono uppercase tracking-wide text-[#9CA3AF] dark:text-[#71717a]",children:a("mcp.instructions.title")}),e.jsxs("span",{className:"truncate text-[9px] font-mono text-[#9CA3AF] dark:text-[#71717a]",children:["sha256 ",P.instructions.sha256]})]}),e.jsx("pre",{className:"mt-1 max-h-36 overflow-y-auto whitespace-pre-wrap break-words text-[11px] font-mono text-[#374151] dark:text-[#d4d4d8]",children:P.instructions.text??a("mcp.instructions.detailsOmittedByPolicy")}),(P.instructions.truncated||P.instructions.detailsOmitted)&&e.jsx("span",{className:"mt-1 block text-[9px] font-mono text-amber-600 dark:text-amber-400",children:P.instructions.detailsOmitted?a("mcp.instructions.detailsOmitted"):a("mcp.instructions.truncated")})]}),P.tasks&&e.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-md bg-[#F3F4F6] px-3 py-2 dark:bg-[#18181b]",children:[e.jsxs("div",{className:"flex min-w-0 flex-col gap-0.5",children:[e.jsx("span",{className:"text-[10px] font-mono uppercase tracking-wide text-[#9CA3AF] dark:text-[#71717a]",children:a("mcp.tasks.title")}),e.jsx("span",{className:"text-[11px] font-mono text-[#6B7280] dark:text-[#a1a1aa]",children:P.tasks.enabled?a("mcp.tasks.summary",{count:P.tasks.maxTasksPerSession,interval:P.tasks.pollIntervalMs}):a("mcp.tasks.disabledByDefault")})]}),e.jsx("span",{className:D("text-[10px] font-mono font-semibold uppercase",P.tasks.enabled?"text-[#16A34A] dark:text-[#22C55E]":"text-[#9CA3AF] dark:text-[#71717a]"),children:P.tasks.enabled?a("mcp.tasks.enabled"):a("mcp.tasks.disabled")})]}),P.oauthEnabled&&e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2 rounded-md bg-[#F3F4F6] px-3 py-2 dark:bg-[#18181b]",children:[e.jsxs("div",{className:"flex min-w-0 flex-col gap-0.5",children:[e.jsx("span",{className:"text-[10px] font-mono uppercase tracking-wide text-[#9CA3AF] dark:text-[#71717a]",children:"OAuth"}),e.jsx("span",{role:P.oauthStatus==="authorizing"?"status":void 0,className:D("text-[11px] font-mono",P.oauthStatus==="authenticated"?"text-[#16A34A] dark:text-[#22C55E]":P.oauthStatus==="error"?"text-[#ef4444]":"text-[#6B7280] dark:text-[#a1a1aa]"),children:a(Xs[P.oauthStatus])})]}),P.oauthStatus==="authenticated"?e.jsx("button",{type:"button",onClick:()=>void m("logout",P),disabled:p!==null,className:"h-7 rounded-md border border-[#D1D5DB] px-2.5 text-[11px] font-mono text-[#374151] disabled:opacity-50 dark:border-[#3f3f46] dark:text-[#d4d4d8]",children:(p==null?void 0:p.type)==="logout"?a("mcp.oauth.signingOut"):a("mcp.oauth.signOut")}):P.oauthStatus==="authorizing"?e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ne,{className:"h-3.5 w-3.5 animate-spin text-[#2563eb]","aria-hidden":"true"}),(b==null?void 0:b.serverName)===P.name?e.jsx("a",{href:b.url,target:"_blank",rel:"noopener noreferrer",className:"inline-flex h-7 items-center rounded-md bg-[#2563eb] px-2.5 text-[11px] font-mono font-semibold text-white dark:bg-[#3b82f6]",children:a("mcp.oauth.continueAuthorization")}):e.jsx("button",{type:"button",onClick:()=>void m("login",P),disabled:p!==null,className:"h-7 rounded-md border border-[#D1D5DB] px-2.5 text-[11px] font-mono text-[#374151] disabled:opacity-50 dark:border-[#3f3f46] dark:text-[#d4d4d8]",children:a("mcp.oauth.resumeAuthorization")})]}):P.oauthStatus==="unavailable"?null:e.jsx("button",{type:"button",onClick:()=>void m("login",P),disabled:p!==null,className:"h-7 rounded-md bg-[#2563eb] px-2.5 text-[11px] font-mono font-semibold text-white disabled:opacity-50 dark:bg-[#3b82f6]",children:(p==null?void 0:p.type)==="login"?a("mcp.oauth.opening"):a("mcp.oauth.authorize")})]}),e.jsxs("div",{className:"flex gap-2 items-center",children:[P.status==="connected"||P.status==="reconnecting"?e.jsx("button",{onClick:()=>void Re("disconnect",P.name),disabled:p!==null,className:"h-7 px-3 rounded-md bg-[#E5E7EB] text-[#111827] dark:bg-[#27272a] dark:text-[#E5E5E5] text-[11px] font-mono font-semibold",children:(p==null?void 0:p.type)==="disconnect"&&p.name===P.name?a("mcp.action.disconnecting"):P.status==="reconnecting"?a("mcp.action.stopRecovery"):a("mcp.action.disconnect")}):e.jsx("button",{onClick:()=>void Re("connect",P.name),disabled:p!==null||P.oauthEnabled&&P.oauthStatus!=="authenticated",className:"h-7 px-3 rounded-md bg-[#16A34A] dark:bg-[#22C55E] text-white dark:text-[#0C0C0C] text-[11px] font-mono font-semibold",children:(p==null?void 0:p.type)==="connect"&&p.name===P.name?a("mcp.action.connecting"):P.oauthEnabled&&P.oauthStatus!=="authenticated"?a("mcp.action.authorizeFirst"):a("mcp.action.connect")}),e.jsx("button",{onClick:()=>Z(P.name),disabled:p!==null,className:"h-7 px-3 rounded-md bg-[#F3F4F6] dark:bg-[#18181b] text-[#ef4444] text-[11px] font-mono font-semibold",children:a("mcp.action.delete")})]}),Y===P.name&&e.jsxs("div",{role:"alertdialog","aria-label":a("mcp.server.deleteAria",{name:P.name}),className:"flex flex-wrap gap-2 justify-between items-center px-3 py-2 bg-red-50 rounded-md border border-red-200 dark:border-red-900/60 dark:bg-red-950/30",children:[e.jsx("span",{className:"text-[11px] font-mono text-red-700 dark:text-red-300",children:a("mcp.delete.confirm")}),e.jsxs("div",{className:"flex gap-2 items-center",children:[e.jsx("button",{type:"button",onClick:()=>Z(null),className:"h-7 rounded-md px-2.5 text-[11px] font-mono text-[#6B7280] dark:text-[#a1a1aa]",children:a("mcp.action.cancel")}),e.jsx("button",{type:"button",onClick:()=>void Re("delete",P.name),disabled:p!==null,className:"h-7 rounded-md bg-red-600 px-2.5 text-[11px] font-mono font-semibold text-white disabled:opacity-60",children:(p==null?void 0:p.type)==="delete"?a("mcp.action.deleting"):a("mcp.action.deleteServer")})]})]}),e.jsx("span",{className:"text-sm font-mono font-semibold text-[#111827] dark:text-[#E5E5E5]",children:a("mcp.tools.title",{count:P.tools.length})}),e.jsx("div",{className:"flex flex-wrap gap-2",children:P.tools.length===0?e.jsx("span",{className:"text-[12px] font-mono text-[#9CA3AF] dark:text-[#71717a]",children:a("mcp.tools.none")}):P.tools.map(d=>e.jsx("span",{className:"px-2 py-1 rounded-md bg-[#F3F4F6] dark:bg-[#18181b] text-[11px] font-mono text-[#111827] dark:text-[#E5E5E5]",children:d},d))}),e.jsx("span",{className:"text-sm font-mono font-semibold text-[#111827] dark:text-[#E5E5E5]",children:a("mcp.completion.title")}),P.status!=="connected"?e.jsx("span",{className:"text-[12px] font-mono text-[#9CA3AF] dark:text-[#71717a]",children:a("mcp.completion.connectPrompt")}):P.completionSupported?Be.length===0?e.jsx("span",{className:"text-[12px] font-mono text-[#9CA3AF] dark:text-[#71717a]",children:a("mcp.completion.noTargets")}):e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx("div",{"aria-label":a("mcp.completion.targetAria"),className:"flex max-h-20 flex-wrap gap-1 overflow-y-auto",children:Be.map(d=>e.jsx("button",{type:"button","aria-pressed":(ve==null?void 0:ve.key)===d.key,onClick:()=>{y(d.key),F(null),Q(null)},className:D("max-w-full truncate rounded px-2 py-1 text-[10px] font-mono",(ve==null?void 0:ve.key)===d.key?"bg-[#111827] text-white dark:bg-[#E5E5E5] dark:text-[#111827]":"bg-[#F3F4F6] text-[#6B7280] dark:bg-[#18181b] dark:text-[#a1a1aa]"),children:d.label},d.key))}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{type:"text","aria-label":a("mcp.completion.partialAria"),value:S,onChange:d=>U(d.target.value),placeholder:a("mcp.completion.partialPlaceholder"),className:"h-8 min-w-0 flex-1 rounded-md border border-transparent bg-[#F3F4F6] px-3 text-[11px] font-mono text-[#111827] outline-none placeholder:text-[#9CA3AF] focus:border-[#D1D5DB] dark:bg-[#18181b] dark:text-[#E5E5E5] dark:placeholder:text-[#71717a] dark:focus:border-[#3f3f46]"}),e.jsx("button",{type:"button",onClick:()=>void Ne(P),disabled:R,className:"h-8 shrink-0 rounded-md bg-[#2563eb] px-3 text-[11px] font-mono font-semibold text-white disabled:opacity-50 dark:bg-[#3b82f6]",children:a(R?"mcp.completion.completing":"mcp.completion.complete")})]}),O&&e.jsx("span",{role:"alert",className:"text-[11px] font-mono text-red-600 dark:text-red-400",children:O}),A&&e.jsxs("div",{"aria-label":a("mcp.completion.suggestionsAria"),className:"rounded-md bg-[#F3F4F6] p-2 dark:bg-[#18181b]",children:[e.jsx("div",{className:"flex flex-wrap gap-1",children:A.values.length>0?A.values.map(d=>e.jsx("span",{className:"rounded bg-white px-2 py-1 text-[10px] font-mono text-[#111827] dark:bg-[#0C0C0C] dark:text-[#E5E5E5]",children:d||a("mcp.completion.empty")},d)):e.jsx("span",{className:"text-[10px] font-mono text-[#9CA3AF]",children:a("mcp.completion.noSuggestions")})}),e.jsxs("span",{className:"mt-1 block truncate text-[9px] font-mono text-[#9CA3AF] dark:text-[#71717a]",children:["sha256 ",A.sha256,A.truncated?a("mcp.meta.truncatedSuffix"):""]})]})]}):e.jsx("span",{className:"text-[12px] font-mono text-[#9CA3AF] dark:text-[#71717a]",children:a("mcp.completion.unsupported")}),e.jsxs("div",{className:"mt-1 flex items-center justify-between gap-2",children:[e.jsx("span",{className:"text-sm font-mono font-semibold text-[#111827] dark:text-[#E5E5E5]",children:a("mcp.diagnostics.title")}),e.jsx("button",{type:"button","aria-label":a("mcp.diagnostics.refreshAria",{name:P.name}),onClick:()=>void Ce(P.name),disabled:we,className:"flex h-7 w-7 items-center justify-center rounded-md text-[#9CA3AF] transition-colors hover:bg-[#E5E7EB] hover:text-[#111827] disabled:opacity-50 dark:text-[#71717a] dark:hover:bg-[#27272a] dark:hover:text-[#E5E5E5]",children:e.jsx(Me,{className:D("h-3.5 w-3.5",we&&"animate-spin")})})]}),e.jsx("div",{"aria-label":a("mcp.log.levelAria"),className:"flex flex-wrap gap-1",children:en.map(d=>{var W,H;return e.jsx("button",{type:"button",onClick:()=>void ue(P,d),disabled:P.status!=="connected"||w!==null,"aria-pressed":(((W=P.logging)==null?void 0:W.level)??"warning")===d,className:D("rounded px-2 py-1 text-[10px] font-mono transition-colors disabled:opacity-40",(((H=P.logging)==null?void 0:H.level)??"warning")===d?"bg-[#111827] text-white dark:bg-[#E5E5E5] dark:text-[#111827]":"bg-[#F3F4F6] text-[#6B7280] hover:text-[#111827] dark:bg-[#18181b] dark:text-[#a1a1aa] dark:hover:text-[#E5E5E5]"),children:w===d?a("mcp.log.setting"):d},d)})}),ce?e.jsx("div",{role:"alert",className:"rounded-md bg-red-50 px-3 py-2 text-[11px] font-mono text-red-700 dark:bg-red-950/30 dark:text-red-300",children:ce.message}):he!=null&&he.entries.length?e.jsx("div",{"aria-label":a("mcp.diagnostics.logsAria",{name:P.name}),className:"flex max-h-52 flex-col gap-1.5 overflow-y-auto rounded-md bg-[#F3F4F6] p-2 dark:bg-[#18181b]",children:he.entries.map(d=>e.jsxs("div",{className:"rounded bg-white px-2.5 py-2 dark:bg-[#0C0C0C]",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsx("span",{className:D("text-[10px] font-mono font-semibold uppercase",["error","critical","alert","emergency"].includes(d.level)?"text-red-600 dark:text-red-400":d.level==="warning"?"text-amber-600 dark:text-amber-400":"text-[#2563eb] dark:text-[#60a5fa]"),children:d.level}),e.jsxs("span",{className:"truncate text-[10px] font-mono text-[#9CA3AF] dark:text-[#71717a]",children:[d.logger||P.name," · r",d.revision]})]}),e.jsx("pre",{className:"mt-1 whitespace-pre-wrap break-words text-[11px] font-mono text-[#374151] dark:text-[#d4d4d8]",children:d.message}),e.jsxs("span",{className:"mt-1 block truncate text-[9px] font-mono text-[#9CA3AF] dark:text-[#71717a]",children:["sha256 ",d.dataSha256,d.truncated?a("mcp.meta.truncatedSuffix"):"",d.detailsOmitted?a("mcp.meta.detailsOmittedSuffix"):""]})]},d.revision))}):e.jsx("span",{className:"text-[11px] font-mono text-[#9CA3AF] dark:text-[#71717a]",children:a(we?"mcp.log.loading":"mcp.log.none")})]}):e.jsx("div",{className:"flex flex-1 justify-center items-center",children:e.jsx("span",{className:"text-[#9CA3AF] dark:text-[#71717a] text-sm font-mono",children:a("mcp.server.selectPrompt")})})]}):e.jsxs("div",{className:"flex flex-col flex-1 gap-4 min-h-0",children:[e.jsx("div",{className:"flex gap-3 items-center shrink-0",children:e.jsxs("div",{className:"flex-1 h-8 rounded-md bg-[#F3F4F6] dark:bg-[#18181b] flex items-center px-3 gap-2",children:[e.jsx(ia,{className:"h-3.5 w-3.5 text-[#9CA3AF] dark:text-[#71717a]"}),e.jsx("input",{type:"text","aria-label":a("mcp.catalog.searchAria"),value:ee,onChange:d=>{J(d.target.value),v(d.target.value)},placeholder:a("mcp.catalog.searchPlaceholder"),className:"flex-1 bg-transparent text-[12px] font-mono text-[#111827] dark:text-[#E5E5E5] placeholder:text-[#9CA3AF] dark:placeholder:text-[#71717a] focus:outline-none"})]})}),e.jsxs("div",{ref:C,className:"overflow-y-auto flex-1 min-h-0",children:[ae?e.jsxs("div",{role:"alert",className:"flex flex-col gap-3 items-center py-12 font-mono text-center",children:[e.jsx(Ue,{className:"w-6 h-6 text-red-500"}),e.jsx("span",{className:"text-xs text-red-600 dark:text-red-400",children:ae.message}),e.jsx("button",{type:"button",onClick:oe,className:"rounded-md border border-[#E5E7EB] px-3 py-1.5 text-[11px] text-[#6B7280] dark:border-[#27272a] dark:text-[#a1a1aa]",children:a("mcp.catalog.retry")})]}):re&&!de?e.jsx("div",{className:"flex justify-center items-center py-12",children:e.jsx(ne,{className:"h-6 w-6 text-[#9CA3AF] dark:text-[#71717a] animate-spin"})}):e.jsxs("div",{className:"grid grid-cols-1 gap-3 pb-4 sm:grid-cols-2",children:[de==null?void 0:de.list.map(d=>{var xe,Ge;const W=ke.has(Xt(d.name).toLowerCase()),H=K===d.name,ye=z(d);return e.jsxs("div",{className:"rounded-lg bg-white dark:bg-[#0C0C0C] p-4 flex flex-col gap-2",children:[e.jsxs("div",{className:"flex gap-2 justify-between items-center",children:[e.jsx("span",{className:"text-[13px] font-mono font-semibold text-[#111827] dark:text-[#E5E5E5] truncate",children:d.name}),e.jsx("span",{className:D("text-[10px] font-mono px-2 py-0.5 rounded shrink-0",ye==="Official"?"bg-[#16A34A]/20 dark:bg-[#22C55E]/20 text-[#16A34A] dark:text-[#22C55E]":"bg-[#3b82f6]/20 text-[#3b82f6]"),children:a(Zs[ye])})]}),e.jsx("p",{className:"text-[11px] font-mono text-[#6B7280] dark:text-[#94a3b8] line-clamp-2",children:d.description||a("mcp.catalog.noDescription")}),e.jsxs("div",{className:"flex items-center gap-2 text-[10px] font-mono text-[#9CA3AF] dark:text-[#71717a]",children:[e.jsxs("span",{children:["v",d.version]}),((xe=d.publisher)==null?void 0:xe.username)&&e.jsxs(e.Fragment,{children:[e.jsx("span",{children:"•"}),e.jsx("span",{children:a("mcp.catalog.byAuthor",{author:d.publisher.username})})]})]}),e.jsxs("div",{className:"flex justify-between items-center pt-2 mt-auto",children:[e.jsxs("a",{href:((Ge=d.links)==null?void 0:Ge.npm)||`https://www.npmjs.com/package/${d.name}`,target:"_blank",rel:"noopener noreferrer",className:"text-[10px] font-mono text-[#9CA3AF] dark:text-[#71717a] hover:text-[#111827] dark:hover:text-[#E5E5E5] flex items-center gap-1",children:[e.jsx(jt,{className:"w-3 h-3"}),"npm"]}),W?e.jsxs("span",{className:"text-[11px] font-mono text-[#16A34A] dark:text-[#22C55E] flex items-center gap-1",children:[e.jsx(ht,{className:"w-3 h-3"}),a("mcp.catalog.installed")]}):e.jsxs("button",{onClick:()=>o(d),disabled:H,className:"h-6 px-2 rounded-md bg-[#E5E7EB] text-[#111827] dark:bg-[#27272a] dark:text-[#E5E5E5] text-[10px] font-mono font-semibold flex items-center gap-1 hover:bg-[#D1D5DB] dark:hover:bg-[#32323a] disabled:opacity-50",children:[e.jsx(xt,{className:D("h-3 w-3",H&&"animate-pulse")}),a(H?"mcp.catalog.installing":"mcp.catalog.install")]})]})]},d.name)}),(de==null?void 0:de.list.length)===0&&e.jsx("div",{className:"col-span-full py-12 text-center text-xs font-mono text-[#9CA3AF] dark:text-[#71717a]",children:a("mcp.catalog.noPackages")})]}),f&&e.jsx("div",{className:"flex justify-center items-center py-4",children:e.jsx(ne,{className:"h-5 w-5 text-[#9CA3AF] dark:text-[#71717a] animate-spin"})}),_&&de&&de.list.length>0&&e.jsx("div",{className:"text-center py-4 text-[11px] font-mono text-[#9CA3AF] dark:text-[#71717a]",children:a("mcp.catalog.noMore")})]}),e.jsxs("div",{className:"flex items-center justify-between pt-2 border-t border-[#E5E7EB] dark:border-[#1f2937] shrink-0",children:[e.jsx("span",{className:"text-[11px] font-mono text-[#9CA3AF] dark:text-[#71717a]",children:a("mcp.catalog.packagesFound",{count:(de==null?void 0:de.total)??0})}),e.jsxs("a",{href:"https://glama.ai/mcp/servers",target:"_blank",rel:"noopener noreferrer",className:"text-[11px] font-mono text-[#3b82f6] hover:underline flex items-center gap-1",children:[a("mcp.catalog.browseGlama"),e.jsx(jt,{className:"w-3 h-3"})]})]})]})]})}),e.jsx(on,{open:r,onOpenChange:x,onAdd:me,saving:fe,error:(be==null?void 0:be.message)??null}),te&&e.jsx(dn,{pkg:te,onClose:()=>L(null),installing:fe,error:(be==null?void 0:be.message)??null,onInstall:d=>(G(te.name),me(d))})]})}function Tt({active:t,children:a,onClick:s}){return e.jsx("button",{onClick:s,className:D("px-3 py-1 rounded text-[12px] font-mono font-semibold transition-colors",t?"bg-[#E5E7EB] text-[#111827] dark:bg-[#27272a] dark:text-[#E5E5E5]":"text-[#6B7280] dark:text-[#a1a1aa]"),children:a})}function on({open:t,onOpenChange:a,onAdd:s,saving:l,error:r}){const x=ge(),[h,g]=n.useState("form"),[u,i]=n.useState(""),[N,c]=n.useState(""),[b,j]=n.useState(""),[p,E]=n.useState(null),[w,B]=n.useState(`{
2
2
  "name": "my-server",
3
3
  "command": "npx",
4
4
  "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
@@ -1 +1 @@
1
- import{j as n,r as d}from"./vendor-react-DG5dkZ_t.js";import{j as S,H as Te,d as G,c as R,p as De,I as q,J as _,L as Ae,u as Ie,b as p,a as o,M as L,o as Fe,D as Le,e as Pe,N as Re,g as qe,h as Ee,s as Me}from"./index-CfVQVVVI.js";import{al as ue,i as Be,F as Ke,k as Oe,h as $e,am as We,an as Qe,p as He,ao as Ve,ap as ze,l as U,f as me,aq as Ue,V as Ge,ar as _e,G as Je,a9 as Xe,L as P,S as Ye,R as Ze}from"./vendor-icons-DovdPN7M.js";import"./vendor-radix-DXRuAJHH.js";import"./session-events-Bgir_Gl_.js";function et(t,r){const s=r.trim().toLocaleLowerCase();return s?t.filter(i=>`${i.label} ${i.description} ${i.keywords}`.toLocaleLowerCase().includes(s)):t}function tt({actions:t,selectedIndex:r,onSelect:s,onRun:i}){return t.map((c,u)=>{const k=u===r,m=c.icon;return n.jsx("div",{id:`command-center-result-${u}`,"data-task-result-index":u,role:"option","aria-selected":k,onMouseEnter:()=>s(u),className:S("group flex min-h-[58px] w-full items-center rounded-lg border border-transparent text-left transition-colors",k?"border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))]":"hover:bg-[hsl(var(--deck-surface))]/60"),children:n.jsxs("button",{type:"button",onClick:()=>i(c),className:"flex min-h-[58px] min-w-0 flex-1 items-center gap-3 px-3 py-2 text-left focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-[hsl(var(--deck-accent))]",children:[n.jsx("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas))] text-[hsl(var(--deck-accent))]",children:n.jsx(m,{className:"h-3.5 w-3.5"})}),n.jsxs("span",{className:"min-w-0 flex-1",children:[n.jsx("span",{className:"block truncate font-mono text-[12.5px] font-medium text-[hsl(var(--deck-ink))]",children:c.label}),n.jsx("span",{className:"mt-0.5 block truncate text-[10.5px] text-[hsl(var(--deck-ink-faint))]",children:c.description})]}),c.shortcut&&n.jsx("span",{className:"shrink-0 rounded border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas))] px-1.5 py-0.5 font-mono text-[9px] text-[hsl(var(--deck-ink-faint))]",children:c.shortcut}),n.jsx(ue,{className:S("h-3.5 w-3.5 shrink-0 transition-all",k?"translate-x-0 text-[hsl(var(--deck-accent))] opacity-100":"-translate-x-1 text-[hsl(var(--deck-ink-faint))] opacity-0")})]})},c.id)})}const nt={running:"running active 进行中 运行中",queued:"queued waiting 排队中 等待中",interrupted:"interrupted paused 已暂停 已中断",failed:"failed error 已失败 错误",cancelled:"cancelled canceled 已取消",completed:"completed done finished 已完成 完成"};function J(t){return De(t,Ae)}function st(t){const r=t.lastMessageTime||t.firstMessageTime;if(!r)return"";const s=new Date(r);return Number.isNaN(s.getTime())?"":new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(s)}function E(t){return t.normalize("NFKC").toLocaleLowerCase().trim()}function at(t,r){var i,c;const s=q(t,r);return E([J(t),_(s),s,t.projectPath,t.gitBranch,t.taskWorktreeBranch,t.taskStatus,nt[t.taskStatus],((i=t.pendingInteraction)==null?void 0:i.type)==="question"?"needs answer question attention 等待回答 需要回答":((c=t.pendingInteraction)==null?void 0:c.type)==="elicitation"?"mcp input elicitation attention MCP 输入 等待输入":t.pendingInteraction?"needs approval permission attention 等待审批 需要授权":"",t.sessionId].filter(Boolean).join(" "))}function pe(t,r,s){if(!r)return 0;const i=E(J(t)),c=E(_(q(t,s)));return i===r?500:i.startsWith(r)?400:i.includes(r)?300:c===r?250:c.startsWith(r)?200:100}function rt(t,r,s,i=50){const c=E(r),u=c.split(/\s+/).filter(Boolean),k=new Set;return t.filter(m=>{if(u.length===0)return!0;const h=at(m,s);return u.every(g=>h.includes(g))}).sort((m,h)=>{const g=+!!h.pendingInteraction-+!!m.pendingInteraction;return g!==0?g:pe(h,c,s)-pe(m,c,s)||Te(m,h)}).filter(m=>{const h=G(R(m));return k.has(h)?!1:(k.add(h),!0)}).slice(0,i)}const it={running:"sidebar.group.running",queued:"sidebar.group.queued",interrupted:"sidebar.group.interrupted",failed:"sidebar.group.failed",cancelled:"sidebar.group.cancelled",completed:"sidebar.group.done"};function pt(){const t=Ie(),r=p(e=>e.isTaskSwitcherOpen),s=p(e=>e.taskSwitcherMode),i=p(e=>e.setTaskSwitcherOpen),c=p(e=>e.setTaskSwitcherMode),u=p(e=>e.setMainView),k=p(e=>e.toggleSidebar),m=p(e=>e.isFilePreviewOpen),h=p(e=>e.setFilePreviewOpen),g=p(e=>e.openFilePreview),M=p(e=>e.toggleTerminal),y=p(e=>e.openSettings),b=o(e=>e.sessions),he=o(e=>e.isLoading),C=o(e=>e.catalogLoadState),B=C==="loading"||C==="hydrating",K=o(e=>e.currentSessionRef),X=o(e=>e.isTemporarySession),Y=o(e=>e.startTemporarySession),O=o(e=>e.unreadTaskKeys),ke=o(e=>e.boundProjects),A=o(e=>{var a;return e.selectedProjectPath??((a=e.taskWorkspaceInfo)==null?void 0:a.cwd)??null}),xe=o(e=>e.selectProject),fe=o(e=>e.selectSession),ge=o(e=>e.cancelTask),be=o(e=>e.retryTask),ve=o(e=>e.cancellingTaskKeys),we=o(e=>e.retryingTaskKeys),[v,Z]=d.useState(""),[f,j]=d.useState(0),[ye,$]=d.useState(null),[ee,I]=d.useState(null),te=d.useRef(null),ne=d.useRef(null),se=d.useMemo(()=>[{id:"new-task",label:t("commandCenter.action.newTask"),description:t("commandCenter.action.newTaskDescription"),keywords:"create compose session",icon:Be,shortcut:L("newTask"),run:()=>{u("workspace"),Y(),requestAnimationFrame(()=>Fe())}},{id:"toggle-preview",label:t("commandCenter.action.preview"),description:t("commandCenter.action.previewDescription"),keywords:"diff files logs artifact review",icon:Ke,run:()=>{m?h(!1):g((!K||X)&&p.getState().previewRequestId===0?{tab:"files"}:void 0)}},{id:"toggle-terminal",label:t("commandCenter.action.terminal"),description:t("commandCenter.action.terminalDescription"),keywords:"shell console command line",icon:Oe,run:M},{id:"open-settings",label:t("commandCenter.action.settings"),description:t("commandCenter.action.settingsDescription"),keywords:"preferences general",icon:$e,run:()=>y("general")},{id:"open-models",label:t("commandCenter.action.models"),description:t("commandCenter.action.modelsDescription"),keywords:"provider llm api configuration",icon:We,run:()=>y("models")},{id:"open-shortcuts",label:t("commandCenter.action.shortcuts"),description:t("commandCenter.action.shortcutsDescription"),keywords:"keyboard hotkey key binding",icon:Qe,shortcut:L("openCommands"),run:()=>y("shortcuts")},{id:"open-skills",label:t("commandCenter.action.skills"),description:t("commandCenter.action.skillsDescription"),keywords:"capabilities workflow",icon:He,run:()=>y("skills")},{id:"open-mcp",label:t("commandCenter.action.mcp"),description:t("commandCenter.action.mcpDescription"),keywords:"server tools protocol integration",icon:Ve,run:()=>y("mcp")},{id:"toggle-sidebar",label:t("commandCenter.action.sidebar"),description:t("commandCenter.action.sidebarDescription"),keywords:"navigation layout panel projects",icon:ze,shortcut:L("toggleSidebar"),run:k}],[K,m,X,g,y,h,u,Y,t,k,M]),w=d.useMemo(()=>rt(b,v,A),[A,v,b]),T=d.useMemo(()=>et(se,v),[se,v]),D=s==="tasks"?w.length:T.length,ae=d.useMemo(()=>b.filter(e=>!!e.pendingInteraction).length,[b]),W=s==="tasks"?w[f]??null:null,Q=s==="commands"?T[f]??null:null;d.useEffect(()=>{r&&(Z(""),j(0),$(null),I(null))},[s,r]),d.useEffect(()=>{j(0)},[v]),d.useEffect(()=>{var a,l;const e=(a=ne.current)==null?void 0:a.querySelector(`[data-task-result-index="${f}"]`);(l=e==null?void 0:e.scrollIntoView)==null||l.call(e,{block:"nearest"})},[f]);const re=async e=>{const a=R(e),l=G(a),x=q(e,A);$(l),ke.some(N=>N.path===x)&&xe(x);try{u("workspace"),await fe(a),i(!1)}catch(N){I(N instanceof Error?N.message:t("taskSwitcher.action.failed"))}finally{$(null)}},ie=async(e,a)=>{I(null);try{const l=R(a);e==="cancel"?await ge(l):(await be(l),i(!1))}catch(l){I(l instanceof Error?l.message:t("taskSwitcher.action.failed"))}},ce=e=>{i(!1),requestAnimationFrame(e.run)},je=e=>{e.key==="ArrowDown"?(e.preventDefault(),j(a=>D===0?0:(a+1)%D)):e.key==="ArrowUp"?(e.preventDefault(),j(a=>D===0?0:(a-1+D)%D)):e.key==="Enter"&&W?(e.preventDefault(),re(W)):e.key==="Enter"&&Q?(e.preventDefault(),ce(Q)):e.key==="Escape"&&(e.preventDefault(),i(!1))};return n.jsx(Le,{open:r,onOpenChange:i,children:n.jsxs(Pe,{hideCloseButton:!0,onCloseAutoFocus:Re,className:"top-3 w-[min(680px,calc(100vw-32px))] max-w-none translate-y-0 gap-0 overflow-hidden rounded-xl border-[hsl(var(--deck-border-strong))] bg-[hsl(var(--deck-canvas))] p-0 shadow-2xl sm:top-[18%]",children:[n.jsx(qe,{className:"sr-only",children:t("commandCenter.title")}),n.jsx(Ee,{className:"sr-only",children:t("commandCenter.description")}),n.jsxs("div",{className:"flex h-14 items-center gap-3 border-b border-[hsl(var(--deck-hairline))] px-4",children:[n.jsx(U,{className:"h-4 w-4 shrink-0 text-[hsl(var(--deck-accent))]"}),n.jsx("input",{ref:te,autoFocus:!0,role:"combobox","aria-expanded":"true","aria-controls":"task-switcher-results","aria-activedescendant":W?`task-switcher-result-${f}`:Q?`command-center-result-${f}`:void 0,"aria-label":t(s==="tasks"?"taskSwitcher.searchAria":"commandCenter.searchAria"),placeholder:t(s==="tasks"?"taskSwitcher.placeholder":"commandCenter.placeholder"),value:v,onChange:e=>Z(e.target.value),onKeyDown:je,className:"h-full min-w-0 flex-1 bg-transparent font-mono text-[14px] text-[hsl(var(--deck-ink))] outline-none placeholder:text-[hsl(var(--deck-ink-faint))]"}),n.jsx("span",{className:"rounded border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-1.5 py-0.5 font-mono text-[9px] text-[hsl(var(--deck-ink-faint))]",children:"ESC"})]}),n.jsxs("div",{className:"flex items-center justify-between gap-3 px-4 pb-2 pt-3",children:[n.jsx("div",{role:"tablist","aria-label":t("commandCenter.modeAria"),className:"flex items-center gap-0.5 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] p-0.5",children:["tasks","commands"].map(e=>n.jsx("button",{type:"button",role:"tab","aria-selected":s===e,onClick:()=>{c(e),requestAnimationFrame(()=>{var a;return(a=te.current)==null?void 0:a.focus()})},className:S("rounded-[5px] px-2.5 py-1 font-mono text-[9.5px] uppercase tracking-[0.1em] transition-colors",s===e?"bg-[hsl(var(--deck-canvas))] text-[hsl(var(--deck-ink))] shadow-sm":"text-[hsl(var(--deck-ink-faint))] hover:text-[hsl(var(--deck-ink-muted))]"),children:t(e==="tasks"?"commandCenter.mode.tasks":"commandCenter.mode.commands")},e))}),n.jsx("span",{children:n.jsx("span",{className:"font-mono text-[9.5px] uppercase tracking-[0.14em] text-[hsl(var(--deck-ink-faint))]",children:s==="commands"?t("commandCenter.actions",{count:T.length}):v?t("taskSwitcher.results",{count:w.length}):B?b.length===0?t("taskSwitcher.indexing"):t("taskSwitcher.indexingLoaded",{count:b.length}):C==="error"?t("sidebar.catalog.incomplete"):ae>0?t("taskSwitcher.needsAction",{count:ae}):O.length>0?t("taskSwitcher.unread",{count:O.length}):t("taskSwitcher.scope",{count:b.length})})})]}),ee&&n.jsx("div",{role:"alert",className:"mx-4 mb-2 rounded-md border border-red-300/70 bg-red-50 px-3 py-2 font-mono text-[10.5px] text-red-700 dark:border-red-900/70 dark:bg-red-950/35 dark:text-red-300",children:ee}),n.jsxs("div",{id:"task-switcher-results",ref:ne,role:"listbox","aria-label":t(s==="tasks"?"taskSwitcher.resultsAria":"commandCenter.resultsAria"),className:"max-h-[min(460px,60vh)] overflow-y-auto px-2 pb-2",children:[s==="commands"&&n.jsx(tt,{actions:T,selectedIndex:f,onSelect:j,onRun:ce}),s==="tasks"&&w.map((e,a)=>{const l=R(e),x=G(l),N=q(e,A),Ne=_(N),oe=Me(l,K),H=a===f,Se=ye===x,Ce=O.includes(x),F=J(e),le=e.taskStatus==="running"||e.taskStatus==="queued",de=!!e.taskRetryAvailable&&(e.taskStatus==="failed"||e.taskStatus==="interrupted"||e.taskStatus==="cancelled"),V=ve.includes(x),z=we.includes(x);return n.jsxs("div",{id:`task-switcher-result-${a}`,"data-task-result-index":a,"data-session-ref":x,role:"option","aria-selected":H,onMouseEnter:()=>j(a),className:S("group flex min-h-[68px] w-full items-center rounded-lg border border-transparent text-left transition-colors",H?"border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))]":"hover:bg-[hsl(var(--deck-surface))]/60"),children:[n.jsxs("button",{type:"button",onClick:()=>void re(e),"aria-label":t("session.action.select",{title:F}),className:"flex min-h-[68px] min-w-0 flex-1 items-center gap-3 px-3 py-2 text-left focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-[hsl(var(--deck-accent))]",children:[n.jsx("span",{className:S("flex h-8 w-8 shrink-0 items-center justify-center rounded-md border bg-[hsl(var(--deck-canvas))]",oe?"border-[hsl(var(--deck-accent)/0.5)] text-[hsl(var(--deck-accent))]":"border-[hsl(var(--deck-border))] text-[hsl(var(--deck-ink-faint))]"),children:e.pendingInteraction?n.jsx(me,{className:"h-3.5 w-3.5 animate-pulse text-amber-600 dark:text-amber-400"}):e.taskStatus==="running"?n.jsx(Ue,{className:"h-3.5 w-3.5 animate-pulse"}):n.jsx(Ge,{className:"h-3.5 w-3.5"})}),n.jsxs("span",{className:"min-w-0 flex-1",children:[n.jsxs("span",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"truncate font-mono text-[12.5px] font-medium text-[hsl(var(--deck-ink))]",children:F}),oe&&n.jsx("span",{className:"shrink-0 rounded bg-[hsl(var(--deck-accent-soft))] px-1.5 py-0.5 font-mono text-[8.5px] uppercase tracking-[0.1em] text-[hsl(var(--deck-accent))]",children:t("taskSwitcher.current")}),Ce&&n.jsx("span",{className:"shrink-0 rounded bg-[hsl(var(--deck-accent-soft))] px-1.5 py-0.5 font-mono text-[8.5px] uppercase tracking-[0.1em] text-[hsl(var(--deck-accent))]",children:t("taskSwitcher.new")}),e.pendingInteraction&&n.jsx("span",{className:"shrink-0 rounded bg-amber-100 px-1.5 py-0.5 font-mono text-[8.5px] uppercase tracking-[0.08em] text-amber-800 dark:bg-amber-950/60 dark:text-amber-300",children:t(e.pendingInteraction.type==="question"?"interaction.badge.question":e.pendingInteraction.type==="elicitation"?"interaction.badge.elicitation":"interaction.badge.permission")}),e.taskRetriedFrom&&n.jsx("span",{title:`${t("session.retriedFrom")} ${e.taskRetriedFrom.sessionId.slice(0,6)}`,className:"shrink-0 rounded bg-[hsl(var(--deck-accent-soft))] px-1.5 py-0.5 font-mono text-[8.5px] text-[hsl(var(--deck-accent))]",children:t("session.retryShort")})]}),n.jsxs("span",{className:"mt-1 flex min-w-0 items-center gap-2 font-mono text-[9.5px] text-[hsl(var(--deck-ink-faint))]",children:[n.jsxs("span",{className:"inline-flex min-w-0 items-center gap-1",children:[n.jsx(_e,{className:"h-2.5 w-2.5 shrink-0"}),n.jsx("span",{className:"truncate",children:Ne})]}),(e.taskWorktreeBranch||e.gitBranch)&&n.jsxs("span",{className:"inline-flex min-w-0 items-center gap-1",children:[n.jsx(Je,{className:"h-2.5 w-2.5 shrink-0"}),n.jsx("span",{className:"truncate",children:e.taskWorktreeBranch||e.gitBranch})]}),n.jsx("span",{className:"shrink-0",children:e.taskStatus==="queued"&&e.taskQueuePosition!==void 0&&e.taskQueueDepth!==void 0?t("session.queued",{position:e.taskQueuePosition,depth:e.taskQueueDepth}):e.pendingInteraction?t(e.pendingInteraction.type==="question"?"interaction.badge.question":e.pendingInteraction.type==="elicitation"?"interaction.badge.elicitation":"interaction.badge.permission"):t(it[e.taskStatus])}),n.jsxs("span",{className:"ml-auto inline-flex shrink-0 items-center gap-1",children:[n.jsx(Xe,{className:"h-2.5 w-2.5"}),st(e)]})]})]}),Se?n.jsx(P,{className:"h-3.5 w-3.5 shrink-0 animate-spin text-[hsl(var(--deck-accent))]"}):n.jsx(ue,{className:S("h-3.5 w-3.5 shrink-0 transition-all",H?"translate-x-0 text-[hsl(var(--deck-accent))] opacity-100":"-translate-x-1 text-[hsl(var(--deck-ink-faint))] opacity-0")})]}),(le||de)&&n.jsxs("div",{className:"flex shrink-0 items-center pr-2",children:[le&&n.jsx("button",{type:"button","aria-label":t(V?"session.action.stopping":"session.action.stop",{title:F}),disabled:V,onClick:()=>void ie("cancel",e),className:"flex h-8 w-8 items-center justify-center rounded-md text-red-500 transition-colors hover:bg-red-500/10 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-red-500 disabled:cursor-wait disabled:opacity-60",children:V?n.jsx(P,{className:"h-3.5 w-3.5 animate-spin"}):n.jsx(Ye,{className:"h-3.5 w-3.5"})}),de&&n.jsx("button",{type:"button","aria-label":t(z?"session.action.retrying":"session.action.retry",{title:F}),disabled:z,onClick:()=>void ie("retry",e),className:"flex h-8 w-8 items-center justify-center rounded-md text-[hsl(var(--deck-accent))] transition-colors hover:bg-[hsl(var(--deck-accent-soft))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-wait disabled:opacity-60",children:z?n.jsx(P,{className:"h-3.5 w-3.5 animate-spin"}):n.jsx(Ze,{className:"h-3.5 w-3.5"})})]})]},x)}),s==="tasks"&&w.length===0&&B&&n.jsxs("div",{className:"flex min-h-36 items-center justify-center gap-2 font-mono text-[11px] text-[hsl(var(--deck-ink-faint))]",children:[n.jsx(P,{className:"h-3.5 w-3.5 animate-spin text-[hsl(var(--deck-accent))]"}),t("taskSwitcher.indexing")]}),s==="tasks"&&w.length===0&&!B&&C!=="error"&&!he&&n.jsxs("div",{className:"flex min-h-36 flex-col items-center justify-center px-6 text-center",children:[n.jsx(U,{className:"mb-3 h-5 w-5 text-[hsl(var(--deck-ink-faint))]"}),n.jsx("p",{className:"font-mono text-[12px] text-[hsl(var(--deck-ink-muted))]",children:t("taskSwitcher.empty")}),n.jsx("p",{className:"mt-1 text-[10.5px] text-[hsl(var(--deck-ink-faint))]",children:t("taskSwitcher.emptyHint")})]}),s==="tasks"&&w.length===0&&C==="error"&&n.jsxs("div",{role:"alert",className:"flex min-h-36 flex-col items-center justify-center px-6 text-center",children:[n.jsx(me,{className:"mb-3 h-5 w-5 text-amber-500"}),n.jsx("p",{className:"font-mono text-[12px] text-[hsl(var(--deck-ink-muted))]",children:t("sidebar.catalog.incomplete")})]}),s==="commands"&&T.length===0&&n.jsxs("div",{className:"flex min-h-36 flex-col items-center justify-center px-6 text-center",children:[n.jsx(U,{className:"mb-3 h-5 w-5 text-[hsl(var(--deck-ink-faint))]"}),n.jsx("p",{className:"font-mono text-[12px] text-[hsl(var(--deck-ink-muted))]",children:t("commandCenter.empty")}),n.jsx("p",{className:"mt-1 text-[10.5px] text-[hsl(var(--deck-ink-faint))]",children:t("commandCenter.emptyHint")})]})]}),n.jsxs("div",{className:"flex items-center gap-4 border-t border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-canvas-veil))] px-4 py-2 font-mono text-[9px] text-[hsl(var(--deck-ink-faint))]",children:[n.jsxs("span",{children:["↑↓ ",t("taskSwitcher.hint.navigate")]}),n.jsxs("span",{children:["↵ ",t("taskSwitcher.hint.open")]}),n.jsxs("span",{className:"ml-auto",children:[L(s==="tasks"?"openCommands":"searchTasks")," ",t(s==="tasks"?"commandCenter.mode.commands":"commandCenter.mode.tasks")]})]})]})})}export{pt as TaskSwitcher};
1
+ import{j as n,r as d}from"./vendor-react-DG5dkZ_t.js";import{j as S,H as Te,d as G,c as R,p as De,I as q,J as _,L as Ae,u as Ie,b as p,a as o,M as L,o as Fe,D as Le,e as Pe,N as Re,g as qe,h as Ee,s as Me}from"./index-DHX-G3RT.js";import{al as ue,i as Be,F as Ke,k as Oe,h as $e,am as We,an as Qe,p as He,ao as Ve,ap as ze,l as U,f as me,aq as Ue,V as Ge,ar as _e,G as Je,a9 as Xe,L as P,S as Ye,R as Ze}from"./vendor-icons-DovdPN7M.js";import"./vendor-radix-DXRuAJHH.js";import"./session-events-Bgir_Gl_.js";function et(t,r){const s=r.trim().toLocaleLowerCase();return s?t.filter(i=>`${i.label} ${i.description} ${i.keywords}`.toLocaleLowerCase().includes(s)):t}function tt({actions:t,selectedIndex:r,onSelect:s,onRun:i}){return t.map((c,u)=>{const k=u===r,m=c.icon;return n.jsx("div",{id:`command-center-result-${u}`,"data-task-result-index":u,role:"option","aria-selected":k,onMouseEnter:()=>s(u),className:S("group flex min-h-[58px] w-full items-center rounded-lg border border-transparent text-left transition-colors",k?"border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))]":"hover:bg-[hsl(var(--deck-surface))]/60"),children:n.jsxs("button",{type:"button",onClick:()=>i(c),className:"flex min-h-[58px] min-w-0 flex-1 items-center gap-3 px-3 py-2 text-left focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-[hsl(var(--deck-accent))]",children:[n.jsx("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas))] text-[hsl(var(--deck-accent))]",children:n.jsx(m,{className:"h-3.5 w-3.5"})}),n.jsxs("span",{className:"min-w-0 flex-1",children:[n.jsx("span",{className:"block truncate font-mono text-[12.5px] font-medium text-[hsl(var(--deck-ink))]",children:c.label}),n.jsx("span",{className:"mt-0.5 block truncate text-[10.5px] text-[hsl(var(--deck-ink-faint))]",children:c.description})]}),c.shortcut&&n.jsx("span",{className:"shrink-0 rounded border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas))] px-1.5 py-0.5 font-mono text-[9px] text-[hsl(var(--deck-ink-faint))]",children:c.shortcut}),n.jsx(ue,{className:S("h-3.5 w-3.5 shrink-0 transition-all",k?"translate-x-0 text-[hsl(var(--deck-accent))] opacity-100":"-translate-x-1 text-[hsl(var(--deck-ink-faint))] opacity-0")})]})},c.id)})}const nt={running:"running active 进行中 运行中",queued:"queued waiting 排队中 等待中",interrupted:"interrupted paused 已暂停 已中断",failed:"failed error 已失败 错误",cancelled:"cancelled canceled 已取消",completed:"completed done finished 已完成 完成"};function J(t){return De(t,Ae)}function st(t){const r=t.lastMessageTime||t.firstMessageTime;if(!r)return"";const s=new Date(r);return Number.isNaN(s.getTime())?"":new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(s)}function E(t){return t.normalize("NFKC").toLocaleLowerCase().trim()}function at(t,r){var i,c;const s=q(t,r);return E([J(t),_(s),s,t.projectPath,t.gitBranch,t.taskWorktreeBranch,t.taskStatus,nt[t.taskStatus],((i=t.pendingInteraction)==null?void 0:i.type)==="question"?"needs answer question attention 等待回答 需要回答":((c=t.pendingInteraction)==null?void 0:c.type)==="elicitation"?"mcp input elicitation attention MCP 输入 等待输入":t.pendingInteraction?"needs approval permission attention 等待审批 需要授权":"",t.sessionId].filter(Boolean).join(" "))}function pe(t,r,s){if(!r)return 0;const i=E(J(t)),c=E(_(q(t,s)));return i===r?500:i.startsWith(r)?400:i.includes(r)?300:c===r?250:c.startsWith(r)?200:100}function rt(t,r,s,i=50){const c=E(r),u=c.split(/\s+/).filter(Boolean),k=new Set;return t.filter(m=>{if(u.length===0)return!0;const h=at(m,s);return u.every(g=>h.includes(g))}).sort((m,h)=>{const g=+!!h.pendingInteraction-+!!m.pendingInteraction;return g!==0?g:pe(h,c,s)-pe(m,c,s)||Te(m,h)}).filter(m=>{const h=G(R(m));return k.has(h)?!1:(k.add(h),!0)}).slice(0,i)}const it={running:"sidebar.group.running",queued:"sidebar.group.queued",interrupted:"sidebar.group.interrupted",failed:"sidebar.group.failed",cancelled:"sidebar.group.cancelled",completed:"sidebar.group.done"};function pt(){const t=Ie(),r=p(e=>e.isTaskSwitcherOpen),s=p(e=>e.taskSwitcherMode),i=p(e=>e.setTaskSwitcherOpen),c=p(e=>e.setTaskSwitcherMode),u=p(e=>e.setMainView),k=p(e=>e.toggleSidebar),m=p(e=>e.isFilePreviewOpen),h=p(e=>e.setFilePreviewOpen),g=p(e=>e.openFilePreview),M=p(e=>e.toggleTerminal),y=p(e=>e.openSettings),b=o(e=>e.sessions),he=o(e=>e.isLoading),C=o(e=>e.catalogLoadState),B=C==="loading"||C==="hydrating",K=o(e=>e.currentSessionRef),X=o(e=>e.isTemporarySession),Y=o(e=>e.startTemporarySession),O=o(e=>e.unreadTaskKeys),ke=o(e=>e.boundProjects),A=o(e=>{var a;return e.selectedProjectPath??((a=e.taskWorkspaceInfo)==null?void 0:a.cwd)??null}),xe=o(e=>e.selectProject),fe=o(e=>e.selectSession),ge=o(e=>e.cancelTask),be=o(e=>e.retryTask),ve=o(e=>e.cancellingTaskKeys),we=o(e=>e.retryingTaskKeys),[v,Z]=d.useState(""),[f,j]=d.useState(0),[ye,$]=d.useState(null),[ee,I]=d.useState(null),te=d.useRef(null),ne=d.useRef(null),se=d.useMemo(()=>[{id:"new-task",label:t("commandCenter.action.newTask"),description:t("commandCenter.action.newTaskDescription"),keywords:"create compose session",icon:Be,shortcut:L("newTask"),run:()=>{u("workspace"),Y(),requestAnimationFrame(()=>Fe())}},{id:"toggle-preview",label:t("commandCenter.action.preview"),description:t("commandCenter.action.previewDescription"),keywords:"diff files logs artifact review",icon:Ke,run:()=>{m?h(!1):g((!K||X)&&p.getState().previewRequestId===0?{tab:"files"}:void 0)}},{id:"toggle-terminal",label:t("commandCenter.action.terminal"),description:t("commandCenter.action.terminalDescription"),keywords:"shell console command line",icon:Oe,run:M},{id:"open-settings",label:t("commandCenter.action.settings"),description:t("commandCenter.action.settingsDescription"),keywords:"preferences general",icon:$e,run:()=>y("general")},{id:"open-models",label:t("commandCenter.action.models"),description:t("commandCenter.action.modelsDescription"),keywords:"provider llm api configuration",icon:We,run:()=>y("models")},{id:"open-shortcuts",label:t("commandCenter.action.shortcuts"),description:t("commandCenter.action.shortcutsDescription"),keywords:"keyboard hotkey key binding",icon:Qe,shortcut:L("openCommands"),run:()=>y("shortcuts")},{id:"open-skills",label:t("commandCenter.action.skills"),description:t("commandCenter.action.skillsDescription"),keywords:"capabilities workflow",icon:He,run:()=>y("skills")},{id:"open-mcp",label:t("commandCenter.action.mcp"),description:t("commandCenter.action.mcpDescription"),keywords:"server tools protocol integration",icon:Ve,run:()=>y("mcp")},{id:"toggle-sidebar",label:t("commandCenter.action.sidebar"),description:t("commandCenter.action.sidebarDescription"),keywords:"navigation layout panel projects",icon:ze,shortcut:L("toggleSidebar"),run:k}],[K,m,X,g,y,h,u,Y,t,k,M]),w=d.useMemo(()=>rt(b,v,A),[A,v,b]),T=d.useMemo(()=>et(se,v),[se,v]),D=s==="tasks"?w.length:T.length,ae=d.useMemo(()=>b.filter(e=>!!e.pendingInteraction).length,[b]),W=s==="tasks"?w[f]??null:null,Q=s==="commands"?T[f]??null:null;d.useEffect(()=>{r&&(Z(""),j(0),$(null),I(null))},[s,r]),d.useEffect(()=>{j(0)},[v]),d.useEffect(()=>{var a,l;const e=(a=ne.current)==null?void 0:a.querySelector(`[data-task-result-index="${f}"]`);(l=e==null?void 0:e.scrollIntoView)==null||l.call(e,{block:"nearest"})},[f]);const re=async e=>{const a=R(e),l=G(a),x=q(e,A);$(l),ke.some(N=>N.path===x)&&xe(x);try{u("workspace"),await fe(a),i(!1)}catch(N){I(N instanceof Error?N.message:t("taskSwitcher.action.failed"))}finally{$(null)}},ie=async(e,a)=>{I(null);try{const l=R(a);e==="cancel"?await ge(l):(await be(l),i(!1))}catch(l){I(l instanceof Error?l.message:t("taskSwitcher.action.failed"))}},ce=e=>{i(!1),requestAnimationFrame(e.run)},je=e=>{e.key==="ArrowDown"?(e.preventDefault(),j(a=>D===0?0:(a+1)%D)):e.key==="ArrowUp"?(e.preventDefault(),j(a=>D===0?0:(a-1+D)%D)):e.key==="Enter"&&W?(e.preventDefault(),re(W)):e.key==="Enter"&&Q?(e.preventDefault(),ce(Q)):e.key==="Escape"&&(e.preventDefault(),i(!1))};return n.jsx(Le,{open:r,onOpenChange:i,children:n.jsxs(Pe,{hideCloseButton:!0,onCloseAutoFocus:Re,className:"top-3 w-[min(680px,calc(100vw-32px))] max-w-none translate-y-0 gap-0 overflow-hidden rounded-xl border-[hsl(var(--deck-border-strong))] bg-[hsl(var(--deck-canvas))] p-0 shadow-2xl sm:top-[18%]",children:[n.jsx(qe,{className:"sr-only",children:t("commandCenter.title")}),n.jsx(Ee,{className:"sr-only",children:t("commandCenter.description")}),n.jsxs("div",{className:"flex h-14 items-center gap-3 border-b border-[hsl(var(--deck-hairline))] px-4",children:[n.jsx(U,{className:"h-4 w-4 shrink-0 text-[hsl(var(--deck-accent))]"}),n.jsx("input",{ref:te,autoFocus:!0,role:"combobox","aria-expanded":"true","aria-controls":"task-switcher-results","aria-activedescendant":W?`task-switcher-result-${f}`:Q?`command-center-result-${f}`:void 0,"aria-label":t(s==="tasks"?"taskSwitcher.searchAria":"commandCenter.searchAria"),placeholder:t(s==="tasks"?"taskSwitcher.placeholder":"commandCenter.placeholder"),value:v,onChange:e=>Z(e.target.value),onKeyDown:je,className:"h-full min-w-0 flex-1 bg-transparent font-mono text-[14px] text-[hsl(var(--deck-ink))] outline-none placeholder:text-[hsl(var(--deck-ink-faint))]"}),n.jsx("span",{className:"rounded border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-1.5 py-0.5 font-mono text-[9px] text-[hsl(var(--deck-ink-faint))]",children:"ESC"})]}),n.jsxs("div",{className:"flex items-center justify-between gap-3 px-4 pb-2 pt-3",children:[n.jsx("div",{role:"tablist","aria-label":t("commandCenter.modeAria"),className:"flex items-center gap-0.5 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] p-0.5",children:["tasks","commands"].map(e=>n.jsx("button",{type:"button",role:"tab","aria-selected":s===e,onClick:()=>{c(e),requestAnimationFrame(()=>{var a;return(a=te.current)==null?void 0:a.focus()})},className:S("rounded-[5px] px-2.5 py-1 font-mono text-[9.5px] uppercase tracking-[0.1em] transition-colors",s===e?"bg-[hsl(var(--deck-canvas))] text-[hsl(var(--deck-ink))] shadow-sm":"text-[hsl(var(--deck-ink-faint))] hover:text-[hsl(var(--deck-ink-muted))]"),children:t(e==="tasks"?"commandCenter.mode.tasks":"commandCenter.mode.commands")},e))}),n.jsx("span",{children:n.jsx("span",{className:"font-mono text-[9.5px] uppercase tracking-[0.14em] text-[hsl(var(--deck-ink-faint))]",children:s==="commands"?t("commandCenter.actions",{count:T.length}):v?t("taskSwitcher.results",{count:w.length}):B?b.length===0?t("taskSwitcher.indexing"):t("taskSwitcher.indexingLoaded",{count:b.length}):C==="error"?t("sidebar.catalog.incomplete"):ae>0?t("taskSwitcher.needsAction",{count:ae}):O.length>0?t("taskSwitcher.unread",{count:O.length}):t("taskSwitcher.scope",{count:b.length})})})]}),ee&&n.jsx("div",{role:"alert",className:"mx-4 mb-2 rounded-md border border-red-300/70 bg-red-50 px-3 py-2 font-mono text-[10.5px] text-red-700 dark:border-red-900/70 dark:bg-red-950/35 dark:text-red-300",children:ee}),n.jsxs("div",{id:"task-switcher-results",ref:ne,role:"listbox","aria-label":t(s==="tasks"?"taskSwitcher.resultsAria":"commandCenter.resultsAria"),className:"max-h-[min(460px,60vh)] overflow-y-auto px-2 pb-2",children:[s==="commands"&&n.jsx(tt,{actions:T,selectedIndex:f,onSelect:j,onRun:ce}),s==="tasks"&&w.map((e,a)=>{const l=R(e),x=G(l),N=q(e,A),Ne=_(N),oe=Me(l,K),H=a===f,Se=ye===x,Ce=O.includes(x),F=J(e),le=e.taskStatus==="running"||e.taskStatus==="queued",de=!!e.taskRetryAvailable&&(e.taskStatus==="failed"||e.taskStatus==="interrupted"||e.taskStatus==="cancelled"),V=ve.includes(x),z=we.includes(x);return n.jsxs("div",{id:`task-switcher-result-${a}`,"data-task-result-index":a,"data-session-ref":x,role:"option","aria-selected":H,onMouseEnter:()=>j(a),className:S("group flex min-h-[68px] w-full items-center rounded-lg border border-transparent text-left transition-colors",H?"border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))]":"hover:bg-[hsl(var(--deck-surface))]/60"),children:[n.jsxs("button",{type:"button",onClick:()=>void re(e),"aria-label":t("session.action.select",{title:F}),className:"flex min-h-[68px] min-w-0 flex-1 items-center gap-3 px-3 py-2 text-left focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-[hsl(var(--deck-accent))]",children:[n.jsx("span",{className:S("flex h-8 w-8 shrink-0 items-center justify-center rounded-md border bg-[hsl(var(--deck-canvas))]",oe?"border-[hsl(var(--deck-accent)/0.5)] text-[hsl(var(--deck-accent))]":"border-[hsl(var(--deck-border))] text-[hsl(var(--deck-ink-faint))]"),children:e.pendingInteraction?n.jsx(me,{className:"h-3.5 w-3.5 animate-pulse text-amber-600 dark:text-amber-400"}):e.taskStatus==="running"?n.jsx(Ue,{className:"h-3.5 w-3.5 animate-pulse"}):n.jsx(Ge,{className:"h-3.5 w-3.5"})}),n.jsxs("span",{className:"min-w-0 flex-1",children:[n.jsxs("span",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"truncate font-mono text-[12.5px] font-medium text-[hsl(var(--deck-ink))]",children:F}),oe&&n.jsx("span",{className:"shrink-0 rounded bg-[hsl(var(--deck-accent-soft))] px-1.5 py-0.5 font-mono text-[8.5px] uppercase tracking-[0.1em] text-[hsl(var(--deck-accent))]",children:t("taskSwitcher.current")}),Ce&&n.jsx("span",{className:"shrink-0 rounded bg-[hsl(var(--deck-accent-soft))] px-1.5 py-0.5 font-mono text-[8.5px] uppercase tracking-[0.1em] text-[hsl(var(--deck-accent))]",children:t("taskSwitcher.new")}),e.pendingInteraction&&n.jsx("span",{className:"shrink-0 rounded bg-amber-100 px-1.5 py-0.5 font-mono text-[8.5px] uppercase tracking-[0.08em] text-amber-800 dark:bg-amber-950/60 dark:text-amber-300",children:t(e.pendingInteraction.type==="question"?"interaction.badge.question":e.pendingInteraction.type==="elicitation"?"interaction.badge.elicitation":"interaction.badge.permission")}),e.taskRetriedFrom&&n.jsx("span",{title:`${t("session.retriedFrom")} ${e.taskRetriedFrom.sessionId.slice(0,6)}`,className:"shrink-0 rounded bg-[hsl(var(--deck-accent-soft))] px-1.5 py-0.5 font-mono text-[8.5px] text-[hsl(var(--deck-accent))]",children:t("session.retryShort")})]}),n.jsxs("span",{className:"mt-1 flex min-w-0 items-center gap-2 font-mono text-[9.5px] text-[hsl(var(--deck-ink-faint))]",children:[n.jsxs("span",{className:"inline-flex min-w-0 items-center gap-1",children:[n.jsx(_e,{className:"h-2.5 w-2.5 shrink-0"}),n.jsx("span",{className:"truncate",children:Ne})]}),(e.taskWorktreeBranch||e.gitBranch)&&n.jsxs("span",{className:"inline-flex min-w-0 items-center gap-1",children:[n.jsx(Je,{className:"h-2.5 w-2.5 shrink-0"}),n.jsx("span",{className:"truncate",children:e.taskWorktreeBranch||e.gitBranch})]}),n.jsx("span",{className:"shrink-0",children:e.taskStatus==="queued"&&e.taskQueuePosition!==void 0&&e.taskQueueDepth!==void 0?t("session.queued",{position:e.taskQueuePosition,depth:e.taskQueueDepth}):e.pendingInteraction?t(e.pendingInteraction.type==="question"?"interaction.badge.question":e.pendingInteraction.type==="elicitation"?"interaction.badge.elicitation":"interaction.badge.permission"):t(it[e.taskStatus])}),n.jsxs("span",{className:"ml-auto inline-flex shrink-0 items-center gap-1",children:[n.jsx(Xe,{className:"h-2.5 w-2.5"}),st(e)]})]})]}),Se?n.jsx(P,{className:"h-3.5 w-3.5 shrink-0 animate-spin text-[hsl(var(--deck-accent))]"}):n.jsx(ue,{className:S("h-3.5 w-3.5 shrink-0 transition-all",H?"translate-x-0 text-[hsl(var(--deck-accent))] opacity-100":"-translate-x-1 text-[hsl(var(--deck-ink-faint))] opacity-0")})]}),(le||de)&&n.jsxs("div",{className:"flex shrink-0 items-center pr-2",children:[le&&n.jsx("button",{type:"button","aria-label":t(V?"session.action.stopping":"session.action.stop",{title:F}),disabled:V,onClick:()=>void ie("cancel",e),className:"flex h-8 w-8 items-center justify-center rounded-md text-red-500 transition-colors hover:bg-red-500/10 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-red-500 disabled:cursor-wait disabled:opacity-60",children:V?n.jsx(P,{className:"h-3.5 w-3.5 animate-spin"}):n.jsx(Ye,{className:"h-3.5 w-3.5"})}),de&&n.jsx("button",{type:"button","aria-label":t(z?"session.action.retrying":"session.action.retry",{title:F}),disabled:z,onClick:()=>void ie("retry",e),className:"flex h-8 w-8 items-center justify-center rounded-md text-[hsl(var(--deck-accent))] transition-colors hover:bg-[hsl(var(--deck-accent-soft))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-wait disabled:opacity-60",children:z?n.jsx(P,{className:"h-3.5 w-3.5 animate-spin"}):n.jsx(Ze,{className:"h-3.5 w-3.5"})})]})]},x)}),s==="tasks"&&w.length===0&&B&&n.jsxs("div",{className:"flex min-h-36 items-center justify-center gap-2 font-mono text-[11px] text-[hsl(var(--deck-ink-faint))]",children:[n.jsx(P,{className:"h-3.5 w-3.5 animate-spin text-[hsl(var(--deck-accent))]"}),t("taskSwitcher.indexing")]}),s==="tasks"&&w.length===0&&!B&&C!=="error"&&!he&&n.jsxs("div",{className:"flex min-h-36 flex-col items-center justify-center px-6 text-center",children:[n.jsx(U,{className:"mb-3 h-5 w-5 text-[hsl(var(--deck-ink-faint))]"}),n.jsx("p",{className:"font-mono text-[12px] text-[hsl(var(--deck-ink-muted))]",children:t("taskSwitcher.empty")}),n.jsx("p",{className:"mt-1 text-[10.5px] text-[hsl(var(--deck-ink-faint))]",children:t("taskSwitcher.emptyHint")})]}),s==="tasks"&&w.length===0&&C==="error"&&n.jsxs("div",{role:"alert",className:"flex min-h-36 flex-col items-center justify-center px-6 text-center",children:[n.jsx(me,{className:"mb-3 h-5 w-5 text-amber-500"}),n.jsx("p",{className:"font-mono text-[12px] text-[hsl(var(--deck-ink-muted))]",children:t("sidebar.catalog.incomplete")})]}),s==="commands"&&T.length===0&&n.jsxs("div",{className:"flex min-h-36 flex-col items-center justify-center px-6 text-center",children:[n.jsx(U,{className:"mb-3 h-5 w-5 text-[hsl(var(--deck-ink-faint))]"}),n.jsx("p",{className:"font-mono text-[12px] text-[hsl(var(--deck-ink-muted))]",children:t("commandCenter.empty")}),n.jsx("p",{className:"mt-1 text-[10.5px] text-[hsl(var(--deck-ink-faint))]",children:t("commandCenter.emptyHint")})]})]}),n.jsxs("div",{className:"flex items-center gap-4 border-t border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-canvas-veil))] px-4 py-2 font-mono text-[9px] text-[hsl(var(--deck-ink-faint))]",children:[n.jsxs("span",{children:["↑↓ ",t("taskSwitcher.hint.navigate")]}),n.jsxs("span",{children:["↵ ",t("taskSwitcher.hint.open")]}),n.jsxs("span",{className:"ml-auto",children:[L(s==="tasks"?"openCommands":"searchTasks")," ",t(s==="tasks"?"commandCenter.mode.commands":"commandCenter.mode.tasks")]})]})]})})}export{pt as TaskSwitcher};
@@ -1 +1 @@
1
- import{r as t,j as a}from"./vendor-react-DG5dkZ_t.js";import{D as A,o as R,L as j}from"./vendor-xterm-DuYZoU4T.js";import{u as C,b as N,Q as F,j as x}from"./index-CfVQVVVI.js";import{k as M,at as S,X as T}from"./vendor-icons-DovdPN7M.js";import"./vendor-radix-DXRuAJHH.js";import"./session-events-Bgir_Gl_.js";const $=({workspacePath:b})=>{const c=C(),{isTerminalOpen:l,toggleTerminal:y}=N(),[s,z]=t.useState(!1),[p,u]=t.useState(!1),g=F(),m=t.useRef(null),i=t.useRef(null),h=t.useRef(null),o=t.useRef(null),E=t.useRef(null),B=t.useCallback(()=>{var f;if(((f=o.current)==null?void 0:f.readyState)===WebSocket.OPEN)return;const r=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/terminal/ws`,e=b?`${r}?cwd=${encodeURIComponent(b)}`:r,n=new WebSocket(e);o.current=n,n.onopen=()=>{u(!0)},n.onmessage=w=>{var d;(d=i.current)==null||d.write(w.data)},n.onclose=()=>{u(!1)},n.onerror=()=>{u(!1)}},[b]),k=t.useCallback(()=>{o.current&&(o.current.close(),o.current=null),u(!1)},[]),v=t.useCallback(r=>{var e;((e=o.current)==null?void 0:e.readyState)===WebSocket.OPEN&&o.current.send(r)},[]);return t.useEffect(()=>(E.current=document.activeElement instanceof HTMLElement?document.activeElement:null,()=>{var r;return(r=E.current)==null?void 0:r.focus({preventScroll:!0})}),[]),t.useEffect(()=>{if(!l||!m.current||i.current)return;const r={background:"#ffffff",foreground:"#111827",cursor:"#111827",cursorAccent:"#ffffff",selectionBackground:"#E5E7EB",black:"#111827",red:"#dc2626",green:"#16a34a",yellow:"#ca8a04",blue:"#2563eb",magenta:"#7c3aed",cyan:"#0891b2",white:"#111827",brightBlack:"#6b7280",brightRed:"#ef4444",brightGreen:"#22c55e",brightYellow:"#facc15",brightBlue:"#60a5fa",brightMagenta:"#a855f7",brightCyan:"#22d3ee",brightWhite:"#111827"},e=new A({cursorBlink:!0,cursorStyle:"bar",fontSize:14,fontFamily:"JetBrains Mono, Menlo, Monaco, Consolas, monospace",allowTransparency:!0,scrollback:1e4,theme:g?{background:"#0a0a0a",foreground:"#e4e4e7",cursor:"#e4e4e7",cursorAccent:"#0a0a0a",selectionBackground:"#3f3f46",black:"#18181b",red:"#ef4444",green:"#22c55e",yellow:"#eab308",blue:"#3b82f6",magenta:"#a855f7",cyan:"#06b6d4",white:"#e4e4e7",brightBlack:"#52525b",brightRed:"#f87171",brightGreen:"#4ade80",brightYellow:"#facc15",brightBlue:"#60a5fa",brightMagenta:"#c084fc",brightCyan:"#22d3ee",brightWhite:"#fafafa"}:r}),n=new R,f=new j;e.loadAddon(n),e.loadAddon(f),e.open(m.current),n.fit();const w=requestAnimationFrame(()=>e.focus());return e.onData(d=>{v(d)}),i.current=e,h.current=n,B(),()=>{cancelAnimationFrame(w),k(),e.dispose(),i.current=null,h.current=null}},[l,B,k,v]),t.useEffect(()=>{i.current&&(i.current.options.theme=g?{background:"#0a0a0a",foreground:"#e4e4e7",cursor:"#e4e4e7",cursorAccent:"#0a0a0a",selectionBackground:"#3f3f46",black:"#18181b",red:"#ef4444",green:"#22c55e",yellow:"#eab308",blue:"#3b82f6",magenta:"#a855f7",cyan:"#06b6d4",white:"#e4e4e7",brightBlack:"#52525b",brightRed:"#f87171",brightGreen:"#4ade80",brightYellow:"#facc15",brightBlue:"#60a5fa",brightMagenta:"#c084fc",brightCyan:"#22d3ee",brightWhite:"#fafafa"}:{background:"#ffffff",foreground:"#111827",cursor:"#111827",cursorAccent:"#ffffff",selectionBackground:"#E5E7EB",black:"#111827",red:"#dc2626",green:"#16a34a",yellow:"#ca8a04",blue:"#2563eb",magenta:"#7c3aed",cyan:"#0891b2",white:"#111827",brightBlack:"#6b7280",brightRed:"#ef4444",brightGreen:"#22c55e",brightYellow:"#facc15",brightBlue:"#60a5fa",brightMagenta:"#a855f7",brightCyan:"#22d3ee",brightWhite:"#111827"})},[g]),t.useEffect(()=>{if(!l||s)return;const r=()=>{var n;(n=h.current)==null||n.fit()};window.addEventListener("resize",r);const e=setTimeout(r,100);return()=>{window.removeEventListener("resize",r),clearTimeout(e)}},[l,s]),l?a.jsxs("div",{role:"region","aria-label":c("terminal.title"),className:x("fixed bottom-0 left-0 right-0 z-40 bg-white dark:bg-[#0a0a0a] border-t border-[#E5E7EB] dark:border-zinc-800 transition-all duration-200",s?"h-10":"h-[min(18rem,45dvh)]"),children:[a.jsxs("div",{className:"flex items-center justify-between h-10 px-3 border-b border-[#E5E7EB] dark:border-zinc-800 bg-[#F9FAFB] dark:bg-zinc-900/50",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(M,{className:"h-4 w-4 text-[#9CA3AF] dark:text-zinc-400"}),a.jsx("span",{className:"text-sm text-[#6B7280] dark:text-zinc-400",children:c("terminal.title")}),a.jsx("span",{role:"status","aria-label":c(p?"terminal.status.connected":"terminal.status.disconnected"),className:x("w-2 h-2 rounded-full",p?"bg-green-500":"bg-zinc-600")})]}),a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx("button",{type:"button",onClick:()=>z(!s),"aria-label":c(s?"terminal.action.restore":"terminal.action.minimize"),className:"p-1.5 rounded hover:bg-[#E5E7EB] text-[#9CA3AF] hover:text-[#111827] dark:hover:bg-zinc-800 dark:text-zinc-400 dark:hover:text-zinc-200 transition-colors",children:a.jsx(S,{className:"h-4 w-4"})}),a.jsx("button",{type:"button",onClick:()=>{k(),y()},"aria-label":c("terminal.action.close"),className:"p-1.5 rounded hover:bg-[#E5E7EB] text-[#9CA3AF] hover:text-[#111827] dark:hover:bg-zinc-800 dark:text-zinc-400 dark:hover:text-zinc-200 transition-colors",children:a.jsx(T,{className:"h-4 w-4"})})]})]}),a.jsx("div",{ref:m,className:x("h-[calc(100%-40px)] p-2",s&&"hidden")})]}):null};export{$ as TerminalPanel};
1
+ import{r as t,j as a}from"./vendor-react-DG5dkZ_t.js";import{D as A,o as R,L as j}from"./vendor-xterm-DuYZoU4T.js";import{u as C,b as N,Q as F,j as x}from"./index-DHX-G3RT.js";import{k as M,at as S,X as T}from"./vendor-icons-DovdPN7M.js";import"./vendor-radix-DXRuAJHH.js";import"./session-events-Bgir_Gl_.js";const $=({workspacePath:b})=>{const c=C(),{isTerminalOpen:l,toggleTerminal:y}=N(),[s,z]=t.useState(!1),[p,u]=t.useState(!1),g=F(),m=t.useRef(null),i=t.useRef(null),h=t.useRef(null),o=t.useRef(null),E=t.useRef(null),B=t.useCallback(()=>{var f;if(((f=o.current)==null?void 0:f.readyState)===WebSocket.OPEN)return;const r=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/terminal/ws`,e=b?`${r}?cwd=${encodeURIComponent(b)}`:r,n=new WebSocket(e);o.current=n,n.onopen=()=>{u(!0)},n.onmessage=w=>{var d;(d=i.current)==null||d.write(w.data)},n.onclose=()=>{u(!1)},n.onerror=()=>{u(!1)}},[b]),k=t.useCallback(()=>{o.current&&(o.current.close(),o.current=null),u(!1)},[]),v=t.useCallback(r=>{var e;((e=o.current)==null?void 0:e.readyState)===WebSocket.OPEN&&o.current.send(r)},[]);return t.useEffect(()=>(E.current=document.activeElement instanceof HTMLElement?document.activeElement:null,()=>{var r;return(r=E.current)==null?void 0:r.focus({preventScroll:!0})}),[]),t.useEffect(()=>{if(!l||!m.current||i.current)return;const r={background:"#ffffff",foreground:"#111827",cursor:"#111827",cursorAccent:"#ffffff",selectionBackground:"#E5E7EB",black:"#111827",red:"#dc2626",green:"#16a34a",yellow:"#ca8a04",blue:"#2563eb",magenta:"#7c3aed",cyan:"#0891b2",white:"#111827",brightBlack:"#6b7280",brightRed:"#ef4444",brightGreen:"#22c55e",brightYellow:"#facc15",brightBlue:"#60a5fa",brightMagenta:"#a855f7",brightCyan:"#22d3ee",brightWhite:"#111827"},e=new A({cursorBlink:!0,cursorStyle:"bar",fontSize:14,fontFamily:"JetBrains Mono, Menlo, Monaco, Consolas, monospace",allowTransparency:!0,scrollback:1e4,theme:g?{background:"#0a0a0a",foreground:"#e4e4e7",cursor:"#e4e4e7",cursorAccent:"#0a0a0a",selectionBackground:"#3f3f46",black:"#18181b",red:"#ef4444",green:"#22c55e",yellow:"#eab308",blue:"#3b82f6",magenta:"#a855f7",cyan:"#06b6d4",white:"#e4e4e7",brightBlack:"#52525b",brightRed:"#f87171",brightGreen:"#4ade80",brightYellow:"#facc15",brightBlue:"#60a5fa",brightMagenta:"#c084fc",brightCyan:"#22d3ee",brightWhite:"#fafafa"}:r}),n=new R,f=new j;e.loadAddon(n),e.loadAddon(f),e.open(m.current),n.fit();const w=requestAnimationFrame(()=>e.focus());return e.onData(d=>{v(d)}),i.current=e,h.current=n,B(),()=>{cancelAnimationFrame(w),k(),e.dispose(),i.current=null,h.current=null}},[l,B,k,v]),t.useEffect(()=>{i.current&&(i.current.options.theme=g?{background:"#0a0a0a",foreground:"#e4e4e7",cursor:"#e4e4e7",cursorAccent:"#0a0a0a",selectionBackground:"#3f3f46",black:"#18181b",red:"#ef4444",green:"#22c55e",yellow:"#eab308",blue:"#3b82f6",magenta:"#a855f7",cyan:"#06b6d4",white:"#e4e4e7",brightBlack:"#52525b",brightRed:"#f87171",brightGreen:"#4ade80",brightYellow:"#facc15",brightBlue:"#60a5fa",brightMagenta:"#c084fc",brightCyan:"#22d3ee",brightWhite:"#fafafa"}:{background:"#ffffff",foreground:"#111827",cursor:"#111827",cursorAccent:"#ffffff",selectionBackground:"#E5E7EB",black:"#111827",red:"#dc2626",green:"#16a34a",yellow:"#ca8a04",blue:"#2563eb",magenta:"#7c3aed",cyan:"#0891b2",white:"#111827",brightBlack:"#6b7280",brightRed:"#ef4444",brightGreen:"#22c55e",brightYellow:"#facc15",brightBlue:"#60a5fa",brightMagenta:"#a855f7",brightCyan:"#22d3ee",brightWhite:"#111827"})},[g]),t.useEffect(()=>{if(!l||s)return;const r=()=>{var n;(n=h.current)==null||n.fit()};window.addEventListener("resize",r);const e=setTimeout(r,100);return()=>{window.removeEventListener("resize",r),clearTimeout(e)}},[l,s]),l?a.jsxs("div",{role:"region","aria-label":c("terminal.title"),className:x("fixed bottom-0 left-0 right-0 z-40 bg-white dark:bg-[#0a0a0a] border-t border-[#E5E7EB] dark:border-zinc-800 transition-all duration-200",s?"h-10":"h-[min(18rem,45dvh)]"),children:[a.jsxs("div",{className:"flex items-center justify-between h-10 px-3 border-b border-[#E5E7EB] dark:border-zinc-800 bg-[#F9FAFB] dark:bg-zinc-900/50",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(M,{className:"h-4 w-4 text-[#9CA3AF] dark:text-zinc-400"}),a.jsx("span",{className:"text-sm text-[#6B7280] dark:text-zinc-400",children:c("terminal.title")}),a.jsx("span",{role:"status","aria-label":c(p?"terminal.status.connected":"terminal.status.disconnected"),className:x("w-2 h-2 rounded-full",p?"bg-green-500":"bg-zinc-600")})]}),a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx("button",{type:"button",onClick:()=>z(!s),"aria-label":c(s?"terminal.action.restore":"terminal.action.minimize"),className:"p-1.5 rounded hover:bg-[#E5E7EB] text-[#9CA3AF] hover:text-[#111827] dark:hover:bg-zinc-800 dark:text-zinc-400 dark:hover:text-zinc-200 transition-colors",children:a.jsx(S,{className:"h-4 w-4"})}),a.jsx("button",{type:"button",onClick:()=>{k(),y()},"aria-label":c("terminal.action.close"),className:"p-1.5 rounded hover:bg-[#E5E7EB] text-[#9CA3AF] hover:text-[#111827] dark:hover:bg-zinc-800 dark:text-zinc-400 dark:hover:text-zinc-200 transition-colors",children:a.jsx(T,{className:"h-4 w-4"})})]})]}),a.jsx("div",{ref:m,className:x("h-[calc(100%-40px)] p-2",s&&"hidden")})]}):null};export{$ as TerminalPanel};