blade-code 0.11.1 → 0.11.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/blade.js +2 -2
- package/dist/{chunk-2ftyzk83.js → chunk-04qhtx2w.js} +1 -1
- package/dist/{chunk-4cdk4mds.js → chunk-0eajnhrj.js} +1 -1
- package/dist/{chunk-a74ynw4t.js → chunk-0kxya4ye.js} +1 -1
- package/dist/{chunk-5034apfz.js → chunk-0wxnrjes.js} +2 -2
- package/dist/{chunk-vbjgcn49.js → chunk-1cy4ab77.js} +1 -1
- package/dist/chunk-21qsfewd.js +1 -0
- package/dist/{chunk-pm5ssr7m.js → chunk-290p3r7a.js} +1 -1
- package/dist/{chunk-xcj23spc.js → chunk-2fdghgmf.js} +2 -2
- package/dist/chunk-3d4wgfkr.js +1 -0
- package/dist/{chunk-25s0c8km.js → chunk-3ee357pw.js} +3 -3
- package/dist/{chunk-9ydrwcpy.js → chunk-4e4qtpca.js} +2 -2
- package/dist/{chunk-0wcnkxe8.js → chunk-5s2x98rx.js} +2 -2
- package/dist/chunk-634ymwg5.js +1 -0
- package/dist/chunk-65v1vjvg.js +1 -0
- package/dist/{chunk-8sth12hd.js → chunk-6v23hdt8.js} +1 -1
- package/dist/{chunk-xseh3f4m.js → chunk-6x5f6she.js} +1 -1
- package/dist/{chunk-06hkf59s.js → chunk-7ajvrtb3.js} +1 -1
- package/dist/chunk-7p8r4q6f.js +1 -0
- package/dist/{chunk-hmw99nm1.js → chunk-7rz5dt79.js} +27 -27
- package/dist/{chunk-8n3jythp.js → chunk-8q6zsznc.js} +2 -2
- package/dist/{chunk-s1cch8tt.js → chunk-a3dz41pd.js} +1 -1
- package/dist/{chunk-gzbb747a.js → chunk-a95jmx2j.js} +1 -1
- package/dist/{chunk-n8qg68y2.js → chunk-amabfzc8.js} +1 -1
- package/dist/{chunk-m30qwpe9.js → chunk-b22ab7yw.js} +1 -1
- package/dist/{chunk-0b83mt1c.js → chunk-crv3sghv.js} +2 -2
- package/dist/chunk-d4xsrx3z.js +357 -0
- package/dist/{chunk-7eset766.js → chunk-ebvzp8tn.js} +6 -6
- package/dist/chunk-eg0s155w.js +1 -0
- package/dist/chunk-enmn892r.js +10 -0
- package/dist/{chunk-9yn01a90.js → chunk-er6zghgg.js} +1 -1
- package/dist/{chunk-30p7aff1.js → chunk-f9qrjd2f.js} +1 -1
- package/dist/{chunk-2vrsfb8p.js → chunk-fb2x1026.js} +55 -55
- package/dist/{chunk-xcy45yxx.js → chunk-g0xtk1yy.js} +2 -2
- package/dist/{chunk-h8w3ahnk.js → chunk-g2295k8s.js} +2 -2
- package/dist/{chunk-m8te4s8f.js → chunk-g7pjgspy.js} +2 -2
- package/dist/chunk-gff7a5q0.js +1 -0
- package/dist/chunk-gymecxcc.js +1 -0
- package/dist/{chunk-yrr9mdjn.js → chunk-h4b4fn3t.js} +2 -2
- package/dist/{chunk-ta99scbr.js → chunk-jbpasjg9.js} +1 -1
- package/dist/{chunk-xzva8y4e.js → chunk-k2rgg45h.js} +3 -3
- package/dist/chunk-kaj8jaj5.js +6 -0
- package/dist/{chunk-3kszepm6.js → chunk-kehgewqh.js} +1 -1
- package/dist/{chunk-wcps5gjm.js → chunk-kkzznz4w.js} +1 -1
- package/dist/chunk-m2x6pb4f.js +2 -0
- package/dist/{chunk-tqt5c2f5.js → chunk-n30najxq.js} +2 -2
- package/dist/{chunk-80946c9a.js → chunk-p36k2e96.js} +1 -1
- package/dist/chunk-p665f6pn.js +1 -0
- package/dist/chunk-pjeks4cz.js +1 -0
- package/dist/{chunk-zfxcef0z.js → chunk-pm163dfm.js} +1 -1
- package/dist/{chunk-zjezws85.js → chunk-px45q235.js} +2 -2
- package/dist/{chunk-5bc4hwt9.js → chunk-q6sr4979.js} +2 -2
- package/dist/{chunk-447ps2te.js → chunk-qa86anwd.js} +2 -2
- package/dist/{chunk-sa9fxss4.js → chunk-qhcd0ww0.js} +1 -1
- package/dist/chunk-qyfbeg5h.js +1 -0
- package/dist/{chunk-v1k6nvth.js → chunk-re8p2y22.js} +1 -1
- package/dist/{chunk-xz7dddaj.js → chunk-s7x4x6xw.js} +1 -1
- package/dist/{chunk-f552hzcx.js → chunk-sdapqhj0.js} +1 -1
- package/dist/{chunk-a731hdwa.js → chunk-skktstg8.js} +1 -1
- package/dist/chunk-sqsfztrv.js +1 -0
- package/dist/chunk-t3pkk95s.js +1 -0
- package/dist/{chunk-ts5xzefm.js → chunk-tx9tb485.js} +2 -2
- package/dist/{chunk-m70cnaeg.js → chunk-v0eanse2.js} +1 -1
- package/dist/{chunk-ms0wve9g.js → chunk-vemyfx92.js} +2 -2
- package/dist/{chunk-dxq7462e.js → chunk-wan9q99y.js} +2 -2
- package/dist/{chunk-f6hc7t65.js → chunk-wnzr9h84.js} +1 -1
- package/dist/{chunk-5yyp6njq.js → chunk-x6k5ye1z.js} +1 -1
- package/dist/{chunk-1beqtjsw.js → chunk-xnys4bgs.js} +1 -1
- package/dist/{chunk-27bjk35b.js → chunk-xrgeakpy.js} +1 -1
- package/dist/{chunk-fqxzzsgr.js → chunk-yeandcre.js} +1 -1
- package/dist/{chunk-a1tt14a2.js → chunk-yjcp8jk1.js} +2 -2
- package/dist/{chunk-3y2x6fb6.js → chunk-ys8gysg8.js} +1 -1
- package/dist/{chunk-rt3f4xjz.js → chunk-zf72e5w8.js} +14 -6
- package/dist/{chunk-g0hhqxpg.js → chunk-zwe1a7xe.js} +2 -2
- package/dist/web/assets/{ChatView-BA3kB_z1.js → ChatView-DysPZPwF.js} +5 -5
- package/dist/web/assets/{CodeBlockHighlighter-B5kcdVCA.js → CodeBlockHighlighter-OvLyFs9U.js} +1 -1
- package/dist/web/assets/{FilePreview-BQid6G2-.js → FilePreview-CkSPwPdW.js} +3 -3
- package/dist/web/assets/{KanbanBoard-CTR7bMLa.js → KanbanBoard-DH1wApt6.js} +1 -1
- package/dist/web/assets/{MarkdownRenderer-d7DdyYdx.js → MarkdownRenderer-BTxnqChi.js} +3 -3
- package/dist/web/assets/{ScrollArea-D1tPWHKZ.js → ScrollArea-BdOqyQ3g.js} +1 -1
- package/dist/web/assets/{SessionHistorySurface-Cv_jRoJr.js → SessionHistorySurface-DaKE2oKU.js} +1 -1
- package/dist/web/assets/{SettingsModal-CFa2uCzI.js → SettingsModal-CWlSSO_E.js} +1 -1
- package/dist/web/assets/{Sidebar-DrRNJOgU.js → Sidebar-Dirk-XAQ.js} +1 -1
- package/dist/web/assets/{TaskSwitcher-C9AKJrl-.js → TaskSwitcher-DKelLFZm.js} +1 -1
- package/dist/web/assets/{TerminalPanel-BxBGcuB9.js → TerminalPanel-D5Rieq62.js} +1 -1
- package/dist/web/assets/{archive-DNa9b1YE.js → archive-CsFSEMp9.js} +1 -1
- package/dist/web/assets/{arrow-left-BQh8jlfT.js → arrow-left-gaino9Tb.js} +1 -1
- package/dist/web/assets/{calendar-clock-CC7FeYTg.js → calendar-clock-DfHUrEw9.js} +1 -1
- package/dist/web/assets/chevron-right-Bvu2j6hB.js +1 -0
- package/dist/web/assets/{clock-3-P2q6i6vm.js → clock-3-dWIDc9IF.js} +1 -1
- package/dist/web/assets/{copy-C-KvzjCC.js → copy-BPfhyh47.js} +1 -1
- package/dist/web/assets/{dist-DiQNoDMg.js → dist-RGayDvc-.js} +1 -1
- package/dist/web/assets/{download-CJHn20x1.js → download-BR2L5Wme.js} +1 -1
- package/dist/web/assets/{folder-DmyFehXD.js → folder-8dmZJ2a6.js} +1 -1
- package/dist/web/assets/{index-BVEiHNFk.css → index-B7RyuO2x.css} +1 -1
- package/dist/web/assets/{index-D-oma3Je.js → index-DSa8Dzp7.js} +4 -4
- package/dist/web/assets/{message-square-plus-CKu9bFq3.js → message-square-plus-BgC981WF.js} +1 -1
- package/dist/web/assets/{pause-D2FxNG-w.js → pause-DLZIDFMB.js} +1 -1
- package/dist/web/assets/{pencil-D6HI7KC8.js → pencil-DkC0bPYD.js} +1 -1
- package/dist/web/assets/{play-4jKCDYR-.js → play-BVeNn6fv.js} +1 -1
- package/dist/web/assets/plus-kzdwas-3.js +1 -0
- package/dist/web/assets/{preload-helper-BC9Zf9qO.js → preload-helper-DvgLbiBV.js} +1 -1
- package/dist/web/assets/{session-events-CvFfHkFA.js → session-events-BuMTbIwu.js} +6 -6
- package/dist/web/assets/{settings-fWlqCZ-U.js → settings-msYyNDKx.js} +1 -1
- package/dist/web/assets/{team-qGS2kixH.js → team-D3XOVbxL.js} +1 -1
- package/dist/web/assets/{teamService-DfIvlI2_.js → teamService-Bus5RDi1.js} +1 -1
- package/dist/web/assets/{terminal-DZkEoiSb.js → terminal-Cp5WYo8w.js} +1 -1
- package/dist/web/assets/{triangle-alert-Detl9fRQ.js → triangle-alert-cGqHxFsZ.js} +1 -1
- package/dist/web/assets/{vendor-radix-CHeA_3Pt.js → vendor-radix-L0yJCKJX.js} +1 -1
- package/dist/web/assets/{vendor-react-hNfZDUf2.js → vendor-react-CHEIQMI-.js} +1 -1
- package/dist/web/index.html +5 -5
- package/package.json +1 -1
- package/dist/chunk-1kxpnt9q.js +0 -1
- package/dist/chunk-2g3v9qpz.js +0 -1
- package/dist/chunk-43gg1wdc.js +0 -1
- package/dist/chunk-72wn385d.js +0 -1
- package/dist/chunk-7vzz3rsx.js +0 -332
- package/dist/chunk-8emp6ysb.js +0 -1
- package/dist/chunk-8evyh5t0.js +0 -1
- package/dist/chunk-8hdtssvs.js +0 -1
- package/dist/chunk-b36egepz.js +0 -1
- package/dist/chunk-hrtf7dba.js +0 -2
- package/dist/chunk-j7dx054r.js +0 -1
- package/dist/chunk-j9ppeg6v.js +0 -1
- package/dist/chunk-jemb0vwa.js +0 -1
- package/dist/chunk-r9m3b170.js +0 -1
- package/dist/chunk-tf1qz4q6.js +0 -1
- package/dist/chunk-v17q4bsd.js +0 -6
- package/dist/chunk-y0wc0hef.js +0 -10
- package/dist/web/assets/chevron-right-6ZTOJE0p.js +0 -1
- package/dist/web/assets/plus-C4p8E1Nk.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as e,t}from"./rolldown-runtime-hePW80VL.js";import{dt as n,i as r}from"./session-events-CvFfHkFA.js";import{C as i,S as a,x as o}from"./vendor-radix-CHeA_3Pt.js";import{c as s,l as c,r as l,s as u}from"./preload-helper-BC9Zf9qO.js";import{n as d,t as f}from"./team-qGS2kixH.js";import{t as p}from"./arrow-left-BQh8jlfT.js";import{t as m}from"./calendar-clock-CC7FeYTg.js";import{t as h}from"./download-CJHn20x1.js";import{n as g,t as _}from"./triangle-alert-Detl9fRQ.js";import{t as v}from"./pencil-D6HI7KC8.js";import{t as y}from"./play-4jKCDYR-.js";import{t as b}from"./plus-C4p8E1Nk.js";import{F as x,I as S,K as C,L as w,Q as T,S as E,U as D,V as O,W as k,Y as A,_t as j,a as M,b as N,d as P,f as ee,g as te,gt as ne,it as re,m as ie,nt as ae,p as F,st as I,vt as L,y as R}from"./index-D-oma3Je.js";import{t as z}from"./ScrollArea-D1tPWHKZ.js";var B={name:`eye-off`,size:24,node:[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]};B.node;var oe=c(B),V={name:`eye`,size:24,node:[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]};V.node;var se=c(V),ce={name:`store`,size:24,node:[[`path`,{d:`M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5`,key:`slp6dd`}],[`path`,{d:`M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244`,key:`o0xfot`}],[`path`,{d:`M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05`,key:`wn3emo`}]]};ce.node;var H=c(ce),U=e(n()),W=e=>(t,n)=>{let r=(0,U.useRef)(!1);e(()=>()=>{r.current=!1},[]),e(()=>{if(!r.current)r.current=!0;else return t()},n)},G=e=>typeof e==`function`,K=e=>e!=null,le=e=>K(e)&&G(e.then),q=e=>{let t=(0,U.useRef)(e);t.current=(0,U.useMemo)(()=>e,[e]);let n=(0,U.useRef)(void 0);return n.current||=function(...e){return t.current.apply(this,e)},n.current},J=W(U.useEffect),ue=(e,{manual:t,ready:n=!0,defaultParams:r=[],refreshDeps:i=[],refreshDepsAction:a})=>{let o=(0,U.useRef)(!1);return o.current=!1,J(()=>{!t&&n&&(o.current=!0,e.run(...r))},[n]),J(()=>{o.current||t||(o.current=!0,a?a():e.refresh())},[...i]),{onBefore:()=>{if(!n)return{stopNow:!0}}}};ue.onInit=({ready:e=!0,manual:t})=>({loading:!t&&e});function de(e,t){if(e===t)return!0;for(let n=0;n<e.length;n++)if(!Object.is(e[n],t[n]))return!1;return!0}var Y=(e,t)=>{let{current:n}=(0,U.useRef)({deps:t,obj:void 0,initialized:!1});return(n.initialized===!1||!de(n.deps,t))&&(n.deps=t,n.obj=e(),n.initialized=!0),n.obj};function fe(e){let t=(0,U.useRef)(e);return t.current=e,t}var pe=e=>{let t=fe(e);(0,U.useEffect)(()=>()=>{t.current()},[])},X=new Map,me=e=>{e?.timer&&clearTimeout(e.timer)},he=(e,t,n)=>{me(X.get(e));let r;t>-1&&(r=setTimeout(()=>{X.delete(e)},t)),X.set(e,Object.assign(Object.assign({},n),{timer:r}))},Z=e=>X.get(e),ge=new Map,_e=e=>ge.get(e),ve=(e,t)=>{ge.set(e,t),t.then(t=>(ge.delete(e),t)).catch(()=>{ge.delete(e)})},Q={},ye=(e,t)=>{Q[e]&&Q[e].forEach(e=>e(t))},be=(e,t)=>(Q[e]||(Q[e]=[]),Q[e].push(t),function(){let n=Q[e].indexOf(t);Q[e].splice(n,1)}),xe=(e,{cacheKey:t,cacheTime:n=3e5,staleTime:r=0,setCache:i,getCache:a})=>{let o=(0,U.useRef)(void 0),s=(0,U.useRef)(void 0),c=(e,t)=>{i?i(t):he(e,n,t),ye(e,t.data)},l=(e,t=[])=>a?a(t):Z(e);return Y(()=>{if(!t)return;let n=l(t);n&&Object.hasOwnProperty.call(n,`data`)&&(e.state.data=n.data,e.state.params=n.params,(r===-1||Date.now()-n.time<=r)&&(e.state.loading=!1)),o.current=be(t,t=>{e.setState({data:t})})},[]),pe(()=>{var e;(e=o.current)==null||e.call(o)}),t?{onBefore:e=>{let n=l(t,e);return!n||!Object.hasOwnProperty.call(n,`data`)?{}:r===-1||Date.now()-n.time<=r?{loading:!1,data:n?.data,error:void 0,returnNow:!0}:{data:n?.data,error:void 0}},onRequest:(e,n)=>{let r=_e(t);return r&&r!==s.current?{servicePromise:r}:(r=e(...n),s.current=r,ve(t,r),{servicePromise:r})},onSuccess:(n,r)=>{var i;t&&((i=o.current)==null||i.call(o),c(t,{data:n,params:r,time:Date.now()}),o.current=be(t,t=>{e.setState({data:t})}))},onMutate:n=>{var r;t&&((r=o.current)==null||r.call(o),c(t,{data:n,params:e.state.params,time:Date.now()}),o.current=be(t,t=>{e.setState({data:t})}))}}:{}},Se=t(((e,t)=>{function n(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}t.exports=n})),Ce=t(((e,t)=>{t.exports=typeof global==`object`&&global&&global.Object===Object&&global})),we=t(((e,t)=>{var n=Ce(),r=typeof self==`object`&&self&&self.Object===Object&&self;t.exports=n||r||Function(`return this`)()})),Te=t(((e,t)=>{var n=we();t.exports=function(){return n.Date.now()}})),Ee=t(((e,t)=>{var n=/\s/;function r(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t}t.exports=r})),De=t(((e,t)=>{var n=Ee(),r=/^\s+/;function i(e){return e&&e.slice(0,n(e)+1).replace(r,``)}t.exports=i})),Oe=t(((e,t)=>{t.exports=we().Symbol})),ke=t(((e,t)=>{var n=Oe(),r=Object.prototype,i=r.hasOwnProperty,a=r.toString,o=n?n.toStringTag:void 0;function s(e){var t=i.call(e,o),n=e[o];try{e[o]=void 0;var r=!0}catch{}var s=a.call(e);return r&&(t?e[o]=n:delete e[o]),s}t.exports=s})),Ae=t(((e,t)=>{var n=Object.prototype.toString;function r(e){return n.call(e)}t.exports=r})),je=t(((e,t)=>{var n=Oe(),r=ke(),i=Ae(),a=`[object Null]`,o=`[object Undefined]`,s=n?n.toStringTag:void 0;function c(e){return e==null?e===void 0?o:a:s&&s in Object(e)?r(e):i(e)}t.exports=c})),Me=t(((e,t)=>{function n(e){return typeof e==`object`&&!!e}t.exports=n})),Ne=t(((e,t)=>{var n=je(),r=Me(),i=`[object Symbol]`;function a(e){return typeof e==`symbol`||r(e)&&n(e)==i}t.exports=a})),Pe=t(((e,t)=>{var n=De(),r=Se(),i=Ne(),a=NaN,o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt;function u(e){if(typeof e==`number`)return e;if(i(e))return a;if(r(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=r(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=n(e);var u=s.test(e);return u||c.test(e)?l(e.slice(2),u?2:8):o.test(e)?a:+e}t.exports=u})),Fe=t(((e,t)=>{var n=Se(),r=Te(),i=Pe(),a=`Expected a function`,o=Math.max,s=Math.min;function c(e,t,c){var l,u,d,f,p,m,h=0,g=!1,_=!1,v=!0;if(typeof e!=`function`)throw TypeError(a);t=i(t)||0,n(c)&&(g=!!c.leading,_=`maxWait`in c,d=_?o(i(c.maxWait)||0,t):d,v=`trailing`in c?!!c.trailing:v);function y(t){var n=l,r=u;return l=u=void 0,h=t,f=e.apply(r,n),f}function b(e){return h=e,p=setTimeout(C,t),g?y(e):f}function x(e){var n=e-m,r=e-h,i=t-n;return _?s(i,d-r):i}function S(e){var n=e-m,r=e-h;return m===void 0||n>=t||n<0||_&&r>=d}function C(){var e=r();if(S(e))return w(e);p=setTimeout(C,x(e))}function w(e){return p=void 0,v&&l?y(e):(l=u=void 0,f)}function T(){p!==void 0&&clearTimeout(p),h=0,l=m=u=p=void 0}function E(){return p===void 0?f:w(r())}function D(){var e=r(),n=S(e);if(l=arguments,u=this,m=e,n){if(p===void 0)return b(m);if(_)return clearTimeout(p),p=setTimeout(C,t),y(m)}return p===void 0&&(p=setTimeout(C,t)),f}return D.cancel=T,D.flush=E,D}t.exports=c})),Ie,Le=`__AHOOKS_CANCELLED_ERROR__`,Re=class e extends Error{constructor(t=`useRequest: the request was cancelled or superseded.`){super(t),this[Ie]=!0,this.name=`CancelledError`,Object.setPrototypeOf(this,e.prototype)}};Ie=Le;function ze(e){return e instanceof Re||typeof e==`object`&&!!e&&e[Le]===!0}function Be(e){var t;(t=e.current)==null||t.call(e,new Re),e.current=void 0}var Ve=e(Fe()),He=(e,{debounceWait:t,debounceLeading:n,debounceTrailing:r,debounceMaxWait:i,ready:a})=>{let o=(0,U.useRef)(void 0),s=(0,U.useRef)(void 0),c=(0,U.useMemo)(()=>{let e={};return n!==void 0&&(e.leading=n),r!==void 0&&(e.trailing=r),i!==void 0&&(e.maxWait=i),e},[n,r,i]);return(0,U.useEffect)(()=>{if(t){let n=e.runAsync.bind(e);return o.current=(0,Ve.default)(e=>{e()},t,c),e.runAsync=(...t)=>e.options.ready===!1?n(...t):(Be(s),new Promise((e,r)=>{var i;let a=!1;s.current=r,(i=o.current)==null||i.call(o,()=>{a=!0,s.current=void 0,n(...t).then(e).catch(r)}),!a&&c.trailing===!1&&Be(s)})),()=>{var t;(t=o.current)==null||t.cancel(),Be(s),e.runAsync=n}}},[t,c,e]),J(()=>{var e;a===!1&&((e=o.current)==null||e.cancel(),Be(s))},[a]),t?{onCancel:()=>{var e;(e=o.current)==null||e.cancel(),Be(s)}}:{}},Ue=(e,{loadingDelay:t,ready:n})=>{let r=(0,U.useRef)(void 0);if(!t)return{};let i=()=>{r.current&&clearTimeout(r.current)};return{onBefore:()=>(i(),n!==!1&&(r.current=setTimeout(()=>{e.setState({loading:!0})},t)),{loading:!1}),onFinally:()=>{i()},onCancel:()=>{i()}}},We=!!(typeof window<`u`&&window.document&&window.document.createElement);function Ge(){return!We||document.visibilityState!==`hidden`}var Ke=new Set;function qe(e){return Ke.add(e),function(){Ke.has(e)&&Ke.delete(e)}}We&&window.addEventListener(`visibilitychange`,()=>{Ge()&&Ke.forEach(e=>e())},!1);var Je=(e,{pollingInterval:t,pollingWhenHidden:n=!0,pollingErrorRetryCount:r=-1})=>{let i=(0,U.useRef)(void 0),a=(0,U.useRef)(void 0),o=(0,U.useRef)(0),s=()=>{var e;i.current&&clearTimeout(i.current),(e=a.current)==null||e.call(a)};return J(()=>{t||s()},[t]),t?{onBefore:()=>{s()},onError:()=>{o.current+=1},onSuccess:()=>{o.current=0},onFinally:()=>{r===-1||r!==-1&&o.current<=r?i.current=setTimeout(()=>{!n&&!Ge()?a.current=qe(()=>{e.refresh()}):e.refresh()},t):o.current=0},onCancel:()=>{s()}}:{}};function Ye(e,t){let n=!1;return(...r)=>{n||(n=!0,e(...r),setTimeout(()=>{n=!1},t))}}var Xe=()=>We&&navigator.onLine!==void 0?navigator.onLine:!0,Ze=new Set;function Qe(e){return Ze.add(e),function(){Ze.has(e)&&Ze.delete(e)}}if(We){let e=()=>{Ge()&&Xe()&&Ze.forEach(e=>e())};window.addEventListener(`visibilitychange`,e,!1),window.addEventListener(`focus`,e,!1)}var $e=(e,{refreshOnWindowFocus:t,focusTimespan:n=5e3})=>{let r=(0,U.useRef)(void 0),i=()=>{var e;(e=r.current)==null||e.call(r)};return(0,U.useEffect)(()=>{if(t){let t=Ye(e.refresh.bind(e),n);r.current=Qe(()=>{t()})}return()=>{i()}},[t,n]),pe(()=>{i()}),{}},et=(e,{retryInterval:t,retryCount:n})=>{let r=(0,U.useRef)(void 0),i=(0,U.useRef)(0),a=(0,U.useRef)(!1);return n?{onBefore:()=>{a.current||(i.current=0),a.current=!1,r.current&&clearTimeout(r.current)},onSuccess:()=>{i.current=0},onError:()=>{if(i.current+=1,n===-1||i.current<=n){let n=t??Math.min(1e3*2**i.current,3e4);r.current=setTimeout(()=>{a.current=!0,e.refresh()},n)}else i.current=0},onCancel:()=>{i.current=0,r.current&&clearTimeout(r.current)}}:{}},tt=e(t(((e,t)=>{var n=Fe(),r=Se(),i=`Expected a function`;function a(e,t,a){var o=!0,s=!0;if(typeof e!=`function`)throw TypeError(i);return r(a)&&(o=`leading`in a?!!a.leading:o,s=`trailing`in a?!!a.trailing:s),n(e,t,{leading:o,maxWait:t,trailing:s})}t.exports=a}))()),nt=(e,{throttleWait:t,throttleLeading:n,throttleTrailing:r})=>{let i=(0,U.useRef)(void 0),a=(0,U.useRef)(void 0),o={};return n!==void 0&&(o.leading=n),r!==void 0&&(o.trailing=r),(0,U.useEffect)(()=>{if(t){let n=e.runAsync.bind(e);return i.current=(0,tt.default)(e=>{e()},t,o),e.runAsync=(...e)=>(Be(a),new Promise((t,r)=>{var s;let c=!1;a.current=r,(s=i.current)==null||s.call(i,()=>{c=!0,a.current=void 0,n(...e).then(t).catch(r)}),!c&&o.trailing===!1&&Be(a)})),()=>{var t;e.runAsync=n,(t=i.current)==null||t.cancel(),Be(a)}}},[t,n,r]),t?{onCancel:()=>{var e;(e=i.current)==null||e.cancel(),Be(a)}}:{}},rt=e=>{(0,U.useEffect)(()=>{let t=e?.();if(!le(t))return t},[])},it=()=>{let[,e]=(0,U.useState)({});return q(()=>e({}))},at=class{constructor(e,t,n,r={}){this.serviceRef=e,this.options=t,this.subscribe=n,this.initState=r,this.pluginImpls=[],this.count=0,this.state={loading:!1,params:void 0,data:void 0,error:void 0},this.state=Object.assign(Object.assign(Object.assign({},this.state),{loading:!t.manual}),r)}setState(e={}){this.state=Object.assign(Object.assign({},this.state),e),this.subscribe()}runPluginHandler(e,...t){let n=this.pluginImpls.map(n=>n[e]?.call(n,...t)).filter(Boolean);return Object.assign({},...n)}runAsync(...e){return o(this,void 0,void 0,function*(){var t,n,r,i,o,s,c,l,u,d;this.count+=1;let f=this.count,p=this.runPluginHandler(`onBefore`,e),{stopNow:m=!1,returnNow:h=!1}=p,g=a(p,[`stopNow`,`returnNow`]);if(m||(this.setState(Object.assign({loading:!0,params:e},g)),h))return Promise.resolve(g.data);(n=(t=this.options).onBefore)==null||n.call(t,e);try{let{servicePromise:t}=this.runPluginHandler(`onRequest`,this.serviceRef.current,e);t||=this.serviceRef.current(...e);let n=yield t;if(f!==this.count)throw new Re;return this.setState({data:n,error:void 0,loading:!1}),(i=(r=this.options).onSuccess)==null||i.call(r,n,e),this.runPluginHandler(`onSuccess`,n,e),(s=(o=this.options).onFinally)==null||s.call(o,e,n,void 0),f===this.count&&this.runPluginHandler(`onFinally`,e,n,void 0),n}catch(t){throw f===this.count?(this.setState({error:t,loading:!1}),(l=(c=this.options).onError)==null||l.call(c,t,e),this.runPluginHandler(`onError`,t,e),(d=(u=this.options).onFinally)==null||d.call(u,e,void 0,t),f===this.count&&this.runPluginHandler(`onFinally`,e,void 0,t),t):ze(t)?t:new Re}})}run(...e){this.runAsync(...e).catch(e=>{ze(e)||this.options.onError||console.error(e)})}cancel(){this.count+=1,this.setState({loading:!1}),this.runPluginHandler(`onCancel`)}refresh(){this.run(...this.state.params||[])}refreshAsync(){return this.runAsync(...this.state.params||[])}mutate(e){let t=G(e)?e(this.state.data):e;this.runPluginHandler(`onMutate`,t),this.setState({data:t})}};function ot(e,t={},n=[]){let{manual:r=!1,ready:i=!0}=t,o=a(t,[`manual`,`ready`]),s=Object.assign({manual:r,ready:i},o),c=fe(e),l=it(),u=Y(()=>{let e=n.map(e=>(e?.onInit)?.call(e,s)).filter(Boolean);return new at(c,s,l,Object.assign({},...e))},[]);return u.options=s,u.pluginImpls=n.map(e=>e(u,s)),rt(()=>{if(!r&&i){let e=u.state.params||t.defaultParams||[];u.run(...e)}}),pe(()=>{u.cancel()}),{loading:u.state.loading,data:u.state.data,error:u.state.error,params:u.state.params||[],cancel:q(u.cancel.bind(u)),refresh:q(u.refresh.bind(u)),refreshAsync:q(u.refreshAsync.bind(u)),run:q(u.run.bind(u)),runAsync:q((...e)=>u.runAsync(...e)),mutate:q(u.mutate.bind(u))}}function st(e,t,n){return ot(e,t,[...n||[],He,Ue,Je,$e,nt,ue,xe,et])}var ct=st;function lt(e,t){if(!We)return;if(!e)return t;let n;return n=G(e)?e():`current`in e?e.current:e,n}var ut=(e=>(t,n,r)=>{let i=(0,U.useRef)(!1),a=(0,U.useRef)([]),o=(0,U.useRef)([]),s=(0,U.useRef)(void 0);e(()=>{var e;let c=(Array.isArray(r)?r:[r]).map(e=>lt(e));if(!i.current){i.current=!0,a.current=c,o.current=n,s.current=t();return}(c.length!==a.current.length||!de(a.current,c)||!de(o.current,n))&&((e=s.current)==null||e.call(s),a.current=c,o.current=n,s.current=t())}),pe(()=>{var e;(e=s.current)==null||e.call(s),i.current=!1})})(U.useEffect);function dt(e,t){let n=fe(e),r=t?.wait??1e3,i=(0,U.useMemo)(()=>(0,Ve.default)((...e)=>n.current(...e),r,t),[]);return pe(()=>{i.cancel()}),{run:i,cancel:i.cancel,flush:i.flush}}function ft(e,t,n={}){let{enable:r=!0}=n,i=fe(t);ut(()=>{if(!r)return;let t=lt(n.target,window);if(!t?.addEventListener)return;let a=e=>i.current(e),o=Array.isArray(e)?e:[e];return o.forEach(e=>{t.addEventListener(e,a,{capture:n.capture,once:n.once,passive:n.passive})}),()=>{o.forEach(e=>{t.removeEventListener(e,a,{capture:n.capture})})}},[e,n.capture,n.once,n.passive,r],n.target)}var pt=e=>e===document||e===document.documentElement||e===document.body?Math.max(window.pageYOffset,document.documentElement.scrollTop,document.body.scrollTop):e.scrollTop,mt=e=>e.scrollHeight||Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),ht=e=>e.clientHeight||Math.max(document.documentElement.clientHeight,document.body.clientHeight),gt=(e,t={})=>{let{target:n,isNoMore:r,threshold:i=100,direction:a=`bottom`,reloadDeps:s=[],manual:c,onBefore:l,onSuccess:u,onError:d,onFinally:f}=t,[p,m]=(0,U.useState)(),[h,g]=(0,U.useState)(!1),_=a===`top`,v=(0,U.useRef)(void 0),y=(0,U.useRef)(0),b=(0,U.useRef)(!1),x=(0,U.useMemo)(()=>r?r(p):!1,[p]),{loading:S,error:C,run:w,runAsync:T,cancel:E}=ct(t=>o(void 0,void 0,void 0,function*(){return{currentData:yield e(t),lastData:t}}),{manual:c,onFinally:(e,t,n)=>{g(!1),f?.(t?.currentData,n)},onBefore:()=>l?.(),onSuccess:e=>{e.lastData?m(Object.assign(Object.assign({},e.currentData),{list:_?[...e.currentData.list,...e.lastData.list??[]]:[...e.lastData.list??[],...e.currentData.list]})):m(Object.assign(Object.assign({},e.currentData),{list:[...e.currentData.list??[]]})),_?setTimeout(()=>{requestAnimationFrame(()=>{let e=lt(n);if(e=e===document?document.documentElement:e,e){let t=mt(e);e.scrollTo(0,t-y.current)}})}):b.current=!0,u?.(e.currentData)},onError:e=>d?.(e)}),D=q(()=>{x||(g(!0),w(p))}),O=e=>o(void 0,void 0,void 0,function*(){return(yield T(e)).currentData}),k=q(()=>x?Promise.reject():(g(!0),O(p))),A=()=>(g(!1),w()),j=()=>(g(!1),O()),M=()=>{let e=lt(n);if(!e)return;let t=e===document?document.documentElement:e,r=pt(t),a=mt(t),o=ht(t);_?(v.current!==void 0&&v.current>r&&r<=i&&D(),v.current=r,y.current=a-r):a-r<=o+i&&D()};return J(()=>{b.current&&(b.current=!1,M())},[p]),ft(`scroll`,()=>{S||h||M()},{target:n}),J(()=>{w()},[...s]),{data:p,loading:!h&&S,error:C,loadingMore:h,noMore:x,loadMore:D,loadMoreAsync:k,reload:q(A),reloadAsync:q(j),mutate:m,cancel:E}},$=i(),_t={connected:`text-[#16A34A] dark:text-[#22C55E]`,connecting:`text-[#2563eb] dark:text-[#3b82f6]`,reconnecting:`text-[#2563eb] dark:text-[#60a5fa]`,offline:`text-[#f59e0b]`,error:`text-[#ef4444]`},vt={connected:`mcp.status.connected`,connecting:`mcp.status.connecting`,reconnecting:`mcp.status.reconnecting`,offline:`mcp.status.offline`,error:`mcp.status.error`},yt={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`},bt={Official:`mcp.catalog.tag.official`,Popular:`mcp.catalog.tag.popular`,Community:`mcp.catalog.tag.community`},xt=20,St=[`debug`,`info`,`notice`,`warning`,`error`,`critical`,`alert`,`emergency`],Ct=(e,t)=>e.status!==`reconnecting`||!e.recovery?t(vt[e.status]):t(`mcp.status.recoveringAttempt`,{attempt:e.recovery.attempt,max:e.recovery.maxAttempts}),wt=async()=>x(`/mcp`),Tt=async e=>x(`/mcp/${encodeURIComponent(e)}/logs?limit=20`),Et=`mcp server @modelcontextprotocol`,Dt=3,Ot=e=>e.split(`/`).pop()?.replace(/^server-/,``)||e,kt=async(e,t)=>{let n=e&&e.length>=Dt?e:Et,r=`https://registry.npmjs.org/-/v1/search?text=${encodeURIComponent(n)}&size=${xt}&from=${t}`,i=await x(r);return{list:i.objects.map(e=>e.package),total:i.total,hasMore:t+xt<i.total}};function At({active:e}){let t=s(),[n,r]=(0,U.useState)(`installed`),[i,a]=(0,U.useState)(!1),[o,c]=(0,U.useState)(null),[l,u]=(0,U.useState)(``),[d,f]=(0,U.useState)(null),[p,m]=(0,U.useState)(null),[_,v]=(0,U.useState)(null),[y,S]=(0,U.useState)(null),[C,w]=(0,U.useState)(null),[E,O]=(0,U.useState)(``),[k,A]=(0,U.useState)(null),[j,M]=(0,U.useState)(!1),[N,P]=(0,U.useState)(null),[ee,te]=(0,U.useState)(null),[re,ie]=(0,U.useState)(``),[F,R]=(0,U.useState)(``),[z,B]=(0,U.useState)(null),[oe,V]=(0,U.useState)(null),se=(0,U.useRef)(null),{run:ce}=dt(e=>{R(e)},{wait:500}),{data:H=[],loading:W,error:G,run:K,runAsync:le}=ct(wt,{refreshDeps:[e],ready:e,onSuccess:e=>{e.length>0&&!o&&c(e[0].id)}}),{data:q,loading:J,error:ue,runAsync:de}=ct(Tt,{manual:!0}),{data:Y,loading:fe,loadingMore:pe,noMore:X,error:me,reload:he}=gt(async e=>{let t=e?.list?.length??0;return kt(F,t)},{target:se,isNoMore:e=>!e?.hasMore,reloadDeps:[F],manual:!e||n!==`catalog`}),{runAsync:Z,loading:ge,error:_e}=ct(async e=>{await x(`/mcp`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:e.name,config:e})})},{manual:!0,onSuccess:()=>{le(),a(!1),V(null),B(null)},onError:()=>{B(null)}}),ve=(0,U.useMemo)(()=>{let e=l.trim().toLowerCase();return e?H.filter(t=>[t.name,t.endpoint,t.description].some(t=>t.toLowerCase().includes(e))):H},[l,H]),Q=(0,U.useMemo)(()=>ve.find(e=>e.id===o)??ve[0],[ve,o]),ye=(0,U.useMemo)(()=>{if(!Q)return[];let e=(Q.prompts??[]).flatMap(e=>e.arguments.map(t=>({key:`prompt:${e.name}:${t.name}`,label:`${e.name}.${t.name}`,reference:{type:`prompt`,name:e.name},argument:t.name}))),t=(Q.resourceTemplates??[]).flatMap(e=>(e.variables??[]).map(t=>({key:`resource:${e.uriTemplate}:${t}`,label:`${e.uriTemplate} · ${t}`,reference:{type:`resource`,uri:e.uriTemplate},argument:t})));return[...e,...t]},[Q]),be=ye.find(e=>e.key===C)??ye[0];(0,U.useEffect)(()=>{if(!e||!H.some(e=>e.oauthStatus===`authorizing`||e.status===`connecting`||e.status===`reconnecting`))return;let t=window.setInterval(()=>{le()},1e3);return()=>window.clearInterval(t)},[e,le,H]),(0,U.useEffect)(()=>{p&&H.some(e=>e.name===p.serverName&&(e.oauthStatus===`authenticated`||e.oauthStatus===`disabled`||e.oauthStatus===`unavailable`))&&m(null)},[p,H]),(0,U.useEffect)(()=>{e&&n===`installed`&&Q&&de(Q.name).catch(()=>void 0)},[e,de,Q,n]);let xe=async(e,n)=>{v({type:e,name:n}),f(null);try{let t=e===`delete`?``:`/${e}`;await x(`/mcp/${encodeURIComponent(n)}${t}`,{method:e===`delete`?`DELETE`:`POST`}),await le(),e===`delete`&&(te(null),c(null))}catch(n){f(n instanceof Error?n.message:t(e===`connect`?`mcp.error.connectFailed`:e===`disconnect`?`mcp.error.disconnectFailed`:`mcp.error.deleteFailed`))}finally{v(null)}},Se=async(e,n)=>{v({type:e,name:n.name}),f(null);try{if(e===`login`){let e=await x(`/mcp/${encodeURIComponent(n.name)}/oauth/login`,{method:`POST`});m({serverName:n.name,url:e.authorizationUrl})}else await x(`/mcp/${encodeURIComponent(n.name)}/oauth/logout`,{method:`POST`}),m(null);await le()}catch(n){f(n instanceof Error?n.message:t(e===`login`?`mcp.error.loginFailed`:`mcp.error.logoutFailed`))}finally{v(null)}},Ce=async(e,n)=>{S(n),f(null);try{await x(`/mcp/${encodeURIComponent(e.name)}/logging-level`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({level:n})}),await le(),de(e.name).catch(()=>void 0)}catch(e){f(e instanceof Error?e.message:t(`mcp.error.loggingLevelFailed`))}finally{S(null)}},we=async e=>{if(be){M(!0),P(null),A(null);try{let t=await x(`/mcp/${encodeURIComponent(e.name)}/complete`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({reference:be.reference,argument:{name:be.argument,value:E}})});A(t)}catch(e){P(e instanceof Error?e.message:t(`mcp.error.completionFailed`))}finally{M(!1)}}},Te=(0,U.useMemo)(()=>new Set(H.map(e=>e.name.toLowerCase())),[H]),Ee=e=>{V(e)},De=e=>e.startsWith(`@modelcontextprotocol/`),Oe=e=>De(e.name)?`Official`:`Community`;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`flex h-full min-h-0 flex-col`,children:(0,$.jsxs)(`div`,{className:`flex overflow-hidden flex-col flex-1 gap-4 p-4 min-h-0 sm:gap-5 sm:p-8`,children:[(0,$.jsxs)(`div`,{className:`flex justify-between items-center shrink-0`,children:[(0,$.jsx)(`h2`,{className:`text-lg font-semibold text-[#111827] dark:text-[#E5E5E5] font-mono`,children:`MCP`}),(0,$.jsxs)(`div`,{className:`flex gap-2 items-center`,children:[(0,$.jsx)(`button`,{onClick:K,"aria-label":t(`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:W,children:(0,$.jsx)(ae,{className:D(`h-4 w-4`,W&&`animate-spin`)})}),(0,$.jsxs)(`button`,{"data-mcp-add-server-trigger":!0,onClick:()=>a(!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:[(0,$.jsx)(b,{className:`h-3.5 w-3.5`}),t(`mcp.action.addServer`)]})]})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 p-1 rounded-md bg-[#F3F4F6] dark:bg-[#18181b] w-fit shrink-0`,children:[(0,$.jsx)(jt,{active:n===`installed`,onClick:()=>r(`installed`),children:t(`mcp.tab.installed`,{count:H.length})}),(0,$.jsx)(jt,{active:n===`catalog`,onClick:()=>{r(`catalog`),Y||he()},children:t(`mcp.tab.catalog`)})]}),d&&(0,$.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:[(0,$.jsx)(ne,{className:`mt-0.5 h-3.5 w-3.5 shrink-0`}),(0,$.jsx)(`span`,{className:`flex-1 min-w-0`,children:d}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>f(null),className:`underline shrink-0`,children:t(`mcp.action.dismiss`)})]}),n===`installed`?(0,$.jsxs)(`div`,{className:`flex overflow-hidden flex-col flex-1 gap-3 min-h-0 sm:flex-row sm:gap-5`,children:[(0,$.jsxs)(`div`,{className:`flex h-[180px] w-full shrink-0 flex-col gap-3 overflow-hidden sm:h-auto sm:w-[220px]`,children:[(0,$.jsx)(`span`,{className:`text-sm font-mono font-semibold text-[#111827] dark:text-[#E5E5E5] shrink-0`,children:t(`mcp.servers.title`)}),(0,$.jsx)(`input`,{type:`search`,"aria-label":t(`mcp.servers.searchAria`),value:l,onChange:e=>u(e.target.value),placeholder:t(`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]`}),(0,$.jsxs)(`div`,{className:`flex overflow-y-auto flex-col flex-1 gap-2 pr-1 min-h-0`,children:[W&&H.length===0&&(0,$.jsxs)(`div`,{role:`status`,className:`flex items-center justify-center gap-2 py-8 text-sm font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:[(0,$.jsx)(I,{className:`w-4 h-4 animate-spin`}),t(`mcp.servers.loading`)]}),G&&!W&&(0,$.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:[(0,$.jsx)(`span`,{children:G.message}),(0,$.jsx)(`button`,{type:`button`,onClick:K,className:`rounded-md border border-red-200 px-2.5 py-1 text-[11px] dark:border-red-900`,children:t(`mcp.action.retry`)})]}),!G&&!W&&ve.length===0&&(0,$.jsx)(`div`,{className:`text-center py-8 text-[#9CA3AF] dark:text-[#71717a] text-sm font-mono`,children:t(l?`mcp.servers.noMatch`:`mcp.servers.none`)}),ve.map(e=>(0,$.jsxs)(`button`,{onClick:()=>{c(e.id),te(null),f(null),w(null),O(``),A(null),P(null)},className:D(`text-left rounded-lg px-3 py-2 flex flex-col gap-1 transition-colors shrink-0`,e.id===Q?.id?`bg-[#E5E7EB] dark:bg-[#111827]`:`bg-white dark:bg-[#0C0C0C] hover:bg-[#F3F4F6] dark:hover:bg-[#18181b]`),children:[(0,$.jsxs)(`div`,{className:`flex justify-between items-center`,children:[(0,$.jsx)(`span`,{className:`text-[13px] font-mono font-semibold text-[#111827] dark:text-[#E5E5E5]`,children:e.name}),(0,$.jsx)(`span`,{className:D(`text-[11px] font-mono font-semibold`,_t[e.status]),children:Ct(e,t)})]}),(0,$.jsx)(`span`,{className:`text-[11px] font-mono text-[#6B7280] dark:text-[#94a3b8] truncate`,children:e.endpoint})]},e.id))]})]}),Q?(0,$.jsxs)(`div`,{className:`flex overflow-y-auto flex-col flex-1 gap-3 pr-2 min-h-0`,children:[(0,$.jsxs)(`div`,{className:`flex justify-between items-center shrink-0`,children:[(0,$.jsx)(`span`,{className:`text-base font-mono font-semibold text-[#111827] dark:text-[#E5E5E5]`,children:Q.name}),(0,$.jsx)(`span`,{className:D(`text-xs font-mono font-semibold`,_t[Q.status]),children:Ct(Q,t)})]}),(0,$.jsx)(`p`,{className:`text-[12px] font-mono text-[#6B7280] dark:text-[#94a3b8]`,children:Q.description}),Q.error&&(0,$.jsx)(`p`,{className:`text-[12px] font-mono text-[#ef4444]`,children:t(`mcp.server.errorLabel`,{error:Q.error})}),Q.instructions&&(0,$.jsxs)(`div`,{className:`rounded-md bg-[#F3F4F6] px-3 py-2 dark:bg-[#18181b]`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`text-[10px] font-mono uppercase tracking-wide text-[#9CA3AF] dark:text-[#71717a]`,children:t(`mcp.instructions.title`)}),(0,$.jsxs)(`span`,{className:`truncate text-[9px] font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:[`sha256 `,Q.instructions.sha256]})]}),(0,$.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:Q.instructions.text??t(`mcp.instructions.detailsOmittedByPolicy`)}),(Q.instructions.truncated||Q.instructions.detailsOmitted)&&(0,$.jsx)(`span`,{className:`mt-1 block text-[9px] font-mono text-amber-600 dark:text-amber-400`,children:Q.instructions.detailsOmitted?t(`mcp.instructions.detailsOmitted`):t(`mcp.instructions.truncated`)})]}),Q.tasks&&(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 rounded-md bg-[#F3F4F6] px-3 py-2 dark:bg-[#18181b]`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,$.jsx)(`span`,{className:`text-[10px] font-mono uppercase tracking-wide text-[#9CA3AF] dark:text-[#71717a]`,children:t(`mcp.tasks.title`)}),(0,$.jsx)(`span`,{className:`text-[11px] font-mono text-[#6B7280] dark:text-[#a1a1aa]`,children:Q.tasks.enabled?t(`mcp.tasks.summary`,{count:Q.tasks.maxTasksPerSession,interval:Q.tasks.pollIntervalMs}):t(`mcp.tasks.disabledByDefault`)})]}),(0,$.jsx)(`span`,{className:D(`text-[10px] font-mono font-semibold uppercase`,Q.tasks.enabled?`text-[#16A34A] dark:text-[#22C55E]`:`text-[#9CA3AF] dark:text-[#71717a]`),children:Q.tasks.enabled?t(`mcp.tasks.enabled`):t(`mcp.tasks.disabled`)})]}),Q.oauthEnabled&&(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2 rounded-md bg-[#F3F4F6] px-3 py-2 dark:bg-[#18181b]`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,$.jsx)(`span`,{className:`text-[10px] font-mono uppercase tracking-wide text-[#9CA3AF] dark:text-[#71717a]`,children:`OAuth`}),(0,$.jsx)(`span`,{role:Q.oauthStatus===`authorizing`?`status`:void 0,className:D(`text-[11px] font-mono`,Q.oauthStatus===`authenticated`?`text-[#16A34A] dark:text-[#22C55E]`:Q.oauthStatus===`error`?`text-[#ef4444]`:`text-[#6B7280] dark:text-[#a1a1aa]`),children:t(yt[Q.oauthStatus])})]}),Q.oauthStatus===`authenticated`?(0,$.jsx)(`button`,{type:`button`,onClick:()=>void Se(`logout`,Q),disabled:_!==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:_?.type===`logout`?t(`mcp.oauth.signingOut`):t(`mcp.oauth.signOut`)}):Q.oauthStatus===`authorizing`?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(I,{className:`h-3.5 w-3.5 animate-spin text-[#2563eb]`,"aria-hidden":`true`}),p?.serverName===Q.name?(0,$.jsx)(`a`,{href:p.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:t(`mcp.oauth.continueAuthorization`)}):(0,$.jsx)(`button`,{type:`button`,onClick:()=>void Se(`login`,Q),disabled:_!==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:t(`mcp.oauth.resumeAuthorization`)})]}):Q.oauthStatus===`unavailable`?null:(0,$.jsx)(`button`,{type:`button`,onClick:()=>void Se(`login`,Q),disabled:_!==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:_?.type===`login`?t(`mcp.oauth.opening`):t(`mcp.oauth.authorize`)})]}),(0,$.jsxs)(`div`,{className:`flex gap-2 items-center`,children:[Q.status===`connected`||Q.status===`reconnecting`?(0,$.jsx)(`button`,{onClick:()=>void xe(`disconnect`,Q.name),disabled:_!==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:_?.type===`disconnect`&&_.name===Q.name?t(`mcp.action.disconnecting`):Q.status===`reconnecting`?t(`mcp.action.stopRecovery`):t(`mcp.action.disconnect`)}):(0,$.jsx)(`button`,{onClick:()=>void xe(`connect`,Q.name),disabled:_!==null||Q.oauthEnabled&&Q.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:_?.type===`connect`&&_.name===Q.name?t(`mcp.action.connecting`):Q.oauthEnabled&&Q.oauthStatus!==`authenticated`?t(`mcp.action.authorizeFirst`):t(`mcp.action.connect`)}),(0,$.jsx)(`button`,{onClick:()=>te(Q.name),disabled:_!==null,className:`h-7 px-3 rounded-md bg-[#F3F4F6] dark:bg-[#18181b] text-[#ef4444] text-[11px] font-mono font-semibold`,children:t(`mcp.action.delete`)})]}),ee===Q.name&&(0,$.jsxs)(`div`,{role:`alertdialog`,"aria-label":t(`mcp.server.deleteAria`,{name:Q.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:[(0,$.jsx)(`span`,{className:`text-[11px] font-mono text-red-700 dark:text-red-300`,children:t(`mcp.delete.confirm`)}),(0,$.jsxs)(`div`,{className:`flex gap-2 items-center`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:()=>te(null),className:`h-7 rounded-md px-2.5 text-[11px] font-mono text-[#6B7280] dark:text-[#a1a1aa]`,children:t(`mcp.action.cancel`)}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>void xe(`delete`,Q.name),disabled:_!==null,className:`h-7 rounded-md bg-red-600 px-2.5 text-[11px] font-mono font-semibold text-white disabled:opacity-60`,children:_?.type===`delete`?t(`mcp.action.deleting`):t(`mcp.action.deleteServer`)})]})]}),(0,$.jsx)(`span`,{className:`text-sm font-mono font-semibold text-[#111827] dark:text-[#E5E5E5]`,children:t(`mcp.tools.title`,{count:Q.tools.length})}),(0,$.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:Q.tools.length===0?(0,$.jsx)(`span`,{className:`text-[12px] font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:t(`mcp.tools.none`)}):Q.tools.map(e=>(0,$.jsx)(`span`,{className:`px-2 py-1 rounded-md bg-[#F3F4F6] dark:bg-[#18181b] text-[11px] font-mono text-[#111827] dark:text-[#E5E5E5]`,children:e},e))}),(0,$.jsx)(`span`,{className:`text-sm font-mono font-semibold text-[#111827] dark:text-[#E5E5E5]`,children:t(`mcp.completion.title`)}),Q.status===`connected`?Q.completionSupported?ye.length===0?(0,$.jsx)(`span`,{className:`text-[12px] font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:t(`mcp.completion.noTargets`)}):(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(`div`,{"aria-label":t(`mcp.completion.targetAria`),className:`flex max-h-20 flex-wrap gap-1 overflow-y-auto`,children:ye.map(e=>(0,$.jsx)(`button`,{type:`button`,"aria-pressed":be?.key===e.key,onClick:()=>{w(e.key),A(null),P(null)},className:D(`max-w-full truncate rounded px-2 py-1 text-[10px] font-mono`,be?.key===e.key?`bg-[#111827] text-white dark:bg-[#E5E5E5] dark:text-[#111827]`:`bg-[#F3F4F6] text-[#6B7280] dark:bg-[#18181b] dark:text-[#a1a1aa]`),children:e.label},e.key))}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(`input`,{type:`text`,"aria-label":t(`mcp.completion.partialAria`),value:E,onChange:e=>O(e.target.value),placeholder:t(`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]`}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>void we(Q),disabled:j,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:t(j?`mcp.completion.completing`:`mcp.completion.complete`)})]}),N&&(0,$.jsx)(`span`,{role:`alert`,className:`text-[11px] font-mono text-red-600 dark:text-red-400`,children:N}),k&&(0,$.jsxs)(`div`,{"aria-label":t(`mcp.completion.suggestionsAria`),className:`rounded-md bg-[#F3F4F6] p-2 dark:bg-[#18181b]`,children:[(0,$.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:k.values.length>0?k.values.map(e=>(0,$.jsx)(`span`,{className:`rounded bg-white px-2 py-1 text-[10px] font-mono text-[#111827] dark:bg-[#0C0C0C] dark:text-[#E5E5E5]`,children:e||t(`mcp.completion.empty`)},e)):(0,$.jsx)(`span`,{className:`text-[10px] font-mono text-[#9CA3AF]`,children:t(`mcp.completion.noSuggestions`)})}),(0,$.jsxs)(`span`,{className:`mt-1 block truncate text-[9px] font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:[`sha256 `,k.sha256,k.truncated?t(`mcp.meta.truncatedSuffix`):``]})]})]}):(0,$.jsx)(`span`,{className:`text-[12px] font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:t(`mcp.completion.unsupported`)}):(0,$.jsx)(`span`,{className:`text-[12px] font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:t(`mcp.completion.connectPrompt`)}),(0,$.jsxs)(`div`,{className:`mt-1 flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`text-sm font-mono font-semibold text-[#111827] dark:text-[#E5E5E5]`,children:t(`mcp.diagnostics.title`)}),(0,$.jsx)(`button`,{type:`button`,"aria-label":t(`mcp.diagnostics.refreshAria`,{name:Q.name}),onClick:()=>void de(Q.name),disabled:J,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:(0,$.jsx)(ae,{className:D(`h-3.5 w-3.5`,J&&`animate-spin`)})})]}),(0,$.jsx)(`div`,{"aria-label":t(`mcp.log.levelAria`),className:`flex flex-wrap gap-1`,children:St.map(e=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>void Ce(Q,e),disabled:Q.status!==`connected`||y!==null,"aria-pressed":(Q.logging?.level??`warning`)===e,className:D(`rounded px-2 py-1 text-[10px] font-mono transition-colors disabled:opacity-40`,(Q.logging?.level??`warning`)===e?`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:y===e?t(`mcp.log.setting`):e},e))}),ue?(0,$.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:ue.message}):q?.entries.length?(0,$.jsx)(`div`,{"aria-label":t(`mcp.diagnostics.logsAria`,{name:Q.name}),className:`flex max-h-52 flex-col gap-1.5 overflow-y-auto rounded-md bg-[#F3F4F6] p-2 dark:bg-[#18181b]`,children:q.entries.map(e=>(0,$.jsxs)(`div`,{className:`rounded bg-white px-2.5 py-2 dark:bg-[#0C0C0C]`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:D(`text-[10px] font-mono font-semibold uppercase`,[`error`,`critical`,`alert`,`emergency`].includes(e.level)?`text-red-600 dark:text-red-400`:e.level===`warning`?`text-amber-600 dark:text-amber-400`:`text-[#2563eb] dark:text-[#60a5fa]`),children:e.level}),(0,$.jsxs)(`span`,{className:`truncate text-[10px] font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:[e.logger||Q.name,` · r`,e.revision]})]}),(0,$.jsx)(`pre`,{className:`mt-1 whitespace-pre-wrap break-words text-[11px] font-mono text-[#374151] dark:text-[#d4d4d8]`,children:e.message}),(0,$.jsxs)(`span`,{className:`mt-1 block truncate text-[9px] font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:[`sha256 `,e.dataSha256,e.truncated?t(`mcp.meta.truncatedSuffix`):``,e.detailsOmitted?t(`mcp.meta.detailsOmittedSuffix`):``]})]},e.revision))}):(0,$.jsx)(`span`,{className:`text-[11px] font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:t(J?`mcp.log.loading`:`mcp.log.none`)})]}):(0,$.jsx)(`div`,{className:`flex flex-1 justify-center items-center`,children:(0,$.jsx)(`span`,{className:`text-[#9CA3AF] dark:text-[#71717a] text-sm font-mono`,children:t(`mcp.server.selectPrompt`)})})]}):(0,$.jsxs)(`div`,{className:`flex flex-col flex-1 gap-4 min-h-0`,children:[(0,$.jsx)(`div`,{className:`flex gap-3 items-center shrink-0`,children:(0,$.jsxs)(`div`,{className:`flex-1 h-8 rounded-md bg-[#F3F4F6] dark:bg-[#18181b] flex items-center px-3 gap-2`,children:[(0,$.jsx)(T,{className:`h-3.5 w-3.5 text-[#9CA3AF] dark:text-[#71717a]`}),(0,$.jsx)(`input`,{type:`text`,"aria-label":t(`mcp.catalog.searchAria`),value:re,onChange:e=>{ie(e.target.value),ce(e.target.value)},placeholder:t(`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`})]})}),(0,$.jsxs)(`div`,{ref:se,className:`overflow-y-auto flex-1 min-h-0`,children:[me?(0,$.jsxs)(`div`,{role:`alert`,className:`flex flex-col gap-3 items-center py-12 font-mono text-center`,children:[(0,$.jsx)(ne,{className:`w-6 h-6 text-red-500`}),(0,$.jsx)(`span`,{className:`text-xs text-red-600 dark:text-red-400`,children:me.message}),(0,$.jsx)(`button`,{type:`button`,onClick:he,className:`rounded-md border border-[#E5E7EB] px-3 py-1.5 text-[11px] text-[#6B7280] dark:border-[#27272a] dark:text-[#a1a1aa]`,children:t(`mcp.catalog.retry`)})]}):fe&&!Y?(0,$.jsx)(`div`,{className:`flex justify-center items-center py-12`,children:(0,$.jsx)(I,{className:`h-6 w-6 text-[#9CA3AF] dark:text-[#71717a] animate-spin`})}):(0,$.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 pb-4 sm:grid-cols-2`,children:[Y?.list.map(e=>{let n=Te.has(Ot(e.name).toLowerCase()),r=z===e.name,i=Oe(e);return(0,$.jsxs)(`div`,{className:`rounded-lg bg-white dark:bg-[#0C0C0C] p-4 flex flex-col gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex gap-2 justify-between items-center`,children:[(0,$.jsx)(`span`,{className:`text-[13px] font-mono font-semibold text-[#111827] dark:text-[#E5E5E5] truncate`,children:e.name}),(0,$.jsx)(`span`,{className:D(`text-[10px] font-mono px-2 py-0.5 rounded shrink-0`,i===`Official`?`bg-[#16A34A]/20 dark:bg-[#22C55E]/20 text-[#16A34A] dark:text-[#22C55E]`:`bg-[#3b82f6]/20 text-[#3b82f6]`),children:t(bt[i])})]}),(0,$.jsx)(`p`,{className:`text-[11px] font-mono text-[#6B7280] dark:text-[#94a3b8] line-clamp-2`,children:e.description||t(`mcp.catalog.noDescription`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-[10px] font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:[(0,$.jsxs)(`span`,{children:[`v`,e.version]}),e.publisher?.username&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{children:`•`}),(0,$.jsx)(`span`,{children:t(`mcp.catalog.byAuthor`,{author:e.publisher.username})})]})]}),(0,$.jsxs)(`div`,{className:`flex justify-between items-center pt-2 mt-auto`,children:[(0,$.jsxs)(`a`,{href:e.links?.npm||`https://www.npmjs.com/package/${e.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:[(0,$.jsx)(g,{className:`w-3 h-3`}),`npm`]}),n?(0,$.jsxs)(`span`,{className:`text-[11px] font-mono text-[#16A34A] dark:text-[#22C55E] flex items-center gap-1`,children:[(0,$.jsx)(L,{className:`w-3 h-3`}),t(`mcp.catalog.installed`)]}):(0,$.jsxs)(`button`,{onClick:()=>Ee(e),disabled:r,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:[(0,$.jsx)(h,{className:D(`h-3 w-3`,r&&`animate-pulse`)}),t(r?`mcp.catalog.installing`:`mcp.catalog.install`)]})]})]},e.name)}),Y?.list.length===0&&(0,$.jsx)(`div`,{className:`col-span-full py-12 text-center text-xs font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:t(`mcp.catalog.noPackages`)})]}),pe&&(0,$.jsx)(`div`,{className:`flex justify-center items-center py-4`,children:(0,$.jsx)(I,{className:`h-5 w-5 text-[#9CA3AF] dark:text-[#71717a] animate-spin`})}),X&&Y&&Y.list.length>0&&(0,$.jsx)(`div`,{className:`text-center py-4 text-[11px] font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:t(`mcp.catalog.noMore`)})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between pt-2 border-t border-[#E5E7EB] dark:border-[#1f2937] shrink-0`,children:[(0,$.jsx)(`span`,{className:`text-[11px] font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:t(`mcp.catalog.packagesFound`,{count:Y?.total??0})}),(0,$.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:[t(`mcp.catalog.browseGlama`),(0,$.jsx)(g,{className:`w-3 h-3`})]})]})]})]})}),(0,$.jsx)(Mt,{open:i,onOpenChange:a,onAdd:Z,saving:ge,error:_e?.message??null}),oe&&(0,$.jsx)(Nt,{pkg:oe,onClose:()=>V(null),installing:ge,error:_e?.message??null,onInstall:e=>(B(oe.name),Z(e))})]})}function jt({active:e,children:t,onClick:n}){return(0,$.jsx)(`button`,{onClick:n,className:D(`px-3 py-1 rounded text-[12px] font-mono font-semibold transition-colors`,e?`bg-[#E5E7EB] text-[#111827] dark:bg-[#27272a] dark:text-[#E5E5E5]`:`text-[#6B7280] dark:text-[#a1a1aa]`),children:t})}function Mt({open:e,onOpenChange:t,onAdd:n,saving:r,error:i}){let a=s(),[o,c]=(0,U.useState)(`form`),[l,u]=(0,U.useState)(``),[d,f]=(0,U.useState)(``),[p,m]=(0,U.useState)(``),[h,g]=(0,U.useState)(null),[_,v]=(0,U.useState)(`{
|
|
1
|
+
import{r as e,t}from"./rolldown-runtime-hePW80VL.js";import{dt as n,i as r}from"./session-events-BuMTbIwu.js";import{C as i,S as a,x as o}from"./vendor-radix-L0yJCKJX.js";import{c as s,l as c,r as l,s as u}from"./preload-helper-DvgLbiBV.js";import{n as d,t as f}from"./team-D3XOVbxL.js";import{t as p}from"./arrow-left-gaino9Tb.js";import{t as m}from"./calendar-clock-DfHUrEw9.js";import{t as h}from"./download-BR2L5Wme.js";import{n as g,t as _}from"./triangle-alert-cGqHxFsZ.js";import{t as v}from"./pencil-DkC0bPYD.js";import{t as y}from"./play-BVeNn6fv.js";import{t as b}from"./plus-kzdwas-3.js";import{F as x,I as S,K as C,L as w,Q as T,S as E,U as D,V as O,W as k,Y as A,_t as j,a as M,b as N,d as P,f as ee,g as te,gt as ne,it as re,m as ie,nt as ae,p as F,st as I,vt as L,y as R}from"./index-DSa8Dzp7.js";import{t as z}from"./ScrollArea-BdOqyQ3g.js";var B={name:`eye-off`,size:24,node:[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]};B.node;var oe=c(B),V={name:`eye`,size:24,node:[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]};V.node;var se=c(V),ce={name:`store`,size:24,node:[[`path`,{d:`M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5`,key:`slp6dd`}],[`path`,{d:`M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244`,key:`o0xfot`}],[`path`,{d:`M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05`,key:`wn3emo`}]]};ce.node;var H=c(ce),U=e(n()),W=e=>(t,n)=>{let r=(0,U.useRef)(!1);e(()=>()=>{r.current=!1},[]),e(()=>{if(!r.current)r.current=!0;else return t()},n)},G=e=>typeof e==`function`,K=e=>e!=null,le=e=>K(e)&&G(e.then),q=e=>{let t=(0,U.useRef)(e);t.current=(0,U.useMemo)(()=>e,[e]);let n=(0,U.useRef)(void 0);return n.current||=function(...e){return t.current.apply(this,e)},n.current},J=W(U.useEffect),ue=(e,{manual:t,ready:n=!0,defaultParams:r=[],refreshDeps:i=[],refreshDepsAction:a})=>{let o=(0,U.useRef)(!1);return o.current=!1,J(()=>{!t&&n&&(o.current=!0,e.run(...r))},[n]),J(()=>{o.current||t||(o.current=!0,a?a():e.refresh())},[...i]),{onBefore:()=>{if(!n)return{stopNow:!0}}}};ue.onInit=({ready:e=!0,manual:t})=>({loading:!t&&e});function de(e,t){if(e===t)return!0;for(let n=0;n<e.length;n++)if(!Object.is(e[n],t[n]))return!1;return!0}var Y=(e,t)=>{let{current:n}=(0,U.useRef)({deps:t,obj:void 0,initialized:!1});return(n.initialized===!1||!de(n.deps,t))&&(n.deps=t,n.obj=e(),n.initialized=!0),n.obj};function fe(e){let t=(0,U.useRef)(e);return t.current=e,t}var pe=e=>{let t=fe(e);(0,U.useEffect)(()=>()=>{t.current()},[])},X=new Map,me=e=>{e?.timer&&clearTimeout(e.timer)},he=(e,t,n)=>{me(X.get(e));let r;t>-1&&(r=setTimeout(()=>{X.delete(e)},t)),X.set(e,Object.assign(Object.assign({},n),{timer:r}))},Z=e=>X.get(e),ge=new Map,_e=e=>ge.get(e),ve=(e,t)=>{ge.set(e,t),t.then(t=>(ge.delete(e),t)).catch(()=>{ge.delete(e)})},Q={},ye=(e,t)=>{Q[e]&&Q[e].forEach(e=>e(t))},be=(e,t)=>(Q[e]||(Q[e]=[]),Q[e].push(t),function(){let n=Q[e].indexOf(t);Q[e].splice(n,1)}),xe=(e,{cacheKey:t,cacheTime:n=3e5,staleTime:r=0,setCache:i,getCache:a})=>{let o=(0,U.useRef)(void 0),s=(0,U.useRef)(void 0),c=(e,t)=>{i?i(t):he(e,n,t),ye(e,t.data)},l=(e,t=[])=>a?a(t):Z(e);return Y(()=>{if(!t)return;let n=l(t);n&&Object.hasOwnProperty.call(n,`data`)&&(e.state.data=n.data,e.state.params=n.params,(r===-1||Date.now()-n.time<=r)&&(e.state.loading=!1)),o.current=be(t,t=>{e.setState({data:t})})},[]),pe(()=>{var e;(e=o.current)==null||e.call(o)}),t?{onBefore:e=>{let n=l(t,e);return!n||!Object.hasOwnProperty.call(n,`data`)?{}:r===-1||Date.now()-n.time<=r?{loading:!1,data:n?.data,error:void 0,returnNow:!0}:{data:n?.data,error:void 0}},onRequest:(e,n)=>{let r=_e(t);return r&&r!==s.current?{servicePromise:r}:(r=e(...n),s.current=r,ve(t,r),{servicePromise:r})},onSuccess:(n,r)=>{var i;t&&((i=o.current)==null||i.call(o),c(t,{data:n,params:r,time:Date.now()}),o.current=be(t,t=>{e.setState({data:t})}))},onMutate:n=>{var r;t&&((r=o.current)==null||r.call(o),c(t,{data:n,params:e.state.params,time:Date.now()}),o.current=be(t,t=>{e.setState({data:t})}))}}:{}},Se=t(((e,t)=>{function n(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}t.exports=n})),Ce=t(((e,t)=>{t.exports=typeof global==`object`&&global&&global.Object===Object&&global})),we=t(((e,t)=>{var n=Ce(),r=typeof self==`object`&&self&&self.Object===Object&&self;t.exports=n||r||Function(`return this`)()})),Te=t(((e,t)=>{var n=we();t.exports=function(){return n.Date.now()}})),Ee=t(((e,t)=>{var n=/\s/;function r(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t}t.exports=r})),De=t(((e,t)=>{var n=Ee(),r=/^\s+/;function i(e){return e&&e.slice(0,n(e)+1).replace(r,``)}t.exports=i})),Oe=t(((e,t)=>{t.exports=we().Symbol})),ke=t(((e,t)=>{var n=Oe(),r=Object.prototype,i=r.hasOwnProperty,a=r.toString,o=n?n.toStringTag:void 0;function s(e){var t=i.call(e,o),n=e[o];try{e[o]=void 0;var r=!0}catch{}var s=a.call(e);return r&&(t?e[o]=n:delete e[o]),s}t.exports=s})),Ae=t(((e,t)=>{var n=Object.prototype.toString;function r(e){return n.call(e)}t.exports=r})),je=t(((e,t)=>{var n=Oe(),r=ke(),i=Ae(),a=`[object Null]`,o=`[object Undefined]`,s=n?n.toStringTag:void 0;function c(e){return e==null?e===void 0?o:a:s&&s in Object(e)?r(e):i(e)}t.exports=c})),Me=t(((e,t)=>{function n(e){return typeof e==`object`&&!!e}t.exports=n})),Ne=t(((e,t)=>{var n=je(),r=Me(),i=`[object Symbol]`;function a(e){return typeof e==`symbol`||r(e)&&n(e)==i}t.exports=a})),Pe=t(((e,t)=>{var n=De(),r=Se(),i=Ne(),a=NaN,o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt;function u(e){if(typeof e==`number`)return e;if(i(e))return a;if(r(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=r(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=n(e);var u=s.test(e);return u||c.test(e)?l(e.slice(2),u?2:8):o.test(e)?a:+e}t.exports=u})),Fe=t(((e,t)=>{var n=Se(),r=Te(),i=Pe(),a=`Expected a function`,o=Math.max,s=Math.min;function c(e,t,c){var l,u,d,f,p,m,h=0,g=!1,_=!1,v=!0;if(typeof e!=`function`)throw TypeError(a);t=i(t)||0,n(c)&&(g=!!c.leading,_=`maxWait`in c,d=_?o(i(c.maxWait)||0,t):d,v=`trailing`in c?!!c.trailing:v);function y(t){var n=l,r=u;return l=u=void 0,h=t,f=e.apply(r,n),f}function b(e){return h=e,p=setTimeout(C,t),g?y(e):f}function x(e){var n=e-m,r=e-h,i=t-n;return _?s(i,d-r):i}function S(e){var n=e-m,r=e-h;return m===void 0||n>=t||n<0||_&&r>=d}function C(){var e=r();if(S(e))return w(e);p=setTimeout(C,x(e))}function w(e){return p=void 0,v&&l?y(e):(l=u=void 0,f)}function T(){p!==void 0&&clearTimeout(p),h=0,l=m=u=p=void 0}function E(){return p===void 0?f:w(r())}function D(){var e=r(),n=S(e);if(l=arguments,u=this,m=e,n){if(p===void 0)return b(m);if(_)return clearTimeout(p),p=setTimeout(C,t),y(m)}return p===void 0&&(p=setTimeout(C,t)),f}return D.cancel=T,D.flush=E,D}t.exports=c})),Ie,Le=`__AHOOKS_CANCELLED_ERROR__`,Re=class e extends Error{constructor(t=`useRequest: the request was cancelled or superseded.`){super(t),this[Ie]=!0,this.name=`CancelledError`,Object.setPrototypeOf(this,e.prototype)}};Ie=Le;function ze(e){return e instanceof Re||typeof e==`object`&&!!e&&e[Le]===!0}function Be(e){var t;(t=e.current)==null||t.call(e,new Re),e.current=void 0}var Ve=e(Fe()),He=(e,{debounceWait:t,debounceLeading:n,debounceTrailing:r,debounceMaxWait:i,ready:a})=>{let o=(0,U.useRef)(void 0),s=(0,U.useRef)(void 0),c=(0,U.useMemo)(()=>{let e={};return n!==void 0&&(e.leading=n),r!==void 0&&(e.trailing=r),i!==void 0&&(e.maxWait=i),e},[n,r,i]);return(0,U.useEffect)(()=>{if(t){let n=e.runAsync.bind(e);return o.current=(0,Ve.default)(e=>{e()},t,c),e.runAsync=(...t)=>e.options.ready===!1?n(...t):(Be(s),new Promise((e,r)=>{var i;let a=!1;s.current=r,(i=o.current)==null||i.call(o,()=>{a=!0,s.current=void 0,n(...t).then(e).catch(r)}),!a&&c.trailing===!1&&Be(s)})),()=>{var t;(t=o.current)==null||t.cancel(),Be(s),e.runAsync=n}}},[t,c,e]),J(()=>{var e;a===!1&&((e=o.current)==null||e.cancel(),Be(s))},[a]),t?{onCancel:()=>{var e;(e=o.current)==null||e.cancel(),Be(s)}}:{}},Ue=(e,{loadingDelay:t,ready:n})=>{let r=(0,U.useRef)(void 0);if(!t)return{};let i=()=>{r.current&&clearTimeout(r.current)};return{onBefore:()=>(i(),n!==!1&&(r.current=setTimeout(()=>{e.setState({loading:!0})},t)),{loading:!1}),onFinally:()=>{i()},onCancel:()=>{i()}}},We=!!(typeof window<`u`&&window.document&&window.document.createElement);function Ge(){return!We||document.visibilityState!==`hidden`}var Ke=new Set;function qe(e){return Ke.add(e),function(){Ke.has(e)&&Ke.delete(e)}}We&&window.addEventListener(`visibilitychange`,()=>{Ge()&&Ke.forEach(e=>e())},!1);var Je=(e,{pollingInterval:t,pollingWhenHidden:n=!0,pollingErrorRetryCount:r=-1})=>{let i=(0,U.useRef)(void 0),a=(0,U.useRef)(void 0),o=(0,U.useRef)(0),s=()=>{var e;i.current&&clearTimeout(i.current),(e=a.current)==null||e.call(a)};return J(()=>{t||s()},[t]),t?{onBefore:()=>{s()},onError:()=>{o.current+=1},onSuccess:()=>{o.current=0},onFinally:()=>{r===-1||r!==-1&&o.current<=r?i.current=setTimeout(()=>{!n&&!Ge()?a.current=qe(()=>{e.refresh()}):e.refresh()},t):o.current=0},onCancel:()=>{s()}}:{}};function Ye(e,t){let n=!1;return(...r)=>{n||(n=!0,e(...r),setTimeout(()=>{n=!1},t))}}var Xe=()=>We&&navigator.onLine!==void 0?navigator.onLine:!0,Ze=new Set;function Qe(e){return Ze.add(e),function(){Ze.has(e)&&Ze.delete(e)}}if(We){let e=()=>{Ge()&&Xe()&&Ze.forEach(e=>e())};window.addEventListener(`visibilitychange`,e,!1),window.addEventListener(`focus`,e,!1)}var $e=(e,{refreshOnWindowFocus:t,focusTimespan:n=5e3})=>{let r=(0,U.useRef)(void 0),i=()=>{var e;(e=r.current)==null||e.call(r)};return(0,U.useEffect)(()=>{if(t){let t=Ye(e.refresh.bind(e),n);r.current=Qe(()=>{t()})}return()=>{i()}},[t,n]),pe(()=>{i()}),{}},et=(e,{retryInterval:t,retryCount:n})=>{let r=(0,U.useRef)(void 0),i=(0,U.useRef)(0),a=(0,U.useRef)(!1);return n?{onBefore:()=>{a.current||(i.current=0),a.current=!1,r.current&&clearTimeout(r.current)},onSuccess:()=>{i.current=0},onError:()=>{if(i.current+=1,n===-1||i.current<=n){let n=t??Math.min(1e3*2**i.current,3e4);r.current=setTimeout(()=>{a.current=!0,e.refresh()},n)}else i.current=0},onCancel:()=>{i.current=0,r.current&&clearTimeout(r.current)}}:{}},tt=e(t(((e,t)=>{var n=Fe(),r=Se(),i=`Expected a function`;function a(e,t,a){var o=!0,s=!0;if(typeof e!=`function`)throw TypeError(i);return r(a)&&(o=`leading`in a?!!a.leading:o,s=`trailing`in a?!!a.trailing:s),n(e,t,{leading:o,maxWait:t,trailing:s})}t.exports=a}))()),nt=(e,{throttleWait:t,throttleLeading:n,throttleTrailing:r})=>{let i=(0,U.useRef)(void 0),a=(0,U.useRef)(void 0),o={};return n!==void 0&&(o.leading=n),r!==void 0&&(o.trailing=r),(0,U.useEffect)(()=>{if(t){let n=e.runAsync.bind(e);return i.current=(0,tt.default)(e=>{e()},t,o),e.runAsync=(...e)=>(Be(a),new Promise((t,r)=>{var s;let c=!1;a.current=r,(s=i.current)==null||s.call(i,()=>{c=!0,a.current=void 0,n(...e).then(t).catch(r)}),!c&&o.trailing===!1&&Be(a)})),()=>{var t;e.runAsync=n,(t=i.current)==null||t.cancel(),Be(a)}}},[t,n,r]),t?{onCancel:()=>{var e;(e=i.current)==null||e.cancel(),Be(a)}}:{}},rt=e=>{(0,U.useEffect)(()=>{let t=e?.();if(!le(t))return t},[])},it=()=>{let[,e]=(0,U.useState)({});return q(()=>e({}))},at=class{constructor(e,t,n,r={}){this.serviceRef=e,this.options=t,this.subscribe=n,this.initState=r,this.pluginImpls=[],this.count=0,this.state={loading:!1,params:void 0,data:void 0,error:void 0},this.state=Object.assign(Object.assign(Object.assign({},this.state),{loading:!t.manual}),r)}setState(e={}){this.state=Object.assign(Object.assign({},this.state),e),this.subscribe()}runPluginHandler(e,...t){let n=this.pluginImpls.map(n=>n[e]?.call(n,...t)).filter(Boolean);return Object.assign({},...n)}runAsync(...e){return o(this,void 0,void 0,function*(){var t,n,r,i,o,s,c,l,u,d;this.count+=1;let f=this.count,p=this.runPluginHandler(`onBefore`,e),{stopNow:m=!1,returnNow:h=!1}=p,g=a(p,[`stopNow`,`returnNow`]);if(m||(this.setState(Object.assign({loading:!0,params:e},g)),h))return Promise.resolve(g.data);(n=(t=this.options).onBefore)==null||n.call(t,e);try{let{servicePromise:t}=this.runPluginHandler(`onRequest`,this.serviceRef.current,e);t||=this.serviceRef.current(...e);let n=yield t;if(f!==this.count)throw new Re;return this.setState({data:n,error:void 0,loading:!1}),(i=(r=this.options).onSuccess)==null||i.call(r,n,e),this.runPluginHandler(`onSuccess`,n,e),(s=(o=this.options).onFinally)==null||s.call(o,e,n,void 0),f===this.count&&this.runPluginHandler(`onFinally`,e,n,void 0),n}catch(t){throw f===this.count?(this.setState({error:t,loading:!1}),(l=(c=this.options).onError)==null||l.call(c,t,e),this.runPluginHandler(`onError`,t,e),(d=(u=this.options).onFinally)==null||d.call(u,e,void 0,t),f===this.count&&this.runPluginHandler(`onFinally`,e,void 0,t),t):ze(t)?t:new Re}})}run(...e){this.runAsync(...e).catch(e=>{ze(e)||this.options.onError||console.error(e)})}cancel(){this.count+=1,this.setState({loading:!1}),this.runPluginHandler(`onCancel`)}refresh(){this.run(...this.state.params||[])}refreshAsync(){return this.runAsync(...this.state.params||[])}mutate(e){let t=G(e)?e(this.state.data):e;this.runPluginHandler(`onMutate`,t),this.setState({data:t})}};function ot(e,t={},n=[]){let{manual:r=!1,ready:i=!0}=t,o=a(t,[`manual`,`ready`]),s=Object.assign({manual:r,ready:i},o),c=fe(e),l=it(),u=Y(()=>{let e=n.map(e=>(e?.onInit)?.call(e,s)).filter(Boolean);return new at(c,s,l,Object.assign({},...e))},[]);return u.options=s,u.pluginImpls=n.map(e=>e(u,s)),rt(()=>{if(!r&&i){let e=u.state.params||t.defaultParams||[];u.run(...e)}}),pe(()=>{u.cancel()}),{loading:u.state.loading,data:u.state.data,error:u.state.error,params:u.state.params||[],cancel:q(u.cancel.bind(u)),refresh:q(u.refresh.bind(u)),refreshAsync:q(u.refreshAsync.bind(u)),run:q(u.run.bind(u)),runAsync:q((...e)=>u.runAsync(...e)),mutate:q(u.mutate.bind(u))}}function st(e,t,n){return ot(e,t,[...n||[],He,Ue,Je,$e,nt,ue,xe,et])}var ct=st;function lt(e,t){if(!We)return;if(!e)return t;let n;return n=G(e)?e():`current`in e?e.current:e,n}var ut=(e=>(t,n,r)=>{let i=(0,U.useRef)(!1),a=(0,U.useRef)([]),o=(0,U.useRef)([]),s=(0,U.useRef)(void 0);e(()=>{var e;let c=(Array.isArray(r)?r:[r]).map(e=>lt(e));if(!i.current){i.current=!0,a.current=c,o.current=n,s.current=t();return}(c.length!==a.current.length||!de(a.current,c)||!de(o.current,n))&&((e=s.current)==null||e.call(s),a.current=c,o.current=n,s.current=t())}),pe(()=>{var e;(e=s.current)==null||e.call(s),i.current=!1})})(U.useEffect);function dt(e,t){let n=fe(e),r=t?.wait??1e3,i=(0,U.useMemo)(()=>(0,Ve.default)((...e)=>n.current(...e),r,t),[]);return pe(()=>{i.cancel()}),{run:i,cancel:i.cancel,flush:i.flush}}function ft(e,t,n={}){let{enable:r=!0}=n,i=fe(t);ut(()=>{if(!r)return;let t=lt(n.target,window);if(!t?.addEventListener)return;let a=e=>i.current(e),o=Array.isArray(e)?e:[e];return o.forEach(e=>{t.addEventListener(e,a,{capture:n.capture,once:n.once,passive:n.passive})}),()=>{o.forEach(e=>{t.removeEventListener(e,a,{capture:n.capture})})}},[e,n.capture,n.once,n.passive,r],n.target)}var pt=e=>e===document||e===document.documentElement||e===document.body?Math.max(window.pageYOffset,document.documentElement.scrollTop,document.body.scrollTop):e.scrollTop,mt=e=>e.scrollHeight||Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),ht=e=>e.clientHeight||Math.max(document.documentElement.clientHeight,document.body.clientHeight),gt=(e,t={})=>{let{target:n,isNoMore:r,threshold:i=100,direction:a=`bottom`,reloadDeps:s=[],manual:c,onBefore:l,onSuccess:u,onError:d,onFinally:f}=t,[p,m]=(0,U.useState)(),[h,g]=(0,U.useState)(!1),_=a===`top`,v=(0,U.useRef)(void 0),y=(0,U.useRef)(0),b=(0,U.useRef)(!1),x=(0,U.useMemo)(()=>r?r(p):!1,[p]),{loading:S,error:C,run:w,runAsync:T,cancel:E}=ct(t=>o(void 0,void 0,void 0,function*(){return{currentData:yield e(t),lastData:t}}),{manual:c,onFinally:(e,t,n)=>{g(!1),f?.(t?.currentData,n)},onBefore:()=>l?.(),onSuccess:e=>{e.lastData?m(Object.assign(Object.assign({},e.currentData),{list:_?[...e.currentData.list,...e.lastData.list??[]]:[...e.lastData.list??[],...e.currentData.list]})):m(Object.assign(Object.assign({},e.currentData),{list:[...e.currentData.list??[]]})),_?setTimeout(()=>{requestAnimationFrame(()=>{let e=lt(n);if(e=e===document?document.documentElement:e,e){let t=mt(e);e.scrollTo(0,t-y.current)}})}):b.current=!0,u?.(e.currentData)},onError:e=>d?.(e)}),D=q(()=>{x||(g(!0),w(p))}),O=e=>o(void 0,void 0,void 0,function*(){return(yield T(e)).currentData}),k=q(()=>x?Promise.reject():(g(!0),O(p))),A=()=>(g(!1),w()),j=()=>(g(!1),O()),M=()=>{let e=lt(n);if(!e)return;let t=e===document?document.documentElement:e,r=pt(t),a=mt(t),o=ht(t);_?(v.current!==void 0&&v.current>r&&r<=i&&D(),v.current=r,y.current=a-r):a-r<=o+i&&D()};return J(()=>{b.current&&(b.current=!1,M())},[p]),ft(`scroll`,()=>{S||h||M()},{target:n}),J(()=>{w()},[...s]),{data:p,loading:!h&&S,error:C,loadingMore:h,noMore:x,loadMore:D,loadMoreAsync:k,reload:q(A),reloadAsync:q(j),mutate:m,cancel:E}},$=i(),_t={connected:`text-[#16A34A] dark:text-[#22C55E]`,connecting:`text-[#2563eb] dark:text-[#3b82f6]`,reconnecting:`text-[#2563eb] dark:text-[#60a5fa]`,offline:`text-[#f59e0b]`,error:`text-[#ef4444]`},vt={connected:`mcp.status.connected`,connecting:`mcp.status.connecting`,reconnecting:`mcp.status.reconnecting`,offline:`mcp.status.offline`,error:`mcp.status.error`},yt={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`},bt={Official:`mcp.catalog.tag.official`,Popular:`mcp.catalog.tag.popular`,Community:`mcp.catalog.tag.community`},xt=20,St=[`debug`,`info`,`notice`,`warning`,`error`,`critical`,`alert`,`emergency`],Ct=(e,t)=>e.status!==`reconnecting`||!e.recovery?t(vt[e.status]):t(`mcp.status.recoveringAttempt`,{attempt:e.recovery.attempt,max:e.recovery.maxAttempts}),wt=async()=>x(`/mcp`),Tt=async e=>x(`/mcp/${encodeURIComponent(e)}/logs?limit=20`),Et=`mcp server @modelcontextprotocol`,Dt=3,Ot=e=>e.split(`/`).pop()?.replace(/^server-/,``)||e,kt=async(e,t)=>{let n=e&&e.length>=Dt?e:Et,r=`https://registry.npmjs.org/-/v1/search?text=${encodeURIComponent(n)}&size=${xt}&from=${t}`,i=await x(r);return{list:i.objects.map(e=>e.package),total:i.total,hasMore:t+xt<i.total}};function At({active:e}){let t=s(),[n,r]=(0,U.useState)(`installed`),[i,a]=(0,U.useState)(!1),[o,c]=(0,U.useState)(null),[l,u]=(0,U.useState)(``),[d,f]=(0,U.useState)(null),[p,m]=(0,U.useState)(null),[_,v]=(0,U.useState)(null),[y,S]=(0,U.useState)(null),[C,w]=(0,U.useState)(null),[E,O]=(0,U.useState)(``),[k,A]=(0,U.useState)(null),[j,M]=(0,U.useState)(!1),[N,P]=(0,U.useState)(null),[ee,te]=(0,U.useState)(null),[re,ie]=(0,U.useState)(``),[F,R]=(0,U.useState)(``),[z,B]=(0,U.useState)(null),[oe,V]=(0,U.useState)(null),se=(0,U.useRef)(null),{run:ce}=dt(e=>{R(e)},{wait:500}),{data:H=[],loading:W,error:G,run:K,runAsync:le}=ct(wt,{refreshDeps:[e],ready:e,onSuccess:e=>{e.length>0&&!o&&c(e[0].id)}}),{data:q,loading:J,error:ue,runAsync:de}=ct(Tt,{manual:!0}),{data:Y,loading:fe,loadingMore:pe,noMore:X,error:me,reload:he}=gt(async e=>{let t=e?.list?.length??0;return kt(F,t)},{target:se,isNoMore:e=>!e?.hasMore,reloadDeps:[F],manual:!e||n!==`catalog`}),{runAsync:Z,loading:ge,error:_e}=ct(async e=>{await x(`/mcp`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:e.name,config:e})})},{manual:!0,onSuccess:()=>{le(),a(!1),V(null),B(null)},onError:()=>{B(null)}}),ve=(0,U.useMemo)(()=>{let e=l.trim().toLowerCase();return e?H.filter(t=>[t.name,t.endpoint,t.description].some(t=>t.toLowerCase().includes(e))):H},[l,H]),Q=(0,U.useMemo)(()=>ve.find(e=>e.id===o)??ve[0],[ve,o]),ye=(0,U.useMemo)(()=>{if(!Q)return[];let e=(Q.prompts??[]).flatMap(e=>e.arguments.map(t=>({key:`prompt:${e.name}:${t.name}`,label:`${e.name}.${t.name}`,reference:{type:`prompt`,name:e.name},argument:t.name}))),t=(Q.resourceTemplates??[]).flatMap(e=>(e.variables??[]).map(t=>({key:`resource:${e.uriTemplate}:${t}`,label:`${e.uriTemplate} · ${t}`,reference:{type:`resource`,uri:e.uriTemplate},argument:t})));return[...e,...t]},[Q]),be=ye.find(e=>e.key===C)??ye[0];(0,U.useEffect)(()=>{if(!e||!H.some(e=>e.oauthStatus===`authorizing`||e.status===`connecting`||e.status===`reconnecting`))return;let t=window.setInterval(()=>{le()},1e3);return()=>window.clearInterval(t)},[e,le,H]),(0,U.useEffect)(()=>{p&&H.some(e=>e.name===p.serverName&&(e.oauthStatus===`authenticated`||e.oauthStatus===`disabled`||e.oauthStatus===`unavailable`))&&m(null)},[p,H]),(0,U.useEffect)(()=>{e&&n===`installed`&&Q&&de(Q.name).catch(()=>void 0)},[e,de,Q,n]);let xe=async(e,n)=>{v({type:e,name:n}),f(null);try{let t=e===`delete`?``:`/${e}`;await x(`/mcp/${encodeURIComponent(n)}${t}`,{method:e===`delete`?`DELETE`:`POST`}),await le(),e===`delete`&&(te(null),c(null))}catch(n){f(n instanceof Error?n.message:t(e===`connect`?`mcp.error.connectFailed`:e===`disconnect`?`mcp.error.disconnectFailed`:`mcp.error.deleteFailed`))}finally{v(null)}},Se=async(e,n)=>{v({type:e,name:n.name}),f(null);try{if(e===`login`){let e=await x(`/mcp/${encodeURIComponent(n.name)}/oauth/login`,{method:`POST`});m({serverName:n.name,url:e.authorizationUrl})}else await x(`/mcp/${encodeURIComponent(n.name)}/oauth/logout`,{method:`POST`}),m(null);await le()}catch(n){f(n instanceof Error?n.message:t(e===`login`?`mcp.error.loginFailed`:`mcp.error.logoutFailed`))}finally{v(null)}},Ce=async(e,n)=>{S(n),f(null);try{await x(`/mcp/${encodeURIComponent(e.name)}/logging-level`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({level:n})}),await le(),de(e.name).catch(()=>void 0)}catch(e){f(e instanceof Error?e.message:t(`mcp.error.loggingLevelFailed`))}finally{S(null)}},we=async e=>{if(be){M(!0),P(null),A(null);try{let t=await x(`/mcp/${encodeURIComponent(e.name)}/complete`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({reference:be.reference,argument:{name:be.argument,value:E}})});A(t)}catch(e){P(e instanceof Error?e.message:t(`mcp.error.completionFailed`))}finally{M(!1)}}},Te=(0,U.useMemo)(()=>new Set(H.map(e=>e.name.toLowerCase())),[H]),Ee=e=>{V(e)},De=e=>e.startsWith(`@modelcontextprotocol/`),Oe=e=>De(e.name)?`Official`:`Community`;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`flex h-full min-h-0 flex-col`,children:(0,$.jsxs)(`div`,{className:`flex overflow-hidden flex-col flex-1 gap-4 p-4 min-h-0 sm:gap-5 sm:p-8`,children:[(0,$.jsxs)(`div`,{className:`flex justify-between items-center shrink-0`,children:[(0,$.jsx)(`h2`,{className:`text-lg font-semibold text-[#111827] dark:text-[#E5E5E5] font-mono`,children:`MCP`}),(0,$.jsxs)(`div`,{className:`flex gap-2 items-center`,children:[(0,$.jsx)(`button`,{onClick:K,"aria-label":t(`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:W,children:(0,$.jsx)(ae,{className:D(`h-4 w-4`,W&&`animate-spin`)})}),(0,$.jsxs)(`button`,{"data-mcp-add-server-trigger":!0,onClick:()=>a(!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:[(0,$.jsx)(b,{className:`h-3.5 w-3.5`}),t(`mcp.action.addServer`)]})]})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 p-1 rounded-md bg-[#F3F4F6] dark:bg-[#18181b] w-fit shrink-0`,children:[(0,$.jsx)(jt,{active:n===`installed`,onClick:()=>r(`installed`),children:t(`mcp.tab.installed`,{count:H.length})}),(0,$.jsx)(jt,{active:n===`catalog`,onClick:()=>{r(`catalog`),Y||he()},children:t(`mcp.tab.catalog`)})]}),d&&(0,$.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:[(0,$.jsx)(ne,{className:`mt-0.5 h-3.5 w-3.5 shrink-0`}),(0,$.jsx)(`span`,{className:`flex-1 min-w-0`,children:d}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>f(null),className:`underline shrink-0`,children:t(`mcp.action.dismiss`)})]}),n===`installed`?(0,$.jsxs)(`div`,{className:`flex overflow-hidden flex-col flex-1 gap-3 min-h-0 sm:flex-row sm:gap-5`,children:[(0,$.jsxs)(`div`,{className:`flex h-[180px] w-full shrink-0 flex-col gap-3 overflow-hidden sm:h-auto sm:w-[220px]`,children:[(0,$.jsx)(`span`,{className:`text-sm font-mono font-semibold text-[#111827] dark:text-[#E5E5E5] shrink-0`,children:t(`mcp.servers.title`)}),(0,$.jsx)(`input`,{type:`search`,"aria-label":t(`mcp.servers.searchAria`),value:l,onChange:e=>u(e.target.value),placeholder:t(`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]`}),(0,$.jsxs)(`div`,{className:`flex overflow-y-auto flex-col flex-1 gap-2 pr-1 min-h-0`,children:[W&&H.length===0&&(0,$.jsxs)(`div`,{role:`status`,className:`flex items-center justify-center gap-2 py-8 text-sm font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:[(0,$.jsx)(I,{className:`w-4 h-4 animate-spin`}),t(`mcp.servers.loading`)]}),G&&!W&&(0,$.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:[(0,$.jsx)(`span`,{children:G.message}),(0,$.jsx)(`button`,{type:`button`,onClick:K,className:`rounded-md border border-red-200 px-2.5 py-1 text-[11px] dark:border-red-900`,children:t(`mcp.action.retry`)})]}),!G&&!W&&ve.length===0&&(0,$.jsx)(`div`,{className:`text-center py-8 text-[#9CA3AF] dark:text-[#71717a] text-sm font-mono`,children:t(l?`mcp.servers.noMatch`:`mcp.servers.none`)}),ve.map(e=>(0,$.jsxs)(`button`,{onClick:()=>{c(e.id),te(null),f(null),w(null),O(``),A(null),P(null)},className:D(`text-left rounded-lg px-3 py-2 flex flex-col gap-1 transition-colors shrink-0`,e.id===Q?.id?`bg-[#E5E7EB] dark:bg-[#111827]`:`bg-white dark:bg-[#0C0C0C] hover:bg-[#F3F4F6] dark:hover:bg-[#18181b]`),children:[(0,$.jsxs)(`div`,{className:`flex justify-between items-center`,children:[(0,$.jsx)(`span`,{className:`text-[13px] font-mono font-semibold text-[#111827] dark:text-[#E5E5E5]`,children:e.name}),(0,$.jsx)(`span`,{className:D(`text-[11px] font-mono font-semibold`,_t[e.status]),children:Ct(e,t)})]}),(0,$.jsx)(`span`,{className:`text-[11px] font-mono text-[#6B7280] dark:text-[#94a3b8] truncate`,children:e.endpoint})]},e.id))]})]}),Q?(0,$.jsxs)(`div`,{className:`flex overflow-y-auto flex-col flex-1 gap-3 pr-2 min-h-0`,children:[(0,$.jsxs)(`div`,{className:`flex justify-between items-center shrink-0`,children:[(0,$.jsx)(`span`,{className:`text-base font-mono font-semibold text-[#111827] dark:text-[#E5E5E5]`,children:Q.name}),(0,$.jsx)(`span`,{className:D(`text-xs font-mono font-semibold`,_t[Q.status]),children:Ct(Q,t)})]}),(0,$.jsx)(`p`,{className:`text-[12px] font-mono text-[#6B7280] dark:text-[#94a3b8]`,children:Q.description}),Q.error&&(0,$.jsx)(`p`,{className:`text-[12px] font-mono text-[#ef4444]`,children:t(`mcp.server.errorLabel`,{error:Q.error})}),Q.instructions&&(0,$.jsxs)(`div`,{className:`rounded-md bg-[#F3F4F6] px-3 py-2 dark:bg-[#18181b]`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`text-[10px] font-mono uppercase tracking-wide text-[#9CA3AF] dark:text-[#71717a]`,children:t(`mcp.instructions.title`)}),(0,$.jsxs)(`span`,{className:`truncate text-[9px] font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:[`sha256 `,Q.instructions.sha256]})]}),(0,$.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:Q.instructions.text??t(`mcp.instructions.detailsOmittedByPolicy`)}),(Q.instructions.truncated||Q.instructions.detailsOmitted)&&(0,$.jsx)(`span`,{className:`mt-1 block text-[9px] font-mono text-amber-600 dark:text-amber-400`,children:Q.instructions.detailsOmitted?t(`mcp.instructions.detailsOmitted`):t(`mcp.instructions.truncated`)})]}),Q.tasks&&(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 rounded-md bg-[#F3F4F6] px-3 py-2 dark:bg-[#18181b]`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,$.jsx)(`span`,{className:`text-[10px] font-mono uppercase tracking-wide text-[#9CA3AF] dark:text-[#71717a]`,children:t(`mcp.tasks.title`)}),(0,$.jsx)(`span`,{className:`text-[11px] font-mono text-[#6B7280] dark:text-[#a1a1aa]`,children:Q.tasks.enabled?t(`mcp.tasks.summary`,{count:Q.tasks.maxTasksPerSession,interval:Q.tasks.pollIntervalMs}):t(`mcp.tasks.disabledByDefault`)})]}),(0,$.jsx)(`span`,{className:D(`text-[10px] font-mono font-semibold uppercase`,Q.tasks.enabled?`text-[#16A34A] dark:text-[#22C55E]`:`text-[#9CA3AF] dark:text-[#71717a]`),children:Q.tasks.enabled?t(`mcp.tasks.enabled`):t(`mcp.tasks.disabled`)})]}),Q.oauthEnabled&&(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2 rounded-md bg-[#F3F4F6] px-3 py-2 dark:bg-[#18181b]`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,$.jsx)(`span`,{className:`text-[10px] font-mono uppercase tracking-wide text-[#9CA3AF] dark:text-[#71717a]`,children:`OAuth`}),(0,$.jsx)(`span`,{role:Q.oauthStatus===`authorizing`?`status`:void 0,className:D(`text-[11px] font-mono`,Q.oauthStatus===`authenticated`?`text-[#16A34A] dark:text-[#22C55E]`:Q.oauthStatus===`error`?`text-[#ef4444]`:`text-[#6B7280] dark:text-[#a1a1aa]`),children:t(yt[Q.oauthStatus])})]}),Q.oauthStatus===`authenticated`?(0,$.jsx)(`button`,{type:`button`,onClick:()=>void Se(`logout`,Q),disabled:_!==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:_?.type===`logout`?t(`mcp.oauth.signingOut`):t(`mcp.oauth.signOut`)}):Q.oauthStatus===`authorizing`?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(I,{className:`h-3.5 w-3.5 animate-spin text-[#2563eb]`,"aria-hidden":`true`}),p?.serverName===Q.name?(0,$.jsx)(`a`,{href:p.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:t(`mcp.oauth.continueAuthorization`)}):(0,$.jsx)(`button`,{type:`button`,onClick:()=>void Se(`login`,Q),disabled:_!==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:t(`mcp.oauth.resumeAuthorization`)})]}):Q.oauthStatus===`unavailable`?null:(0,$.jsx)(`button`,{type:`button`,onClick:()=>void Se(`login`,Q),disabled:_!==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:_?.type===`login`?t(`mcp.oauth.opening`):t(`mcp.oauth.authorize`)})]}),(0,$.jsxs)(`div`,{className:`flex gap-2 items-center`,children:[Q.status===`connected`||Q.status===`reconnecting`?(0,$.jsx)(`button`,{onClick:()=>void xe(`disconnect`,Q.name),disabled:_!==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:_?.type===`disconnect`&&_.name===Q.name?t(`mcp.action.disconnecting`):Q.status===`reconnecting`?t(`mcp.action.stopRecovery`):t(`mcp.action.disconnect`)}):(0,$.jsx)(`button`,{onClick:()=>void xe(`connect`,Q.name),disabled:_!==null||Q.oauthEnabled&&Q.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:_?.type===`connect`&&_.name===Q.name?t(`mcp.action.connecting`):Q.oauthEnabled&&Q.oauthStatus!==`authenticated`?t(`mcp.action.authorizeFirst`):t(`mcp.action.connect`)}),(0,$.jsx)(`button`,{onClick:()=>te(Q.name),disabled:_!==null,className:`h-7 px-3 rounded-md bg-[#F3F4F6] dark:bg-[#18181b] text-[#ef4444] text-[11px] font-mono font-semibold`,children:t(`mcp.action.delete`)})]}),ee===Q.name&&(0,$.jsxs)(`div`,{role:`alertdialog`,"aria-label":t(`mcp.server.deleteAria`,{name:Q.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:[(0,$.jsx)(`span`,{className:`text-[11px] font-mono text-red-700 dark:text-red-300`,children:t(`mcp.delete.confirm`)}),(0,$.jsxs)(`div`,{className:`flex gap-2 items-center`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:()=>te(null),className:`h-7 rounded-md px-2.5 text-[11px] font-mono text-[#6B7280] dark:text-[#a1a1aa]`,children:t(`mcp.action.cancel`)}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>void xe(`delete`,Q.name),disabled:_!==null,className:`h-7 rounded-md bg-red-600 px-2.5 text-[11px] font-mono font-semibold text-white disabled:opacity-60`,children:_?.type===`delete`?t(`mcp.action.deleting`):t(`mcp.action.deleteServer`)})]})]}),(0,$.jsx)(`span`,{className:`text-sm font-mono font-semibold text-[#111827] dark:text-[#E5E5E5]`,children:t(`mcp.tools.title`,{count:Q.tools.length})}),(0,$.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:Q.tools.length===0?(0,$.jsx)(`span`,{className:`text-[12px] font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:t(`mcp.tools.none`)}):Q.tools.map(e=>(0,$.jsx)(`span`,{className:`px-2 py-1 rounded-md bg-[#F3F4F6] dark:bg-[#18181b] text-[11px] font-mono text-[#111827] dark:text-[#E5E5E5]`,children:e},e))}),(0,$.jsx)(`span`,{className:`text-sm font-mono font-semibold text-[#111827] dark:text-[#E5E5E5]`,children:t(`mcp.completion.title`)}),Q.status===`connected`?Q.completionSupported?ye.length===0?(0,$.jsx)(`span`,{className:`text-[12px] font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:t(`mcp.completion.noTargets`)}):(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(`div`,{"aria-label":t(`mcp.completion.targetAria`),className:`flex max-h-20 flex-wrap gap-1 overflow-y-auto`,children:ye.map(e=>(0,$.jsx)(`button`,{type:`button`,"aria-pressed":be?.key===e.key,onClick:()=>{w(e.key),A(null),P(null)},className:D(`max-w-full truncate rounded px-2 py-1 text-[10px] font-mono`,be?.key===e.key?`bg-[#111827] text-white dark:bg-[#E5E5E5] dark:text-[#111827]`:`bg-[#F3F4F6] text-[#6B7280] dark:bg-[#18181b] dark:text-[#a1a1aa]`),children:e.label},e.key))}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(`input`,{type:`text`,"aria-label":t(`mcp.completion.partialAria`),value:E,onChange:e=>O(e.target.value),placeholder:t(`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]`}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>void we(Q),disabled:j,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:t(j?`mcp.completion.completing`:`mcp.completion.complete`)})]}),N&&(0,$.jsx)(`span`,{role:`alert`,className:`text-[11px] font-mono text-red-600 dark:text-red-400`,children:N}),k&&(0,$.jsxs)(`div`,{"aria-label":t(`mcp.completion.suggestionsAria`),className:`rounded-md bg-[#F3F4F6] p-2 dark:bg-[#18181b]`,children:[(0,$.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:k.values.length>0?k.values.map(e=>(0,$.jsx)(`span`,{className:`rounded bg-white px-2 py-1 text-[10px] font-mono text-[#111827] dark:bg-[#0C0C0C] dark:text-[#E5E5E5]`,children:e||t(`mcp.completion.empty`)},e)):(0,$.jsx)(`span`,{className:`text-[10px] font-mono text-[#9CA3AF]`,children:t(`mcp.completion.noSuggestions`)})}),(0,$.jsxs)(`span`,{className:`mt-1 block truncate text-[9px] font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:[`sha256 `,k.sha256,k.truncated?t(`mcp.meta.truncatedSuffix`):``]})]})]}):(0,$.jsx)(`span`,{className:`text-[12px] font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:t(`mcp.completion.unsupported`)}):(0,$.jsx)(`span`,{className:`text-[12px] font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:t(`mcp.completion.connectPrompt`)}),(0,$.jsxs)(`div`,{className:`mt-1 flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`text-sm font-mono font-semibold text-[#111827] dark:text-[#E5E5E5]`,children:t(`mcp.diagnostics.title`)}),(0,$.jsx)(`button`,{type:`button`,"aria-label":t(`mcp.diagnostics.refreshAria`,{name:Q.name}),onClick:()=>void de(Q.name),disabled:J,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:(0,$.jsx)(ae,{className:D(`h-3.5 w-3.5`,J&&`animate-spin`)})})]}),(0,$.jsx)(`div`,{"aria-label":t(`mcp.log.levelAria`),className:`flex flex-wrap gap-1`,children:St.map(e=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>void Ce(Q,e),disabled:Q.status!==`connected`||y!==null,"aria-pressed":(Q.logging?.level??`warning`)===e,className:D(`rounded px-2 py-1 text-[10px] font-mono transition-colors disabled:opacity-40`,(Q.logging?.level??`warning`)===e?`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:y===e?t(`mcp.log.setting`):e},e))}),ue?(0,$.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:ue.message}):q?.entries.length?(0,$.jsx)(`div`,{"aria-label":t(`mcp.diagnostics.logsAria`,{name:Q.name}),className:`flex max-h-52 flex-col gap-1.5 overflow-y-auto rounded-md bg-[#F3F4F6] p-2 dark:bg-[#18181b]`,children:q.entries.map(e=>(0,$.jsxs)(`div`,{className:`rounded bg-white px-2.5 py-2 dark:bg-[#0C0C0C]`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:D(`text-[10px] font-mono font-semibold uppercase`,[`error`,`critical`,`alert`,`emergency`].includes(e.level)?`text-red-600 dark:text-red-400`:e.level===`warning`?`text-amber-600 dark:text-amber-400`:`text-[#2563eb] dark:text-[#60a5fa]`),children:e.level}),(0,$.jsxs)(`span`,{className:`truncate text-[10px] font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:[e.logger||Q.name,` · r`,e.revision]})]}),(0,$.jsx)(`pre`,{className:`mt-1 whitespace-pre-wrap break-words text-[11px] font-mono text-[#374151] dark:text-[#d4d4d8]`,children:e.message}),(0,$.jsxs)(`span`,{className:`mt-1 block truncate text-[9px] font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:[`sha256 `,e.dataSha256,e.truncated?t(`mcp.meta.truncatedSuffix`):``,e.detailsOmitted?t(`mcp.meta.detailsOmittedSuffix`):``]})]},e.revision))}):(0,$.jsx)(`span`,{className:`text-[11px] font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:t(J?`mcp.log.loading`:`mcp.log.none`)})]}):(0,$.jsx)(`div`,{className:`flex flex-1 justify-center items-center`,children:(0,$.jsx)(`span`,{className:`text-[#9CA3AF] dark:text-[#71717a] text-sm font-mono`,children:t(`mcp.server.selectPrompt`)})})]}):(0,$.jsxs)(`div`,{className:`flex flex-col flex-1 gap-4 min-h-0`,children:[(0,$.jsx)(`div`,{className:`flex gap-3 items-center shrink-0`,children:(0,$.jsxs)(`div`,{className:`flex-1 h-8 rounded-md bg-[#F3F4F6] dark:bg-[#18181b] flex items-center px-3 gap-2`,children:[(0,$.jsx)(T,{className:`h-3.5 w-3.5 text-[#9CA3AF] dark:text-[#71717a]`}),(0,$.jsx)(`input`,{type:`text`,"aria-label":t(`mcp.catalog.searchAria`),value:re,onChange:e=>{ie(e.target.value),ce(e.target.value)},placeholder:t(`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`})]})}),(0,$.jsxs)(`div`,{ref:se,className:`overflow-y-auto flex-1 min-h-0`,children:[me?(0,$.jsxs)(`div`,{role:`alert`,className:`flex flex-col gap-3 items-center py-12 font-mono text-center`,children:[(0,$.jsx)(ne,{className:`w-6 h-6 text-red-500`}),(0,$.jsx)(`span`,{className:`text-xs text-red-600 dark:text-red-400`,children:me.message}),(0,$.jsx)(`button`,{type:`button`,onClick:he,className:`rounded-md border border-[#E5E7EB] px-3 py-1.5 text-[11px] text-[#6B7280] dark:border-[#27272a] dark:text-[#a1a1aa]`,children:t(`mcp.catalog.retry`)})]}):fe&&!Y?(0,$.jsx)(`div`,{className:`flex justify-center items-center py-12`,children:(0,$.jsx)(I,{className:`h-6 w-6 text-[#9CA3AF] dark:text-[#71717a] animate-spin`})}):(0,$.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 pb-4 sm:grid-cols-2`,children:[Y?.list.map(e=>{let n=Te.has(Ot(e.name).toLowerCase()),r=z===e.name,i=Oe(e);return(0,$.jsxs)(`div`,{className:`rounded-lg bg-white dark:bg-[#0C0C0C] p-4 flex flex-col gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex gap-2 justify-between items-center`,children:[(0,$.jsx)(`span`,{className:`text-[13px] font-mono font-semibold text-[#111827] dark:text-[#E5E5E5] truncate`,children:e.name}),(0,$.jsx)(`span`,{className:D(`text-[10px] font-mono px-2 py-0.5 rounded shrink-0`,i===`Official`?`bg-[#16A34A]/20 dark:bg-[#22C55E]/20 text-[#16A34A] dark:text-[#22C55E]`:`bg-[#3b82f6]/20 text-[#3b82f6]`),children:t(bt[i])})]}),(0,$.jsx)(`p`,{className:`text-[11px] font-mono text-[#6B7280] dark:text-[#94a3b8] line-clamp-2`,children:e.description||t(`mcp.catalog.noDescription`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-[10px] font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:[(0,$.jsxs)(`span`,{children:[`v`,e.version]}),e.publisher?.username&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{children:`•`}),(0,$.jsx)(`span`,{children:t(`mcp.catalog.byAuthor`,{author:e.publisher.username})})]})]}),(0,$.jsxs)(`div`,{className:`flex justify-between items-center pt-2 mt-auto`,children:[(0,$.jsxs)(`a`,{href:e.links?.npm||`https://www.npmjs.com/package/${e.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:[(0,$.jsx)(g,{className:`w-3 h-3`}),`npm`]}),n?(0,$.jsxs)(`span`,{className:`text-[11px] font-mono text-[#16A34A] dark:text-[#22C55E] flex items-center gap-1`,children:[(0,$.jsx)(L,{className:`w-3 h-3`}),t(`mcp.catalog.installed`)]}):(0,$.jsxs)(`button`,{onClick:()=>Ee(e),disabled:r,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:[(0,$.jsx)(h,{className:D(`h-3 w-3`,r&&`animate-pulse`)}),t(r?`mcp.catalog.installing`:`mcp.catalog.install`)]})]})]},e.name)}),Y?.list.length===0&&(0,$.jsx)(`div`,{className:`col-span-full py-12 text-center text-xs font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:t(`mcp.catalog.noPackages`)})]}),pe&&(0,$.jsx)(`div`,{className:`flex justify-center items-center py-4`,children:(0,$.jsx)(I,{className:`h-5 w-5 text-[#9CA3AF] dark:text-[#71717a] animate-spin`})}),X&&Y&&Y.list.length>0&&(0,$.jsx)(`div`,{className:`text-center py-4 text-[11px] font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:t(`mcp.catalog.noMore`)})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between pt-2 border-t border-[#E5E7EB] dark:border-[#1f2937] shrink-0`,children:[(0,$.jsx)(`span`,{className:`text-[11px] font-mono text-[#9CA3AF] dark:text-[#71717a]`,children:t(`mcp.catalog.packagesFound`,{count:Y?.total??0})}),(0,$.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:[t(`mcp.catalog.browseGlama`),(0,$.jsx)(g,{className:`w-3 h-3`})]})]})]})]})}),(0,$.jsx)(Mt,{open:i,onOpenChange:a,onAdd:Z,saving:ge,error:_e?.message??null}),oe&&(0,$.jsx)(Nt,{pkg:oe,onClose:()=>V(null),installing:ge,error:_e?.message??null,onInstall:e=>(B(oe.name),Z(e))})]})}function jt({active:e,children:t,onClick:n}){return(0,$.jsx)(`button`,{onClick:n,className:D(`px-3 py-1 rounded text-[12px] font-mono font-semibold transition-colors`,e?`bg-[#E5E7EB] text-[#111827] dark:bg-[#27272a] dark:text-[#E5E5E5]`:`text-[#6B7280] dark:text-[#a1a1aa]`),children:t})}function Mt({open:e,onOpenChange:t,onAdd:n,saving:r,error:i}){let a=s(),[o,c]=(0,U.useState)(`form`),[l,u]=(0,U.useState)(``),[d,f]=(0,U.useState)(``),[p,m]=(0,U.useState)(``),[h,g]=(0,U.useState)(null),[_,v]=(0,U.useState)(`{
|
|
2
2
|
"name": "my-server",
|
|
3
3
|
"command": "npx",
|
|
4
4
|
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{d as t,dt as n,i as r,u as i}from"./session-events-CvFfHkFA.js";import{C as a}from"./vendor-radix-CHeA_3Pt.js";import{c as o,i as s,l as c,s as l}from"./preload-helper-BC9Zf9qO.js";import{t as u}from"./archive-DNa9b1YE.js";import{t as d}from"./chevron-right-6ZTOJE0p.js";import{t as f}from"./download-CJHn20x1.js";import{t as p}from"./pencil-D6HI7KC8.js";import{t as m}from"./plus-C4p8E1Nk.js";import{t as h}from"./settings-fWlqCZ-U.js";import{t as g}from"./terminal-DZkEoiSb.js";import{A as _,C as v,J as y,K as b,M as x,O as S,P as C,Q as ee,U as w,W as T,d as E,et as D,f as O,ft as k,gt as te,h as A,i as j,j as M,k as ne,n as N,nt as P,p as F,q as re,r as I,s as ie,st as L,t as R,ut as z,vt as ae,w as oe,x as B,y as V}from"./index-D-oma3Je.js";import{t as se}from"./ScrollArea-D1tPWHKZ.js";var ce={name:`archive-restore`,size:24,node:[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h2`,key:`tvwodi`}],[`path`,{d:`M20 8v11a2 2 0 0 1-2 2h-2`,key:`1gkqxj`}],[`path`,{d:`m9 15 3-3 3 3`,key:`1pd0qc`}],[`path`,{d:`M12 12v9`,key:`192myk`}]]};ce.node;var le=c(ce),H={name:`chevron-left`,size:24,node:[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]};H.node;var ue=c(H),U={name:`ellipsis`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]],aliases:[`more-horizontal`]};U.node;var de=c(U),W={name:`git-fork`,size:24,node:[[`circle`,{cx:`12`,cy:`18`,r:`3`,key:`1mpf1b`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`path`,{d:`M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9`,key:`1uq4wg`}],[`path`,{d:`M12 12v3`,key:`158kv8`}]]};W.node;var fe=c(W),G={name:`grip-vertical`,size:24,node:[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]};G.node;var pe=c(G),me={name:`layout-dashboard`,size:24,node:[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`,key:`10lvy0`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`,key:`16une8`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`,key:`1hutg5`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`ldoo1y`}]]};me.node;var he=c(me),K=e(n(),1);async function ge(e,t=!1){let n=await C.exportSessionMarkdown(e,t),r=new Blob([n.markdown],{type:`text/markdown;charset=utf-8`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=n.filename,a.hidden=!0,document.body.appendChild(a);try{a.click()}finally{a.remove(),await new Promise(e=>{window.setTimeout(()=>{URL.revokeObjectURL(i),e()},0)})}return n}var q=a();function _e(){let e=o(),n=V(e=>e.archivedSessions),r=V(e=>e.archivedCatalogLoadState),a=V(e=>e.archivedCatalogError),s=V(e=>e.loadArchivedSessions),c=V(e=>e.unarchiveSession),l=V(e=>e.setError),d=V(e=>i(e.historySurfaceSelection)),[p,m]=(0,K.useState)(!1),[h,g]=(0,K.useState)(null),[v,y]=(0,K.useState)(null),b=e=>{e&&t(V.getState())||(m(e),e&&s())},x=()=>{t(V.getState())||s()};return d?null:(0,q.jsxs)(E,{open:p,onOpenChange:b,children:[(0,q.jsx)(F,{asChild:!0,children:(0,q.jsxs)(`button`,{type:`button`,className:`flex h-8 w-full items-center justify-between rounded-md px-2.5 font-mono text-[12.5px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]`,"aria-label":e(`archive.open`),children:[(0,q.jsxs)(`span`,{className:`flex items-center gap-2.5`,children:[(0,q.jsx)(u,{className:`h-3.5 w-3.5 text-[hsl(var(--deck-ink-faint))]`}),e(`archive.title`)]}),n.length>0&&(0,q.jsx)(`span`,{className:`rounded-sm bg-[hsl(var(--deck-surface))] px-1.5 py-0.5 text-[9px] text-[hsl(var(--deck-ink-faint))]`,children:n.length})]})}),(0,q.jsxs)(O,{role:`dialog`,"aria-label":e(`archive.title`),side:`right`,align:`end`,sideOffset:8,className:`w-[340px] overflow-hidden p-0`,children:[(0,q.jsxs)(`div`,{className:`flex h-10 items-center justify-between border-b border-[hsl(var(--deck-hairline))] px-3`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`font-mono text-[11px] font-medium uppercase tracking-[0.08em] text-[hsl(var(--deck-ink))]`,children:e(`archive.title`)}),(0,q.jsx)(`div`,{className:`text-[9.5px] text-[hsl(var(--deck-ink-faint))]`,children:e(`archive.subtitle`)})]}),(0,q.jsx)(`button`,{type:`button`,onClick:x,"aria-label":e(`archive.refresh`),className:`flex h-6 w-6 items-center justify-center rounded text-[hsl(var(--deck-ink-faint))] hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]`,children:(0,q.jsx)(P,{className:w(`h-3 w-3`,(r===`loading`||r===`hydrating`)&&`animate-spin`)})})]}),a?(0,q.jsxs)(`div`,{className:`px-3 py-4 text-[11px] text-red-600 dark:text-red-400`,children:[(0,q.jsx)(`div`,{children:a}),(0,q.jsx)(`button`,{type:`button`,onClick:x,className:`mt-2 font-mono text-[10px] text-[hsl(var(--deck-accent))] focus-visible:outline-none focus-visible:underline`,children:e(`archive.retry`)})]}):n.length===0&&(r===`loading`||r===`hydrating`)?(0,q.jsxs)(`div`,{className:`flex h-24 items-center justify-center gap-2 font-mono text-[10px] text-[hsl(var(--deck-ink-faint))]`,children:[(0,q.jsx)(L,{className:`h-3 w-3 animate-spin`}),e(`archive.loading`)]}):n.length===0?(0,q.jsx)(`div`,{className:`flex h-24 items-center justify-center px-6 text-center text-[10.5px] text-[hsl(var(--deck-ink-faint))]`,children:e(`archive.empty`)}):(0,q.jsx)(se,{className:`max-h-[340px]`,children:(0,q.jsx)(`div`,{className:`divide-y divide-[hsl(var(--deck-hairline))]`,children:n.map(n=>{let r=_(n),i=M(r),a=h===i,o=n.projectPath.split(`/`).filter(Boolean).at(-1)??n.projectPath;return(0,q.jsxs)(`div`,{className:`flex min-h-[58px] items-center gap-2 px-3 py-2`,children:[(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`div`,{className:`truncate font-mono text-[11.5px] text-[hsl(var(--deck-ink))]`,children:I(n,e)}),(0,q.jsxs)(`div`,{className:`mt-0.5 flex items-center gap-1.5 truncate font-mono text-[9px] text-[hsl(var(--deck-ink-faint))]`,children:[(0,q.jsx)(`span`,{className:`truncate`,children:o}),n.archivedAt&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{"aria-hidden":!0,children:`·`}),(0,q.jsx)(`span`,{children:new Date(n.archivedAt).toLocaleString()})]})]}),n.archivedBySessionId!==n.sessionId&&(0,q.jsx)(`div`,{className:`mt-0.5 truncate text-[9px] text-[hsl(var(--deck-accent))]`,children:e(`archive.inherited`,{id:n.archivedBySessionId?.slice(0,8)??``})})]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5`,children:[(0,q.jsx)(`button`,{type:`button`,disabled:v!==null,onClick:async()=>{if(!t(V.getState())){y(i);try{await ge(r)}catch(e){l(e instanceof Error?e.message:`Session export failed`)}finally{y(null)}}},"aria-label":e(`session.action.export`,{title:I(n,e)}),title:e(`session.action.exportShort`),className:`flex h-7 w-7 items-center justify-center rounded text-[hsl(var(--deck-ink-faint))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-wait disabled:opacity-35`,children:v===i?(0,q.jsx)(L,{className:`h-3.5 w-3.5 animate-spin`}):(0,q.jsx)(f,{className:`h-3.5 w-3.5`})}),(0,q.jsx)(`button`,{type:`button`,disabled:a||n.archivedBySessionId!==n.sessionId,onClick:async()=>{if(!t(V.getState())){g(i);try{await c(r)}finally{g(null)}}},"aria-label":e(`archive.restore`,{title:I(n,e)}),title:n.archivedBySessionId===n.sessionId?e(`archive.restoreShort`):e(`archive.restoreAncestor`),className:`flex h-7 w-7 items-center justify-center rounded 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-not-allowed disabled:opacity-35`,children:a?(0,q.jsx)(L,{className:`h-3.5 w-3.5 animate-spin`}):(0,q.jsx)(le,{className:`h-3.5 w-3.5`})})]})]},i)})})})]})]})}var ve={en:`sidebar.language.en`,zh:`sidebar.language.zh`};function ye({className:e,variant:t=`pill`}){let{locale:n,setLocale:r}=l(),i=o();if(t===`compact`){let t=n===`en`?`zh`:`en`;return(0,q.jsx)(`button`,{type:`button`,onClick:()=>r(t),"aria-label":i(`sidebar.language.aria`),title:i(`sidebar.language.label`),className:w(`flex justify-center items-center w-10 h-10 font-mono font-medium rounded-md transition-colors text-[11px] text-[hsl(var(--deck-ink-faint))] hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]`,e),children:i(ve[n])})}return(0,q.jsx)(`div`,{role:`group`,"aria-label":i(`sidebar.language.aria`),className:w(`inline-flex h-8 items-center rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] p-[2px] font-mono text-[11px]`,e),children:s.map(e=>{let t=e===n;return(0,q.jsx)(`button`,{type:`button`,onClick:()=>r(e),"aria-pressed":t,className:w(`flex justify-center items-center px-2 h-full transition-colors min-w-[28px] rounded-[4px]`,t?`bg-[hsl(var(--deck-ink))] text-[hsl(var(--deck-canvas))]`:`text-[hsl(var(--deck-ink-muted))] hover:text-[hsl(var(--deck-ink))]`),children:i(ve[e])},e)})})}function be({summary:e,isActive:t,onSelect:n}){let r=o(),i=e.title??e.locator.sessionId,a=r(e.capabilities.connection===`offline`?`history.connection.offline`:e.capabilities.connection===`local`?`history.connection.local`:`history.connection.online`);return(0,q.jsxs)(`div`,{className:w(`flex relative items-center w-full transition-colors min-h-[54px]`,t?`bg-[hsl(var(--deck-surface))]`:`hover:bg-[hsl(var(--deck-surface))]/60`),children:[t&&(0,q.jsx)(`span`,{className:`absolute left-0 top-1/2 h-6 w-[2px] -translate-y-1/2 rounded-r bg-[hsl(var(--deck-accent))]`}),(0,q.jsxs)(`button`,{type:`button`,"aria-label":r(`session.action.select`,{title:i}),"aria-current":t?`true`:void 0,onClick:n,className:`flex min-h-[54px] min-w-0 flex-1 cursor-pointer items-center gap-2 py-1.5 pl-4 pr-2 text-left focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-[hsl(var(--deck-accent))]`,children:[(0,q.jsx)(`span`,{className:w(`h-1.5 w-1.5 shrink-0 rounded-full`,e.capabilities.connection===`offline`?`bg-amber-500`:`bg-blue-500 shadow-[0_0_5px_rgba(59,130,246,0.7)]`),title:a}),(0,q.jsxs)(`span`,{className:`flex-1 min-w-0 font-mono`,children:[(0,q.jsxs)(`span`,{className:w(`flex gap-2 items-center text-left truncate text-[12px]`,t?`text-[hsl(var(--deck-ink))]`:`text-[hsl(var(--deck-ink-muted))]`),children:[(0,q.jsx)(`span`,{className:`truncate`,children:i}),(0,q.jsx)(`span`,{className:`inline-flex shrink-0 items-center rounded border border-[hsl(var(--deck-border))] px-1.5 py-0.5 text-[8.5px] text-[hsl(var(--deck-ink-faint))]`,children:r(`history.badge.remote`)}),(0,q.jsx)(`span`,{className:`inline-flex shrink-0 items-center rounded border border-[hsl(var(--deck-border))] px-1.5 py-0.5 text-[8.5px] text-[hsl(var(--deck-ink-faint))]`,children:a}),(0,q.jsx)(`span`,{className:`inline-flex shrink-0 items-center rounded bg-[hsl(var(--deck-accent-soft))] px-1.5 py-0.5 text-[8.5px] text-[hsl(var(--deck-accent))]`,children:r(`history.badge.historyOnly`)})]}),(0,q.jsx)(`span`,{className:`mt-0.5 block truncate text-[9.5px] text-[hsl(var(--deck-ink-faint))]`,children:e.displayCwd})]})]})]})}var xe={running:`bg-blue-500 dark:bg-blue-400 shadow-[0_0_5px_rgba(59,130,246,0.7)] animate-pulse`,queued:`bg-amber-400 dark:bg-amber-300`,interrupted:`bg-orange-500 dark:bg-orange-400`,failed:`bg-red-500 dark:bg-red-400`,cancelled:`bg-zinc-400 dark:bg-zinc-500`,completed:`bg-[hsl(var(--deck-accent))]`};function Se({session:e,isActive:t,isForking:n,isUnread:r,anyForking:i,isEditing:a,editingTitle:s,title:c,context:l,isCancelling:d,isRetrying:m,isExporting:h,onSelect:g,onCancelTask:_,onRetryTask:v,onFork:y,onArchive:x,onExport:S,onStartRename:C,onDelete:ee,onEditingTitleChange:k,onSaveRename:A,onCancelRename:j}){let M=o(),[ne,N]=(0,K.useState)(!1),P=(0,K.useRef)(null),I=(0,K.useRef)(null);return a?(0,q.jsxs)(`div`,{className:`flex h-9 w-full items-center gap-2 bg-[hsl(var(--deck-surface))] px-3`,children:[(0,q.jsx)(`input`,{type:`text`,value:s,onChange:e=>k(e.target.value),onKeyDown:e=>{e.key===`Enter`&&A(),e.key===`Escape`&&j()},autoFocus:!0,className:`flex-1 rounded bg-[hsl(var(--deck-canvas))] px-2 py-1 font-mono text-[13px] text-[hsl(var(--deck-ink))] outline-none focus:ring-1 focus:ring-[hsl(var(--deck-accent))]`}),(0,q.jsx)(`button`,{"aria-label":M(`session.action.save`,{title:c}),onClick:A,className:`flex h-6 w-6 items-center justify-center rounded text-[hsl(var(--deck-accent))] hover:bg-[hsl(var(--deck-canvas))]`,children:(0,q.jsx)(ae,{className:`w-3 h-3`})}),(0,q.jsx)(`button`,{"aria-label":M(`session.action.cancel`,{title:c}),onClick:j,className:`flex h-6 w-6 items-center justify-center rounded text-[hsl(var(--deck-ink-faint))] hover:bg-[hsl(var(--deck-canvas))]`,children:(0,q.jsx)(T,{className:`w-3 h-3`})})]}):(0,q.jsxs)(`div`,{className:w(`flex relative items-center w-full transition-colors group min-h-[54px]`,t?`bg-[hsl(var(--deck-surface))]`:`hover:bg-[hsl(var(--deck-surface))]/60`),children:[t&&(0,q.jsx)(`span`,{className:`absolute left-0 top-1/2 h-6 w-[2px] -translate-y-1/2 rounded-r bg-[hsl(var(--deck-accent))]`}),(0,q.jsxs)(`button`,{type:`button`,"aria-label":M(`session.action.select`,{title:c}),"aria-current":t?`true`:void 0,"aria-busy":n?`true`:void 0,onClick:g,className:`flex min-h-[54px] min-w-0 flex-1 cursor-pointer items-center gap-2 py-1.5 pl-4 pr-2 text-left focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-[hsl(var(--deck-accent))]`,children:[(0,q.jsx)(`span`,{className:w(`h-1.5 w-1.5 shrink-0 rounded-full`,e.pendingInteraction?`animate-pulse bg-amber-500 shadow-[0_0_5px_rgba(245,158,11,0.75)]`:xe[e.taskStatus]),title:e.pendingInteraction?M(e.pendingInteraction.type===`question`?`interaction.badge.question`:e.pendingInteraction.type===`elicitation`?`interaction.badge.elicitation`:`interaction.badge.permission`):e.taskStatus}),(0,q.jsxs)(`span`,{className:`flex-1 min-w-0 font-mono`,children:[(0,q.jsxs)(`span`,{className:w(`flex gap-2 items-center text-left truncate text-[12px]`,t?`text-[hsl(var(--deck-ink))]`:`text-[hsl(var(--deck-ink-muted))]`),children:[(0,q.jsx)(`span`,{className:`truncate`,children:c}),r&&(0,q.jsx)(`span`,{title:M(`taskSwitcher.new`),className:`h-1.5 w-1.5 shrink-0 rounded-full bg-[hsl(var(--deck-accent))] shadow-[0_0_5px_hsl(var(--deck-accent-glow)/0.75)]`}),e.pendingInteraction&&(0,q.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1 rounded bg-amber-100 px-1.5 py-0.5 text-[8.5px] text-amber-800 dark:bg-amber-950/60 dark:text-amber-300`,title:M(e.pendingInteraction.type===`question`?`interaction.badge.question`:e.pendingInteraction.type===`elicitation`?`interaction.badge.elicitation`:`interaction.badge.permission`),children:[(0,q.jsx)(te,{className:`h-2.5 w-2.5`}),M(e.pendingInteraction.type===`question`?`interaction.badge.question`:e.pendingInteraction.type===`elicitation`?`interaction.badge.elicitation`:`interaction.badge.permission`)]}),e.relationType===`fork`&&e.parentId&&(0,q.jsxs)(`span`,{title:`${M(`session.forkedFrom`)} ${e.parentId.slice(0,6)}`,"aria-label":`${M(`session.forkedFrom`)} ${e.parentId.slice(0,6)}`,className:`shrink-0 text-[9px] text-[hsl(var(--deck-accent))]`,children:[M(`session.forkedFrom`),` `,e.parentId.slice(0,6)]}),e.taskRetriedFrom&&(0,q.jsx)(`span`,{title:`${M(`session.retriedFrom`)} ${e.taskRetriedFrom.sessionId.slice(0,6)}`,className:`shrink-0 text-[9px] text-[hsl(var(--deck-accent))]`,children:M(`session.retryShort`)})]}),(0,q.jsxs)(`span`,{className:`mt-0.5 flex min-w-0 items-center gap-1.5 truncate text-[9.5px] text-[hsl(var(--deck-ink-faint))]`,children:[(0,q.jsx)(`span`,{className:`truncate`,children:l.project}),(0,q.jsx)(`span`,{className:`opacity-50`,children:`·`}),(0,q.jsx)(`span`,{className:`truncate`,children:l.environment}),l.queue&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`opacity-50`,children:`·`}),(0,q.jsx)(`span`,{className:`text-amber-700 truncate dark:text-amber-400`,children:l.queue})]}),l.diff&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`opacity-50`,children:`·`}),(0,q.jsx)(`span`,{className:`truncate text-[hsl(var(--deck-accent))]`,children:l.diff})]})]}),l.reason&&(0,q.jsx)(`span`,{title:l.reason,className:`mt-0.5 block truncate text-[9.5px] text-red-600 dark:text-red-400`,children:l.reason})]}),n&&(0,q.jsx)(L,{className:`h-3 w-3 shrink-0 animate-spin text-[hsl(var(--deck-accent))]`})]}),(0,q.jsxs)(`div`,{className:w(`flex items-center gap-0.5 pr-2 transition-opacity group-focus-within:opacity-100`,e.taskStatus===`running`||e.taskStatus===`queued`||e.taskRetryAvailable&&(e.taskStatus===`failed`||e.taskStatus===`interrupted`||e.taskStatus===`cancelled`)?`opacity-100`:`opacity-50 group-hover:opacity-100`),children:[(e.taskStatus===`running`||e.taskStatus===`queued`)&&(0,q.jsx)(`button`,{type:`button`,"aria-label":M(d?`session.action.stopping`:`session.action.stop`,{title:c}),disabled:d,onClick:e=>{e.stopPropagation(),_()},className:`flex h-6 w-6 items-center justify-center rounded 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:d?(0,q.jsx)(L,{className:`h-3 w-3 animate-spin`}):(0,q.jsx)(re,{className:`h-3 w-3`})}),e.taskRetryAvailable&&(e.taskStatus===`failed`||e.taskStatus===`interrupted`||e.taskStatus===`cancelled`)&&(0,q.jsx)(`button`,{ref:P,type:`button`,"aria-label":M(m?`session.action.retrying`:`session.action.retry`,{title:c}),disabled:m,onClick:e=>{e.stopPropagation(),v()},className:`flex h-6 w-6 items-center justify-center rounded 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:m?(0,q.jsx)(L,{className:`h-3 w-3 animate-spin`}):(0,q.jsx)(D,{className:`h-3 w-3`})}),(0,q.jsxs)(E,{open:ne,onOpenChange:N,children:[(0,q.jsx)(F,{asChild:!0,children:(0,q.jsx)(`button`,{type:`button`,"aria-label":M(`session.action.more`,{title:c}),"aria-expanded":ne,className:`flex h-6 w-6 items-center justify-center rounded text-[hsl(var(--deck-ink-faint))] transition-colors hover:bg-[hsl(var(--deck-canvas))] hover:text-[hsl(var(--deck-ink))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]`,children:(0,q.jsx)(de,{className:`h-3.5 w-3.5`})})}),(0,q.jsxs)(O,{ref:I,role:`menu`,"aria-label":M(`session.action.more`,{title:c}),side:`right`,align:`start`,sideOffset:6,className:`w-40 p-1`,onOpenAutoFocus:e=>{e.preventDefault(),I.current?.querySelector(`[role="menuitem"]:not([disabled])`)?.focus()},onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),N(!1),window.setTimeout(()=>P.current?.focus(),0))},children:[(0,q.jsxs)(`button`,{type:`button`,role:`menuitem`,"aria-label":M(`session.action.fork`,{title:c}),disabled:i,onClick:e=>{e.stopPropagation(),y(),N(!1)},className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left font-mono text-[11px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:bg-[hsl(var(--deck-surface))] focus-visible:text-[hsl(var(--deck-ink))] focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-45`,children:[(0,q.jsx)(fe,{className:`h-3 w-3`,"aria-hidden":!0}),M(`session.action.forkShort`)]}),(0,q.jsxs)(`button`,{type:`button`,role:`menuitem`,"aria-label":M(`session.action.rename`,{title:c}),onClick:e=>{C(e),N(!1)},className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left font-mono text-[11px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:bg-[hsl(var(--deck-surface))] focus-visible:text-[hsl(var(--deck-ink))] focus-visible:outline-none`,children:[(0,q.jsx)(p,{className:`h-3 w-3`,"aria-hidden":!0}),M(`session.action.renameShort`)]}),(0,q.jsxs)(`button`,{type:`button`,role:`menuitem`,"aria-label":M(`session.action.archive`,{title:c}),disabled:e.taskStatus===`running`||e.taskStatus===`queued`,onClick:e=>{e.stopPropagation(),x(),N(!1)},className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left font-mono text-[11px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:bg-[hsl(var(--deck-surface))] focus-visible:text-[hsl(var(--deck-ink))] focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-35`,children:[(0,q.jsx)(u,{className:`h-3 w-3`,"aria-hidden":!0}),M(`session.action.archiveShort`)]}),(0,q.jsxs)(`button`,{type:`button`,role:`menuitem`,"aria-label":M(`session.action.export`,{title:c}),disabled:h,onClick:e=>{e.stopPropagation(),S(),N(!1)},className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left font-mono text-[11px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:bg-[hsl(var(--deck-surface))] focus-visible:text-[hsl(var(--deck-ink))] focus-visible:outline-none disabled:cursor-wait disabled:opacity-45`,children:[h?(0,q.jsx)(L,{className:`h-3 w-3 animate-spin`,"aria-hidden":!0}):(0,q.jsx)(f,{className:`h-3 w-3`,"aria-hidden":!0}),M(h?`session.action.exportingShort`:`session.action.exportShort`)]}),(0,q.jsxs)(`button`,{type:`button`,role:`menuitem`,"aria-label":M(`session.action.delete`,{title:c}),onClick:e=>{ee(e),N(!1)},className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left font-mono text-[11px] text-red-600 transition-colors hover:bg-red-500/10 focus-visible:bg-red-500/10 focus-visible:outline-none dark:text-red-400`,children:[(0,q.jsx)(b,{className:`h-3 w-3`,"aria-hidden":!0}),M(`session.action.deleteShort`)]})]})]})]})]})}function Ce({onExpand:e,onNewChat:t,onOpenBoard:n,onOpenTaskSwitcher:r,onToggleTerminal:i,onToggleSettings:a,isTerminalOpen:s,taskEventsConnected:c,unreadCount:l,boardActive:u,terminalDisabled:d=!1,taskSwitcherDisabled:f=!1,className:p}){let _=o(),v=[{icon:h,action:a,labelKey:`sidebar.section.settings`}];return(0,q.jsxs)(`div`,{className:w(`flex flex-col gap-2 items-center py-5 h-screen border-r w-[64px] border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-canvas-veil))]`,p),children:[(0,q.jsx)(`button`,{onClick:e,className:`rounded-md p-1 transition-colors hover:bg-[hsl(var(--deck-surface))]`,"aria-label":_(`sidebar.action.expand`),children:(0,q.jsx)(ie,{size:28})}),(0,q.jsx)(`button`,{onClick:t,"aria-label":_(`sidebar.action.newTaskShort`),title:_(`sidebar.action.newTaskShort`),className:`mt-6 flex h-10 w-10 items-center justify-center rounded-md bg-[hsl(var(--deck-ink))] text-[hsl(var(--deck-canvas))] transition-colors hover:bg-[hsl(var(--deck-ink))]/85`,children:(0,q.jsx)(m,{className:`h-4 w-4 stroke-[2.5]`})}),(0,q.jsx)(`button`,{type:`button`,onClick:n,"aria-label":_(`sidebar.action.taskBoard`),"aria-current":u?`page`:void 0,title:_(`sidebar.action.taskBoard`),className:w(`flex h-10 w-10 items-center justify-center rounded-md border transition-colors`,u?`border-[hsl(var(--deck-accent)/0.55)] bg-[hsl(var(--deck-accent-soft))] text-[hsl(var(--deck-accent))]`:`border-transparent text-[hsl(var(--deck-ink-muted))] hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]`),children:(0,q.jsx)(he,{className:`h-4 w-4`})}),(0,q.jsx)(`button`,{onClick:i,disabled:d,"aria-label":_(`sidebar.action.terminalToggle`),title:_(`sidebar.action.terminal`),className:w(`flex h-10 w-10 items-center justify-center rounded-md border transition-colors`,d&&`cursor-not-allowed opacity-35`,s?`border-[hsl(var(--deck-accent)/0.55)] bg-[hsl(var(--deck-accent-soft))] text-[hsl(var(--deck-accent))]`:`border-transparent text-[hsl(var(--deck-ink-muted))] hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]`),children:(0,q.jsx)(g,{className:`w-4 h-4`})}),(0,q.jsxs)(`button`,{onClick:r,disabled:f,"aria-label":_(`sidebar.action.searchTasks`),title:`${_(`sidebar.action.searchTasks`)} (${A(`searchTasks`)})`,className:w(`relative flex h-10 w-10 items-center justify-center rounded-md border border-transparent text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]`,f&&`cursor-not-allowed opacity-35`),children:[(0,q.jsx)(ee,{className:`h-4 w-4`}),l>0&&(0,q.jsx)(`span`,{"aria-label":_(`sidebar.unreadTasks`,{count:l}),className:`absolute right-0.5 top-0.5 flex min-h-4 min-w-4 items-center justify-center rounded-full bg-[hsl(var(--deck-accent))] px-1 font-mono text-[8px] font-semibold text-white`,children:l>99?`99+`:l})]}),(0,q.jsx)(`div`,{className:`flex-1`}),(0,q.jsx)(`div`,{className:`my-2 h-px w-6 bg-[hsl(var(--deck-hairline))]`}),v.map(({icon:e,action:t,labelKey:n})=>(0,q.jsx)(`button`,{"data-settings-trigger":!0,onClick:t,"aria-label":_(n),title:_(n),className:`flex h-10 w-10 items-center justify-center rounded-md text-[hsl(var(--deck-ink-faint))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]`,children:(0,q.jsx)(e,{className:`w-4 h-4`})},n)),(0,q.jsx)(ye,{variant:`compact`}),(0,q.jsx)(`div`,{className:`mt-1`,children:(0,q.jsx)(`div`,{role:`status`,"aria-label":_(c?`sidebar.status.feedLive`:`sidebar.status.feedOffline`),className:w(`h-2 w-2 rounded-full`,c?`bg-[hsl(var(--deck-accent))] shadow-[0_0_6px_hsl(var(--deck-accent-glow)/0.9)]`:`bg-[hsl(var(--deck-ink-faint))]/60`),title:_(c?`sidebar.status.feedLive`:`sidebar.status.feedOffline`)})})]})}var we=`blade.sidebar.project-order.v1`;function J(e){let t=new Set,n=[];for(let r of e)typeof r==`string`&&r&&!t.has(r)&&(t.add(r),n.push(r));return n}function Te(){if(typeof window>`u`)return[];try{let e=JSON.parse(window.localStorage.getItem(`blade.sidebar.project-order.v1`)??`[]`);return Array.isArray(e)?J(e):[]}catch{return[]}}function Y(e){if(typeof window<`u`)try{window.localStorage.setItem(we,JSON.stringify(J(e)))}catch{}}function Ee(e,t){let n=new Map(J(t).map((e,t)=>[e,t])),r=n.size;return e.map((e,t)=>({project:e,rank:n.get(e.path)??r+t})).sort((e,t)=>e.rank-t.rank).map(({project:e})=>e)}function X(e,t,n){let r=J(e),i=r.indexOf(t),a=r.indexOf(n);if(i<0||a<0||i===a)return r;let[o]=r.splice(i,1);return r.splice(a,0,o),r}function De(e,t,n){let r=J(e),i=r.indexOf(t),a=i+n;return i<0||a<0||a>=r.length||([r[i],r[a]]=[r[a],r[i]]),r}function Oe({name:e,path:t,count:n,countIsPartial:r=!1,isActive:i,hasRunning:a,unreadCount:s,collapsed:c,onToggle:l,onSelect:u,onCreateTask:f,reorderPosition:p,reorderCount:h,isDragging:g=!1,onDragStart:_,onDragEnd:v,onReorderKeyDown:y}){let b=o();return(0,q.jsxs)(`div`,{className:w(`group/proj flex w-full items-center gap-2 px-5 pb-1.5 pt-3 text-left transition-colors`,`hover:bg-[hsl(var(--deck-surface))]/40`),children:[(0,q.jsx)(`button`,{type:`button`,draggable:!0,"data-project-drag-handle":t,onDragStart:_,onDragEnd:v,onKeyDown:y,"aria-label":b(`sidebar.project.reorder`,{name:e,position:p,count:h}),title:b(`sidebar.project.reorderHint`),className:w(`-ml-2 flex h-6 w-4 shrink-0 cursor-grab items-center justify-center rounded-sm text-[hsl(var(--deck-ink-faint))] opacity-45 transition-[opacity,color,background-color] hover:bg-[hsl(var(--deck-surface-2))] hover:text-[hsl(var(--deck-ink-muted))] hover:opacity-100 focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] active:cursor-grabbing group-hover/proj:opacity-100`,g&&`cursor-grabbing opacity-100 text-[hsl(var(--deck-accent))]`),children:(0,q.jsx)(pe,{className:`h-3.5 w-3.5`})}),(0,q.jsx)(`button`,{type:`button`,onClick:l,"aria-expanded":!c,"aria-label":b(c?`sidebar.project.expand`:`sidebar.project.collapse`,{name:e}),className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]`,children:(0,q.jsx)(d,{className:w(`h-3 w-3 text-[hsl(var(--deck-ink-faint))] transition-transform duration-150`,!c&&`rotate-90`)})}),(0,q.jsxs)(`button`,{type:`button`,onClick:u??l,title:t,"aria-current":i?`true`:void 0,className:`flex min-h-6 min-w-0 flex-1 items-center gap-2 rounded-sm text-left focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]`,children:[(0,q.jsx)(k,{className:w(`h-3.5 w-3.5 shrink-0`,i?`text-[hsl(var(--deck-accent))]`:`text-[hsl(var(--deck-ink-faint))]`)}),(0,q.jsx)(`span`,{className:w(`flex-1 truncate font-mono text-[11.5px] font-medium tracking-[-0.01em]`,i?`text-[hsl(var(--deck-ink))]`:`text-[hsl(var(--deck-ink-muted))]`),children:e}),a&&(0,q.jsx)(`span`,{className:`h-1.5 w-1.5 shrink-0 rounded-full bg-blue-500 shadow-[0_0_5px_rgba(59,130,246,0.7)] animate-pulse dark:bg-blue-400`,"aria-hidden":!0}),s>0&&(0,q.jsx)(`span`,{"aria-label":b(`sidebar.unreadTasks`,{count:s}),className:`shrink-0 rounded-full bg-[hsl(var(--deck-accent))] px-1.5 py-0.5 font-mono text-[8px] font-semibold text-white`,children:s}),(0,q.jsxs)(`span`,{className:`shrink-0 font-mono text-[10px] text-[hsl(var(--deck-ink-faint))]`,children:[n.toString().padStart(2,`0`),r?`+`:``]})]}),f&&(0,q.jsx)(`button`,{type:`button`,onClick:f,title:b(`sidebar.project.newTask`,{name:e}),"aria-label":b(`sidebar.project.newTask`,{name:e}),className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-sm text-[hsl(var(--deck-ink-faint))] opacity-0 transition-[opacity,color,background-color] hover:bg-[hsl(var(--deck-surface-2))] hover:text-[hsl(var(--deck-accent))] focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] group-hover/proj:opacity-100`,children:(0,q.jsx)(m,{className:`h-3.5 w-3.5`})})]})}var ke=[`running`,`queued`,`interrupted`,`failed`,`cancelled`,`completed`],Ae={running:`RUNNING`,queued:`QUEUED`,interrupted:`INTERRUPTED`,failed:`FAILED`,cancelled:`CANCELLED`,completed:`DONE`},Z=e=>e.length>1?e.replace(/\/+$/,``):e;function je(e){let t=new Map;for(let n of e){if(!n)continue;let e=M(_(n));t.has(e)||t.set(e,n)}return Array.from(t.values())}function Me(e){let t=je(e),n=[];for(let e of ke){let r=t.filter(t=>t.taskStatus===e).sort(R);r.length>0&&n.push({code:Ae[e],status:e,sessions:r})}return n}function Ne(e,t,n=[]){let r=je(e),i=new Map,a=n.map(Z),o=new Map(a.map((e,t)=>[e,t]));for(let e of a)i.set(e,[]);for(let e of r){let n=oe(e,t),r=i.get(n);r?r.push(e):i.set(n,[e])}let s=t?Z(t):null,c=Array.from(i.entries()).map(([e,t])=>{let n=[...t].sort(R),r=t.reduce((e,t)=>Math.max(e,N(t)),0);return{path:e,name:v(e),isActive:s?Z(e)===s:!1,isBound:o.has(Z(e)),hasRunning:t.some(e=>e.taskStatus===`running`),lastActivity:r,sessions:n}});return c.sort((e,t)=>e.isBound===t.isBound?e.isBound&&t.isBound?(o.get(Z(e.path))??2**53-1)-(o.get(Z(t.path))??2**53-1):t.lastActivity-e.lastActivity:e.isBound?-1:1),c}var Pe=12,Fe=[`running`,`queued`,`interrupted`,`failed`,`cancelled`,`completed`],Ie={RUNNING:`sidebar.group.running`,QUEUED:`sidebar.group.queued`,INTERRUPTED:`sidebar.group.interrupted`,FAILED:`sidebar.group.failed`,CANCELLED:`sidebar.group.cancelled`,DONE:`sidebar.group.done`},Le={RUNNING:`text-blue-700 dark:text-blue-400`,QUEUED:`text-amber-700 dark:text-amber-400`,INTERRUPTED:`text-orange-700 dark:text-orange-400`,FAILED:`text-red-700 dark:text-red-400`,CANCELLED:`text-[hsl(var(--deck-ink-faint))]`,DONE:`text-[hsl(var(--deck-accent))]`},Re={running:`RUNNING`,queued:`QUEUED`,interrupted:`INTERRUPTED`,failed:`FAILED`,cancelled:`CANCELLED`,completed:`DONE`};function Q(e){return e.length>1?e.replace(/\/+$/,``):e}function $(e){let t=e.lastMessageTime||e.firstMessageTime;if(!t)return 0;let n=new Date(t).getTime();return Number.isNaN(n)?0:n}function ze(e,t){if(e.locator.workspace.kind!==`local`)throw Error(`Expected a local Session surface summary`);return t&&$(t)>=$(e)?t:{...t??{sessionId:e.locator.sessionId,projectPath:e.locator.workspace.projectPath,rootId:e.rootId,taskStatus:e.taskStatus,messageCount:e.messageCount,firstMessageTime:e.firstMessageTime,lastMessageTime:e.lastMessageTime,hasErrors:e.hasErrors},sessionId:e.locator.sessionId,projectPath:e.locator.workspace.projectPath,title:e.title,rootId:e.rootId,parentId:e.parentId,relationType:e.relationType,taskStatus:e.taskStatus,messageCount:e.messageCount,firstMessageTime:e.firstMessageTime,lastMessageTime:e.lastMessageTime,hasErrors:e.hasErrors,archivedAt:e.archivedAt,selectedModelId:e.selectedModelId}}function Be(e){return e.kind===`local`?e.session.taskStatus:e.summary.taskStatus}function Ve(e,t){return t.activityTime-e.activityTime}function He(e){return[...e].sort(Ve)}function Ue({view:e,sessions:t,surfaceCatalog:n,activeProjectPath:r,boundProjects:i,currentSessionRef:a,historySurfaceSelection:s,unreadTaskKeys:c,catalogLoadState:l,onSelectProject:u,onCreateTask:d,onRetryCatalog:f,renderLocalRow:p,renderRemoteRow:m}){let h=o(),[g,y]=(0,K.useState)({}),[b,x]=(0,K.useState)({}),[C,ee]=(0,K.useState)(Te),[T,E]=(0,K.useState)(null),[D,O]=(0,K.useState)(null),[k,A]=(0,K.useState)(``),j=l===`ready`||n.length>0,N=l===`loading`||l===`hydrating`,F=N||l===`error`,re=j?n.length:t.length,I=(0,K.useMemo)(()=>e===`status`?Me(t):[],[t,e]),ie=(0,K.useMemo)(()=>e===`project`?Ne(t,r,i.map(e=>e.path)):[],[r,i,t,e]),R=(0,K.useMemo)(()=>Ee(ie,C),[ie,C]),z=(0,K.useMemo)(()=>{if(!j)return[];let e=new Map(t.map(e=>[M(_(e)),e])),i=[];for(let t of n){if(t.locator.workspace.kind===`local`){let n={sessionId:t.locator.sessionId,projectPath:t.locator.workspace.projectPath},a=e.get(M(n)),o=ze(t,a);i.push({kind:`local`,path:a?oe(o,r):t.locator.workspace.projectPath,activityTime:$(o),session:o});continue}i.push({kind:`remote`,activityTime:$(t),summary:t})}return i},[r,t,n,j]),ae=(0,K.useMemo)(()=>!j||e!==`status`?[]:Fe.flatMap(e=>{let t=He(z.filter(t=>Be(t)===e));return t.length===0?[]:[{code:Re[e],entries:t}]}),[z,j,e]),B=(0,K.useMemo)(()=>{if(!j||e!==`project`)return[];let t=i.map(e=>Q(e.path)),n=new Map(t.map((e,t)=>[e,t])),a=new Map;for(let e of t)a.set(e,[]);for(let e of z){if(e.kind!==`local`)continue;let t=a.get(e.path);t?t.push(e):a.set(e.path,[e])}let o=r?Q(r):null,s=Array.from(a.entries()).map(([e,t])=>({path:e,name:v(e),isActive:o?Q(e)===o:!1,isBound:n.has(Q(e)),hasRunning:t.some(e=>Be(e)===`running`),lastActivity:t.reduce((e,t)=>Math.max(e,t.activityTime),0),entries:He(t)}));return s.sort((e,t)=>e.isBound===t.isBound?e.isBound&&t.isBound?(n.get(Q(e.path))??2**53-1)-(n.get(Q(t.path))??2**53-1):t.lastActivity-e.lastActivity:e.isBound?-1:1),Ee(s,C)},[r,i,z,C,j,e]),V=(0,K.useMemo)(()=>e===`project`?He(z.filter(e=>e.kind===`remote`)):[],[z,e]),se=e=>e.kind===`local`&&!!e.session.pendingInteraction,ce=e=>e.kind===`local`&&c.includes(M(_(e.session))),le=e=>e.kind===`local`?!!(a&&S(_(e.session),a)):!!(s&&ne(e.summary.locator,s.locator)),H=(e,t)=>{let n=b[e]??!1,r=n?t:t.filter((e,t)=>{if(t<Pe)return!0;let n=_(e);return!!e.pendingInteraction||c.includes(M(n))||!!(a&&S(n,a))}),i=t.length-r.length,o=n?t.length>Pe:i>0;return(0,q.jsxs)(q.Fragment,{children:[r.map(p),o&&(0,q.jsx)(`button`,{type:`button`,onClick:()=>x(t=>({...t,[e]:!n})),className:`mx-4 my-1 rounded-md px-3 py-1.5 text-left font-mono text-[10.5px] text-[hsl(var(--deck-ink-faint))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink-muted))]`,children:n?h(`sidebar.group.showLess`):h(`sidebar.group.showMore`,{count:i})})]})},ue=(e,t)=>{let n=b[e]??!1,r=n?t:t.filter((e,t)=>t<Pe||se(e)||ce(e)||le(e)),i=t.length-r.length,a=n?t.length>Pe:i>0;return(0,q.jsxs)(q.Fragment,{children:[r.map(e=>e.kind===`local`?p(e.session):m(e.summary)),a&&(0,q.jsx)(`button`,{type:`button`,onClick:()=>x(t=>({...t,[e]:!n})),className:`mx-4 my-1 rounded-md px-3 py-1.5 text-left font-mono text-[10.5px] text-[hsl(var(--deck-ink-faint))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink-muted))]`,children:n?h(`sidebar.group.showLess`):h(`sidebar.group.showMore`,{count:i})})]})},U=N?(0,q.jsxs)(`div`,{role:`status`,"aria-live":`polite`,className:`mx-4 mt-2 flex items-center gap-2 rounded-md bg-[hsl(var(--deck-surface))]/55 px-3 py-2 font-mono text-[9.5px] text-[hsl(var(--deck-ink-faint))]`,children:[(0,q.jsx)(L,{className:`h-3 w-3 shrink-0 animate-spin text-[hsl(var(--deck-accent))]`}),(0,q.jsx)(`span`,{className:`flex-1 min-w-0`,children:h(`sidebar.catalog.syncing`)}),(0,q.jsx)(`span`,{className:`tabular-nums shrink-0`,children:h(`sidebar.catalog.loaded`,{count:re})})]}):l===`error`?(0,q.jsxs)(`div`,{role:`alert`,className:`mx-4 mt-2 flex items-center gap-2 rounded-md bg-amber-50/80 px-3 py-2 font-mono text-[9.5px] text-amber-800 dark:bg-amber-950/35 dark:text-amber-300`,children:[(0,q.jsx)(te,{className:`w-3 h-3 shrink-0`}),(0,q.jsx)(`span`,{className:`flex-1 min-w-0`,children:h(`sidebar.catalog.incomplete`)}),(0,q.jsxs)(`button`,{type:`button`,onClick:f,className:`inline-flex min-h-6 shrink-0 items-center gap-1 rounded px-1.5 font-medium hover:bg-amber-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-amber-500 dark:hover:bg-amber-900/50`,children:[(0,q.jsx)(P,{className:`h-2.5 w-2.5`}),h(`sidebar.catalog.retry`)]})]}):null;if(j){if(e===`status`)return(0,q.jsxs)(`div`,{className:`flex flex-col`,children:[U,ae.map((e,t)=>(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`div`,{className:w(`flex items-center justify-between px-5 pb-2 pt-3 font-mono text-[10px] tracking-[0.16em]`,Le[e.code]??`text-[hsl(var(--deck-ink-faint))]`,t===0&&`pt-2`),children:[(0,q.jsx)(`span`,{children:h(Ie[e.code])}),(0,q.jsxs)(`span`,{className:`text-[hsl(var(--deck-ink-faint))]`,children:[e.entries.length.toString().padStart(2,`0`),F?`+`:``]})]}),ue(`status:${e.code}`,e.entries)]},e.code))]});let t=B.some(e=>e.isActive||e.entries.some(le)),n=e=>e.entries.some(le),r=(e,t)=>{if(e.join(`\0`)===B.map(e=>e.path).join(`\0`))return;ee(e),Y(e);let n=B.find(e=>e.path===t);A(h(`sidebar.project.reordered`,{name:n?.name??t,position:e.indexOf(t)+1}))};return(0,q.jsxs)(`div`,{className:`flex flex-col`,children:[(0,q.jsx)(`span`,{className:`sr-only`,"aria-live":`polite`,children:k}),U,V.length>0&&(0,q.jsxs)(`section`,{"data-remote-session-group":!0,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between px-5 pb-2 pt-3 font-mono text-[10px] tracking-[0.16em] text-[hsl(var(--deck-ink-faint))]`,children:[(0,q.jsx)(`span`,{children:h(`sidebar.project.remoteSessions`)}),(0,q.jsx)(`span`,{children:V.length.toString().padStart(2,`0`)})]}),ue(`remote-sessions`,V)]}),B.length>0&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`px-5 pb-0.5 pt-2 font-mono text-[9px] uppercase tracking-[0.16em] text-[hsl(var(--deck-ink-faint))]`,children:h(`sidebar.project.projects`)}),B.map((e,i)=>{let a=e.entries.filter(ce).length,o=n(e),s=a>0,c=e.entries.some(se),l=g[e.path]??(t&&!e.isActive&&!(o||e.hasRunning||s||c));return(0,q.jsxs)(`div`,{"data-project-group":e.path,onDragEnter:t=>{T&&T!==e.path&&(t.preventDefault(),O(e.path))},onDragOver:t=>{T&&T!==e.path&&(t.preventDefault(),t.dataTransfer.dropEffect=`move`)},onDrop:t=>{t.preventDefault();let n=T||t.dataTransfer.getData(`text/plain`);n&&n!==e.path&&r(X(B.map(e=>e.path),n,e.path),n),E(null),O(null)},className:w(`relative transition-colors`,D===e.path&&T!==e.path&&`bg-[hsl(var(--deck-accent-soft))]/55 before:absolute before:inset-y-1 before:left-0 before:w-0.5 before:rounded-full before:bg-[hsl(var(--deck-accent))]`),children:[(0,q.jsx)(Oe,{name:e.name,path:e.path,count:e.entries.length,countIsPartial:F,isActive:e.isActive,hasRunning:e.hasRunning,unreadCount:a,collapsed:l,onSelect:()=>u(e.path),onCreateTask:()=>d(e.path),reorderPosition:i+1,reorderCount:B.length,isDragging:T===e.path,onDragStart:t=>{t.dataTransfer.effectAllowed=`move`,t.dataTransfer.setData(`text/plain`,e.path),E(e.path)},onDragEnd:()=>{E(null),O(null)},onReorderKeyDown:t=>{if(t.key!==`ArrowUp`&&t.key!==`ArrowDown`)return;t.preventDefault();let n=De(B.map(e=>e.path),e.path,t.key===`ArrowUp`?-1:1);r(n,e.path)},onToggle:()=>y(t=>({...t,[e.path]:!l}))}),!l&&ue(`project:${e.path}`,e.entries)]},e.path)})]})]})}if(e===`status`)return(0,q.jsxs)(`div`,{className:`flex flex-col`,children:[U,I.map((e,t)=>(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`div`,{className:w(`flex items-center justify-between px-5 pb-2 pt-3 font-mono text-[10px] tracking-[0.16em]`,Le[e.code]??`text-[hsl(var(--deck-ink-faint))]`,t===0&&`pt-2`),children:[(0,q.jsx)(`span`,{children:h(Ie[e.code])}),(0,q.jsxs)(`span`,{className:`text-[hsl(var(--deck-ink-faint))]`,children:[e.sessions.length.toString().padStart(2,`0`),F?`+`:``]})]}),H(`status:${e.code}`,e.sessions)]},e.code))]});let de=R.some(e=>e.isActive),W=e=>!!(a&&e.sessions.some(e=>S(_(e),a))),fe=(e,t)=>{if(e.join(`\0`)===R.map(e=>e.path).join(`\0`))return;ee(e),Y(e);let n=R.find(e=>e.path===t);A(h(`sidebar.project.reordered`,{name:n?.name??t,position:e.indexOf(t)+1}))};return(0,q.jsxs)(`div`,{className:`flex flex-col`,children:[(0,q.jsx)(`span`,{className:`sr-only`,"aria-live":`polite`,children:k}),U,R.length>0&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`px-5 pb-0.5 pt-2 font-mono text-[9px] uppercase tracking-[0.16em] text-[hsl(var(--deck-ink-faint))]`,children:h(`sidebar.project.projects`)}),R.map((e,t)=>{let n=e.sessions.filter(e=>c.includes(M(_(e)))).length,r=W(e),i=n>0,a=e.sessions.some(e=>!!e.pendingInteraction),o=g[e.path]??(de&&!e.isActive&&!(r||e.hasRunning||i||a));return(0,q.jsxs)(`div`,{"data-project-group":e.path,onDragEnter:t=>{T&&T!==e.path&&(t.preventDefault(),O(e.path))},onDragOver:t=>{T&&T!==e.path&&(t.preventDefault(),t.dataTransfer.dropEffect=`move`)},onDrop:t=>{t.preventDefault();let n=T||t.dataTransfer.getData(`text/plain`);n&&n!==e.path&&fe(X(R.map(e=>e.path),n,e.path),n),E(null),O(null)},className:w(`relative transition-colors`,D===e.path&&T!==e.path&&`bg-[hsl(var(--deck-accent-soft))]/55 before:absolute before:inset-y-1 before:left-0 before:w-0.5 before:rounded-full before:bg-[hsl(var(--deck-accent))]`),children:[(0,q.jsx)(Oe,{name:e.name,path:e.path,count:e.sessions.length,countIsPartial:F,isActive:e.isActive,hasRunning:e.hasRunning,unreadCount:n,collapsed:o,onSelect:()=>u(e.path),onCreateTask:()=>d(e.path),reorderPosition:t+1,reorderCount:R.length,isDragging:T===e.path,onDragStart:t=>{t.dataTransfer.effectAllowed=`move`,t.dataTransfer.setData(`text/plain`,e.path),E(e.path)},onDragEnd:()=>{E(null),O(null)},onReorderKeyDown:t=>{if(t.key!==`ArrowUp`&&t.key!==`ArrowDown`)return;t.preventDefault();let n=De(R.map(e=>e.path),e.path,t.key===`ArrowUp`?-1:1);fe(n,e.path)},onToggle:()=>y(t=>({...t,[e.path]:!o}))}),!o&&H(`project:${e.path}`,e.sessions)]},e.path)})]})]})}function We({className:e,onNavigate:n}){let a=o(),{toggleSettings:s,toggleSidebar:c,isSidebarOpen:l,isTerminalOpen:u,toggleTerminal:d,sidebarView:f,setSidebarView:p,setTaskSwitcherOpen:v,mainView:b,setMainView:C,setBoardProjectPath:T,setFilePreviewOpen:E}=r(),D=V(e=>e.sessions),O=V(e=>e.surfaceCatalog),k=V(e=>e.surfaceCatalogLoadState),te=V(e=>e.historySurfaceSelection),N=i(te),P=V(e=>e.currentSessionRef),F=V(e=>e.forkingSessionRef),re=V(e=>e.selectSession),L=V(e=>e.openHistorySurface),R=V(e=>e.startTemporarySession),ae=V(e=>e.deleteSession),oe=V(e=>e.archiveSession),ce=V(e=>e.forkSession),le=V(e=>e.updateSession),H=V(e=>e.loadSessions),U=V(e=>e.loadSurfaceCatalog),de=V(e=>e.setError),W=V(e=>e.taskEventsConnected),fe=V(e=>e.taskWorkspaceInfo),G=V(e=>e.boundProjects),pe=V(e=>e.selectedProjectPath),me=V(e=>e.bindProject),ve=V(e=>e.selectProject),xe=V(e=>e.cancelTask),we=V(e=>e.cancellingTaskKeys),J=V(e=>e.retryTask),Te=V(e=>e.retryingTaskKeys),Y=V(e=>e.unreadTaskKeys),[Ee,X]=(0,K.useState)(null),[De,Oe]=(0,K.useState)(``),[ke,Ae]=(0,K.useState)(null),[Z,je]=(0,K.useState)(!1),Me=pe??fe?.cwd??null,Ne=e=>I(e,a),Pe=e=>{let t=e.taskSourceProjectPath||e.projectPath;return{project:t.split(`/`).filter(Boolean).at(-1)||t,environment:e.taskIsolation===`worktree`?e.taskWorktreeBranch||a(`session.env.worktree`):a(`session.env.local`),diff:e.taskDiffStat?`+${e.taskDiffStat.additions} −${e.taskDiffStat.deletions}`:void 0,queue:e.taskStatus===`queued`&&e.taskQueuePosition?a(`session.queued`,{position:e.taskQueuePosition,depth:e.taskQueueDepth??e.taskQueuePosition}):void 0,reason:B(e,a)}},Fe=()=>{C(`workspace`),R(Me??void 0),n?.()},Ie=()=>{V.getState().closeHistorySurface(),E(!1),T(Me),C(`board`),n?.()},Le=async e=>{G.some(t=>t.path===e)?ve(e):await me(e),C(`workspace`),R(e),n?.()},Re=async e=>{G.some(t=>t.path===e)?ve(e):await me(e),C(`workspace`),R(e),n?.()},Q=e=>{e(),n?.()},$=()=>{t(V.getState())||Q(d)},ze=async(e,n)=>{e.stopPropagation(),!t(V.getState())&&await ae(_(n))},Be=async e=>{if(t(V.getState()))return;let n=_(e),r=M(n);if(!ke){Ae(r);try{await ge(n)}catch(e){de(e instanceof Error?e.message:`Session export failed`)}finally{Ae(null)}}},Ve=(e,n)=>{e.stopPropagation(),!t(V.getState())&&(X(M(_(n))),Oe(Ne(n)))},He=async e=>{if(!t(V.getState())){if(!De.trim()){X(null);return}try{await le(_(e),De.trim()),X(null),await H()}catch(e){console.error(`Failed to rename session:`,e)}}},We=()=>{X(null),Oe(``)};return l?(0,q.jsxs)(`div`,{className:w(`flex flex-col h-screen border-r w-[260px] border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-canvas-veil))]`,e),children:[(0,q.jsxs)(`div`,{className:`flex flex-col gap-6 px-5 pt-5 pb-5`,children:[(0,q.jsxs)(`div`,{className:`flex justify-between items-center`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,q.jsx)(ie,{size:26}),(0,q.jsx)(`span`,{className:`font-mono text-[15px] font-semibold tracking-[-0.01em] text-[hsl(var(--deck-ink))]`,children:`Blade`}),(0,q.jsx)(`span`,{className:`ml-1 rounded-sm border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-1 py-[1px] font-mono text-[9px] text-[hsl(var(--deck-ink-faint))]`,children:a(`sidebar.brand.badge`)})]}),(0,q.jsx)(`button`,{onClick:c,"aria-label":a(`sidebar.action.collapse`),className:`flex h-8 w-8 items-center justify-center rounded transition-colors hover:bg-[hsl(var(--deck-surface))]`,children:(0,q.jsx)(ue,{className:`h-3 w-3 text-[hsl(var(--deck-ink-muted))]`})})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,q.jsxs)(`button`,{onClick:Fe,className:`flex h-9 w-full items-center justify-between rounded-md bg-[hsl(var(--deck-ink))] px-3 font-mono text-[13px] font-medium text-[hsl(var(--deck-canvas))] transition-colors hover:bg-[hsl(var(--deck-ink))]/88`,children:[(0,q.jsxs)(`span`,{className:`flex gap-2 items-center`,children:[(0,q.jsx)(m,{className:`h-3.5 w-3.5 stroke-[2.5]`}),a(`sidebar.action.newTask`)]}),(0,q.jsx)(`span`,{className:`rounded-sm bg-white/10 px-1.5 py-[1px] font-mono text-[10px] text-white/80`,children:A(`newTask`)})]}),(0,q.jsxs)(`button`,{type:`button`,onClick:Ie,"aria-current":b===`board`?`page`:void 0,className:w(`flex h-9 w-full items-center gap-2 rounded-md border px-3 font-mono text-[12.5px] transition-colors`,b===`board`?`border-[hsl(var(--deck-accent)/0.45)] bg-[hsl(var(--deck-accent-soft))] text-[hsl(var(--deck-accent))]`:`border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] text-[hsl(var(--deck-ink-muted))] hover:border-[hsl(var(--deck-border-strong))] hover:text-[hsl(var(--deck-ink))]`),children:[(0,q.jsx)(he,{className:`h-3.5 w-3.5`}),a(`sidebar.action.taskBoard`)]}),(0,q.jsxs)(`button`,{onClick:$,disabled:N,className:w(`flex h-9 w-full items-center gap-2 rounded-md border px-3 font-mono text-[12.5px] transition-colors`,u?`border-[hsl(var(--deck-accent)/0.55)] bg-[hsl(var(--deck-accent-soft))] text-[hsl(var(--deck-accent))]`:`border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] text-[hsl(var(--deck-ink-muted))] hover:border-[hsl(var(--deck-border-strong))] hover:text-[hsl(var(--deck-ink))]`),children:[(0,q.jsx)(g,{className:`h-3.5 w-3.5`}),a(`sidebar.action.terminal`)]}),!N&&(0,q.jsxs)(`button`,{type:`button`,onClick:()=>Q(()=>v(!0)),className:`flex h-9 w-full items-center justify-between rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-3 font-mono text-[12.5px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:border-[hsl(var(--deck-border-strong))] hover:text-[hsl(var(--deck-ink))]`,children:[(0,q.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(ee,{className:`h-3.5 w-3.5`}),a(`sidebar.action.searchTasks`)]}),(0,q.jsx)(`span`,{className:`rounded-sm border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas))] px-1.5 py-[1px] font-mono text-[9px] text-[hsl(var(--deck-ink-faint))]`,children:Y.length>0?Y.length:A(`searchTasks`)})]})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,q.jsx)(`div`,{className:`flex flex-1 items-center gap-0.5 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] p-0.5`,children:[`project`,`status`].map(e=>(0,q.jsx)(`button`,{type:`button`,onClick:()=>p(e),"aria-pressed":f===e,"aria-label":a(e===`project`?`sidebar.view.projectAria`:`sidebar.view.statusAria`),className:w(`flex-1 rounded-[5px] py-1 font-mono text-[11px] tracking-[0.02em] transition-colors`,f===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:a(e===`project`?`sidebar.view.project`:`sidebar.view.status`)},e))}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>je(!0),disabled:N,title:a(`projects.bind.action`),"aria-label":a(`projects.bind.action`),className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] text-[hsl(var(--deck-ink-faint))] transition-colors hover:border-[hsl(var(--deck-border-strong))] hover:text-[hsl(var(--deck-accent))]`,children:(0,q.jsx)(z,{className:`h-3.5 w-3.5`})})]})]}),(0,q.jsx)(se,{className:`flex-1 px-0`,children:(0,q.jsxs)(`div`,{className:`flex flex-col`,children:[(D.length>0||O.length>0||G.length>0||k===`loading`||k===`hydrating`||k===`error`)&&(0,q.jsx)(Ue,{view:f,sessions:D,surfaceCatalog:O,activeProjectPath:Me,boundProjects:G,currentSessionRef:P,historySurfaceSelection:te,unreadTaskKeys:Y,catalogLoadState:k,onRetryCatalog:()=>{U()},onSelectProject:e=>void Le(e).catch(()=>void 0),onCreateTask:e=>void Re(e).catch(()=>void 0),renderLocalRow:e=>{let r=_(e),i=M(r),a=S(r,P),o=Ee===i,s=S(r,F),c=!!F;return(0,q.jsx)(Se,{session:e,sessionRef:r,isActive:a,isForking:s,isUnread:Y.includes(M(r)),anyForking:c,isEditing:o,editingTitle:De,title:Ne(e),context:Pe(e),isCancelling:we.includes(M(r)),isRetrying:Te.includes(M(r)),isExporting:ke===i,onSelect:()=>(n?.(),C(`workspace`),re(r)),onCancelTask:()=>{t(V.getState())||xe(r).catch(()=>void 0)},onRetryTask:()=>{t(V.getState())||J(r).catch(()=>void 0)},onFork:()=>{t(V.getState())||ce(e)},onArchive:()=>{t(V.getState())||oe(r)},onExport:()=>void Be(e),onStartRename:t=>Ve(t,e),onDelete:t=>ze(t,e),onEditingTitleChange:Oe,onSaveRename:()=>He(e),onCancelRename:We},i)},renderRemoteRow:e=>(0,q.jsx)(be,{summary:e,isActive:ne(e.locator,te?.locator),onSelect:()=>(n?.(),C(`workspace`),L(e.locator))},x(e.locator))}),O.length===0&&D.length===0&&(0,q.jsx)(`div`,{className:`px-5 mt-6`,children:(0,q.jsxs)(`div`,{className:`rounded-md border border-dashed border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))]/60 px-4 py-6 text-center`,children:[(0,q.jsx)(`div`,{className:`mx-auto mb-2 inline-flex h-8 w-8 items-center justify-center rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas))]`,children:(0,q.jsx)(y,{className:`h-3.5 w-3.5 text-[hsl(var(--deck-ink-faint))]`})}),(0,q.jsx)(`div`,{className:`font-mono text-[12px] text-[hsl(var(--deck-ink-muted))]`,children:a(`sidebar.empty.title`)}),(0,q.jsx)(`div`,{className:`mt-1 text-[10.5px] text-[hsl(var(--deck-ink-faint))]`,children:a(`sidebar.empty.hint`)})]})})]})}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-3 px-5 pt-3 pb-5`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col gap-0.5 border-t border-[hsl(var(--deck-hairline))] pt-3`,children:[!N&&(0,q.jsx)(_e,{}),[{icon:h,action:()=>Q(s),labelKey:`sidebar.section.settings`}].map(({icon:e,action:t,labelKey:n})=>(0,q.jsxs)(`button`,{"data-settings-trigger":!0,onClick:t,className:`flex h-8 w-full items-center gap-2.5 rounded-md px-2.5 font-mono text-[12.5px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]`,children:[(0,q.jsx)(e,{className:`h-3.5 w-3.5 text-[hsl(var(--deck-ink-faint))]`}),a(n)]},n))]}),(0,q.jsxs)(`div`,{className:`flex gap-2 justify-between items-center`,children:[(0,q.jsx)(`span`,{className:`font-mono text-[10px] uppercase tracking-[0.14em] text-[hsl(var(--deck-ink-faint))]`,children:a(`sidebar.language.label`)}),(0,q.jsx)(ye,{})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2.5 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-3 py-2`,children:[(0,q.jsx)(`div`,{className:`flex h-7 w-7 items-center justify-center rounded-md bg-[hsl(var(--deck-canvas-veil))]`,children:(0,q.jsx)(`div`,{className:`h-2 w-2 rounded-full bg-[hsl(var(--deck-ink))]`})}),(0,q.jsxs)(`div`,{className:`flex flex-1 flex-col gap-[1px]`,children:[(0,q.jsx)(`span`,{className:`font-mono text-[12px] text-[hsl(var(--deck-ink))]`,children:a(`sidebar.status.user`)}),(0,q.jsxs)(`span`,{className:w(`flex gap-1 items-center font-mono text-[10px]`,W?`text-[hsl(var(--deck-accent))]`:`text-[hsl(var(--deck-ink-faint))]`),children:[(0,q.jsx)(`span`,{className:w(`h-1 w-1 rounded-full`,W?`bg-[hsl(var(--deck-accent))] shadow-[0_0_5px_hsl(var(--deck-accent-glow)/0.9)]`:`bg-[hsl(var(--deck-ink-faint))]/60`)}),a(W?`sidebar.status.feedLive`:`sidebar.status.feedOffline`)]})]})]})]}),!N&&(0,q.jsx)(j,{open:Z,onOpenChange:je})]}):(0,q.jsx)(Ce,{className:e,onExpand:c,onNewChat:Fe,onOpenBoard:Ie,onOpenTaskSwitcher:()=>Q(()=>v(!0)),onToggleTerminal:$,onToggleSettings:()=>Q(s),isTerminalOpen:u,taskEventsConnected:W,unreadCount:Y.length,boardActive:b===`board`,terminalDisabled:N,taskSwitcherDisabled:N})}export{We as Sidebar};
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{d as t,dt as n,i as r,u as i}from"./session-events-BuMTbIwu.js";import{C as a}from"./vendor-radix-L0yJCKJX.js";import{c as o,i as s,l as c,s as l}from"./preload-helper-DvgLbiBV.js";import{t as u}from"./archive-CsFSEMp9.js";import{t as d}from"./chevron-right-Bvu2j6hB.js";import{t as f}from"./download-BR2L5Wme.js";import{t as p}from"./pencil-DkC0bPYD.js";import{t as m}from"./plus-kzdwas-3.js";import{t as h}from"./settings-msYyNDKx.js";import{t as g}from"./terminal-Cp5WYo8w.js";import{A as _,C as v,J as y,K as b,M as x,O as S,P as C,Q as ee,U as w,W as T,d as E,et as D,f as O,ft as k,gt as te,h as A,i as j,j as M,k as ne,n as N,nt as P,p as F,q as re,r as I,s as ie,st as L,t as R,ut as z,vt as ae,w as oe,x as B,y as V}from"./index-DSa8Dzp7.js";import{t as se}from"./ScrollArea-BdOqyQ3g.js";var ce={name:`archive-restore`,size:24,node:[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h2`,key:`tvwodi`}],[`path`,{d:`M20 8v11a2 2 0 0 1-2 2h-2`,key:`1gkqxj`}],[`path`,{d:`m9 15 3-3 3 3`,key:`1pd0qc`}],[`path`,{d:`M12 12v9`,key:`192myk`}]]};ce.node;var le=c(ce),H={name:`chevron-left`,size:24,node:[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]};H.node;var ue=c(H),U={name:`ellipsis`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]],aliases:[`more-horizontal`]};U.node;var de=c(U),W={name:`git-fork`,size:24,node:[[`circle`,{cx:`12`,cy:`18`,r:`3`,key:`1mpf1b`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`path`,{d:`M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9`,key:`1uq4wg`}],[`path`,{d:`M12 12v3`,key:`158kv8`}]]};W.node;var fe=c(W),G={name:`grip-vertical`,size:24,node:[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]};G.node;var pe=c(G),me={name:`layout-dashboard`,size:24,node:[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`,key:`10lvy0`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`,key:`16une8`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`,key:`1hutg5`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`ldoo1y`}]]};me.node;var he=c(me),K=e(n(),1);async function ge(e,t=!1){let n=await C.exportSessionMarkdown(e,t),r=new Blob([n.markdown],{type:`text/markdown;charset=utf-8`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=n.filename,a.hidden=!0,document.body.appendChild(a);try{a.click()}finally{a.remove(),await new Promise(e=>{window.setTimeout(()=>{URL.revokeObjectURL(i),e()},0)})}return n}var q=a();function _e(){let e=o(),n=V(e=>e.archivedSessions),r=V(e=>e.archivedCatalogLoadState),a=V(e=>e.archivedCatalogError),s=V(e=>e.loadArchivedSessions),c=V(e=>e.unarchiveSession),l=V(e=>e.setError),d=V(e=>i(e.historySurfaceSelection)),[p,m]=(0,K.useState)(!1),[h,g]=(0,K.useState)(null),[v,y]=(0,K.useState)(null),b=e=>{e&&t(V.getState())||(m(e),e&&s())},x=()=>{t(V.getState())||s()};return d?null:(0,q.jsxs)(E,{open:p,onOpenChange:b,children:[(0,q.jsx)(F,{asChild:!0,children:(0,q.jsxs)(`button`,{type:`button`,className:`flex h-8 w-full items-center justify-between rounded-md px-2.5 font-mono text-[12.5px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]`,"aria-label":e(`archive.open`),children:[(0,q.jsxs)(`span`,{className:`flex items-center gap-2.5`,children:[(0,q.jsx)(u,{className:`h-3.5 w-3.5 text-[hsl(var(--deck-ink-faint))]`}),e(`archive.title`)]}),n.length>0&&(0,q.jsx)(`span`,{className:`rounded-sm bg-[hsl(var(--deck-surface))] px-1.5 py-0.5 text-[9px] text-[hsl(var(--deck-ink-faint))]`,children:n.length})]})}),(0,q.jsxs)(O,{role:`dialog`,"aria-label":e(`archive.title`),side:`right`,align:`end`,sideOffset:8,className:`w-[340px] overflow-hidden p-0`,children:[(0,q.jsxs)(`div`,{className:`flex h-10 items-center justify-between border-b border-[hsl(var(--deck-hairline))] px-3`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`font-mono text-[11px] font-medium uppercase tracking-[0.08em] text-[hsl(var(--deck-ink))]`,children:e(`archive.title`)}),(0,q.jsx)(`div`,{className:`text-[9.5px] text-[hsl(var(--deck-ink-faint))]`,children:e(`archive.subtitle`)})]}),(0,q.jsx)(`button`,{type:`button`,onClick:x,"aria-label":e(`archive.refresh`),className:`flex h-6 w-6 items-center justify-center rounded text-[hsl(var(--deck-ink-faint))] hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]`,children:(0,q.jsx)(P,{className:w(`h-3 w-3`,(r===`loading`||r===`hydrating`)&&`animate-spin`)})})]}),a?(0,q.jsxs)(`div`,{className:`px-3 py-4 text-[11px] text-red-600 dark:text-red-400`,children:[(0,q.jsx)(`div`,{children:a}),(0,q.jsx)(`button`,{type:`button`,onClick:x,className:`mt-2 font-mono text-[10px] text-[hsl(var(--deck-accent))] focus-visible:outline-none focus-visible:underline`,children:e(`archive.retry`)})]}):n.length===0&&(r===`loading`||r===`hydrating`)?(0,q.jsxs)(`div`,{className:`flex h-24 items-center justify-center gap-2 font-mono text-[10px] text-[hsl(var(--deck-ink-faint))]`,children:[(0,q.jsx)(L,{className:`h-3 w-3 animate-spin`}),e(`archive.loading`)]}):n.length===0?(0,q.jsx)(`div`,{className:`flex h-24 items-center justify-center px-6 text-center text-[10.5px] text-[hsl(var(--deck-ink-faint))]`,children:e(`archive.empty`)}):(0,q.jsx)(se,{className:`max-h-[340px]`,children:(0,q.jsx)(`div`,{className:`divide-y divide-[hsl(var(--deck-hairline))]`,children:n.map(n=>{let r=_(n),i=M(r),a=h===i,o=n.projectPath.split(`/`).filter(Boolean).at(-1)??n.projectPath;return(0,q.jsxs)(`div`,{className:`flex min-h-[58px] items-center gap-2 px-3 py-2`,children:[(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`div`,{className:`truncate font-mono text-[11.5px] text-[hsl(var(--deck-ink))]`,children:I(n,e)}),(0,q.jsxs)(`div`,{className:`mt-0.5 flex items-center gap-1.5 truncate font-mono text-[9px] text-[hsl(var(--deck-ink-faint))]`,children:[(0,q.jsx)(`span`,{className:`truncate`,children:o}),n.archivedAt&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{"aria-hidden":!0,children:`·`}),(0,q.jsx)(`span`,{children:new Date(n.archivedAt).toLocaleString()})]})]}),n.archivedBySessionId!==n.sessionId&&(0,q.jsx)(`div`,{className:`mt-0.5 truncate text-[9px] text-[hsl(var(--deck-accent))]`,children:e(`archive.inherited`,{id:n.archivedBySessionId?.slice(0,8)??``})})]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5`,children:[(0,q.jsx)(`button`,{type:`button`,disabled:v!==null,onClick:async()=>{if(!t(V.getState())){y(i);try{await ge(r)}catch(e){l(e instanceof Error?e.message:`Session export failed`)}finally{y(null)}}},"aria-label":e(`session.action.export`,{title:I(n,e)}),title:e(`session.action.exportShort`),className:`flex h-7 w-7 items-center justify-center rounded text-[hsl(var(--deck-ink-faint))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-wait disabled:opacity-35`,children:v===i?(0,q.jsx)(L,{className:`h-3.5 w-3.5 animate-spin`}):(0,q.jsx)(f,{className:`h-3.5 w-3.5`})}),(0,q.jsx)(`button`,{type:`button`,disabled:a||n.archivedBySessionId!==n.sessionId,onClick:async()=>{if(!t(V.getState())){g(i);try{await c(r)}finally{g(null)}}},"aria-label":e(`archive.restore`,{title:I(n,e)}),title:n.archivedBySessionId===n.sessionId?e(`archive.restoreShort`):e(`archive.restoreAncestor`),className:`flex h-7 w-7 items-center justify-center rounded 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-not-allowed disabled:opacity-35`,children:a?(0,q.jsx)(L,{className:`h-3.5 w-3.5 animate-spin`}):(0,q.jsx)(le,{className:`h-3.5 w-3.5`})})]})]},i)})})})]})]})}var ve={en:`sidebar.language.en`,zh:`sidebar.language.zh`};function ye({className:e,variant:t=`pill`}){let{locale:n,setLocale:r}=l(),i=o();if(t===`compact`){let t=n===`en`?`zh`:`en`;return(0,q.jsx)(`button`,{type:`button`,onClick:()=>r(t),"aria-label":i(`sidebar.language.aria`),title:i(`sidebar.language.label`),className:w(`flex justify-center items-center w-10 h-10 font-mono font-medium rounded-md transition-colors text-[11px] text-[hsl(var(--deck-ink-faint))] hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]`,e),children:i(ve[n])})}return(0,q.jsx)(`div`,{role:`group`,"aria-label":i(`sidebar.language.aria`),className:w(`inline-flex h-8 items-center rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] p-[2px] font-mono text-[11px]`,e),children:s.map(e=>{let t=e===n;return(0,q.jsx)(`button`,{type:`button`,onClick:()=>r(e),"aria-pressed":t,className:w(`flex justify-center items-center px-2 h-full transition-colors min-w-[28px] rounded-[4px]`,t?`bg-[hsl(var(--deck-ink))] text-[hsl(var(--deck-canvas))]`:`text-[hsl(var(--deck-ink-muted))] hover:text-[hsl(var(--deck-ink))]`),children:i(ve[e])},e)})})}function be({summary:e,isActive:t,onSelect:n}){let r=o(),i=e.title??e.locator.sessionId,a=r(e.capabilities.connection===`offline`?`history.connection.offline`:e.capabilities.connection===`local`?`history.connection.local`:`history.connection.online`);return(0,q.jsxs)(`div`,{className:w(`flex relative items-center w-full transition-colors min-h-[54px]`,t?`bg-[hsl(var(--deck-surface))]`:`hover:bg-[hsl(var(--deck-surface))]/60`),children:[t&&(0,q.jsx)(`span`,{className:`absolute left-0 top-1/2 h-6 w-[2px] -translate-y-1/2 rounded-r bg-[hsl(var(--deck-accent))]`}),(0,q.jsxs)(`button`,{type:`button`,"aria-label":r(`session.action.select`,{title:i}),"aria-current":t?`true`:void 0,onClick:n,className:`flex min-h-[54px] min-w-0 flex-1 cursor-pointer items-center gap-2 py-1.5 pl-4 pr-2 text-left focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-[hsl(var(--deck-accent))]`,children:[(0,q.jsx)(`span`,{className:w(`h-1.5 w-1.5 shrink-0 rounded-full`,e.capabilities.connection===`offline`?`bg-amber-500`:`bg-blue-500 shadow-[0_0_5px_rgba(59,130,246,0.7)]`),title:a}),(0,q.jsxs)(`span`,{className:`flex-1 min-w-0 font-mono`,children:[(0,q.jsxs)(`span`,{className:w(`flex gap-2 items-center text-left truncate text-[12px]`,t?`text-[hsl(var(--deck-ink))]`:`text-[hsl(var(--deck-ink-muted))]`),children:[(0,q.jsx)(`span`,{className:`truncate`,children:i}),(0,q.jsx)(`span`,{className:`inline-flex shrink-0 items-center rounded border border-[hsl(var(--deck-border))] px-1.5 py-0.5 text-[8.5px] text-[hsl(var(--deck-ink-faint))]`,children:r(`history.badge.remote`)}),(0,q.jsx)(`span`,{className:`inline-flex shrink-0 items-center rounded border border-[hsl(var(--deck-border))] px-1.5 py-0.5 text-[8.5px] text-[hsl(var(--deck-ink-faint))]`,children:a}),(0,q.jsx)(`span`,{className:`inline-flex shrink-0 items-center rounded bg-[hsl(var(--deck-accent-soft))] px-1.5 py-0.5 text-[8.5px] text-[hsl(var(--deck-accent))]`,children:r(`history.badge.historyOnly`)})]}),(0,q.jsx)(`span`,{className:`mt-0.5 block truncate text-[9.5px] text-[hsl(var(--deck-ink-faint))]`,children:e.displayCwd})]})]})]})}var xe={running:`bg-blue-500 dark:bg-blue-400 shadow-[0_0_5px_rgba(59,130,246,0.7)] animate-pulse`,queued:`bg-amber-400 dark:bg-amber-300`,interrupted:`bg-orange-500 dark:bg-orange-400`,failed:`bg-red-500 dark:bg-red-400`,cancelled:`bg-zinc-400 dark:bg-zinc-500`,completed:`bg-[hsl(var(--deck-accent))]`};function Se({session:e,isActive:t,isForking:n,isUnread:r,anyForking:i,isEditing:a,editingTitle:s,title:c,context:l,isCancelling:d,isRetrying:m,isExporting:h,onSelect:g,onCancelTask:_,onRetryTask:v,onFork:y,onArchive:x,onExport:S,onStartRename:C,onDelete:ee,onEditingTitleChange:k,onSaveRename:A,onCancelRename:j}){let M=o(),[ne,N]=(0,K.useState)(!1),P=(0,K.useRef)(null),I=(0,K.useRef)(null);return a?(0,q.jsxs)(`div`,{className:`flex h-9 w-full items-center gap-2 bg-[hsl(var(--deck-surface))] px-3`,children:[(0,q.jsx)(`input`,{type:`text`,value:s,onChange:e=>k(e.target.value),onKeyDown:e=>{e.key===`Enter`&&A(),e.key===`Escape`&&j()},autoFocus:!0,className:`flex-1 rounded bg-[hsl(var(--deck-canvas))] px-2 py-1 font-mono text-[13px] text-[hsl(var(--deck-ink))] outline-none focus:ring-1 focus:ring-[hsl(var(--deck-accent))]`}),(0,q.jsx)(`button`,{"aria-label":M(`session.action.save`,{title:c}),onClick:A,className:`flex h-6 w-6 items-center justify-center rounded text-[hsl(var(--deck-accent))] hover:bg-[hsl(var(--deck-canvas))]`,children:(0,q.jsx)(ae,{className:`w-3 h-3`})}),(0,q.jsx)(`button`,{"aria-label":M(`session.action.cancel`,{title:c}),onClick:j,className:`flex h-6 w-6 items-center justify-center rounded text-[hsl(var(--deck-ink-faint))] hover:bg-[hsl(var(--deck-canvas))]`,children:(0,q.jsx)(T,{className:`w-3 h-3`})})]}):(0,q.jsxs)(`div`,{className:w(`flex relative items-center w-full transition-colors group min-h-[54px]`,t?`bg-[hsl(var(--deck-surface))]`:`hover:bg-[hsl(var(--deck-surface))]/60`),children:[t&&(0,q.jsx)(`span`,{className:`absolute left-0 top-1/2 h-6 w-[2px] -translate-y-1/2 rounded-r bg-[hsl(var(--deck-accent))]`}),(0,q.jsxs)(`button`,{type:`button`,"aria-label":M(`session.action.select`,{title:c}),"aria-current":t?`true`:void 0,"aria-busy":n?`true`:void 0,onClick:g,className:`flex min-h-[54px] min-w-0 flex-1 cursor-pointer items-center gap-2 py-1.5 pl-4 pr-2 text-left focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-[hsl(var(--deck-accent))]`,children:[(0,q.jsx)(`span`,{className:w(`h-1.5 w-1.5 shrink-0 rounded-full`,e.pendingInteraction?`animate-pulse bg-amber-500 shadow-[0_0_5px_rgba(245,158,11,0.75)]`:xe[e.taskStatus]),title:e.pendingInteraction?M(e.pendingInteraction.type===`question`?`interaction.badge.question`:e.pendingInteraction.type===`elicitation`?`interaction.badge.elicitation`:`interaction.badge.permission`):e.taskStatus}),(0,q.jsxs)(`span`,{className:`flex-1 min-w-0 font-mono`,children:[(0,q.jsxs)(`span`,{className:w(`flex gap-2 items-center text-left truncate text-[12px]`,t?`text-[hsl(var(--deck-ink))]`:`text-[hsl(var(--deck-ink-muted))]`),children:[(0,q.jsx)(`span`,{className:`truncate`,children:c}),r&&(0,q.jsx)(`span`,{title:M(`taskSwitcher.new`),className:`h-1.5 w-1.5 shrink-0 rounded-full bg-[hsl(var(--deck-accent))] shadow-[0_0_5px_hsl(var(--deck-accent-glow)/0.75)]`}),e.pendingInteraction&&(0,q.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1 rounded bg-amber-100 px-1.5 py-0.5 text-[8.5px] text-amber-800 dark:bg-amber-950/60 dark:text-amber-300`,title:M(e.pendingInteraction.type===`question`?`interaction.badge.question`:e.pendingInteraction.type===`elicitation`?`interaction.badge.elicitation`:`interaction.badge.permission`),children:[(0,q.jsx)(te,{className:`h-2.5 w-2.5`}),M(e.pendingInteraction.type===`question`?`interaction.badge.question`:e.pendingInteraction.type===`elicitation`?`interaction.badge.elicitation`:`interaction.badge.permission`)]}),e.relationType===`fork`&&e.parentId&&(0,q.jsxs)(`span`,{title:`${M(`session.forkedFrom`)} ${e.parentId.slice(0,6)}`,"aria-label":`${M(`session.forkedFrom`)} ${e.parentId.slice(0,6)}`,className:`shrink-0 text-[9px] text-[hsl(var(--deck-accent))]`,children:[M(`session.forkedFrom`),` `,e.parentId.slice(0,6)]}),e.taskRetriedFrom&&(0,q.jsx)(`span`,{title:`${M(`session.retriedFrom`)} ${e.taskRetriedFrom.sessionId.slice(0,6)}`,className:`shrink-0 text-[9px] text-[hsl(var(--deck-accent))]`,children:M(`session.retryShort`)})]}),(0,q.jsxs)(`span`,{className:`mt-0.5 flex min-w-0 items-center gap-1.5 truncate text-[9.5px] text-[hsl(var(--deck-ink-faint))]`,children:[(0,q.jsx)(`span`,{className:`truncate`,children:l.project}),(0,q.jsx)(`span`,{className:`opacity-50`,children:`·`}),(0,q.jsx)(`span`,{className:`truncate`,children:l.environment}),l.queue&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`opacity-50`,children:`·`}),(0,q.jsx)(`span`,{className:`text-amber-700 truncate dark:text-amber-400`,children:l.queue})]}),l.diff&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`opacity-50`,children:`·`}),(0,q.jsx)(`span`,{className:`truncate text-[hsl(var(--deck-accent))]`,children:l.diff})]})]}),l.reason&&(0,q.jsx)(`span`,{title:l.reason,className:`mt-0.5 block truncate text-[9.5px] text-red-600 dark:text-red-400`,children:l.reason})]}),n&&(0,q.jsx)(L,{className:`h-3 w-3 shrink-0 animate-spin text-[hsl(var(--deck-accent))]`})]}),(0,q.jsxs)(`div`,{className:w(`flex items-center gap-0.5 pr-2 transition-opacity group-focus-within:opacity-100`,e.taskStatus===`running`||e.taskStatus===`queued`||e.taskRetryAvailable&&(e.taskStatus===`failed`||e.taskStatus===`interrupted`||e.taskStatus===`cancelled`)?`opacity-100`:`opacity-50 group-hover:opacity-100`),children:[(e.taskStatus===`running`||e.taskStatus===`queued`)&&(0,q.jsx)(`button`,{type:`button`,"aria-label":M(d?`session.action.stopping`:`session.action.stop`,{title:c}),disabled:d,onClick:e=>{e.stopPropagation(),_()},className:`flex h-6 w-6 items-center justify-center rounded 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:d?(0,q.jsx)(L,{className:`h-3 w-3 animate-spin`}):(0,q.jsx)(re,{className:`h-3 w-3`})}),e.taskRetryAvailable&&(e.taskStatus===`failed`||e.taskStatus===`interrupted`||e.taskStatus===`cancelled`)&&(0,q.jsx)(`button`,{ref:P,type:`button`,"aria-label":M(m?`session.action.retrying`:`session.action.retry`,{title:c}),disabled:m,onClick:e=>{e.stopPropagation(),v()},className:`flex h-6 w-6 items-center justify-center rounded 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:m?(0,q.jsx)(L,{className:`h-3 w-3 animate-spin`}):(0,q.jsx)(D,{className:`h-3 w-3`})}),(0,q.jsxs)(E,{open:ne,onOpenChange:N,children:[(0,q.jsx)(F,{asChild:!0,children:(0,q.jsx)(`button`,{type:`button`,"aria-label":M(`session.action.more`,{title:c}),"aria-expanded":ne,className:`flex h-6 w-6 items-center justify-center rounded text-[hsl(var(--deck-ink-faint))] transition-colors hover:bg-[hsl(var(--deck-canvas))] hover:text-[hsl(var(--deck-ink))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]`,children:(0,q.jsx)(de,{className:`h-3.5 w-3.5`})})}),(0,q.jsxs)(O,{ref:I,role:`menu`,"aria-label":M(`session.action.more`,{title:c}),side:`right`,align:`start`,sideOffset:6,className:`w-40 p-1`,onOpenAutoFocus:e=>{e.preventDefault(),I.current?.querySelector(`[role="menuitem"]:not([disabled])`)?.focus()},onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),N(!1),window.setTimeout(()=>P.current?.focus(),0))},children:[(0,q.jsxs)(`button`,{type:`button`,role:`menuitem`,"aria-label":M(`session.action.fork`,{title:c}),disabled:i,onClick:e=>{e.stopPropagation(),y(),N(!1)},className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left font-mono text-[11px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:bg-[hsl(var(--deck-surface))] focus-visible:text-[hsl(var(--deck-ink))] focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-45`,children:[(0,q.jsx)(fe,{className:`h-3 w-3`,"aria-hidden":!0}),M(`session.action.forkShort`)]}),(0,q.jsxs)(`button`,{type:`button`,role:`menuitem`,"aria-label":M(`session.action.rename`,{title:c}),onClick:e=>{C(e),N(!1)},className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left font-mono text-[11px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:bg-[hsl(var(--deck-surface))] focus-visible:text-[hsl(var(--deck-ink))] focus-visible:outline-none`,children:[(0,q.jsx)(p,{className:`h-3 w-3`,"aria-hidden":!0}),M(`session.action.renameShort`)]}),(0,q.jsxs)(`button`,{type:`button`,role:`menuitem`,"aria-label":M(`session.action.archive`,{title:c}),disabled:e.taskStatus===`running`||e.taskStatus===`queued`,onClick:e=>{e.stopPropagation(),x(),N(!1)},className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left font-mono text-[11px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:bg-[hsl(var(--deck-surface))] focus-visible:text-[hsl(var(--deck-ink))] focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-35`,children:[(0,q.jsx)(u,{className:`h-3 w-3`,"aria-hidden":!0}),M(`session.action.archiveShort`)]}),(0,q.jsxs)(`button`,{type:`button`,role:`menuitem`,"aria-label":M(`session.action.export`,{title:c}),disabled:h,onClick:e=>{e.stopPropagation(),S(),N(!1)},className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left font-mono text-[11px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:bg-[hsl(var(--deck-surface))] focus-visible:text-[hsl(var(--deck-ink))] focus-visible:outline-none disabled:cursor-wait disabled:opacity-45`,children:[h?(0,q.jsx)(L,{className:`h-3 w-3 animate-spin`,"aria-hidden":!0}):(0,q.jsx)(f,{className:`h-3 w-3`,"aria-hidden":!0}),M(h?`session.action.exportingShort`:`session.action.exportShort`)]}),(0,q.jsxs)(`button`,{type:`button`,role:`menuitem`,"aria-label":M(`session.action.delete`,{title:c}),onClick:e=>{ee(e),N(!1)},className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left font-mono text-[11px] text-red-600 transition-colors hover:bg-red-500/10 focus-visible:bg-red-500/10 focus-visible:outline-none dark:text-red-400`,children:[(0,q.jsx)(b,{className:`h-3 w-3`,"aria-hidden":!0}),M(`session.action.deleteShort`)]})]})]})]})]})}function Ce({onExpand:e,onNewChat:t,onOpenBoard:n,onOpenTaskSwitcher:r,onToggleTerminal:i,onToggleSettings:a,isTerminalOpen:s,taskEventsConnected:c,unreadCount:l,boardActive:u,terminalDisabled:d=!1,taskSwitcherDisabled:f=!1,className:p}){let _=o(),v=[{icon:h,action:a,labelKey:`sidebar.section.settings`}];return(0,q.jsxs)(`div`,{className:w(`flex flex-col gap-2 items-center py-5 h-screen border-r w-[64px] border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-canvas-veil))]`,p),children:[(0,q.jsx)(`button`,{onClick:e,className:`rounded-md p-1 transition-colors hover:bg-[hsl(var(--deck-surface))]`,"aria-label":_(`sidebar.action.expand`),children:(0,q.jsx)(ie,{size:28})}),(0,q.jsx)(`button`,{onClick:t,"aria-label":_(`sidebar.action.newTaskShort`),title:_(`sidebar.action.newTaskShort`),className:`mt-6 flex h-10 w-10 items-center justify-center rounded-md bg-[hsl(var(--deck-ink))] text-[hsl(var(--deck-canvas))] transition-colors hover:bg-[hsl(var(--deck-ink))]/85`,children:(0,q.jsx)(m,{className:`h-4 w-4 stroke-[2.5]`})}),(0,q.jsx)(`button`,{type:`button`,onClick:n,"aria-label":_(`sidebar.action.taskBoard`),"aria-current":u?`page`:void 0,title:_(`sidebar.action.taskBoard`),className:w(`flex h-10 w-10 items-center justify-center rounded-md border transition-colors`,u?`border-[hsl(var(--deck-accent)/0.55)] bg-[hsl(var(--deck-accent-soft))] text-[hsl(var(--deck-accent))]`:`border-transparent text-[hsl(var(--deck-ink-muted))] hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]`),children:(0,q.jsx)(he,{className:`h-4 w-4`})}),(0,q.jsx)(`button`,{onClick:i,disabled:d,"aria-label":_(`sidebar.action.terminalToggle`),title:_(`sidebar.action.terminal`),className:w(`flex h-10 w-10 items-center justify-center rounded-md border transition-colors`,d&&`cursor-not-allowed opacity-35`,s?`border-[hsl(var(--deck-accent)/0.55)] bg-[hsl(var(--deck-accent-soft))] text-[hsl(var(--deck-accent))]`:`border-transparent text-[hsl(var(--deck-ink-muted))] hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]`),children:(0,q.jsx)(g,{className:`w-4 h-4`})}),(0,q.jsxs)(`button`,{onClick:r,disabled:f,"aria-label":_(`sidebar.action.searchTasks`),title:`${_(`sidebar.action.searchTasks`)} (${A(`searchTasks`)})`,className:w(`relative flex h-10 w-10 items-center justify-center rounded-md border border-transparent text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]`,f&&`cursor-not-allowed opacity-35`),children:[(0,q.jsx)(ee,{className:`h-4 w-4`}),l>0&&(0,q.jsx)(`span`,{"aria-label":_(`sidebar.unreadTasks`,{count:l}),className:`absolute right-0.5 top-0.5 flex min-h-4 min-w-4 items-center justify-center rounded-full bg-[hsl(var(--deck-accent))] px-1 font-mono text-[8px] font-semibold text-white`,children:l>99?`99+`:l})]}),(0,q.jsx)(`div`,{className:`flex-1`}),(0,q.jsx)(`div`,{className:`my-2 h-px w-6 bg-[hsl(var(--deck-hairline))]`}),v.map(({icon:e,action:t,labelKey:n})=>(0,q.jsx)(`button`,{"data-settings-trigger":!0,onClick:t,"aria-label":_(n),title:_(n),className:`flex h-10 w-10 items-center justify-center rounded-md text-[hsl(var(--deck-ink-faint))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]`,children:(0,q.jsx)(e,{className:`w-4 h-4`})},n)),(0,q.jsx)(ye,{variant:`compact`}),(0,q.jsx)(`div`,{className:`mt-1`,children:(0,q.jsx)(`div`,{role:`status`,"aria-label":_(c?`sidebar.status.feedLive`:`sidebar.status.feedOffline`),className:w(`h-2 w-2 rounded-full`,c?`bg-[hsl(var(--deck-accent))] shadow-[0_0_6px_hsl(var(--deck-accent-glow)/0.9)]`:`bg-[hsl(var(--deck-ink-faint))]/60`),title:_(c?`sidebar.status.feedLive`:`sidebar.status.feedOffline`)})})]})}var we=`blade.sidebar.project-order.v1`;function J(e){let t=new Set,n=[];for(let r of e)typeof r==`string`&&r&&!t.has(r)&&(t.add(r),n.push(r));return n}function Te(){if(typeof window>`u`)return[];try{let e=JSON.parse(window.localStorage.getItem(`blade.sidebar.project-order.v1`)??`[]`);return Array.isArray(e)?J(e):[]}catch{return[]}}function Y(e){if(typeof window<`u`)try{window.localStorage.setItem(we,JSON.stringify(J(e)))}catch{}}function Ee(e,t){let n=new Map(J(t).map((e,t)=>[e,t])),r=n.size;return e.map((e,t)=>({project:e,rank:n.get(e.path)??r+t})).sort((e,t)=>e.rank-t.rank).map(({project:e})=>e)}function X(e,t,n){let r=J(e),i=r.indexOf(t),a=r.indexOf(n);if(i<0||a<0||i===a)return r;let[o]=r.splice(i,1);return r.splice(a,0,o),r}function De(e,t,n){let r=J(e),i=r.indexOf(t),a=i+n;return i<0||a<0||a>=r.length||([r[i],r[a]]=[r[a],r[i]]),r}function Oe({name:e,path:t,count:n,countIsPartial:r=!1,isActive:i,hasRunning:a,unreadCount:s,collapsed:c,onToggle:l,onSelect:u,onCreateTask:f,reorderPosition:p,reorderCount:h,isDragging:g=!1,onDragStart:_,onDragEnd:v,onReorderKeyDown:y}){let b=o();return(0,q.jsxs)(`div`,{className:w(`group/proj flex w-full items-center gap-2 px-5 pb-1.5 pt-3 text-left transition-colors`,`hover:bg-[hsl(var(--deck-surface))]/40`),children:[(0,q.jsx)(`button`,{type:`button`,draggable:!0,"data-project-drag-handle":t,onDragStart:_,onDragEnd:v,onKeyDown:y,"aria-label":b(`sidebar.project.reorder`,{name:e,position:p,count:h}),title:b(`sidebar.project.reorderHint`),className:w(`-ml-2 flex h-6 w-4 shrink-0 cursor-grab items-center justify-center rounded-sm text-[hsl(var(--deck-ink-faint))] opacity-45 transition-[opacity,color,background-color] hover:bg-[hsl(var(--deck-surface-2))] hover:text-[hsl(var(--deck-ink-muted))] hover:opacity-100 focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] active:cursor-grabbing group-hover/proj:opacity-100`,g&&`cursor-grabbing opacity-100 text-[hsl(var(--deck-accent))]`),children:(0,q.jsx)(pe,{className:`h-3.5 w-3.5`})}),(0,q.jsx)(`button`,{type:`button`,onClick:l,"aria-expanded":!c,"aria-label":b(c?`sidebar.project.expand`:`sidebar.project.collapse`,{name:e}),className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]`,children:(0,q.jsx)(d,{className:w(`h-3 w-3 text-[hsl(var(--deck-ink-faint))] transition-transform duration-150`,!c&&`rotate-90`)})}),(0,q.jsxs)(`button`,{type:`button`,onClick:u??l,title:t,"aria-current":i?`true`:void 0,className:`flex min-h-6 min-w-0 flex-1 items-center gap-2 rounded-sm text-left focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]`,children:[(0,q.jsx)(k,{className:w(`h-3.5 w-3.5 shrink-0`,i?`text-[hsl(var(--deck-accent))]`:`text-[hsl(var(--deck-ink-faint))]`)}),(0,q.jsx)(`span`,{className:w(`flex-1 truncate font-mono text-[11.5px] font-medium tracking-[-0.01em]`,i?`text-[hsl(var(--deck-ink))]`:`text-[hsl(var(--deck-ink-muted))]`),children:e}),a&&(0,q.jsx)(`span`,{className:`h-1.5 w-1.5 shrink-0 rounded-full bg-blue-500 shadow-[0_0_5px_rgba(59,130,246,0.7)] animate-pulse dark:bg-blue-400`,"aria-hidden":!0}),s>0&&(0,q.jsx)(`span`,{"aria-label":b(`sidebar.unreadTasks`,{count:s}),className:`shrink-0 rounded-full bg-[hsl(var(--deck-accent))] px-1.5 py-0.5 font-mono text-[8px] font-semibold text-white`,children:s}),(0,q.jsxs)(`span`,{className:`shrink-0 font-mono text-[10px] text-[hsl(var(--deck-ink-faint))]`,children:[n.toString().padStart(2,`0`),r?`+`:``]})]}),f&&(0,q.jsx)(`button`,{type:`button`,onClick:f,title:b(`sidebar.project.newTask`,{name:e}),"aria-label":b(`sidebar.project.newTask`,{name:e}),className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-sm text-[hsl(var(--deck-ink-faint))] opacity-0 transition-[opacity,color,background-color] hover:bg-[hsl(var(--deck-surface-2))] hover:text-[hsl(var(--deck-accent))] focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] group-hover/proj:opacity-100`,children:(0,q.jsx)(m,{className:`h-3.5 w-3.5`})})]})}var ke=[`running`,`queued`,`interrupted`,`failed`,`cancelled`,`completed`],Ae={running:`RUNNING`,queued:`QUEUED`,interrupted:`INTERRUPTED`,failed:`FAILED`,cancelled:`CANCELLED`,completed:`DONE`},Z=e=>e.length>1?e.replace(/\/+$/,``):e;function je(e){let t=new Map;for(let n of e){if(!n)continue;let e=M(_(n));t.has(e)||t.set(e,n)}return Array.from(t.values())}function Me(e){let t=je(e),n=[];for(let e of ke){let r=t.filter(t=>t.taskStatus===e).sort(R);r.length>0&&n.push({code:Ae[e],status:e,sessions:r})}return n}function Ne(e,t,n=[]){let r=je(e),i=new Map,a=n.map(Z),o=new Map(a.map((e,t)=>[e,t]));for(let e of a)i.set(e,[]);for(let e of r){let n=oe(e,t),r=i.get(n);r?r.push(e):i.set(n,[e])}let s=t?Z(t):null,c=Array.from(i.entries()).map(([e,t])=>{let n=[...t].sort(R),r=t.reduce((e,t)=>Math.max(e,N(t)),0);return{path:e,name:v(e),isActive:s?Z(e)===s:!1,isBound:o.has(Z(e)),hasRunning:t.some(e=>e.taskStatus===`running`),lastActivity:r,sessions:n}});return c.sort((e,t)=>e.isBound===t.isBound?e.isBound&&t.isBound?(o.get(Z(e.path))??2**53-1)-(o.get(Z(t.path))??2**53-1):t.lastActivity-e.lastActivity:e.isBound?-1:1),c}var Pe=12,Fe=[`running`,`queued`,`interrupted`,`failed`,`cancelled`,`completed`],Ie={RUNNING:`sidebar.group.running`,QUEUED:`sidebar.group.queued`,INTERRUPTED:`sidebar.group.interrupted`,FAILED:`sidebar.group.failed`,CANCELLED:`sidebar.group.cancelled`,DONE:`sidebar.group.done`},Le={RUNNING:`text-blue-700 dark:text-blue-400`,QUEUED:`text-amber-700 dark:text-amber-400`,INTERRUPTED:`text-orange-700 dark:text-orange-400`,FAILED:`text-red-700 dark:text-red-400`,CANCELLED:`text-[hsl(var(--deck-ink-faint))]`,DONE:`text-[hsl(var(--deck-accent))]`},Re={running:`RUNNING`,queued:`QUEUED`,interrupted:`INTERRUPTED`,failed:`FAILED`,cancelled:`CANCELLED`,completed:`DONE`};function Q(e){return e.length>1?e.replace(/\/+$/,``):e}function $(e){let t=e.lastMessageTime||e.firstMessageTime;if(!t)return 0;let n=new Date(t).getTime();return Number.isNaN(n)?0:n}function ze(e,t){if(e.locator.workspace.kind!==`local`)throw Error(`Expected a local Session surface summary`);return t&&$(t)>=$(e)?t:{...t??{sessionId:e.locator.sessionId,projectPath:e.locator.workspace.projectPath,rootId:e.rootId,taskStatus:e.taskStatus,messageCount:e.messageCount,firstMessageTime:e.firstMessageTime,lastMessageTime:e.lastMessageTime,hasErrors:e.hasErrors},sessionId:e.locator.sessionId,projectPath:e.locator.workspace.projectPath,title:e.title,rootId:e.rootId,parentId:e.parentId,relationType:e.relationType,taskStatus:e.taskStatus,messageCount:e.messageCount,firstMessageTime:e.firstMessageTime,lastMessageTime:e.lastMessageTime,hasErrors:e.hasErrors,archivedAt:e.archivedAt,selectedModelId:e.selectedModelId}}function Be(e){return e.kind===`local`?e.session.taskStatus:e.summary.taskStatus}function Ve(e,t){return t.activityTime-e.activityTime}function He(e){return[...e].sort(Ve)}function Ue({view:e,sessions:t,surfaceCatalog:n,activeProjectPath:r,boundProjects:i,currentSessionRef:a,historySurfaceSelection:s,unreadTaskKeys:c,catalogLoadState:l,onSelectProject:u,onCreateTask:d,onRetryCatalog:f,renderLocalRow:p,renderRemoteRow:m}){let h=o(),[g,y]=(0,K.useState)({}),[b,x]=(0,K.useState)({}),[C,ee]=(0,K.useState)(Te),[T,E]=(0,K.useState)(null),[D,O]=(0,K.useState)(null),[k,A]=(0,K.useState)(``),j=l===`ready`||n.length>0,N=l===`loading`||l===`hydrating`,F=N||l===`error`,re=j?n.length:t.length,I=(0,K.useMemo)(()=>e===`status`?Me(t):[],[t,e]),ie=(0,K.useMemo)(()=>e===`project`?Ne(t,r,i.map(e=>e.path)):[],[r,i,t,e]),R=(0,K.useMemo)(()=>Ee(ie,C),[ie,C]),z=(0,K.useMemo)(()=>{if(!j)return[];let e=new Map(t.map(e=>[M(_(e)),e])),i=[];for(let t of n){if(t.locator.workspace.kind===`local`){let n={sessionId:t.locator.sessionId,projectPath:t.locator.workspace.projectPath},a=e.get(M(n)),o=ze(t,a);i.push({kind:`local`,path:a?oe(o,r):t.locator.workspace.projectPath,activityTime:$(o),session:o});continue}i.push({kind:`remote`,activityTime:$(t),summary:t})}return i},[r,t,n,j]),ae=(0,K.useMemo)(()=>!j||e!==`status`?[]:Fe.flatMap(e=>{let t=He(z.filter(t=>Be(t)===e));return t.length===0?[]:[{code:Re[e],entries:t}]}),[z,j,e]),B=(0,K.useMemo)(()=>{if(!j||e!==`project`)return[];let t=i.map(e=>Q(e.path)),n=new Map(t.map((e,t)=>[e,t])),a=new Map;for(let e of t)a.set(e,[]);for(let e of z){if(e.kind!==`local`)continue;let t=a.get(e.path);t?t.push(e):a.set(e.path,[e])}let o=r?Q(r):null,s=Array.from(a.entries()).map(([e,t])=>({path:e,name:v(e),isActive:o?Q(e)===o:!1,isBound:n.has(Q(e)),hasRunning:t.some(e=>Be(e)===`running`),lastActivity:t.reduce((e,t)=>Math.max(e,t.activityTime),0),entries:He(t)}));return s.sort((e,t)=>e.isBound===t.isBound?e.isBound&&t.isBound?(n.get(Q(e.path))??2**53-1)-(n.get(Q(t.path))??2**53-1):t.lastActivity-e.lastActivity:e.isBound?-1:1),Ee(s,C)},[r,i,z,C,j,e]),V=(0,K.useMemo)(()=>e===`project`?He(z.filter(e=>e.kind===`remote`)):[],[z,e]),se=e=>e.kind===`local`&&!!e.session.pendingInteraction,ce=e=>e.kind===`local`&&c.includes(M(_(e.session))),le=e=>e.kind===`local`?!!(a&&S(_(e.session),a)):!!(s&&ne(e.summary.locator,s.locator)),H=(e,t)=>{let n=b[e]??!1,r=n?t:t.filter((e,t)=>{if(t<Pe)return!0;let n=_(e);return!!e.pendingInteraction||c.includes(M(n))||!!(a&&S(n,a))}),i=t.length-r.length,o=n?t.length>Pe:i>0;return(0,q.jsxs)(q.Fragment,{children:[r.map(p),o&&(0,q.jsx)(`button`,{type:`button`,onClick:()=>x(t=>({...t,[e]:!n})),className:`mx-4 my-1 rounded-md px-3 py-1.5 text-left font-mono text-[10.5px] text-[hsl(var(--deck-ink-faint))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink-muted))]`,children:n?h(`sidebar.group.showLess`):h(`sidebar.group.showMore`,{count:i})})]})},ue=(e,t)=>{let n=b[e]??!1,r=n?t:t.filter((e,t)=>t<Pe||se(e)||ce(e)||le(e)),i=t.length-r.length,a=n?t.length>Pe:i>0;return(0,q.jsxs)(q.Fragment,{children:[r.map(e=>e.kind===`local`?p(e.session):m(e.summary)),a&&(0,q.jsx)(`button`,{type:`button`,onClick:()=>x(t=>({...t,[e]:!n})),className:`mx-4 my-1 rounded-md px-3 py-1.5 text-left font-mono text-[10.5px] text-[hsl(var(--deck-ink-faint))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink-muted))]`,children:n?h(`sidebar.group.showLess`):h(`sidebar.group.showMore`,{count:i})})]})},U=N?(0,q.jsxs)(`div`,{role:`status`,"aria-live":`polite`,className:`mx-4 mt-2 flex items-center gap-2 rounded-md bg-[hsl(var(--deck-surface))]/55 px-3 py-2 font-mono text-[9.5px] text-[hsl(var(--deck-ink-faint))]`,children:[(0,q.jsx)(L,{className:`h-3 w-3 shrink-0 animate-spin text-[hsl(var(--deck-accent))]`}),(0,q.jsx)(`span`,{className:`flex-1 min-w-0`,children:h(`sidebar.catalog.syncing`)}),(0,q.jsx)(`span`,{className:`tabular-nums shrink-0`,children:h(`sidebar.catalog.loaded`,{count:re})})]}):l===`error`?(0,q.jsxs)(`div`,{role:`alert`,className:`mx-4 mt-2 flex items-center gap-2 rounded-md bg-amber-50/80 px-3 py-2 font-mono text-[9.5px] text-amber-800 dark:bg-amber-950/35 dark:text-amber-300`,children:[(0,q.jsx)(te,{className:`w-3 h-3 shrink-0`}),(0,q.jsx)(`span`,{className:`flex-1 min-w-0`,children:h(`sidebar.catalog.incomplete`)}),(0,q.jsxs)(`button`,{type:`button`,onClick:f,className:`inline-flex min-h-6 shrink-0 items-center gap-1 rounded px-1.5 font-medium hover:bg-amber-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-amber-500 dark:hover:bg-amber-900/50`,children:[(0,q.jsx)(P,{className:`h-2.5 w-2.5`}),h(`sidebar.catalog.retry`)]})]}):null;if(j){if(e===`status`)return(0,q.jsxs)(`div`,{className:`flex flex-col`,children:[U,ae.map((e,t)=>(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`div`,{className:w(`flex items-center justify-between px-5 pb-2 pt-3 font-mono text-[10px] tracking-[0.16em]`,Le[e.code]??`text-[hsl(var(--deck-ink-faint))]`,t===0&&`pt-2`),children:[(0,q.jsx)(`span`,{children:h(Ie[e.code])}),(0,q.jsxs)(`span`,{className:`text-[hsl(var(--deck-ink-faint))]`,children:[e.entries.length.toString().padStart(2,`0`),F?`+`:``]})]}),ue(`status:${e.code}`,e.entries)]},e.code))]});let t=B.some(e=>e.isActive||e.entries.some(le)),n=e=>e.entries.some(le),r=(e,t)=>{if(e.join(`\0`)===B.map(e=>e.path).join(`\0`))return;ee(e),Y(e);let n=B.find(e=>e.path===t);A(h(`sidebar.project.reordered`,{name:n?.name??t,position:e.indexOf(t)+1}))};return(0,q.jsxs)(`div`,{className:`flex flex-col`,children:[(0,q.jsx)(`span`,{className:`sr-only`,"aria-live":`polite`,children:k}),U,V.length>0&&(0,q.jsxs)(`section`,{"data-remote-session-group":!0,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between px-5 pb-2 pt-3 font-mono text-[10px] tracking-[0.16em] text-[hsl(var(--deck-ink-faint))]`,children:[(0,q.jsx)(`span`,{children:h(`sidebar.project.remoteSessions`)}),(0,q.jsx)(`span`,{children:V.length.toString().padStart(2,`0`)})]}),ue(`remote-sessions`,V)]}),B.length>0&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`px-5 pb-0.5 pt-2 font-mono text-[9px] uppercase tracking-[0.16em] text-[hsl(var(--deck-ink-faint))]`,children:h(`sidebar.project.projects`)}),B.map((e,i)=>{let a=e.entries.filter(ce).length,o=n(e),s=a>0,c=e.entries.some(se),l=g[e.path]??(t&&!e.isActive&&!(o||e.hasRunning||s||c));return(0,q.jsxs)(`div`,{"data-project-group":e.path,onDragEnter:t=>{T&&T!==e.path&&(t.preventDefault(),O(e.path))},onDragOver:t=>{T&&T!==e.path&&(t.preventDefault(),t.dataTransfer.dropEffect=`move`)},onDrop:t=>{t.preventDefault();let n=T||t.dataTransfer.getData(`text/plain`);n&&n!==e.path&&r(X(B.map(e=>e.path),n,e.path),n),E(null),O(null)},className:w(`relative transition-colors`,D===e.path&&T!==e.path&&`bg-[hsl(var(--deck-accent-soft))]/55 before:absolute before:inset-y-1 before:left-0 before:w-0.5 before:rounded-full before:bg-[hsl(var(--deck-accent))]`),children:[(0,q.jsx)(Oe,{name:e.name,path:e.path,count:e.entries.length,countIsPartial:F,isActive:e.isActive,hasRunning:e.hasRunning,unreadCount:a,collapsed:l,onSelect:()=>u(e.path),onCreateTask:()=>d(e.path),reorderPosition:i+1,reorderCount:B.length,isDragging:T===e.path,onDragStart:t=>{t.dataTransfer.effectAllowed=`move`,t.dataTransfer.setData(`text/plain`,e.path),E(e.path)},onDragEnd:()=>{E(null),O(null)},onReorderKeyDown:t=>{if(t.key!==`ArrowUp`&&t.key!==`ArrowDown`)return;t.preventDefault();let n=De(B.map(e=>e.path),e.path,t.key===`ArrowUp`?-1:1);r(n,e.path)},onToggle:()=>y(t=>({...t,[e.path]:!l}))}),!l&&ue(`project:${e.path}`,e.entries)]},e.path)})]})]})}if(e===`status`)return(0,q.jsxs)(`div`,{className:`flex flex-col`,children:[U,I.map((e,t)=>(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`div`,{className:w(`flex items-center justify-between px-5 pb-2 pt-3 font-mono text-[10px] tracking-[0.16em]`,Le[e.code]??`text-[hsl(var(--deck-ink-faint))]`,t===0&&`pt-2`),children:[(0,q.jsx)(`span`,{children:h(Ie[e.code])}),(0,q.jsxs)(`span`,{className:`text-[hsl(var(--deck-ink-faint))]`,children:[e.sessions.length.toString().padStart(2,`0`),F?`+`:``]})]}),H(`status:${e.code}`,e.sessions)]},e.code))]});let de=R.some(e=>e.isActive),W=e=>!!(a&&e.sessions.some(e=>S(_(e),a))),fe=(e,t)=>{if(e.join(`\0`)===R.map(e=>e.path).join(`\0`))return;ee(e),Y(e);let n=R.find(e=>e.path===t);A(h(`sidebar.project.reordered`,{name:n?.name??t,position:e.indexOf(t)+1}))};return(0,q.jsxs)(`div`,{className:`flex flex-col`,children:[(0,q.jsx)(`span`,{className:`sr-only`,"aria-live":`polite`,children:k}),U,R.length>0&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`px-5 pb-0.5 pt-2 font-mono text-[9px] uppercase tracking-[0.16em] text-[hsl(var(--deck-ink-faint))]`,children:h(`sidebar.project.projects`)}),R.map((e,t)=>{let n=e.sessions.filter(e=>c.includes(M(_(e)))).length,r=W(e),i=n>0,a=e.sessions.some(e=>!!e.pendingInteraction),o=g[e.path]??(de&&!e.isActive&&!(r||e.hasRunning||i||a));return(0,q.jsxs)(`div`,{"data-project-group":e.path,onDragEnter:t=>{T&&T!==e.path&&(t.preventDefault(),O(e.path))},onDragOver:t=>{T&&T!==e.path&&(t.preventDefault(),t.dataTransfer.dropEffect=`move`)},onDrop:t=>{t.preventDefault();let n=T||t.dataTransfer.getData(`text/plain`);n&&n!==e.path&&fe(X(R.map(e=>e.path),n,e.path),n),E(null),O(null)},className:w(`relative transition-colors`,D===e.path&&T!==e.path&&`bg-[hsl(var(--deck-accent-soft))]/55 before:absolute before:inset-y-1 before:left-0 before:w-0.5 before:rounded-full before:bg-[hsl(var(--deck-accent))]`),children:[(0,q.jsx)(Oe,{name:e.name,path:e.path,count:e.sessions.length,countIsPartial:F,isActive:e.isActive,hasRunning:e.hasRunning,unreadCount:n,collapsed:o,onSelect:()=>u(e.path),onCreateTask:()=>d(e.path),reorderPosition:t+1,reorderCount:R.length,isDragging:T===e.path,onDragStart:t=>{t.dataTransfer.effectAllowed=`move`,t.dataTransfer.setData(`text/plain`,e.path),E(e.path)},onDragEnd:()=>{E(null),O(null)},onReorderKeyDown:t=>{if(t.key!==`ArrowUp`&&t.key!==`ArrowDown`)return;t.preventDefault();let n=De(R.map(e=>e.path),e.path,t.key===`ArrowUp`?-1:1);fe(n,e.path)},onToggle:()=>y(t=>({...t,[e.path]:!o}))}),!o&&H(`project:${e.path}`,e.sessions)]},e.path)})]})]})}function We({className:e,onNavigate:n}){let a=o(),{toggleSettings:s,toggleSidebar:c,isSidebarOpen:l,isTerminalOpen:u,toggleTerminal:d,sidebarView:f,setSidebarView:p,setTaskSwitcherOpen:v,mainView:b,setMainView:C,setBoardProjectPath:T,setFilePreviewOpen:E}=r(),D=V(e=>e.sessions),O=V(e=>e.surfaceCatalog),k=V(e=>e.surfaceCatalogLoadState),te=V(e=>e.historySurfaceSelection),N=i(te),P=V(e=>e.currentSessionRef),F=V(e=>e.forkingSessionRef),re=V(e=>e.selectSession),L=V(e=>e.openHistorySurface),R=V(e=>e.startTemporarySession),ae=V(e=>e.deleteSession),oe=V(e=>e.archiveSession),ce=V(e=>e.forkSession),le=V(e=>e.updateSession),H=V(e=>e.loadSessions),U=V(e=>e.loadSurfaceCatalog),de=V(e=>e.setError),W=V(e=>e.taskEventsConnected),fe=V(e=>e.taskWorkspaceInfo),G=V(e=>e.boundProjects),pe=V(e=>e.selectedProjectPath),me=V(e=>e.bindProject),ve=V(e=>e.selectProject),xe=V(e=>e.cancelTask),we=V(e=>e.cancellingTaskKeys),J=V(e=>e.retryTask),Te=V(e=>e.retryingTaskKeys),Y=V(e=>e.unreadTaskKeys),[Ee,X]=(0,K.useState)(null),[De,Oe]=(0,K.useState)(``),[ke,Ae]=(0,K.useState)(null),[Z,je]=(0,K.useState)(!1),Me=pe??fe?.cwd??null,Ne=e=>I(e,a),Pe=e=>{let t=e.taskSourceProjectPath||e.projectPath;return{project:t.split(`/`).filter(Boolean).at(-1)||t,environment:e.taskIsolation===`worktree`?e.taskWorktreeBranch||a(`session.env.worktree`):a(`session.env.local`),diff:e.taskDiffStat?`+${e.taskDiffStat.additions} −${e.taskDiffStat.deletions}`:void 0,queue:e.taskStatus===`queued`&&e.taskQueuePosition?a(`session.queued`,{position:e.taskQueuePosition,depth:e.taskQueueDepth??e.taskQueuePosition}):void 0,reason:B(e,a)}},Fe=()=>{C(`workspace`),R(Me??void 0),n?.()},Ie=()=>{V.getState().closeHistorySurface(),E(!1),T(Me),C(`board`),n?.()},Le=async e=>{G.some(t=>t.path===e)?ve(e):await me(e),C(`workspace`),R(e),n?.()},Re=async e=>{G.some(t=>t.path===e)?ve(e):await me(e),C(`workspace`),R(e),n?.()},Q=e=>{e(),n?.()},$=()=>{t(V.getState())||Q(d)},ze=async(e,n)=>{e.stopPropagation(),!t(V.getState())&&await ae(_(n))},Be=async e=>{if(t(V.getState()))return;let n=_(e),r=M(n);if(!ke){Ae(r);try{await ge(n)}catch(e){de(e instanceof Error?e.message:`Session export failed`)}finally{Ae(null)}}},Ve=(e,n)=>{e.stopPropagation(),!t(V.getState())&&(X(M(_(n))),Oe(Ne(n)))},He=async e=>{if(!t(V.getState())){if(!De.trim()){X(null);return}try{await le(_(e),De.trim()),X(null),await H()}catch(e){console.error(`Failed to rename session:`,e)}}},We=()=>{X(null),Oe(``)};return l?(0,q.jsxs)(`div`,{className:w(`flex flex-col h-screen border-r w-[260px] border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-canvas-veil))]`,e),children:[(0,q.jsxs)(`div`,{className:`flex flex-col gap-6 px-5 pt-5 pb-5`,children:[(0,q.jsxs)(`div`,{className:`flex justify-between items-center`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,q.jsx)(ie,{size:26}),(0,q.jsx)(`span`,{className:`font-mono text-[15px] font-semibold tracking-[-0.01em] text-[hsl(var(--deck-ink))]`,children:`Blade`}),(0,q.jsx)(`span`,{className:`ml-1 rounded-sm border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-1 py-[1px] font-mono text-[9px] text-[hsl(var(--deck-ink-faint))]`,children:a(`sidebar.brand.badge`)})]}),(0,q.jsx)(`button`,{onClick:c,"aria-label":a(`sidebar.action.collapse`),className:`flex h-8 w-8 items-center justify-center rounded transition-colors hover:bg-[hsl(var(--deck-surface))]`,children:(0,q.jsx)(ue,{className:`h-3 w-3 text-[hsl(var(--deck-ink-muted))]`})})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,q.jsxs)(`button`,{onClick:Fe,className:`flex h-9 w-full items-center justify-between rounded-md bg-[hsl(var(--deck-ink))] px-3 font-mono text-[13px] font-medium text-[hsl(var(--deck-canvas))] transition-colors hover:bg-[hsl(var(--deck-ink))]/88`,children:[(0,q.jsxs)(`span`,{className:`flex gap-2 items-center`,children:[(0,q.jsx)(m,{className:`h-3.5 w-3.5 stroke-[2.5]`}),a(`sidebar.action.newTask`)]}),(0,q.jsx)(`span`,{className:`rounded-sm bg-white/10 px-1.5 py-[1px] font-mono text-[10px] text-white/80`,children:A(`newTask`)})]}),(0,q.jsxs)(`button`,{type:`button`,onClick:Ie,"aria-current":b===`board`?`page`:void 0,className:w(`flex h-9 w-full items-center gap-2 rounded-md border px-3 font-mono text-[12.5px] transition-colors`,b===`board`?`border-[hsl(var(--deck-accent)/0.45)] bg-[hsl(var(--deck-accent-soft))] text-[hsl(var(--deck-accent))]`:`border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] text-[hsl(var(--deck-ink-muted))] hover:border-[hsl(var(--deck-border-strong))] hover:text-[hsl(var(--deck-ink))]`),children:[(0,q.jsx)(he,{className:`h-3.5 w-3.5`}),a(`sidebar.action.taskBoard`)]}),(0,q.jsxs)(`button`,{onClick:$,disabled:N,className:w(`flex h-9 w-full items-center gap-2 rounded-md border px-3 font-mono text-[12.5px] transition-colors`,u?`border-[hsl(var(--deck-accent)/0.55)] bg-[hsl(var(--deck-accent-soft))] text-[hsl(var(--deck-accent))]`:`border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] text-[hsl(var(--deck-ink-muted))] hover:border-[hsl(var(--deck-border-strong))] hover:text-[hsl(var(--deck-ink))]`),children:[(0,q.jsx)(g,{className:`h-3.5 w-3.5`}),a(`sidebar.action.terminal`)]}),!N&&(0,q.jsxs)(`button`,{type:`button`,onClick:()=>Q(()=>v(!0)),className:`flex h-9 w-full items-center justify-between rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-3 font-mono text-[12.5px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:border-[hsl(var(--deck-border-strong))] hover:text-[hsl(var(--deck-ink))]`,children:[(0,q.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(ee,{className:`h-3.5 w-3.5`}),a(`sidebar.action.searchTasks`)]}),(0,q.jsx)(`span`,{className:`rounded-sm border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas))] px-1.5 py-[1px] font-mono text-[9px] text-[hsl(var(--deck-ink-faint))]`,children:Y.length>0?Y.length:A(`searchTasks`)})]})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,q.jsx)(`div`,{className:`flex flex-1 items-center gap-0.5 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] p-0.5`,children:[`project`,`status`].map(e=>(0,q.jsx)(`button`,{type:`button`,onClick:()=>p(e),"aria-pressed":f===e,"aria-label":a(e===`project`?`sidebar.view.projectAria`:`sidebar.view.statusAria`),className:w(`flex-1 rounded-[5px] py-1 font-mono text-[11px] tracking-[0.02em] transition-colors`,f===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:a(e===`project`?`sidebar.view.project`:`sidebar.view.status`)},e))}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>je(!0),disabled:N,title:a(`projects.bind.action`),"aria-label":a(`projects.bind.action`),className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] text-[hsl(var(--deck-ink-faint))] transition-colors hover:border-[hsl(var(--deck-border-strong))] hover:text-[hsl(var(--deck-accent))]`,children:(0,q.jsx)(z,{className:`h-3.5 w-3.5`})})]})]}),(0,q.jsx)(se,{className:`flex-1 px-0`,children:(0,q.jsxs)(`div`,{className:`flex flex-col`,children:[(D.length>0||O.length>0||G.length>0||k===`loading`||k===`hydrating`||k===`error`)&&(0,q.jsx)(Ue,{view:f,sessions:D,surfaceCatalog:O,activeProjectPath:Me,boundProjects:G,currentSessionRef:P,historySurfaceSelection:te,unreadTaskKeys:Y,catalogLoadState:k,onRetryCatalog:()=>{U()},onSelectProject:e=>void Le(e).catch(()=>void 0),onCreateTask:e=>void Re(e).catch(()=>void 0),renderLocalRow:e=>{let r=_(e),i=M(r),a=S(r,P),o=Ee===i,s=S(r,F),c=!!F;return(0,q.jsx)(Se,{session:e,sessionRef:r,isActive:a,isForking:s,isUnread:Y.includes(M(r)),anyForking:c,isEditing:o,editingTitle:De,title:Ne(e),context:Pe(e),isCancelling:we.includes(M(r)),isRetrying:Te.includes(M(r)),isExporting:ke===i,onSelect:()=>(n?.(),C(`workspace`),re(r)),onCancelTask:()=>{t(V.getState())||xe(r).catch(()=>void 0)},onRetryTask:()=>{t(V.getState())||J(r).catch(()=>void 0)},onFork:()=>{t(V.getState())||ce(e)},onArchive:()=>{t(V.getState())||oe(r)},onExport:()=>void Be(e),onStartRename:t=>Ve(t,e),onDelete:t=>ze(t,e),onEditingTitleChange:Oe,onSaveRename:()=>He(e),onCancelRename:We},i)},renderRemoteRow:e=>(0,q.jsx)(be,{summary:e,isActive:ne(e.locator,te?.locator),onSelect:()=>(n?.(),C(`workspace`),L(e.locator))},x(e.locator))}),O.length===0&&D.length===0&&(0,q.jsx)(`div`,{className:`px-5 mt-6`,children:(0,q.jsxs)(`div`,{className:`rounded-md border border-dashed border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))]/60 px-4 py-6 text-center`,children:[(0,q.jsx)(`div`,{className:`mx-auto mb-2 inline-flex h-8 w-8 items-center justify-center rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas))]`,children:(0,q.jsx)(y,{className:`h-3.5 w-3.5 text-[hsl(var(--deck-ink-faint))]`})}),(0,q.jsx)(`div`,{className:`font-mono text-[12px] text-[hsl(var(--deck-ink-muted))]`,children:a(`sidebar.empty.title`)}),(0,q.jsx)(`div`,{className:`mt-1 text-[10.5px] text-[hsl(var(--deck-ink-faint))]`,children:a(`sidebar.empty.hint`)})]})})]})}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-3 px-5 pt-3 pb-5`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col gap-0.5 border-t border-[hsl(var(--deck-hairline))] pt-3`,children:[!N&&(0,q.jsx)(_e,{}),[{icon:h,action:()=>Q(s),labelKey:`sidebar.section.settings`}].map(({icon:e,action:t,labelKey:n})=>(0,q.jsxs)(`button`,{"data-settings-trigger":!0,onClick:t,className:`flex h-8 w-full items-center gap-2.5 rounded-md px-2.5 font-mono text-[12.5px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]`,children:[(0,q.jsx)(e,{className:`h-3.5 w-3.5 text-[hsl(var(--deck-ink-faint))]`}),a(n)]},n))]}),(0,q.jsxs)(`div`,{className:`flex gap-2 justify-between items-center`,children:[(0,q.jsx)(`span`,{className:`font-mono text-[10px] uppercase tracking-[0.14em] text-[hsl(var(--deck-ink-faint))]`,children:a(`sidebar.language.label`)}),(0,q.jsx)(ye,{})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2.5 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-3 py-2`,children:[(0,q.jsx)(`div`,{className:`flex h-7 w-7 items-center justify-center rounded-md bg-[hsl(var(--deck-canvas-veil))]`,children:(0,q.jsx)(`div`,{className:`h-2 w-2 rounded-full bg-[hsl(var(--deck-ink))]`})}),(0,q.jsxs)(`div`,{className:`flex flex-1 flex-col gap-[1px]`,children:[(0,q.jsx)(`span`,{className:`font-mono text-[12px] text-[hsl(var(--deck-ink))]`,children:a(`sidebar.status.user`)}),(0,q.jsxs)(`span`,{className:w(`flex gap-1 items-center font-mono text-[10px]`,W?`text-[hsl(var(--deck-accent))]`:`text-[hsl(var(--deck-ink-faint))]`),children:[(0,q.jsx)(`span`,{className:w(`h-1 w-1 rounded-full`,W?`bg-[hsl(var(--deck-accent))] shadow-[0_0_5px_hsl(var(--deck-accent-glow)/0.9)]`:`bg-[hsl(var(--deck-ink-faint))]/60`)}),a(W?`sidebar.status.feedLive`:`sidebar.status.feedOffline`)]})]})]})]}),!N&&(0,q.jsx)(j,{open:Z,onOpenChange:je})]}):(0,q.jsx)(Ce,{className:e,onExpand:c,onNewChat:Fe,onOpenBoard:Ie,onOpenTaskSwitcher:()=>Q(()=>v(!0)),onToggleTerminal:$,onToggleSettings:()=>Q(s),isTerminalOpen:u,taskEventsConnected:W,unreadCount:Y.length,boardActive:b===`board`,terminalDisabled:N,taskSwitcherDisabled:N})}export{We as Sidebar};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{d as t,dt as n,i as r,u as i}from"./session-events-CvFfHkFA.js";import{C as a}from"./vendor-radix-CHeA_3Pt.js";import{c as o,l as s,o as c}from"./preload-helper-BC9Zf9qO.js";import{n as ee,t as te}from"./folder-DmyFehXD.js";import{t as ne}from"./clock-3-P2q6i6vm.js";import{t as re}from"./plus-C4p8E1Nk.js";import{t as ie}from"./settings-fWlqCZ-U.js";import{t as l}from"./terminal-DZkEoiSb.js";import{A as u,C as d,I as f,J as p,L as m,O as ae,Q as h,R as oe,U as g,V as se,_ as ce,et as le,gt as ue,h as _,ht as de,j as v,lt as fe,mt as pe,o as me,q as he,r as y,st as b,t as x,w as S,y as C}from"./index-D-oma3Je.js";var w={name:`circle-dot`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]};w.node;var ge=s(w),T={name:`cpu`,size:24,node:[[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M17 20v2`,key:`1rnc9c`}],[`path`,{d:`M17 2v2`,key:`11trls`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M2 17h2`,key:`7oei6x`}],[`path`,{d:`M2 7h2`,key:`asdhe0`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 17h2`,key:`1fpfkl`}],[`path`,{d:`M20 7h2`,key:`1o8tra`}],[`path`,{d:`M7 20v2`,key:`4gnj0m`}],[`path`,{d:`M7 2v2`,key:`1i4yhu`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,key:`1vbyd7`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`,key:`z9xiuo`}]]};T.node;var _e=s(T),E={name:`keyboard`,size:24,node:[[`path`,{d:`M10 8h.01`,key:`1r9ogq`}],[`path`,{d:`M12 12h.01`,key:`1mp3jc`}],[`path`,{d:`M14 8h.01`,key:`1primd`}],[`path`,{d:`M16 12h.01`,key:`1l6xoz`}],[`path`,{d:`M18 8h.01`,key:`emo2bl`}],[`path`,{d:`M6 8h.01`,key:`x9i8wu`}],[`path`,{d:`M7 16h10`,key:`wp8him`}],[`path`,{d:`M8 12h.01`,key:`czm47f`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`,key:`18n3k1`}]]};E.node;var ve=s(E),D={name:`panel-left`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]],aliases:[`sidebar`]};D.node;var ye=s(D),O={name:`server`,size:24,node:[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]};O.node;var be=s(O),k=e(n(),1),A=a();function xe(e,t){let n=t.trim().toLocaleLowerCase();return n?e.filter(e=>`${e.label} ${e.description} ${e.keywords}`.toLocaleLowerCase().includes(n)):e}function Se({actions:e,selectedIndex:t,onSelect:n,onRun:r}){return e.map((e,i)=>{let a=i===t,o=e.icon;return(0,A.jsx)(`div`,{id:`command-center-result-${i}`,"data-task-result-index":i,role:`option`,"aria-selected":a,onMouseMove:()=>{a||n(i)},className:g(`group flex min-h-[58px] w-full items-center rounded-lg border border-transparent text-left transition-colors`,a?`border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))]`:`hover:bg-[hsl(var(--deck-surface))]/60`),children:(0,A.jsxs)(`button`,{type:`button`,onClick:()=>r(e),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:[(0,A.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:(0,A.jsx)(o,{className:`h-3.5 w-3.5`})}),(0,A.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,A.jsx)(`span`,{className:`block truncate font-mono text-[12.5px] font-medium text-[hsl(var(--deck-ink))]`,children:e.label}),(0,A.jsx)(`span`,{className:`mt-0.5 block truncate text-[10.5px] text-[hsl(var(--deck-ink-faint))]`,children:e.description})]}),e.shortcut&&(0,A.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:e.shortcut}),(0,A.jsx)(ee,{className:g(`h-3.5 w-3.5 shrink-0 transition-all`,a?`translate-x-0 text-[hsl(var(--deck-accent))] opacity-100`:`-translate-x-1 text-[hsl(var(--deck-ink-faint))] opacity-0`)})]})},e.id)})}var j={running:`running active 进行中 运行中`,queued:`queued waiting 排队中 等待中`,interrupted:`interrupted paused 已暂停 已中断`,failed:`failed error 已失败 错误`,cancelled:`cancelled canceled 已取消`,completed:`completed done finished 已完成 完成`};function M(e){return y(e,c)}function Ce(e){let t=e.lastMessageTime||e.firstMessageTime;if(!t)return``;let n=new Date(t);return Number.isNaN(n.getTime())?``:new Intl.DateTimeFormat(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}).format(n)}function N(e){return e.normalize(`NFKC`).toLocaleLowerCase().trim()}function P(e,t){let n=S(e,t);return N([M(e),d(n),n,e.projectPath,e.gitBranch,e.taskWorktreeBranch,e.taskStatus,j[e.taskStatus],e.pendingInteraction?.type===`question`?`needs answer question attention 等待回答 需要回答`:e.pendingInteraction?.type===`elicitation`?`mcp input elicitation attention MCP 输入 等待输入`:e.pendingInteraction?`needs approval permission attention 等待审批 需要授权`:``,e.sessionId].filter(Boolean).join(` `))}function F(e,t,n){if(!t)return 0;let r=N(M(e)),i=N(d(S(e,n)));return r===t?500:r.startsWith(t)?400:r.includes(t)?300:i===t?250:i.startsWith(t)?200:100}function we(e,t,n,r=50){let i=N(t),a=i.split(/\s+/).filter(Boolean),o=new Set;return e.filter(e=>{if(a.length===0)return!0;let t=P(e,n);return a.every(e=>t.includes(e))}).sort((e,t)=>{let r=Number(!!t.pendingInteraction)-Number(!!e.pendingInteraction);return r===0?F(t,i,n)-F(e,i,n)||x(e,t):r}).filter(e=>{let t=v(u(e));return!o.has(t)&&(o.add(t),!0)}).slice(0,r)}var Te={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 I(){let e=o(),n=r(e=>e.isTaskSwitcherOpen),a=r(e=>e.taskSwitcherMode),s=r(e=>e.setTaskSwitcherOpen),c=r(e=>e.setTaskSwitcherMode),y=r(e=>e.setMainView),x=r(e=>e.toggleSidebar),w=r(e=>e.isFilePreviewOpen),T=r(e=>e.setFilePreviewOpen),E=r(e=>e.openFilePreview),D=r(e=>e.toggleTerminal),O=r(e=>e.openSettings),j=C(e=>e.sessions),N=C(e=>e.isLoading),P=C(e=>e.catalogLoadState),F=P===`loading`||P===`hydrating`,I=C(e=>e.currentSessionRef),L=C(e=>i(e.historySurfaceSelection)),Ee=C(e=>e.closeHistorySurface),De=C(e=>e.isTemporarySession),Oe=C(e=>e.startTemporarySession),R=C(e=>e.unreadTaskKeys),ke=C(e=>e.boundProjects),z=C(e=>e.selectedProjectPath??e.taskWorkspaceInfo?.cwd??null),Ae=C(e=>e.selectProject),je=C(e=>e.selectSession),Me=C(e=>e.cancelTask),Ne=C(e=>e.retryTask),Pe=C(e=>e.cancellingTaskKeys),Fe=C(e=>e.retryingTaskKeys),[B,Ie]=(0,k.useState)(``),[V,Le]=(0,k.useState)(null),[Re,H]=(0,k.useState)(null),[ze,U]=(0,k.useState)(null),Be=(0,k.useRef)(null),Ve=(0,k.useRef)(null),W=(0,k.useRef)(!1),He=(0,k.useMemo)(()=>[{id:`new-task`,label:e(`commandCenter.action.newTask`),description:e(`commandCenter.action.newTaskDescription`),keywords:`create compose session`,icon:re,shortcut:_(`newTask`),run:()=>{Ee(),y(`workspace`),Oe(),requestAnimationFrame(()=>ce())}},{id:`toggle-preview`,label:e(`commandCenter.action.preview`),description:e(`commandCenter.action.previewDescription`),keywords:`diff files logs artifact review`,icon:pe,run:()=>{t(C.getState())||(w?T(!1):E((!I||De)&&r.getState().previewRequestId===0?{tab:`files`}:void 0))}},{id:`toggle-terminal`,label:e(`commandCenter.action.terminal`),description:e(`commandCenter.action.terminalDescription`),keywords:`shell console command line`,icon:l,run:()=>{t(C.getState())||D()}},{id:`open-settings`,label:e(`commandCenter.action.settings`),description:e(`commandCenter.action.settingsDescription`),keywords:`preferences general`,icon:ie,run:()=>O(`general`)},{id:`open-models`,label:e(`commandCenter.action.models`),description:e(`commandCenter.action.modelsDescription`),keywords:`provider llm api configuration`,icon:_e,run:()=>O(`models`)},{id:`open-shortcuts`,label:e(`commandCenter.action.shortcuts`),description:e(`commandCenter.action.shortcutsDescription`),keywords:`keyboard hotkey key binding`,icon:ve,shortcut:_(`openCommands`),run:()=>O(`shortcuts`)},{id:`open-skills`,label:e(`commandCenter.action.skills`),description:e(`commandCenter.action.skillsDescription`),keywords:`capabilities workflow`,icon:p,run:()=>O(`skills`)},{id:`open-mcp`,label:e(`commandCenter.action.mcp`),description:e(`commandCenter.action.mcpDescription`),keywords:`server tools protocol integration`,icon:be,run:()=>O(`mcp`)},{id:`toggle-sidebar`,label:e(`commandCenter.action.sidebar`),description:e(`commandCenter.action.sidebarDescription`),keywords:`navigation layout panel projects`,icon:ye,shortcut:_(`toggleSidebar`),run:x}],[I,Ee,w,De,E,O,T,y,Oe,e,x,D]),G=(0,k.useMemo)(()=>we(j,B,z),[z,B,j]),K=(0,k.useMemo)(()=>xe(He,B),[He,B]),q=(0,k.useMemo)(()=>a===`tasks`?G.map(e=>v(u(e))):K.map(e=>e.id),[a,G,K]),J=JSON.stringify([n,a,B]),Y=Math.max(0,V?.scope===J&&V.key!==null?q.indexOf(V.key):-1),Ue=q[Y]??null,X=e=>Le({scope:J,key:q[e]??null}),Z=q.length,We=(0,k.useMemo)(()=>j.filter(e=>!!e.pendingInteraction).length,[j]),Q=a===`tasks`?G[Y]??null:null,$=a===`commands`?K[Y]??null:null;(0,k.useEffect)(()=>{W.current=!1,n&&(Ie(``),H(null),U(null))},[a,n]),(0,k.useEffect)(()=>{L&&n&&s(!1)},[L,n,s]),(0,k.useEffect)(()=>{Le({scope:J,key:Ue})},[J,Ue]),(0,k.useEffect)(()=>{(Ve.current?.querySelector(`[data-task-result-index="${Y}"]`))?.scrollIntoView?.({block:`nearest`})},[Y]);let Ge=async t=>{let n=u(t),r=v(n),i=S(t,z);H(r),ke.some(e=>e.path===i)&&Ae(i);try{y(`workspace`),await je(n),s(!1)}catch(t){U(t instanceof Error?t.message:e(`taskSwitcher.action.failed`))}finally{H(null)}},Ke=async(n,r)=>{if(!t(C.getState())){U(null);try{let e=u(r);n===`cancel`?await Me(e):(await Ne(e),s(!1))}catch(t){U(t instanceof Error?t.message:e(`taskSwitcher.action.failed`))}}},qe=e=>{s(!1),requestAnimationFrame(e.run)},Je=e=>W.current||e.isComposing||e.keyCode===229;return L?null:(0,A.jsx)(f,{open:n,onOpenChange:s,children:(0,A.jsxs)(m,{hideCloseButton:!0,onEscapeKeyDown:e=>{Je(e)&&e.preventDefault()},onCloseAutoFocus:me,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:[(0,A.jsx)(se,{className:`sr-only`,children:e(`commandCenter.title`)}),(0,A.jsx)(oe,{className:`sr-only`,children:e(`commandCenter.description`)}),(0,A.jsxs)(`div`,{className:`flex h-14 items-center gap-3 border-b border-[hsl(var(--deck-hairline))] px-4`,children:[(0,A.jsx)(h,{className:`h-4 w-4 shrink-0 text-[hsl(var(--deck-accent))]`}),(0,A.jsx)(`input`,{ref:Be,autoFocus:!0,role:`combobox`,"aria-expanded":`true`,"aria-controls":`task-switcher-results`,"aria-activedescendant":Q?`task-switcher-result-${Y}`:$?`command-center-result-${Y}`:void 0,"aria-label":e(a===`tasks`?`taskSwitcher.searchAria`:`commandCenter.searchAria`),placeholder:e(a===`tasks`?`taskSwitcher.placeholder`:`commandCenter.placeholder`),value:B,onChange:e=>Ie(e.target.value),onCompositionStart:()=>{W.current=!0},onCompositionEnd:()=>{W.current=!1},onBlur:()=>{W.current=!1},onKeyDown:e=>{Je(e.nativeEvent)||(e.key===`ArrowDown`?(e.preventDefault(),X(Z===0?0:(Y+1)%Z)):e.key===`ArrowUp`?(e.preventDefault(),X(Z===0?0:(Y-1+Z)%Z)):e.key===`Enter`&&Q?(e.preventDefault(),Ge(Q)):e.key===`Enter`&&$?(e.preventDefault(),qe($)):e.key===`Escape`&&(e.preventDefault(),s(!1)))},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))]`}),(0,A.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`})]}),(0,A.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-4 pb-2 pt-3`,children:[(0,A.jsx)(`div`,{role:`tablist`,"aria-label":e(`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(t=>(0,A.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":a===t,onClick:()=>{c(t),requestAnimationFrame(()=>Be.current?.focus())},className:g(`rounded-[5px] px-2.5 py-1 font-mono text-[9.5px] uppercase tracking-[0.1em] transition-colors`,a===t?`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:e(t===`tasks`?`commandCenter.mode.tasks`:`commandCenter.mode.commands`)},t))}),(0,A.jsx)(`span`,{children:(0,A.jsx)(`span`,{className:`font-mono text-[9.5px] uppercase tracking-[0.14em] text-[hsl(var(--deck-ink-faint))]`,children:a===`commands`?e(`commandCenter.actions`,{count:K.length}):B?e(`taskSwitcher.results`,{count:G.length}):F?j.length===0?e(`taskSwitcher.indexing`):e(`taskSwitcher.indexingLoaded`,{count:j.length}):P===`error`?e(`sidebar.catalog.incomplete`):We>0?e(`taskSwitcher.needsAction`,{count:We}):R.length>0?e(`taskSwitcher.unread`,{count:R.length}):e(`taskSwitcher.scope`,{count:j.length})})})]}),ze&&(0,A.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:ze}),(0,A.jsxs)(`div`,{id:`task-switcher-results`,ref:Ve,role:`listbox`,"aria-label":e(a===`tasks`?`taskSwitcher.resultsAria`:`commandCenter.resultsAria`),className:`max-h-[min(460px,60vh)] overflow-y-auto px-2 pb-2`,children:[a===`commands`&&(0,A.jsx)(Se,{actions:K,selectedIndex:Y,onSelect:X,onRun:qe}),a===`tasks`&&G.map((t,n)=>{let r=u(t),i=v(r),a=S(t,z),o=d(a),s=ae(r,I),c=n===Y,re=Re===i,ie=R.includes(i),l=M(t),f=t.taskStatus===`running`||t.taskStatus===`queued`,p=!!t.taskRetryAvailable&&(t.taskStatus===`failed`||t.taskStatus===`interrupted`||t.taskStatus===`cancelled`),m=Pe.includes(i),h=Fe.includes(i);return(0,A.jsxs)(`div`,{id:`task-switcher-result-${n}`,"data-task-result-index":n,"data-session-ref":i,role:`option`,"aria-selected":c,onMouseMove:()=>{c||X(n)},className:g(`group flex min-h-[68px] w-full items-center rounded-lg border border-transparent text-left transition-colors`,c?`border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))]`:`hover:bg-[hsl(var(--deck-surface))]/60`),children:[(0,A.jsxs)(`button`,{type:`button`,onClick:()=>void Ge(t),"aria-label":e(`session.action.select`,{title:l}),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:[(0,A.jsx)(`span`,{className:g(`flex h-8 w-8 shrink-0 items-center justify-center rounded-md border bg-[hsl(var(--deck-canvas))]`,s?`border-[hsl(var(--deck-accent)/0.5)] text-[hsl(var(--deck-accent))]`:`border-[hsl(var(--deck-border))] text-[hsl(var(--deck-ink-faint))]`),children:t.pendingInteraction?(0,A.jsx)(ue,{className:`h-3.5 w-3.5 animate-pulse text-amber-600 dark:text-amber-400`}):t.taskStatus===`running`?(0,A.jsx)(ge,{className:`h-3.5 w-3.5 animate-pulse`}):(0,A.jsx)(de,{className:`h-3.5 w-3.5`})}),(0,A.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,A.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,A.jsx)(`span`,{className:`truncate font-mono text-[12.5px] font-medium text-[hsl(var(--deck-ink))]`,children:l}),s&&(0,A.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:e(`taskSwitcher.current`)}),ie&&(0,A.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:e(`taskSwitcher.new`)}),t.pendingInteraction&&(0,A.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:e(t.pendingInteraction.type===`question`?`interaction.badge.question`:t.pendingInteraction.type===`elicitation`?`interaction.badge.elicitation`:`interaction.badge.permission`)}),t.taskRetriedFrom&&(0,A.jsx)(`span`,{title:`${e(`session.retriedFrom`)} ${t.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:e(`session.retryShort`)})]}),(0,A.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:[(0,A.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1`,children:[(0,A.jsx)(te,{className:`h-2.5 w-2.5 shrink-0`}),(0,A.jsx)(`span`,{className:`truncate`,children:o})]}),(t.taskWorktreeBranch||t.gitBranch)&&(0,A.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1`,children:[(0,A.jsx)(fe,{className:`h-2.5 w-2.5 shrink-0`}),(0,A.jsx)(`span`,{className:`truncate`,children:t.taskWorktreeBranch||t.gitBranch})]}),(0,A.jsx)(`span`,{className:`shrink-0`,children:t.taskStatus===`queued`&&t.taskQueuePosition!==void 0&&t.taskQueueDepth!==void 0?e(`session.queued`,{position:t.taskQueuePosition,depth:t.taskQueueDepth}):t.pendingInteraction?e(t.pendingInteraction.type===`question`?`interaction.badge.question`:t.pendingInteraction.type===`elicitation`?`interaction.badge.elicitation`:`interaction.badge.permission`):e(Te[t.taskStatus])}),(0,A.jsxs)(`span`,{className:`ml-auto inline-flex shrink-0 items-center gap-1`,children:[(0,A.jsx)(ne,{className:`h-2.5 w-2.5`}),Ce(t)]})]})]}),re?(0,A.jsx)(b,{className:`h-3.5 w-3.5 shrink-0 animate-spin text-[hsl(var(--deck-accent))]`}):(0,A.jsx)(ee,{className:g(`h-3.5 w-3.5 shrink-0 transition-all`,c?`translate-x-0 text-[hsl(var(--deck-accent))] opacity-100`:`-translate-x-1 text-[hsl(var(--deck-ink-faint))] opacity-0`)})]}),(f||p)&&(0,A.jsxs)(`div`,{className:`flex shrink-0 items-center pr-2`,children:[f&&(0,A.jsx)(`button`,{type:`button`,"aria-label":e(m?`session.action.stopping`:`session.action.stop`,{title:l}),disabled:m,onClick:()=>void Ke(`cancel`,t),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:m?(0,A.jsx)(b,{className:`h-3.5 w-3.5 animate-spin`}):(0,A.jsx)(he,{className:`h-3.5 w-3.5`})}),p&&(0,A.jsx)(`button`,{type:`button`,"aria-label":e(h?`session.action.retrying`:`session.action.retry`,{title:l}),disabled:h,onClick:()=>void Ke(`retry`,t),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:h?(0,A.jsx)(b,{className:`h-3.5 w-3.5 animate-spin`}):(0,A.jsx)(le,{className:`h-3.5 w-3.5`})})]})]},i)}),a===`tasks`&&G.length===0&&F&&(0,A.jsxs)(`div`,{className:`flex min-h-36 items-center justify-center gap-2 font-mono text-[11px] text-[hsl(var(--deck-ink-faint))]`,children:[(0,A.jsx)(b,{className:`h-3.5 w-3.5 animate-spin text-[hsl(var(--deck-accent))]`}),e(`taskSwitcher.indexing`)]}),a===`tasks`&&G.length===0&&!F&&P!==`error`&&!N&&(0,A.jsxs)(`div`,{className:`flex min-h-36 flex-col items-center justify-center px-6 text-center`,children:[(0,A.jsx)(h,{className:`mb-3 h-5 w-5 text-[hsl(var(--deck-ink-faint))]`}),(0,A.jsx)(`p`,{className:`font-mono text-[12px] text-[hsl(var(--deck-ink-muted))]`,children:e(`taskSwitcher.empty`)}),(0,A.jsx)(`p`,{className:`mt-1 text-[10.5px] text-[hsl(var(--deck-ink-faint))]`,children:e(`taskSwitcher.emptyHint`)})]}),a===`tasks`&&G.length===0&&P===`error`&&(0,A.jsxs)(`div`,{role:`alert`,className:`flex min-h-36 flex-col items-center justify-center px-6 text-center`,children:[(0,A.jsx)(ue,{className:`mb-3 h-5 w-5 text-amber-500`}),(0,A.jsx)(`p`,{className:`font-mono text-[12px] text-[hsl(var(--deck-ink-muted))]`,children:e(`sidebar.catalog.incomplete`)})]}),a===`commands`&&K.length===0&&(0,A.jsxs)(`div`,{className:`flex min-h-36 flex-col items-center justify-center px-6 text-center`,children:[(0,A.jsx)(h,{className:`mb-3 h-5 w-5 text-[hsl(var(--deck-ink-faint))]`}),(0,A.jsx)(`p`,{className:`font-mono text-[12px] text-[hsl(var(--deck-ink-muted))]`,children:e(`commandCenter.empty`)}),(0,A.jsx)(`p`,{className:`mt-1 text-[10.5px] text-[hsl(var(--deck-ink-faint))]`,children:e(`commandCenter.emptyHint`)})]})]}),(0,A.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:[(0,A.jsxs)(`span`,{children:[`↑↓ `,e(`taskSwitcher.hint.navigate`)]}),(0,A.jsxs)(`span`,{children:[`↵ `,e(`taskSwitcher.hint.open`)]}),(0,A.jsxs)(`span`,{className:`ml-auto`,children:[_(a===`tasks`?`openCommands`:`searchTasks`),` `,e(a===`tasks`?`commandCenter.mode.commands`:`commandCenter.mode.tasks`)]})]})]})})}export{I as TaskSwitcher};
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{d as t,dt as n,i as r,u as i}from"./session-events-BuMTbIwu.js";import{C as a}from"./vendor-radix-L0yJCKJX.js";import{c as o,l as s,o as c}from"./preload-helper-DvgLbiBV.js";import{n as ee,t as te}from"./folder-8dmZJ2a6.js";import{t as ne}from"./clock-3-dWIDc9IF.js";import{t as re}from"./plus-kzdwas-3.js";import{t as ie}from"./settings-msYyNDKx.js";import{t as l}from"./terminal-Cp5WYo8w.js";import{A as u,C as d,I as f,J as p,L as m,O as ae,Q as h,R as oe,U as g,V as se,_ as ce,et as le,gt as ue,h as _,ht as de,j as v,lt as fe,mt as pe,o as me,q as he,r as y,st as b,t as x,w as S,y as C}from"./index-DSa8Dzp7.js";var w={name:`circle-dot`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]};w.node;var ge=s(w),T={name:`cpu`,size:24,node:[[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M17 20v2`,key:`1rnc9c`}],[`path`,{d:`M17 2v2`,key:`11trls`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M2 17h2`,key:`7oei6x`}],[`path`,{d:`M2 7h2`,key:`asdhe0`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 17h2`,key:`1fpfkl`}],[`path`,{d:`M20 7h2`,key:`1o8tra`}],[`path`,{d:`M7 20v2`,key:`4gnj0m`}],[`path`,{d:`M7 2v2`,key:`1i4yhu`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,key:`1vbyd7`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`,key:`z9xiuo`}]]};T.node;var _e=s(T),E={name:`keyboard`,size:24,node:[[`path`,{d:`M10 8h.01`,key:`1r9ogq`}],[`path`,{d:`M12 12h.01`,key:`1mp3jc`}],[`path`,{d:`M14 8h.01`,key:`1primd`}],[`path`,{d:`M16 12h.01`,key:`1l6xoz`}],[`path`,{d:`M18 8h.01`,key:`emo2bl`}],[`path`,{d:`M6 8h.01`,key:`x9i8wu`}],[`path`,{d:`M7 16h10`,key:`wp8him`}],[`path`,{d:`M8 12h.01`,key:`czm47f`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`,key:`18n3k1`}]]};E.node;var ve=s(E),D={name:`panel-left`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]],aliases:[`sidebar`]};D.node;var ye=s(D),O={name:`server`,size:24,node:[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]};O.node;var be=s(O),k=e(n(),1),A=a();function xe(e,t){let n=t.trim().toLocaleLowerCase();return n?e.filter(e=>`${e.label} ${e.description} ${e.keywords}`.toLocaleLowerCase().includes(n)):e}function Se({actions:e,selectedIndex:t,onSelect:n,onRun:r}){return e.map((e,i)=>{let a=i===t,o=e.icon;return(0,A.jsx)(`div`,{id:`command-center-result-${i}`,"data-task-result-index":i,role:`option`,"aria-selected":a,onMouseMove:()=>{a||n(i)},className:g(`group flex min-h-[58px] w-full items-center rounded-lg border border-transparent text-left transition-colors`,a?`border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))]`:`hover:bg-[hsl(var(--deck-surface))]/60`),children:(0,A.jsxs)(`button`,{type:`button`,onClick:()=>r(e),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:[(0,A.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:(0,A.jsx)(o,{className:`h-3.5 w-3.5`})}),(0,A.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,A.jsx)(`span`,{className:`block truncate font-mono text-[12.5px] font-medium text-[hsl(var(--deck-ink))]`,children:e.label}),(0,A.jsx)(`span`,{className:`mt-0.5 block truncate text-[10.5px] text-[hsl(var(--deck-ink-faint))]`,children:e.description})]}),e.shortcut&&(0,A.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:e.shortcut}),(0,A.jsx)(ee,{className:g(`h-3.5 w-3.5 shrink-0 transition-all`,a?`translate-x-0 text-[hsl(var(--deck-accent))] opacity-100`:`-translate-x-1 text-[hsl(var(--deck-ink-faint))] opacity-0`)})]})},e.id)})}var j={running:`running active 进行中 运行中`,queued:`queued waiting 排队中 等待中`,interrupted:`interrupted paused 已暂停 已中断`,failed:`failed error 已失败 错误`,cancelled:`cancelled canceled 已取消`,completed:`completed done finished 已完成 完成`};function M(e){return y(e,c)}function Ce(e){let t=e.lastMessageTime||e.firstMessageTime;if(!t)return``;let n=new Date(t);return Number.isNaN(n.getTime())?``:new Intl.DateTimeFormat(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}).format(n)}function N(e){return e.normalize(`NFKC`).toLocaleLowerCase().trim()}function P(e,t){let n=S(e,t);return N([M(e),d(n),n,e.projectPath,e.gitBranch,e.taskWorktreeBranch,e.taskStatus,j[e.taskStatus],e.pendingInteraction?.type===`question`?`needs answer question attention 等待回答 需要回答`:e.pendingInteraction?.type===`elicitation`?`mcp input elicitation attention MCP 输入 等待输入`:e.pendingInteraction?`needs approval permission attention 等待审批 需要授权`:``,e.sessionId].filter(Boolean).join(` `))}function F(e,t,n){if(!t)return 0;let r=N(M(e)),i=N(d(S(e,n)));return r===t?500:r.startsWith(t)?400:r.includes(t)?300:i===t?250:i.startsWith(t)?200:100}function we(e,t,n,r=50){let i=N(t),a=i.split(/\s+/).filter(Boolean),o=new Set;return e.filter(e=>{if(a.length===0)return!0;let t=P(e,n);return a.every(e=>t.includes(e))}).sort((e,t)=>{let r=Number(!!t.pendingInteraction)-Number(!!e.pendingInteraction);return r===0?F(t,i,n)-F(e,i,n)||x(e,t):r}).filter(e=>{let t=v(u(e));return!o.has(t)&&(o.add(t),!0)}).slice(0,r)}var Te={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 I(){let e=o(),n=r(e=>e.isTaskSwitcherOpen),a=r(e=>e.taskSwitcherMode),s=r(e=>e.setTaskSwitcherOpen),c=r(e=>e.setTaskSwitcherMode),y=r(e=>e.setMainView),x=r(e=>e.toggleSidebar),w=r(e=>e.isFilePreviewOpen),T=r(e=>e.setFilePreviewOpen),E=r(e=>e.openFilePreview),D=r(e=>e.toggleTerminal),O=r(e=>e.openSettings),j=C(e=>e.sessions),N=C(e=>e.isLoading),P=C(e=>e.catalogLoadState),F=P===`loading`||P===`hydrating`,I=C(e=>e.currentSessionRef),L=C(e=>i(e.historySurfaceSelection)),Ee=C(e=>e.closeHistorySurface),De=C(e=>e.isTemporarySession),Oe=C(e=>e.startTemporarySession),R=C(e=>e.unreadTaskKeys),ke=C(e=>e.boundProjects),z=C(e=>e.selectedProjectPath??e.taskWorkspaceInfo?.cwd??null),Ae=C(e=>e.selectProject),je=C(e=>e.selectSession),Me=C(e=>e.cancelTask),Ne=C(e=>e.retryTask),Pe=C(e=>e.cancellingTaskKeys),Fe=C(e=>e.retryingTaskKeys),[B,Ie]=(0,k.useState)(``),[V,Le]=(0,k.useState)(null),[Re,H]=(0,k.useState)(null),[ze,U]=(0,k.useState)(null),Be=(0,k.useRef)(null),Ve=(0,k.useRef)(null),W=(0,k.useRef)(!1),He=(0,k.useMemo)(()=>[{id:`new-task`,label:e(`commandCenter.action.newTask`),description:e(`commandCenter.action.newTaskDescription`),keywords:`create compose session`,icon:re,shortcut:_(`newTask`),run:()=>{Ee(),y(`workspace`),Oe(),requestAnimationFrame(()=>ce())}},{id:`toggle-preview`,label:e(`commandCenter.action.preview`),description:e(`commandCenter.action.previewDescription`),keywords:`diff files logs artifact review`,icon:pe,run:()=>{t(C.getState())||(w?T(!1):E((!I||De)&&r.getState().previewRequestId===0?{tab:`files`}:void 0))}},{id:`toggle-terminal`,label:e(`commandCenter.action.terminal`),description:e(`commandCenter.action.terminalDescription`),keywords:`shell console command line`,icon:l,run:()=>{t(C.getState())||D()}},{id:`open-settings`,label:e(`commandCenter.action.settings`),description:e(`commandCenter.action.settingsDescription`),keywords:`preferences general`,icon:ie,run:()=>O(`general`)},{id:`open-models`,label:e(`commandCenter.action.models`),description:e(`commandCenter.action.modelsDescription`),keywords:`provider llm api configuration`,icon:_e,run:()=>O(`models`)},{id:`open-shortcuts`,label:e(`commandCenter.action.shortcuts`),description:e(`commandCenter.action.shortcutsDescription`),keywords:`keyboard hotkey key binding`,icon:ve,shortcut:_(`openCommands`),run:()=>O(`shortcuts`)},{id:`open-skills`,label:e(`commandCenter.action.skills`),description:e(`commandCenter.action.skillsDescription`),keywords:`capabilities workflow`,icon:p,run:()=>O(`skills`)},{id:`open-mcp`,label:e(`commandCenter.action.mcp`),description:e(`commandCenter.action.mcpDescription`),keywords:`server tools protocol integration`,icon:be,run:()=>O(`mcp`)},{id:`toggle-sidebar`,label:e(`commandCenter.action.sidebar`),description:e(`commandCenter.action.sidebarDescription`),keywords:`navigation layout panel projects`,icon:ye,shortcut:_(`toggleSidebar`),run:x}],[I,Ee,w,De,E,O,T,y,Oe,e,x,D]),G=(0,k.useMemo)(()=>we(j,B,z),[z,B,j]),K=(0,k.useMemo)(()=>xe(He,B),[He,B]),q=(0,k.useMemo)(()=>a===`tasks`?G.map(e=>v(u(e))):K.map(e=>e.id),[a,G,K]),J=JSON.stringify([n,a,B]),Y=Math.max(0,V?.scope===J&&V.key!==null?q.indexOf(V.key):-1),Ue=q[Y]??null,X=e=>Le({scope:J,key:q[e]??null}),Z=q.length,We=(0,k.useMemo)(()=>j.filter(e=>!!e.pendingInteraction).length,[j]),Q=a===`tasks`?G[Y]??null:null,$=a===`commands`?K[Y]??null:null;(0,k.useEffect)(()=>{W.current=!1,n&&(Ie(``),H(null),U(null))},[a,n]),(0,k.useEffect)(()=>{L&&n&&s(!1)},[L,n,s]),(0,k.useEffect)(()=>{Le({scope:J,key:Ue})},[J,Ue]),(0,k.useEffect)(()=>{(Ve.current?.querySelector(`[data-task-result-index="${Y}"]`))?.scrollIntoView?.({block:`nearest`})},[Y]);let Ge=async t=>{let n=u(t),r=v(n),i=S(t,z);H(r),ke.some(e=>e.path===i)&&Ae(i);try{y(`workspace`),await je(n),s(!1)}catch(t){U(t instanceof Error?t.message:e(`taskSwitcher.action.failed`))}finally{H(null)}},Ke=async(n,r)=>{if(!t(C.getState())){U(null);try{let e=u(r);n===`cancel`?await Me(e):(await Ne(e),s(!1))}catch(t){U(t instanceof Error?t.message:e(`taskSwitcher.action.failed`))}}},qe=e=>{s(!1),requestAnimationFrame(e.run)},Je=e=>W.current||e.isComposing||e.keyCode===229;return L?null:(0,A.jsx)(f,{open:n,onOpenChange:s,children:(0,A.jsxs)(m,{hideCloseButton:!0,onEscapeKeyDown:e=>{Je(e)&&e.preventDefault()},onCloseAutoFocus:me,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:[(0,A.jsx)(se,{className:`sr-only`,children:e(`commandCenter.title`)}),(0,A.jsx)(oe,{className:`sr-only`,children:e(`commandCenter.description`)}),(0,A.jsxs)(`div`,{className:`flex h-14 items-center gap-3 border-b border-[hsl(var(--deck-hairline))] px-4`,children:[(0,A.jsx)(h,{className:`h-4 w-4 shrink-0 text-[hsl(var(--deck-accent))]`}),(0,A.jsx)(`input`,{ref:Be,autoFocus:!0,role:`combobox`,"aria-expanded":`true`,"aria-controls":`task-switcher-results`,"aria-activedescendant":Q?`task-switcher-result-${Y}`:$?`command-center-result-${Y}`:void 0,"aria-label":e(a===`tasks`?`taskSwitcher.searchAria`:`commandCenter.searchAria`),placeholder:e(a===`tasks`?`taskSwitcher.placeholder`:`commandCenter.placeholder`),value:B,onChange:e=>Ie(e.target.value),onCompositionStart:()=>{W.current=!0},onCompositionEnd:()=>{W.current=!1},onBlur:()=>{W.current=!1},onKeyDown:e=>{Je(e.nativeEvent)||(e.key===`ArrowDown`?(e.preventDefault(),X(Z===0?0:(Y+1)%Z)):e.key===`ArrowUp`?(e.preventDefault(),X(Z===0?0:(Y-1+Z)%Z)):e.key===`Enter`&&Q?(e.preventDefault(),Ge(Q)):e.key===`Enter`&&$?(e.preventDefault(),qe($)):e.key===`Escape`&&(e.preventDefault(),s(!1)))},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))]`}),(0,A.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`})]}),(0,A.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-4 pb-2 pt-3`,children:[(0,A.jsx)(`div`,{role:`tablist`,"aria-label":e(`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(t=>(0,A.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":a===t,onClick:()=>{c(t),requestAnimationFrame(()=>Be.current?.focus())},className:g(`rounded-[5px] px-2.5 py-1 font-mono text-[9.5px] uppercase tracking-[0.1em] transition-colors`,a===t?`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:e(t===`tasks`?`commandCenter.mode.tasks`:`commandCenter.mode.commands`)},t))}),(0,A.jsx)(`span`,{children:(0,A.jsx)(`span`,{className:`font-mono text-[9.5px] uppercase tracking-[0.14em] text-[hsl(var(--deck-ink-faint))]`,children:a===`commands`?e(`commandCenter.actions`,{count:K.length}):B?e(`taskSwitcher.results`,{count:G.length}):F?j.length===0?e(`taskSwitcher.indexing`):e(`taskSwitcher.indexingLoaded`,{count:j.length}):P===`error`?e(`sidebar.catalog.incomplete`):We>0?e(`taskSwitcher.needsAction`,{count:We}):R.length>0?e(`taskSwitcher.unread`,{count:R.length}):e(`taskSwitcher.scope`,{count:j.length})})})]}),ze&&(0,A.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:ze}),(0,A.jsxs)(`div`,{id:`task-switcher-results`,ref:Ve,role:`listbox`,"aria-label":e(a===`tasks`?`taskSwitcher.resultsAria`:`commandCenter.resultsAria`),className:`max-h-[min(460px,60vh)] overflow-y-auto px-2 pb-2`,children:[a===`commands`&&(0,A.jsx)(Se,{actions:K,selectedIndex:Y,onSelect:X,onRun:qe}),a===`tasks`&&G.map((t,n)=>{let r=u(t),i=v(r),a=S(t,z),o=d(a),s=ae(r,I),c=n===Y,re=Re===i,ie=R.includes(i),l=M(t),f=t.taskStatus===`running`||t.taskStatus===`queued`,p=!!t.taskRetryAvailable&&(t.taskStatus===`failed`||t.taskStatus===`interrupted`||t.taskStatus===`cancelled`),m=Pe.includes(i),h=Fe.includes(i);return(0,A.jsxs)(`div`,{id:`task-switcher-result-${n}`,"data-task-result-index":n,"data-session-ref":i,role:`option`,"aria-selected":c,onMouseMove:()=>{c||X(n)},className:g(`group flex min-h-[68px] w-full items-center rounded-lg border border-transparent text-left transition-colors`,c?`border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))]`:`hover:bg-[hsl(var(--deck-surface))]/60`),children:[(0,A.jsxs)(`button`,{type:`button`,onClick:()=>void Ge(t),"aria-label":e(`session.action.select`,{title:l}),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:[(0,A.jsx)(`span`,{className:g(`flex h-8 w-8 shrink-0 items-center justify-center rounded-md border bg-[hsl(var(--deck-canvas))]`,s?`border-[hsl(var(--deck-accent)/0.5)] text-[hsl(var(--deck-accent))]`:`border-[hsl(var(--deck-border))] text-[hsl(var(--deck-ink-faint))]`),children:t.pendingInteraction?(0,A.jsx)(ue,{className:`h-3.5 w-3.5 animate-pulse text-amber-600 dark:text-amber-400`}):t.taskStatus===`running`?(0,A.jsx)(ge,{className:`h-3.5 w-3.5 animate-pulse`}):(0,A.jsx)(de,{className:`h-3.5 w-3.5`})}),(0,A.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,A.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,A.jsx)(`span`,{className:`truncate font-mono text-[12.5px] font-medium text-[hsl(var(--deck-ink))]`,children:l}),s&&(0,A.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:e(`taskSwitcher.current`)}),ie&&(0,A.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:e(`taskSwitcher.new`)}),t.pendingInteraction&&(0,A.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:e(t.pendingInteraction.type===`question`?`interaction.badge.question`:t.pendingInteraction.type===`elicitation`?`interaction.badge.elicitation`:`interaction.badge.permission`)}),t.taskRetriedFrom&&(0,A.jsx)(`span`,{title:`${e(`session.retriedFrom`)} ${t.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:e(`session.retryShort`)})]}),(0,A.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:[(0,A.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1`,children:[(0,A.jsx)(te,{className:`h-2.5 w-2.5 shrink-0`}),(0,A.jsx)(`span`,{className:`truncate`,children:o})]}),(t.taskWorktreeBranch||t.gitBranch)&&(0,A.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1`,children:[(0,A.jsx)(fe,{className:`h-2.5 w-2.5 shrink-0`}),(0,A.jsx)(`span`,{className:`truncate`,children:t.taskWorktreeBranch||t.gitBranch})]}),(0,A.jsx)(`span`,{className:`shrink-0`,children:t.taskStatus===`queued`&&t.taskQueuePosition!==void 0&&t.taskQueueDepth!==void 0?e(`session.queued`,{position:t.taskQueuePosition,depth:t.taskQueueDepth}):t.pendingInteraction?e(t.pendingInteraction.type===`question`?`interaction.badge.question`:t.pendingInteraction.type===`elicitation`?`interaction.badge.elicitation`:`interaction.badge.permission`):e(Te[t.taskStatus])}),(0,A.jsxs)(`span`,{className:`ml-auto inline-flex shrink-0 items-center gap-1`,children:[(0,A.jsx)(ne,{className:`h-2.5 w-2.5`}),Ce(t)]})]})]}),re?(0,A.jsx)(b,{className:`h-3.5 w-3.5 shrink-0 animate-spin text-[hsl(var(--deck-accent))]`}):(0,A.jsx)(ee,{className:g(`h-3.5 w-3.5 shrink-0 transition-all`,c?`translate-x-0 text-[hsl(var(--deck-accent))] opacity-100`:`-translate-x-1 text-[hsl(var(--deck-ink-faint))] opacity-0`)})]}),(f||p)&&(0,A.jsxs)(`div`,{className:`flex shrink-0 items-center pr-2`,children:[f&&(0,A.jsx)(`button`,{type:`button`,"aria-label":e(m?`session.action.stopping`:`session.action.stop`,{title:l}),disabled:m,onClick:()=>void Ke(`cancel`,t),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:m?(0,A.jsx)(b,{className:`h-3.5 w-3.5 animate-spin`}):(0,A.jsx)(he,{className:`h-3.5 w-3.5`})}),p&&(0,A.jsx)(`button`,{type:`button`,"aria-label":e(h?`session.action.retrying`:`session.action.retry`,{title:l}),disabled:h,onClick:()=>void Ke(`retry`,t),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:h?(0,A.jsx)(b,{className:`h-3.5 w-3.5 animate-spin`}):(0,A.jsx)(le,{className:`h-3.5 w-3.5`})})]})]},i)}),a===`tasks`&&G.length===0&&F&&(0,A.jsxs)(`div`,{className:`flex min-h-36 items-center justify-center gap-2 font-mono text-[11px] text-[hsl(var(--deck-ink-faint))]`,children:[(0,A.jsx)(b,{className:`h-3.5 w-3.5 animate-spin text-[hsl(var(--deck-accent))]`}),e(`taskSwitcher.indexing`)]}),a===`tasks`&&G.length===0&&!F&&P!==`error`&&!N&&(0,A.jsxs)(`div`,{className:`flex min-h-36 flex-col items-center justify-center px-6 text-center`,children:[(0,A.jsx)(h,{className:`mb-3 h-5 w-5 text-[hsl(var(--deck-ink-faint))]`}),(0,A.jsx)(`p`,{className:`font-mono text-[12px] text-[hsl(var(--deck-ink-muted))]`,children:e(`taskSwitcher.empty`)}),(0,A.jsx)(`p`,{className:`mt-1 text-[10.5px] text-[hsl(var(--deck-ink-faint))]`,children:e(`taskSwitcher.emptyHint`)})]}),a===`tasks`&&G.length===0&&P===`error`&&(0,A.jsxs)(`div`,{role:`alert`,className:`flex min-h-36 flex-col items-center justify-center px-6 text-center`,children:[(0,A.jsx)(ue,{className:`mb-3 h-5 w-5 text-amber-500`}),(0,A.jsx)(`p`,{className:`font-mono text-[12px] text-[hsl(var(--deck-ink-muted))]`,children:e(`sidebar.catalog.incomplete`)})]}),a===`commands`&&K.length===0&&(0,A.jsxs)(`div`,{className:`flex min-h-36 flex-col items-center justify-center px-6 text-center`,children:[(0,A.jsx)(h,{className:`mb-3 h-5 w-5 text-[hsl(var(--deck-ink-faint))]`}),(0,A.jsx)(`p`,{className:`font-mono text-[12px] text-[hsl(var(--deck-ink-muted))]`,children:e(`commandCenter.empty`)}),(0,A.jsx)(`p`,{className:`mt-1 text-[10.5px] text-[hsl(var(--deck-ink-faint))]`,children:e(`commandCenter.emptyHint`)})]})]}),(0,A.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:[(0,A.jsxs)(`span`,{children:[`↑↓ `,e(`taskSwitcher.hint.navigate`)]}),(0,A.jsxs)(`span`,{children:[`↵ `,e(`taskSwitcher.hint.open`)]}),(0,A.jsxs)(`span`,{className:`ml-auto`,children:[_(a===`tasks`?`openCommands`:`searchTasks`),` `,e(a===`tasks`?`commandCenter.mode.commands`:`commandCenter.mode.tasks`)]})]})]})})}export{I as TaskSwitcher};
|