@cloudcli-ai/cloudcli 1.33.3 → 1.34.0
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/assets/{index-9n7A21AT.js → index-BIHaviaA.js} +1 -1
- package/dist/index.html +1 -1
- package/dist/modelConstants.js +6 -0
- package/dist-server/server/claude-sdk.js +1 -1
- package/dist-server/server/claude-sdk.js.map +1 -1
- package/dist-server/server/modules/providers/list/claude/claude-models.provider.js +5 -0
- package/dist-server/server/modules/providers/list/claude/claude-models.provider.js.map +1 -1
- package/dist-server/server/routes/agent.js +1 -1
- package/package.json +1 -1
- package/public/modelConstants.js +6 -0
- package/server/claude-sdk.js +1 -1
- package/server/modules/providers/list/claude/claude-models.provider.ts +5 -0
- package/server/routes/agent.js +1 -1
|
@@ -746,7 +746,7 @@ import{j as s,_ as l_,a as c_,m as gT,E as un,R as bT,o as xT,T as yT,P as vT,S
|
|
|
746
746
|
.xterm-screen:focus {
|
|
747
747
|
outline: none !important;
|
|
748
748
|
}
|
|
749
|
-
`;function WM(){if(typeof document>"u"||document.getElementById(By))return;const e=document.createElement("style");e.id=By,e.type="text/css",e.innerText=HM,document.head.appendChild(e)}function VM({terminalContainerRef:e,terminalRef:t,fitAddonRef:r,wsRef:n,selectedProject:a,minimal:i,isRestarting:o,initialCommandRef:l,isPlainShellRef:c,authUrlRef:u,copyAuthUrlToClipboard:d,closeSocket:p}){const[h,m]=f.useState(!1),g=f.useRef(null),b=a?.fullPath||a?.path||"",x=!!a;f.useEffect(()=>{WM()},[]);const y=f.useCallback(()=>{t.current&&(t.current.clear(),t.current.write("\x1B[2J\x1B[H"))},[t]),k=f.useCallback(()=>{t.current&&(t.current.dispose(),t.current=null),r.current=null,m(!1)},[r,t]);return f.useEffect(()=>{if(!e.current||!x||o||t.current)return;const w=new UM.Terminal(_M);t.current=w;const E=new FM.FitAddon;r.current=E,w.loadAddon(E),i||w.loadAddon(new BM.WebLinksAddon);try{w.loadAddon(new $M.WebglAddon)}catch{console.warn("[Shell] WebGL renderer unavailable, using Canvas fallback")}w.open(e.current);const N=async()=>{const T=w.getSelection();return T?zn(T):!1},v=T=>{if(!w.hasSelection())return;const I=w.getSelection();if(I){if(T.preventDefault(),T.clipboardData){T.clipboardData.setData("text/plain",I);return}zn(I)}};e.current.addEventListener("copy",v),w.attachCustomKeyEventHandler(T=>{const I=o5(l.current)?i5:u.current;return T.type==="keydown"&&i&&c.current&&I&&!T.ctrlKey&&!T.metaKey&&!T.altKey&&T.key?.toLowerCase()==="c"?(T.preventDefault(),T.stopPropagation(),d(I),!1):T.type==="keydown"&&(T.ctrlKey||T.metaKey)&&T.key?.toLowerCase()==="c"&&w.hasSelection()?(T.preventDefault(),T.stopPropagation(),N(),!1):T.type==="keydown"&&(T.ctrlKey||T.metaKey)&&T.key?.toLowerCase()==="v"?(T.preventDefault(),T.stopPropagation(),typeof navigator<"u"&&navigator.clipboard?.readText&&navigator.clipboard.readText().then(O=>{qa(n.current,{type:"input",data:O})}).catch(()=>{}),!1):!0}),window.setTimeout(()=>{const T=r.current,I=t.current;!T||!I||(T.fit(),qa(n.current,{type:"resize",cols:I.cols,rows:I.rows}))},s5),m(!0);const C=w.onData(T=>{qa(n.current,{type:"input",data:T})}),A=new ResizeObserver(()=>{g.current!==null&&window.clearTimeout(g.current),g.current=window.setTimeout(()=>{const T=r.current,I=t.current;!T||!I||(T.fit(),qa(n.current,{type:"resize",cols:I.cols,rows:I.rows}))},CM)});return A.observe(e.current),()=>{e.current?.removeEventListener("copy",v),A.disconnect(),g.current!==null&&(window.clearTimeout(g.current),g.current=null),C.dispose(),p(),k()}},[u,p,d,k,r,l,c,o,i,x,b,e,t,n]),{isInitialized:h,clearTerminalScreen:y,disposeTerminal:k}}function KM({selectedProject:e,selectedSession:t,initialCommand:r,isPlainShell:n,minimal:a,autoConnect:i,isRestarting:o,onProcessComplete:l,onOutputRef:c}){const u=f.useRef(null),d=f.useRef(null),p=f.useRef(null),h=f.useRef(null),[m,g]=f.useState(""),[b,x]=f.useState(0),y=f.useRef(e),k=f.useRef(t),w=f.useRef(r),E=f.useRef(n),N=f.useRef(l),v=f.useRef(""),C=f.useRef(t?.id??null);f.useEffect(()=>{y.current=e,k.current=t,w.current=r,E.current=n,N.current=l},[e,t,r,n,l]);const A=f.useCallback(G=>{v.current=G,g(G),x(R=>R+1)},[]),T=f.useCallback(()=>{const G=h.current;G&&((G.readyState===WebSocket.OPEN||G.readyState===WebSocket.CONNECTING)&&G.close(),h.current=null)},[]),I=f.useCallback((G=v.current)=>{if(!G)return!1;const R=window.open(G,"_blank");if(R){try{R.opener=null}catch{}return!0}return!1},[]),O=f.useCallback(async(G=v.current)=>G?zn(G):!1,[]),{isInitialized:j,clearTerminalScreen:L,disposeTerminal:S}=VM({terminalContainerRef:u,terminalRef:d,fitAddonRef:p,wsRef:h,selectedProject:e,minimal:a,isRestarting:o,initialCommandRef:w,isPlainShellRef:E,authUrlRef:v,copyAuthUrlToClipboard:O,closeSocket:T}),{isConnected:B,isConnecting:V,connectToShell:q,disconnectFromShell:$}=PM({wsRef:h,terminalRef:d,fitAddonRef:p,selectedProjectRef:y,selectedSessionRef:k,initialCommandRef:w,isPlainShellRef:E,onProcessCompleteRef:N,isInitialized:j,autoConnect:i,closeSocket:T,clearTerminalScreen:L,setAuthUrl:A,onOutputRef:c});return f.useEffect(()=>{o&&($(),S())},[$,S,o]),f.useEffect(()=>{e||($(),S())},[$,S,e]),f.useEffect(()=>{const G=t?.id??null;C.current!==G&&j&&$(),C.current=G},[$,j,t?.id]),{terminalContainerRef:u,terminalRef:d,wsRef:h,isConnected:B,isInitialized:j,isConnecting:V,authUrl:m,authUrlVersion:b,connectToShell:q,disconnectFromShell:$,openAuthUrlInBrowser:I,copyAuthUrlToClipboard:O}}function YM({mode:e,description:t,loadingLabel:r,connectLabel:n,connectTitle:a,connectingLabel:i,onConnect:o}){return e==="loading"?s.jsx("div",{className:"absolute inset-0 z-20 flex items-center justify-center bg-gray-950/90",children:s.jsxs("div",{className:"inline-flex items-center gap-2 text-sm font-medium text-gray-100",children:[s.jsx(Dr,{className:"h-4 w-4 animate-spin text-blue-300","aria-hidden":"true"}),s.jsx("span",{children:r})]})}):e==="connect"?s.jsx("div",{className:"absolute inset-0 z-20 flex items-center justify-center bg-gray-950/90 p-6",children:s.jsxs("div",{className:"flex w-full max-w-md flex-col items-center gap-3 text-center",children:[s.jsxs("button",{type:"button",onClick:o,className:"pointer-events-auto inline-flex min-h-12 w-full max-w-xs cursor-pointer items-center justify-center gap-2 rounded-md bg-emerald-600 px-5 py-3 text-base font-semibold text-white shadow-lg shadow-emerald-950/30 transition-colors hover:bg-emerald-500 focus:outline-none focus:ring-2 focus:ring-emerald-300 focus:ring-offset-2 focus:ring-offset-gray-950 active:bg-emerald-700",title:a,children:[s.jsx(Xi,{className:"h-4 w-4","aria-hidden":"true"}),s.jsx("span",{className:"min-w-0 truncate",children:n})]}),s.jsx("p",{className:"max-w-md break-words px-2 text-sm leading-6 text-gray-300",children:t})]})}):s.jsx("div",{className:"absolute inset-0 z-20 flex items-center justify-center bg-gray-950/90 p-6",children:s.jsxs("div",{className:"flex w-full max-w-md flex-col items-center gap-3 text-center",children:[s.jsxs("div",{className:"flex items-center justify-center gap-3 text-yellow-300",children:[s.jsx(Dr,{className:"h-5 w-5 animate-spin","aria-hidden":"true"}),s.jsx("span",{className:"text-base font-medium",children:i})]}),s.jsx("p",{className:"max-w-md break-words px-2 text-sm leading-6 text-gray-300",children:t})]})})}function ZM({title:e,description:t}){return s.jsx("div",{className:"flex h-full items-center justify-center",children:s.jsxs("div",{className:"text-center text-gray-500 dark:text-gray-400",children:[s.jsx("div",{className:"mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-gray-100 dark:bg-gray-800",children:s.jsx("svg",{className:"h-8 w-8 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:s.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v14a2 2 0 002 2z"})})}),s.jsx("h3",{className:"mb-2 text-lg font-semibold",children:e}),s.jsx("p",{children:t})]})})}function XM({isConnected:e,isInitialized:t,isRestarting:r,hasSession:n,sessionDisplayNameShort:a,onDisconnect:i,onRestart:o,statusNewSessionText:l,statusInitializingText:c,statusRestartingText:u,disconnectLabel:d,disconnectTitle:p,restartLabel:h,restartTitle:m,disableRestart:g}){return s.jsx("div",{className:"flex-shrink-0 border-b border-gray-700 bg-gray-800 px-4 py-2",children:s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsxs("div",{className:"flex items-center space-x-2",children:[s.jsx("div",{className:`h-2 w-2 rounded-full ${e?"bg-green-500":"bg-red-500"}`}),n&&a&&s.jsxs("span",{className:"text-xs text-blue-300",children:["(",a,"...)"]}),!n&&s.jsx("span",{className:"text-xs text-gray-400",children:l}),!t&&s.jsx("span",{className:"text-xs text-yellow-400",children:c}),r&&s.jsx("span",{className:"text-xs text-blue-400",children:u})]}),s.jsxs("div",{className:"flex items-center gap-2",children:[e&&s.jsxs("button",{type:"button",onClick:i,className:"inline-flex h-8 items-center gap-1.5 rounded-md bg-red-600 px-3 text-xs font-medium text-white transition-colors hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-red-400/70 focus:ring-offset-2 focus:ring-offset-gray-800",title:p,children:[s.jsx(At,{className:"h-3.5 w-3.5","aria-hidden":"true"}),s.jsx("span",{children:d})]}),s.jsxs("button",{type:"button",onClick:o,disabled:g,className:"inline-flex h-8 items-center gap-1.5 rounded-md border border-gray-600/80 bg-gray-700/70 px-3 text-xs font-medium text-gray-100 transition-colors hover:border-blue-400/70 hover:bg-blue-600/80 hover:text-white focus:outline-none focus:ring-2 focus:ring-blue-400/70 focus:ring-offset-2 focus:ring-offset-gray-800 disabled:cursor-not-allowed disabled:border-transparent disabled:bg-transparent disabled:text-gray-500 disabled:opacity-60",title:m,children:[s.jsx(Xi,{className:`h-3.5 w-3.5 ${r?"animate-spin":""}`,"aria-hidden":"true"}),s.jsx("span",{children:h})]})]})]})})}function JM({terminalContainerRef:e,authUrl:t,authUrlVersion:r,initialCommand:n,isConnected:a,openAuthUrlInBrowser:i,copyAuthUrlToClipboard:o}){const[l,c]=f.useState("idle"),[u,d]=f.useState(!1),p=f.useMemo(()=>GM(n,t),[t,n]);f.useEffect(()=>{c("idle"),d(!1)},[r,p,a]);const h=!!p,m=h&&!u,g=h&&u;return s.jsxs("div",{className:"relative h-full w-full bg-gray-900",children:[s.jsx("div",{ref:e,className:"h-full w-full focus:outline-none",style:{outline:"none"}}),m&&s.jsx("div",{className:"absolute inset-x-0 bottom-14 z-20 border-t border-gray-700/80 bg-gray-900/95 p-3 backdrop-blur-sm md:hidden",children:s.jsxs("div",{className:"flex flex-col gap-2",children:[s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsx("p",{className:"text-xs text-gray-300",children:"Open or copy the login URL:"}),s.jsx("button",{type:"button",onClick:()=>d(!0),className:"rounded bg-gray-700 px-2 py-1 text-[10px] font-medium uppercase tracking-wide text-gray-100 hover:bg-gray-600",children:"Hide"})]}),s.jsx("input",{type:"text",value:p,readOnly:!0,onClick:b=>b.currentTarget.select(),className:"w-full rounded border border-gray-600 bg-gray-800 px-2 py-1 text-xs text-gray-100 focus:outline-none focus:ring-1 focus:ring-blue-500","aria-label":"Authentication URL"}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("button",{type:"button",onClick:()=>{i(p)},className:"flex-1 rounded bg-blue-600 px-3 py-2 text-xs font-medium text-white hover:bg-blue-700",children:"Open URL"}),s.jsx("button",{type:"button",onClick:async()=>{const b=await o(p);c(b?"copied":"failed")},className:"flex-1 rounded bg-gray-700 px-3 py-2 text-xs font-medium text-white hover:bg-gray-600",children:l==="copied"?"Copied":"Copy URL"})]})]})}),g&&s.jsx("div",{className:"absolute bottom-14 right-3 z-20 md:hidden",children:s.jsx("button",{type:"button",onClick:()=>d(!1),className:"rounded bg-gray-800/95 px-3 py-2 text-xs font-medium text-gray-100 shadow-lg backdrop-blur-sm hover:bg-gray-700",children:"Show login URL"})})]})}const QM=[{type:"key",id:"esc",label:"Esc",sequence:"\x1B"},{type:"key",id:"tab",label:"Tab",sequence:" "},{type:"key",id:"shift-tab",label:"⇧Tab",sequence:"\x1B[Z"},{type:"modifier",id:"ctrl",label:"CTRL",modifier:"ctrl"},{type:"modifier",id:"alt",label:"ALT",modifier:"alt"},{type:"arrow",id:"arrow-up",sequence:"\x1B[A",icon:"up"},{type:"arrow",id:"arrow-down",sequence:"\x1B[B",icon:"down"},{type:"arrow",id:"arrow-left",sequence:"\x1B[D",icon:"left"},{type:"arrow",id:"arrow-right",sequence:"\x1B[C",icon:"right"}],eO={up:FT,down:mc,left:QR,right:Cb},vs=e=>e.preventDefault(),$y="shrink-0 rounded-md border border-gray-600 bg-gray-700 px-2.5 py-1.5 text-xs font-medium text-gray-100 transition-colors select-none active:bg-blue-600 active:text-white active:border-blue-600 disabled:cursor-not-allowed disabled:opacity-40",tO="shrink-0 rounded-md border border-blue-500 bg-blue-600 px-2.5 py-1.5 text-xs font-medium text-white transition-colors select-none disabled:cursor-not-allowed disabled:opacity-40",eu="shrink-0 rounded-md border border-gray-600 bg-gray-700 p-1.5 text-gray-100 transition-colors select-none active:bg-blue-600 active:text-white active:border-blue-600 disabled:cursor-not-allowed disabled:opacity-40";function Uy({wsRef:e,terminalRef:t,isConnected:r,bottomOffset:n="bottom-0"}){const{t:a}=Ge("settings"),[i,o]=f.useState(!1),[l,c]=f.useState(!1),u=f.useCallback(m=>{qa(e.current,{type:"input",data:m})},[e]),d=f.useCallback(()=>{t.current?.scrollToBottom()},[t]),p=f.useCallback(async()=>{if(!(typeof navigator>"u"||!navigator.clipboard?.readText))try{const m=await navigator.clipboard.readText();m.length>0&&u(m)}catch{}},[u]),h=f.useCallback(m=>{let g=m;if(i&&m.length===1){const b=m.toLowerCase().charCodeAt(0);b>=97&&b<=122&&(g=String.fromCharCode(b-96)),o(!1)}l&&m.length===1&&(g="\x1B"+g,c(!1)),u(g)},[i,l,u]);return s.jsx("div",{className:`pointer-events-none fixed inset-x-0 ${n} z-20 px-2 md:hidden`,children:s.jsxs("div",{className:"pointer-events-auto flex items-center gap-1 overflow-x-auto rounded-lg border border-gray-700/80 bg-gray-900/95 px-1.5 py-1.5 shadow-lg backdrop-blur-sm [-webkit-overflow-scrolling:touch] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",children:[s.jsx("button",{type:"button",onPointerDown:vs,onClick:()=>{p()},disabled:!r,className:eu,title:a("terminalShortcuts.paste",{defaultValue:"Paste"}),"aria-label":a("terminalShortcuts.paste",{defaultValue:"Paste"}),children:s.jsx(GT,{className:"h-4 w-4"})}),QM.map(m=>{if(m.type==="modifier"){const g=m.modifier==="ctrl"?i:l,b=m.modifier==="ctrl"?()=>o(x=>!x):()=>c(x=>!x);return s.jsx("button",{type:"button",onPointerDown:vs,onClick:b,disabled:!r,className:g?tO:$y,children:m.label},m.id)}if(m.type==="arrow"){const g=eO[m.icon];return s.jsx("button",{type:"button",onPointerDown:vs,onClick:()=>u(m.sequence),disabled:!r,className:eu,children:s.jsx(g,{className:"h-4 w-4"})},m.id)}return s.jsx("button",{type:"button",onPointerDown:vs,onClick:()=>h(m.sequence),disabled:!r,className:$y,children:m.label},m.id)}),s.jsx("button",{type:"button",onPointerDown:vs,onClick:d,disabled:!r,className:eu,title:a("terminalShortcuts.scrollDown"),"aria-label":a("terminalShortcuts.scrollDown"),children:s.jsx(PT,{className:"h-4 w-4"})})]})})}function l5({selectedProject:e=null,selectedSession:t=null,initialCommand:r=null,isPlainShell:n=!1,onProcessComplete:a=null,minimal:i=!1,autoConnect:o=!1,isActive:l=!0}){const{t:c}=Ge("chat"),[u,d]=f.useState(!1),[p,h]=f.useState(null),m=f.useRef(null),g=f.useRef(null),b=f.useRef(!1),x=f.useRef(null),{terminalContainerRef:y,terminalRef:k,wsRef:w,isConnected:E,isInitialized:N,isConnecting:v,authUrl:C,authUrlVersion:A,connectToShell:T,disconnectFromShell:I,openAuthUrlInBrowser:O,copyAuthUrlToClipboard:j}=KM({selectedProject:e,selectedSession:t,initialCommand:r,isPlainShell:n,minimal:i,autoConnect:o,isRestarting:u,onProcessComplete:a,onOutputRef:x}),L=f.useCallback(()=>{const Y=k.current;if(!Y)return;const oe=Y.buffer.active,J=oe.baseY+oe.cursorY,de=Math.min(oe.baseY+oe.length-1,J+10),me=Math.max(0,J-TM),fe=[];for(let ae=me;ae<=de;ae++){const se=oe.getLine(ae);se&&fe.push(se.translateToString().trimEnd())}let Se=-1;for(let ae=fe.length-1;ae>=0;ae--)if(/esc to cancel/i.test(fe[ae])||/enter to select/i.test(fe[ae])){Se=ae;break}if(Se===-1){h(null);return}const Re=new Map,Ie=Math.max(0,Se-AM);for(let ae=Se-1;ae>=Ie;ae--){const se=fe[ae].match(/^\s*[❯›>]?\s*(\d+)\.\s+(.+)/);if(se){const Z=se[1],H=se[2].trim();parseInt(Z,10)<=IM&&H.length>0&&!Re.has(Z)&&Re.set(Z,H)}}const P=[];for(let ae=1;ae<=Re.size&&Re.has(String(ae));ae++)P.push({number:String(ae),label:Re.get(String(ae))});h(P.length>=jM?P:null)},[k]),S=f.useCallback(()=>{m.current&&clearTimeout(m.current),m.current=setTimeout(L,NM)},[L]);f.useEffect(()=>{x.current=S},[S]),f.useEffect(()=>()=>{m.current&&clearTimeout(m.current),g.current&&clearTimeout(g.current)},[]),f.useEffect(()=>{E||(m.current&&(clearTimeout(m.current),m.current=null),h(null))},[E]),f.useEffect(()=>{if(!l||!N||!E)return;const Y=()=>{k.current?.focus()},oe=window.requestAnimationFrame(Y),J=window.setTimeout(Y,0);return()=>{window.cancelAnimationFrame(oe),window.clearTimeout(J)}},[l,E,N,k]);const B=f.useCallback(Y=>{qa(w.current,{type:"input",data:Y})},[w]),V=f.useMemo(()=>qM(t),[t]),q=f.useMemo(()=>V?V.slice(0,30):null,[V]),$=f.useMemo(()=>V?V.slice(0,50):null,[V]),G=f.useCallback(()=>{b.current=!0,d(!0),g.current&&clearTimeout(g.current),g.current=setTimeout(()=>{d(!1),g.current=null},EM)},[]),R=f.useCallback(()=>{b.current=!1,g.current&&(clearTimeout(g.current),g.current=null),d(!1),I({suppressAutoConnect:!0})},[I]);if(f.useEffect(()=>{!b.current||u||!N||E||v||(b.current=!1,T({forceRestart:!0}))},[T,E,v,N,u]),!e)return s.jsx(ZM,{title:c("shell.selectProject.title"),description:c("shell.selectProject.description")});if(i)return s.jsxs(s.Fragment,{children:[s.jsx(JM,{terminalContainerRef:y,authUrl:C,authUrlVersion:A,initialCommand:r,isConnected:E,openAuthUrlInBrowser:O,copyAuthUrlToClipboard:j}),s.jsx(Uy,{wsRef:w,terminalRef:k,isConnected:E,bottomOffset:"bottom-0"})]});const z=n?c("shell.runCommand",{command:r||c("shell.defaultCommand"),projectName:e.displayName}):t?c("shell.resumeSession",{displayName:$}):c("shell.startSession"),M=n?c("shell.runCommand",{command:r||c("shell.defaultCommand"),projectName:e.displayName}):c("shell.startCli",{projectName:e.displayName}),F=N?v?"connecting":E?null:"connect":"loading",K=F==="connecting"?M:z;return s.jsxs("div",{className:"flex h-full w-full flex-col bg-gray-900",children:[s.jsx(XM,{isConnected:E,isInitialized:N,isRestarting:u,hasSession:!!t,sessionDisplayNameShort:q,onDisconnect:R,onRestart:G,statusNewSessionText:c("shell.status.newSession"),statusInitializingText:c("shell.status.initializing"),statusRestartingText:c("shell.status.restarting"),disconnectLabel:c("shell.actions.disconnect"),disconnectTitle:c("shell.actions.disconnectTitle"),restartLabel:c("shell.actions.restart"),restartTitle:c("shell.actions.restartTitle"),disableRestart:u||!N}),s.jsxs("div",{className:"relative flex-1 overflow-hidden p-2",children:[s.jsx("div",{ref:y,className:"h-full w-full focus:outline-none",style:{outline:"none"}}),F&&s.jsx(YM,{mode:F,description:K,loadingLabel:c("shell.loading"),connectLabel:c("shell.actions.connect"),connectTitle:c("shell.actions.connectTitle"),connectingLabel:c("shell.connecting"),onConnect:G}),p&&E&&s.jsx("div",{className:"absolute inset-x-0 bottom-0 z-10 border-t border-gray-700/80 bg-gray-800/95 px-3 py-2 backdrop-blur-sm",onMouseDown:Y=>Y.preventDefault(),children:s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[p.map(Y=>s.jsxs("button",{type:"button",onClick:()=>{B(Y.number),h(null)},className:"max-w-36 truncate rounded bg-blue-600 px-3 py-1.5 text-xs font-medium text-white transition-colors hover:bg-blue-700",title:`${Y.number}. ${Y.label}`,children:[Y.number,". ",Y.label]},Y.number)),s.jsx("button",{type:"button",onClick:()=>{B("\x1B"),h(null)},className:"rounded bg-gray-700 px-3 py-1.5 text-xs font-medium text-gray-200 transition-colors hover:bg-gray-600",children:"Esc"})]})})]}),s.jsx(Uy,{wsRef:w,terminalRef:k,isConnected:E})]})}function rO({className:e}){return s.jsx("div",{className:`flex h-full items-center justify-center ${e}`,children:s.jsxs("div",{className:"text-center text-gray-500 dark:text-gray-400",children:[s.jsx("div",{className:"mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-gray-100 dark:bg-gray-800",children:s.jsx("svg",{className:"h-8 w-8 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:s.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 002 2z"})})}),s.jsx("h3",{className:"mb-2 text-lg font-semibold",children:"No Project Selected"}),s.jsx("p",{children:"A project is required to open a shell"})]})})}function nO({title:e,isCompleted:t,onClose:r=null}){return s.jsx("div",{className:"flex-shrink-0 border-b border-gray-700 bg-gray-800 px-4 py-2",children:s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsxs("div",{className:"flex items-center space-x-2",children:[s.jsx("h3",{className:"text-sm font-medium text-gray-200",children:e}),t&&s.jsx("span",{className:"text-xs text-green-400",children:"(Completed)"})]}),r&&s.jsx("button",{onClick:r,className:"text-gray-400 hover:text-white",title:"Close",children:s.jsx("svg",{className:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:s.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})})}function c5({project:e=null,session:t=null,command:r=null,isPlainShell:n=null,isActive:a=!0,autoConnect:i=!0,onComplete:o=null,onClose:l=null,title:c=null,className:u="",showHeader:d=!0,compact:p=!1,minimal:h=!1}){const[m,g]=f.useState(!1),b=n!==null?n:r!==null,x=f.useCallback(y=>{g(!0),o?.(y)},[o]);return e?s.jsxs("div",{className:`flex h-full w-full flex-col ${u}`,children:[!h&&d&&c&&s.jsx(nO,{title:c,isCompleted:m,onClose:l}),s.jsx("div",{className:"min-h-0 w-full flex-1",children:s.jsx(l5,{selectedProject:e,selectedSession:t,initialCommand:r,isPlainShell:b,isActive:a,onProcessComplete:x,minimal:h,autoConnect:h?!0:i})})]}):s.jsx(rO,{className:u})}const aO=({provider:e,customCommand:t,isAuthenticated:r})=>t||(e==="claude"?"claude --dangerously-skip-permissions /login":e==="cursor"?"cursor-agent login":e==="codex"?"codex login":e==="opencode"?"opencode auth login":"gemini status"),iO=e=>e==="claude"?"Claude CLI Login":e==="cursor"?"Cursor CLI Login":e==="codex"?"Codex CLI Login":e==="opencode"?"OpenCode CLI Login":"Gemini CLI Configuration";function u5({isOpen:e,onClose:t,provider:r="claude",onComplete:n,customCommand:a,isAuthenticated:i=!1}){if(!e)return null;const o=aO({provider:r,customCommand:a,isAuthenticated:i}),l=iO(r),c=u=>{n?.(u)};return s.jsx("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black bg-opacity-50 max-md:items-stretch max-md:justify-stretch",children:s.jsxs("div",{className:"flex h-3/4 w-full max-w-4xl flex-col rounded-lg bg-white shadow-xl dark:bg-gray-800 max-md:m-0 max-md:h-full max-md:max-w-none max-md:rounded-none md:m-4 md:h-3/4 md:max-w-4xl md:rounded-lg",children:[s.jsxs("div",{className:"flex items-center justify-between border-b border-gray-200 p-4 dark:border-gray-700",children:[s.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:l}),s.jsx("button",{onClick:t,className:"text-gray-400 transition-colors hover:text-gray-600 dark:hover:text-gray-300","aria-label":"Close login modal",children:s.jsx(At,{className:"h-6 w-6"})})]}),s.jsx("div",{className:"flex-1 overflow-hidden",children:r==="gemini"?s.jsxs("div",{className:"flex h-full flex-col items-center justify-center bg-gray-50 p-8 text-center dark:bg-gray-900/50",children:[s.jsx("div",{className:"mb-6 flex h-16 w-16 items-center justify-center rounded-full bg-blue-100 dark:bg-blue-900/30",children:s.jsx(VT,{className:"h-8 w-8 text-blue-600 dark:text-blue-400"})}),s.jsx("h4",{className:"mb-3 text-xl font-medium text-gray-900 dark:text-white",children:"Setup Gemini API Access"}),s.jsx("p",{className:"mb-8 max-w-md text-gray-600 dark:text-gray-400",children:"The Gemini CLI requires an API key to function. Configure it in your terminal first."}),s.jsx("div",{className:"w-full max-w-lg rounded-xl border border-gray-200 bg-white p-6 text-left shadow-sm dark:border-gray-700 dark:bg-gray-800",children:s.jsxs("ol",{className:"space-y-4",children:[s.jsxs("li",{className:"flex gap-4",children:[s.jsx("div",{className:"flex h-6 w-6 flex-shrink-0 items-center justify-center rounded-full bg-blue-100 text-sm font-medium text-blue-600 dark:bg-blue-900/50 dark:text-blue-400",children:"1"}),s.jsxs("div",{children:[s.jsx("p",{className:"mb-1 text-sm font-medium text-gray-900 dark:text-white",children:"Get your API key"}),s.jsxs("a",{href:"https://aistudio.google.com/app/apikey",target:"_blank",rel:"noreferrer",className:"flex inline-flex items-center gap-1 text-sm text-blue-600 hover:underline dark:text-blue-400",children:["Google AI Studio ",s.jsx(yn,{className:"h-3 w-3"})]})]})]}),s.jsxs("li",{className:"flex gap-4",children:[s.jsx("div",{className:"flex h-6 w-6 flex-shrink-0 items-center justify-center rounded-full bg-blue-100 text-sm font-medium text-blue-600 dark:bg-blue-900/50 dark:text-blue-400",children:"2"}),s.jsxs("div",{children:[s.jsx("p",{className:"mb-1 text-sm font-medium text-gray-900 dark:text-white",children:"Run configuration"}),s.jsx("p",{className:"mb-2 text-sm text-gray-600 dark:text-gray-400",children:"Open your terminal and run:"}),s.jsx("code",{className:"block rounded bg-gray-100 px-3 py-2 font-mono text-sm text-pink-600 dark:bg-gray-900 dark:text-pink-400",children:"gemini config set api_key YOUR_KEY"})]})]})]})}),s.jsx("button",{onClick:t,className:"mt-8 rounded-lg bg-blue-600 px-6 py-2.5 font-medium text-white transition-colors hover:bg-blue-700",children:"Done"})]}):s.jsx(c5,{project:FR,command:o,onComplete:c,minimal:!0})})]})})}const sO=({className:e="w-5 h-5"})=>s.jsx("img",{src:"/icons/claude-ai-icon.svg",alt:"Claude",className:e}),oO=({className:e="w-5 h-5"})=>{const{isDarkMode:t}=ei();return s.jsx("img",{src:t?"/icons/codex-white.svg":"/icons/codex.svg",alt:"Codex",className:e})},lO=({className:e="w-5 h-5"})=>{const{isDarkMode:t}=ei();return s.jsx("img",{src:t?"/icons/cursor-white.svg":"/icons/cursor.svg",alt:"Cursor",className:e})},cO=({className:e="w-5 h-5"})=>s.jsx("img",{src:"/icons/gemini-ai-icon.svg",alt:"Gemini",className:e}),uO=({className:e="w-5 h-5"})=>s.jsxs("svg",{viewBox:"0 0 24 24",role:"img","aria-label":"OpenCode",className:e,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[s.jsx("rect",{x:"2.5",y:"2.5",width:"19",height:"19",rx:"4",className:"fill-foreground"}),s.jsx("path",{d:"M8.1 8.1 4.9 12l3.2 3.9M15.9 8.1l3.2 3.9-3.2 3.9M13.2 6.9l-2.4 10.2",className:"stroke-background",strokeWidth:"1.9",strokeLinecap:"round",strokeLinejoin:"round"})]});function pn({provider:e="claude",className:t="w-5 h-5"}){return e==="cursor"?s.jsx(lO,{className:t}):e==="codex"?s.jsx(oO,{className:t}):e==="gemini"?s.jsx(cO,{className:t}):e==="opencode"?s.jsx(uO,{className:t}):s.jsx(sO,{className:t})}function dO({provider:e,title:t,status:r,connectedClassName:n,iconContainerClassName:a,loginButtonClassName:i,onLogin:o}){const l=r.authenticated?n:"border-border bg-card",c=r.loading?"Checking...":r.authenticated?r.email||"Connected":r.error||"Not connected";return s.jsx("div",{className:`rounded-lg border p-4 transition-colors ${l}`,children:s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("div",{className:`flex h-10 w-10 items-center justify-center rounded-full ${a}`,children:s.jsx(pn,{provider:e,className:"h-5 w-5"})}),s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center gap-2 font-medium text-foreground",children:[t,r.authenticated&&s.jsx(fr,{className:"h-4 w-4 text-green-500"})]}),s.jsx("div",{className:"text-xs text-muted-foreground",children:c})]})]}),!r.authenticated&&!r.loading&&s.jsx("button",{onClick:o,className:`${i} rounded-lg px-4 py-2 text-sm font-medium text-white transition-colors`,children:"Login"})]})})}const pO=[{provider:"claude",title:"Claude Code",connectedClassName:"bg-blue-50 dark:bg-blue-900/20 border-blue-200 dark:border-blue-800",iconContainerClassName:"bg-blue-100 dark:bg-blue-900/30",loginButtonClassName:"bg-blue-600 hover:bg-blue-700"},{provider:"cursor",title:"Cursor",connectedClassName:"bg-purple-50 dark:bg-purple-900/20 border-purple-200 dark:border-purple-800",iconContainerClassName:"bg-purple-100 dark:bg-purple-900/30",loginButtonClassName:"bg-purple-600 hover:bg-purple-700"},{provider:"codex",title:"OpenAI Codex",connectedClassName:"bg-gray-100 dark:bg-gray-800/50 border-gray-300 dark:border-gray-600",iconContainerClassName:"bg-gray-100 dark:bg-gray-800",loginButtonClassName:"bg-gray-800 hover:bg-gray-900 dark:bg-gray-700 dark:hover:bg-gray-600"},{provider:"gemini",title:"Gemini",connectedClassName:"bg-teal-50 dark:bg-teal-900/20 border-teal-200 dark:border-teal-800",iconContainerClassName:"bg-teal-100 dark:bg-teal-900/30",loginButtonClassName:"bg-teal-600 hover:bg-teal-700"},{provider:"opencode",title:"OpenCode",connectedClassName:"bg-zinc-100 dark:bg-zinc-800/50 border-zinc-300 dark:border-zinc-600",iconContainerClassName:"bg-zinc-100 dark:bg-zinc-800",loginButtonClassName:"bg-zinc-800 hover:bg-zinc-900 dark:bg-zinc-700 dark:hover:bg-zinc-600"}];function mO({providerStatuses:e,onOpenProviderLogin:t}){return s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{className:"mb-6 text-center",children:[s.jsx("h2",{className:"mb-2 text-2xl font-bold text-foreground",children:"Connect Your AI Agents"}),s.jsx("p",{className:"text-muted-foreground",children:"Login to one or more AI coding assistants. All are optional."})]}),s.jsx("div",{className:"space-y-3",children:pO.map(r=>s.jsx(dO,{provider:r.provider,title:r.title,status:e[r.provider],connectedClassName:r.connectedClassName,iconContainerClassName:r.iconContainerClassName,loginButtonClassName:r.loginButtonClassName,onLogin:()=>t(r.provider)},r.provider))}),s.jsx("div",{className:"pt-2 text-center text-sm text-muted-foreground",children:s.jsx("p",{children:"You can configure these later in Settings."})})]})}function hO({gitName:e,gitEmail:t,isSubmitting:r,onGitNameChange:n,onGitEmailChange:a}){return s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{className:"mb-8 text-center",children:[s.jsx("div",{className:"mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-blue-100 dark:bg-blue-900/30",children:s.jsx(Hr,{className:"h-8 w-8 text-blue-600 dark:text-blue-400"})}),s.jsx("h2",{className:"mb-2 text-2xl font-bold text-foreground",children:"Git Configuration"}),s.jsx("p",{className:"text-muted-foreground",children:"Configure your git identity to ensure proper attribution for commits."})]}),s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{children:[s.jsxs("label",{htmlFor:"gitName",className:"mb-2 flex items-center gap-2 text-sm font-medium text-foreground",children:[s.jsx(t5,{className:"h-4 w-4"}),"Git Name ",s.jsx("span",{className:"text-red-500",children:"*"})]}),s.jsx("input",{type:"text",id:"gitName",value:e,onChange:i=>n(i.target.value),className:"w-full rounded-lg border border-border bg-background px-4 py-3 text-foreground focus:border-transparent focus:outline-none focus:ring-2 focus:ring-blue-500",placeholder:"John Doe",required:!0,disabled:r}),s.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"Saved as `git config --global user.name`."})]}),s.jsxs("div",{children:[s.jsxs("label",{htmlFor:"gitEmail",className:"mb-2 flex items-center gap-2 text-sm font-medium text-foreground",children:[s.jsx(Z8,{className:"h-4 w-4"}),"Git Email ",s.jsx("span",{className:"text-red-500",children:"*"})]}),s.jsx("input",{type:"email",id:"gitEmail",value:t,onChange:i=>a(i.target.value),className:"w-full rounded-lg border border-border bg-background px-4 py-3 text-foreground focus:border-transparent focus:outline-none focus:ring-2 focus:ring-blue-500",placeholder:"john@example.com",required:!0,disabled:r}),s.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"Saved as `git config --global user.email`."})]})]})]})}const Gy=[{title:"Git Configuration",icon:Hr,required:!0},{title:"Connect Agents",icon:ZT,required:!1}];function fO({currentStep:e}){return s.jsx("div",{className:"mb-8",children:s.jsx("div",{className:"flex items-center justify-between",children:Gy.map((t,r)=>{const n=r<e,a=r===e,i=t.icon;return s.jsxs("div",{className:"contents",children:[s.jsxs("div",{className:"flex flex-1 flex-col items-center",children:[s.jsx("div",{className:`flex h-12 w-12 items-center justify-center rounded-full border-2 transition-colors duration-200 ${n?"border-green-500 bg-green-500 text-white":a?"border-blue-600 bg-blue-600 text-white":"border-border bg-background text-muted-foreground"}`,children:n?s.jsx(fr,{className:"h-6 w-6"}):s.jsx(i,{className:"h-6 w-6"})}),s.jsxs("div",{className:"mt-2 text-center",children:[s.jsx("p",{className:`text-sm font-medium ${a?"text-foreground":"text-muted-foreground"}`,children:t.title}),t.required&&s.jsx("span",{className:"text-xs text-red-500",children:"Required"})]})]}),r<Gy.length-1&&s.jsx("div",{className:`mx-2 h-0.5 flex-1 transition-colors duration-200 ${n?"bg-green-500":"bg-border"}`})]},t.title)})})})}const qy=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,Hy=async(e,t)=>{try{return(await e.json()).error||t}catch{return t}};function gO({onComplete:e}){const[t,r]=f.useState(0),[n,a]=f.useState(""),[i,o]=f.useState(""),[l,c]=f.useState(!1),[u,d]=f.useState(""),[p,h]=f.useState(null),{providerAuthStatus:m,checkProviderAuthStatus:g,refreshProviderAuthStatuses:b}=a5(),x=f.useRef(void 0),y=f.useCallback(async()=>{try{const A=await je("/api/user/git-config");if(!A.ok)return;const T=await A.json();T.gitName&&a(T.gitName),T.gitEmail&&o(T.gitEmail)}catch(A){console.error("Error loading git config:",A)}},[]);f.useEffect(()=>{y(),b()},[y,b]),f.useEffect(()=>{const A=x.current;x.current=p,A!=null&&p===null&&b()},[p,b]);const k=A=>{h(A)},w=A=>{A===0&&p&&g(p)},E=async()=>{if(d(""),t!==0){r(A=>A+1);return}if(!n.trim()||!i.trim()){d("Both git name and email are required.");return}if(!qy.test(i)){d("Please enter a valid email address.");return}c(!0);try{const A=await je("/api/user/git-config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({gitName:n,gitEmail:i})});if(!A.ok){const T=await Hy(A,"Failed to save git configuration");throw new Error(T)}r(T=>T+1)}catch(A){d(A instanceof Error?A.message:"Failed to save git configuration")}finally{c(!1)}},N=()=>{d(""),r(A=>A-1)},v=async()=>{c(!0),d("");try{const A=await je("/api/user/complete-onboarding",{method:"POST"});if(!A.ok){const T=await Hy(A,"Failed to complete onboarding");throw new Error(T)}await e?.()}catch(A){d(A instanceof Error?A.message:"Failed to complete onboarding")}finally{c(!1)}},C=t===0?!!(n.trim()&&i.trim()&&qy.test(i)):!0;return s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"flex min-h-screen items-center justify-center bg-background p-4",children:s.jsxs("div",{className:"w-full max-w-2xl",children:[s.jsx(fO,{currentStep:t}),s.jsxs("div",{className:"rounded-lg border border-border bg-card p-8 shadow-lg",children:[t===0?s.jsx(hO,{gitName:n,gitEmail:i,isSubmitting:l,onGitNameChange:a,onGitEmailChange:o}):s.jsx(mO,{providerStatuses:m,onOpenProviderLogin:k}),u&&s.jsx("div",{className:"mt-6 rounded-lg border border-red-300 bg-red-100 p-4 dark:border-red-800 dark:bg-red-900/20",children:s.jsx("p",{className:"text-sm text-red-700 dark:text-red-400",children:u})}),s.jsxs("div",{className:"mt-8 flex items-center justify-between border-t border-border pt-6",children:[s.jsxs("button",{onClick:N,disabled:t===0||l,className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-muted-foreground transition-colors duration-200 hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",children:[s.jsx(Tb,{className:"h-4 w-4"}),"Previous"]}),s.jsx("div",{className:"flex items-center gap-3",children:t<1?s.jsx("button",{onClick:E,disabled:!C||l,className:"flex items-center gap-2 rounded-lg bg-blue-600 px-6 py-3 font-medium text-white transition-colors duration-200 hover:bg-blue-700 disabled:cursor-not-allowed disabled:bg-blue-400",children:l?s.jsxs(s.Fragment,{children:[s.jsx(Dr,{className:"h-4 w-4 animate-spin"}),"Saving..."]}):s.jsxs(s.Fragment,{children:["Next",s.jsx(dn,{className:"h-4 w-4"})]})}):s.jsx("button",{onClick:v,disabled:l,className:"flex items-center gap-2 rounded-lg bg-green-600 px-6 py-3 font-medium text-white transition-colors duration-200 hover:bg-green-700 disabled:cursor-not-allowed disabled:bg-green-400",children:l?s.jsxs(s.Fragment,{children:[s.jsx(Dr,{className:"h-4 w-4 animate-spin"}),"Completing..."]}):s.jsxs(s.Fragment,{children:[s.jsx(fr,{className:"h-4 w-4"}),"Complete Setup"]})})})]})]})]})}),p&&s.jsx(u5,{isOpen:!!p,onClose:()=>h(null),provider:p,onComplete:w})]})}const bO=["0s","0.1s","0.2s"];function xO(){return s.jsx("div",{className:"flex min-h-screen items-center justify-center bg-background p-4",children:s.jsxs("div",{className:"text-center",children:[s.jsx("div",{className:"mb-4 flex justify-center",children:s.jsx("div",{className:"flex h-16 w-16 items-center justify-center rounded-lg bg-primary shadow-sm",children:s.jsx(Ln,{className:"h-8 w-8 text-primary-foreground"})})}),s.jsx("h1",{className:"mb-2 text-2xl font-bold text-foreground",children:"CloudCLI"}),s.jsx("div",{className:"flex items-center justify-center space-x-2",children:bO.map(e=>s.jsx("div",{className:"h-2 w-2 animate-bounce rounded-full bg-blue-500",style:{animationDelay:e}},e))}),s.jsx("p",{className:"mt-2 text-muted-foreground",children:"Loading..."})]})})}function d5({errorMessage:e}){return e?s.jsx("div",{className:"rounded-md border border-red-300 bg-red-100 p-3 dark:border-red-800 dark:bg-red-900/20",children:s.jsx("p",{className:"text-sm text-red-700 dark:text-red-400",children:e})}):null}function Vs({id:e,label:t,value:r,onChange:n,placeholder:a,isDisabled:i,type:o="text",name:l,autoComplete:c}){return s.jsxs("div",{children:[s.jsx("label",{htmlFor:e,className:"mb-1 block text-sm font-medium text-foreground",children:t}),s.jsx("input",{id:e,type:o,name:l??e,autoComplete:c,value:r,onChange:u=>n(u.target.value),className:"w-full rounded-md border border-border bg-background px-3 py-2 text-foreground focus:border-transparent focus:outline-none focus:ring-2 focus:ring-blue-500",placeholder:a,required:!0,disabled:i})]})}function p5({title:e,description:t,children:r,footerText:n,logo:a}){return s.jsx("div",{className:"flex min-h-screen items-center justify-center bg-background p-4",children:s.jsx("div",{className:"w-full max-w-md",children:s.jsxs("div",{className:"space-y-6 rounded-lg border border-border bg-card p-8 shadow-lg",children:[s.jsxs("div",{className:"text-center",children:[s.jsx("div",{className:"mb-4 flex justify-center",children:a??s.jsx("div",{className:"flex h-16 w-16 items-center justify-center rounded-lg bg-primary shadow-sm",children:s.jsx(Ln,{className:"h-8 w-8 text-primary-foreground"})})}),s.jsx("h1",{className:"text-2xl font-bold text-foreground",children:e}),s.jsx("p",{className:"mt-2 text-muted-foreground",children:t})]}),r,s.jsx("div",{className:"text-center",children:s.jsx("p",{className:"text-sm text-muted-foreground",children:n})}),s.jsxs("div",{className:"flex items-center justify-center gap-1.5 pt-2",children:[s.jsx("svg",{className:"h-3.5 w-3.5 text-muted-foreground/50",fill:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:s.jsx("path",{d:"M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z"})}),s.jsx("a",{href:"https://github.com/siteboon/claudecodeui",target:"_blank",rel:"noopener noreferrer",className:"text-xs text-muted-foreground/50 transition-colors hover:text-muted-foreground",children:"CloudCLI is open source"})]})]})})})}const yO={username:"",password:""};function vO(){const{t:e}=Ge("auth"),{login:t}=mo(),[r,n]=f.useState(yO),[a,i]=f.useState(""),[o,l]=f.useState(!1),c=f.useCallback((d,p)=>{n(h=>({...h,[d]:p}))},[]),u=f.useCallback(async d=>{if(d.preventDefault(),i(""),!r.username.trim()||!r.password){i(e("login.errors.requiredFields"));return}l(!0);const p=await t(r.username.trim(),r.password);p.success||i(p.error),l(!1)},[r.password,r.username,t,e]);return s.jsx(p5,{title:e("login.title"),description:e("login.description"),footerText:"Enter your credentials to access CloudCLI",children:s.jsxs("form",{onSubmit:u,className:"space-y-4",children:[s.jsx(Vs,{id:"username",label:e("login.username"),value:r.username,onChange:d=>c("username",d),placeholder:e("login.placeholders.username"),isDisabled:o,autoComplete:"username"}),s.jsx(Vs,{id:"password",label:e("login.password"),value:r.password,onChange:d=>c("password",d),placeholder:e("login.placeholders.password"),isDisabled:o,type:"password",autoComplete:"current-password"}),s.jsx(d5,{errorMessage:a}),s.jsx("button",{type:"submit",disabled:o,className:"w-full rounded-md bg-blue-600 px-4 py-2 font-medium text-white transition-colors duration-200 hover:bg-blue-700 disabled:bg-blue-400",children:e(o?"login.loading":"login.submit")})]})})}const kO={username:"",password:"",confirmPassword:""};function wO(e){return!e.username.trim()||!e.password||!e.confirmPassword?"Please fill in all fields.":e.username.trim().length<3?"Username must be at least 3 characters long.":e.password.length<6?"Password must be at least 6 characters long.":e.password!==e.confirmPassword?"Passwords do not match.":null}function SO(){const{register:e}=mo(),[t,r]=f.useState(kO),[n,a]=f.useState(""),[i,o]=f.useState(!1),l=f.useCallback((u,d)=>{r(p=>({...p,[u]:d}))},[]),c=f.useCallback(async u=>{u.preventDefault(),a("");const d=wO(t);if(d){a(d);return}o(!0);const p=await e(t.username.trim(),t.password);p.success||a(p.error),o(!1)},[t,e]);return s.jsx(p5,{title:"Welcome to CloudCLI",description:"Set up your account to get started",footerText:"This is a single-user system. Only one account can be created.",logo:s.jsx("img",{src:"/logo.svg",alt:"CloudCLI",className:"h-16 w-16"}),children:s.jsxs("form",{onSubmit:c,className:"space-y-4",children:[s.jsx(Vs,{id:"username",name:"username",label:"Username",value:t.username,onChange:u=>l("username",u),placeholder:"Enter your username",isDisabled:i,autoComplete:"username"}),s.jsx(Vs,{id:"password",name:"password",label:"Password",value:t.password,onChange:u=>l("password",u),placeholder:"Enter your password",isDisabled:i,type:"password",autoComplete:"new-password"}),s.jsx(Vs,{id:"confirmPassword",name:"confirmPassword",label:"Confirm Password",value:t.confirmPassword,onChange:u=>l("confirmPassword",u),placeholder:"Confirm your password",isDisabled:i,type:"password",autoComplete:"new-password"}),s.jsx(d5,{errorMessage:n}),s.jsx("button",{type:"submit",disabled:i,className:"w-full rounded-md bg-blue-600 px-4 py-2 font-medium text-white transition-colors duration-200 hover:bg-blue-700 disabled:bg-blue-400",children:i?"Setting up...":"Create Account"})]})})}function EO({children:e}){const{user:t,isLoading:r,needsSetup:n,hasCompletedOnboarding:a,refreshOnboardingStatus:i}=mo();return r?s.jsx(xO,{}):n?s.jsx(SO,{}):t?a?s.jsx(s.Fragment,{children:e}):s.jsx(gO,{onComplete:i}):s.jsx(vO,{})}const m5=f.createContext(null),h5=()=>{const e=f.useContext(m5);if(!e)throw new Error("useWebSocket must be used within a WebSocketProvider");return e},CO=e=>{const t=window.location.protocol==="https:"?"wss:":"ws:";return e?`${t}//${window.location.host}/ws?token=${encodeURIComponent(e)}`:null},NO=()=>{const e=f.useRef(null),t=f.useRef(!1),r=f.useRef(!1),[n,a]=f.useState(null),[i,o]=f.useState(!1),l=f.useRef(null),{token:c}=mo();f.useEffect(()=>(t.current=!1,u(),()=>{t.current=!0,l.current&&clearTimeout(l.current),e.current&&e.current.close()}),[c]);const u=f.useCallback(()=>{if(!t.current)try{const h=CO(c);if(!h)return console.warn("No authentication token found for WebSocket connection");const m=new WebSocket(h);m.onopen=()=>{o(!0),e.current=m,r.current&&a({type:"websocket-reconnected",timestamp:Date.now()}),r.current=!0},m.onmessage=g=>{try{const b=JSON.parse(g.data);a(b)}catch(b){console.error("Error parsing WebSocket message:",b)}},m.onclose=()=>{o(!1),e.current=null,l.current=setTimeout(()=>{t.current||u()},3e3)},m.onerror=g=>{console.error("WebSocket error:",g)}}catch(h){console.error("Error creating WebSocket connection:",h)}},[c]),d=f.useCallback(h=>{const m=e.current;m&&m.readyState===WebSocket.OPEN?m.send(JSON.stringify(h)):console.warn("WebSocket not connected")},[]);return f.useMemo(()=>({ws:e.current,sendMessage:d,latestMessage:n,isConnected:i}),[d,n,i])},TO=({children:e})=>{const t=NO();return s.jsx(m5.Provider,{value:t,children:e})},f5=f.createContext(null);function AO(e,t){return{message:t instanceof Error?t.message:`Failed to ${e}`,context:e,timestamp:new Date().toISOString()}}function pi(e){return{...e,taskMasterConfigured:e.taskmaster?.hasTaskmaster??!1,taskMasterStatus:e.taskmaster?.status??"not-configured",taskCount:Number(e.taskmaster?.metadata?.taskCount??0),completedCount:Number(e.taskmaster?.metadata?.completed??0)}}function IO(e){return e.find(t=>t.status==="pending"||t.status==="in-progress")??null}function jO(e){return e?.type?e.type.startsWith("taskmaster-"):!1}function os(){const e=f.useContext(f5);if(!e)throw new Error("useTaskMaster must be used within a TaskMasterProvider");return e}function _O({children:e}){const{latestMessage:t}=h5(),{user:r,token:n,isLoading:a}=mo(),[i,o]=f.useState([]),[l,c]=f.useState(null),[u,d]=f.useState(null),[p,h]=f.useState(null),[m,g]=f.useState([]),[b,x]=f.useState(null),[y,k]=f.useState(!1),[w,E]=f.useState(!1),[N,v]=f.useState(!1),[C,A]=f.useState(null),T=f.useRef(null),I=f.useRef(null),O=f.useRef(0);f.useEffect(()=>{T.current=l?.projectId??null},[l?.projectId]),f.useEffect(()=>{I.current=u},[u]);const j=f.useCallback(()=>{A(null)},[]),L=f.useCallback((z,M)=>{console.error(`TaskMaster ${z} error:`,M),A(AO(z,M))},[]),S=f.useCallback((z,M)=>{d(M),o(F=>F.map(K=>K.projectId!==z?K:pi({...K,taskmaster:M??void 0}))),c(F=>!F||F.projectId!==z?F:pi({...F,taskmaster:M??void 0}))},[]),B=f.useCallback(async z=>{if(!z||!r||!n)return;const M=++O.current;try{const F=await st.projectTaskmaster(z);if(!F.ok)throw new Error(`Failed to fetch TaskMaster details: ${F.status}`);const Y=(await F.json()).taskmaster??null;if(M!==O.current||T.current!==z)return;S(z,Y)}catch(F){if(M!==O.current||T.current!==z)return;L("load selected project TaskMaster info",F)}},[S,L,n,r]),V=f.useCallback(z=>{const M=z?pi(z):null;if(c(M),d(M?.taskmaster??null),g([]),x(null),!M?.projectId){O.current+=1;return}B(M.projectId)},[B]),q=f.useCallback(async()=>{if(!r||!n){o([]),c(null),d(null),g([]),x(null);return}try{k(!0),j();const z=await st.get("/projects");if(!z.ok)throw new Error(`Failed to fetch projects: ${z.status}`);const M=await z.json(),K=(Array.isArray(M)?M:[]).map(de=>pi(de));o(de=>{const me=new Map(de.filter(fe=>!!fe.taskmaster).map(fe=>[fe.projectId,fe.taskmaster]));return K.map(fe=>{const Se=me.get(fe.projectId);return Se?pi({...fe,taskmaster:Se}):fe})});const Y=T.current;if(!Y)return;const oe=K.find(de=>de.projectId===Y)??null;if(!oe){O.current+=1,c(null),d(null),g([]),x(null);return}const J=oe.taskmaster??I.current??null;c(J?pi({...oe,taskmaster:J}):oe),d(J),B(Y)}catch(z){L("load projects",z)}finally{k(!1)}},[j,L,B,n,r]),$=f.useCallback(async()=>{const z=l?.projectId;if(!z||!r||!n){g([]),x(null);return}try{E(!0),j();const M=await st.get(`/taskmaster/tasks/${encodeURIComponent(z)}`);if(!M.ok){const Y=await M.json();throw new Error(Y.message??"Failed to load tasks")}const F=await M.json(),K=Array.isArray(F.tasks)?F.tasks:[];g(K),x(IO(K))}catch(M){L("load tasks",M),g([]),x(null)}finally{E(!1)}},[j,l?.projectId,L,n,r]),G=f.useCallback(async()=>{if(!r||!n){h(null);return}try{v(!0),j();const z=await st.get("/mcp-utils/taskmaster-server");if(!z.ok)throw new Error(`Failed to load MCP status: ${z.status}`);const M=await z.json();h(M)}catch(z){L("check MCP server status",z),h(null)}finally{v(!1)}},[j,L,n,r]);f.useEffect(()=>{!a&&r&&n&&(q(),G())},[a,G,q,n,r]),f.useEffect(()=>{l?.projectId&&r&&n&&$()},[l?.projectId,$,n,r]),f.useEffect(()=>{const z=t;if(jO(z)){if(z.type==="taskmaster-project-updated"&&z.projectId){z.projectId===T.current&&B(z.projectId),q();return}if(z.type==="taskmaster-tasks-updated"&&z.projectId===l?.projectId){$();return}z.type==="taskmaster-mcp-status-changed"&&G()}},[l?.projectId,t,B,G,q,$]);const R=f.useMemo(()=>({projects:i,currentProject:l,projectTaskMaster:u,mcpServerStatus:p,tasks:m,nextTask:b,isLoading:y,isLoadingTasks:w,isLoadingMCP:N,error:C,refreshProjects:q,setCurrentProject:V,refreshTasks:$,refreshMCPStatus:G,clearError:j}),[j,l,C,y,N,w,p,b,u,i,G,q,$,V,m]);return s.jsx(f5.Provider,{value:R,children:e})}const g5=f.createContext({tasksEnabled:!0,setTasksEnabled:()=>{},toggleTasksEnabled:()=>{},isTaskMasterInstalled:null,isTaskMasterReady:null,installationStatus:null,isCheckingInstallation:!0}),gc=()=>{const e=f.useContext(g5);if(!e)throw new Error("useTasksSettings must be used within a TasksSettingsProvider");return e},RO=({children:e})=>{const[t,r]=f.useState(()=>{const m=localStorage.getItem("tasks-enabled");return m!==null?JSON.parse(m):!0}),[n,a]=f.useState(null),[i,o]=f.useState(null),[l,c]=f.useState(null),[u,d]=f.useState(!0);f.useEffect(()=>{localStorage.setItem("tasks-enabled",JSON.stringify(t))},[t]),f.useEffect(()=>{setTimeout(async()=>{try{const g=await st.get("/taskmaster/installation-status");if(g.ok){const b=await g.json();c(b),a(b.installation?.isInstalled||!1),o(b.isReady||!1);const x=localStorage.getItem("tasks-enabled");!b.installation?.isInstalled&&!x&&r(!1)}else console.error("Failed to check TaskMaster installation status"),a(!1),o(!1)}catch(g){console.error("Error checking TaskMaster installation:",g),a(!1),o(!1)}finally{d(!1)}},0)},[]);const h={tasksEnabled:t,setTasksEnabled:r,toggleTasksEnabled:()=>{r(m=>!m)},isTaskMasterInstalled:n,isTaskMasterReady:i,installationStatus:l,isCheckingInstallation:u};return s.jsx(g5.Provider,{value:h,children:e})},b5=f.createContext(null);function bc(){const e=f.useContext(b5);if(!e)throw new Error("usePlugins must be used within a PluginsProvider");return e}function DO({children:e}){const[t,r]=f.useState([]),[n,a]=f.useState(!0),[i,o]=f.useState(null),l=f.useCallback(async()=>{try{const h=await je("/api/plugins");if(h.ok){const m=await h.json();r(m.plugins||[]),o(null)}else{let m=`Failed to fetch plugins (${h.status})`;try{const g=await h.json();m=g.details||g.error||m}catch{m=h.statusText||m}o(m)}}catch(h){const m=h instanceof Error?h.message:"Failed to fetch plugins";o(m),console.error("[Plugins] Failed to fetch plugins:",h)}finally{a(!1)}},[]);f.useEffect(()=>{l()},[l]);const c=f.useCallback(async h=>{try{const m=await je("/api/plugins/install",{method:"POST",body:JSON.stringify({url:h})}),g=await m.json();return m.ok?(await l(),{success:!0}):{success:!1,error:g.details||g.error||"Install failed"}}catch(m){return{success:!1,error:m instanceof Error?m.message:"Install failed"}}},[l]),u=f.useCallback(async h=>{try{const m=await je(`/api/plugins/${encodeURIComponent(h)}`,{method:"DELETE"}),g=await m.json();return m.ok?(await l(),{success:!0}):{success:!1,error:g.details||g.error||"Uninstall failed"}}catch(m){return{success:!1,error:m instanceof Error?m.message:"Uninstall failed"}}},[l]),d=f.useCallback(async h=>{try{const m=await je(`/api/plugins/${encodeURIComponent(h)}/update`,{method:"POST"}),g=await m.json();return m.ok?(await l(),{success:!0}):{success:!1,error:g.details||g.error||"Update failed"}}catch(m){return{success:!1,error:m instanceof Error?m.message:"Update failed"}}},[l]),p=f.useCallback(async(h,m)=>{try{const g=await je(`/api/plugins/${encodeURIComponent(h)}/enable`,{method:"PUT",body:JSON.stringify({enabled:m})});if(!g.ok){let b=`Toggle failed (${g.status})`;try{const x=await g.json();b=x.details||x.error||b}catch{b=g.statusText||b}return{success:!1,error:b}}return await l(),{success:!0,error:null}}catch(g){return{success:!1,error:g instanceof Error?g.message:"Toggle failed"}}},[l]);return s.jsx(b5.Provider,{value:{plugins:t,loading:n,pluginsError:i,refreshPlugins:l,installPlugin:c,uninstallPlugin:u,updatePlugin:d,togglePlugin:p},children:e})}const Wy=e=>typeof window>"u"?!1:window.innerWidth<e,Vy=()=>{if(typeof window>"u")return!1;const e=window.navigator;return window.matchMedia("(display-mode: standalone)").matches||!!e.standalone||document.referrer.includes("android-app://")};function Pb(e={}){const{mobileBreakpoint:t=768,trackMobile:r=!0,trackPWA:n=!0}=e,[a,i]=f.useState(()=>r?Wy(t):!1),[o,l]=f.useState(()=>n?Vy():!1);return f.useEffect(()=>{if(!r||typeof window>"u")return;const c=()=>{i(Wy(t))};return c(),window.addEventListener("resize",c),()=>{window.removeEventListener("resize",c)}},[t,r]),f.useEffect(()=>{if(!n||typeof window>"u")return;const c=window.matchMedia("(display-mode: standalone)"),u=()=>{l(Vy())};return u(),typeof c.addEventListener=="function"?(c.addEventListener("change",u),()=>{c.removeEventListener("change",u)}):(c.addListener(u),()=>{c.removeListener(u)})},[n]),{isMobile:a,isPWA:o}}const Ky="1.33.3",MO=(e,t)=>{const r=e.split(".").map(Number),n=t.split(".").map(Number);for(let a=0;a<Math.max(r.length,n.length);a++){const i=r[a]||0,o=n[a]||0;if(i!==o)return i-o}return 0},x5=(e,t)=>{const[r,n]=f.useState(!1),[a,i]=f.useState(null),[o,l]=f.useState(null),[c,u]=f.useState("git");return f.useEffect(()=>{(async()=>{try{const h=await(await fetch("/health")).json();(h.installMode==="npm"||h.installMode==="git")&&u(h.installMode)}catch{}})()},[]),f.useEffect(()=>{const d=async()=>{try{const m=await(await fetch(`https://api.github.com/repos/${e}/${t}/releases/latest`)).json();if(m.tag_name){const g=m.tag_name.replace(/^v/,"");i(g),n(MO(g,Ky)>0),l({title:m.name||m.tag_name,body:m.body||"",htmlUrl:m.html_url||`https://github.com/${e}/${t}/releases/latest`,publishedAt:m.published_at})}else n(!1),i(null),l(null)}catch(h){console.error("Version check failed:",h),n(!1),i(null),l(null)}};d();const p=setInterval(d,300*1e3);return()=>clearInterval(p)},[e,t]),{updateAvailable:r,latestVersion:a,currentVersion:Ky,releaseInfo:o,installMode:c}},$a={autoExpandTools:!1,showRawParameters:!1,showThinking:!0,autoScrollToBottom:!0,sendByCtrlEnter:!1,sidebarVisible:!0},Bl=Object.keys($a),OO=new Set(Bl),tu="ui-preferences:sync",$l=(e,t)=>{if(typeof e=="boolean")return e;if(typeof e=="string"){if(e==="true")return!0;if(e==="false")return!1}return t},LO=(e,t)=>{try{const r=localStorage.getItem(e);if(r===null)return t;const n=JSON.parse(r);return $l(n,t)}catch{return t}},PO=e=>{if(typeof window>"u")return $a;try{const t=localStorage.getItem(e);if(t){const r=JSON.parse(t);if(r&&typeof r=="object"&&!Array.isArray(r)){const n=r;return Bl.reduce((a,i)=>(a[i]=$l(n[i],$a[i]),a),{...$a})}}}catch{}return Bl.reduce((t,r)=>(t[r]=LO(r,$a[r]),t),{...$a})};function FO(e,t){switch(t.type){case"set":{const{key:r,value:n}=t;if(!OO.has(r))return e;const a=$l(n,e[r]);return e[r]===a?e:{...e,[r]:a}}case"set_many":{const r=t.value||{};let n=!1;const a={...e};for(const i of Bl){if(!(i in r))continue;const o=r[i],l=$l(o,e[i]);a[i]!==l&&(a[i]=l,n=!0)}return n?a:e}case"reset":return{...$a,...t.value||{}};default:return e}}function Fb(e="uiPreferences"){const t=f.useRef(`ui-preferences-${Math.random().toString(36).slice(2)}`),[r,n]=f.useReducer(FO,e,PO);return f.useEffect(()=>{typeof window>"u"||(localStorage.setItem(e,JSON.stringify(r)),window.dispatchEvent(new CustomEvent(tu,{detail:{storageKey:e,sourceId:t.current,value:r}})))},[r,e]),f.useEffect(()=>{if(typeof window>"u")return;const l=d=>{!d||typeof d!="object"||Array.isArray(d)||n({type:"set_many",value:d})},c=d=>{if(!(d.key!==e||d.newValue===null))try{const p=JSON.parse(d.newValue);l(p)}catch{}},u=d=>{const h=d.detail;!h||h.storageKey!==e||h.sourceId===t.current||l(h.value)};return window.addEventListener("storage",c),window.addEventListener(tu,u),()=>{window.removeEventListener("storage",c),window.removeEventListener(tu,u)}},[e]),{preferences:r,setPreference:(l,c)=>{n({type:"set",key:l,value:c})},setPreferences:l=>{n({type:"set_many",value:l})},resetPreferences:l=>{n({type:"reset",value:l})},dispatch:n}}const zb=f.createContext(null),ru={openFile:()=>{},openSettings:()=>{},refreshProjects:()=>{}};function zO({children:e}){const t=f.useRef({});return s.jsx(zb.Provider,{value:t,children:e})}function ho(){const e=f.useContext(zb);return f.useMemo(()=>({openFile:t=>(e?.current.openFile??ru.openFile)(t),openSettings:t=>(e?.current.openSettings??ru.openSettings)(t),refreshProjects:()=>(e?.current.refreshProjects??ru.refreshProjects)()}),[e])}function y5(e){const t=f.useContext(zb),{openFile:r,openSettings:n,refreshProjects:a}=e;f.useEffect(()=>{if(!t)return;const i={...t.current};return r&&(t.current.openFile=r),n&&(t.current.openSettings=n),a&&(t.current.refreshProjects=a),()=>{r&&t.current.openFile===r&&(t.current.openFile=i.openFile),n&&t.current.openSettings===n&&(t.current.openSettings=i.openSettings),a&&t.current.refreshProjects===a&&(t.current.refreshProjects=i.refreshProjects)}},[t,r,n,a])}const BO=()=>{try{const e=localStorage.getItem("claude-settings");return e&&JSON.parse(e).projectSortOrder==="date"?"date":"name"}catch{return"name"}},v5="starredProjects",$O=()=>{try{const e=localStorage.getItem(v5);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.map(r=>String(r).trim()).filter(r=>r.length>0):[]}catch{return[]}},UO=()=>{try{localStorage.removeItem(v5)}catch{}},k5=e=>String(e.createdAt||e.created_at||""),w5=e=>String(e.lastActivity||""),Ul=e=>new Date(w5(e)||k5(e)||0),GO=(e,t)=>e.summary||e.name||t("projects.newSession"),qO=e=>w5(e)||k5(e),HO=(e,t,r)=>{const n=Ul(e),a=Math.floor((t.getTime()-n.getTime())/(1e3*60));return{isCursorSession:e.__provider==="cursor",isCodexSession:e.__provider==="codex",isGeminiSession:e.__provider==="gemini",isOpenCodeSession:e.__provider==="opencode",isActive:a<10,sessionName:GO(e,r),sessionTime:qO(e),messageCount:Number(e.messageCount||0)}},Gl=e=>{const t=[...e.sessions||[]].map(o=>({...o,__provider:"claude"})),r=(e.cursorSessions||[]).map(o=>({...o,__provider:"cursor"})),n=(e.codexSessions||[]).map(o=>({...o,__provider:"codex"})),a=(e.geminiSessions||[]).map(o=>({...o,__provider:"gemini"})),i=(e.opencodeSessions||[]).map(o=>({...o,__provider:"opencode"}));return[...t,...r,...n,...a,...i].sort((o,l)=>Ul(l).getTime()-Ul(o).getTime())},Yy=e=>{const t=Gl(e);return t.length===0?new Date(0):t.reduce((r,n)=>{const a=Ul(n);return a>r?a:r},new Date(0))},WO=(e,t)=>{const r=[...e];return r.sort((n,a)=>{const i=!!n.isStarred,o=!!a.isStarred;return i&&!o?-1:!i&&o?1:t==="date"?Yy(a).getTime()-Yy(n).getTime():(n.displayName||n.projectId).localeCompare(a.displayName||a.projectId)}),r},VO=(e,t)=>{const r=t.trim().toLowerCase();return r?e.filter(n=>{const a=(n.displayName||n.projectId).toLowerCase(),i=(n.path||n.fullPath||"").toLowerCase();return a.includes(r)||i.includes(r)}):e},KO=(e,t)=>{const r=!!e.taskmaster?.hasTaskmaster,n=!!(t?.hasMCPServer&&t?.isConfigured);return r&&n?"fully-configured":r?"taskmaster-only":n?"mcp-only":"not-configured"},YO=e=>{const t=typeof e.fullPath=="string"&&e.fullPath.length>0?e.fullPath:typeof e.path=="string"?e.path:"";return{name:e.projectId,displayName:typeof e.displayName=="string"&&e.displayName.trim().length>0?e.displayName:e.projectId,fullPath:t,path:typeof e.path=="string"&&e.path.length>0?e.path:t}};function ZO({projects:e,selectedProject:t,selectedSession:r,isLoading:n,isMobile:a,t:i,onRefresh:o,onProjectSelect:l,onSessionSelect:c,onSessionDelete:u,onLoadMoreSessions:d,onProjectDelete:p,setCurrentProject:h,setSidebarVisible:m,sidebarVisible:g}){const b=ho(),[x,y]=f.useState(new Set),[k,w]=f.useState(null),[E,N]=f.useState(!1),[v,C]=f.useState(""),[A,T]=f.useState(new Set),[I,O]=f.useState(new Date),[j,L]=f.useState("name"),[S,B]=f.useState(!1),[V,q]=f.useState(null),[$,G]=f.useState(""),[R,z]=f.useState(""),[M,F]=f.useState(new Set),[K,Y]=f.useState(null),[oe,J]=f.useState(null),[de,me]=f.useState(!1),[fe,Se]=f.useState("projects"),[Re,Ie]=f.useState(null),[P,ae]=f.useState(!1),[se,Z]=f.useState(null),[H,ie]=f.useState([]),[pe,xe]=f.useState([]),[ce,ye]=f.useState(!1),[Q,re]=f.useState(""),[X,ue]=f.useState(new Map),[be,Me]=f.useState(new Set),Oe=f.useRef(0),Xe=f.useRef(null),ot=f.useRef(new Map),Je=f.useRef(!1),at=f.useRef(o),mt=!a&&!g;f.useEffect(()=>{const ke=setInterval(()=>{O(new Date)},6e4);return()=>clearInterval(ke)},[]),f.useEffect(()=>{T(new Set)},[e]),f.useEffect(()=>{const ke=t?.projectId;ke&&y(Ce=>{if(Ce.has(ke))return Ce;const Pe=new Set(Ce);return Pe.add(ke),Pe})},[t?.projectId]),f.useEffect(()=>{if(e.length>0&&!n){const ke=new Set;e.forEach(Ce=>{Ce.sessions&&Ce.sessions.length>=0&&ke.add(Ce.projectId)}),T(ke)}},[e,n]),f.useEffect(()=>{const ke=()=>{L(BO())};ke();const Ce=qe=>{qe.key==="claude-settings"&&ke()};window.addEventListener("storage",Ce);const Pe=setInterval(()=>{document.hasFocus()&&ke()},1e3);return()=>{window.removeEventListener("storage",Ce),clearInterval(Pe)}},[]),f.useEffect(()=>{at.current=o},[o]);const Ve=f.useCallback(async()=>{ye(!0);try{const[ke,Ce]=await Promise.all([st.archivedProjects(),st.getArchivedSessions()]);if(!ke.ok)throw new Error(`Failed to load archived projects: ${ke.status}`);if(!Ce.ok)throw new Error(`Failed to load archived sessions: ${Ce.status}`);const Pe=await ke.json(),qe=await Ce.json(),_t=Array.isArray(Pe.data?.projects)?Pe.data.projects:[],Ct=new Set(_t.map(Ht=>Ht.projectId)),dr=Array.isArray(qe.data?.sessions)?qe.data.sessions.filter(Ht=>!Ht.projectId||!Ct.has(Ht.projectId)):[];ie(_t),xe(dr)}catch(ke){console.error("[Sidebar] Failed to load archived sessions:",ke)}finally{ye(!1)}},[]);f.useEffect(()=>{if(Je.current)return;const ke=$O();if(ke.length===0)return;Je.current=!0,(async()=>{try{await st.migrateLegacyProjectStars(ke),await at.current()}catch(Pe){console.error("[Sidebar] Failed to migrate legacy starred projects:",Pe)}finally{UO()}})()},[o]),f.useEffect(()=>{Ve()},[Ve]),f.useEffect(()=>{fe==="archived"&&Ve()},[Ve,fe]),f.useEffect(()=>{ue(ke=>{if(ke.size===0)return ke;const Ce=new Map(ke);let Pe=!1;for(const[qe,_t]of ke.entries()){const Ct=e.find(dr=>dr.projectId===qe);if(!Ct){Ce.delete(qe),Pe=!0;continue}!!Ct.isStarred===_t&&(Ce.delete(qe),Pe=!0)}return Pe?Ce:ke})},[e]),f.useEffect(()=>{const ke=setTimeout(()=>{re(R.trim())},300);return()=>{clearTimeout(ke)}},[R]),f.useEffect(()=>{Xe.current&&(Xe.current.close(),Xe.current=null);const ke=Q;if(fe!=="conversations"||ke.length<2){Oe.current+=1,Ie(null),Z(null),ae(!1);return}ae(!0);const Ce=++Oe.current;if(Ce!==Oe.current)return;const Pe=st.searchConversationsUrl(ke),qe=new EventSource(Pe);Xe.current=qe;const _t=[];let Ct=0;return qe.addEventListener("result",dr=>{if(Ce!==Oe.current){qe.close();return}try{const Ht=JSON.parse(dr.data);_t.push(Ht.projectResult),Ct=Ht.totalMatches,Ie({results:[..._t],totalMatches:Ct,query:ke}),Z({scannedProjects:Ht.scannedProjects,totalProjects:Ht.totalProjects})}catch{}}),qe.addEventListener("progress",dr=>{if(Ce!==Oe.current){qe.close();return}try{const Ht=JSON.parse(dr.data);Ct=Ht.totalMatches,Z({scannedProjects:Ht.scannedProjects,totalProjects:Ht.totalProjects})}catch{}}),qe.addEventListener("done",()=>{if(Ce!==Oe.current){qe.close();return}qe.close(),Xe.current=null,ae(!1),Z(null),_t.length===0&&Ie({results:[],totalMatches:0,query:ke})}),qe.addEventListener("error",()=>{if(Ce!==Oe.current){qe.close();return}qe.close(),Xe.current=null,ae(!1),Z(null),_t.length===0&&Ie({results:[],totalMatches:0,query:ke})}),()=>{Xe.current&&(Xe.current.close(),Xe.current=null)}},[Q,fe]);const kt=f.useCallback(ke=>{y(Ce=>{const Pe=new Set;return Ce.has(ke)||Pe.add(ke),Pe})},[]),ct=f.useCallback((ke,Ce)=>{c({...ke,__projectId:Ce})},[c]),Et=f.useCallback(ke=>X.has(ke)?!!X.get(ke):e.some(Ce=>Ce.projectId===ke&&!!Ce.isStarred),[X,e]),wt=f.useCallback(ke=>{const Ce=Et(ke),Pe=!Ce,qe=(ot.current.get(ke)??0)+1;ot.current.set(ke,qe),ue(Ct=>{const dr=new Map(Ct);return dr.set(ke,Pe),dr}),(async()=>{try{const Ct=await st.toggleProjectStar(ke);if(!Ct.ok){const $e=(await Ct.json()).error,ee=typeof $e=="string"?$e:$e&&typeof $e=="object"&&$e.message?$e.message:i("messages.updateProjectError");throw new Error(ee)}const dr=await Ct.json();if(!(ot.current.get(ke)===qe))return;ue(Pr=>{const $e=new Map(Pr);return $e.set(ke,!!dr.isStarred),$e})}catch(Ct){if(!(ot.current.get(ke)===qe))return;ue(Ht=>{const Pr=new Map(Ht);return Pr.set(ke,Ce),Pr}),console.error("[Sidebar] Failed to toggle project star:",Ct),alert(i("messages.updateProjectError"))}})()},[Et,i]),Dt=f.useCallback(ke=>Et(ke),[Et]),Jt=f.useCallback(ke=>Gl(ke),[]),Ne=f.useCallback(async ke=>{if(!d)return;let Ce=!1;if(Me(Pe=>{if(Pe.has(ke))return Pe;Ce=!0;const qe=new Set(Pe);return qe.add(ke),qe}),!!Ce)try{await d(ke)}catch(Pe){console.error("[Sidebar] Failed to load more sessions:",Pe),alert(i("messages.refreshError"))}finally{Me(Pe=>{const qe=new Set(Pe);return qe.delete(ke),qe})}},[d,i]),tt=f.useMemo(()=>X.size===0?e:e.map(ke=>{const Ce=X.get(ke.projectId);return Ce===void 0||!!ke.isStarred===Ce?ke:{...ke,isStarred:Ce}}),[X,e]),rt=f.useMemo(()=>WO(tt,j),[j,tt]),it=f.useMemo(()=>VO(rt,Q),[Q,rt]),yt=f.useMemo(()=>{const ke=Q.trim().toLowerCase();return ke?pe.filter(Ce=>[Ce.sessionTitle,Ce.projectDisplayName,Ce.projectPath??"",Ce.provider].some(qe=>qe.toLowerCase().includes(ke))):pe},[pe,Q]),Rt=f.useMemo(()=>{const ke=Q.trim().toLowerCase();return ke?H.filter(Ce=>[Ce.displayName,Ce.fullPath||""].some(qe=>qe.toLowerCase().includes(ke))?!0:Gl(Ce).some(qe=>[typeof qe.summary=="string"&&qe.summary.trim().length>0?qe.summary:typeof qe.name=="string"?qe.name:"",qe.__provider].some(Ct=>Ct.toLowerCase().includes(ke)))):H},[H,Q]),Nt=f.useCallback(ke=>{w(ke.projectId),C(ke.displayName)},[]),Qt=f.useCallback(()=>{w(null),C("")},[]),Lr=f.useCallback(async ke=>{try{(await st.renameProject(ke,v)).ok?await b.refreshProjects():console.error("Failed to rename project")}catch(Ce){console.error("Error renaming project:",Ce)}finally{w(null),C("")}},[v,b]),br=f.useCallback((ke,Ce,Pe,qe="claude",_t={})=>{J({projectId:ke,sessionId:Ce,sessionTitle:Pe,provider:qe,isArchived:!!_t.isArchived})},[]),Ae=f.useCallback(async(ke=!1)=>{if(!oe)return;const{sessionId:Ce}=oe;J(null);try{const Pe=await st.deleteSession(Ce,ke);if(Pe.ok)u?.(Ce),await Ve();else{const qe=await Pe.text();console.error("[Sidebar] Failed to delete session:",{status:Pe.status,error:qe}),alert(i("messages.deleteSessionFailed"))}}catch(Pe){console.error("[Sidebar] Error deleting session:",Pe),alert(i("messages.deleteSessionError"))}},[Ve,u,oe,i]),Ye=f.useCallback(ke=>{Y({project:ke,sessionCount:Jt(ke).length})},[Jt]),Ke=f.useCallback(async(ke=!1)=>{if(!K)return;const{project:Ce}=K;Y(null),F(Pe=>new Set([...Pe,Ce.projectId]));try{const Pe=await st.deleteProject(Ce.projectId,ke);if(Pe.ok)p?.(Ce.projectId);else{const _t=(await Pe.json()).error,Ct=typeof _t=="string"?_t:_t&&typeof _t=="object"&&_t.message?_t.message:i("messages.deleteProjectFailed");alert(Ct)}}catch(Pe){console.error("Error deleting project:",Pe),alert(i("messages.deleteProjectError"))}finally{F(Pe=>{const qe=new Set(Pe);return qe.delete(Ce.projectId),qe})}},[K,p,i]),ht=f.useCallback(ke=>{l(ke),h(ke)},[l,h]),gt=f.useCallback(ke=>{const Ce=ke.projectId?e.find(Ct=>Ct.projectId===ke.projectId):null,Pe=ke.projectId?H.find(Ct=>Ct.projectId===ke.projectId):null,qe=Ce??Pe??null,_t={id:ke.sessionId,summary:ke.sessionTitle,__provider:ke.provider,__projectId:qe?.projectId??ke.projectId??void 0};qe&&ht(qe),c(_t)},[H,ht,c,e]),Gt=f.useCallback(async ke=>{try{const Ce=await st.restoreProject(ke);if(!Ce.ok){const Pe=await Ce.text();console.error("[Sidebar] Failed to restore project:",{status:Ce.status,error:Pe}),alert(i("messages.restoreProjectFailed","Failed to restore project. Please try again."));return}await Promise.all([Promise.resolve(o()),Ve()])}catch(Ce){console.error("[Sidebar] Error restoring project:",Ce),alert(i("messages.restoreProjectError","Error restoring project. Please try again."))}},[Ve,o,i]),St=f.useCallback(async ke=>{try{const Ce=await st.restoreSession(ke);if(!Ce.ok){const Pe=await Ce.text();console.error("[Sidebar] Failed to restore session:",{status:Ce.status,error:Pe}),alert(i("messages.restoreSessionFailed","Failed to restore session. Please try again."));return}await Promise.all([Promise.resolve(o()),Ve()])}catch(Ce){console.error("[Sidebar] Error restoring session:",Ce),alert(i("messages.restoreSessionError","Error restoring session. Please try again."))}},[Ve,o,i]),Er=f.useCallback(async()=>{B(!0);try{await Promise.all([Promise.resolve(o()),Ve()])}finally{B(!1)}},[Ve,o]),Cr=f.useCallback(async(ke,Ce,Pe,qe)=>{const _t=Pe.trim();if(!_t){q(null),G("");return}try{const Ct=await st.renameSession(Ce,_t);Ct.ok?await o():(console.error("[Sidebar] Failed to rename session:",Ct.status),alert(i("messages.renameSessionFailed")))}catch(Ct){console.error("[Sidebar] Error renaming session:",Ct),alert(i("messages.renameSessionError"))}finally{q(null),G("")}},[o,i]),rr=f.useCallback(()=>{m(!1)},[m]),Bt=f.useCallback(()=>{m(!0)},[m]);return{isSidebarCollapsed:mt,expandedProjects:x,editingProject:k,showNewProject:E,editingName:v,initialSessionsLoaded:A,currentTime:I,projectSortOrder:j,isRefreshing:S,editingSession:V,editingSessionName:$,searchFilter:R,deletingProjects:M,loadingMoreProjects:be,deleteConfirmation:K,sessionDeleteConfirmation:oe,showVersionModal:de,filteredProjects:it,archivedProjects:Rt,archivedSessions:yt,archivedSessionsCount:H.length+pe.length,isArchivedSessionsLoading:ce,toggleProject:kt,handleSessionClick:ct,toggleStarProject:wt,isProjectStarred:Dt,getProjectSessions:Jt,loadMoreSessionsForProject:Ne,startEditing:Nt,cancelEditing:Qt,saveProjectName:Lr,showDeleteSessionConfirmation:br,confirmDeleteSession:Ae,requestProjectDelete:Ye,confirmDeleteProject:Ke,handleProjectSelect:ht,openArchivedSession:gt,restoreArchivedProject:Gt,restoreArchivedSession:St,refreshProjects:Er,updateSessionSummary:Cr,collapseSidebar:rr,expandSidebar:Bt,setShowNewProject:N,setEditingName:C,setEditingSession:q,setEditingSessionName:G,searchMode:fe,setSearchMode:Se,conversationResults:Re,isSearching:P,searchProgress:se,clearConversationResults:f.useCallback(()=>{Oe.current+=1,Xe.current&&(Xe.current.close(),Xe.current=null),ae(!1),Z(null),Ie(null)},[]),setSearchFilter:z,setDeleteConfirmation:Y,setSessionDeleteConfirmation:J,setShowVersionModal:me}}const XO="https://discord.gg/buxwujPNRE",JO="https://github.com/siteboon/claudecodeui/issues/new";function QO({className:e}){return s.jsx("svg",{className:e,fill:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:s.jsx("path",{d:"M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.095 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.095 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z"})})}function eL({onExpand:e,onShowSettings:t,updateAvailable:r,onShowVersionModal:n,t:a}){return s.jsxs("div",{className:"flex h-full w-12 flex-col items-center gap-1 bg-background/80 py-3 backdrop-blur-sm",children:[s.jsx("button",{onClick:e,className:"group flex h-8 w-8 items-center justify-center rounded-lg transition-colors hover:bg-accent/80","aria-label":a("common:versionUpdate.ariaLabels.showSidebar"),title:a("common:versionUpdate.ariaLabels.showSidebar"),children:s.jsx(hD,{className:"h-4 w-4 text-muted-foreground transition-colors group-hover:text-foreground"})}),s.jsx("div",{className:"nav-divider my-1 w-6"}),s.jsx("button",{onClick:t,className:"group flex h-8 w-8 items-center justify-center rounded-lg transition-colors hover:bg-accent/80","aria-label":a("actions.settings"),title:a("actions.settings"),children:s.jsx(Mt,{className:"h-4 w-4 text-muted-foreground transition-colors group-hover:text-foreground"})}),s.jsx("a",{href:JO,target:"_blank",rel:"noopener noreferrer",className:"group flex h-8 w-8 items-center justify-center rounded-lg transition-colors hover:bg-accent/80","aria-label":a("actions.reportIssue"),title:a("actions.reportIssue"),children:s.jsx(g0,{className:"h-4 w-4 text-muted-foreground transition-colors group-hover:text-foreground"})}),s.jsx("a",{href:XO,target:"_blank",rel:"noopener noreferrer",className:"group flex h-8 w-8 items-center justify-center rounded-lg transition-colors hover:bg-accent/80","aria-label":a("actions.joinCommunity"),title:a("actions.joinCommunity"),children:s.jsx(QO,{className:"h-4 w-4 text-muted-foreground transition-colors group-hover:text-foreground"})}),r&&s.jsxs("button",{onClick:n,className:"relative flex h-8 w-8 items-center justify-center rounded-lg transition-colors hover:bg-accent/80","aria-label":a("common:versionUpdate.ariaLabels.updateAvailable"),title:a("common:versionUpdate.ariaLabels.updateAvailable"),children:[s.jsx(na,{className:"h-4 w-4 text-blue-500"}),s.jsx("span",{className:"absolute right-1.5 top-1.5 h-1.5 w-1.5 animate-pulse rounded-full bg-blue-500"})]})]})}function S5(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(r=S5(e[t]))&&(n&&(n+=" "),n+=r)}else for(r in e)e[r]&&(n&&(n+=" "),n+=r);return n}function E5(){for(var e,t,r=0,n="",a=arguments.length;r<a;r++)(e=arguments[r])&&(t=S5(e))&&(n&&(n+=" "),n+=t);return n}const Zy=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Xy=E5,Bb=(e,t)=>r=>{var n;if(t?.variants==null)return Xy(e,r?.class,r?.className);const{variants:a,defaultVariants:i}=t,o=Object.keys(a).map(u=>{const d=r?.[u],p=i?.[u];if(d===null)return null;const h=Zy(d)||Zy(p);return a[u][h]}),l=r&&Object.entries(r).reduce((u,d)=>{let[p,h]=d;return h===void 0||(u[p]=h),u},{}),c=t==null||(n=t.compoundVariants)===null||n===void 0?void 0:n.reduce((u,d)=>{let{class:p,className:h,...m}=d;return Object.entries(m).every(g=>{let[b,x]=g;return Array.isArray(x)?x.includes({...i,...l}[b]):{...i,...l}[b]===x})?[...u,p,h]:u},[]);return Xy(e,o,c,r?.class,r?.className)},$b="-",tL=e=>{const t=nL(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:o=>{const l=o.split($b);return l[0]===""&&l.length!==1&&l.shift(),C5(l,t)||rL(o)},getConflictingClassGroupIds:(o,l)=>{const c=r[o]||[];return l&&n[o]?[...c,...n[o]]:c}}},C5=(e,t)=>{if(e.length===0)return t.classGroupId;const r=e[0],n=t.nextPart.get(r),a=n?C5(e.slice(1),n):void 0;if(a)return a;if(t.validators.length===0)return;const i=e.join($b);return t.validators.find(({validator:o})=>o(i))?.classGroupId},Jy=/^\[(.+)\]$/,rL=e=>{if(Jy.test(e)){const t=Jy.exec(e)[1],r=t?.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},nL=e=>{const{theme:t,classGroups:r}=e,n={nextPart:new Map,validators:[]};for(const a in r)w0(r[a],n,a,t);return n},w0=(e,t,r,n)=>{e.forEach(a=>{if(typeof a=="string"){const i=a===""?t:Qy(t,a);i.classGroupId=r;return}if(typeof a=="function"){if(aL(a)){w0(a(n),t,r,n);return}t.validators.push({validator:a,classGroupId:r});return}Object.entries(a).forEach(([i,o])=>{w0(o,Qy(t,i),r,n)})})},Qy=(e,t)=>{let r=e;return t.split($b).forEach(n=>{r.nextPart.has(n)||r.nextPart.set(n,{nextPart:new Map,validators:[]}),r=r.nextPart.get(n)}),r},aL=e=>e.isThemeGetter,iL=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=new Map,n=new Map;const a=(i,o)=>{r.set(i,o),t++,t>e&&(t=0,n=r,r=new Map)};return{get(i){let o=r.get(i);if(o!==void 0)return o;if((o=n.get(i))!==void 0)return a(i,o),o},set(i,o){r.has(i)?r.set(i,o):a(i,o)}}},S0="!",E0=":",sL=E0.length,oL=e=>{const{prefix:t,experimentalParseClassName:r}=e;let n=a=>{const i=[];let o=0,l=0,c=0,u;for(let g=0;g<a.length;g++){let b=a[g];if(o===0&&l===0){if(b===E0){i.push(a.slice(c,g)),c=g+sL;continue}if(b==="/"){u=g;continue}}b==="["?o++:b==="]"?o--:b==="("?l++:b===")"&&l--}const d=i.length===0?a:a.substring(c),p=lL(d),h=p!==d,m=u&&u>c?u-c:void 0;return{modifiers:i,hasImportantModifier:h,baseClassName:p,maybePostfixModifierPosition:m}};if(t){const a=t+E0,i=n;n=o=>o.startsWith(a)?i(o.substring(a.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:o,maybePostfixModifierPosition:void 0}}if(r){const a=n;n=i=>r({className:i,parseClassName:a})}return n},lL=e=>e.endsWith(S0)?e.substring(0,e.length-1):e.startsWith(S0)?e.substring(1):e,cL=e=>{const t=Object.fromEntries(e.orderSensitiveModifiers.map(n=>[n,!0]));return n=>{if(n.length<=1)return n;const a=[];let i=[];return n.forEach(o=>{o[0]==="["||t[o]?(a.push(...i.sort(),o),i=[]):i.push(o)}),a.push(...i.sort()),a}},uL=e=>({cache:iL(e.cacheSize),parseClassName:oL(e),sortModifiers:cL(e),...tL(e)}),dL=/\s+/,pL=(e,t)=>{const{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:a,sortModifiers:i}=t,o=[],l=e.trim().split(dL);let c="";for(let u=l.length-1;u>=0;u-=1){const d=l[u],{isExternal:p,modifiers:h,hasImportantModifier:m,baseClassName:g,maybePostfixModifierPosition:b}=r(d);if(p){c=d+(c.length>0?" "+c:c);continue}let x=!!b,y=n(x?g.substring(0,b):g);if(!y){if(!x){c=d+(c.length>0?" "+c:c);continue}if(y=n(g),!y){c=d+(c.length>0?" "+c:c);continue}x=!1}const k=i(h).join(":"),w=m?k+S0:k,E=w+y;if(o.includes(E))continue;o.push(E);const N=a(y,x);for(let v=0;v<N.length;++v){const C=N[v];o.push(w+C)}c=d+(c.length>0?" "+c:c)}return c};function mL(){let e=0,t,r,n="";for(;e<arguments.length;)(t=arguments[e++])&&(r=N5(t))&&(n&&(n+=" "),n+=r);return n}const N5=e=>{if(typeof e=="string")return e;let t,r="";for(let n=0;n<e.length;n++)e[n]&&(t=N5(e[n]))&&(r&&(r+=" "),r+=t);return r};function hL(e,...t){let r,n,a,i=o;function o(c){const u=t.reduce((d,p)=>p(d),e());return r=uL(u),n=r.cache.get,a=r.cache.set,i=l,l(c)}function l(c){const u=n(c);if(u)return u;const d=pL(c,r);return a(c,d),d}return function(){return i(mL.apply(null,arguments))}}const lr=e=>{const t=r=>r[e]||[];return t.isThemeGetter=!0,t},T5=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,A5=/^\((?:(\w[\w-]*):)?(.+)\)$/i,fL=/^\d+\/\d+$/,gL=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,bL=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,xL=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,yL=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,vL=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,mi=e=>fL.test(e),ft=e=>!!e&&!Number.isNaN(Number(e)),da=e=>!!e&&Number.isInteger(Number(e)),nu=e=>e.endsWith("%")&&ft(e.slice(0,-1)),qn=e=>gL.test(e),kL=()=>!0,wL=e=>bL.test(e)&&!xL.test(e),I5=()=>!1,SL=e=>yL.test(e),EL=e=>vL.test(e),CL=e=>!He(e)&&!We(e),NL=e=>ls(e,R5,I5),He=e=>T5.test(e),Oa=e=>ls(e,D5,wL),au=e=>ls(e,_L,ft),ev=e=>ls(e,j5,I5),TL=e=>ls(e,_5,EL),jo=e=>ls(e,M5,SL),We=e=>A5.test(e),ks=e=>cs(e,D5),AL=e=>cs(e,RL),tv=e=>cs(e,j5),IL=e=>cs(e,R5),jL=e=>cs(e,_5),_o=e=>cs(e,M5,!0),ls=(e,t,r)=>{const n=T5.exec(e);return n?n[1]?t(n[1]):r(n[2]):!1},cs=(e,t,r=!1)=>{const n=A5.exec(e);return n?n[1]?t(n[1]):r:!1},j5=e=>e==="position"||e==="percentage",_5=e=>e==="image"||e==="url",R5=e=>e==="length"||e==="size"||e==="bg-size",D5=e=>e==="length",_L=e=>e==="number",RL=e=>e==="family-name",M5=e=>e==="shadow",DL=()=>{const e=lr("color"),t=lr("font"),r=lr("text"),n=lr("font-weight"),a=lr("tracking"),i=lr("leading"),o=lr("breakpoint"),l=lr("container"),c=lr("spacing"),u=lr("radius"),d=lr("shadow"),p=lr("inset-shadow"),h=lr("text-shadow"),m=lr("drop-shadow"),g=lr("blur"),b=lr("perspective"),x=lr("aspect"),y=lr("ease"),k=lr("animate"),w=()=>["auto","avoid","all","avoid-page","page","left","right","column"],E=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],N=()=>[...E(),We,He],v=()=>["auto","hidden","clip","visible","scroll"],C=()=>["auto","contain","none"],A=()=>[We,He,c],T=()=>[mi,"full","auto",...A()],I=()=>[da,"none","subgrid",We,He],O=()=>["auto",{span:["full",da,We,He]},da,We,He],j=()=>[da,"auto",We,He],L=()=>["auto","min","max","fr",We,He],S=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],B=()=>["start","end","center","stretch","center-safe","end-safe"],V=()=>["auto",...A()],q=()=>[mi,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...A()],$=()=>[e,We,He],G=()=>[...E(),tv,ev,{position:[We,He]}],R=()=>["no-repeat",{repeat:["","x","y","space","round"]}],z=()=>["auto","cover","contain",IL,NL,{size:[We,He]}],M=()=>[nu,ks,Oa],F=()=>["","none","full",u,We,He],K=()=>["",ft,ks,Oa],Y=()=>["solid","dashed","dotted","double"],oe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],J=()=>[ft,nu,tv,ev],de=()=>["","none",g,We,He],me=()=>["none",ft,We,He],fe=()=>["none",ft,We,He],Se=()=>[ft,We,He],Re=()=>[mi,"full",...A()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[qn],breakpoint:[qn],color:[kL],container:[qn],"drop-shadow":[qn],ease:["in","out","in-out"],font:[CL],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[qn],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[qn],shadow:[qn],spacing:["px",ft],text:[qn],"text-shadow":[qn],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",mi,He,We,x]}],container:["container"],columns:[{columns:[ft,He,We,l]}],"break-after":[{"break-after":w()}],"break-before":[{"break-before":w()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:N()}],overflow:[{overflow:v()}],"overflow-x":[{"overflow-x":v()}],"overflow-y":[{"overflow-y":v()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{start:T()}],end:[{end:T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:["visible","invisible","collapse"],z:[{z:[da,"auto",We,He]}],basis:[{basis:[mi,"full","auto",l,...A()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[ft,mi,"auto","initial","none",He]}],grow:[{grow:["",ft,We,He]}],shrink:[{shrink:["",ft,We,He]}],order:[{order:[da,"first","last","none",We,He]}],"grid-cols":[{"grid-cols":I()}],"col-start-end":[{col:O()}],"col-start":[{"col-start":j()}],"col-end":[{"col-end":j()}],"grid-rows":[{"grid-rows":I()}],"row-start-end":[{row:O()}],"row-start":[{"row-start":j()}],"row-end":[{"row-end":j()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":L()}],"auto-rows":[{"auto-rows":L()}],gap:[{gap:A()}],"gap-x":[{"gap-x":A()}],"gap-y":[{"gap-y":A()}],"justify-content":[{justify:[...S(),"normal"]}],"justify-items":[{"justify-items":[...B(),"normal"]}],"justify-self":[{"justify-self":["auto",...B()]}],"align-content":[{content:["normal",...S()]}],"align-items":[{items:[...B(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...B(),{baseline:["","last"]}]}],"place-content":[{"place-content":S()}],"place-items":[{"place-items":[...B(),"baseline"]}],"place-self":[{"place-self":["auto",...B()]}],p:[{p:A()}],px:[{px:A()}],py:[{py:A()}],ps:[{ps:A()}],pe:[{pe:A()}],pt:[{pt:A()}],pr:[{pr:A()}],pb:[{pb:A()}],pl:[{pl:A()}],m:[{m:V()}],mx:[{mx:V()}],my:[{my:V()}],ms:[{ms:V()}],me:[{me:V()}],mt:[{mt:V()}],mr:[{mr:V()}],mb:[{mb:V()}],ml:[{ml:V()}],"space-x":[{"space-x":A()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":A()}],"space-y-reverse":["space-y-reverse"],size:[{size:q()}],w:[{w:[l,"screen",...q()]}],"min-w":[{"min-w":[l,"screen","none",...q()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[o]},...q()]}],h:[{h:["screen","lh",...q()]}],"min-h":[{"min-h":["screen","lh","none",...q()]}],"max-h":[{"max-h":["screen","lh",...q()]}],"font-size":[{text:["base",r,ks,Oa]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[n,We,au]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",nu,He]}],"font-family":[{font:[AL,He,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[a,We,He]}],"line-clamp":[{"line-clamp":[ft,"none",We,au]}],leading:[{leading:[i,...A()]}],"list-image":[{"list-image":["none",We,He]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",We,He]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:$()}],"text-color":[{text:$()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Y(),"wavy"]}],"text-decoration-thickness":[{decoration:[ft,"from-font","auto",We,Oa]}],"text-decoration-color":[{decoration:$()}],"underline-offset":[{"underline-offset":[ft,"auto",We,He]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:A()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",We,He]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",We,He]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:G()}],"bg-repeat":[{bg:R()}],"bg-size":[{bg:z()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},da,We,He],radial:["",We,He],conic:[da,We,He]},jL,TL]}],"bg-color":[{bg:$()}],"gradient-from-pos":[{from:M()}],"gradient-via-pos":[{via:M()}],"gradient-to-pos":[{to:M()}],"gradient-from":[{from:$()}],"gradient-via":[{via:$()}],"gradient-to":[{to:$()}],rounded:[{rounded:F()}],"rounded-s":[{"rounded-s":F()}],"rounded-e":[{"rounded-e":F()}],"rounded-t":[{"rounded-t":F()}],"rounded-r":[{"rounded-r":F()}],"rounded-b":[{"rounded-b":F()}],"rounded-l":[{"rounded-l":F()}],"rounded-ss":[{"rounded-ss":F()}],"rounded-se":[{"rounded-se":F()}],"rounded-ee":[{"rounded-ee":F()}],"rounded-es":[{"rounded-es":F()}],"rounded-tl":[{"rounded-tl":F()}],"rounded-tr":[{"rounded-tr":F()}],"rounded-br":[{"rounded-br":F()}],"rounded-bl":[{"rounded-bl":F()}],"border-w":[{border:K()}],"border-w-x":[{"border-x":K()}],"border-w-y":[{"border-y":K()}],"border-w-s":[{"border-s":K()}],"border-w-e":[{"border-e":K()}],"border-w-t":[{"border-t":K()}],"border-w-r":[{"border-r":K()}],"border-w-b":[{"border-b":K()}],"border-w-l":[{"border-l":K()}],"divide-x":[{"divide-x":K()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":K()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Y(),"hidden","none"]}],"divide-style":[{divide:[...Y(),"hidden","none"]}],"border-color":[{border:$()}],"border-color-x":[{"border-x":$()}],"border-color-y":[{"border-y":$()}],"border-color-s":[{"border-s":$()}],"border-color-e":[{"border-e":$()}],"border-color-t":[{"border-t":$()}],"border-color-r":[{"border-r":$()}],"border-color-b":[{"border-b":$()}],"border-color-l":[{"border-l":$()}],"divide-color":[{divide:$()}],"outline-style":[{outline:[...Y(),"none","hidden"]}],"outline-offset":[{"outline-offset":[ft,We,He]}],"outline-w":[{outline:["",ft,ks,Oa]}],"outline-color":[{outline:$()}],shadow:[{shadow:["","none",d,_o,jo]}],"shadow-color":[{shadow:$()}],"inset-shadow":[{"inset-shadow":["none",p,_o,jo]}],"inset-shadow-color":[{"inset-shadow":$()}],"ring-w":[{ring:K()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:$()}],"ring-offset-w":[{"ring-offset":[ft,Oa]}],"ring-offset-color":[{"ring-offset":$()}],"inset-ring-w":[{"inset-ring":K()}],"inset-ring-color":[{"inset-ring":$()}],"text-shadow":[{"text-shadow":["none",h,_o,jo]}],"text-shadow-color":[{"text-shadow":$()}],opacity:[{opacity:[ft,We,He]}],"mix-blend":[{"mix-blend":[...oe(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":oe()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[ft]}],"mask-image-linear-from-pos":[{"mask-linear-from":J()}],"mask-image-linear-to-pos":[{"mask-linear-to":J()}],"mask-image-linear-from-color":[{"mask-linear-from":$()}],"mask-image-linear-to-color":[{"mask-linear-to":$()}],"mask-image-t-from-pos":[{"mask-t-from":J()}],"mask-image-t-to-pos":[{"mask-t-to":J()}],"mask-image-t-from-color":[{"mask-t-from":$()}],"mask-image-t-to-color":[{"mask-t-to":$()}],"mask-image-r-from-pos":[{"mask-r-from":J()}],"mask-image-r-to-pos":[{"mask-r-to":J()}],"mask-image-r-from-color":[{"mask-r-from":$()}],"mask-image-r-to-color":[{"mask-r-to":$()}],"mask-image-b-from-pos":[{"mask-b-from":J()}],"mask-image-b-to-pos":[{"mask-b-to":J()}],"mask-image-b-from-color":[{"mask-b-from":$()}],"mask-image-b-to-color":[{"mask-b-to":$()}],"mask-image-l-from-pos":[{"mask-l-from":J()}],"mask-image-l-to-pos":[{"mask-l-to":J()}],"mask-image-l-from-color":[{"mask-l-from":$()}],"mask-image-l-to-color":[{"mask-l-to":$()}],"mask-image-x-from-pos":[{"mask-x-from":J()}],"mask-image-x-to-pos":[{"mask-x-to":J()}],"mask-image-x-from-color":[{"mask-x-from":$()}],"mask-image-x-to-color":[{"mask-x-to":$()}],"mask-image-y-from-pos":[{"mask-y-from":J()}],"mask-image-y-to-pos":[{"mask-y-to":J()}],"mask-image-y-from-color":[{"mask-y-from":$()}],"mask-image-y-to-color":[{"mask-y-to":$()}],"mask-image-radial":[{"mask-radial":[We,He]}],"mask-image-radial-from-pos":[{"mask-radial-from":J()}],"mask-image-radial-to-pos":[{"mask-radial-to":J()}],"mask-image-radial-from-color":[{"mask-radial-from":$()}],"mask-image-radial-to-color":[{"mask-radial-to":$()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":E()}],"mask-image-conic-pos":[{"mask-conic":[ft]}],"mask-image-conic-from-pos":[{"mask-conic-from":J()}],"mask-image-conic-to-pos":[{"mask-conic-to":J()}],"mask-image-conic-from-color":[{"mask-conic-from":$()}],"mask-image-conic-to-color":[{"mask-conic-to":$()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:G()}],"mask-repeat":[{mask:R()}],"mask-size":[{mask:z()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",We,He]}],filter:[{filter:["","none",We,He]}],blur:[{blur:de()}],brightness:[{brightness:[ft,We,He]}],contrast:[{contrast:[ft,We,He]}],"drop-shadow":[{"drop-shadow":["","none",m,_o,jo]}],"drop-shadow-color":[{"drop-shadow":$()}],grayscale:[{grayscale:["",ft,We,He]}],"hue-rotate":[{"hue-rotate":[ft,We,He]}],invert:[{invert:["",ft,We,He]}],saturate:[{saturate:[ft,We,He]}],sepia:[{sepia:["",ft,We,He]}],"backdrop-filter":[{"backdrop-filter":["","none",We,He]}],"backdrop-blur":[{"backdrop-blur":de()}],"backdrop-brightness":[{"backdrop-brightness":[ft,We,He]}],"backdrop-contrast":[{"backdrop-contrast":[ft,We,He]}],"backdrop-grayscale":[{"backdrop-grayscale":["",ft,We,He]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[ft,We,He]}],"backdrop-invert":[{"backdrop-invert":["",ft,We,He]}],"backdrop-opacity":[{"backdrop-opacity":[ft,We,He]}],"backdrop-saturate":[{"backdrop-saturate":[ft,We,He]}],"backdrop-sepia":[{"backdrop-sepia":["",ft,We,He]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":A()}],"border-spacing-x":[{"border-spacing-x":A()}],"border-spacing-y":[{"border-spacing-y":A()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",We,He]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[ft,"initial",We,He]}],ease:[{ease:["linear","initial",y,We,He]}],delay:[{delay:[ft,We,He]}],animate:[{animate:["none",k,We,He]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[b,We,He]}],"perspective-origin":[{"perspective-origin":N()}],rotate:[{rotate:me()}],"rotate-x":[{"rotate-x":me()}],"rotate-y":[{"rotate-y":me()}],"rotate-z":[{"rotate-z":me()}],scale:[{scale:fe()}],"scale-x":[{"scale-x":fe()}],"scale-y":[{"scale-y":fe()}],"scale-z":[{"scale-z":fe()}],"scale-3d":["scale-3d"],skew:[{skew:Se()}],"skew-x":[{"skew-x":Se()}],"skew-y":[{"skew-y":Se()}],transform:[{transform:[We,He,"","none","gpu","cpu"]}],"transform-origin":[{origin:N()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Re()}],"translate-x":[{"translate-x":Re()}],"translate-y":[{"translate-y":Re()}],"translate-z":[{"translate-z":Re()}],"translate-none":["translate-none"],accent:[{accent:$()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:$()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",We,He]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":A()}],"scroll-mx":[{"scroll-mx":A()}],"scroll-my":[{"scroll-my":A()}],"scroll-ms":[{"scroll-ms":A()}],"scroll-me":[{"scroll-me":A()}],"scroll-mt":[{"scroll-mt":A()}],"scroll-mr":[{"scroll-mr":A()}],"scroll-mb":[{"scroll-mb":A()}],"scroll-ml":[{"scroll-ml":A()}],"scroll-p":[{"scroll-p":A()}],"scroll-px":[{"scroll-px":A()}],"scroll-py":[{"scroll-py":A()}],"scroll-ps":[{"scroll-ps":A()}],"scroll-pe":[{"scroll-pe":A()}],"scroll-pt":[{"scroll-pt":A()}],"scroll-pr":[{"scroll-pr":A()}],"scroll-pb":[{"scroll-pb":A()}],"scroll-pl":[{"scroll-pl":A()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",We,He]}],fill:[{fill:["none",...$()]}],"stroke-w":[{stroke:[ft,ks,Oa,au]}],stroke:[{stroke:["none",...$()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},ML=hL(DL);function ve(...e){return ML(E5(e))}function OL(e){if(!e||typeof e!="string")return null;try{return JSON.parse(e)}catch{return null}}const LL=Bb("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"}},defaultVariants:{variant:"default"}}),O5=f.forwardRef(({className:e,variant:t,...r},n)=>s.jsx("div",{ref:n,role:"alert","data-slot":"alert",className:ve(LL({variant:t}),e),...r}));O5.displayName="Alert";const PL=f.forwardRef(({className:e,...t},r)=>s.jsx("div",{ref:r,"data-slot":"alert-title",className:ve("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",e),...t}));PL.displayName="AlertTitle";const FL=f.forwardRef(({className:e,...t},r)=>s.jsx("div",{ref:r,"data-slot":"alert-description",className:ve("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",e),...t}));FL.displayName="AlertDescription";const zL=Bb("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function Ur({className:e,variant:t,...r}){return s.jsx("div",{className:ve(zL({variant:t}),e),...r})}const BL=Bb("inline-flex touch-manipulation items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90 active:bg-primary/80",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90 active:bg-destructive/80",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground active:bg-accent/80",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80 active:bg-secondary/70",ghost:"hover:bg-accent hover:text-accent-foreground active:bg-accent/80",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3 text-sm",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),ze=f.forwardRef(({className:e,variant:t,size:r,...n},a)=>s.jsx("button",{className:ve(BL({variant:t,size:r,className:e})),ref:a,...n}));ze.displayName="Button";const L5=f.createContext(null),P5=()=>{const e=f.useContext(L5);if(!e)throw new Error("Confirmation components must be used within Confirmation");return e},F5=({className:e,approval:t="pending",children:r,...n})=>{const a=f.useMemo(()=>({approval:t}),[t]);return s.jsx(L5.Provider,{value:a,children:s.jsx(O5,{className:ve("flex flex-col gap-2",e),...n,children:r})})};F5.displayName="Confirmation";const z5=({className:e,...t})=>s.jsx("div",{"data-slot":"confirmation-title",className:ve("text-muted-foreground inline text-sm",e),...t});z5.displayName="ConfirmationTitle";const B5=({children:e})=>{const{approval:t}=P5();return t!=="pending"?null:s.jsx(s.Fragment,{children:e})};B5.displayName="ConfirmationRequest";const $5=({className:e,...t})=>{const{approval:r}=P5();return r!=="pending"?null:s.jsx("div",{"data-slot":"confirmation-actions",className:ve("flex items-center justify-end gap-2 self-end",e),...t})};$5.displayName="ConfirmationActions";const bl=({variant:e="default",...t})=>s.jsx(ze,{className:"h-8 px-3 text-sm",variant:e,type:"button",...t});bl.displayName="ConfirmationAction";const Ub=f.forwardRef(({className:e,...t},r)=>s.jsx("div",{ref:r,className:ve("rounded-xl border bg-card text-card-foreground shadow-sm",e),...t}));Ub.displayName="Card";const U5=f.forwardRef(({className:e,...t},r)=>s.jsx("div",{ref:r,className:ve("flex flex-col space-y-1.5 p-4",e),...t}));U5.displayName="CardHeader";const G5=f.forwardRef(({className:e,...t},r)=>s.jsx("h3",{ref:r,className:ve("font-semibold leading-none tracking-tight",e),...t}));G5.displayName="CardTitle";const $L=f.forwardRef(({className:e,...t},r)=>s.jsx("p",{ref:r,className:ve("text-sm text-muted-foreground",e),...t}));$L.displayName="CardDescription";const q5=f.forwardRef(({className:e,...t},r)=>s.jsx("div",{ref:r,className:ve("p-4 pt-0",e),...t}));q5.displayName="CardContent";const H5=f.forwardRef(({className:e,...t},r)=>s.jsx("div",{ref:r,className:ve("flex items-center p-4 pt-0",e),...t}));H5.displayName="CardFooter";const UL=f.forwardRef(({className:e,...t},r)=>s.jsx("div",{ref:r,className:ve("ml-auto shrink-0",e),...t}));UL.displayName="CardAction";const W5=f.createContext(null);function V5(){const e=f.useContext(W5);if(!e)throw new Error("Collapsible components must be used within <Collapsible>");return e}const Ka=f.forwardRef(({defaultOpen:e=!1,open:t,onOpenChange:r,className:n,children:a,...i},o)=>{const[l,c]=f.useState(e),u=t!==void 0,d=u?t:l,p=f.useCallback(m=>{u||c(m),r?.(m)},[u,r]),h=f.useMemo(()=>({open:d,onOpenChange:p}),[d,p]);return s.jsx(W5.Provider,{value:h,children:s.jsx("div",{ref:o,"data-state":d?"open":"closed",className:n,...i,children:a})})});Ka.displayName="Collapsible";const Sa=f.forwardRef(({onClick:e,children:t,className:r,...n},a)=>{const{open:i,onOpenChange:o}=V5(),l=f.useCallback(c=>{o(!i),e?.(c)},[i,o,e]);return s.jsx("button",{ref:a,type:"button","aria-expanded":i,"data-state":i?"open":"closed",onClick:l,className:r,...n,children:t})});Sa.displayName="CollapsibleTrigger";const Ya=f.forwardRef(({className:e,children:t,...r},n)=>{const{open:a}=V5();return s.jsx("div",{ref:n,"data-state":a?"open":"closed",className:ve("grid transition-[grid-template-rows] duration-200 ease-out",a?"grid-rows-[1fr]":"grid-rows-[0fr]",e),...r,children:s.jsx("div",{className:"overflow-hidden",children:t})})});Ya.displayName="CollapsibleContent";var rv=1,GL=.9,qL=.8,HL=.17,iu=.1,su=.999,WL=.9999,VL=.99,KL=/[\\\/_+.#"@\[\(\{&]/,YL=/[\\\/_+.#"@\[\(\{&]/g,ZL=/[\s-]/,K5=/[\s-]/g;function C0(e,t,r,n,a,i,o){if(i===t.length)return a===e.length?rv:VL;var l=`${a},${i}`;if(o[l]!==void 0)return o[l];for(var c=n.charAt(i),u=r.indexOf(c,a),d=0,p,h,m,g;u>=0;)p=C0(e,t,r,n,u+1,i+1,o),p>d&&(u===a?p*=rv:KL.test(e.charAt(u-1))?(p*=qL,m=e.slice(a,u-1).match(YL),m&&a>0&&(p*=Math.pow(su,m.length))):ZL.test(e.charAt(u-1))?(p*=GL,g=e.slice(a,u-1).match(K5),g&&a>0&&(p*=Math.pow(su,g.length))):(p*=HL,a>0&&(p*=Math.pow(su,u-a))),e.charAt(u)!==t.charAt(i)&&(p*=WL)),(p<iu&&r.charAt(u-1)===n.charAt(i+1)||n.charAt(i+1)===n.charAt(i)&&r.charAt(u-1)!==n.charAt(i))&&(h=C0(e,t,r,n,u+1,i+2,o),h*iu>p&&(p=h*iu)),p>d&&(d=p),u=r.indexOf(c,u+1);return o[l]=d,d}function nv(e){return e.toLowerCase().replace(K5," ")}function XL(e,t,r){return e=r&&r.length>0?`${e+" "+r.join(" ")}`:e,C0(e,t,nv(e),nv(t),0,0,{})}function wa(e,t,{checkForDefaultPrevented:r=!0}={}){return function(a){if(e?.(a),r===!1||!a.defaultPrevented)return t?.(a)}}function av(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Ea(...e){return t=>{let r=!1;const n=e.map(a=>{const i=av(a,t);return!r&&typeof i=="function"&&(r=!0),i});if(r)return()=>{for(let a=0;a<n.length;a++){const i=n[a];typeof i=="function"?i():av(e[a],null)}}}}function ri(...e){return f.useCallback(Ea(...e),e)}function JL(e,t){const r=f.createContext(t),n=i=>{const{children:o,...l}=i,c=f.useMemo(()=>l,Object.values(l));return s.jsx(r.Provider,{value:c,children:o})};n.displayName=e+"Provider";function a(i){const o=f.useContext(r);if(o)return o;if(t!==void 0)return t;throw new Error(`\`${i}\` must be used within \`${e}\``)}return[n,a]}function QL(e,t=[]){let r=[];function n(i,o){const l=f.createContext(o),c=r.length;r=[...r,o];const u=p=>{const{scope:h,children:m,...g}=p,b=h?.[e]?.[c]||l,x=f.useMemo(()=>g,Object.values(g));return s.jsx(b.Provider,{value:x,children:m})};u.displayName=i+"Provider";function d(p,h){const m=h?.[e]?.[c]||l,g=f.useContext(m);if(g)return g;if(o!==void 0)return o;throw new Error(`\`${p}\` must be used within \`${i}\``)}return[u,d]}const a=()=>{const i=r.map(o=>f.createContext(o));return function(l){const c=l?.[e]||i;return f.useMemo(()=>({[`__scope${e}`]:{...l,[e]:c}}),[l,c])}};return a.scopeName=e,[n,eP(a,...t)]}function eP(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const n=e.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(i){const o=n.reduce((l,{useScope:c,scopeName:u})=>{const p=c(i)[`__scope${u}`];return{...l,...p}},{});return f.useMemo(()=>({[`__scope${t.scopeName}`]:o}),[o])}};return r.scopeName=t.scopeName,r}var to=globalThis?.document?f.useLayoutEffect:()=>{},tP=yb[" useId ".trim().toString()]||(()=>{}),rP=0;function Qn(e){const[t,r]=f.useState(tP());return to(()=>{r(n=>n??String(rP++))},[e]),t?`radix-${t}`:""}var nP=yb[" useInsertionEffect ".trim().toString()]||to;function aP({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){const[a,i,o]=iP({defaultProp:t,onChange:r}),l=e!==void 0,c=l?e:a;{const d=f.useRef(e!==void 0);f.useEffect(()=>{const p=d.current;p!==l&&console.warn(`${n} is changing from ${p?"controlled":"uncontrolled"} to ${l?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),d.current=l},[l,n])}const u=f.useCallback(d=>{if(l){const p=sP(d)?d(e):d;p!==e&&o.current?.(p)}else i(d)},[l,e,i,o]);return[c,u]}function iP({defaultProp:e,onChange:t}){const[r,n]=f.useState(e),a=f.useRef(r),i=f.useRef(t);return nP(()=>{i.current=t},[t]),f.useEffect(()=>{a.current!==r&&(i.current?.(r),a.current=r)},[r,a]),[r,n,i]}function sP(e){return typeof e=="function"}function fo(e){const t=oP(e),r=f.forwardRef((n,a)=>{const{children:i,...o}=n,l=f.Children.toArray(i),c=l.find(cP);if(c){const u=c.props.children,d=l.map(p=>p===c?f.Children.count(u)>1?f.Children.only(null):f.isValidElement(u)?u.props.children:null:p);return s.jsx(t,{...o,ref:a,children:f.isValidElement(u)?f.cloneElement(u,void 0,d):null})}return s.jsx(t,{...o,ref:a,children:i})});return r.displayName=`${e}.Slot`,r}function oP(e){const t=f.forwardRef((r,n)=>{const{children:a,...i}=r;if(f.isValidElement(a)){const o=dP(a),l=uP(i,a.props);return a.type!==f.Fragment&&(l.ref=n?Ea(n,o):o),f.cloneElement(a,l)}return f.Children.count(a)>1?f.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var lP=Symbol("radix.slottable");function cP(e){return f.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===lP}function uP(e,t){const r={...t};for(const n in t){const a=e[n],i=t[n];/^on[A-Z]/.test(n)?a&&i?r[n]=(...l)=>{const c=i(...l);return a(...l),c}:a&&(r[n]=a):n==="style"?r[n]={...a,...i}:n==="className"&&(r[n]=[a,i].filter(Boolean).join(" "))}return{...e,...r}}function dP(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var pP=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Y5=pP.reduce((e,t)=>{const r=fo(`Primitive.${t}`),n=f.forwardRef((a,i)=>{const{asChild:o,...l}=a,c=o?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),s.jsx(c,{...l,ref:i})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function mP(e,t){e&&vb.flushSync(()=>e.dispatchEvent(t))}function ro(e){const t=f.useRef(e);return f.useEffect(()=>{t.current=e}),f.useMemo(()=>(...r)=>t.current?.(...r),[])}function hP(e,t=globalThis?.document){const r=ro(e);f.useEffect(()=>{const n=a=>{a.key==="Escape"&&r(a)};return t.addEventListener("keydown",n,{capture:!0}),()=>t.removeEventListener("keydown",n,{capture:!0})},[r,t])}var fP="DismissableLayer",N0="dismissableLayer.update",gP="dismissableLayer.pointerDownOutside",bP="dismissableLayer.focusOutside",iv,Z5=f.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),X5=f.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:n,onPointerDownOutside:a,onFocusOutside:i,onInteractOutside:o,onDismiss:l,...c}=e,u=f.useContext(Z5),[d,p]=f.useState(null),h=d?.ownerDocument??globalThis?.document,[,m]=f.useState({}),g=ri(t,C=>p(C)),b=Array.from(u.layers),[x]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),y=b.indexOf(x),k=d?b.indexOf(d):-1,w=u.layersWithOutsidePointerEventsDisabled.size>0,E=k>=y,N=vP(C=>{const A=C.target,T=[...u.branches].some(I=>I.contains(A));!E||T||(a?.(C),o?.(C),C.defaultPrevented||l?.())},h),v=kP(C=>{const A=C.target;[...u.branches].some(I=>I.contains(A))||(i?.(C),o?.(C),C.defaultPrevented||l?.())},h);return hP(C=>{k===u.layers.size-1&&(n?.(C),!C.defaultPrevented&&l&&(C.preventDefault(),l()))},h),f.useEffect(()=>{if(d)return r&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(iv=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),sv(),()=>{r&&u.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=iv)}},[d,h,r,u]),f.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),sv())},[d,u]),f.useEffect(()=>{const C=()=>m({});return document.addEventListener(N0,C),()=>document.removeEventListener(N0,C)},[]),s.jsx(Y5.div,{...c,ref:g,style:{pointerEvents:w?E?"auto":"none":void 0,...e.style},onFocusCapture:wa(e.onFocusCapture,v.onFocusCapture),onBlurCapture:wa(e.onBlurCapture,v.onBlurCapture),onPointerDownCapture:wa(e.onPointerDownCapture,N.onPointerDownCapture)})});X5.displayName=fP;var xP="DismissableLayerBranch",yP=f.forwardRef((e,t)=>{const r=f.useContext(Z5),n=f.useRef(null),a=ri(t,n);return f.useEffect(()=>{const i=n.current;if(i)return r.branches.add(i),()=>{r.branches.delete(i)}},[r.branches]),s.jsx(Y5.div,{...e,ref:a})});yP.displayName=xP;function vP(e,t=globalThis?.document){const r=ro(e),n=f.useRef(!1),a=f.useRef(()=>{});return f.useEffect(()=>{const i=l=>{if(l.target&&!n.current){let c=function(){J5(gP,r,u,{discrete:!0})};const u={originalEvent:l};l.pointerType==="touch"?(t.removeEventListener("click",a.current),a.current=c,t.addEventListener("click",a.current,{once:!0})):c()}else t.removeEventListener("click",a.current);n.current=!1},o=window.setTimeout(()=>{t.addEventListener("pointerdown",i)},0);return()=>{window.clearTimeout(o),t.removeEventListener("pointerdown",i),t.removeEventListener("click",a.current)}},[t,r]),{onPointerDownCapture:()=>n.current=!0}}function kP(e,t=globalThis?.document){const r=ro(e),n=f.useRef(!1);return f.useEffect(()=>{const a=i=>{i.target&&!n.current&&J5(bP,r,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",a),()=>t.removeEventListener("focusin",a)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function sv(){const e=new CustomEvent(N0);document.dispatchEvent(e)}function J5(e,t,r,{discrete:n}){const a=r.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&a.addEventListener(e,t,{once:!0}),n?mP(a,i):a.dispatchEvent(i)}var wP=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],SP=wP.reduce((e,t)=>{const r=fo(`Primitive.${t}`),n=f.forwardRef((a,i)=>{const{asChild:o,...l}=a,c=o?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),s.jsx(c,{...l,ref:i})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),ou="focusScope.autoFocusOnMount",lu="focusScope.autoFocusOnUnmount",ov={bubbles:!1,cancelable:!0},EP="FocusScope",Q5=f.forwardRef((e,t)=>{const{loop:r=!1,trapped:n=!1,onMountAutoFocus:a,onUnmountAutoFocus:i,...o}=e,[l,c]=f.useState(null),u=ro(a),d=ro(i),p=f.useRef(null),h=ri(t,b=>c(b)),m=f.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;f.useEffect(()=>{if(n){let b=function(w){if(m.paused||!l)return;const E=w.target;l.contains(E)?p.current=E:ba(p.current,{select:!0})},x=function(w){if(m.paused||!l)return;const E=w.relatedTarget;E!==null&&(l.contains(E)||ba(p.current,{select:!0}))},y=function(w){if(document.activeElement===document.body)for(const N of w)N.removedNodes.length>0&&ba(l)};document.addEventListener("focusin",b),document.addEventListener("focusout",x);const k=new MutationObserver(y);return l&&k.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",b),document.removeEventListener("focusout",x),k.disconnect()}}},[n,l,m.paused]),f.useEffect(()=>{if(l){cv.add(m);const b=document.activeElement;if(!l.contains(b)){const y=new CustomEvent(ou,ov);l.addEventListener(ou,u),l.dispatchEvent(y),y.defaultPrevented||(CP(jP(eA(l)),{select:!0}),document.activeElement===b&&ba(l))}return()=>{l.removeEventListener(ou,u),setTimeout(()=>{const y=new CustomEvent(lu,ov);l.addEventListener(lu,d),l.dispatchEvent(y),y.defaultPrevented||ba(b??document.body,{select:!0}),l.removeEventListener(lu,d),cv.remove(m)},0)}}},[l,u,d,m]);const g=f.useCallback(b=>{if(!r&&!n||m.paused)return;const x=b.key==="Tab"&&!b.altKey&&!b.ctrlKey&&!b.metaKey,y=document.activeElement;if(x&&y){const k=b.currentTarget,[w,E]=NP(k);w&&E?!b.shiftKey&&y===E?(b.preventDefault(),r&&ba(w,{select:!0})):b.shiftKey&&y===w&&(b.preventDefault(),r&&ba(E,{select:!0})):y===k&&b.preventDefault()}},[r,n,m.paused]);return s.jsx(SP.div,{tabIndex:-1,...o,ref:h,onKeyDown:g})});Q5.displayName=EP;function CP(e,{select:t=!1}={}){const r=document.activeElement;for(const n of e)if(ba(n,{select:t}),document.activeElement!==r)return}function NP(e){const t=eA(e),r=lv(t,e),n=lv(t.reverse(),e);return[r,n]}function eA(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const a=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||a?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function lv(e,t){for(const r of e)if(!TP(r,{upTo:t}))return r}function TP(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function AP(e){return e instanceof HTMLInputElement&&"select"in e}function ba(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&AP(e)&&t&&e.select()}}var cv=IP();function IP(){let e=[];return{add(t){const r=e[0];t!==r&&r?.pause(),e=uv(e,t),e.unshift(t)},remove(t){e=uv(e,t),e[0]?.resume()}}}function uv(e,t){const r=[...e],n=r.indexOf(t);return n!==-1&&r.splice(n,1),r}function jP(e){return e.filter(t=>t.tagName!=="A")}var _P=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],RP=_P.reduce((e,t)=>{const r=fo(`Primitive.${t}`),n=f.forwardRef((a,i)=>{const{asChild:o,...l}=a,c=o?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),s.jsx(c,{...l,ref:i})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),DP="Portal",tA=f.forwardRef((e,t)=>{const{container:r,...n}=e,[a,i]=f.useState(!1);to(()=>i(!0),[]);const o=r||a&&globalThis?.document?.body;return o?Ds.createPortal(s.jsx(RP.div,{...n,ref:t}),o):null});tA.displayName=DP;function MP(e,t){return f.useReducer((r,n)=>t[r][n]??r,e)}var xc=e=>{const{present:t,children:r}=e,n=OP(t),a=typeof r=="function"?r({present:n.isPresent}):f.Children.only(r),i=ri(n.ref,LP(a));return typeof r=="function"||n.isPresent?f.cloneElement(a,{ref:i}):null};xc.displayName="Presence";function OP(e){const[t,r]=f.useState(),n=f.useRef(null),a=f.useRef(e),i=f.useRef("none"),o=e?"mounted":"unmounted",[l,c]=MP(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return f.useEffect(()=>{const u=Ro(n.current);i.current=l==="mounted"?u:"none"},[l]),to(()=>{const u=n.current,d=a.current;if(d!==e){const h=i.current,m=Ro(u);e?c("MOUNT"):m==="none"||u?.display==="none"?c("UNMOUNT"):c(d&&h!==m?"ANIMATION_OUT":"UNMOUNT"),a.current=e}},[e,c]),to(()=>{if(t){let u;const d=t.ownerDocument.defaultView??window,p=m=>{const b=Ro(n.current).includes(CSS.escape(m.animationName));if(m.target===t&&b&&(c("ANIMATION_END"),!a.current)){const x=t.style.animationFillMode;t.style.animationFillMode="forwards",u=d.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=x)})}},h=m=>{m.target===t&&(i.current=Ro(n.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{d.clearTimeout(u),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else c("ANIMATION_END")},[t,c]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:f.useCallback(u=>{n.current=u?getComputedStyle(u):null,r(u)},[])}}function Ro(e){return e?.animationName||"none"}function LP(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var PP=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],go=PP.reduce((e,t)=>{const r=fo(`Primitive.${t}`),n=f.forwardRef((a,i)=>{const{asChild:o,...l}=a,c=o?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),s.jsx(c,{...l,ref:i})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),cu=0;function FP(){f.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??dv()),document.body.insertAdjacentElement("beforeend",e[1]??dv()),cu++,()=>{cu===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),cu--}},[])}function dv(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var _n=function(){return _n=Object.assign||function(t){for(var r,n=1,a=arguments.length;n<a;n++){r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[i]=r[i])}return t},_n.apply(this,arguments)};function rA(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,n=Object.getOwnPropertySymbols(e);a<n.length;a++)t.indexOf(n[a])<0&&Object.prototype.propertyIsEnumerable.call(e,n[a])&&(r[n[a]]=e[n[a]]);return r}function ni(e,t,r,n){function a(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function l(d){try{u(n.next(d))}catch(p){o(p)}}function c(d){try{u(n.throw(d))}catch(p){o(p)}}function u(d){d.done?i(d.value):a(d.value).then(l,c)}u((n=n.apply(e,t||[])).next())})}function zP(e,t,r){if(r||arguments.length===2)for(var n=0,a=t.length,i;n<a;n++)(i||!(n in t))&&(i||(i=Array.prototype.slice.call(t,0,n)),i[n]=t[n]);return e.concat(i||Array.prototype.slice.call(t))}var xl="right-scroll-bar-position",yl="width-before-scroll-bar",BP="with-scroll-bars-hidden",$P="--removed-body-scroll-bar-size";function uu(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function UP(e,t){var r=f.useState(function(){return{value:e,callback:t,facade:{get current(){return r.value},set current(n){var a=r.value;a!==n&&(r.value=n,r.callback(n,a))}}}})[0];return r.callback=t,r.facade}var GP=typeof window<"u"?f.useLayoutEffect:f.useEffect,pv=new WeakMap;function qP(e,t){var r=UP(null,function(n){return e.forEach(function(a){return uu(a,n)})});return GP(function(){var n=pv.get(r);if(n){var a=new Set(n),i=new Set(e),o=r.current;a.forEach(function(l){i.has(l)||uu(l,null)}),i.forEach(function(l){a.has(l)||uu(l,o)})}pv.set(r,e)},[e]),r}function HP(e){return e}function WP(e,t){t===void 0&&(t=HP);var r=[],n=!1,a={read:function(){if(n)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return r.length?r[r.length-1]:e},useMedium:function(i){var o=t(i,n);return r.push(o),function(){r=r.filter(function(l){return l!==o})}},assignSyncMedium:function(i){for(n=!0;r.length;){var o=r;r=[],o.forEach(i)}r={push:function(l){return i(l)},filter:function(){return r}}},assignMedium:function(i){n=!0;var o=[];if(r.length){var l=r;r=[],l.forEach(i),o=r}var c=function(){var d=o;o=[],d.forEach(i)},u=function(){return Promise.resolve().then(c)};u(),r={push:function(d){o.push(d),u()},filter:function(d){return o=o.filter(d),r}}}};return a}function VP(e){e===void 0&&(e={});var t=WP(null);return t.options=_n({async:!0,ssr:!1},e),t}var nA=function(e){var t=e.sideCar,r=rA(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var n=t.read();if(!n)throw new Error("Sidecar medium not found");return f.createElement(n,_n({},r))};nA.isSideCarExport=!0;function KP(e,t){return e.useMedium(t),nA}var aA=VP(),du=function(){},yc=f.forwardRef(function(e,t){var r=f.useRef(null),n=f.useState({onScrollCapture:du,onWheelCapture:du,onTouchMoveCapture:du}),a=n[0],i=n[1],o=e.forwardProps,l=e.children,c=e.className,u=e.removeScrollBar,d=e.enabled,p=e.shards,h=e.sideCar,m=e.noRelative,g=e.noIsolation,b=e.inert,x=e.allowPinchZoom,y=e.as,k=y===void 0?"div":y,w=e.gapMode,E=rA(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),N=h,v=qP([r,t]),C=_n(_n({},E),a);return f.createElement(f.Fragment,null,d&&f.createElement(N,{sideCar:aA,removeScrollBar:u,shards:p,noRelative:m,noIsolation:g,inert:b,setCallbacks:i,allowPinchZoom:!!x,lockRef:r,gapMode:w}),o?f.cloneElement(f.Children.only(l),_n(_n({},C),{ref:v})):f.createElement(k,_n({},C,{className:c,ref:v}),l))});yc.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};yc.classNames={fullWidth:yl,zeroRight:xl};var YP=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function ZP(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=YP();return t&&e.setAttribute("nonce",t),e}function XP(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function JP(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var QP=function(){var e=0,t=null;return{add:function(r){e==0&&(t=ZP())&&(XP(t,r),JP(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},e9=function(){var e=QP();return function(t,r){f.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&r])}},iA=function(){var e=e9(),t=function(r){var n=r.styles,a=r.dynamic;return e(n,a),null};return t},t9={left:0,top:0,right:0,gap:0},pu=function(e){return parseInt(e||"",10)||0},r9=function(e){var t=window.getComputedStyle(document.body),r=t[e==="padding"?"paddingLeft":"marginLeft"],n=t[e==="padding"?"paddingTop":"marginTop"],a=t[e==="padding"?"paddingRight":"marginRight"];return[pu(r),pu(n),pu(a)]},n9=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return t9;var t=r9(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},a9=iA(),$i="data-scroll-locked",i9=function(e,t,r,n){var a=e.left,i=e.top,o=e.right,l=e.gap;return r===void 0&&(r="margin"),`
|
|
749
|
+
`;function WM(){if(typeof document>"u"||document.getElementById(By))return;const e=document.createElement("style");e.id=By,e.type="text/css",e.innerText=HM,document.head.appendChild(e)}function VM({terminalContainerRef:e,terminalRef:t,fitAddonRef:r,wsRef:n,selectedProject:a,minimal:i,isRestarting:o,initialCommandRef:l,isPlainShellRef:c,authUrlRef:u,copyAuthUrlToClipboard:d,closeSocket:p}){const[h,m]=f.useState(!1),g=f.useRef(null),b=a?.fullPath||a?.path||"",x=!!a;f.useEffect(()=>{WM()},[]);const y=f.useCallback(()=>{t.current&&(t.current.clear(),t.current.write("\x1B[2J\x1B[H"))},[t]),k=f.useCallback(()=>{t.current&&(t.current.dispose(),t.current=null),r.current=null,m(!1)},[r,t]);return f.useEffect(()=>{if(!e.current||!x||o||t.current)return;const w=new UM.Terminal(_M);t.current=w;const E=new FM.FitAddon;r.current=E,w.loadAddon(E),i||w.loadAddon(new BM.WebLinksAddon);try{w.loadAddon(new $M.WebglAddon)}catch{console.warn("[Shell] WebGL renderer unavailable, using Canvas fallback")}w.open(e.current);const N=async()=>{const T=w.getSelection();return T?zn(T):!1},v=T=>{if(!w.hasSelection())return;const I=w.getSelection();if(I){if(T.preventDefault(),T.clipboardData){T.clipboardData.setData("text/plain",I);return}zn(I)}};e.current.addEventListener("copy",v),w.attachCustomKeyEventHandler(T=>{const I=o5(l.current)?i5:u.current;return T.type==="keydown"&&i&&c.current&&I&&!T.ctrlKey&&!T.metaKey&&!T.altKey&&T.key?.toLowerCase()==="c"?(T.preventDefault(),T.stopPropagation(),d(I),!1):T.type==="keydown"&&(T.ctrlKey||T.metaKey)&&T.key?.toLowerCase()==="c"&&w.hasSelection()?(T.preventDefault(),T.stopPropagation(),N(),!1):T.type==="keydown"&&(T.ctrlKey||T.metaKey)&&T.key?.toLowerCase()==="v"?(T.preventDefault(),T.stopPropagation(),typeof navigator<"u"&&navigator.clipboard?.readText&&navigator.clipboard.readText().then(O=>{qa(n.current,{type:"input",data:O})}).catch(()=>{}),!1):!0}),window.setTimeout(()=>{const T=r.current,I=t.current;!T||!I||(T.fit(),qa(n.current,{type:"resize",cols:I.cols,rows:I.rows}))},s5),m(!0);const C=w.onData(T=>{qa(n.current,{type:"input",data:T})}),A=new ResizeObserver(()=>{g.current!==null&&window.clearTimeout(g.current),g.current=window.setTimeout(()=>{const T=r.current,I=t.current;!T||!I||(T.fit(),qa(n.current,{type:"resize",cols:I.cols,rows:I.rows}))},CM)});return A.observe(e.current),()=>{e.current?.removeEventListener("copy",v),A.disconnect(),g.current!==null&&(window.clearTimeout(g.current),g.current=null),C.dispose(),p(),k()}},[u,p,d,k,r,l,c,o,i,x,b,e,t,n]),{isInitialized:h,clearTerminalScreen:y,disposeTerminal:k}}function KM({selectedProject:e,selectedSession:t,initialCommand:r,isPlainShell:n,minimal:a,autoConnect:i,isRestarting:o,onProcessComplete:l,onOutputRef:c}){const u=f.useRef(null),d=f.useRef(null),p=f.useRef(null),h=f.useRef(null),[m,g]=f.useState(""),[b,x]=f.useState(0),y=f.useRef(e),k=f.useRef(t),w=f.useRef(r),E=f.useRef(n),N=f.useRef(l),v=f.useRef(""),C=f.useRef(t?.id??null);f.useEffect(()=>{y.current=e,k.current=t,w.current=r,E.current=n,N.current=l},[e,t,r,n,l]);const A=f.useCallback(G=>{v.current=G,g(G),x(R=>R+1)},[]),T=f.useCallback(()=>{const G=h.current;G&&((G.readyState===WebSocket.OPEN||G.readyState===WebSocket.CONNECTING)&&G.close(),h.current=null)},[]),I=f.useCallback((G=v.current)=>{if(!G)return!1;const R=window.open(G,"_blank");if(R){try{R.opener=null}catch{}return!0}return!1},[]),O=f.useCallback(async(G=v.current)=>G?zn(G):!1,[]),{isInitialized:j,clearTerminalScreen:L,disposeTerminal:S}=VM({terminalContainerRef:u,terminalRef:d,fitAddonRef:p,wsRef:h,selectedProject:e,minimal:a,isRestarting:o,initialCommandRef:w,isPlainShellRef:E,authUrlRef:v,copyAuthUrlToClipboard:O,closeSocket:T}),{isConnected:B,isConnecting:V,connectToShell:q,disconnectFromShell:$}=PM({wsRef:h,terminalRef:d,fitAddonRef:p,selectedProjectRef:y,selectedSessionRef:k,initialCommandRef:w,isPlainShellRef:E,onProcessCompleteRef:N,isInitialized:j,autoConnect:i,closeSocket:T,clearTerminalScreen:L,setAuthUrl:A,onOutputRef:c});return f.useEffect(()=>{o&&($(),S())},[$,S,o]),f.useEffect(()=>{e||($(),S())},[$,S,e]),f.useEffect(()=>{const G=t?.id??null;C.current!==G&&j&&$(),C.current=G},[$,j,t?.id]),{terminalContainerRef:u,terminalRef:d,wsRef:h,isConnected:B,isInitialized:j,isConnecting:V,authUrl:m,authUrlVersion:b,connectToShell:q,disconnectFromShell:$,openAuthUrlInBrowser:I,copyAuthUrlToClipboard:O}}function YM({mode:e,description:t,loadingLabel:r,connectLabel:n,connectTitle:a,connectingLabel:i,onConnect:o}){return e==="loading"?s.jsx("div",{className:"absolute inset-0 z-20 flex items-center justify-center bg-gray-950/90",children:s.jsxs("div",{className:"inline-flex items-center gap-2 text-sm font-medium text-gray-100",children:[s.jsx(Dr,{className:"h-4 w-4 animate-spin text-blue-300","aria-hidden":"true"}),s.jsx("span",{children:r})]})}):e==="connect"?s.jsx("div",{className:"absolute inset-0 z-20 flex items-center justify-center bg-gray-950/90 p-6",children:s.jsxs("div",{className:"flex w-full max-w-md flex-col items-center gap-3 text-center",children:[s.jsxs("button",{type:"button",onClick:o,className:"pointer-events-auto inline-flex min-h-12 w-full max-w-xs cursor-pointer items-center justify-center gap-2 rounded-md bg-emerald-600 px-5 py-3 text-base font-semibold text-white shadow-lg shadow-emerald-950/30 transition-colors hover:bg-emerald-500 focus:outline-none focus:ring-2 focus:ring-emerald-300 focus:ring-offset-2 focus:ring-offset-gray-950 active:bg-emerald-700",title:a,children:[s.jsx(Xi,{className:"h-4 w-4","aria-hidden":"true"}),s.jsx("span",{className:"min-w-0 truncate",children:n})]}),s.jsx("p",{className:"max-w-md break-words px-2 text-sm leading-6 text-gray-300",children:t})]})}):s.jsx("div",{className:"absolute inset-0 z-20 flex items-center justify-center bg-gray-950/90 p-6",children:s.jsxs("div",{className:"flex w-full max-w-md flex-col items-center gap-3 text-center",children:[s.jsxs("div",{className:"flex items-center justify-center gap-3 text-yellow-300",children:[s.jsx(Dr,{className:"h-5 w-5 animate-spin","aria-hidden":"true"}),s.jsx("span",{className:"text-base font-medium",children:i})]}),s.jsx("p",{className:"max-w-md break-words px-2 text-sm leading-6 text-gray-300",children:t})]})})}function ZM({title:e,description:t}){return s.jsx("div",{className:"flex h-full items-center justify-center",children:s.jsxs("div",{className:"text-center text-gray-500 dark:text-gray-400",children:[s.jsx("div",{className:"mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-gray-100 dark:bg-gray-800",children:s.jsx("svg",{className:"h-8 w-8 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:s.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v14a2 2 0 002 2z"})})}),s.jsx("h3",{className:"mb-2 text-lg font-semibold",children:e}),s.jsx("p",{children:t})]})})}function XM({isConnected:e,isInitialized:t,isRestarting:r,hasSession:n,sessionDisplayNameShort:a,onDisconnect:i,onRestart:o,statusNewSessionText:l,statusInitializingText:c,statusRestartingText:u,disconnectLabel:d,disconnectTitle:p,restartLabel:h,restartTitle:m,disableRestart:g}){return s.jsx("div",{className:"flex-shrink-0 border-b border-gray-700 bg-gray-800 px-4 py-2",children:s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsxs("div",{className:"flex items-center space-x-2",children:[s.jsx("div",{className:`h-2 w-2 rounded-full ${e?"bg-green-500":"bg-red-500"}`}),n&&a&&s.jsxs("span",{className:"text-xs text-blue-300",children:["(",a,"...)"]}),!n&&s.jsx("span",{className:"text-xs text-gray-400",children:l}),!t&&s.jsx("span",{className:"text-xs text-yellow-400",children:c}),r&&s.jsx("span",{className:"text-xs text-blue-400",children:u})]}),s.jsxs("div",{className:"flex items-center gap-2",children:[e&&s.jsxs("button",{type:"button",onClick:i,className:"inline-flex h-8 items-center gap-1.5 rounded-md bg-red-600 px-3 text-xs font-medium text-white transition-colors hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-red-400/70 focus:ring-offset-2 focus:ring-offset-gray-800",title:p,children:[s.jsx(At,{className:"h-3.5 w-3.5","aria-hidden":"true"}),s.jsx("span",{children:d})]}),s.jsxs("button",{type:"button",onClick:o,disabled:g,className:"inline-flex h-8 items-center gap-1.5 rounded-md border border-gray-600/80 bg-gray-700/70 px-3 text-xs font-medium text-gray-100 transition-colors hover:border-blue-400/70 hover:bg-blue-600/80 hover:text-white focus:outline-none focus:ring-2 focus:ring-blue-400/70 focus:ring-offset-2 focus:ring-offset-gray-800 disabled:cursor-not-allowed disabled:border-transparent disabled:bg-transparent disabled:text-gray-500 disabled:opacity-60",title:m,children:[s.jsx(Xi,{className:`h-3.5 w-3.5 ${r?"animate-spin":""}`,"aria-hidden":"true"}),s.jsx("span",{children:h})]})]})]})})}function JM({terminalContainerRef:e,authUrl:t,authUrlVersion:r,initialCommand:n,isConnected:a,openAuthUrlInBrowser:i,copyAuthUrlToClipboard:o}){const[l,c]=f.useState("idle"),[u,d]=f.useState(!1),p=f.useMemo(()=>GM(n,t),[t,n]);f.useEffect(()=>{c("idle"),d(!1)},[r,p,a]);const h=!!p,m=h&&!u,g=h&&u;return s.jsxs("div",{className:"relative h-full w-full bg-gray-900",children:[s.jsx("div",{ref:e,className:"h-full w-full focus:outline-none",style:{outline:"none"}}),m&&s.jsx("div",{className:"absolute inset-x-0 bottom-14 z-20 border-t border-gray-700/80 bg-gray-900/95 p-3 backdrop-blur-sm md:hidden",children:s.jsxs("div",{className:"flex flex-col gap-2",children:[s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsx("p",{className:"text-xs text-gray-300",children:"Open or copy the login URL:"}),s.jsx("button",{type:"button",onClick:()=>d(!0),className:"rounded bg-gray-700 px-2 py-1 text-[10px] font-medium uppercase tracking-wide text-gray-100 hover:bg-gray-600",children:"Hide"})]}),s.jsx("input",{type:"text",value:p,readOnly:!0,onClick:b=>b.currentTarget.select(),className:"w-full rounded border border-gray-600 bg-gray-800 px-2 py-1 text-xs text-gray-100 focus:outline-none focus:ring-1 focus:ring-blue-500","aria-label":"Authentication URL"}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("button",{type:"button",onClick:()=>{i(p)},className:"flex-1 rounded bg-blue-600 px-3 py-2 text-xs font-medium text-white hover:bg-blue-700",children:"Open URL"}),s.jsx("button",{type:"button",onClick:async()=>{const b=await o(p);c(b?"copied":"failed")},className:"flex-1 rounded bg-gray-700 px-3 py-2 text-xs font-medium text-white hover:bg-gray-600",children:l==="copied"?"Copied":"Copy URL"})]})]})}),g&&s.jsx("div",{className:"absolute bottom-14 right-3 z-20 md:hidden",children:s.jsx("button",{type:"button",onClick:()=>d(!1),className:"rounded bg-gray-800/95 px-3 py-2 text-xs font-medium text-gray-100 shadow-lg backdrop-blur-sm hover:bg-gray-700",children:"Show login URL"})})]})}const QM=[{type:"key",id:"esc",label:"Esc",sequence:"\x1B"},{type:"key",id:"tab",label:"Tab",sequence:" "},{type:"key",id:"shift-tab",label:"⇧Tab",sequence:"\x1B[Z"},{type:"modifier",id:"ctrl",label:"CTRL",modifier:"ctrl"},{type:"modifier",id:"alt",label:"ALT",modifier:"alt"},{type:"arrow",id:"arrow-up",sequence:"\x1B[A",icon:"up"},{type:"arrow",id:"arrow-down",sequence:"\x1B[B",icon:"down"},{type:"arrow",id:"arrow-left",sequence:"\x1B[D",icon:"left"},{type:"arrow",id:"arrow-right",sequence:"\x1B[C",icon:"right"}],eO={up:FT,down:mc,left:QR,right:Cb},vs=e=>e.preventDefault(),$y="shrink-0 rounded-md border border-gray-600 bg-gray-700 px-2.5 py-1.5 text-xs font-medium text-gray-100 transition-colors select-none active:bg-blue-600 active:text-white active:border-blue-600 disabled:cursor-not-allowed disabled:opacity-40",tO="shrink-0 rounded-md border border-blue-500 bg-blue-600 px-2.5 py-1.5 text-xs font-medium text-white transition-colors select-none disabled:cursor-not-allowed disabled:opacity-40",eu="shrink-0 rounded-md border border-gray-600 bg-gray-700 p-1.5 text-gray-100 transition-colors select-none active:bg-blue-600 active:text-white active:border-blue-600 disabled:cursor-not-allowed disabled:opacity-40";function Uy({wsRef:e,terminalRef:t,isConnected:r,bottomOffset:n="bottom-0"}){const{t:a}=Ge("settings"),[i,o]=f.useState(!1),[l,c]=f.useState(!1),u=f.useCallback(m=>{qa(e.current,{type:"input",data:m})},[e]),d=f.useCallback(()=>{t.current?.scrollToBottom()},[t]),p=f.useCallback(async()=>{if(!(typeof navigator>"u"||!navigator.clipboard?.readText))try{const m=await navigator.clipboard.readText();m.length>0&&u(m)}catch{}},[u]),h=f.useCallback(m=>{let g=m;if(i&&m.length===1){const b=m.toLowerCase().charCodeAt(0);b>=97&&b<=122&&(g=String.fromCharCode(b-96)),o(!1)}l&&m.length===1&&(g="\x1B"+g,c(!1)),u(g)},[i,l,u]);return s.jsx("div",{className:`pointer-events-none fixed inset-x-0 ${n} z-20 px-2 md:hidden`,children:s.jsxs("div",{className:"pointer-events-auto flex items-center gap-1 overflow-x-auto rounded-lg border border-gray-700/80 bg-gray-900/95 px-1.5 py-1.5 shadow-lg backdrop-blur-sm [-webkit-overflow-scrolling:touch] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",children:[s.jsx("button",{type:"button",onPointerDown:vs,onClick:()=>{p()},disabled:!r,className:eu,title:a("terminalShortcuts.paste",{defaultValue:"Paste"}),"aria-label":a("terminalShortcuts.paste",{defaultValue:"Paste"}),children:s.jsx(GT,{className:"h-4 w-4"})}),QM.map(m=>{if(m.type==="modifier"){const g=m.modifier==="ctrl"?i:l,b=m.modifier==="ctrl"?()=>o(x=>!x):()=>c(x=>!x);return s.jsx("button",{type:"button",onPointerDown:vs,onClick:b,disabled:!r,className:g?tO:$y,children:m.label},m.id)}if(m.type==="arrow"){const g=eO[m.icon];return s.jsx("button",{type:"button",onPointerDown:vs,onClick:()=>u(m.sequence),disabled:!r,className:eu,children:s.jsx(g,{className:"h-4 w-4"})},m.id)}return s.jsx("button",{type:"button",onPointerDown:vs,onClick:()=>h(m.sequence),disabled:!r,className:$y,children:m.label},m.id)}),s.jsx("button",{type:"button",onPointerDown:vs,onClick:d,disabled:!r,className:eu,title:a("terminalShortcuts.scrollDown"),"aria-label":a("terminalShortcuts.scrollDown"),children:s.jsx(PT,{className:"h-4 w-4"})})]})})}function l5({selectedProject:e=null,selectedSession:t=null,initialCommand:r=null,isPlainShell:n=!1,onProcessComplete:a=null,minimal:i=!1,autoConnect:o=!1,isActive:l=!0}){const{t:c}=Ge("chat"),[u,d]=f.useState(!1),[p,h]=f.useState(null),m=f.useRef(null),g=f.useRef(null),b=f.useRef(!1),x=f.useRef(null),{terminalContainerRef:y,terminalRef:k,wsRef:w,isConnected:E,isInitialized:N,isConnecting:v,authUrl:C,authUrlVersion:A,connectToShell:T,disconnectFromShell:I,openAuthUrlInBrowser:O,copyAuthUrlToClipboard:j}=KM({selectedProject:e,selectedSession:t,initialCommand:r,isPlainShell:n,minimal:i,autoConnect:o,isRestarting:u,onProcessComplete:a,onOutputRef:x}),L=f.useCallback(()=>{const Y=k.current;if(!Y)return;const oe=Y.buffer.active,J=oe.baseY+oe.cursorY,de=Math.min(oe.baseY+oe.length-1,J+10),me=Math.max(0,J-TM),fe=[];for(let ae=me;ae<=de;ae++){const se=oe.getLine(ae);se&&fe.push(se.translateToString().trimEnd())}let Se=-1;for(let ae=fe.length-1;ae>=0;ae--)if(/esc to cancel/i.test(fe[ae])||/enter to select/i.test(fe[ae])){Se=ae;break}if(Se===-1){h(null);return}const Re=new Map,Ie=Math.max(0,Se-AM);for(let ae=Se-1;ae>=Ie;ae--){const se=fe[ae].match(/^\s*[❯›>]?\s*(\d+)\.\s+(.+)/);if(se){const Z=se[1],H=se[2].trim();parseInt(Z,10)<=IM&&H.length>0&&!Re.has(Z)&&Re.set(Z,H)}}const P=[];for(let ae=1;ae<=Re.size&&Re.has(String(ae));ae++)P.push({number:String(ae),label:Re.get(String(ae))});h(P.length>=jM?P:null)},[k]),S=f.useCallback(()=>{m.current&&clearTimeout(m.current),m.current=setTimeout(L,NM)},[L]);f.useEffect(()=>{x.current=S},[S]),f.useEffect(()=>()=>{m.current&&clearTimeout(m.current),g.current&&clearTimeout(g.current)},[]),f.useEffect(()=>{E||(m.current&&(clearTimeout(m.current),m.current=null),h(null))},[E]),f.useEffect(()=>{if(!l||!N||!E)return;const Y=()=>{k.current?.focus()},oe=window.requestAnimationFrame(Y),J=window.setTimeout(Y,0);return()=>{window.cancelAnimationFrame(oe),window.clearTimeout(J)}},[l,E,N,k]);const B=f.useCallback(Y=>{qa(w.current,{type:"input",data:Y})},[w]),V=f.useMemo(()=>qM(t),[t]),q=f.useMemo(()=>V?V.slice(0,30):null,[V]),$=f.useMemo(()=>V?V.slice(0,50):null,[V]),G=f.useCallback(()=>{b.current=!0,d(!0),g.current&&clearTimeout(g.current),g.current=setTimeout(()=>{d(!1),g.current=null},EM)},[]),R=f.useCallback(()=>{b.current=!1,g.current&&(clearTimeout(g.current),g.current=null),d(!1),I({suppressAutoConnect:!0})},[I]);if(f.useEffect(()=>{!b.current||u||!N||E||v||(b.current=!1,T({forceRestart:!0}))},[T,E,v,N,u]),!e)return s.jsx(ZM,{title:c("shell.selectProject.title"),description:c("shell.selectProject.description")});if(i)return s.jsxs(s.Fragment,{children:[s.jsx(JM,{terminalContainerRef:y,authUrl:C,authUrlVersion:A,initialCommand:r,isConnected:E,openAuthUrlInBrowser:O,copyAuthUrlToClipboard:j}),s.jsx(Uy,{wsRef:w,terminalRef:k,isConnected:E,bottomOffset:"bottom-0"})]});const z=n?c("shell.runCommand",{command:r||c("shell.defaultCommand"),projectName:e.displayName}):t?c("shell.resumeSession",{displayName:$}):c("shell.startSession"),M=n?c("shell.runCommand",{command:r||c("shell.defaultCommand"),projectName:e.displayName}):c("shell.startCli",{projectName:e.displayName}),F=N?v?"connecting":E?null:"connect":"loading",K=F==="connecting"?M:z;return s.jsxs("div",{className:"flex h-full w-full flex-col bg-gray-900",children:[s.jsx(XM,{isConnected:E,isInitialized:N,isRestarting:u,hasSession:!!t,sessionDisplayNameShort:q,onDisconnect:R,onRestart:G,statusNewSessionText:c("shell.status.newSession"),statusInitializingText:c("shell.status.initializing"),statusRestartingText:c("shell.status.restarting"),disconnectLabel:c("shell.actions.disconnect"),disconnectTitle:c("shell.actions.disconnectTitle"),restartLabel:c("shell.actions.restart"),restartTitle:c("shell.actions.restartTitle"),disableRestart:u||!N}),s.jsxs("div",{className:"relative flex-1 overflow-hidden p-2",children:[s.jsx("div",{ref:y,className:"h-full w-full focus:outline-none",style:{outline:"none"}}),F&&s.jsx(YM,{mode:F,description:K,loadingLabel:c("shell.loading"),connectLabel:c("shell.actions.connect"),connectTitle:c("shell.actions.connectTitle"),connectingLabel:c("shell.connecting"),onConnect:G}),p&&E&&s.jsx("div",{className:"absolute inset-x-0 bottom-0 z-10 border-t border-gray-700/80 bg-gray-800/95 px-3 py-2 backdrop-blur-sm",onMouseDown:Y=>Y.preventDefault(),children:s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[p.map(Y=>s.jsxs("button",{type:"button",onClick:()=>{B(Y.number),h(null)},className:"max-w-36 truncate rounded bg-blue-600 px-3 py-1.5 text-xs font-medium text-white transition-colors hover:bg-blue-700",title:`${Y.number}. ${Y.label}`,children:[Y.number,". ",Y.label]},Y.number)),s.jsx("button",{type:"button",onClick:()=>{B("\x1B"),h(null)},className:"rounded bg-gray-700 px-3 py-1.5 text-xs font-medium text-gray-200 transition-colors hover:bg-gray-600",children:"Esc"})]})})]}),s.jsx(Uy,{wsRef:w,terminalRef:k,isConnected:E})]})}function rO({className:e}){return s.jsx("div",{className:`flex h-full items-center justify-center ${e}`,children:s.jsxs("div",{className:"text-center text-gray-500 dark:text-gray-400",children:[s.jsx("div",{className:"mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-gray-100 dark:bg-gray-800",children:s.jsx("svg",{className:"h-8 w-8 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:s.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 002 2z"})})}),s.jsx("h3",{className:"mb-2 text-lg font-semibold",children:"No Project Selected"}),s.jsx("p",{children:"A project is required to open a shell"})]})})}function nO({title:e,isCompleted:t,onClose:r=null}){return s.jsx("div",{className:"flex-shrink-0 border-b border-gray-700 bg-gray-800 px-4 py-2",children:s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsxs("div",{className:"flex items-center space-x-2",children:[s.jsx("h3",{className:"text-sm font-medium text-gray-200",children:e}),t&&s.jsx("span",{className:"text-xs text-green-400",children:"(Completed)"})]}),r&&s.jsx("button",{onClick:r,className:"text-gray-400 hover:text-white",title:"Close",children:s.jsx("svg",{className:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:s.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})})}function c5({project:e=null,session:t=null,command:r=null,isPlainShell:n=null,isActive:a=!0,autoConnect:i=!0,onComplete:o=null,onClose:l=null,title:c=null,className:u="",showHeader:d=!0,compact:p=!1,minimal:h=!1}){const[m,g]=f.useState(!1),b=n!==null?n:r!==null,x=f.useCallback(y=>{g(!0),o?.(y)},[o]);return e?s.jsxs("div",{className:`flex h-full w-full flex-col ${u}`,children:[!h&&d&&c&&s.jsx(nO,{title:c,isCompleted:m,onClose:l}),s.jsx("div",{className:"min-h-0 w-full flex-1",children:s.jsx(l5,{selectedProject:e,selectedSession:t,initialCommand:r,isPlainShell:b,isActive:a,onProcessComplete:x,minimal:h,autoConnect:h?!0:i})})]}):s.jsx(rO,{className:u})}const aO=({provider:e,customCommand:t,isAuthenticated:r})=>t||(e==="claude"?"claude --dangerously-skip-permissions /login":e==="cursor"?"cursor-agent login":e==="codex"?"codex login":e==="opencode"?"opencode auth login":"gemini status"),iO=e=>e==="claude"?"Claude CLI Login":e==="cursor"?"Cursor CLI Login":e==="codex"?"Codex CLI Login":e==="opencode"?"OpenCode CLI Login":"Gemini CLI Configuration";function u5({isOpen:e,onClose:t,provider:r="claude",onComplete:n,customCommand:a,isAuthenticated:i=!1}){if(!e)return null;const o=aO({provider:r,customCommand:a,isAuthenticated:i}),l=iO(r),c=u=>{n?.(u)};return s.jsx("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black bg-opacity-50 max-md:items-stretch max-md:justify-stretch",children:s.jsxs("div",{className:"flex h-3/4 w-full max-w-4xl flex-col rounded-lg bg-white shadow-xl dark:bg-gray-800 max-md:m-0 max-md:h-full max-md:max-w-none max-md:rounded-none md:m-4 md:h-3/4 md:max-w-4xl md:rounded-lg",children:[s.jsxs("div",{className:"flex items-center justify-between border-b border-gray-200 p-4 dark:border-gray-700",children:[s.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:l}),s.jsx("button",{onClick:t,className:"text-gray-400 transition-colors hover:text-gray-600 dark:hover:text-gray-300","aria-label":"Close login modal",children:s.jsx(At,{className:"h-6 w-6"})})]}),s.jsx("div",{className:"flex-1 overflow-hidden",children:r==="gemini"?s.jsxs("div",{className:"flex h-full flex-col items-center justify-center bg-gray-50 p-8 text-center dark:bg-gray-900/50",children:[s.jsx("div",{className:"mb-6 flex h-16 w-16 items-center justify-center rounded-full bg-blue-100 dark:bg-blue-900/30",children:s.jsx(VT,{className:"h-8 w-8 text-blue-600 dark:text-blue-400"})}),s.jsx("h4",{className:"mb-3 text-xl font-medium text-gray-900 dark:text-white",children:"Setup Gemini API Access"}),s.jsx("p",{className:"mb-8 max-w-md text-gray-600 dark:text-gray-400",children:"The Gemini CLI requires an API key to function. Configure it in your terminal first."}),s.jsx("div",{className:"w-full max-w-lg rounded-xl border border-gray-200 bg-white p-6 text-left shadow-sm dark:border-gray-700 dark:bg-gray-800",children:s.jsxs("ol",{className:"space-y-4",children:[s.jsxs("li",{className:"flex gap-4",children:[s.jsx("div",{className:"flex h-6 w-6 flex-shrink-0 items-center justify-center rounded-full bg-blue-100 text-sm font-medium text-blue-600 dark:bg-blue-900/50 dark:text-blue-400",children:"1"}),s.jsxs("div",{children:[s.jsx("p",{className:"mb-1 text-sm font-medium text-gray-900 dark:text-white",children:"Get your API key"}),s.jsxs("a",{href:"https://aistudio.google.com/app/apikey",target:"_blank",rel:"noreferrer",className:"flex inline-flex items-center gap-1 text-sm text-blue-600 hover:underline dark:text-blue-400",children:["Google AI Studio ",s.jsx(yn,{className:"h-3 w-3"})]})]})]}),s.jsxs("li",{className:"flex gap-4",children:[s.jsx("div",{className:"flex h-6 w-6 flex-shrink-0 items-center justify-center rounded-full bg-blue-100 text-sm font-medium text-blue-600 dark:bg-blue-900/50 dark:text-blue-400",children:"2"}),s.jsxs("div",{children:[s.jsx("p",{className:"mb-1 text-sm font-medium text-gray-900 dark:text-white",children:"Run configuration"}),s.jsx("p",{className:"mb-2 text-sm text-gray-600 dark:text-gray-400",children:"Open your terminal and run:"}),s.jsx("code",{className:"block rounded bg-gray-100 px-3 py-2 font-mono text-sm text-pink-600 dark:bg-gray-900 dark:text-pink-400",children:"gemini config set api_key YOUR_KEY"})]})]})]})}),s.jsx("button",{onClick:t,className:"mt-8 rounded-lg bg-blue-600 px-6 py-2.5 font-medium text-white transition-colors hover:bg-blue-700",children:"Done"})]}):s.jsx(c5,{project:FR,command:o,onComplete:c,minimal:!0})})]})})}const sO=({className:e="w-5 h-5"})=>s.jsx("img",{src:"/icons/claude-ai-icon.svg",alt:"Claude",className:e}),oO=({className:e="w-5 h-5"})=>{const{isDarkMode:t}=ei();return s.jsx("img",{src:t?"/icons/codex-white.svg":"/icons/codex.svg",alt:"Codex",className:e})},lO=({className:e="w-5 h-5"})=>{const{isDarkMode:t}=ei();return s.jsx("img",{src:t?"/icons/cursor-white.svg":"/icons/cursor.svg",alt:"Cursor",className:e})},cO=({className:e="w-5 h-5"})=>s.jsx("img",{src:"/icons/gemini-ai-icon.svg",alt:"Gemini",className:e}),uO=({className:e="w-5 h-5"})=>s.jsxs("svg",{viewBox:"0 0 24 24",role:"img","aria-label":"OpenCode",className:e,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[s.jsx("rect",{x:"2.5",y:"2.5",width:"19",height:"19",rx:"4",className:"fill-foreground"}),s.jsx("path",{d:"M8.1 8.1 4.9 12l3.2 3.9M15.9 8.1l3.2 3.9-3.2 3.9M13.2 6.9l-2.4 10.2",className:"stroke-background",strokeWidth:"1.9",strokeLinecap:"round",strokeLinejoin:"round"})]});function pn({provider:e="claude",className:t="w-5 h-5"}){return e==="cursor"?s.jsx(lO,{className:t}):e==="codex"?s.jsx(oO,{className:t}):e==="gemini"?s.jsx(cO,{className:t}):e==="opencode"?s.jsx(uO,{className:t}):s.jsx(sO,{className:t})}function dO({provider:e,title:t,status:r,connectedClassName:n,iconContainerClassName:a,loginButtonClassName:i,onLogin:o}){const l=r.authenticated?n:"border-border bg-card",c=r.loading?"Checking...":r.authenticated?r.email||"Connected":r.error||"Not connected";return s.jsx("div",{className:`rounded-lg border p-4 transition-colors ${l}`,children:s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("div",{className:`flex h-10 w-10 items-center justify-center rounded-full ${a}`,children:s.jsx(pn,{provider:e,className:"h-5 w-5"})}),s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center gap-2 font-medium text-foreground",children:[t,r.authenticated&&s.jsx(fr,{className:"h-4 w-4 text-green-500"})]}),s.jsx("div",{className:"text-xs text-muted-foreground",children:c})]})]}),!r.authenticated&&!r.loading&&s.jsx("button",{onClick:o,className:`${i} rounded-lg px-4 py-2 text-sm font-medium text-white transition-colors`,children:"Login"})]})})}const pO=[{provider:"claude",title:"Claude Code",connectedClassName:"bg-blue-50 dark:bg-blue-900/20 border-blue-200 dark:border-blue-800",iconContainerClassName:"bg-blue-100 dark:bg-blue-900/30",loginButtonClassName:"bg-blue-600 hover:bg-blue-700"},{provider:"cursor",title:"Cursor",connectedClassName:"bg-purple-50 dark:bg-purple-900/20 border-purple-200 dark:border-purple-800",iconContainerClassName:"bg-purple-100 dark:bg-purple-900/30",loginButtonClassName:"bg-purple-600 hover:bg-purple-700"},{provider:"codex",title:"OpenAI Codex",connectedClassName:"bg-gray-100 dark:bg-gray-800/50 border-gray-300 dark:border-gray-600",iconContainerClassName:"bg-gray-100 dark:bg-gray-800",loginButtonClassName:"bg-gray-800 hover:bg-gray-900 dark:bg-gray-700 dark:hover:bg-gray-600"},{provider:"gemini",title:"Gemini",connectedClassName:"bg-teal-50 dark:bg-teal-900/20 border-teal-200 dark:border-teal-800",iconContainerClassName:"bg-teal-100 dark:bg-teal-900/30",loginButtonClassName:"bg-teal-600 hover:bg-teal-700"},{provider:"opencode",title:"OpenCode",connectedClassName:"bg-zinc-100 dark:bg-zinc-800/50 border-zinc-300 dark:border-zinc-600",iconContainerClassName:"bg-zinc-100 dark:bg-zinc-800",loginButtonClassName:"bg-zinc-800 hover:bg-zinc-900 dark:bg-zinc-700 dark:hover:bg-zinc-600"}];function mO({providerStatuses:e,onOpenProviderLogin:t}){return s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{className:"mb-6 text-center",children:[s.jsx("h2",{className:"mb-2 text-2xl font-bold text-foreground",children:"Connect Your AI Agents"}),s.jsx("p",{className:"text-muted-foreground",children:"Login to one or more AI coding assistants. All are optional."})]}),s.jsx("div",{className:"space-y-3",children:pO.map(r=>s.jsx(dO,{provider:r.provider,title:r.title,status:e[r.provider],connectedClassName:r.connectedClassName,iconContainerClassName:r.iconContainerClassName,loginButtonClassName:r.loginButtonClassName,onLogin:()=>t(r.provider)},r.provider))}),s.jsx("div",{className:"pt-2 text-center text-sm text-muted-foreground",children:s.jsx("p",{children:"You can configure these later in Settings."})})]})}function hO({gitName:e,gitEmail:t,isSubmitting:r,onGitNameChange:n,onGitEmailChange:a}){return s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{className:"mb-8 text-center",children:[s.jsx("div",{className:"mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-blue-100 dark:bg-blue-900/30",children:s.jsx(Hr,{className:"h-8 w-8 text-blue-600 dark:text-blue-400"})}),s.jsx("h2",{className:"mb-2 text-2xl font-bold text-foreground",children:"Git Configuration"}),s.jsx("p",{className:"text-muted-foreground",children:"Configure your git identity to ensure proper attribution for commits."})]}),s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{children:[s.jsxs("label",{htmlFor:"gitName",className:"mb-2 flex items-center gap-2 text-sm font-medium text-foreground",children:[s.jsx(t5,{className:"h-4 w-4"}),"Git Name ",s.jsx("span",{className:"text-red-500",children:"*"})]}),s.jsx("input",{type:"text",id:"gitName",value:e,onChange:i=>n(i.target.value),className:"w-full rounded-lg border border-border bg-background px-4 py-3 text-foreground focus:border-transparent focus:outline-none focus:ring-2 focus:ring-blue-500",placeholder:"John Doe",required:!0,disabled:r}),s.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"Saved as `git config --global user.name`."})]}),s.jsxs("div",{children:[s.jsxs("label",{htmlFor:"gitEmail",className:"mb-2 flex items-center gap-2 text-sm font-medium text-foreground",children:[s.jsx(Z8,{className:"h-4 w-4"}),"Git Email ",s.jsx("span",{className:"text-red-500",children:"*"})]}),s.jsx("input",{type:"email",id:"gitEmail",value:t,onChange:i=>a(i.target.value),className:"w-full rounded-lg border border-border bg-background px-4 py-3 text-foreground focus:border-transparent focus:outline-none focus:ring-2 focus:ring-blue-500",placeholder:"john@example.com",required:!0,disabled:r}),s.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"Saved as `git config --global user.email`."})]})]})]})}const Gy=[{title:"Git Configuration",icon:Hr,required:!0},{title:"Connect Agents",icon:ZT,required:!1}];function fO({currentStep:e}){return s.jsx("div",{className:"mb-8",children:s.jsx("div",{className:"flex items-center justify-between",children:Gy.map((t,r)=>{const n=r<e,a=r===e,i=t.icon;return s.jsxs("div",{className:"contents",children:[s.jsxs("div",{className:"flex flex-1 flex-col items-center",children:[s.jsx("div",{className:`flex h-12 w-12 items-center justify-center rounded-full border-2 transition-colors duration-200 ${n?"border-green-500 bg-green-500 text-white":a?"border-blue-600 bg-blue-600 text-white":"border-border bg-background text-muted-foreground"}`,children:n?s.jsx(fr,{className:"h-6 w-6"}):s.jsx(i,{className:"h-6 w-6"})}),s.jsxs("div",{className:"mt-2 text-center",children:[s.jsx("p",{className:`text-sm font-medium ${a?"text-foreground":"text-muted-foreground"}`,children:t.title}),t.required&&s.jsx("span",{className:"text-xs text-red-500",children:"Required"})]})]}),r<Gy.length-1&&s.jsx("div",{className:`mx-2 h-0.5 flex-1 transition-colors duration-200 ${n?"bg-green-500":"bg-border"}`})]},t.title)})})})}const qy=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,Hy=async(e,t)=>{try{return(await e.json()).error||t}catch{return t}};function gO({onComplete:e}){const[t,r]=f.useState(0),[n,a]=f.useState(""),[i,o]=f.useState(""),[l,c]=f.useState(!1),[u,d]=f.useState(""),[p,h]=f.useState(null),{providerAuthStatus:m,checkProviderAuthStatus:g,refreshProviderAuthStatuses:b}=a5(),x=f.useRef(void 0),y=f.useCallback(async()=>{try{const A=await je("/api/user/git-config");if(!A.ok)return;const T=await A.json();T.gitName&&a(T.gitName),T.gitEmail&&o(T.gitEmail)}catch(A){console.error("Error loading git config:",A)}},[]);f.useEffect(()=>{y(),b()},[y,b]),f.useEffect(()=>{const A=x.current;x.current=p,A!=null&&p===null&&b()},[p,b]);const k=A=>{h(A)},w=A=>{A===0&&p&&g(p)},E=async()=>{if(d(""),t!==0){r(A=>A+1);return}if(!n.trim()||!i.trim()){d("Both git name and email are required.");return}if(!qy.test(i)){d("Please enter a valid email address.");return}c(!0);try{const A=await je("/api/user/git-config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({gitName:n,gitEmail:i})});if(!A.ok){const T=await Hy(A,"Failed to save git configuration");throw new Error(T)}r(T=>T+1)}catch(A){d(A instanceof Error?A.message:"Failed to save git configuration")}finally{c(!1)}},N=()=>{d(""),r(A=>A-1)},v=async()=>{c(!0),d("");try{const A=await je("/api/user/complete-onboarding",{method:"POST"});if(!A.ok){const T=await Hy(A,"Failed to complete onboarding");throw new Error(T)}await e?.()}catch(A){d(A instanceof Error?A.message:"Failed to complete onboarding")}finally{c(!1)}},C=t===0?!!(n.trim()&&i.trim()&&qy.test(i)):!0;return s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"flex min-h-screen items-center justify-center bg-background p-4",children:s.jsxs("div",{className:"w-full max-w-2xl",children:[s.jsx(fO,{currentStep:t}),s.jsxs("div",{className:"rounded-lg border border-border bg-card p-8 shadow-lg",children:[t===0?s.jsx(hO,{gitName:n,gitEmail:i,isSubmitting:l,onGitNameChange:a,onGitEmailChange:o}):s.jsx(mO,{providerStatuses:m,onOpenProviderLogin:k}),u&&s.jsx("div",{className:"mt-6 rounded-lg border border-red-300 bg-red-100 p-4 dark:border-red-800 dark:bg-red-900/20",children:s.jsx("p",{className:"text-sm text-red-700 dark:text-red-400",children:u})}),s.jsxs("div",{className:"mt-8 flex items-center justify-between border-t border-border pt-6",children:[s.jsxs("button",{onClick:N,disabled:t===0||l,className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-muted-foreground transition-colors duration-200 hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",children:[s.jsx(Tb,{className:"h-4 w-4"}),"Previous"]}),s.jsx("div",{className:"flex items-center gap-3",children:t<1?s.jsx("button",{onClick:E,disabled:!C||l,className:"flex items-center gap-2 rounded-lg bg-blue-600 px-6 py-3 font-medium text-white transition-colors duration-200 hover:bg-blue-700 disabled:cursor-not-allowed disabled:bg-blue-400",children:l?s.jsxs(s.Fragment,{children:[s.jsx(Dr,{className:"h-4 w-4 animate-spin"}),"Saving..."]}):s.jsxs(s.Fragment,{children:["Next",s.jsx(dn,{className:"h-4 w-4"})]})}):s.jsx("button",{onClick:v,disabled:l,className:"flex items-center gap-2 rounded-lg bg-green-600 px-6 py-3 font-medium text-white transition-colors duration-200 hover:bg-green-700 disabled:cursor-not-allowed disabled:bg-green-400",children:l?s.jsxs(s.Fragment,{children:[s.jsx(Dr,{className:"h-4 w-4 animate-spin"}),"Completing..."]}):s.jsxs(s.Fragment,{children:[s.jsx(fr,{className:"h-4 w-4"}),"Complete Setup"]})})})]})]})]})}),p&&s.jsx(u5,{isOpen:!!p,onClose:()=>h(null),provider:p,onComplete:w})]})}const bO=["0s","0.1s","0.2s"];function xO(){return s.jsx("div",{className:"flex min-h-screen items-center justify-center bg-background p-4",children:s.jsxs("div",{className:"text-center",children:[s.jsx("div",{className:"mb-4 flex justify-center",children:s.jsx("div",{className:"flex h-16 w-16 items-center justify-center rounded-lg bg-primary shadow-sm",children:s.jsx(Ln,{className:"h-8 w-8 text-primary-foreground"})})}),s.jsx("h1",{className:"mb-2 text-2xl font-bold text-foreground",children:"CloudCLI"}),s.jsx("div",{className:"flex items-center justify-center space-x-2",children:bO.map(e=>s.jsx("div",{className:"h-2 w-2 animate-bounce rounded-full bg-blue-500",style:{animationDelay:e}},e))}),s.jsx("p",{className:"mt-2 text-muted-foreground",children:"Loading..."})]})})}function d5({errorMessage:e}){return e?s.jsx("div",{className:"rounded-md border border-red-300 bg-red-100 p-3 dark:border-red-800 dark:bg-red-900/20",children:s.jsx("p",{className:"text-sm text-red-700 dark:text-red-400",children:e})}):null}function Vs({id:e,label:t,value:r,onChange:n,placeholder:a,isDisabled:i,type:o="text",name:l,autoComplete:c}){return s.jsxs("div",{children:[s.jsx("label",{htmlFor:e,className:"mb-1 block text-sm font-medium text-foreground",children:t}),s.jsx("input",{id:e,type:o,name:l??e,autoComplete:c,value:r,onChange:u=>n(u.target.value),className:"w-full rounded-md border border-border bg-background px-3 py-2 text-foreground focus:border-transparent focus:outline-none focus:ring-2 focus:ring-blue-500",placeholder:a,required:!0,disabled:i})]})}function p5({title:e,description:t,children:r,footerText:n,logo:a}){return s.jsx("div",{className:"flex min-h-screen items-center justify-center bg-background p-4",children:s.jsx("div",{className:"w-full max-w-md",children:s.jsxs("div",{className:"space-y-6 rounded-lg border border-border bg-card p-8 shadow-lg",children:[s.jsxs("div",{className:"text-center",children:[s.jsx("div",{className:"mb-4 flex justify-center",children:a??s.jsx("div",{className:"flex h-16 w-16 items-center justify-center rounded-lg bg-primary shadow-sm",children:s.jsx(Ln,{className:"h-8 w-8 text-primary-foreground"})})}),s.jsx("h1",{className:"text-2xl font-bold text-foreground",children:e}),s.jsx("p",{className:"mt-2 text-muted-foreground",children:t})]}),r,s.jsx("div",{className:"text-center",children:s.jsx("p",{className:"text-sm text-muted-foreground",children:n})}),s.jsxs("div",{className:"flex items-center justify-center gap-1.5 pt-2",children:[s.jsx("svg",{className:"h-3.5 w-3.5 text-muted-foreground/50",fill:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:s.jsx("path",{d:"M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z"})}),s.jsx("a",{href:"https://github.com/siteboon/claudecodeui",target:"_blank",rel:"noopener noreferrer",className:"text-xs text-muted-foreground/50 transition-colors hover:text-muted-foreground",children:"CloudCLI is open source"})]})]})})})}const yO={username:"",password:""};function vO(){const{t:e}=Ge("auth"),{login:t}=mo(),[r,n]=f.useState(yO),[a,i]=f.useState(""),[o,l]=f.useState(!1),c=f.useCallback((d,p)=>{n(h=>({...h,[d]:p}))},[]),u=f.useCallback(async d=>{if(d.preventDefault(),i(""),!r.username.trim()||!r.password){i(e("login.errors.requiredFields"));return}l(!0);const p=await t(r.username.trim(),r.password);p.success||i(p.error),l(!1)},[r.password,r.username,t,e]);return s.jsx(p5,{title:e("login.title"),description:e("login.description"),footerText:"Enter your credentials to access CloudCLI",children:s.jsxs("form",{onSubmit:u,className:"space-y-4",children:[s.jsx(Vs,{id:"username",label:e("login.username"),value:r.username,onChange:d=>c("username",d),placeholder:e("login.placeholders.username"),isDisabled:o,autoComplete:"username"}),s.jsx(Vs,{id:"password",label:e("login.password"),value:r.password,onChange:d=>c("password",d),placeholder:e("login.placeholders.password"),isDisabled:o,type:"password",autoComplete:"current-password"}),s.jsx(d5,{errorMessage:a}),s.jsx("button",{type:"submit",disabled:o,className:"w-full rounded-md bg-blue-600 px-4 py-2 font-medium text-white transition-colors duration-200 hover:bg-blue-700 disabled:bg-blue-400",children:e(o?"login.loading":"login.submit")})]})})}const kO={username:"",password:"",confirmPassword:""};function wO(e){return!e.username.trim()||!e.password||!e.confirmPassword?"Please fill in all fields.":e.username.trim().length<3?"Username must be at least 3 characters long.":e.password.length<6?"Password must be at least 6 characters long.":e.password!==e.confirmPassword?"Passwords do not match.":null}function SO(){const{register:e}=mo(),[t,r]=f.useState(kO),[n,a]=f.useState(""),[i,o]=f.useState(!1),l=f.useCallback((u,d)=>{r(p=>({...p,[u]:d}))},[]),c=f.useCallback(async u=>{u.preventDefault(),a("");const d=wO(t);if(d){a(d);return}o(!0);const p=await e(t.username.trim(),t.password);p.success||a(p.error),o(!1)},[t,e]);return s.jsx(p5,{title:"Welcome to CloudCLI",description:"Set up your account to get started",footerText:"This is a single-user system. Only one account can be created.",logo:s.jsx("img",{src:"/logo.svg",alt:"CloudCLI",className:"h-16 w-16"}),children:s.jsxs("form",{onSubmit:c,className:"space-y-4",children:[s.jsx(Vs,{id:"username",name:"username",label:"Username",value:t.username,onChange:u=>l("username",u),placeholder:"Enter your username",isDisabled:i,autoComplete:"username"}),s.jsx(Vs,{id:"password",name:"password",label:"Password",value:t.password,onChange:u=>l("password",u),placeholder:"Enter your password",isDisabled:i,type:"password",autoComplete:"new-password"}),s.jsx(Vs,{id:"confirmPassword",name:"confirmPassword",label:"Confirm Password",value:t.confirmPassword,onChange:u=>l("confirmPassword",u),placeholder:"Confirm your password",isDisabled:i,type:"password",autoComplete:"new-password"}),s.jsx(d5,{errorMessage:n}),s.jsx("button",{type:"submit",disabled:i,className:"w-full rounded-md bg-blue-600 px-4 py-2 font-medium text-white transition-colors duration-200 hover:bg-blue-700 disabled:bg-blue-400",children:i?"Setting up...":"Create Account"})]})})}function EO({children:e}){const{user:t,isLoading:r,needsSetup:n,hasCompletedOnboarding:a,refreshOnboardingStatus:i}=mo();return r?s.jsx(xO,{}):n?s.jsx(SO,{}):t?a?s.jsx(s.Fragment,{children:e}):s.jsx(gO,{onComplete:i}):s.jsx(vO,{})}const m5=f.createContext(null),h5=()=>{const e=f.useContext(m5);if(!e)throw new Error("useWebSocket must be used within a WebSocketProvider");return e},CO=e=>{const t=window.location.protocol==="https:"?"wss:":"ws:";return e?`${t}//${window.location.host}/ws?token=${encodeURIComponent(e)}`:null},NO=()=>{const e=f.useRef(null),t=f.useRef(!1),r=f.useRef(!1),[n,a]=f.useState(null),[i,o]=f.useState(!1),l=f.useRef(null),{token:c}=mo();f.useEffect(()=>(t.current=!1,u(),()=>{t.current=!0,l.current&&clearTimeout(l.current),e.current&&e.current.close()}),[c]);const u=f.useCallback(()=>{if(!t.current)try{const h=CO(c);if(!h)return console.warn("No authentication token found for WebSocket connection");const m=new WebSocket(h);m.onopen=()=>{o(!0),e.current=m,r.current&&a({type:"websocket-reconnected",timestamp:Date.now()}),r.current=!0},m.onmessage=g=>{try{const b=JSON.parse(g.data);a(b)}catch(b){console.error("Error parsing WebSocket message:",b)}},m.onclose=()=>{o(!1),e.current=null,l.current=setTimeout(()=>{t.current||u()},3e3)},m.onerror=g=>{console.error("WebSocket error:",g)}}catch(h){console.error("Error creating WebSocket connection:",h)}},[c]),d=f.useCallback(h=>{const m=e.current;m&&m.readyState===WebSocket.OPEN?m.send(JSON.stringify(h)):console.warn("WebSocket not connected")},[]);return f.useMemo(()=>({ws:e.current,sendMessage:d,latestMessage:n,isConnected:i}),[d,n,i])},TO=({children:e})=>{const t=NO();return s.jsx(m5.Provider,{value:t,children:e})},f5=f.createContext(null);function AO(e,t){return{message:t instanceof Error?t.message:`Failed to ${e}`,context:e,timestamp:new Date().toISOString()}}function pi(e){return{...e,taskMasterConfigured:e.taskmaster?.hasTaskmaster??!1,taskMasterStatus:e.taskmaster?.status??"not-configured",taskCount:Number(e.taskmaster?.metadata?.taskCount??0),completedCount:Number(e.taskmaster?.metadata?.completed??0)}}function IO(e){return e.find(t=>t.status==="pending"||t.status==="in-progress")??null}function jO(e){return e?.type?e.type.startsWith("taskmaster-"):!1}function os(){const e=f.useContext(f5);if(!e)throw new Error("useTaskMaster must be used within a TaskMasterProvider");return e}function _O({children:e}){const{latestMessage:t}=h5(),{user:r,token:n,isLoading:a}=mo(),[i,o]=f.useState([]),[l,c]=f.useState(null),[u,d]=f.useState(null),[p,h]=f.useState(null),[m,g]=f.useState([]),[b,x]=f.useState(null),[y,k]=f.useState(!1),[w,E]=f.useState(!1),[N,v]=f.useState(!1),[C,A]=f.useState(null),T=f.useRef(null),I=f.useRef(null),O=f.useRef(0);f.useEffect(()=>{T.current=l?.projectId??null},[l?.projectId]),f.useEffect(()=>{I.current=u},[u]);const j=f.useCallback(()=>{A(null)},[]),L=f.useCallback((z,M)=>{console.error(`TaskMaster ${z} error:`,M),A(AO(z,M))},[]),S=f.useCallback((z,M)=>{d(M),o(F=>F.map(K=>K.projectId!==z?K:pi({...K,taskmaster:M??void 0}))),c(F=>!F||F.projectId!==z?F:pi({...F,taskmaster:M??void 0}))},[]),B=f.useCallback(async z=>{if(!z||!r||!n)return;const M=++O.current;try{const F=await st.projectTaskmaster(z);if(!F.ok)throw new Error(`Failed to fetch TaskMaster details: ${F.status}`);const Y=(await F.json()).taskmaster??null;if(M!==O.current||T.current!==z)return;S(z,Y)}catch(F){if(M!==O.current||T.current!==z)return;L("load selected project TaskMaster info",F)}},[S,L,n,r]),V=f.useCallback(z=>{const M=z?pi(z):null;if(c(M),d(M?.taskmaster??null),g([]),x(null),!M?.projectId){O.current+=1;return}B(M.projectId)},[B]),q=f.useCallback(async()=>{if(!r||!n){o([]),c(null),d(null),g([]),x(null);return}try{k(!0),j();const z=await st.get("/projects");if(!z.ok)throw new Error(`Failed to fetch projects: ${z.status}`);const M=await z.json(),K=(Array.isArray(M)?M:[]).map(de=>pi(de));o(de=>{const me=new Map(de.filter(fe=>!!fe.taskmaster).map(fe=>[fe.projectId,fe.taskmaster]));return K.map(fe=>{const Se=me.get(fe.projectId);return Se?pi({...fe,taskmaster:Se}):fe})});const Y=T.current;if(!Y)return;const oe=K.find(de=>de.projectId===Y)??null;if(!oe){O.current+=1,c(null),d(null),g([]),x(null);return}const J=oe.taskmaster??I.current??null;c(J?pi({...oe,taskmaster:J}):oe),d(J),B(Y)}catch(z){L("load projects",z)}finally{k(!1)}},[j,L,B,n,r]),$=f.useCallback(async()=>{const z=l?.projectId;if(!z||!r||!n){g([]),x(null);return}try{E(!0),j();const M=await st.get(`/taskmaster/tasks/${encodeURIComponent(z)}`);if(!M.ok){const Y=await M.json();throw new Error(Y.message??"Failed to load tasks")}const F=await M.json(),K=Array.isArray(F.tasks)?F.tasks:[];g(K),x(IO(K))}catch(M){L("load tasks",M),g([]),x(null)}finally{E(!1)}},[j,l?.projectId,L,n,r]),G=f.useCallback(async()=>{if(!r||!n){h(null);return}try{v(!0),j();const z=await st.get("/mcp-utils/taskmaster-server");if(!z.ok)throw new Error(`Failed to load MCP status: ${z.status}`);const M=await z.json();h(M)}catch(z){L("check MCP server status",z),h(null)}finally{v(!1)}},[j,L,n,r]);f.useEffect(()=>{!a&&r&&n&&(q(),G())},[a,G,q,n,r]),f.useEffect(()=>{l?.projectId&&r&&n&&$()},[l?.projectId,$,n,r]),f.useEffect(()=>{const z=t;if(jO(z)){if(z.type==="taskmaster-project-updated"&&z.projectId){z.projectId===T.current&&B(z.projectId),q();return}if(z.type==="taskmaster-tasks-updated"&&z.projectId===l?.projectId){$();return}z.type==="taskmaster-mcp-status-changed"&&G()}},[l?.projectId,t,B,G,q,$]);const R=f.useMemo(()=>({projects:i,currentProject:l,projectTaskMaster:u,mcpServerStatus:p,tasks:m,nextTask:b,isLoading:y,isLoadingTasks:w,isLoadingMCP:N,error:C,refreshProjects:q,setCurrentProject:V,refreshTasks:$,refreshMCPStatus:G,clearError:j}),[j,l,C,y,N,w,p,b,u,i,G,q,$,V,m]);return s.jsx(f5.Provider,{value:R,children:e})}const g5=f.createContext({tasksEnabled:!0,setTasksEnabled:()=>{},toggleTasksEnabled:()=>{},isTaskMasterInstalled:null,isTaskMasterReady:null,installationStatus:null,isCheckingInstallation:!0}),gc=()=>{const e=f.useContext(g5);if(!e)throw new Error("useTasksSettings must be used within a TasksSettingsProvider");return e},RO=({children:e})=>{const[t,r]=f.useState(()=>{const m=localStorage.getItem("tasks-enabled");return m!==null?JSON.parse(m):!0}),[n,a]=f.useState(null),[i,o]=f.useState(null),[l,c]=f.useState(null),[u,d]=f.useState(!0);f.useEffect(()=>{localStorage.setItem("tasks-enabled",JSON.stringify(t))},[t]),f.useEffect(()=>{setTimeout(async()=>{try{const g=await st.get("/taskmaster/installation-status");if(g.ok){const b=await g.json();c(b),a(b.installation?.isInstalled||!1),o(b.isReady||!1);const x=localStorage.getItem("tasks-enabled");!b.installation?.isInstalled&&!x&&r(!1)}else console.error("Failed to check TaskMaster installation status"),a(!1),o(!1)}catch(g){console.error("Error checking TaskMaster installation:",g),a(!1),o(!1)}finally{d(!1)}},0)},[]);const h={tasksEnabled:t,setTasksEnabled:r,toggleTasksEnabled:()=>{r(m=>!m)},isTaskMasterInstalled:n,isTaskMasterReady:i,installationStatus:l,isCheckingInstallation:u};return s.jsx(g5.Provider,{value:h,children:e})},b5=f.createContext(null);function bc(){const e=f.useContext(b5);if(!e)throw new Error("usePlugins must be used within a PluginsProvider");return e}function DO({children:e}){const[t,r]=f.useState([]),[n,a]=f.useState(!0),[i,o]=f.useState(null),l=f.useCallback(async()=>{try{const h=await je("/api/plugins");if(h.ok){const m=await h.json();r(m.plugins||[]),o(null)}else{let m=`Failed to fetch plugins (${h.status})`;try{const g=await h.json();m=g.details||g.error||m}catch{m=h.statusText||m}o(m)}}catch(h){const m=h instanceof Error?h.message:"Failed to fetch plugins";o(m),console.error("[Plugins] Failed to fetch plugins:",h)}finally{a(!1)}},[]);f.useEffect(()=>{l()},[l]);const c=f.useCallback(async h=>{try{const m=await je("/api/plugins/install",{method:"POST",body:JSON.stringify({url:h})}),g=await m.json();return m.ok?(await l(),{success:!0}):{success:!1,error:g.details||g.error||"Install failed"}}catch(m){return{success:!1,error:m instanceof Error?m.message:"Install failed"}}},[l]),u=f.useCallback(async h=>{try{const m=await je(`/api/plugins/${encodeURIComponent(h)}`,{method:"DELETE"}),g=await m.json();return m.ok?(await l(),{success:!0}):{success:!1,error:g.details||g.error||"Uninstall failed"}}catch(m){return{success:!1,error:m instanceof Error?m.message:"Uninstall failed"}}},[l]),d=f.useCallback(async h=>{try{const m=await je(`/api/plugins/${encodeURIComponent(h)}/update`,{method:"POST"}),g=await m.json();return m.ok?(await l(),{success:!0}):{success:!1,error:g.details||g.error||"Update failed"}}catch(m){return{success:!1,error:m instanceof Error?m.message:"Update failed"}}},[l]),p=f.useCallback(async(h,m)=>{try{const g=await je(`/api/plugins/${encodeURIComponent(h)}/enable`,{method:"PUT",body:JSON.stringify({enabled:m})});if(!g.ok){let b=`Toggle failed (${g.status})`;try{const x=await g.json();b=x.details||x.error||b}catch{b=g.statusText||b}return{success:!1,error:b}}return await l(),{success:!0,error:null}}catch(g){return{success:!1,error:g instanceof Error?g.message:"Toggle failed"}}},[l]);return s.jsx(b5.Provider,{value:{plugins:t,loading:n,pluginsError:i,refreshPlugins:l,installPlugin:c,uninstallPlugin:u,updatePlugin:d,togglePlugin:p},children:e})}const Wy=e=>typeof window>"u"?!1:window.innerWidth<e,Vy=()=>{if(typeof window>"u")return!1;const e=window.navigator;return window.matchMedia("(display-mode: standalone)").matches||!!e.standalone||document.referrer.includes("android-app://")};function Pb(e={}){const{mobileBreakpoint:t=768,trackMobile:r=!0,trackPWA:n=!0}=e,[a,i]=f.useState(()=>r?Wy(t):!1),[o,l]=f.useState(()=>n?Vy():!1);return f.useEffect(()=>{if(!r||typeof window>"u")return;const c=()=>{i(Wy(t))};return c(),window.addEventListener("resize",c),()=>{window.removeEventListener("resize",c)}},[t,r]),f.useEffect(()=>{if(!n||typeof window>"u")return;const c=window.matchMedia("(display-mode: standalone)"),u=()=>{l(Vy())};return u(),typeof c.addEventListener=="function"?(c.addEventListener("change",u),()=>{c.removeEventListener("change",u)}):(c.addListener(u),()=>{c.removeListener(u)})},[n]),{isMobile:a,isPWA:o}}const Ky="1.34.0",MO=(e,t)=>{const r=e.split(".").map(Number),n=t.split(".").map(Number);for(let a=0;a<Math.max(r.length,n.length);a++){const i=r[a]||0,o=n[a]||0;if(i!==o)return i-o}return 0},x5=(e,t)=>{const[r,n]=f.useState(!1),[a,i]=f.useState(null),[o,l]=f.useState(null),[c,u]=f.useState("git");return f.useEffect(()=>{(async()=>{try{const h=await(await fetch("/health")).json();(h.installMode==="npm"||h.installMode==="git")&&u(h.installMode)}catch{}})()},[]),f.useEffect(()=>{const d=async()=>{try{const m=await(await fetch(`https://api.github.com/repos/${e}/${t}/releases/latest`)).json();if(m.tag_name){const g=m.tag_name.replace(/^v/,"");i(g),n(MO(g,Ky)>0),l({title:m.name||m.tag_name,body:m.body||"",htmlUrl:m.html_url||`https://github.com/${e}/${t}/releases/latest`,publishedAt:m.published_at})}else n(!1),i(null),l(null)}catch(h){console.error("Version check failed:",h),n(!1),i(null),l(null)}};d();const p=setInterval(d,300*1e3);return()=>clearInterval(p)},[e,t]),{updateAvailable:r,latestVersion:a,currentVersion:Ky,releaseInfo:o,installMode:c}},$a={autoExpandTools:!1,showRawParameters:!1,showThinking:!0,autoScrollToBottom:!0,sendByCtrlEnter:!1,sidebarVisible:!0},Bl=Object.keys($a),OO=new Set(Bl),tu="ui-preferences:sync",$l=(e,t)=>{if(typeof e=="boolean")return e;if(typeof e=="string"){if(e==="true")return!0;if(e==="false")return!1}return t},LO=(e,t)=>{try{const r=localStorage.getItem(e);if(r===null)return t;const n=JSON.parse(r);return $l(n,t)}catch{return t}},PO=e=>{if(typeof window>"u")return $a;try{const t=localStorage.getItem(e);if(t){const r=JSON.parse(t);if(r&&typeof r=="object"&&!Array.isArray(r)){const n=r;return Bl.reduce((a,i)=>(a[i]=$l(n[i],$a[i]),a),{...$a})}}}catch{}return Bl.reduce((t,r)=>(t[r]=LO(r,$a[r]),t),{...$a})};function FO(e,t){switch(t.type){case"set":{const{key:r,value:n}=t;if(!OO.has(r))return e;const a=$l(n,e[r]);return e[r]===a?e:{...e,[r]:a}}case"set_many":{const r=t.value||{};let n=!1;const a={...e};for(const i of Bl){if(!(i in r))continue;const o=r[i],l=$l(o,e[i]);a[i]!==l&&(a[i]=l,n=!0)}return n?a:e}case"reset":return{...$a,...t.value||{}};default:return e}}function Fb(e="uiPreferences"){const t=f.useRef(`ui-preferences-${Math.random().toString(36).slice(2)}`),[r,n]=f.useReducer(FO,e,PO);return f.useEffect(()=>{typeof window>"u"||(localStorage.setItem(e,JSON.stringify(r)),window.dispatchEvent(new CustomEvent(tu,{detail:{storageKey:e,sourceId:t.current,value:r}})))},[r,e]),f.useEffect(()=>{if(typeof window>"u")return;const l=d=>{!d||typeof d!="object"||Array.isArray(d)||n({type:"set_many",value:d})},c=d=>{if(!(d.key!==e||d.newValue===null))try{const p=JSON.parse(d.newValue);l(p)}catch{}},u=d=>{const h=d.detail;!h||h.storageKey!==e||h.sourceId===t.current||l(h.value)};return window.addEventListener("storage",c),window.addEventListener(tu,u),()=>{window.removeEventListener("storage",c),window.removeEventListener(tu,u)}},[e]),{preferences:r,setPreference:(l,c)=>{n({type:"set",key:l,value:c})},setPreferences:l=>{n({type:"set_many",value:l})},resetPreferences:l=>{n({type:"reset",value:l})},dispatch:n}}const zb=f.createContext(null),ru={openFile:()=>{},openSettings:()=>{},refreshProjects:()=>{}};function zO({children:e}){const t=f.useRef({});return s.jsx(zb.Provider,{value:t,children:e})}function ho(){const e=f.useContext(zb);return f.useMemo(()=>({openFile:t=>(e?.current.openFile??ru.openFile)(t),openSettings:t=>(e?.current.openSettings??ru.openSettings)(t),refreshProjects:()=>(e?.current.refreshProjects??ru.refreshProjects)()}),[e])}function y5(e){const t=f.useContext(zb),{openFile:r,openSettings:n,refreshProjects:a}=e;f.useEffect(()=>{if(!t)return;const i={...t.current};return r&&(t.current.openFile=r),n&&(t.current.openSettings=n),a&&(t.current.refreshProjects=a),()=>{r&&t.current.openFile===r&&(t.current.openFile=i.openFile),n&&t.current.openSettings===n&&(t.current.openSettings=i.openSettings),a&&t.current.refreshProjects===a&&(t.current.refreshProjects=i.refreshProjects)}},[t,r,n,a])}const BO=()=>{try{const e=localStorage.getItem("claude-settings");return e&&JSON.parse(e).projectSortOrder==="date"?"date":"name"}catch{return"name"}},v5="starredProjects",$O=()=>{try{const e=localStorage.getItem(v5);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.map(r=>String(r).trim()).filter(r=>r.length>0):[]}catch{return[]}},UO=()=>{try{localStorage.removeItem(v5)}catch{}},k5=e=>String(e.createdAt||e.created_at||""),w5=e=>String(e.lastActivity||""),Ul=e=>new Date(w5(e)||k5(e)||0),GO=(e,t)=>e.summary||e.name||t("projects.newSession"),qO=e=>w5(e)||k5(e),HO=(e,t,r)=>{const n=Ul(e),a=Math.floor((t.getTime()-n.getTime())/(1e3*60));return{isCursorSession:e.__provider==="cursor",isCodexSession:e.__provider==="codex",isGeminiSession:e.__provider==="gemini",isOpenCodeSession:e.__provider==="opencode",isActive:a<10,sessionName:GO(e,r),sessionTime:qO(e),messageCount:Number(e.messageCount||0)}},Gl=e=>{const t=[...e.sessions||[]].map(o=>({...o,__provider:"claude"})),r=(e.cursorSessions||[]).map(o=>({...o,__provider:"cursor"})),n=(e.codexSessions||[]).map(o=>({...o,__provider:"codex"})),a=(e.geminiSessions||[]).map(o=>({...o,__provider:"gemini"})),i=(e.opencodeSessions||[]).map(o=>({...o,__provider:"opencode"}));return[...t,...r,...n,...a,...i].sort((o,l)=>Ul(l).getTime()-Ul(o).getTime())},Yy=e=>{const t=Gl(e);return t.length===0?new Date(0):t.reduce((r,n)=>{const a=Ul(n);return a>r?a:r},new Date(0))},WO=(e,t)=>{const r=[...e];return r.sort((n,a)=>{const i=!!n.isStarred,o=!!a.isStarred;return i&&!o?-1:!i&&o?1:t==="date"?Yy(a).getTime()-Yy(n).getTime():(n.displayName||n.projectId).localeCompare(a.displayName||a.projectId)}),r},VO=(e,t)=>{const r=t.trim().toLowerCase();return r?e.filter(n=>{const a=(n.displayName||n.projectId).toLowerCase(),i=(n.path||n.fullPath||"").toLowerCase();return a.includes(r)||i.includes(r)}):e},KO=(e,t)=>{const r=!!e.taskmaster?.hasTaskmaster,n=!!(t?.hasMCPServer&&t?.isConfigured);return r&&n?"fully-configured":r?"taskmaster-only":n?"mcp-only":"not-configured"},YO=e=>{const t=typeof e.fullPath=="string"&&e.fullPath.length>0?e.fullPath:typeof e.path=="string"?e.path:"";return{name:e.projectId,displayName:typeof e.displayName=="string"&&e.displayName.trim().length>0?e.displayName:e.projectId,fullPath:t,path:typeof e.path=="string"&&e.path.length>0?e.path:t}};function ZO({projects:e,selectedProject:t,selectedSession:r,isLoading:n,isMobile:a,t:i,onRefresh:o,onProjectSelect:l,onSessionSelect:c,onSessionDelete:u,onLoadMoreSessions:d,onProjectDelete:p,setCurrentProject:h,setSidebarVisible:m,sidebarVisible:g}){const b=ho(),[x,y]=f.useState(new Set),[k,w]=f.useState(null),[E,N]=f.useState(!1),[v,C]=f.useState(""),[A,T]=f.useState(new Set),[I,O]=f.useState(new Date),[j,L]=f.useState("name"),[S,B]=f.useState(!1),[V,q]=f.useState(null),[$,G]=f.useState(""),[R,z]=f.useState(""),[M,F]=f.useState(new Set),[K,Y]=f.useState(null),[oe,J]=f.useState(null),[de,me]=f.useState(!1),[fe,Se]=f.useState("projects"),[Re,Ie]=f.useState(null),[P,ae]=f.useState(!1),[se,Z]=f.useState(null),[H,ie]=f.useState([]),[pe,xe]=f.useState([]),[ce,ye]=f.useState(!1),[Q,re]=f.useState(""),[X,ue]=f.useState(new Map),[be,Me]=f.useState(new Set),Oe=f.useRef(0),Xe=f.useRef(null),ot=f.useRef(new Map),Je=f.useRef(!1),at=f.useRef(o),mt=!a&&!g;f.useEffect(()=>{const ke=setInterval(()=>{O(new Date)},6e4);return()=>clearInterval(ke)},[]),f.useEffect(()=>{T(new Set)},[e]),f.useEffect(()=>{const ke=t?.projectId;ke&&y(Ce=>{if(Ce.has(ke))return Ce;const Pe=new Set(Ce);return Pe.add(ke),Pe})},[t?.projectId]),f.useEffect(()=>{if(e.length>0&&!n){const ke=new Set;e.forEach(Ce=>{Ce.sessions&&Ce.sessions.length>=0&&ke.add(Ce.projectId)}),T(ke)}},[e,n]),f.useEffect(()=>{const ke=()=>{L(BO())};ke();const Ce=qe=>{qe.key==="claude-settings"&&ke()};window.addEventListener("storage",Ce);const Pe=setInterval(()=>{document.hasFocus()&&ke()},1e3);return()=>{window.removeEventListener("storage",Ce),clearInterval(Pe)}},[]),f.useEffect(()=>{at.current=o},[o]);const Ve=f.useCallback(async()=>{ye(!0);try{const[ke,Ce]=await Promise.all([st.archivedProjects(),st.getArchivedSessions()]);if(!ke.ok)throw new Error(`Failed to load archived projects: ${ke.status}`);if(!Ce.ok)throw new Error(`Failed to load archived sessions: ${Ce.status}`);const Pe=await ke.json(),qe=await Ce.json(),_t=Array.isArray(Pe.data?.projects)?Pe.data.projects:[],Ct=new Set(_t.map(Ht=>Ht.projectId)),dr=Array.isArray(qe.data?.sessions)?qe.data.sessions.filter(Ht=>!Ht.projectId||!Ct.has(Ht.projectId)):[];ie(_t),xe(dr)}catch(ke){console.error("[Sidebar] Failed to load archived sessions:",ke)}finally{ye(!1)}},[]);f.useEffect(()=>{if(Je.current)return;const ke=$O();if(ke.length===0)return;Je.current=!0,(async()=>{try{await st.migrateLegacyProjectStars(ke),await at.current()}catch(Pe){console.error("[Sidebar] Failed to migrate legacy starred projects:",Pe)}finally{UO()}})()},[o]),f.useEffect(()=>{Ve()},[Ve]),f.useEffect(()=>{fe==="archived"&&Ve()},[Ve,fe]),f.useEffect(()=>{ue(ke=>{if(ke.size===0)return ke;const Ce=new Map(ke);let Pe=!1;for(const[qe,_t]of ke.entries()){const Ct=e.find(dr=>dr.projectId===qe);if(!Ct){Ce.delete(qe),Pe=!0;continue}!!Ct.isStarred===_t&&(Ce.delete(qe),Pe=!0)}return Pe?Ce:ke})},[e]),f.useEffect(()=>{const ke=setTimeout(()=>{re(R.trim())},300);return()=>{clearTimeout(ke)}},[R]),f.useEffect(()=>{Xe.current&&(Xe.current.close(),Xe.current=null);const ke=Q;if(fe!=="conversations"||ke.length<2){Oe.current+=1,Ie(null),Z(null),ae(!1);return}ae(!0);const Ce=++Oe.current;if(Ce!==Oe.current)return;const Pe=st.searchConversationsUrl(ke),qe=new EventSource(Pe);Xe.current=qe;const _t=[];let Ct=0;return qe.addEventListener("result",dr=>{if(Ce!==Oe.current){qe.close();return}try{const Ht=JSON.parse(dr.data);_t.push(Ht.projectResult),Ct=Ht.totalMatches,Ie({results:[..._t],totalMatches:Ct,query:ke}),Z({scannedProjects:Ht.scannedProjects,totalProjects:Ht.totalProjects})}catch{}}),qe.addEventListener("progress",dr=>{if(Ce!==Oe.current){qe.close();return}try{const Ht=JSON.parse(dr.data);Ct=Ht.totalMatches,Z({scannedProjects:Ht.scannedProjects,totalProjects:Ht.totalProjects})}catch{}}),qe.addEventListener("done",()=>{if(Ce!==Oe.current){qe.close();return}qe.close(),Xe.current=null,ae(!1),Z(null),_t.length===0&&Ie({results:[],totalMatches:0,query:ke})}),qe.addEventListener("error",()=>{if(Ce!==Oe.current){qe.close();return}qe.close(),Xe.current=null,ae(!1),Z(null),_t.length===0&&Ie({results:[],totalMatches:0,query:ke})}),()=>{Xe.current&&(Xe.current.close(),Xe.current=null)}},[Q,fe]);const kt=f.useCallback(ke=>{y(Ce=>{const Pe=new Set;return Ce.has(ke)||Pe.add(ke),Pe})},[]),ct=f.useCallback((ke,Ce)=>{c({...ke,__projectId:Ce})},[c]),Et=f.useCallback(ke=>X.has(ke)?!!X.get(ke):e.some(Ce=>Ce.projectId===ke&&!!Ce.isStarred),[X,e]),wt=f.useCallback(ke=>{const Ce=Et(ke),Pe=!Ce,qe=(ot.current.get(ke)??0)+1;ot.current.set(ke,qe),ue(Ct=>{const dr=new Map(Ct);return dr.set(ke,Pe),dr}),(async()=>{try{const Ct=await st.toggleProjectStar(ke);if(!Ct.ok){const $e=(await Ct.json()).error,ee=typeof $e=="string"?$e:$e&&typeof $e=="object"&&$e.message?$e.message:i("messages.updateProjectError");throw new Error(ee)}const dr=await Ct.json();if(!(ot.current.get(ke)===qe))return;ue(Pr=>{const $e=new Map(Pr);return $e.set(ke,!!dr.isStarred),$e})}catch(Ct){if(!(ot.current.get(ke)===qe))return;ue(Ht=>{const Pr=new Map(Ht);return Pr.set(ke,Ce),Pr}),console.error("[Sidebar] Failed to toggle project star:",Ct),alert(i("messages.updateProjectError"))}})()},[Et,i]),Dt=f.useCallback(ke=>Et(ke),[Et]),Jt=f.useCallback(ke=>Gl(ke),[]),Ne=f.useCallback(async ke=>{if(!d)return;let Ce=!1;if(Me(Pe=>{if(Pe.has(ke))return Pe;Ce=!0;const qe=new Set(Pe);return qe.add(ke),qe}),!!Ce)try{await d(ke)}catch(Pe){console.error("[Sidebar] Failed to load more sessions:",Pe),alert(i("messages.refreshError"))}finally{Me(Pe=>{const qe=new Set(Pe);return qe.delete(ke),qe})}},[d,i]),tt=f.useMemo(()=>X.size===0?e:e.map(ke=>{const Ce=X.get(ke.projectId);return Ce===void 0||!!ke.isStarred===Ce?ke:{...ke,isStarred:Ce}}),[X,e]),rt=f.useMemo(()=>WO(tt,j),[j,tt]),it=f.useMemo(()=>VO(rt,Q),[Q,rt]),yt=f.useMemo(()=>{const ke=Q.trim().toLowerCase();return ke?pe.filter(Ce=>[Ce.sessionTitle,Ce.projectDisplayName,Ce.projectPath??"",Ce.provider].some(qe=>qe.toLowerCase().includes(ke))):pe},[pe,Q]),Rt=f.useMemo(()=>{const ke=Q.trim().toLowerCase();return ke?H.filter(Ce=>[Ce.displayName,Ce.fullPath||""].some(qe=>qe.toLowerCase().includes(ke))?!0:Gl(Ce).some(qe=>[typeof qe.summary=="string"&&qe.summary.trim().length>0?qe.summary:typeof qe.name=="string"?qe.name:"",qe.__provider].some(Ct=>Ct.toLowerCase().includes(ke)))):H},[H,Q]),Nt=f.useCallback(ke=>{w(ke.projectId),C(ke.displayName)},[]),Qt=f.useCallback(()=>{w(null),C("")},[]),Lr=f.useCallback(async ke=>{try{(await st.renameProject(ke,v)).ok?await b.refreshProjects():console.error("Failed to rename project")}catch(Ce){console.error("Error renaming project:",Ce)}finally{w(null),C("")}},[v,b]),br=f.useCallback((ke,Ce,Pe,qe="claude",_t={})=>{J({projectId:ke,sessionId:Ce,sessionTitle:Pe,provider:qe,isArchived:!!_t.isArchived})},[]),Ae=f.useCallback(async(ke=!1)=>{if(!oe)return;const{sessionId:Ce}=oe;J(null);try{const Pe=await st.deleteSession(Ce,ke);if(Pe.ok)u?.(Ce),await Ve();else{const qe=await Pe.text();console.error("[Sidebar] Failed to delete session:",{status:Pe.status,error:qe}),alert(i("messages.deleteSessionFailed"))}}catch(Pe){console.error("[Sidebar] Error deleting session:",Pe),alert(i("messages.deleteSessionError"))}},[Ve,u,oe,i]),Ye=f.useCallback(ke=>{Y({project:ke,sessionCount:Jt(ke).length})},[Jt]),Ke=f.useCallback(async(ke=!1)=>{if(!K)return;const{project:Ce}=K;Y(null),F(Pe=>new Set([...Pe,Ce.projectId]));try{const Pe=await st.deleteProject(Ce.projectId,ke);if(Pe.ok)p?.(Ce.projectId);else{const _t=(await Pe.json()).error,Ct=typeof _t=="string"?_t:_t&&typeof _t=="object"&&_t.message?_t.message:i("messages.deleteProjectFailed");alert(Ct)}}catch(Pe){console.error("Error deleting project:",Pe),alert(i("messages.deleteProjectError"))}finally{F(Pe=>{const qe=new Set(Pe);return qe.delete(Ce.projectId),qe})}},[K,p,i]),ht=f.useCallback(ke=>{l(ke),h(ke)},[l,h]),gt=f.useCallback(ke=>{const Ce=ke.projectId?e.find(Ct=>Ct.projectId===ke.projectId):null,Pe=ke.projectId?H.find(Ct=>Ct.projectId===ke.projectId):null,qe=Ce??Pe??null,_t={id:ke.sessionId,summary:ke.sessionTitle,__provider:ke.provider,__projectId:qe?.projectId??ke.projectId??void 0};qe&&ht(qe),c(_t)},[H,ht,c,e]),Gt=f.useCallback(async ke=>{try{const Ce=await st.restoreProject(ke);if(!Ce.ok){const Pe=await Ce.text();console.error("[Sidebar] Failed to restore project:",{status:Ce.status,error:Pe}),alert(i("messages.restoreProjectFailed","Failed to restore project. Please try again."));return}await Promise.all([Promise.resolve(o()),Ve()])}catch(Ce){console.error("[Sidebar] Error restoring project:",Ce),alert(i("messages.restoreProjectError","Error restoring project. Please try again."))}},[Ve,o,i]),St=f.useCallback(async ke=>{try{const Ce=await st.restoreSession(ke);if(!Ce.ok){const Pe=await Ce.text();console.error("[Sidebar] Failed to restore session:",{status:Ce.status,error:Pe}),alert(i("messages.restoreSessionFailed","Failed to restore session. Please try again."));return}await Promise.all([Promise.resolve(o()),Ve()])}catch(Ce){console.error("[Sidebar] Error restoring session:",Ce),alert(i("messages.restoreSessionError","Error restoring session. Please try again."))}},[Ve,o,i]),Er=f.useCallback(async()=>{B(!0);try{await Promise.all([Promise.resolve(o()),Ve()])}finally{B(!1)}},[Ve,o]),Cr=f.useCallback(async(ke,Ce,Pe,qe)=>{const _t=Pe.trim();if(!_t){q(null),G("");return}try{const Ct=await st.renameSession(Ce,_t);Ct.ok?await o():(console.error("[Sidebar] Failed to rename session:",Ct.status),alert(i("messages.renameSessionFailed")))}catch(Ct){console.error("[Sidebar] Error renaming session:",Ct),alert(i("messages.renameSessionError"))}finally{q(null),G("")}},[o,i]),rr=f.useCallback(()=>{m(!1)},[m]),Bt=f.useCallback(()=>{m(!0)},[m]);return{isSidebarCollapsed:mt,expandedProjects:x,editingProject:k,showNewProject:E,editingName:v,initialSessionsLoaded:A,currentTime:I,projectSortOrder:j,isRefreshing:S,editingSession:V,editingSessionName:$,searchFilter:R,deletingProjects:M,loadingMoreProjects:be,deleteConfirmation:K,sessionDeleteConfirmation:oe,showVersionModal:de,filteredProjects:it,archivedProjects:Rt,archivedSessions:yt,archivedSessionsCount:H.length+pe.length,isArchivedSessionsLoading:ce,toggleProject:kt,handleSessionClick:ct,toggleStarProject:wt,isProjectStarred:Dt,getProjectSessions:Jt,loadMoreSessionsForProject:Ne,startEditing:Nt,cancelEditing:Qt,saveProjectName:Lr,showDeleteSessionConfirmation:br,confirmDeleteSession:Ae,requestProjectDelete:Ye,confirmDeleteProject:Ke,handleProjectSelect:ht,openArchivedSession:gt,restoreArchivedProject:Gt,restoreArchivedSession:St,refreshProjects:Er,updateSessionSummary:Cr,collapseSidebar:rr,expandSidebar:Bt,setShowNewProject:N,setEditingName:C,setEditingSession:q,setEditingSessionName:G,searchMode:fe,setSearchMode:Se,conversationResults:Re,isSearching:P,searchProgress:se,clearConversationResults:f.useCallback(()=>{Oe.current+=1,Xe.current&&(Xe.current.close(),Xe.current=null),ae(!1),Z(null),Ie(null)},[]),setSearchFilter:z,setDeleteConfirmation:Y,setSessionDeleteConfirmation:J,setShowVersionModal:me}}const XO="https://discord.gg/buxwujPNRE",JO="https://github.com/siteboon/claudecodeui/issues/new";function QO({className:e}){return s.jsx("svg",{className:e,fill:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:s.jsx("path",{d:"M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.095 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.095 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z"})})}function eL({onExpand:e,onShowSettings:t,updateAvailable:r,onShowVersionModal:n,t:a}){return s.jsxs("div",{className:"flex h-full w-12 flex-col items-center gap-1 bg-background/80 py-3 backdrop-blur-sm",children:[s.jsx("button",{onClick:e,className:"group flex h-8 w-8 items-center justify-center rounded-lg transition-colors hover:bg-accent/80","aria-label":a("common:versionUpdate.ariaLabels.showSidebar"),title:a("common:versionUpdate.ariaLabels.showSidebar"),children:s.jsx(hD,{className:"h-4 w-4 text-muted-foreground transition-colors group-hover:text-foreground"})}),s.jsx("div",{className:"nav-divider my-1 w-6"}),s.jsx("button",{onClick:t,className:"group flex h-8 w-8 items-center justify-center rounded-lg transition-colors hover:bg-accent/80","aria-label":a("actions.settings"),title:a("actions.settings"),children:s.jsx(Mt,{className:"h-4 w-4 text-muted-foreground transition-colors group-hover:text-foreground"})}),s.jsx("a",{href:JO,target:"_blank",rel:"noopener noreferrer",className:"group flex h-8 w-8 items-center justify-center rounded-lg transition-colors hover:bg-accent/80","aria-label":a("actions.reportIssue"),title:a("actions.reportIssue"),children:s.jsx(g0,{className:"h-4 w-4 text-muted-foreground transition-colors group-hover:text-foreground"})}),s.jsx("a",{href:XO,target:"_blank",rel:"noopener noreferrer",className:"group flex h-8 w-8 items-center justify-center rounded-lg transition-colors hover:bg-accent/80","aria-label":a("actions.joinCommunity"),title:a("actions.joinCommunity"),children:s.jsx(QO,{className:"h-4 w-4 text-muted-foreground transition-colors group-hover:text-foreground"})}),r&&s.jsxs("button",{onClick:n,className:"relative flex h-8 w-8 items-center justify-center rounded-lg transition-colors hover:bg-accent/80","aria-label":a("common:versionUpdate.ariaLabels.updateAvailable"),title:a("common:versionUpdate.ariaLabels.updateAvailable"),children:[s.jsx(na,{className:"h-4 w-4 text-blue-500"}),s.jsx("span",{className:"absolute right-1.5 top-1.5 h-1.5 w-1.5 animate-pulse rounded-full bg-blue-500"})]})]})}function S5(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(r=S5(e[t]))&&(n&&(n+=" "),n+=r)}else for(r in e)e[r]&&(n&&(n+=" "),n+=r);return n}function E5(){for(var e,t,r=0,n="",a=arguments.length;r<a;r++)(e=arguments[r])&&(t=S5(e))&&(n&&(n+=" "),n+=t);return n}const Zy=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Xy=E5,Bb=(e,t)=>r=>{var n;if(t?.variants==null)return Xy(e,r?.class,r?.className);const{variants:a,defaultVariants:i}=t,o=Object.keys(a).map(u=>{const d=r?.[u],p=i?.[u];if(d===null)return null;const h=Zy(d)||Zy(p);return a[u][h]}),l=r&&Object.entries(r).reduce((u,d)=>{let[p,h]=d;return h===void 0||(u[p]=h),u},{}),c=t==null||(n=t.compoundVariants)===null||n===void 0?void 0:n.reduce((u,d)=>{let{class:p,className:h,...m}=d;return Object.entries(m).every(g=>{let[b,x]=g;return Array.isArray(x)?x.includes({...i,...l}[b]):{...i,...l}[b]===x})?[...u,p,h]:u},[]);return Xy(e,o,c,r?.class,r?.className)},$b="-",tL=e=>{const t=nL(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:o=>{const l=o.split($b);return l[0]===""&&l.length!==1&&l.shift(),C5(l,t)||rL(o)},getConflictingClassGroupIds:(o,l)=>{const c=r[o]||[];return l&&n[o]?[...c,...n[o]]:c}}},C5=(e,t)=>{if(e.length===0)return t.classGroupId;const r=e[0],n=t.nextPart.get(r),a=n?C5(e.slice(1),n):void 0;if(a)return a;if(t.validators.length===0)return;const i=e.join($b);return t.validators.find(({validator:o})=>o(i))?.classGroupId},Jy=/^\[(.+)\]$/,rL=e=>{if(Jy.test(e)){const t=Jy.exec(e)[1],r=t?.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},nL=e=>{const{theme:t,classGroups:r}=e,n={nextPart:new Map,validators:[]};for(const a in r)w0(r[a],n,a,t);return n},w0=(e,t,r,n)=>{e.forEach(a=>{if(typeof a=="string"){const i=a===""?t:Qy(t,a);i.classGroupId=r;return}if(typeof a=="function"){if(aL(a)){w0(a(n),t,r,n);return}t.validators.push({validator:a,classGroupId:r});return}Object.entries(a).forEach(([i,o])=>{w0(o,Qy(t,i),r,n)})})},Qy=(e,t)=>{let r=e;return t.split($b).forEach(n=>{r.nextPart.has(n)||r.nextPart.set(n,{nextPart:new Map,validators:[]}),r=r.nextPart.get(n)}),r},aL=e=>e.isThemeGetter,iL=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=new Map,n=new Map;const a=(i,o)=>{r.set(i,o),t++,t>e&&(t=0,n=r,r=new Map)};return{get(i){let o=r.get(i);if(o!==void 0)return o;if((o=n.get(i))!==void 0)return a(i,o),o},set(i,o){r.has(i)?r.set(i,o):a(i,o)}}},S0="!",E0=":",sL=E0.length,oL=e=>{const{prefix:t,experimentalParseClassName:r}=e;let n=a=>{const i=[];let o=0,l=0,c=0,u;for(let g=0;g<a.length;g++){let b=a[g];if(o===0&&l===0){if(b===E0){i.push(a.slice(c,g)),c=g+sL;continue}if(b==="/"){u=g;continue}}b==="["?o++:b==="]"?o--:b==="("?l++:b===")"&&l--}const d=i.length===0?a:a.substring(c),p=lL(d),h=p!==d,m=u&&u>c?u-c:void 0;return{modifiers:i,hasImportantModifier:h,baseClassName:p,maybePostfixModifierPosition:m}};if(t){const a=t+E0,i=n;n=o=>o.startsWith(a)?i(o.substring(a.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:o,maybePostfixModifierPosition:void 0}}if(r){const a=n;n=i=>r({className:i,parseClassName:a})}return n},lL=e=>e.endsWith(S0)?e.substring(0,e.length-1):e.startsWith(S0)?e.substring(1):e,cL=e=>{const t=Object.fromEntries(e.orderSensitiveModifiers.map(n=>[n,!0]));return n=>{if(n.length<=1)return n;const a=[];let i=[];return n.forEach(o=>{o[0]==="["||t[o]?(a.push(...i.sort(),o),i=[]):i.push(o)}),a.push(...i.sort()),a}},uL=e=>({cache:iL(e.cacheSize),parseClassName:oL(e),sortModifiers:cL(e),...tL(e)}),dL=/\s+/,pL=(e,t)=>{const{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:a,sortModifiers:i}=t,o=[],l=e.trim().split(dL);let c="";for(let u=l.length-1;u>=0;u-=1){const d=l[u],{isExternal:p,modifiers:h,hasImportantModifier:m,baseClassName:g,maybePostfixModifierPosition:b}=r(d);if(p){c=d+(c.length>0?" "+c:c);continue}let x=!!b,y=n(x?g.substring(0,b):g);if(!y){if(!x){c=d+(c.length>0?" "+c:c);continue}if(y=n(g),!y){c=d+(c.length>0?" "+c:c);continue}x=!1}const k=i(h).join(":"),w=m?k+S0:k,E=w+y;if(o.includes(E))continue;o.push(E);const N=a(y,x);for(let v=0;v<N.length;++v){const C=N[v];o.push(w+C)}c=d+(c.length>0?" "+c:c)}return c};function mL(){let e=0,t,r,n="";for(;e<arguments.length;)(t=arguments[e++])&&(r=N5(t))&&(n&&(n+=" "),n+=r);return n}const N5=e=>{if(typeof e=="string")return e;let t,r="";for(let n=0;n<e.length;n++)e[n]&&(t=N5(e[n]))&&(r&&(r+=" "),r+=t);return r};function hL(e,...t){let r,n,a,i=o;function o(c){const u=t.reduce((d,p)=>p(d),e());return r=uL(u),n=r.cache.get,a=r.cache.set,i=l,l(c)}function l(c){const u=n(c);if(u)return u;const d=pL(c,r);return a(c,d),d}return function(){return i(mL.apply(null,arguments))}}const lr=e=>{const t=r=>r[e]||[];return t.isThemeGetter=!0,t},T5=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,A5=/^\((?:(\w[\w-]*):)?(.+)\)$/i,fL=/^\d+\/\d+$/,gL=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,bL=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,xL=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,yL=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,vL=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,mi=e=>fL.test(e),ft=e=>!!e&&!Number.isNaN(Number(e)),da=e=>!!e&&Number.isInteger(Number(e)),nu=e=>e.endsWith("%")&&ft(e.slice(0,-1)),qn=e=>gL.test(e),kL=()=>!0,wL=e=>bL.test(e)&&!xL.test(e),I5=()=>!1,SL=e=>yL.test(e),EL=e=>vL.test(e),CL=e=>!He(e)&&!We(e),NL=e=>ls(e,R5,I5),He=e=>T5.test(e),Oa=e=>ls(e,D5,wL),au=e=>ls(e,_L,ft),ev=e=>ls(e,j5,I5),TL=e=>ls(e,_5,EL),jo=e=>ls(e,M5,SL),We=e=>A5.test(e),ks=e=>cs(e,D5),AL=e=>cs(e,RL),tv=e=>cs(e,j5),IL=e=>cs(e,R5),jL=e=>cs(e,_5),_o=e=>cs(e,M5,!0),ls=(e,t,r)=>{const n=T5.exec(e);return n?n[1]?t(n[1]):r(n[2]):!1},cs=(e,t,r=!1)=>{const n=A5.exec(e);return n?n[1]?t(n[1]):r:!1},j5=e=>e==="position"||e==="percentage",_5=e=>e==="image"||e==="url",R5=e=>e==="length"||e==="size"||e==="bg-size",D5=e=>e==="length",_L=e=>e==="number",RL=e=>e==="family-name",M5=e=>e==="shadow",DL=()=>{const e=lr("color"),t=lr("font"),r=lr("text"),n=lr("font-weight"),a=lr("tracking"),i=lr("leading"),o=lr("breakpoint"),l=lr("container"),c=lr("spacing"),u=lr("radius"),d=lr("shadow"),p=lr("inset-shadow"),h=lr("text-shadow"),m=lr("drop-shadow"),g=lr("blur"),b=lr("perspective"),x=lr("aspect"),y=lr("ease"),k=lr("animate"),w=()=>["auto","avoid","all","avoid-page","page","left","right","column"],E=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],N=()=>[...E(),We,He],v=()=>["auto","hidden","clip","visible","scroll"],C=()=>["auto","contain","none"],A=()=>[We,He,c],T=()=>[mi,"full","auto",...A()],I=()=>[da,"none","subgrid",We,He],O=()=>["auto",{span:["full",da,We,He]},da,We,He],j=()=>[da,"auto",We,He],L=()=>["auto","min","max","fr",We,He],S=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],B=()=>["start","end","center","stretch","center-safe","end-safe"],V=()=>["auto",...A()],q=()=>[mi,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...A()],$=()=>[e,We,He],G=()=>[...E(),tv,ev,{position:[We,He]}],R=()=>["no-repeat",{repeat:["","x","y","space","round"]}],z=()=>["auto","cover","contain",IL,NL,{size:[We,He]}],M=()=>[nu,ks,Oa],F=()=>["","none","full",u,We,He],K=()=>["",ft,ks,Oa],Y=()=>["solid","dashed","dotted","double"],oe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],J=()=>[ft,nu,tv,ev],de=()=>["","none",g,We,He],me=()=>["none",ft,We,He],fe=()=>["none",ft,We,He],Se=()=>[ft,We,He],Re=()=>[mi,"full",...A()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[qn],breakpoint:[qn],color:[kL],container:[qn],"drop-shadow":[qn],ease:["in","out","in-out"],font:[CL],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[qn],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[qn],shadow:[qn],spacing:["px",ft],text:[qn],"text-shadow":[qn],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",mi,He,We,x]}],container:["container"],columns:[{columns:[ft,He,We,l]}],"break-after":[{"break-after":w()}],"break-before":[{"break-before":w()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:N()}],overflow:[{overflow:v()}],"overflow-x":[{"overflow-x":v()}],"overflow-y":[{"overflow-y":v()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{start:T()}],end:[{end:T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:["visible","invisible","collapse"],z:[{z:[da,"auto",We,He]}],basis:[{basis:[mi,"full","auto",l,...A()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[ft,mi,"auto","initial","none",He]}],grow:[{grow:["",ft,We,He]}],shrink:[{shrink:["",ft,We,He]}],order:[{order:[da,"first","last","none",We,He]}],"grid-cols":[{"grid-cols":I()}],"col-start-end":[{col:O()}],"col-start":[{"col-start":j()}],"col-end":[{"col-end":j()}],"grid-rows":[{"grid-rows":I()}],"row-start-end":[{row:O()}],"row-start":[{"row-start":j()}],"row-end":[{"row-end":j()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":L()}],"auto-rows":[{"auto-rows":L()}],gap:[{gap:A()}],"gap-x":[{"gap-x":A()}],"gap-y":[{"gap-y":A()}],"justify-content":[{justify:[...S(),"normal"]}],"justify-items":[{"justify-items":[...B(),"normal"]}],"justify-self":[{"justify-self":["auto",...B()]}],"align-content":[{content:["normal",...S()]}],"align-items":[{items:[...B(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...B(),{baseline:["","last"]}]}],"place-content":[{"place-content":S()}],"place-items":[{"place-items":[...B(),"baseline"]}],"place-self":[{"place-self":["auto",...B()]}],p:[{p:A()}],px:[{px:A()}],py:[{py:A()}],ps:[{ps:A()}],pe:[{pe:A()}],pt:[{pt:A()}],pr:[{pr:A()}],pb:[{pb:A()}],pl:[{pl:A()}],m:[{m:V()}],mx:[{mx:V()}],my:[{my:V()}],ms:[{ms:V()}],me:[{me:V()}],mt:[{mt:V()}],mr:[{mr:V()}],mb:[{mb:V()}],ml:[{ml:V()}],"space-x":[{"space-x":A()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":A()}],"space-y-reverse":["space-y-reverse"],size:[{size:q()}],w:[{w:[l,"screen",...q()]}],"min-w":[{"min-w":[l,"screen","none",...q()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[o]},...q()]}],h:[{h:["screen","lh",...q()]}],"min-h":[{"min-h":["screen","lh","none",...q()]}],"max-h":[{"max-h":["screen","lh",...q()]}],"font-size":[{text:["base",r,ks,Oa]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[n,We,au]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",nu,He]}],"font-family":[{font:[AL,He,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[a,We,He]}],"line-clamp":[{"line-clamp":[ft,"none",We,au]}],leading:[{leading:[i,...A()]}],"list-image":[{"list-image":["none",We,He]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",We,He]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:$()}],"text-color":[{text:$()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Y(),"wavy"]}],"text-decoration-thickness":[{decoration:[ft,"from-font","auto",We,Oa]}],"text-decoration-color":[{decoration:$()}],"underline-offset":[{"underline-offset":[ft,"auto",We,He]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:A()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",We,He]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",We,He]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:G()}],"bg-repeat":[{bg:R()}],"bg-size":[{bg:z()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},da,We,He],radial:["",We,He],conic:[da,We,He]},jL,TL]}],"bg-color":[{bg:$()}],"gradient-from-pos":[{from:M()}],"gradient-via-pos":[{via:M()}],"gradient-to-pos":[{to:M()}],"gradient-from":[{from:$()}],"gradient-via":[{via:$()}],"gradient-to":[{to:$()}],rounded:[{rounded:F()}],"rounded-s":[{"rounded-s":F()}],"rounded-e":[{"rounded-e":F()}],"rounded-t":[{"rounded-t":F()}],"rounded-r":[{"rounded-r":F()}],"rounded-b":[{"rounded-b":F()}],"rounded-l":[{"rounded-l":F()}],"rounded-ss":[{"rounded-ss":F()}],"rounded-se":[{"rounded-se":F()}],"rounded-ee":[{"rounded-ee":F()}],"rounded-es":[{"rounded-es":F()}],"rounded-tl":[{"rounded-tl":F()}],"rounded-tr":[{"rounded-tr":F()}],"rounded-br":[{"rounded-br":F()}],"rounded-bl":[{"rounded-bl":F()}],"border-w":[{border:K()}],"border-w-x":[{"border-x":K()}],"border-w-y":[{"border-y":K()}],"border-w-s":[{"border-s":K()}],"border-w-e":[{"border-e":K()}],"border-w-t":[{"border-t":K()}],"border-w-r":[{"border-r":K()}],"border-w-b":[{"border-b":K()}],"border-w-l":[{"border-l":K()}],"divide-x":[{"divide-x":K()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":K()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Y(),"hidden","none"]}],"divide-style":[{divide:[...Y(),"hidden","none"]}],"border-color":[{border:$()}],"border-color-x":[{"border-x":$()}],"border-color-y":[{"border-y":$()}],"border-color-s":[{"border-s":$()}],"border-color-e":[{"border-e":$()}],"border-color-t":[{"border-t":$()}],"border-color-r":[{"border-r":$()}],"border-color-b":[{"border-b":$()}],"border-color-l":[{"border-l":$()}],"divide-color":[{divide:$()}],"outline-style":[{outline:[...Y(),"none","hidden"]}],"outline-offset":[{"outline-offset":[ft,We,He]}],"outline-w":[{outline:["",ft,ks,Oa]}],"outline-color":[{outline:$()}],shadow:[{shadow:["","none",d,_o,jo]}],"shadow-color":[{shadow:$()}],"inset-shadow":[{"inset-shadow":["none",p,_o,jo]}],"inset-shadow-color":[{"inset-shadow":$()}],"ring-w":[{ring:K()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:$()}],"ring-offset-w":[{"ring-offset":[ft,Oa]}],"ring-offset-color":[{"ring-offset":$()}],"inset-ring-w":[{"inset-ring":K()}],"inset-ring-color":[{"inset-ring":$()}],"text-shadow":[{"text-shadow":["none",h,_o,jo]}],"text-shadow-color":[{"text-shadow":$()}],opacity:[{opacity:[ft,We,He]}],"mix-blend":[{"mix-blend":[...oe(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":oe()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[ft]}],"mask-image-linear-from-pos":[{"mask-linear-from":J()}],"mask-image-linear-to-pos":[{"mask-linear-to":J()}],"mask-image-linear-from-color":[{"mask-linear-from":$()}],"mask-image-linear-to-color":[{"mask-linear-to":$()}],"mask-image-t-from-pos":[{"mask-t-from":J()}],"mask-image-t-to-pos":[{"mask-t-to":J()}],"mask-image-t-from-color":[{"mask-t-from":$()}],"mask-image-t-to-color":[{"mask-t-to":$()}],"mask-image-r-from-pos":[{"mask-r-from":J()}],"mask-image-r-to-pos":[{"mask-r-to":J()}],"mask-image-r-from-color":[{"mask-r-from":$()}],"mask-image-r-to-color":[{"mask-r-to":$()}],"mask-image-b-from-pos":[{"mask-b-from":J()}],"mask-image-b-to-pos":[{"mask-b-to":J()}],"mask-image-b-from-color":[{"mask-b-from":$()}],"mask-image-b-to-color":[{"mask-b-to":$()}],"mask-image-l-from-pos":[{"mask-l-from":J()}],"mask-image-l-to-pos":[{"mask-l-to":J()}],"mask-image-l-from-color":[{"mask-l-from":$()}],"mask-image-l-to-color":[{"mask-l-to":$()}],"mask-image-x-from-pos":[{"mask-x-from":J()}],"mask-image-x-to-pos":[{"mask-x-to":J()}],"mask-image-x-from-color":[{"mask-x-from":$()}],"mask-image-x-to-color":[{"mask-x-to":$()}],"mask-image-y-from-pos":[{"mask-y-from":J()}],"mask-image-y-to-pos":[{"mask-y-to":J()}],"mask-image-y-from-color":[{"mask-y-from":$()}],"mask-image-y-to-color":[{"mask-y-to":$()}],"mask-image-radial":[{"mask-radial":[We,He]}],"mask-image-radial-from-pos":[{"mask-radial-from":J()}],"mask-image-radial-to-pos":[{"mask-radial-to":J()}],"mask-image-radial-from-color":[{"mask-radial-from":$()}],"mask-image-radial-to-color":[{"mask-radial-to":$()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":E()}],"mask-image-conic-pos":[{"mask-conic":[ft]}],"mask-image-conic-from-pos":[{"mask-conic-from":J()}],"mask-image-conic-to-pos":[{"mask-conic-to":J()}],"mask-image-conic-from-color":[{"mask-conic-from":$()}],"mask-image-conic-to-color":[{"mask-conic-to":$()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:G()}],"mask-repeat":[{mask:R()}],"mask-size":[{mask:z()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",We,He]}],filter:[{filter:["","none",We,He]}],blur:[{blur:de()}],brightness:[{brightness:[ft,We,He]}],contrast:[{contrast:[ft,We,He]}],"drop-shadow":[{"drop-shadow":["","none",m,_o,jo]}],"drop-shadow-color":[{"drop-shadow":$()}],grayscale:[{grayscale:["",ft,We,He]}],"hue-rotate":[{"hue-rotate":[ft,We,He]}],invert:[{invert:["",ft,We,He]}],saturate:[{saturate:[ft,We,He]}],sepia:[{sepia:["",ft,We,He]}],"backdrop-filter":[{"backdrop-filter":["","none",We,He]}],"backdrop-blur":[{"backdrop-blur":de()}],"backdrop-brightness":[{"backdrop-brightness":[ft,We,He]}],"backdrop-contrast":[{"backdrop-contrast":[ft,We,He]}],"backdrop-grayscale":[{"backdrop-grayscale":["",ft,We,He]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[ft,We,He]}],"backdrop-invert":[{"backdrop-invert":["",ft,We,He]}],"backdrop-opacity":[{"backdrop-opacity":[ft,We,He]}],"backdrop-saturate":[{"backdrop-saturate":[ft,We,He]}],"backdrop-sepia":[{"backdrop-sepia":["",ft,We,He]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":A()}],"border-spacing-x":[{"border-spacing-x":A()}],"border-spacing-y":[{"border-spacing-y":A()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",We,He]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[ft,"initial",We,He]}],ease:[{ease:["linear","initial",y,We,He]}],delay:[{delay:[ft,We,He]}],animate:[{animate:["none",k,We,He]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[b,We,He]}],"perspective-origin":[{"perspective-origin":N()}],rotate:[{rotate:me()}],"rotate-x":[{"rotate-x":me()}],"rotate-y":[{"rotate-y":me()}],"rotate-z":[{"rotate-z":me()}],scale:[{scale:fe()}],"scale-x":[{"scale-x":fe()}],"scale-y":[{"scale-y":fe()}],"scale-z":[{"scale-z":fe()}],"scale-3d":["scale-3d"],skew:[{skew:Se()}],"skew-x":[{"skew-x":Se()}],"skew-y":[{"skew-y":Se()}],transform:[{transform:[We,He,"","none","gpu","cpu"]}],"transform-origin":[{origin:N()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Re()}],"translate-x":[{"translate-x":Re()}],"translate-y":[{"translate-y":Re()}],"translate-z":[{"translate-z":Re()}],"translate-none":["translate-none"],accent:[{accent:$()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:$()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",We,He]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":A()}],"scroll-mx":[{"scroll-mx":A()}],"scroll-my":[{"scroll-my":A()}],"scroll-ms":[{"scroll-ms":A()}],"scroll-me":[{"scroll-me":A()}],"scroll-mt":[{"scroll-mt":A()}],"scroll-mr":[{"scroll-mr":A()}],"scroll-mb":[{"scroll-mb":A()}],"scroll-ml":[{"scroll-ml":A()}],"scroll-p":[{"scroll-p":A()}],"scroll-px":[{"scroll-px":A()}],"scroll-py":[{"scroll-py":A()}],"scroll-ps":[{"scroll-ps":A()}],"scroll-pe":[{"scroll-pe":A()}],"scroll-pt":[{"scroll-pt":A()}],"scroll-pr":[{"scroll-pr":A()}],"scroll-pb":[{"scroll-pb":A()}],"scroll-pl":[{"scroll-pl":A()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",We,He]}],fill:[{fill:["none",...$()]}],"stroke-w":[{stroke:[ft,ks,Oa,au]}],stroke:[{stroke:["none",...$()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},ML=hL(DL);function ve(...e){return ML(E5(e))}function OL(e){if(!e||typeof e!="string")return null;try{return JSON.parse(e)}catch{return null}}const LL=Bb("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"}},defaultVariants:{variant:"default"}}),O5=f.forwardRef(({className:e,variant:t,...r},n)=>s.jsx("div",{ref:n,role:"alert","data-slot":"alert",className:ve(LL({variant:t}),e),...r}));O5.displayName="Alert";const PL=f.forwardRef(({className:e,...t},r)=>s.jsx("div",{ref:r,"data-slot":"alert-title",className:ve("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",e),...t}));PL.displayName="AlertTitle";const FL=f.forwardRef(({className:e,...t},r)=>s.jsx("div",{ref:r,"data-slot":"alert-description",className:ve("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",e),...t}));FL.displayName="AlertDescription";const zL=Bb("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function Ur({className:e,variant:t,...r}){return s.jsx("div",{className:ve(zL({variant:t}),e),...r})}const BL=Bb("inline-flex touch-manipulation items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90 active:bg-primary/80",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90 active:bg-destructive/80",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground active:bg-accent/80",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80 active:bg-secondary/70",ghost:"hover:bg-accent hover:text-accent-foreground active:bg-accent/80",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3 text-sm",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),ze=f.forwardRef(({className:e,variant:t,size:r,...n},a)=>s.jsx("button",{className:ve(BL({variant:t,size:r,className:e})),ref:a,...n}));ze.displayName="Button";const L5=f.createContext(null),P5=()=>{const e=f.useContext(L5);if(!e)throw new Error("Confirmation components must be used within Confirmation");return e},F5=({className:e,approval:t="pending",children:r,...n})=>{const a=f.useMemo(()=>({approval:t}),[t]);return s.jsx(L5.Provider,{value:a,children:s.jsx(O5,{className:ve("flex flex-col gap-2",e),...n,children:r})})};F5.displayName="Confirmation";const z5=({className:e,...t})=>s.jsx("div",{"data-slot":"confirmation-title",className:ve("text-muted-foreground inline text-sm",e),...t});z5.displayName="ConfirmationTitle";const B5=({children:e})=>{const{approval:t}=P5();return t!=="pending"?null:s.jsx(s.Fragment,{children:e})};B5.displayName="ConfirmationRequest";const $5=({className:e,...t})=>{const{approval:r}=P5();return r!=="pending"?null:s.jsx("div",{"data-slot":"confirmation-actions",className:ve("flex items-center justify-end gap-2 self-end",e),...t})};$5.displayName="ConfirmationActions";const bl=({variant:e="default",...t})=>s.jsx(ze,{className:"h-8 px-3 text-sm",variant:e,type:"button",...t});bl.displayName="ConfirmationAction";const Ub=f.forwardRef(({className:e,...t},r)=>s.jsx("div",{ref:r,className:ve("rounded-xl border bg-card text-card-foreground shadow-sm",e),...t}));Ub.displayName="Card";const U5=f.forwardRef(({className:e,...t},r)=>s.jsx("div",{ref:r,className:ve("flex flex-col space-y-1.5 p-4",e),...t}));U5.displayName="CardHeader";const G5=f.forwardRef(({className:e,...t},r)=>s.jsx("h3",{ref:r,className:ve("font-semibold leading-none tracking-tight",e),...t}));G5.displayName="CardTitle";const $L=f.forwardRef(({className:e,...t},r)=>s.jsx("p",{ref:r,className:ve("text-sm text-muted-foreground",e),...t}));$L.displayName="CardDescription";const q5=f.forwardRef(({className:e,...t},r)=>s.jsx("div",{ref:r,className:ve("p-4 pt-0",e),...t}));q5.displayName="CardContent";const H5=f.forwardRef(({className:e,...t},r)=>s.jsx("div",{ref:r,className:ve("flex items-center p-4 pt-0",e),...t}));H5.displayName="CardFooter";const UL=f.forwardRef(({className:e,...t},r)=>s.jsx("div",{ref:r,className:ve("ml-auto shrink-0",e),...t}));UL.displayName="CardAction";const W5=f.createContext(null);function V5(){const e=f.useContext(W5);if(!e)throw new Error("Collapsible components must be used within <Collapsible>");return e}const Ka=f.forwardRef(({defaultOpen:e=!1,open:t,onOpenChange:r,className:n,children:a,...i},o)=>{const[l,c]=f.useState(e),u=t!==void 0,d=u?t:l,p=f.useCallback(m=>{u||c(m),r?.(m)},[u,r]),h=f.useMemo(()=>({open:d,onOpenChange:p}),[d,p]);return s.jsx(W5.Provider,{value:h,children:s.jsx("div",{ref:o,"data-state":d?"open":"closed",className:n,...i,children:a})})});Ka.displayName="Collapsible";const Sa=f.forwardRef(({onClick:e,children:t,className:r,...n},a)=>{const{open:i,onOpenChange:o}=V5(),l=f.useCallback(c=>{o(!i),e?.(c)},[i,o,e]);return s.jsx("button",{ref:a,type:"button","aria-expanded":i,"data-state":i?"open":"closed",onClick:l,className:r,...n,children:t})});Sa.displayName="CollapsibleTrigger";const Ya=f.forwardRef(({className:e,children:t,...r},n)=>{const{open:a}=V5();return s.jsx("div",{ref:n,"data-state":a?"open":"closed",className:ve("grid transition-[grid-template-rows] duration-200 ease-out",a?"grid-rows-[1fr]":"grid-rows-[0fr]",e),...r,children:s.jsx("div",{className:"overflow-hidden",children:t})})});Ya.displayName="CollapsibleContent";var rv=1,GL=.9,qL=.8,HL=.17,iu=.1,su=.999,WL=.9999,VL=.99,KL=/[\\\/_+.#"@\[\(\{&]/,YL=/[\\\/_+.#"@\[\(\{&]/g,ZL=/[\s-]/,K5=/[\s-]/g;function C0(e,t,r,n,a,i,o){if(i===t.length)return a===e.length?rv:VL;var l=`${a},${i}`;if(o[l]!==void 0)return o[l];for(var c=n.charAt(i),u=r.indexOf(c,a),d=0,p,h,m,g;u>=0;)p=C0(e,t,r,n,u+1,i+1,o),p>d&&(u===a?p*=rv:KL.test(e.charAt(u-1))?(p*=qL,m=e.slice(a,u-1).match(YL),m&&a>0&&(p*=Math.pow(su,m.length))):ZL.test(e.charAt(u-1))?(p*=GL,g=e.slice(a,u-1).match(K5),g&&a>0&&(p*=Math.pow(su,g.length))):(p*=HL,a>0&&(p*=Math.pow(su,u-a))),e.charAt(u)!==t.charAt(i)&&(p*=WL)),(p<iu&&r.charAt(u-1)===n.charAt(i+1)||n.charAt(i+1)===n.charAt(i)&&r.charAt(u-1)!==n.charAt(i))&&(h=C0(e,t,r,n,u+1,i+2,o),h*iu>p&&(p=h*iu)),p>d&&(d=p),u=r.indexOf(c,u+1);return o[l]=d,d}function nv(e){return e.toLowerCase().replace(K5," ")}function XL(e,t,r){return e=r&&r.length>0?`${e+" "+r.join(" ")}`:e,C0(e,t,nv(e),nv(t),0,0,{})}function wa(e,t,{checkForDefaultPrevented:r=!0}={}){return function(a){if(e?.(a),r===!1||!a.defaultPrevented)return t?.(a)}}function av(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Ea(...e){return t=>{let r=!1;const n=e.map(a=>{const i=av(a,t);return!r&&typeof i=="function"&&(r=!0),i});if(r)return()=>{for(let a=0;a<n.length;a++){const i=n[a];typeof i=="function"?i():av(e[a],null)}}}}function ri(...e){return f.useCallback(Ea(...e),e)}function JL(e,t){const r=f.createContext(t),n=i=>{const{children:o,...l}=i,c=f.useMemo(()=>l,Object.values(l));return s.jsx(r.Provider,{value:c,children:o})};n.displayName=e+"Provider";function a(i){const o=f.useContext(r);if(o)return o;if(t!==void 0)return t;throw new Error(`\`${i}\` must be used within \`${e}\``)}return[n,a]}function QL(e,t=[]){let r=[];function n(i,o){const l=f.createContext(o),c=r.length;r=[...r,o];const u=p=>{const{scope:h,children:m,...g}=p,b=h?.[e]?.[c]||l,x=f.useMemo(()=>g,Object.values(g));return s.jsx(b.Provider,{value:x,children:m})};u.displayName=i+"Provider";function d(p,h){const m=h?.[e]?.[c]||l,g=f.useContext(m);if(g)return g;if(o!==void 0)return o;throw new Error(`\`${p}\` must be used within \`${i}\``)}return[u,d]}const a=()=>{const i=r.map(o=>f.createContext(o));return function(l){const c=l?.[e]||i;return f.useMemo(()=>({[`__scope${e}`]:{...l,[e]:c}}),[l,c])}};return a.scopeName=e,[n,eP(a,...t)]}function eP(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const n=e.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(i){const o=n.reduce((l,{useScope:c,scopeName:u})=>{const p=c(i)[`__scope${u}`];return{...l,...p}},{});return f.useMemo(()=>({[`__scope${t.scopeName}`]:o}),[o])}};return r.scopeName=t.scopeName,r}var to=globalThis?.document?f.useLayoutEffect:()=>{},tP=yb[" useId ".trim().toString()]||(()=>{}),rP=0;function Qn(e){const[t,r]=f.useState(tP());return to(()=>{r(n=>n??String(rP++))},[e]),t?`radix-${t}`:""}var nP=yb[" useInsertionEffect ".trim().toString()]||to;function aP({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){const[a,i,o]=iP({defaultProp:t,onChange:r}),l=e!==void 0,c=l?e:a;{const d=f.useRef(e!==void 0);f.useEffect(()=>{const p=d.current;p!==l&&console.warn(`${n} is changing from ${p?"controlled":"uncontrolled"} to ${l?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),d.current=l},[l,n])}const u=f.useCallback(d=>{if(l){const p=sP(d)?d(e):d;p!==e&&o.current?.(p)}else i(d)},[l,e,i,o]);return[c,u]}function iP({defaultProp:e,onChange:t}){const[r,n]=f.useState(e),a=f.useRef(r),i=f.useRef(t);return nP(()=>{i.current=t},[t]),f.useEffect(()=>{a.current!==r&&(i.current?.(r),a.current=r)},[r,a]),[r,n,i]}function sP(e){return typeof e=="function"}function fo(e){const t=oP(e),r=f.forwardRef((n,a)=>{const{children:i,...o}=n,l=f.Children.toArray(i),c=l.find(cP);if(c){const u=c.props.children,d=l.map(p=>p===c?f.Children.count(u)>1?f.Children.only(null):f.isValidElement(u)?u.props.children:null:p);return s.jsx(t,{...o,ref:a,children:f.isValidElement(u)?f.cloneElement(u,void 0,d):null})}return s.jsx(t,{...o,ref:a,children:i})});return r.displayName=`${e}.Slot`,r}function oP(e){const t=f.forwardRef((r,n)=>{const{children:a,...i}=r;if(f.isValidElement(a)){const o=dP(a),l=uP(i,a.props);return a.type!==f.Fragment&&(l.ref=n?Ea(n,o):o),f.cloneElement(a,l)}return f.Children.count(a)>1?f.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var lP=Symbol("radix.slottable");function cP(e){return f.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===lP}function uP(e,t){const r={...t};for(const n in t){const a=e[n],i=t[n];/^on[A-Z]/.test(n)?a&&i?r[n]=(...l)=>{const c=i(...l);return a(...l),c}:a&&(r[n]=a):n==="style"?r[n]={...a,...i}:n==="className"&&(r[n]=[a,i].filter(Boolean).join(" "))}return{...e,...r}}function dP(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var pP=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Y5=pP.reduce((e,t)=>{const r=fo(`Primitive.${t}`),n=f.forwardRef((a,i)=>{const{asChild:o,...l}=a,c=o?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),s.jsx(c,{...l,ref:i})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function mP(e,t){e&&vb.flushSync(()=>e.dispatchEvent(t))}function ro(e){const t=f.useRef(e);return f.useEffect(()=>{t.current=e}),f.useMemo(()=>(...r)=>t.current?.(...r),[])}function hP(e,t=globalThis?.document){const r=ro(e);f.useEffect(()=>{const n=a=>{a.key==="Escape"&&r(a)};return t.addEventListener("keydown",n,{capture:!0}),()=>t.removeEventListener("keydown",n,{capture:!0})},[r,t])}var fP="DismissableLayer",N0="dismissableLayer.update",gP="dismissableLayer.pointerDownOutside",bP="dismissableLayer.focusOutside",iv,Z5=f.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),X5=f.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:n,onPointerDownOutside:a,onFocusOutside:i,onInteractOutside:o,onDismiss:l,...c}=e,u=f.useContext(Z5),[d,p]=f.useState(null),h=d?.ownerDocument??globalThis?.document,[,m]=f.useState({}),g=ri(t,C=>p(C)),b=Array.from(u.layers),[x]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),y=b.indexOf(x),k=d?b.indexOf(d):-1,w=u.layersWithOutsidePointerEventsDisabled.size>0,E=k>=y,N=vP(C=>{const A=C.target,T=[...u.branches].some(I=>I.contains(A));!E||T||(a?.(C),o?.(C),C.defaultPrevented||l?.())},h),v=kP(C=>{const A=C.target;[...u.branches].some(I=>I.contains(A))||(i?.(C),o?.(C),C.defaultPrevented||l?.())},h);return hP(C=>{k===u.layers.size-1&&(n?.(C),!C.defaultPrevented&&l&&(C.preventDefault(),l()))},h),f.useEffect(()=>{if(d)return r&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(iv=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),sv(),()=>{r&&u.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=iv)}},[d,h,r,u]),f.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),sv())},[d,u]),f.useEffect(()=>{const C=()=>m({});return document.addEventListener(N0,C),()=>document.removeEventListener(N0,C)},[]),s.jsx(Y5.div,{...c,ref:g,style:{pointerEvents:w?E?"auto":"none":void 0,...e.style},onFocusCapture:wa(e.onFocusCapture,v.onFocusCapture),onBlurCapture:wa(e.onBlurCapture,v.onBlurCapture),onPointerDownCapture:wa(e.onPointerDownCapture,N.onPointerDownCapture)})});X5.displayName=fP;var xP="DismissableLayerBranch",yP=f.forwardRef((e,t)=>{const r=f.useContext(Z5),n=f.useRef(null),a=ri(t,n);return f.useEffect(()=>{const i=n.current;if(i)return r.branches.add(i),()=>{r.branches.delete(i)}},[r.branches]),s.jsx(Y5.div,{...e,ref:a})});yP.displayName=xP;function vP(e,t=globalThis?.document){const r=ro(e),n=f.useRef(!1),a=f.useRef(()=>{});return f.useEffect(()=>{const i=l=>{if(l.target&&!n.current){let c=function(){J5(gP,r,u,{discrete:!0})};const u={originalEvent:l};l.pointerType==="touch"?(t.removeEventListener("click",a.current),a.current=c,t.addEventListener("click",a.current,{once:!0})):c()}else t.removeEventListener("click",a.current);n.current=!1},o=window.setTimeout(()=>{t.addEventListener("pointerdown",i)},0);return()=>{window.clearTimeout(o),t.removeEventListener("pointerdown",i),t.removeEventListener("click",a.current)}},[t,r]),{onPointerDownCapture:()=>n.current=!0}}function kP(e,t=globalThis?.document){const r=ro(e),n=f.useRef(!1);return f.useEffect(()=>{const a=i=>{i.target&&!n.current&&J5(bP,r,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",a),()=>t.removeEventListener("focusin",a)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function sv(){const e=new CustomEvent(N0);document.dispatchEvent(e)}function J5(e,t,r,{discrete:n}){const a=r.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&a.addEventListener(e,t,{once:!0}),n?mP(a,i):a.dispatchEvent(i)}var wP=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],SP=wP.reduce((e,t)=>{const r=fo(`Primitive.${t}`),n=f.forwardRef((a,i)=>{const{asChild:o,...l}=a,c=o?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),s.jsx(c,{...l,ref:i})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),ou="focusScope.autoFocusOnMount",lu="focusScope.autoFocusOnUnmount",ov={bubbles:!1,cancelable:!0},EP="FocusScope",Q5=f.forwardRef((e,t)=>{const{loop:r=!1,trapped:n=!1,onMountAutoFocus:a,onUnmountAutoFocus:i,...o}=e,[l,c]=f.useState(null),u=ro(a),d=ro(i),p=f.useRef(null),h=ri(t,b=>c(b)),m=f.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;f.useEffect(()=>{if(n){let b=function(w){if(m.paused||!l)return;const E=w.target;l.contains(E)?p.current=E:ba(p.current,{select:!0})},x=function(w){if(m.paused||!l)return;const E=w.relatedTarget;E!==null&&(l.contains(E)||ba(p.current,{select:!0}))},y=function(w){if(document.activeElement===document.body)for(const N of w)N.removedNodes.length>0&&ba(l)};document.addEventListener("focusin",b),document.addEventListener("focusout",x);const k=new MutationObserver(y);return l&&k.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",b),document.removeEventListener("focusout",x),k.disconnect()}}},[n,l,m.paused]),f.useEffect(()=>{if(l){cv.add(m);const b=document.activeElement;if(!l.contains(b)){const y=new CustomEvent(ou,ov);l.addEventListener(ou,u),l.dispatchEvent(y),y.defaultPrevented||(CP(jP(eA(l)),{select:!0}),document.activeElement===b&&ba(l))}return()=>{l.removeEventListener(ou,u),setTimeout(()=>{const y=new CustomEvent(lu,ov);l.addEventListener(lu,d),l.dispatchEvent(y),y.defaultPrevented||ba(b??document.body,{select:!0}),l.removeEventListener(lu,d),cv.remove(m)},0)}}},[l,u,d,m]);const g=f.useCallback(b=>{if(!r&&!n||m.paused)return;const x=b.key==="Tab"&&!b.altKey&&!b.ctrlKey&&!b.metaKey,y=document.activeElement;if(x&&y){const k=b.currentTarget,[w,E]=NP(k);w&&E?!b.shiftKey&&y===E?(b.preventDefault(),r&&ba(w,{select:!0})):b.shiftKey&&y===w&&(b.preventDefault(),r&&ba(E,{select:!0})):y===k&&b.preventDefault()}},[r,n,m.paused]);return s.jsx(SP.div,{tabIndex:-1,...o,ref:h,onKeyDown:g})});Q5.displayName=EP;function CP(e,{select:t=!1}={}){const r=document.activeElement;for(const n of e)if(ba(n,{select:t}),document.activeElement!==r)return}function NP(e){const t=eA(e),r=lv(t,e),n=lv(t.reverse(),e);return[r,n]}function eA(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const a=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||a?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function lv(e,t){for(const r of e)if(!TP(r,{upTo:t}))return r}function TP(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function AP(e){return e instanceof HTMLInputElement&&"select"in e}function ba(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&AP(e)&&t&&e.select()}}var cv=IP();function IP(){let e=[];return{add(t){const r=e[0];t!==r&&r?.pause(),e=uv(e,t),e.unshift(t)},remove(t){e=uv(e,t),e[0]?.resume()}}}function uv(e,t){const r=[...e],n=r.indexOf(t);return n!==-1&&r.splice(n,1),r}function jP(e){return e.filter(t=>t.tagName!=="A")}var _P=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],RP=_P.reduce((e,t)=>{const r=fo(`Primitive.${t}`),n=f.forwardRef((a,i)=>{const{asChild:o,...l}=a,c=o?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),s.jsx(c,{...l,ref:i})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),DP="Portal",tA=f.forwardRef((e,t)=>{const{container:r,...n}=e,[a,i]=f.useState(!1);to(()=>i(!0),[]);const o=r||a&&globalThis?.document?.body;return o?Ds.createPortal(s.jsx(RP.div,{...n,ref:t}),o):null});tA.displayName=DP;function MP(e,t){return f.useReducer((r,n)=>t[r][n]??r,e)}var xc=e=>{const{present:t,children:r}=e,n=OP(t),a=typeof r=="function"?r({present:n.isPresent}):f.Children.only(r),i=ri(n.ref,LP(a));return typeof r=="function"||n.isPresent?f.cloneElement(a,{ref:i}):null};xc.displayName="Presence";function OP(e){const[t,r]=f.useState(),n=f.useRef(null),a=f.useRef(e),i=f.useRef("none"),o=e?"mounted":"unmounted",[l,c]=MP(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return f.useEffect(()=>{const u=Ro(n.current);i.current=l==="mounted"?u:"none"},[l]),to(()=>{const u=n.current,d=a.current;if(d!==e){const h=i.current,m=Ro(u);e?c("MOUNT"):m==="none"||u?.display==="none"?c("UNMOUNT"):c(d&&h!==m?"ANIMATION_OUT":"UNMOUNT"),a.current=e}},[e,c]),to(()=>{if(t){let u;const d=t.ownerDocument.defaultView??window,p=m=>{const b=Ro(n.current).includes(CSS.escape(m.animationName));if(m.target===t&&b&&(c("ANIMATION_END"),!a.current)){const x=t.style.animationFillMode;t.style.animationFillMode="forwards",u=d.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=x)})}},h=m=>{m.target===t&&(i.current=Ro(n.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{d.clearTimeout(u),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else c("ANIMATION_END")},[t,c]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:f.useCallback(u=>{n.current=u?getComputedStyle(u):null,r(u)},[])}}function Ro(e){return e?.animationName||"none"}function LP(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var PP=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],go=PP.reduce((e,t)=>{const r=fo(`Primitive.${t}`),n=f.forwardRef((a,i)=>{const{asChild:o,...l}=a,c=o?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),s.jsx(c,{...l,ref:i})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),cu=0;function FP(){f.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??dv()),document.body.insertAdjacentElement("beforeend",e[1]??dv()),cu++,()=>{cu===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),cu--}},[])}function dv(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var _n=function(){return _n=Object.assign||function(t){for(var r,n=1,a=arguments.length;n<a;n++){r=arguments[n];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[i]=r[i])}return t},_n.apply(this,arguments)};function rA(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,n=Object.getOwnPropertySymbols(e);a<n.length;a++)t.indexOf(n[a])<0&&Object.prototype.propertyIsEnumerable.call(e,n[a])&&(r[n[a]]=e[n[a]]);return r}function ni(e,t,r,n){function a(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function l(d){try{u(n.next(d))}catch(p){o(p)}}function c(d){try{u(n.throw(d))}catch(p){o(p)}}function u(d){d.done?i(d.value):a(d.value).then(l,c)}u((n=n.apply(e,t||[])).next())})}function zP(e,t,r){if(r||arguments.length===2)for(var n=0,a=t.length,i;n<a;n++)(i||!(n in t))&&(i||(i=Array.prototype.slice.call(t,0,n)),i[n]=t[n]);return e.concat(i||Array.prototype.slice.call(t))}var xl="right-scroll-bar-position",yl="width-before-scroll-bar",BP="with-scroll-bars-hidden",$P="--removed-body-scroll-bar-size";function uu(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function UP(e,t){var r=f.useState(function(){return{value:e,callback:t,facade:{get current(){return r.value},set current(n){var a=r.value;a!==n&&(r.value=n,r.callback(n,a))}}}})[0];return r.callback=t,r.facade}var GP=typeof window<"u"?f.useLayoutEffect:f.useEffect,pv=new WeakMap;function qP(e,t){var r=UP(null,function(n){return e.forEach(function(a){return uu(a,n)})});return GP(function(){var n=pv.get(r);if(n){var a=new Set(n),i=new Set(e),o=r.current;a.forEach(function(l){i.has(l)||uu(l,null)}),i.forEach(function(l){a.has(l)||uu(l,o)})}pv.set(r,e)},[e]),r}function HP(e){return e}function WP(e,t){t===void 0&&(t=HP);var r=[],n=!1,a={read:function(){if(n)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return r.length?r[r.length-1]:e},useMedium:function(i){var o=t(i,n);return r.push(o),function(){r=r.filter(function(l){return l!==o})}},assignSyncMedium:function(i){for(n=!0;r.length;){var o=r;r=[],o.forEach(i)}r={push:function(l){return i(l)},filter:function(){return r}}},assignMedium:function(i){n=!0;var o=[];if(r.length){var l=r;r=[],l.forEach(i),o=r}var c=function(){var d=o;o=[],d.forEach(i)},u=function(){return Promise.resolve().then(c)};u(),r={push:function(d){o.push(d),u()},filter:function(d){return o=o.filter(d),r}}}};return a}function VP(e){e===void 0&&(e={});var t=WP(null);return t.options=_n({async:!0,ssr:!1},e),t}var nA=function(e){var t=e.sideCar,r=rA(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var n=t.read();if(!n)throw new Error("Sidecar medium not found");return f.createElement(n,_n({},r))};nA.isSideCarExport=!0;function KP(e,t){return e.useMedium(t),nA}var aA=VP(),du=function(){},yc=f.forwardRef(function(e,t){var r=f.useRef(null),n=f.useState({onScrollCapture:du,onWheelCapture:du,onTouchMoveCapture:du}),a=n[0],i=n[1],o=e.forwardProps,l=e.children,c=e.className,u=e.removeScrollBar,d=e.enabled,p=e.shards,h=e.sideCar,m=e.noRelative,g=e.noIsolation,b=e.inert,x=e.allowPinchZoom,y=e.as,k=y===void 0?"div":y,w=e.gapMode,E=rA(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),N=h,v=qP([r,t]),C=_n(_n({},E),a);return f.createElement(f.Fragment,null,d&&f.createElement(N,{sideCar:aA,removeScrollBar:u,shards:p,noRelative:m,noIsolation:g,inert:b,setCallbacks:i,allowPinchZoom:!!x,lockRef:r,gapMode:w}),o?f.cloneElement(f.Children.only(l),_n(_n({},C),{ref:v})):f.createElement(k,_n({},C,{className:c,ref:v}),l))});yc.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};yc.classNames={fullWidth:yl,zeroRight:xl};var YP=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function ZP(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=YP();return t&&e.setAttribute("nonce",t),e}function XP(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function JP(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var QP=function(){var e=0,t=null;return{add:function(r){e==0&&(t=ZP())&&(XP(t,r),JP(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},e9=function(){var e=QP();return function(t,r){f.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&r])}},iA=function(){var e=e9(),t=function(r){var n=r.styles,a=r.dynamic;return e(n,a),null};return t},t9={left:0,top:0,right:0,gap:0},pu=function(e){return parseInt(e||"",10)||0},r9=function(e){var t=window.getComputedStyle(document.body),r=t[e==="padding"?"paddingLeft":"marginLeft"],n=t[e==="padding"?"paddingTop":"marginTop"],a=t[e==="padding"?"paddingRight":"marginRight"];return[pu(r),pu(n),pu(a)]},n9=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return t9;var t=r9(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},a9=iA(),$i="data-scroll-locked",i9=function(e,t,r,n){var a=e.left,i=e.top,o=e.right,l=e.gap;return r===void 0&&(r="margin"),`
|
|
750
750
|
.`.concat(BP,` {
|
|
751
751
|
overflow: hidden `).concat(n,`;
|
|
752
752
|
padding-right: `).concat(l,"px ").concat(n,`;
|
package/dist/index.html
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
<!-- Prevent zoom on iOS -->
|
|
27
27
|
<meta name="format-detection" content="telephone=no" />
|
|
28
|
-
<script type="module" crossorigin src="/assets/index-
|
|
28
|
+
<script type="module" crossorigin src="/assets/index-BIHaviaA.js"></script>
|
|
29
29
|
<link rel="modulepreload" crossorigin href="/assets/vendor-react-BGZc9oRE.js">
|
|
30
30
|
<link rel="modulepreload" crossorigin href="/assets/vendor-codemirror-OwyKSvPE.js">
|
|
31
31
|
<link rel="modulepreload" crossorigin href="/assets/vendor-xterm-CJZjLICi.js">
|
package/dist/modelConstants.js
CHANGED
|
@@ -14,6 +14,12 @@ export const CLAUDE_MODELS = {
|
|
|
14
14
|
description:
|
|
15
15
|
"Use the default model (currently Opus 4.8 (1M context)) · $5/$25 per Mtok",
|
|
16
16
|
},
|
|
17
|
+
{
|
|
18
|
+
value: "fable",
|
|
19
|
+
label: "Fable",
|
|
20
|
+
description:
|
|
21
|
+
"Fable 5 · Most capable for your hardest and longest-running tasks · Uses your limits ~2× faster than Opus",
|
|
22
|
+
},
|
|
17
23
|
{
|
|
18
24
|
value: "sonnet",
|
|
19
25
|
label: "Sonnet",
|
|
@@ -166,7 +166,7 @@ function mapCliOptionsToSDK(options = {}) {
|
|
|
166
166
|
sdkOptions.tools = { type: 'preset', preset: 'claude_code' };
|
|
167
167
|
sdkOptions.disallowedTools = settings.disallowedTools || [];
|
|
168
168
|
// Map model (default to sonnet)
|
|
169
|
-
// Valid models: sonnet, opus, haiku, opusplan, sonnet[1m]
|
|
169
|
+
// Valid models: sonnet, opus, haiku, opusplan, sonnet[1m], fable
|
|
170
170
|
sdkOptions.model = options.model || CLAUDE_FALLBACK_MODELS.DEFAULT;
|
|
171
171
|
// Model logged at query start below
|
|
172
172
|
// Map system prompt configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-sdk.js","sourceRoot":"","sources":["../../server/claude-sdk.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude-sdk.js","sourceRoot":"","sources":["../../server/claude-sdk.js"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,11 @@ export const CLAUDE_FALLBACK_MODELS = {
|
|
|
8
8
|
label: 'Default (recommended)',
|
|
9
9
|
description: 'Use the default model (currently Opus 4.8 (1M context)) · $5/$25 per Mtok',
|
|
10
10
|
},
|
|
11
|
+
{
|
|
12
|
+
value: 'fable',
|
|
13
|
+
label: 'Fable',
|
|
14
|
+
description: 'Fable 5 · Most capable for your hardest and longest-running tasks · Uses your limits ~2× faster than Opus',
|
|
15
|
+
},
|
|
11
16
|
{
|
|
12
17
|
value: "sonnet",
|
|
13
18
|
label: "Sonnet",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-models.provider.js","sourceRoot":"","sources":["../../../../../../server/modules/providers/list/claude/claude-models.provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude-models.provider.js","sourceRoot":"","sources":["../../../../../../server/modules/providers/list/claude/claude-models.provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -579,7 +579,7 @@ class ResponseCollector {
|
|
|
579
579
|
*
|
|
580
580
|
* @param {string} model - (Optional) Model identifier for providers.
|
|
581
581
|
*
|
|
582
|
-
* Claude models: 'sonnet' (default), 'opus', 'haiku', 'opusplan', 'sonnet[1m]'
|
|
582
|
+
* Claude models: 'sonnet' (default), 'opus', 'haiku', 'opusplan', 'sonnet[1m]', 'fable'
|
|
583
583
|
* Cursor models: 'gpt-5' (default), 'gpt-5.2', 'gpt-5.2-high', 'sonnet-4.5', 'opus-4.5',
|
|
584
584
|
* 'gemini-3-pro', 'composer-1', 'auto', 'gpt-5.1', 'gpt-5.1-high',
|
|
585
585
|
* 'gpt-5.1-codex', 'gpt-5.1-codex-high', 'gpt-5.1-codex-max',
|
package/package.json
CHANGED
package/public/modelConstants.js
CHANGED
|
@@ -14,6 +14,12 @@ export const CLAUDE_MODELS = {
|
|
|
14
14
|
description:
|
|
15
15
|
"Use the default model (currently Opus 4.8 (1M context)) · $5/$25 per Mtok",
|
|
16
16
|
},
|
|
17
|
+
{
|
|
18
|
+
value: "fable",
|
|
19
|
+
label: "Fable",
|
|
20
|
+
description:
|
|
21
|
+
"Fable 5 · Most capable for your hardest and longest-running tasks · Uses your limits ~2× faster than Opus",
|
|
22
|
+
},
|
|
17
23
|
{
|
|
18
24
|
value: "sonnet",
|
|
19
25
|
label: "Sonnet",
|
package/server/claude-sdk.js
CHANGED
|
@@ -204,7 +204,7 @@ function mapCliOptionsToSDK(options = {}) {
|
|
|
204
204
|
sdkOptions.disallowedTools = settings.disallowedTools || [];
|
|
205
205
|
|
|
206
206
|
// Map model (default to sonnet)
|
|
207
|
-
// Valid models: sonnet, opus, haiku, opusplan, sonnet[1m]
|
|
207
|
+
// Valid models: sonnet, opus, haiku, opusplan, sonnet[1m], fable
|
|
208
208
|
sdkOptions.model = options.model || CLAUDE_FALLBACK_MODELS.DEFAULT;
|
|
209
209
|
// Model logged at query start below
|
|
210
210
|
|
|
@@ -20,6 +20,11 @@ export const CLAUDE_FALLBACK_MODELS: ProviderModelsDefinition = {
|
|
|
20
20
|
label: 'Default (recommended)',
|
|
21
21
|
description: 'Use the default model (currently Opus 4.8 (1M context)) · $5/$25 per Mtok',
|
|
22
22
|
},
|
|
23
|
+
{
|
|
24
|
+
value: 'fable',
|
|
25
|
+
label: 'Fable',
|
|
26
|
+
description: 'Fable 5 · Most capable for your hardest and longest-running tasks · Uses your limits ~2× faster than Opus',
|
|
27
|
+
},
|
|
23
28
|
{
|
|
24
29
|
value: "sonnet",
|
|
25
30
|
label: "Sonnet",
|
package/server/routes/agent.js
CHANGED
|
@@ -646,7 +646,7 @@ class ResponseCollector {
|
|
|
646
646
|
*
|
|
647
647
|
* @param {string} model - (Optional) Model identifier for providers.
|
|
648
648
|
*
|
|
649
|
-
* Claude models: 'sonnet' (default), 'opus', 'haiku', 'opusplan', 'sonnet[1m]'
|
|
649
|
+
* Claude models: 'sonnet' (default), 'opus', 'haiku', 'opusplan', 'sonnet[1m]', 'fable'
|
|
650
650
|
* Cursor models: 'gpt-5' (default), 'gpt-5.2', 'gpt-5.2-high', 'sonnet-4.5', 'opus-4.5',
|
|
651
651
|
* 'gemini-3-pro', 'composer-1', 'auto', 'gpt-5.1', 'gpt-5.1-high',
|
|
652
652
|
* 'gpt-5.1-codex', 'gpt-5.1-codex-high', 'gpt-5.1-codex-max',
|